CtrlStatus DWORD verwenden
Wenn der Buskoppler EK3100 in TwinCAT eingefügt wird, wird auch automatisch das CtrlStatus DWORD-Modul eingefügt. Das CtrlStatus DWORD (4 Byte) hat folgende Bedeutung:
Input CtrlStatus DWORD
Byte 3 | Byte 2 | Byte 1 | Byte 0 |
---|---|---|---|
Reserve | Diag | Counter High Byte | Counter Low Byte |
Counter WORD (2 Byte):
Der Zähler ist ein E-Bus Zähler und wird bei jedem E-Bus Telegramm inkrementiert. Standardmäßig läuft der E-Bus mit 1 ms. Damit wird der Counter jede ms inkrementiert. Ist im Diag-Byte das Bit 2 gesetzt, so sind statt des Counters weitergehende Informationen über den Fehler enthalten.
DIAG BYTE (1 Byte):
0x10 E-Bus nach Fehler behoben. Ausgänge sind deaktiviert und müssen manuell durch das Control DWORD zurückgesetzt werden.
0x04 E-Bus Fehler liegt vor. Bei einem E-Bus Fehler tauscht der Buskoppler EK3100 weiterhin Daten mit dem PROFIBUS-Master aus. Die Eingangsdaten sind aber ungültig. Die Fehlerursache ist im High-Byte und die Position im Low-Byte des Counters kodiert.
Byte 1, Error-Code-Zähler | Byte 0, Zähler | Bedeutung |
---|---|---|
1 | Klemmenposition | Falsches Modul. |
2 | Fehlendes Modul. | |
3 | Modul gezogen. | |
4 | Falsches Modul gesteckt. | |
5 | EtherCAT-Slave nicht in OP. | |
6 | State-Change abgebrochen. | |
7 | Abnormal State-Change. | |
8 | SDO-Abort | |
9 | Falsche SDO-Länge | |
10 | Falsche SDO-Daten. |
Beispiel:
Byte 1 0x03 Unterbrechung des E-Bus, Byte 0 Position der Unterbrechung.
Output CtrlStatus DWORD
Byte 3 | Byte 2 | Byte 1 | Byte 0 |
---|---|---|---|
Reserve | Reserve | Reserve | Control Byte |
Control Byte (Bit 0):
Ist im DIAG BYTE das Bit 4 gesetzt (0x10), dann kann von der Steuerung der Fehler quittiert werden. Dafür muss das Bit 0 (im ersten Byte des Control DWORD) auf „TRUE“ gesetzt werden und mit fallender Flanke des Bit 0 wird der E-BUS wieder gestartet. Die Ausgangsprozessdaten sind sofort wieder aktiv.