Skip to main content

Diagnosi CANopen

Il capitolo descrive le possibilità di diagnosi offerte dal protocollo CANopen .

Stato CANopen

Una rete CANopen è composta da un master NMT (gestione di rete) e da slave NMT. In questo caso, il master NMT controlla tutti i dispositivi e può modificarne lo stato di comunicazione. Un dispositivo CANopen si trova in uno dei quattro possibili stati:

_can_img_state.png

Inizializzazione: dopo l'accensione, il nodo attraversa questo stato. In questa fase, l'applicazione del dispositivo e la comunicazione del dispositivo (bit rate e indirizzo del nodo) vengono inizializzate. Successivamente, il nodo passa autonomamente allo stato "Pre-Operativo".

Pre-operativo: la comunicazione con il nodo è possibile tramite SDO. Tuttavia, il nodo non è in grado di effettuare comunicazioni PDO .

Operational: il nodo CANopen è completamente operativo. Può inviare e ricevere dati di processo in modo indipendente.

Arrestato: il nodo è completamente separato dalla rete. Non è possibile alcuna comunicazione SDO o PDO . Il nodo può passare a un altro stato di rete solo tramite un comando di rete corrispondente (ad esempio: avvia nodo).

Registro degli errori

Secondo CiA 301, ogni dispositivo CANopen ha un registro di errore (oggetto 16#1001). Questo registro può essere letto tramite SDO e, in caso di errore, fornisce informazioni aggiuntive sull'errore stesso.

Solo il bit 0 (errore generico) è richiesto nel registro degli errori. Gli altri bit sono opzionali e non vengono impostati da ogni slave. Non appena un dispositivo rileva un errore, almeno il bit 0 di questo oggetto viene impostato.

Tabella 15. Registro degli errori

Morso

Descrizione

0

Errore generico

1

Attuale

2

Voltaggio

3

Temperatura

4

Errore di comunicazione (stato di errore di superamento)

5

Profilo dispositivo

6

Riservato (sempre 0)

7

Specifico del produttore



Campo di emergenza e di errore predefinito (EMCY)

CANopen definisce il protocollo di emergenza opzionale (EMCY) per indicare gli errori. Un'emergenza è un messaggio CAN trasmesso secondo il set di connessioni predefinito con CAN-ID 16#80 + NODE-ID.

Il telegramma ha la seguente struttura:

_can_img_emcy.png

La lunghezza di un messaggio di emergenza è sempre di 8 byte. Il rispettivo codice di errore di emergenza (EEC) viene trasmesso nei primi due byte. Seguono il valore corrente del registro di errore 0x1011 (ER: registro di errore) e 5 byte specifici del produttore (MEF: campo di errore specifico del produttore).

L'interpretazione dei codici di errore deve essere consultata nel manuale del produttore. Il protocollo di emergenza non è supportato da tutti gli slave e deve essere configurato di conseguenza tramite il CANopen Manager.

La cronologia delle emergenze verificatesi (cronologia degli errori) può essere letta dall'oggetto 16#1003 tramite SDO. Qui, il sottoindice 0 contiene il numero di errori memorizzati e i sottooggetti successivi contengono i dati delle emergenze trasmesse.

Per maggiori informazioni vedere: Campo di errore predefinito e registro degli errori

Meccanismi di monitoraggio: Heartbeat e Node Guarding

Il monitoraggio di un nodo CAN è necessario se non invia messaggi in modo continuativo ( PDO ciclici). A tale scopo sono previsti i meccanismi "heartbeat" e "node guarding", che possono essere utilizzati in alternativa.

  • Node Guarding: con questo protocollo, i messaggi (frame CAN remoti) vengono inviati dal master NMT agli slave CANopen esistenti. Gli slave devono rispondere a questi messaggi entro un tempo specifico. In assenza di risposta, il master NMT registra la mancata risposta. Poiché i frame CAN remoti dovrebbero essere generalmente evitati, è preferibile il monitoraggio tramite heartbeat.

  • Heartbeat: il protocollo heartbeat è stato rilasciato con CANopen versione 4.0 ed è il metodo di monitoraggio preferito. In questo caso, ogni nodo invia in modo indipendente un messaggio a intervalli ciclici. Questo messaggio può essere monitorato da qualsiasi altro utente della rete.