Principi del protocollo CANopen
Introduzione alla rete CANopen
CANopen è un sistema di rete basato sul bus seriale Controller Area Network (CAN). Il profilo di comunicazione CANopen (CiA DS-301) supporta l'accesso diretto ai parametri dispositivo e la comunicazione dei dati di processi in cui il fattore tempo può risultare critico.
Il profilo CANopen per i controller LTMR è specifico del costruttore. e definisce gli standard per le funzionalità di base del dispositivo, fornendo ampie possibilità di implementare funzioni aggiuntive specifiche.
CANopen sfrutta appieno le potenzialità CAN consentendo in modo organizzato e, se necessario, deterministico lo scambio dati diretto peer to peer tra nodi.
Protocollo CANopen
Il protocollo CANopen si basa sulla specifica CAN 2.B passive (identificatore codificato a 11 bit).
L'interfaccia del controller CANopen LTMR è conforme alle specifiche CANopen (DS301 V4.02).
I controller sono descritti in file EDS (fogli elettronici) che vanno integrati nei tool di configurazione.
Frame messaggi CANopen
Di seguito viene descritto un frame di messaggio CANopen standard:
SOF |
COB-ID |
RTR |
CTRL |
Segmento dati |
CRC |
ACK |
EOF |
---|---|---|---|---|---|---|---|
1 bit |
11 bit |
1 bit |
5 bit |
0-8 byte |
16 bit |
2 bit |
7 bit |
SOF |
Start of frame |
COB-ID |
Campo di identificazione del messaggio CAN composto da un codice funzione (4 bit) e un ID modulo (7 bit). Il codice funzione determina la priorità dell'oggetto e consente la comunicazione tra un gestore di rete e 127 stazioni. Il codice funzione è determinato con un dizionario oggetti nel profilo del dispositivo. La trasmissione è segnalata da un ID modulo pari a zero. |
RTR |
Remote transmission request |
CTRL |
Campo di controllo (ad esempio lunghezza dei dati) |
CRC |
Cyclic redundancy check |
ACK |
Acknowledge |
OEF |
End of frame |
Servizi CANopen
Gli oggetti di comunicazione CANopen trasmessi tramite la rete CAN vengono descritti dai servizi:
-
GESTIONE RETE
Avviamento del bus, impostazione dei parametri, monitoraggio.
-
TRASMISSIONE AD ALTA VELOCITÀ DEI DATI DI PROCESSO
PDO (Process Data Object) per i comandi in tempo reale.
-
TRASMISSIONE DEI DATI DI SERVIZIO A BASSA VELOCITÀ
SDO (Service Data Object) per configurazione, impostazione e diagnostica.
Gestione di rete (Network Management - NMT)
La gestione di una rete CANopen è orientata al nodo e segue una struttura master/slave. Richiede un dispositivo in rete che svolga la funzione di master NMT: Gli altri nodi sono server NMT.
(1) |
All'accensione il dispositivo viene inizializzato. |
(2) |
Terminata l'inizializzazione si attiva automaticamente lo stato preoperativo (è possibile inviare parametri). Nota: nello stato preoperativo è possibile scrivere alcuni parametri selezionati dalla configurazione. |
(3) (6) |
Start_Remote_Node |
(4) (7) |
Enter_Pre-Operational_State e applicazione del fallback. |
(5) (8) |
Stop_Remote_Node |
(9) (10) (11) |
Reset_Node |
(12) (13) (14) |
Reset_Communication |
PDO (Process Data Object)
Il trasferimento dati in tempo reale viene eseguito per mezzo di telegrammi Process Data Object (PDO). I Process Data sono dati critici dal punto di vista del tempo, utilizzati per monitorare e comandare il dispositivo.
Funzioni del modulo di comunicazione CANopen del controller:
PDO |
Descrizione |
Stato |
---|---|---|
PDO1 di trasmissione |
Monitoraggio (dati trasmessi dallo slave) |
Preconfigurato e attivato |
PDO1 di ricezione |
Comando (dati trasmessi dal Client) |
|
PDO2 di trasmissione |
Scambio dei dati (definito in fase di configurazione) |
Da configurare e attivare |
PDO2 di ricezione |
||
PDO3 di trasmissione |
||
PDO3 di ricezione |
||
PDO4 di trasmissione |
Accesso (in lettura o scrittura) a qualsiasi registro durante la programmazione |
Preconfigurato e attivato |
PDO4 di ricezione |
Gli oggetti RPDO (Received PDO) e TPDO (Transmit PDO) possono essere configurati per comprendere 8 byte di dati (ad esempio organizzati come quattro registri da 16 bit o un oggetto da 64 bit).
Gli oggetti RPDO hanno accesso in scrittura.
In funzione dell'applicazione, impostare la modalità di comunicazione PDO su asincrona, ciclica o sincrona aciclica.
In modalità sincrona, la trasmissione PDO è correlata all'oggetto SYNC, emesso ciclicamente dal master CANopen. Non include dati. L'impostazione di fabbrica è 0x080.
Modo di trasmissione:
Tipo di trasmissione |
Trasmissione PDO |
|||
---|---|---|---|---|
Ciclica |
Aciclica |
Sincrona |
Asincrona |
|
0 PDO inviato in modo sincrono con l'oggetto SYNC, attivato da una variazione di valore dei dati |
√ |
√ |
||
1-240 PDO inviato dal modulo di comunicazione una volta ogni 1-240 ricezioni dell'oggetto SYNC |
√ |
√ |
||
255 Impostazione di fabbrica del modo di comunicazione |
√ |
√ |
Per ulteriori informazioni, consultare Using PDOs.
Service Data Object (SDO)
I Service Data Object (SDO) servono a configurare il dispositivo e a definire il tipo e il formato delle informazioni comunicate tramite i PDO.
Gli SDO consentono di accedere a qualsiasi oggetto nel dizionario del dispositivo.
I client CANopen eseguono messaggi aciclici attraverso i SDO. Vengono anche utilizzati per richieste asincrone e aperiodiche. Ad esempio un SDO consente di leggere l'identificazione di una unità di controllo.
Il modulo di comunicazione CANopen gestisce un server SDO che riceve due COB-ID:
-
uno per le richieste (telegrammi trasmessi dal client al controller LTMR CANopen)
-
uno per le risposte (telegrammi inviati al client dal controller LTMR CANopen)
Per ulteriori informazioni sugli SDO, consultare Using SDOs.