Skip to main content

Esempio: bus CAN

Prodotto: CODESYS POTERE

Descrizione

IL CANBusAPI.library libreria consente di utilizzare facilmente le funzioni CANbus. La biblioteca è stata ottimizzata per la programmazione orientata agli oggetti in ST e per la programmazione grafica come CFC. La libreria si basa sul CAN Bus Low Level libreria di sistema.

Con questa libreria è possibile utilizzare facilmente le funzioni CANbus. Si basa sul CANBus libreria di sistema. Insieme al CANBusAPI.library library, viene fornita un'applicazione di esempio. Questa applicazione contiene due programmi con diverse implementazioni (orientato agli oggetti in ST e grafico in CFC) che mostrano come utilizzare la libreria.

Informazioni aggiuntive

IL CANBusAPIExample.project Il progetto di esempio contiene due implementazioni: una in ST, una in CFC. Entrambi implementano in modi diversi il modo in cui specifici telegrammi CAN possono essere ricevuti e rispediti.

Nella configurazione del task aggiungere la chiamata di uno dei due programmi (CFC_PRG, ST_PRG) e scaricare l'applicazione nel controller. Avvia l'applicazione. Ora, quando si genera un telegramma CAN con un ID appropriato (ad esempio, 0x500) da un dispositivo esterno, questo telegramma viene elaborato e inviato con l'ID modificato.

Esempio in ST

Questo programma riceve tutti i messaggi in arrivo e li ritrasmette con CAN-ID +1.

MsgProcessor_EchoST: Il blocco funzione implementa il CAN.IMessageProcessor interfaccia. IL ProcessMessage metodo è già stato implementato. In questo metodo, l'ID CAN del messaggio ricevuto viene incrementato di 1 e riscritto nel driver CAN.

ST_PRG: Il programma configura il driver CAN con il DEVICE_CONFIG struttura e genera un'istanza di MsgProcessor_EchoST E MaskReceiver. MaskReceiver dovrebbe essere generato una sola volta e non ciclicamente; altrimenti un nuovo MaskReceiver verrà generato ad ogni chiamata. IL MaskReceiver è configurato in modo tale che tutti i messaggi possano essere ricevuti con esso. Quindi tutti i messaggi vengono passati automaticamente al file ProcessMessage funzione di MessageProcessor.

Esempio in CFC

Questo programma riceve tutti i messaggi nell'intervallo CAN ID da 16#500 A 16#550 e li riecheggia con CAN-ID+1.

MsgProcessor_EchoST: Implementa il CAN.IMesageProcessor interfaccia. IL ProcessMessage metodo è già stato implementato. In questo metodo, l'ID CAN del messaggio ricevuto viene incrementato di 1 e riscritto nel driver CAN.

CFC_PRG: Il programma configura il driver CAN con il DEVICE_CONFIG struttura e genera un'istanza di MsgProcessor_EchoST E AreaReceiver. IL AreaReceiver è configurato per ricevere tutti i messaggi nell'intervallo ID CAN da 16#500 A 16#550. I messaggi ricevuti vengono quindi passati automaticamente al ProcessMessage funzione di MessageProcessor. Inoltre, è possibile utilizzare il CANBusDiagnosis blocco funzione per monitorare lo stato del driver CAN.

Per ulteriori informazioni sui blocchi funzione, vedere il file PDF incluso nel pacchetto.

Requisiti di sistema e restrizioni

Sistema di programmazione

CODESYS Development System (versione 3.5.6.0 o successiva)

Sistema di esecuzione

CODESYS Control Win (versione 3.5.6.0)

Componenti aggiuntivi

-

Avviso

_example_icon.png SCARICAMENTO Progetto