Home Soluzioni Introduzione al protocollo Custom CAN ID per Smart Display

Introduzione al protocollo Custom CAN ID per Smart Display

May 04,2023

Introduzione

Smart Display supporta attualmente l'interfaccia di comunicazione hardware CAN bus e utilizza il protocollo di comunicazione CANopen. CANopen è un protocollo di comunicazione industriale basato su CAN bus, ampiamente utilizzato in diversi settori, tra cui apparecchiature medicali, veicoli, applicazioni ferroviarie e automazione degli edifici. Tuttavia, l'utilizzo di CANopen richiede l'implementazione del relativo meccanismo di comunicazione sul lato host, aumentando la complessità nelle applicazioni che necessitano semplicemente di una comunicazione tramite CAN bus. Per semplificare l'implementazione, abbiamo quindi sviluppato il protocollo Custom CAN ID, che non richiede l'implementazione di CANopen sul lato host. Tramite un file DBC personalizzato è possibile configurare i dati e associare CAN ID e relativi dati ai Widget dello Smart Display, consentendo un'interazione in tempo reale. Questo approccio permette di gestire e controllare più facilmente i dati di sistema, offrendo al tempo stesso maggiore flessibilità e semplicità di manutenzione.

Il protocollo Custom CAN ID utilizza principalmente un file DBC (CAN Database) per configurare i dati e definire l'interazione tra i dati CAN e i Widget dello Smart Display. Il file DBC contiene informazioni quali CAN ID, formato dei messaggi e parametri necessari alla decodifica. Utilizzando un file DBC personalizzato, è possibile associare diversi CAN ID e relativi dati ai Widget dello Smart Display e realizzare un'interazione in tempo reale. Ad esempio, CAN ID e dati possono essere utilizzati per controllare elementi grafici o testi visualizzati sul display, mentre pulsanti o slider sul display possono essere utilizzati per controllare i dati CAN. Questa modalità di interazione facilita la gestione e il controllo dei dati di sistema e consente di realizzare una soluzione flessibile e facilmente manutenibile.

Comprendere i file DBC

Un file DBC è generalmente un file di testo ASCII che contiene le informazioni relative ai segnali fisici trasmessi sul CAN bus, tra cui CAN ID, nome del segnale, fattore di scala e definizione. Il file viene utilizzato per decodificare i dati CAN grezzi in valori significativi e associare i diversi CAN ID ai segnali corrispondenti. Un file DBC contiene quindi le informazioni necessarie per convertire il payload dei messaggi CAN nei relativi valori fisici.

Esempio di decodifica dei Raw CAN Data

raw-can-data-testing-data-example01

Se si dispone di un file DBC CAN che include le regole di decodifica per il CAN ID 0x181, è possibile utilizzare le informazioni definite nel file DBC per decodificare i dati riportati di seguito.

raw-can-data-testing-data-example02

Una delle principali funzioni di un file DBC è descrivere le regole di decodifica dei messaggi e dei segnali CAN. L'esempio seguente mostra alcuni dati di test estratti da un file DBC:

test-data-description-excerpted-from-dbc-file01

In base alle informazioni DBC riportate sopra, è possibile ricavare i seguenti parametri di decodifica:

test-data-description-excerpted-from-dbc-file02

Applicando le regole di decodifica indicate sopra, i Raw CAN Data acquisiti in precedenza possono essere decodificati come segue:

test-data-description-excerpted-from-dbc-file03

Come illustrato nell'esempio, le impostazioni definite nel file DBC consentono di decodificare correttamente i valori effettivi rappresentati dai dati CAN associati a un determinato CAN ID. Il file DBC contiene la struttura e le definizioni dei messaggi e dei segnali CAN, consentendo di interpretare i dati CAN grezzi e convertirli nei corrispondenti valori fisici, in modo che il sistema possa utilizzare correttamente le informazioni trasmesse tramite CAN.

Editor DBC

Poiché la struttura e il formato di un file DBC possono risultare poco pratici da leggere e modificare direttamente, è possibile utilizzare appositi editor DBC per creare e modificare file DBC personalizzati. Uno degli strumenti comunemente utilizzati è Vector CANdb++, sviluppato da Vector Informatik GmbH. Il software mette a disposizione un'interfaccia grafica per creare e modificare file DBC, aggiungere messaggi e segnali e definirne i relativi attributi, come ID del messaggio, bit iniziale, lunghezza, fattore di scala e offset.

dbc-editor

Smart Display GUI Builder – Configurazione Custom CAN ID

Smart Display GUI Builder offre un'interfaccia intuitiva per creare progetti Custom CAN ID. È sufficiente importare un file DBC e associare i Message/Signal ai Widget corrispondenti per visualizzare i dati e gestire l'interazione sullo Smart Display. Le sezioni seguenti illustrano come creare un progetto Custom CAN ID in Smart Display GUI Builder e configurare le associazioni tra il file DBC e i Widget.

Creare un progetto Custom CAN ID

Inserire il nome del Project, selezionare il modello di Smart Display e, nella sezione Protocol, selezionare "Custom CAN Id (CANbus)" per creare un progetto Custom CAN ID.

create-custom-can-project

Importare un file DBC personalizzato

Passare alla pagina DBC Viewer e fare clic su "Load DBC File" per importare un file DBC personalizzato. Una volta importato il file, è possibile visualizzare i Message, i Signal e le relative informazioni di configurazione definite nel file DBC.

import-custom-dbc-file

Configurare i Widget Gauge e Horizontal Slider

Selezionare l'oggetto Gauge e, nella sezione CAN Signal delle proprietà del Gauge, impostare Message su EEC1 e Signal su EngSpeed. In questo modo il Gauge viene associato a EngSpeed. Una volta completata la configurazione, il valore visualizzato dal Gauge varia in funzione del valore di EngSpeed.

add-gauge-and-horizontal-slider-widget-in-the-main-page

Selezionare l'oggetto Horizontal Slider e, nella sezione CAN Signal delle relative proprietà, impostare Message su HorizontalSliderMessage e Signal su HorizontalSliderSignal1. In questo modo l'Horizontal Slider viene associato a HorizontalSliderSignal1. Una volta completata la configurazione, l'Horizontal Slider varia in funzione del valore di HorizontalSliderSignal1.

add-gauge-and-horizontal-slider-widget-in-the-main-page02

Simulare l'interazione tra CAN ID / CAN Data e Widget

Fare clic sull'icona "Simulator With GUI" per avviare il simulatore.

add-gauge-and-horizontal-slider-widget-in-the-main-page03

Dopo aver avviato il simulatore, spostare lo slider EngSpeed nella parte inferiore per simulare l'invio dei dati EngSpeed da parte dell'Host e osservare le corrispondenti variazioni del Gauge nel simulatore. Nel Message Log sulla destra è possibile visualizzare le variazioni di CAN ID e CAN Data. È inoltre possibile utilizzare l'Horizontal Slider nel simulatore per simulare i dati inviati dal Device.

add-gauge-and-horizontal-slider-widget-in-the-main-page04

Aggiornare la configurazione dello Smart Display

Dopo aver verificato il funzionamento tramite il simulatore e aver confermato che il comportamento è quello previsto, collegare il Device e caricare le impostazioni del Project sullo Smart Display.

add-gauge-and-horizontal-slider-widget-in-the-main-page05

Attendere il completamento del caricamento e dell'aggiornamento del Project.

add-gauge-and-horizontal-slider-widget-in-the-main-page06

Verificare l'interazione tra CAN ID / CAN Data del Device e i Widget

Dopo aver caricato il Project sul Device, è possibile verificare ulteriormente il funzionamento dello Smart Display. Collegare GUI Builder al Device e fare clic su "Test Device" per aprire la finestra Test Device Window e verificare l'interazione tra Host e Device.

verify-data-and-the-widget

Test Device Window

La Test Device Window consente di simulare l'invio, da parte dell'Host, dei CAN ID e CAN Data corrispondenti in base alla configurazione DBC. Spostare lo slider EngSpeed per simulare l'invio dei dati EngSpeed da parte dell'Host e osservare le corrispondenti variazioni del Gauge sullo Smart Display. I dati CAN visualizzati nella parte inferiore della finestra consentono di verificare CAN ID e CAN Data. È inoltre possibile utilizzare l'Horizontal Slider sullo Smart Display per verificare che i dati inviati dal Device corrispondano a quanto previsto.

test-device-window

Visualizzazione effettiva sullo Smart Display

actual-display-of-the-smartdisplay-device

Introduzione ai comandi Custom CAN

Di seguito viene descritto il protocollo dei comandi utilizzato da Custom CAN. Tramite questi comandi, l'Host può controllare lo Smart Display, ad esempio per cambiare pagina, regolare la luminosità della retroilluminazione o attivare il Buzzer.

Configurazione del CAN ID

Il protocollo dei comandi utilizza la seguente configurazione del CAN ID:

  • CAN Id format:29 bit
    CAN Id:0xEF0000 + 0x7B00 (default channel id. This can be modified through the GUI Builder.)
 

Formato dei dati dei comandi

Send Command

Header Byte (1 Byte) Length (1 Byte) Payload (N byte) CRC (2 Byte)
Valore fisso:0x53 (S) Value = 4 + Payload length
Payload max size: 250
Per il contenuto e la lunghezza dei dati, fare riferimento a Send Command Payload. Modbus CRC16
 

Response Command

Header Byte (1 Byte) Length (1 Byte) Payload (N byte) CRC (2 Byte)
Valore fisso:0x52 (R) Value = 4 + Payload length
Payload max size: 250
Per il contenuto e la lunghezza dei dati, fare riferimento a Response Command Payload. Modbus CRC16
 

Command Payload

Di seguito sono descritti i payload dei singoli comandi.

  • Set Brightness:0x6
    Send Command
Command Code 1 Byte 0x6
Brightness 1 Byte Brightness value
 

Response Command

Command Code 1 Byte 0x6
Error Code 1 Byte 0:Success
1:Failed
  • Set Buzzer: 0x7
    Send Command
 
Command Code 1 Byte 0x7
Cycle 1 Byte Cycle value
High 1 Byte High value
Low 1 Byte Low value
 

Response Command

Command Code 1 Byte 0x7
Error Code 1 Byte 0:Success
1:Failed
 
  • Set Page Index:0x8
    Send Command
Command Code 1 Byte 0x8
Page Index 1 Byte Page Index value
 

Response Command

Command Code 1 Byte 0x8
Error Code 1 Byte 0:Success
1:Failed
 
  • Get Page Count: 0xA
    Send Command
Command Code 1 Byte 0xA
 

Response Command

Command Code 1 Byte 0xA
Error Code 1 Byte 0:Success
1:Failed
High 1 Byte Page Count value
 
  • Get Current Page Index:0xF
    Send Command
Command Code 1 Byte 0xF
 

Response Command

Command Code 1 Byte 0xF
Error Code 1 Byte 0:Success
1:Failed
Page Index 1 Byte Page Index value
 
  • Set Device State:0x20
    Send Command
Command Code 1 Byte 0x20
Device State 1 Byte 0: ConfigMode
1: DisplayMode
 

Response Command

Command Code 1 Byte 0x20
Error Code 1 Byte 0:Success
1:Failed
 

Esempio di trasmissione

  • Impostare la luminosità su 90

transmission-example-set-brightness-to-90

  • Impostare Page Index su 1
 

Per cambiare pagina, impostare innanzitutto Device State su ConfigMode, quindi inviare il comando di cambio pagina. Una volta completato il comando, impostare nuovamente Device State su DisplayMode. La sequenza dei comandi è la seguente:

transmission-example-switch-page-index-to-1

Semplificare lo sviluppo di HMI CAN con Custom CAN ID

Il protocollo Custom CAN ID consente di definire CAN ID e CAN Data tramite un file DBC standard e di utilizzare Smart Display GUI Builder per associare Message/Signal ai Widget corrispondenti, integrando così i dati CAN nell'interfaccia HMI. Per le applicazioni che non richiedono protocolli di comunicazione più articolati, come CANopen o J1939, Custom CAN ID offre una soluzione più semplice per integrare un Host con uno Smart Display sulla base della configurazione definita nel file DBC.

Prima di collegarsi a uno Smart Display reale, è inoltre possibile utilizzare le funzioni di simulazione di Smart Display GUI Builder per verificare l'interazione tra la configurazione DBC, i dati CAN e i Widget.

Qualche domanda sulle soluzioni di visualizzazione per la propria azienda? Contatti!

Iscrizione

Ricevere e-mail sugli aggiornamenti delle notizie da Winstar

Contatti

Prezzo/Scheda tecnica/Richiesta generale

Supporto tecnico

Si prega di contattarci per qualsiasi informazione tecnica

go top
Contatti
close

Valorizziamo la tua privacy

Facendo clic su "Consenti tutti i cookie", accetti la memorizzazione dei cookie sul tuo dispositivo per migliorare la navigazione del sito, analizzare l'utilizzo del sito e assistere nei nostri sforzi di marketing e prestazioni. Puoi trovare ulteriori informazioni su questo argomento nella nostra politica. Informativa sulla privacy

Valorizziamo la tua privacy

Winstar e alcune terze parti utilizzano i cookie su www.winstar.com.tw. I dettagli relativi ai tipi di cookie, al loro scopo e alle terze parti coinvolte sono descritti di seguito e nella nostra Informativa sui cookie. Fare clic su "Consenti tutti" per acconsentire all'uso dei cookie e ottenere la migliore esperienza possibile sui nostri siti web. Puoi anche impostare le tue preferenze o rifiutare i cookie (ad eccezione dei cookie strettamente necessari).

Gestisci le preferenze di consenso

Sempre attivo
Cookie essenziali

Questi cookie sono essenziali per permetterti di navigare nel sito web e utilizzare le sue funzionalità, come impostare le tue preferenze sulla privacy, effettuare il login o compilare moduli.

Cookie di analisi

Questi sono noti anche come "cookie statistici"; raccolgono informazioni su come utilizzi un sito web, come quali pagine hai visitato e quali link hai cliccato. Vedi dettagli.