easy-forum
Deutsch - Hardware => easyControl => Thema gestartet von: glohr am Januar 28, 2008, 20:55:22 Nachmittag
-
Hallo allerseits,
ist es möglich, ein easyControl mit Ethernet an ein XV200 (Ethernet) anzuschliessen ? Was muss ich dazu in Galileo tun ?
Viele Grüße
Georg
-
Hallo Georg,
du kannst das easy Control leider nicht über Ethernet an ein XV200 anschliesen. Dazu müsste die Ethernetschnittstelle der easy Control SymArti unterstützen. Du kannst die easy Control aber über CANopen oder seriell über SucomA ankoppeln.
schau mal hier:ftp://ftp.moeller.net/AUTOMATION/DOWNLOAD/APPLICATION-EXAMPLES-NOTES-MODULES/EASY_CONTROL/CANOPEN/EC4P_XV200/
:) ;) :D
Gruß Paul
-
Hallo Paul,
vielen Dank für die Antwort. Das mit SucomA klingt sehr interessant. Die SucomA_16kMB.lib habe ich schon im Forum gefunden. Gibt es dazu auch eine Beschreibung ? Welche SPS muss ich dazu in Galileo einstellen ?
Viele Grüße
Georg
-
Hallo Georg,
für die LIB brauchst du keine Beschreibung. Ich denke die Parameter des Bausteins sind selbsterklärend. Als Treiber nimmst du einen PS4 Treiber,
z.B. PS4-341 PRG. Ebenfalls möglich wäre auch eine Anbindung über Modbus.
:) ;) :D
Gruß Paul
-
Hallo Paul,
erstmal vielen Dank ! - Wer lesen kann, ist klar im Vorteil. Hab mal wieder den Wald vor lauter Bäumen nicht gesehen.
Viele Grüße
Georg
-
Hallo Paul,
eigentlich ist alles klar, aber leider funktioniert es noch nicht ganz.
Hier ein einfaches Testprogramm:
PROGRAM PLC_PRG
VAR
TimeCounter: DWORD;
FB_SucomA:SucomA_Advanced;
SucomStatus, SucomReceived:BOOL;
c, c1: BYTE;
END_VAR
TimeCounter:=TimeCounter+1;
IF (TimeCounter>8000) THEN TimeCounter:=0; END_IF
%MB16383:=1; (* Maximale Anzahl Merkerbytes, die an das HMI übertragen werden *)
%MB0:=6;
IF TimeCounter=10
THEN FB_SucomA(xEnable:=TRUE,usiComPort:=2, uiComBaudRate:=19200);
c:=c+1;
END_IF
SucomStatus:=FB_SucomA.xComPortActiv;
SucomReceived:=FB_SucomA.xFrameReceived;
IF SucomReceived=TRUE
THEN c1:=c;
END_IF
Das Empfangsflag geht jedes zweite bis zehnte mal auf True - wird durch c1 angezeigt.
Das XV200 meldet einen Kommunikationsfehler.
Hast Du noch eine Idee ?
Viele Grüße
Georg
-
Hallo Georg,
wahrscheinlich liegt es an der COM2. Die COM2 der easy Control kann nur mit dem Kabel easy800-PC-CAB verwendet werden. Dieses Kabel braucht aber leider eine externe Einspeisung.
siehe: http://easyforum.regulski.com/ef_berichte_usbadapter.html
Die COM1 braucht dies nicht, wird aber meist als Programmierschnittstelle verwendet.
Die COM1 kann mit dem RJ45 Programmierkabel oder dem easy800-MO-CAB verwendet werden.
Was spricht gegen CANopen ????
:) ;) :D
Gruß Paul
-
Hallo Paul,
habe tatsächlich das easy800-PC-CAB. Am Pin 7 liegen vom XV200 ca. 5V an. Ist das zu wenig ? Konnte leider keine Spezifikation finden. Mit demselben Kabel kann das XV200 auch mit einem EASY 800 kommunizieren (ohne Fehler). Werde mal einen Test mit höherer Spannung an Pin 7 machen.
CANopen ist sicher die bessere Wahl für zukünftige Projekte. Das XV200, das ich gerade zum Test habe, hat aber nur ein RS232 Interface.
Vielen Dank und viele Grüße
Georg
-
Hallo Georg,
ich glaube es liegt an diesen Programmzeilen:
IF TimeCounter=10
THEN FB_SucomA(xEnable:=TRUE,usiComPort:=2, uiComBaudRate:=19200);
c:=c+1;
END_IF
Der Sucom-A Baustein wird immer nur dann aufgerufen, wenn der TimeCounter den Wert 10 besitzt.
Der Baustein muss so oft wie möglich aufgerufen werden. Am Besten in jedem Zyklus.
Gruß Dieter
-
Hallo Dieter,
das easyControl läuft so schnell durch, wie es kann. Bei einem Minimalprogramm wie dem Testprogramm sind die Zykluszeiten deutlich unter 1ms. Daher habe ich absichtlich die Verzögerung eingebaut, so dass der SucomA Baustein höchstens einmal pro Sekunde aufgerufen wird. Ich dachte, dass es gerade dann zu Problemen mit der relativ langsamen seriellen Schnittstelle kommen würde, wenn ich den Baustein zu oft aufrufe. Vielleicht habe ich da falsch gedacht. Werde gleich mal einen Test machen.
Viele Grüße
Georg
-
Hallo Georg,
bei der Ankopplung einer easy an ein XV200 verhält sich die Sache etwas anders. Hier unterstützt der easy Treiber das Kabel easy800-PC-CAB. Die Steuerleitungen werden vom Treiber so geschaltet, dass das die Optokoppler im Kabel mit Spannung versorgt werden. Beim SucomA Treiber ist dies leider nicht der Fall, daher braucht das Kabel eine externe Versorgung!!!
:) ;) :D
Gruß Paul
-
Hallo Paul, Hallo Dieter,
Vielen Dank für Eure Hilfe !!!! :) :) :)
Es funktioniert bestens.
Die 5 Volt vom XV200 am Pin 7 des easy800-PC-CAB waren tatsächlich zu wenig. So hat es nur sporadisch fuktioniert. Mit 8 V geht die Kommunikation zuverlässig.
Wenn ich dazu den SucomA in jedem Zyklus aufrufe, dann klappt die Kommunikation in beiden Richtungen problemlos.
Die Funktionsweise des SucomA Bausteins würde mich noch interessieren.
Wahrscheinlich hat er einen internen Puffer und vergleicht bei jedem Aufruf, welche Merker geändert wurden. Dazu habe ich noch folgende Fragen:
- Wieviele geänderte Merker kann er denn pro Aufruf übertragen ?
- Welche Datenmengen werden dabei übertragen ? So muss ja eine Kennung des Merkers (1 oder 2 Byte) zusammen mit dem Wert des Merkers übertragen werden.
- Wie groß ist dann die maximale Zeit, bis ein geänderter Merker übertragen wird ?
- Wo liegt das Limit der geänderten Merker pro Sekunde (abhängig von der Datenrate) ?
- Läuft in Galileo eine entsprechende Prozedur im Hintergrund ?
Es wäre großartig, wenn Ihr mir hier noch weiterhelfen könntet oder eine Beschreibung dazu hättet.
Zunächst aber nochmals ganz herzlichen Dank für Eure Hilfe !!!!!!
Viele Grüße
Georg
-
Hallo,
mittlerweile gibt es ca. 60 Byte an Daten, die zwischen XV200 und easyControl bidirektional übertragen werden. Die Werte ändern sich aber nicht in jedem Zyklus, sondern nur sporadisch, beispielsweise bei einer Betätigung des XV200. Es kommt nun immer wieder (Abstand 10-20 Minuten) zu Kommunikationsfehlermeldungen. Ich habe den Eindruck, dass die Fehler auftreten, wenn sich zu viele Daten gleichzeitig ändern.
Gibt es hier irgendwelche Grenzwerte für maximale Änderungen pro Zyklus oder pro Sekunde ?
Viele Grüße
Georg