Contents Up Previous Next

GET STATE (0x95)

Kommando Code: 0x95
Beschreibung: Liefert den Status des Moduls, sowie einige weitere Informationen, wenn gewünscht. Das Modul kann diesen Status selbständig in regelmäßigen Abständen updaten.
Parameter (Master -> Slave):

Antwort (Slave -> Master): Optionale Daten (den Code ,,Modus'' beachten), im Anschluss daran der Status (2 Byte), welcher wie folgt aufgebaut ist:

Referenziert Bit 1 0x01
Bewegung Bit 2 0x02
Programmablauf Bit 3 0x04
Warnung Bit 4 0x08
Fehler Bit 5 0x10
Bremse Bit 6 0x20
Bewegung blockiert Bit 7 0x40
Position erreicht Bit 8 0x80

Beispiel 1:

D-LenCmdParam
M->S0x060x950x00 0x00 0x80 0x3F 0x07Status-Information soll zyklisch jede Sekunde vom Modul geliefert werden. Außer Status-Bits werden auch Position, Geschwindigkeit und Strom mitversendet.
S->M (zyklisch jede Sekunde)0x0F0x950xD6 0xA3 0x70 0x41 0x56 0xC9 0x41 0x40 0x3C 0x41 0xEB 0x3E 0x03 0x00Position: 0xD6..0x41, Geschwindigkeit: 0x56..0x40, Strom: 0x3C..0x3E; Modul ist in Bewegung und Referenziert (0x03); kein Fehler (0x00)

Beispiel 2:

D-LenCmdParam
M->S0x010x95Status-Information einmalig abfragen. Dabei werden zuletzt abgefragte Parameter mitversendet.
S->M0x0F0x950x0x53 0x63 0xB7 0x41 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x61 0xD9Position: 0x53..0x41, Geschwindigkeit: 0x00..0x00, Strom: 0x00..0x00; Modul referenziert, Bewegung beendet, Bremse betätigt (0x61); Schnellstop betätigt (0xD9)

Beispiel 3:

D-LenCmdParam
M->S0x060x950x00 0x00 0x00 0x00 0x01Status-Information einmalig abfragen. Außer Status-Bits wird auch Position mitversendet.
S->M0x070x950x00 0x00 0x00 0x00 0x20 0x00Position: 0x00..0x00; Modul nicht referenziert, Bremse betätigt (0x20); kein Fehler (0x00)

Sonstiges: Will man Position, Geschwindigkeit und Strom unter CAN in einer Nachricht erhalten, so ist das Fragmentierprotokoll zu verwenden. Unter Profibus finden alle Informationen in einer Profibusnachricht platz. Ein einmal gesetzter Datencode ,,Daten'' wird beibehalten und braucht somit nicht jedes mal neu gesetzt werden. Wird das Modul eingeschaltet, ist der Datencode auf ,,0x07'' gesetzt, es werden also alle möglichen Status-Informationen komplett übermittelt.

Unter Profibus werden, wenn alle Parameter (Position, Geschwindigkeit, Strom) übermittelt wurden nur die unteren 8 Bit des Status angezeigt. Diese kommen nun auf Byte 14 zu liegen, wo profibusspezifisch der Status immer aktuell geliefert wird. Auf Byte 15 folgt der MsgCount, welcher die oberen 8 Bit des Status Wortes überschreibt.


Unter Profibus wird standardgemäß in Byte 10-13 die aktuelle Position übermittelt. Werden mit GET STATE alle Parameter angefordert, so wird die aktuelle Position in Bytes 10-13 mit dem aktuellen Stromwert überschreieben. Daher ist es empfelenswert unter Profibus das ,,Modus'' Byte maximal auf ,,0x07'' zu setzen (Position, Geschwindigkeit und Strom werden übermittelt).


Unter Profibus sollte man mit dem ,,automatischen'' Abrufen vorsichtig sein. Hier kann es unter Umständen günstiger sein die Daten zu ,,pollen''. Insbesondere dann, wenn der FREEZE Mechanismus genutzt wird.