Problem mit EtherCAT / CoDeSys v3 / Beckhoff Bauteile

karlo

Level-1
Beiträge
3
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo alle zusammen.

Ich muss mich momentan mit einem Schulprojekt auseinander setzen und habe ein Problem mit EtherCAT.

Ich verwende CoDeSys (3.4 SP4 Patch 1) als Soft-SPS und EtherCAT Master. Als Hardware verwende ich einen EK1100 von Beckhoff sowie mehrere EL1008 und EL2008 Klemmen.
Als Betriebssystem kommt ein Windows XP innerhalb einer VM zum Einsatz.

Die Einrichtung, also WinPcAp Treiber, XML Dateien für die Klemmen, Netzwerkverbindung usw. hat soweit alles reibungslos geklappt. Die Kommunikation mit dem EK1100 funktioniert und die Klemmen werden auch automatisch gefunden und dem Projekt hinzugefügt. Die LEDs am EK1100 signalisieren Bereitschaft und die Traffic LEDs flackern auch prima sobald die SPS läuft. Wenn ich 24V auf eine Eingangsklemme gebe dann leuchtet die LED an der Klemme auf, daher denke ich das die Klemmen ordnungsgemäß mit Spannung versorgt werden. Soweit ist also alles bestens.

Mein Problem besteht nun darin, dass ich die Ein- und Ausgänge in CoDeSys (EtherCAT I/O Abbild) zwar verändern kann, diese Änderungen aber nicht an der Hardware übernommen werden. Wenn ich ein Signal an eine Eingangsklemme anlege leuchtet die LED an der Klemme, aber im I/O Abbild in CoDeSys tut sich nichts.
Die Klemmen und der Buskoppler zeigen 'Operational' an.

Muss ich den Buskoppler bzw. die Klemmen noch irgendwie 'freischalten' oder hat jemand eine Idee woran das liegen könnte ?

Vielen Dank und schöne Grüße :)

PS: Wenn ich WinXP auf richtiger HW laufen lasse dann besteht das Problem weiterhin => Die VM kann es also nicht sein.
 
Hallo karlo,
ich gehe mal davon aus das du das I/O richtig gemappt hast...!
Früher gab es bei V3 den Bug das man die gemappten Variablen einmal im Code aufrufen und zuweisen mußte,
damit das refreshen funktioniert....

VG
Thomas
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Thomas.

Vielen Dank für deine Antwort. :p

Die I/Os habe ich auf bestehende Variablen gemappt, habe aber auch schon versucht mittels Adresse z.B. %QX0.0 direkt zuzugreifen.
Ich muss dazu sagen das ich absoluter Neuling bin mit CoDeSys bzw. SPS im Allgemeinen.

Hier ist mein Programm:

PROGRAM PLC_PRG
VAR
iUptime : INT;
Master_Operational : BOOL;
ErrorCounter : INT;
StatusBuskoppler : INT;
in_1_1 : BOOL := FALSE; //gemappt auf Eingang %IX0.0
out_1_1 : BOOL := FALSE; //gemappt auf Ausgang %QX0.0
END_VAR


iUptime := iUptime + 1;
Master_Operational := EtherCAT_Master.xConfigFinished; //zeigt immer true
StatusBuskoppler := EK1100.wState; //hier zeigt er übrigens immer 0 (boot) an, sollte aber laut LEDs auf 8 (Operational) stehen ??

//Ausgang zum testen regelmäßig ein- und ausschalten => LED soll Blinken
IF (ABS(iUptime) MOD 300) > 150
THEN out_1_1 := TRUE;
ELSE out_1_1 := FALSE;
END_IF


Wäre schön wenn mir jemand weiterhelfen könnte, bin mittlerweile am verzweifeln :confused:
 
Hallo Karlo,
du versuchst das ganze mit der WIN ans laufen zu bringen, richtig?

Das habe ich bisher nur soweit getrieben das ich das Projekt fehlerfrei
kompilieren konnte. Richtiges I/O habe ich an der WIN noch nicht betrieben!

Mit dem WinPcap stellst du dem Master ja Funktionen zu Verfügung die eigentlich
im Treiber für die NW-Karte sind. Ob diese Funktionen aber ausreichen um tatsächlich zu
kommunizieren weiß ich nicht!
Du könntest ja mal mit dem WireShark auf deine verbindung schauen was wirklich geht!

Was mit Sicherheit funktionert wenn du statt der WIN die RTE benutzt und das
ganze auf echter Hardware laufen lässt. Eine Beschreibung hierzu:

http://forum.3s-software.com/viewtopic.php?f=10&t=2044

Mittlerweile werden auch OnBoard Karten unterstützt.

Lg
Thomas
 
Ja, ich versuche es mit der WIN.

Ich versuche es jetzt mit der RTE, muss mir lediglich noch die richtige Hardware besorgen, da mein Laptop keine der unterstützten Karten eingebaut hat :?
 
Zurück
Oben