Skip to main content

Diagnosi CANopen

Il capitolo descrive le opzioni diagnostiche offerte dal protocollo CANopen.

Stato CANopen

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

_can_img_state.png

Inizializzazione: dopo l'accensione, il nodo passa attraverso questo stato. A questo punto, l'applicazione del dispositivo e la comunicazione del dispositivo (bit rate e indirizzo del nodo) vengono inizializzate. Successivamente, il nodo passa in modo indipendente allo stato "Pre-Operational".

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

Operativo: il nodo CANopen è completamente operativo. Può inviare e ricevere autonomamente i dati di processo.

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 (esempio: avvia nodo).

Registro degli errori

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

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

Tabella 22. Registro degli errori

Morso

Descrizione

0

Errore generico

1

Attuale

2

Voltaggio

3

Temperatura

4

Errore di comunicazione (stato di errore di overrun)

5

Profilo dispositivo specifico

6

Riservato (sempre 0)

7

Specifico del produttore



Emergenza e campo di errore predefinito (EMCY)

CANopen definisce il protocollo di emergenza opzionale (EMCY) per indicare gli errori. Un'emergenza è un messaggio CAN che viene trasmesso in base alla connessione predefinita impostata 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. Segue il valore attuale del registro di errore 0x1011 (ER: registro di errore) e 5 byte specifici del produttore (MEF: campo di errore specifico del produttore).

La rispettiva interpretazione dei codici di errore deve essere presa dal manuale del produttore. Il protocollo di emergenza non è supportato da tutti gli slave e deve essere configurato di conseguenza dal CANopen Manager.

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

Meccanismi di monitoraggio: Heartbeat e Node Guarding

Il monitoraggio di un nodo CAN è necessario se non invia continuamente messaggi (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 remoti CAN) vengono inviati dal master NMT agli slave CANopen esistenti. Gli slave devono rispondere a questi messaggi entro un tempo specifico. Se non c'è risposta, questa viene registrata dal master NMT. Poiché in generale i frame remoti CAN dovrebbero essere evitati, è preferibile il monitoraggio tramite heartbeat.

  • Heartbeat: il protocollo heartbeat è stato rilasciato con CANopen versione 4.0 ed è il metodo di monitoraggio preferito. Qui, ogni nodo invia indipendentemente un messaggio a intervalli ciclici. Questo messaggio può essere monitorato da qualsiasi altro abbonato nella rete.