CANopen è un protocollo standard di comunicazione, definito nella norma europea EN 50325-4, largamente utilizzato nel settore industriale e dell’automazione.
Il protocollo definisce l’insieme delle regole e le modalità di comunicazione che consentono il funzionamento dei dispositivi all’interno di una rete.
Ideato inizialmente per utilizzo con bus di campo CAN (Controller Area Network), è stato applicato anche ad altre tipologie di bus di campo come Ethercat CoE (CANopen Over Ethercat).
CANopen è composto da una famiglia di profili che definiscono i meccanismi di comunicazione standardizzati e le modalità operative dei dispositivi, in relazione alle funzionalità e caratteristiche della tipologia di dispositivo.
Obiettivo del Profilo è la standardizzazione dei dispositivi, nell’ottica di facilitare l’integrazione di differenti dispositivi all’interno della rete di comunicazione.
I principali profili standardizzati sono :
- DSP401 : I/O Devices
- DSP402 : Drives and Motion Control Devices
- DSP403 : Human Machine Interface Devices
- DSP404 : Measuring Devices
- DSP405 : IEC 1131 Programmable Devices
- DSP406 : Encoders Devices
- DSP408 : Proportional Hydraulic Valves Devices
Il principio di funzionamento e comunicazione del bus di campo CANopen si basa sul modello standard a livelli ISO 11898 / OSI :
Il Profilo DS301 indica le regole di comunicazione tra i dispositivi e specifica il modo in cui le informazioni sono scambiate tra i dispositivi.
Le informazioni sono trasmesse e ricevute all’interno di messaggi e identificate come Oggetti di comunicazione.
Il CANopen definisce e utilizza i seguenti servizi di comunicazione:
- SDO – Service Data Objects (Oggetti di servizio)
- PDO – Process Data Objects (Oggetti di Processo)
- NMT – Network Management (Messaggi gestione rete)
- SYNC – Sync Object (Oggetto di sincronizzazione)
- EMCY – Emergency Objects (Oggetti di Emergenza)
Il concetto principale del bus di campo CANopen è basato sull’utilizzo di un dizionario oggetti (Objects Dictionary), inteso come l’insieme di tutti i parametri accessibili del dispositivo.
Ad ogni oggetto è associato un indirizzo (Indice e sottoindice) che consente un identificazione univoca all’interno del dizionario oggetti. L’accesso agli oggetti del dizionario è possibile tramite i servizi SDO e PDO.
Il servizio SDO è usato per stabilire una connessione ‘peer to peer’ tra due dispositivi a bus di campo CANopen, basata sul meccanismo ‘Client/Server’.
Il Server SDO è il dispositivo che serve il dizionario oggetti a cui è richiesto l’accesso, mentre il Client SDO è il dispositivo che vuole accedere al dizionario oggetti.
Il servizio PDO è utilizzato per trasmettere dati di processo in modalità ‘broadcast’, senza nessuna conferma al dispositivo trasmittente.
Nel messaggio PDO sono presenti solo i dati relativi agli oggetti che si intendono trasmettere/ricevere e, diversamente dagli SDO, non includono informazioni aggiuntive (indice, sottoindice, lunghezza dato).
Le informazioni aggiuntive sono predefinite in oggetti specifici per ciascun PDO (PDO Mapping).
Il servizio SDO è generalmente utilizzato per la configurazione dei dispositivi.
Ad ogni SDO può essere associata la lettura o scrittura di un solo oggetto per volta.
Il servizio PDO, per le sue caratteristiche, è maggiormente indicato per le gestioni real-time. Inoltre in un PDO possono essere presenti più oggetti. Questa caratteristiche permette di ridurre notevolmente il carico del bus di campo.
I PDO possono essere di tipo sincrono (ciclico o aciclico) o asincrono.
Adesso è tempo di vedere come funziona concretamente il protocollo di comunicazione CANopen DS301:
Scopri la nostra linea di azionamenti a bus di campo CANopen con protocollo di comunicazione DS301 per motori passo passo e motori brushless!