Contents Up Previous Next

GET STATE AXIS (0x98)

Kommando Code: 0x98
Beschreibung: Liefert den Status einer Achse oder eines Roboters 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 (entsprechend dem eingestellten ,,Modus''), im Anschluss daran der Status (2 Byte) gefolgt vom Achsindex. Die Bits des Status sind gleich aufgebaut wie beim GET STATE Kommando.

Beispiele:

Beispiel 1:
D-LenCmdParam
M->S0x070x980x00 0x00 0x80 0x3F 0x07 0x01Status-Information soll zyklisch jede Sekunde von Achse 1 des Moduls geliefert werden. Außer Status-Bits werden auch Position, Geschwindigkeit und Strom mitversendet.
S->M (zyklisch jede Sekunde)0x100x980xD6 0xA3 0x70 0x41 0x56 0xC9 0x41 0x40 0x3C 0x41 0xEB 0x3E 0x03 0x00 0x01Position: 0xD6..0x41, Geschwindigkeit: 0x56..0x40, Strom: 0x3C..0x3E; Modul ist in Bewegung und Referenziert (0x03); kein Fehler (0x00); Achsindex: 1 (0x01)

Beispiel 2:
D-LenCmdParam
M->S0x020x980x02Status-Information von Achse 2 einmalig abfragen. Dabei werden zuletzt abgefragte Parameter mitversendet.
S->M0x100x980x0x53 0x63 0xB7 0x41 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x61 0xD9 0x02Position: 0x53..0x41, Geschwindigkeit: 0x00..0x00, Strom: 0x00..0x00; Modul referenziert, Bewegung beendet, Bremse betätigt (0x61); Schnellstop betätigt (0xD9); Achsindex: 2 (0x02)

Beispiel 3:
D-LenCmdParam
M->S0x070x980x00 0x00 0x00 0x00 0x01 0x03Status-Information von Achse 3 einmalig abfragen. Außer Status-Bits wird auch die Position mitversendet.
S->M0x070x980x00 0x00 0x00 0x00 0x20 0x00 0x03Position: 0x00..0x00; Modul nicht referenziert, Bremse betätigt (0x20); kein Fehler (0x00); Achsindex: 3 (0x03)

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 ,,Modus'' wird beibehalten und braucht somit nicht jedes mal neu gesetzt werden. Wird das Modul eingeschaltet, ist der Modus auf ,,0x07'' gesetzt, es werden also alle möglichen Status-Informationen komplett übermittelt.

Beim 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).


Beim 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.