Esempio PDO CANopen

La modalità operativa è mappata all'indice 0x6060 subindice 0 con dimensione 1 byte. Per esempio: Profile position è 1, Profile velocity è 3, Torque profile è 4, Interpolated position è 7.

La Control Word è mappata all'indice 0x6040 subindice 0 con dimensione 2 byte. La Status Word è mappata all'indice 0x6041 subindice 0 con dimensione 2 byte.

La comunicazione è con il profilo DS402 su CiA 301 (CAN in Automation). Riferimento: https://en.wikipedia.org/wiki/CANopen

I PDO devono essere trasmessi e ricevuti ad ogni Sync, COB ID = 0x80. Il master può accedere ai parametri dentro lo slave usando SDO read e write.
Vedi qui: https://www.nilab.at/dokuwiki/doku.php?id=mbd_servo_drive:registers|

Come programmare usando SDO write - Controllo posizione - Posizione interpolata

Configurazione del PDO da Slave a Master

COB ID D0 D1 D2 D3 D4 D5 D6 D7 Commento
0x600+(nodeid)0x23 0x000x1A0x010x200x000x640x60Valore attuale posizione
0x600+(nodeid)0x23 0x000x1A0x020x100x000x410x60Status word
0x600+(nodeid)0x23 0x000x1A0x030x080x000x610x60Display modalità operativa

Configurazione del PDO da Master a Slave

COB ID D0 D1 D2 D3 D4 D5 D6 D7 Commento
0x600+(nodeid)0x23 0x000x160x010x200x000xC10x60Record dati interpolati
0x600+(nodeid)0x23 0x000x160x020x100x000x400x60Control word
0x600+(nodeid)0x23 0x000x160x030x080x000x600x60Modalità operativa

Come programmare usando SDO write - Controllo coppia

Configurazione del PDO da Slave a Master

COB ID D0 D1 D2 D3 D4 D5 D6 D7 Commento
0x600+(nodeid)0x23 0x000x1A0x010x100x000x770x60Valore attuale coppia
0x600+(nodeid)0x23 0x000x1A0x020x100x000x410x60Status word
0x600+(nodeid)0x23 0x000x1A0x030x080x000x610x60Display modalità operativa

Configurazione del PDO da Master a Slave

COB ID D0 D1 D2 D3 D4 D5 D6 D7 Commento
0x600+(nodeid)0x23 0x000x160x010x100x000x710x60Coppia target
0x600+(nodeid)0x23 0x000x160x020x100x000x400x60Control word
0x600+(nodeid)0x23 0x000x160x030x080x000x600x60Modalità operativa

Parametri aggiuntivi sono 0x6087 ⇒ Torque Slope e 0x6088 ⇒ Torque profile type (0 = Linear ramp)

Registro STATUS WORD

Numero BIT Descrizione Modalità operativa
11 STATUSWORD_INTERNAL_LIMIT_ACTIVE
12 STATUSWORD_IP_MODE_ACTIVE Posizionamento interpolato
12 STATUSWORD_SPEED Profile velocity
13 STATUSWORD_MAX_SLIPPAGE_ERR Profile velocity
12 STATUSWORD_HOMING_ATTAINED Homing
13 STATUSWORD_HOMING_ERROR Homing
12 STATUSWORD_SETPOINT_ACK Profile positioning
13 STATUSWORD_FOLLOWING_ERROR Profile positioning

Registro CONTROL WORD

Numero BIT Descrizione Modalità operativa
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 Posizione interpolata
4 CTRLWORD_NEW_SETPOINT Profile positioning
5 CTRLWORD_CHANGE_SET_NOW Profile positioning
6 CTRLWORD_ABS_REL_POSITION Profile positioning
7 CTRLWORD_BIT_FAULT_RESET
8 CTRLWORD_BIT_HALT

Macchina a stati DS402

Abilitazione del drive

SERVO-ON: è la procedura in cui il Master deve leggere lo Statusword dal drive e inviare il corrispondente Controlword (comando) al drive per farlo cambiare allo stato finale, Operation Enable. Il percorso SERVO-ON comune nella macchina a stati CiA 402 è: (1) → (2) → (3) → (4) o (13) → (14) → (15) → (2) → (3) → (4)
Dalla specifica quando disabilitato devi passare da SWITCH ON.
DISABLED a READY TO SWITCH ON poi a SWITCHED ON e infine a OPERATION ENABLED

Per esempio: Lo fai tramite il controlword dove imposti bit1 e bit2 con bit0 e bit3 reset (0x06 READY TO SWITCH ON) poi imposti bit 0, bit 1 e bit 2 (0x07 READY TO SWITCH ON) infine bit 0, bit 1, bit 2, bit 3 tutti impostati (0x0F OPERATION ENABLED).

Disabilitazione del drive

SERVO-OFF: è la procedura per spegnere il servo drive, cioè spostare il suo stato a 'Switch On Disabled'. Il percorso più corto è la transizione (9) in cui il Master invia un Controlword di 0 a un drive operativo.

File EDS (CANopen) e XML (ETHERCAT)