Home Soluzioni Introduzione al Protocollo UART per Display Intelligenti

Introduzione al Protocollo UART per Display Intelligenti

October 18,2024

Introduzione

Il protocollo UART di Smart Display è un protocollo di comunicazione proprietario sviluppato da WINSTAR per consentire la comunicazione e il controllo tra un controller host e gli Smart Display WINSTAR tramite interfaccia UART. In combinazione con WINSTAR GUI Builder, offre un flusso di sviluppo HMI efficiente, dalla progettazione dell’interfaccia utente alla comunicazione e al controllo del dispositivo.

Con GUI Builder, gli sviluppatori possono creare interfacce HMI utilizzando diversi Widget, dai più semplici, come Button e Text, fino a Gauge e Keypad, in base ai requisiti delle diverse applicazioni. Questo approccio visuale semplifica la progettazione dell’UI e offre maggiore flessibilità nello sviluppo di interfacce specifiche per ogni applicazione.

Una volta realizzata l’interfaccia utente, il controller host può comunicare con lo Smart Display tramite UART e controllarlo utilizzando il protocollo di comunicazione proprietario e i comandi WINSTAR. L’integrazione tra progettazione dell’UI e comunicazione UART contribuisce a semplificare lo sviluppo HMI e l’integrazione di sistema.

WINSTAR continua a migliorare GUI Builder per offrire un ambiente di sviluppo sempre più efficiente e flessibile per le applicazioni Smart Display.

Smart Display GUI Builder – Configurazione di un progetto UART

Smart Display GUI Builder offre un’interfaccia intuitiva e semplice da utilizzare per creare progetti HMI in modo efficiente. È sufficiente trascinare e rilasciare i diversi Widget sulla pagina per visualizzare gli oggetti sullo Smart Display e interagire con essi. La semplicità di utilizzo e la flessibilità delle funzioni consentono di rispondere alle esigenze di diverse applicazioni e di rendere più efficiente lo sviluppo.

Di seguito viene illustrato come creare un progetto UART con Smart Display GUI Builder e come controllare gli oggetti tramite UART.

Creare un progetto con protocollo UART

Per creare un progetto UART, inserire il nome del progetto, selezionare il tipo di Smart Display in base alle proprie esigenze e scegliere "SmartDisplay protocol (UART)" nell’opzione Protocol.

Aggiungere un Gauge e un Horizontal Slider Widget alla pagina principale

Dopo aver aggiunto un Widget, a ogni oggetto viene assegnato un Index ID univoco e sono disponibili le impostazioni Page Index e Object ID. Utilizzando queste due impostazioni, l’Host può controllare l’oggetto tramite comandi UART.

Simulare l’interazione tra UART e Widget

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

Dopo aver avviato il simulatore, spostare il cursore GAUGE_0 nella parte inferiore per simulare l’invio di dati dall’Host a GAUGE_0. È possibile osservare le variazioni del Gauge nel simulatore e consultare il registro dei comandi UART nel Message Log sulla destra. È inoltre possibile utilizzare l’Horizontal Slider nel simulatore per simulare l’invio di dati dal lato Device.

Aggiornare le impostazioni dello Smart Display

Dopo aver verificato il corretto funzionamento tramite il simulatore, collegare il dispositivo e caricare le impostazioni del progetto sullo Smart Display.

Attendere il completamento del caricamento e dell’aggiornamento.

Verificare l’interazione tra Device e Widget

Dopo aver caricato il progetto sul dispositivo, è possibile verificarne ulteriormente il funzionamento sullo Smart Display. Collegare il dispositivo tramite GUI Builder, fare clic su "Test Device" e verificare l’interazione tra Host e Device.

Finestra Test Device

Questa interfaccia di test consente di simulare la modifica del valore di un oggetto da parte dell’Host. Spostare il cursore GAUGE_0 nella parte inferiore per simulare l’invio del valore di Object 0 dall’Host e osservare le variazioni del Gauge sul dispositivo. Nel Message Log in basso è inoltre possibile visualizzare Send command e Response command. Utilizzando l’Horizontal Slider sul dispositivo, è possibile verificare anche l’Event command inviato dal lato Device.

La finestra Test Device consente di simulare l’invio di comandi UART dall’Host per controllare lo Smart Display. È possibile osservare il risultato sullo Smart Display e utilizzare il Touch Panel per verificare che l’Host riceva il relativo Event command.

Smart Display GUI Builder – Widget personalizzati

Quando i Widget predefiniti di Smart Display GUI Builder non soddisfano i requisiti di progettazione, è possibile personalizzare le relative icone sostituendo le immagini corrispondenti e realizzare così un’interfaccia adatta all’applicazione. Per pulsanti semplici o pulsanti di tipo toggle, è sufficiente modificare le immagini On/Off. Per Widget più complessi, oltre alla sostituzione delle immagini, può essere necessario configurare ulteriori parametri per garantire una corretta visualizzazione.

Esempio di configurazione di un Gauge personalizzato

È possibile creare un Gauge personalizzato sostituendo le immagini e regolando i relativi parametri Gauge.

Testo multilingue

Il Text Widget dello Smart Display supporta Unicode e consente quindi di visualizzare testi in più lingue. Per configurare i testi nelle lingue desiderate, seguire i passaggi riportati di seguito.

1. Aggiungere un Custom Font, selezionare il font e la dimensione desiderati, quindi specificare l’intervallo di caratteri Unicode da visualizzare. Per verificare l’intervallo Unicode è possibile consultare Unicode Character Blocks. Se l’intervallo di caratteri richiesto è molto ampio, ad esempio nel caso dei caratteri cinesi, e lo spazio Flash disponibile non è sufficiente, è possibile includere nella sezione Custom Characters solo i caratteri effettivamente necessari, riducendo così lo spazio di memoria richiesto dal font.

2. Impostare il font del Text Widget: selezionare il Text Widget di cui si desidera modificare le impostazioni del font.

3. Aggiungere un Text Widget e verificare nel simulatore che il testo venga visualizzato correttamente.

Introduzione ai comandi UART personalizzati

Di seguito viene introdotto il protocollo dei comandi UART. Questi comandi consentono all’Host di controllare diverse funzioni dello Smart Display, tra cui il cambio di pagina, la regolazione della luminosità della retroilluminazione e l’attivazione del buzzer.

Le seguenti sono le impostazioni UART predefinite:

Default baud rate: 115200 (può essere modificato tramite GUI Builder)
Parity Bit: None
Data Bit: 8
Stop Bit: 1

Il formato principale dei dati per UART è il seguente:

Header Byte(1 Byte) Length(1 Byte) Payload(N Byte) CRC(2 Byte)
Command Header Value: 4 + Payload length
Payload max size: 250
Payload data max size: 250 Modbus CRC16
(Calculate Modbus CRC16
https://www.modbustools.com/modbus_crc16.html)

Il protocollo UART ha principalmente tre tipi di comandi: comando di invio, comando di risposta e comando evento, con i seguenti formati in ordine.

1. Formato del comando di invio

Il comando di invio è utilizzato dal lato Host per inviare comandi al lato SmartDisplay.

Header Byte(1 Byte) Length(1 Byte) Payload(N byte) CRC(2 Byte)
Start with 0x53 (S) Value: 4 + Payload length
Payload max size: 250
Command code: 1 byte
Command parameter: 0 ~ N bytes
Modbus CRC16
 

2. Formato del comando di risposta

Il comando di risposta è utilizzato dal lato SmartDisplay per rispondere al lato Host con i risultati del comando di invio.

Header Byte(1 Byte) Length(1 Byte) Payload(N byte) CRC(2 Byte)
Start with 0x52 (R) Value: 4 + Payload length
Payload max size: 250
Command Code: 1 byte
Error Code: 1 byte
Response Data: 0 ~ N bytes
Modbus CRC16
 

3. Comando evento

Quando il lato SmartDisplay ha bisogno di segnalare attivamente dei dati, utilizzerà questo comando, ad esempio, quando viene attivato un pulsante.

Header Byte(1 Byte) Length(1 Byte) Payload(N byte) CRC(2 Byte)
Start with 0x45 (E) Value: 4 + Payload length
Payload max size: 250
Event Command Code: 1 byte
Event Data: 0 ~ N bytes
Modbus CRC16

* Per dettagli sul codice del comando di invio e sul codice del comando evento, si prega di fare riferimento al documento della Guida dell'Utente SmartDisplay UART.

Spiegazione ed esempi del protocollo di comando di invio/riposta

Di seguito viene descritto in sequenza il formato dei dati e gli esempi per ciascun payload di comando.

Set Object Value: 0x3

Send Command

Command Code 1 Byte 0x3
Parameter data 8 Byte uint16 PageIndex;
uint16 ObjectId;
int32 value;

Response command

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

Esempio: Set Object value

Set Object Buffer Data: 0x5

Send Command

Command Code 1 Byte 0x5
Parameter data N Byte uint16 PageIndex;
uint16 ObjectId;
uint8 [] data (max 100 bytes)
// Unicode String for Text
// Clock setting for Digital Clock

Response command

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

Esempio: Set Object Text: test

Esempio: Set Clock Widget date time: 2024/09/01 04:05:06

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

Esempio: Set brightness to 90.

Set Buzzer: 0x7

Send Command

Command Code 1 Byte 0x7
Cycle 1 Byte Cycle value
High 1 Byte High value (Unit: 10 ms)
Low 1 Byte Low value (Unit: 10 ms)

Response command

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

Esempio: Emitting buzzer: Cycle:1, High: 200 ms, Low: 0 ms

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

Esempio: Switching Page Index to 1.
Per cambiare pagina, è necessario prima impostare lo stato del dispositivo su ConfigMode. Successivamente, inviare il comando di cambio pagina. Dopo aver completato il comando di cambio pagina, impostare la modalità dello stato del dispositivo su Display Mode per completare l'operazione di cambio pagina. La sequenza dei comandi correlati è la seguente:

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: Refer to the example of switching pages

Spiegazione ed esempi del protocollo di comando evento

Page change event: 0x1

Event Command

Event Code 1 Byte 0x01
Parameter data 2 Byte Uint16 PageIndex

Esempio: SmartDisplay switches to Page 1.

Object Text change event: 0x2

Event Command

Event Code 1 Byte 0x02
Parameter data N +2 Byte Uint16 ObjectId
N byte Unicode Text
 

Esempio: Keypad widget sends the text "1234"

Object Value change event: 0x3

Event Command

Event Code 1 Byte 0x03
Parameter data 6 Byte Uint16 ObjectId
int32 value

Esempio: Object value change event.

Con GUI Builder è possibile creare l’interfaccia utente trascinando e rilasciando i Widget, con un approccio WYSIWYG (What You See Is What You Get) che rende lo sviluppo dell’UI più intuitivo ed efficiente. Il simulatore integrato consente inoltre di visualizzare in anteprima l’interfaccia e valutare il design dell’UI prima di utilizzare il display fisico.

Una volta completata l’UI, il controller host può comunicare con lo Smart Display tramite UART utilizzando il protocollo di comunicazione proprietario di WINSTAR, consentendo il controllo del dispositivo e lo scambio di dati. Questo flusso di lavoro integra progettazione dell’UI, simulazione e comunicazione con il dispositivo, semplificando lo sviluppo HMI e l’integrazione di sistema.

Prima di acquistare uno UART Smart Display, è possibile provare GUI Builder e il simulatore integrato per valutare se il design dell’interfaccia e le funzionalità sono adatti ai requisiti dell’applicazione.

Richiedi il download di GUI Builder — compila il modulo online per ricevere il link per il download.

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.