CANopen è un protocollo di comunicazione e una specifica di profilo per dispositivi per sistemi embedded utilizzato in automazione. All'interno del modello OSI, CANopen implementa i livelli a partire dal livello di rete in su (quindi dal 3° in su). Lo standard CANopen consiste in uno schema di indirizzamento, di diversi piccoli protocolli di comunicazione e di un livello applicazione definito da un profilo di dispositivo. I protocolli di comunicazione hanno un supporto per la gestione di rete ("network management"), per il controllo dei dispositivi e delle comunicazioni tra nodi, e includono un semplice livello di trasporto per la segmentazione/desegmentazione dei messaggi. Il protocollo di basso livello, che implementa il livello fisico e il livello datalink, è normalmente il Controller Area Network (CAN), sebbene i profili di dispositivo di CANopen possano essere implementati da dispositivi che utilizzano altri mezzi di comunicazione (come l'Ethernet Powerlink).
I profili di comunicazione e di dispositivo di base di CANopen sono forniti dal CAN in Automation (CiA) draft standard 301. I profili di dispositivi più specializzati sono basati sul profilo di base, e sono specificati in molti altri standard del CiA, come il CiA401 per i moduli di I/O e il CiA402 per il controllo del movimento.
I messaggi CANopen possono essere classificati in base al loro tipo in:
- Messaggi di controllo: Sono utilizzati per controllare il funzionamento del bus CAN.
- Messaggi di dati: Sono utilizzati per trasmettere dati tra i dispositivi.
- Messaggi di servizio: Sono utilizzati per fornire servizi di comunicazione specifici, come la lettura o la scrittura di dati da un oggetto di dati.
Messaggi di controllo
I messaggi di controllo sono utilizzati per controllare il funzionamento del bus CAN. I tipi più comuni di messaggi di controllo sono:
- RTR (Remote Transmission Request): Questo messaggio viene utilizzato per richiedere a un dispositivo di trasmettere i dati contenuti in un oggetto di dati.
- NMT (Network Management): Questo messaggio viene utilizzato per gestire la rete CAN, ad esempio per accendere o spegnere i dispositivi.
- SYNC: Questo messaggio viene utilizzato per sincronizzare i dispositivi sulla rete CAN.
Messaggi di dati
I messaggi di dati sono utilizzati per trasmettere dati tra i dispositivi. I tipi più comuni di messaggi di dati sono:
- PDO (Process Data Object): Questo messaggio viene utilizzato per trasmettere dati di processo tra i dispositivi.
- SDO (Service Data Object): Questo messaggio viene utilizzato per fornire servizi di comunicazione specifici, come la lettura o la scrittura di dati da un oggetto di dati.
Messaggi di servizio
I messaggi di servizio sono utilizzati per fornire servizi di comunicazione specifici. I tipi più comuni di messaggi di servizio sono:
- EMCY (Emergency): Questo messaggio viene utilizzato per segnalare un'emergenza sulla rete CAN.
- LSS (Life Cycle State): Questo messaggio viene utilizzato per indicare lo stato di vita di un dispositivo.
- Heartbeat: Questo messaggio viene utilizzato per verificare la presenza di un dispositivo sulla rete CAN.
Collegamenti esterni
[modifica | modifica wikitesto]- (EN) Panoramica sul CANopen, su can-cia.org.
- (EN) Introduction to CANopen Fundamentals, su canopen-solutions.com.