meta data for this page
CANopen-PDO-Beispiel
Der Betriebsmodus wird auf Index 0x6060 Subindex 0 mit Größe 1 Byte abgebildet. Zum Beispiel: Profilposition ist 1, Profilgeschwindigkeit ist 3, Drehmomentprofil ist 4, Interpolierte Position ist 7.
Das Steuerwort wird auf Index 0x6040 Subindex 0 mit Größe 2 Bytes abgebildet.
Das Statuswort wird auf Index 0x6041 Subindex 0 mit Größe 2 Bytes abgebildet.
Die Kommunikation erfolgt mit dem DS402-Profil auf CiA 301 (CAN in Automation). Referenz: https://en.wikipedia.org/wiki/CANopen
PDOs müssen bei jedem Sync gesendet und empfangen werden, COB ID = 0x80. Der Master kann auf die Parameter im Slave über SDO-Lesen und -Schreiben zugreifen.
Siehe hier: https://www.nilab.at/dokuwiki/doku.php?id=mbd_servo_drive:registers|
Programmierung mit SDO-Schreiben - Positionsregelung - Interpolierte Position
Konfiguration des PDO von Slave zu Master
| COB ID | D0 | D1 | D2 | D3 | D4 | D5 | D6 | D7 | Kommentar |
| 0x600+(nodeid) | 0x23 | 0x00 | 0x1A | 0x01 | 0x20 | 0x00 | 0x64 | 0x60 | Position aktueller Wert |
| 0x600+(nodeid) | 0x23 | 0x00 | 0x1A | 0x02 | 0x10 | 0x00 | 0x41 | 0x60 | Statuswort |
| 0x600+(nodeid) | 0x23 | 0x00 | 0x1A | 0x03 | 0x08 | 0x00 | 0x61 | 0x60 | Anzeige des Betriebsmodus |
Konfiguration des PDO von Master zu Slave
| COB ID | D0 | D1 | D2 | D3 | D4 | D5 | D6 | D7 | Kommentar |
| 0x600+(nodeid) | 0x23 | 0x00 | 0x16 | 0x01 | 0x20 | 0x00 | 0xC1 | 0x60 | Interpolierter Datensatz |
| 0x600+(nodeid) | 0x23 | 0x00 | 0x16 | 0x02 | 0x10 | 0x00 | 0x40 | 0x60 | Steuerwort |
| 0x600+(nodeid) | 0x23 | 0x00 | 0x16 | 0x03 | 0x08 | 0x00 | 0x60 | 0x60 | Betriebsmodus |
Programmierung mit SDO-Schreiben - Drehmomentregelung
Konfiguration des PDO von Slave zu Master
| COB ID | D0 | D1 | D2 | D3 | D4 | D5 | D6 | D7 | Kommentar |
| 0x600+(nodeid) | 0x23 | 0x00 | 0x1A | 0x01 | 0x10 | 0x00 | 0x77 | 0x60 | Drehmoment aktueller Wert |
| 0x600+(nodeid) | 0x23 | 0x00 | 0x1A | 0x02 | 0x10 | 0x00 | 0x41 | 0x60 | Statuswort |
| 0x600+(nodeid) | 0x23 | 0x00 | 0x1A | 0x03 | 0x08 | 0x00 | 0x61 | 0x60 | Anzeige des Betriebsmodus |
Konfiguration des PDO von Master zu Slave
| COB ID | D0 | D1 | D2 | D3 | D4 | D5 | D6 | D7 | Kommentar |
| 0x600+(nodeid) | 0x23 | 0x00 | 0x16 | 0x01 | 0x10 | 0x00 | 0x71 | 0x60 | Zieldrehmoment |
| 0x600+(nodeid) | 0x23 | 0x00 | 0x16 | 0x02 | 0x10 | 0x00 | 0x40 | 0x60 | Steuerwort |
| 0x600+(nodeid) | 0x23 | 0x00 | 0x16 | 0x03 | 0x08 | 0x00 | 0x60 | 0x60 | Betriebsmodus |
Zusätzliche Parameter sind 0x6087 ⇒ Drehmomentsteigung und 0x6088 ⇒ Drehmomentprofiltyp (0 = Lineare Rampe)
STATUSWORD-Register
| BIT-Nummer | Beschreibung | Betriebsmodus |
| 11 | STATUSWORD_INTERNAL_LIMIT_ACTIVE | |
| 12 | STATUSWORD_IP_MODE_ACTIVE | Interpolierte Positionierung |
| 12 | STATUSWORD_SPEED | Profilgeschwindigkeit |
| 13 | STATUSWORD_MAX_SLIPPAGE_ERR | Profilgeschwindigkeit |
| 12 | STATUSWORD_HOMING_ATTAINED | Homing |
| 13 | STATUSWORD_HOMING_ERROR | Homing |
| 12 | STATUSWORD_SETPOINT_ACK | Profilpositionierung |
| 13 | STATUSWORD_FOLLOWING_ERROR | Profilpositionierung |
CONTROLWORD-Register
| BIT-Nummer | Beschreibung | Betriebsmodus |
| 0 | CTRLWORD_BIT_SWITCH_ON | |
| 1 | CTRLWORD_BIT_EN_VOLTAGE | |
| 2 | CTRLWORD_BIT_QUICK_STOP | |
| 3 | CTRLWORD_BIT_EN_OPERATION | |
| 4 | CTRLWORD_HOME_START | Homing |
| 4 | CTRLWORD_ENABLE_IP_MODE | Interpolierte Positionierung |
| 4 | CTRLWORD_NEW_SETPOINT | Profilpositionierung |
| 5 | CTRLWORD_CHANGE_SET_NOW | Profilpositionierung |
| 6 | CTRLWORD_ABS_REL_POSITION | Profilpositionierung |
| 7 | CTRLWORD_BIT_FAULT_RESET | |
| 8 | CTRLWORD_BIT_HALT |
DS402-Zustandsmaschine
Aktivieren des Antriebs
SERVO-ON: ist das Verfahren, bei dem der Master das Statuswort vom Antrieb liest und das entsprechende Steuerwort (Befehl) an den Antrieb sendet, um ihn in den Endzustand Operation Enable zu bringen. Der übliche SERVO-ON-Pfad in der CiA-402-Zustandsmaschine ist: (1) → (2) → (3) → (4) oder (13) → (14) → (15) → (2) → (3) → (4)
Aus der Spezifikation müssen Sie bei deaktiviertem Zustand von SWITCH ON.
DISABLED zu READY TO SWITCH ON dann zu SWITCHED ON und schließlich zu OPERATION ENABLED
Zum Beispiel: Sie tun dies über das Steuerwort, wo Sie Bit 1 und Bit 2 mit Bit 0 und Bit 3 zurückgesetzt setzen (0x06 READY TO SWITCH ON), dann setzen Sie Bit 0, Bit 1 und Bit 2 (0x07 READY TO SWITCH ON), schließlich Bit 0, Bit 1, Bit 2, Bit 3 alle gesetzt (0x0F OPERATION ENABLED).
Deaktivieren des Antriebs
SERVO-OFF: ist das Verfahren, den Servoantrieb auszuschalten, das heißt seinen Zustand in den Zustand „Switch On Disabled“ zu versetzen. Der kürzeste Pfad ist Übergang (9), in dem der Master ein Steuerwort von 0 an einen laufenden Antrieb sendet.
