Selezione di un livello di rete sul bus CAN


10

Sto programmando di utilizzare il bus CAN in un'applicazione di automazione industriale, tuttavia non riesco a decidere come implementare il livello di rete. Qualcuno qui ha qualche consiglio per un protocollo di livello superiore da utilizzare su CAN che fornisce linee guida su come assegnare gli ID dei messaggi e su come formattare i pacchetti di dati? Devo sviluppare il mio livello di rete proprietario o implementare uno standard esistente come CANopen?

Risposte:


7

Sicuramente vorrai scegliere un livello di rete standard. Ho visto alcuni casi in cui le persone hanno sviluppato il proprio, e spesso il protocollo è inefficiente e alla fine è una perdita di tempo. Un livello di rete collaudato fornisce funzionalità di base per risolvere la maggior parte dei problemi che probabilmente dovrai affrontare in rete con un dispositivo incorporato e che alla fine ti farà risparmiare tempo e denaro preziosi.

Ho familiarità con CANopen, quindi inserirò qui una spiegazione e potrebbe aiutarti a decidere se è così che vuoi andare. Se non si adatta a ciò che devi fare, guarderei qualcos'altro.

CANopen è molto incentrato sui dati. Tutti i nodi slave CANopen (elementi che controlli da un nodo master, come sensori o driver del motore) forniscono un dizionario che contiene tutti i dati di configurazione, controllo e acquisizione dei dati che devi leggere / scrivere per svolgere il tuo lavoro. È quindi possibile leggere / scrivere questi oggetti singolarmente tramite il meccanismo SDO (oggetto dati di servizio) oppure leggere / scrivere questi oggetti periodicamente nelle trasmissioni di messaggi CAN temporizzate tramite il meccanismo PDO (oggetto dati produttore). L'avvio, l'arresto e il ripristino e il rilevamento di heartbeat / malfunzionamento del nodo sono forniti dai servizi NMT, nonché da un servizio di assegnazione dell'ID nodo (se si desidera utilizzarlo). Per implementare un dispositivo utilizzando una libreria CANOpen incorporata, fondamentalmente si imposta un dizionario oggetti, si impostano PDO per inviare / ricevere periodicamente aggiornamenti di dati, e scrivere il codice utente che si comporta in base a tali voci di dati. Ci sono altre cose che CANopen fornisce, ma questa è la maggior parte. Leggi questo libro per maggiori informazioni.


Il libro parla di un'implementazione di CANopen chiamata MicroCANopen. Quale implementazione di CANopen usi?
mjh2007,

1
@ mjh2007 - Abbiamo creato il nostro, poiché doveva essere utilizzato insieme a un altro protocollo.
J. Polfer,

"CANOpen" -> "CANopen"
Peter Mortensen,

7

Scrivo codice per accedere al bus CAN su auto GM, che utilizza un livello di rete prevalentemente proprietario. Hai guardato in OpenCAN? Vorrei scegliere uno standard aperto come CANOpen o persino OpenCAN. Dipende davvero dal livello di controllo e flessibilità che desideri nel tuo ambiente di automazione.


7
c'è un OpenCAN e CANOpen? aiggh! denominazione orribile.
Jason S

1
@ Jason, biasimo Microsoft.
Kortuk,

5

Ci sono state grandi risposte. Non so quale micro usi, ma qui ci sono collegamenti ad alcune informazioni dal microchip.

Libreria J1939

DeviceNet ™ Group 2 Slave Firmware per PIC18 con CAN

CANopen

Ognuno di essi ha un codice e un foglio dati di base che ti consente di sapere di cosa hai bisogno per implementarli.


1
In realtà uso Microchip quindi è molto utile. Grazie!
mjh2007,

1
Quelli sono tutti per la foto18. Sembra che con CANopen tu abbia un master che modifica le impostazioni sugli altri, per la maggior parte di ciò che include il mio uso di canbus, questo si adatta perfettamente.
Kortuk,

Usi la libreria Microchip per implementare CANopen?
mjh2007,

1
Nel processo di implementazione, è un processo lento perché richiede molte persone diverse di impegnarsi per me per fare un cambiamento di sistema. Ti aggiornerò quando sarà implementato se ciò ti aiuterà.
Kortuk,

1
@ mjh2007, ho smesso di lavorare per il processore e gli studenti che hanno preso il controllo hanno deciso che molti avevano prima di non utilizzare l'hardware precedente e acquistare qualcosa con cui erano più a loro agio. Ancora una volta nessun progresso su quel progetto di professori, ma ciò accade quando un professore non sa cosa sta succedendo e permette alle persone di cambiare tutto una volta all'anno.
Kortuk,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.