Cerca
Filters
Close

FIRST Components Academy | Nuovo Protocollo UART per Winstar Smart Display

mercoledì 13 novembre 2024

Dalla News di Winstar di Novembre '24

Introduzione al protocollo UART per Smart Display

Il protocollo UART per SmartDisplay è un protocollo di comunicazione proprietario sviluppato da WINSTAR per consentire ai clienti di controllare facilmente i propri schermi HMI (Human-Machine Interface) tramite l’interfaccia UART. Questo protocollo innovativo integra il GUI Builder di WINSTAR, offrendo uno strumento potente e intuitivo per creare widget che rispondano alle esigenze specifiche degli utenti. Tramite il GUI Builder, i clienti possono facilmente progettare una varietà di oggetti HMI per interagire con l’utente, dai semplici pulsanti e testi ai complessi indicatori e tastierini, adattandosi a diverse applicazioni. Questo approccio consente di risparmiare tempo e costi, offrendo flessibilità e possibilità di personalizzazione nel design dell’interfaccia utente. Grazie ai comandi UART personalizzati di WINSTAR, l'interazione e il controllo con Smart Display sono facilmente realizzabili. Il nostro impegno è fornire un’esperienza cliente eccellente e migliorare continuamente il GUI Builder per soddisfare le esigenze in evoluzione degli utenti. Che siate professionisti del design o principianti, riteniamo che il protocollo UART per SmartDisplay rappresenti una scelta ideale per creare interfacce HMI di qualità. Scopriamo insieme questa tecnologia innovativa, portando vitalità e ispirazione nei vostri prodotti.


Smart Display GUI Builder – Istruzioni di configurazione del progetto UART

Il GUI Builder per SmartDisplay offre un'interfaccia intuitiva e user-friendly, permettendo di creare facilmente progetti HMI. È sufficiente trascinare e rilasciare i vari widget nella pagina tramite il GUI Builder per visualizzarli e interagirvi sul dispositivo SmartDisplay. Con operazioni semplici e funzionalità versatili, si adatta a un’ampia gamma di necessità, rendendo il lavoro più efficiente.

Di seguito, una guida passo-passo per creare un progetto UART con il GUI Builder per Smart Display e controllare gli oggetti tramite UART.

  • Creare un progetto protocollo UART
    Per creare un progetto UART, inserire il nome del progetto, selezionare il tipo di dispositivo SmartDisplay e scegliere il protocollo SmartDisplay (UART) nell’opzione protocollo in base ai requisiti.

 

  • Aggiungere i widget Indicatore (Gauge) e Slider Orizzontale alla pagina principale
    Ogni widget aggiunto ha un ID univoco, oltre alle impostazioni di Page Index e Object ID. Conoscendo questi due parametri, il lato Host può controllare l'oggetto tramite comandi UART.

 

  • Simulare l'iterazione tra UART e il widget
    Fare clic sull’icona "Simulator With GUI" per avviare il simulatore.

 

Nel simulatore, trascinare lo slider etichettato GAUGE_0 per simulare l'invio di dati a GAUGE_0 da parte dell'Host, osservando le modifiche nell’indicatore e visualizzando i log dei comandi UART nel Message Log sulla destra. È inoltre possibile interagire con lo Slider Orizzontale nel simulatore per simulare l’invio di dati dal lato Dispositivo.

 

  • Aggiornare le impostazioni del dispositivo SmartDisplay
    Dopo aver verificato il funzionamento tramite il simulatore, se tutto funziona correttamente, connettersi al dispositivo e caricare le impostazioni del progetto sul dispositivo SmartDisplay. 

 

Attendere che il caricamento e l’aggiornamento siano completati.

 

  • Verificare l'interazione tra Dispositivo e Widget
    Una volta caricato il progetto, convalidare ulteriormente la funzionalità sul dispositivo SmartDisplay. Connettersi al dispositivo con il GUI Builder, fare clic su "Test Device" e testare le interazioni tra Host e Dispositivo.

 

  • Finestra Test Device
    Questa interfaccia di test permette di simulare le modifiche dell’Host ai valori degli oggetti. Ad esempio, trascinando lo slider etichettato GAUGE_0 è possibile simulare l’invio da parte dell’Host del valore dell'oggetto 0, osservando le modifiche sull’indicatore del dispositivo. Le variazioni dei comandi di invio e risposta possono essere visualizzate nel Message Log in basso. Inoltre, è possibile interagire con lo slider orizzontale del dispositivo per verificare la ricezione di un comando Evento da parte del dispositivo.

 

La Finestra Test Device sopra descritta permette di simulare i comandi UART dell’Host per controllare lo SmartDisplay. È possibile osservare il risultato sullo schermo del dispositivo e confermare la ricezione dei comandi Evento da parte dell'Host tramite il pannello touch dello SmartDisplay.

SmartDisplay GUI Builder – Widget personalizzati

Quando i widget di default dello SmartDisplay non soddisfano i requisiti di design, è possibile creare icone widget personalizzate. Aggiornando le immagini, si ottiene un'interfaccia personalizzata. Per widget più semplici, come pulsanti, basta modificare le immagini On/Off, mentre per quelli più complessi possono essere necessarie ulteriori impostazioni per garantire una corretta visualizzazione.

  • Spiegazione ed esempio per l'indicatore personalizzato
    È possibile creare un widget personalizzato sostituendo in sequenza le immagini e i parametri dell’indicatore.

 

  • Testo multilingua
    Il widget di testo dello SmartDisplay supporta Unicode, consentendo la visualizzazione di testo multilingua. Di seguito i passaggi per impostare il testo multilingua:

1. Aggiungere Font Personalizzato: selezionare il font e la dimensione desiderati, scegliere l’intervallo di testo Unicode (consultare https://unicode-table.com/en/blocks/ per l’intervallo Unicode), riducendo lo spazio Flash solo ai caratteri necessari.

 

2. Impostare il font per il widget di testo: scegliere le impostazioni del widget di testo da modificare.

 

3. Aggiungere il widget di testo e verificare nel simulatore che il testo sia visualizzato correttamente.

 

Introduzione al protocollo di comando UART personalizzato

Di seguito un’introduzione al protocollo di comando UART, che permette all’Host di controllare lo SmartDisplay, inclusi cambi di pagina, regolazione della luminosità della retroilluminazione o attivazione del buzzer.

Impostazioni di default per UART:
Default baud rate: 115200 (Can be modified through GUI Builder)
Parity Bit: None
Data Bit: 8
Stop Bit: 1

Il formato dei dati UART è come segue:

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 include tre tipi di comandi: comandi di Invio, di Risposta e di Evento, con i seguenti formati.

(1) Comando di invio
Consente all’Host di inviare comandi allo 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) Comando di Risposta
Permette allo SmartDisplay di rispondere ai comandi di Invio dell’Host.

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 di Evento
Utilizzato quando lo SmartDisplay deve segnalare dati, ad esempio quando si attiva 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 i dettagli sui codici di comando di Invio ed Evento, fare riferimento alla guida utente UART per SmartDisplay.

 

■ Spiegazione ed esempi del protocollo di Comando di Invio/Risposta

Di seguito vengono descritti in sequenza il formato dei dati e gli esempi per ciascun payload dei comandi.

● Set Object Value: 0x3

Comando di Invio

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

Comando di Risposta

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

Esempio: Impostazione del valore dell'oggetto.

 

● Imposta Dati Buffer Oggetto: 0x5

Comando di Invio

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

Comando di Risposta

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

Esempio: Imposta testo oggetto: "test"

Esempio: Imposta data e ora del widget Orologio: 2024/09/01 04:05:06

 

● Imposta Luminosità: 0x6

Comando di Invio

Command Code 1 Byte 0x6
Brightness 1 Byte Brightness value

Comando di Risposta

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

Esempio:: Imposta luminosità a 90.

 

● Imposta Buzzer: 0x7

Comando di Invio

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)

Comando di Risposta

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

Esempio: Emettere suono del buzzer con Ciclo:1, High: 200 ms, Low: 0 ms

 

● Imposta Page Index: 0x8

Comando di Invio

Command Code 1 Byte 0x8
Page Index 1 Byte Page Index value

Comando di Risposta

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

Esempip: Passa alla pagina con indice 1.
Per cambiare pagina, è necessario prima impostare lo stato del dispositivo in Modalità Configurazione. Successivamente, inviare il comando di cambio pagina. Dopo il cambio, impostare la modalità Display per completare l'operazione. La sequenza dei comandi correlati è la seguente:

 

● Imposta Stato Dispositivo: 0x20

Comando di Invio

Command Code 1 Byte 0x20
Device State 1 Byte 0: ConfigMode
1: DisplayMode
 

Comando di Risposta

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

Esempio: Fare riferimento all'esempio di cambio pagina.

 

■ Spiegazione ed esempi del protocollo di Comando Evento

● Evento di Cambio Pagina: 0x1

Comando Evento

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

Esempio: SmartDisplay passa alla pagina 1.

 

● Evento di Modifica Testo Oggetto: 0x2

Comando Evento

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

Esempio: Il widget tastiera invia il testo "1234"

 

● Evento di Modifica Valore Oggetto: 0x3

Comando Evento

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

Esempio: Evento di modifica valore dell'oggetto.

I clienti possono progettare l'interfaccia utente trascinando i widget con il GUI Builder, ottenendo un effetto WYSIWYG (What You See Is What You Get) che rende il design dell'interfaccia intuitivo ed efficiente. Grazie al simulatore, possono visualizzare i risultati del design istantaneamente, permettendo una comprensione precoce dell’effetto finale e risparmiando tempo e risorse. Con il protocollo UART personalizzato di Winstar, i clienti possono controllare facilmente il dispositivo, integrando senza soluzione di continuità design e controllo e migliorando la precisione e la facilità d'uso operativa.

L'applicazione del protocollo UART di SmartDisplay offre numerose possibilità operative e comodità per i clienti, ampliando le possibilità di sviluppo e applicazione del prodotto. Questa soluzione completa non solo aumenta l'efficienza lavorativa, ma rafforza anche la creatività e la competitività del prodotto. Interessati? Scaricate subito il GUI Builder di SmartDisplay e provate il simulatore per verificare se il prodotto risponde alle vostre esigenze!