Das Smart Display UART-Protokoll ist ein von WINSTAR entwickeltes proprietäres Kommunikationsprotokoll für die Kommunikation und Steuerung zwischen einem Host-Controller und WINSTAR Smart Displays über die UART-Schnittstelle. In Verbindung mit dem WINSTAR GUI Builder ermöglicht es einen effizienten HMI-Entwicklungsprozess – vom Design der Benutzeroberfläche bis hin zur Gerätekommunikation und -steuerung.
Mit dem GUI Builder können Entwickler HMI-Benutzeroberflächen mit verschiedenen Widgets erstellen – von grundlegenden Elementen wie Button und Text bis hin zu Gauge und Keypad – und diese an unterschiedliche Anwendungsanforderungen anpassen. Der visuelle Entwicklungsansatz vereinfacht das UI-Design und bietet gleichzeitig die notwendige Flexibilität für anwendungsspezifische Benutzeroberflächen.
Nach der Erstellung der Benutzeroberfläche kann der Host-Controller über UART mit dem Smart Display kommunizieren und es mithilfe des proprietären Kommunikationsprotokolls und der entsprechenden WINSTAR-Befehle steuern. Die Verbindung von UI-Design und UART-Kommunikation vereinfacht die HMI-Entwicklung und Systemintegration.
WINSTAR entwickelt den GUI Builder kontinuierlich weiter, um eine effiziente und flexible Entwicklungsumgebung für Smart Display-Anwendungen bereitzustellen.
Smart Display GUI Builder – Einrichtung eines UART-Projekts
Der Smart Display GUI Builder bietet eine intuitive und benutzerfreundliche Oberfläche zur effizienten Erstellung von HMI-Projekten. Verschiedene Widgets lassen sich einfach per Drag-and-drop auf der Seite platzieren und anschließend auf dem Smart Display anzeigen und bedienen. Die einfache Handhabung und die flexiblen Funktionen unterstützen unterschiedliche Anwendungsanforderungen und ermöglichen eine effiziente Entwicklung.
Im Folgenden wird beschrieben, wie Sie mit dem Smart Display GUI Builder ein UART-Projekt erstellen und Objekte über UART steuern.
■ UART-Protokollprojekt erstellen
Um ein UART-Projekt zu erstellen, geben Sie den Projektnamen ein, wählen Sie den passenden Smart Display-Gerätetyp und anschließend unter Protocol die Option "SmartDisplay protocol (UART)" aus.

■ Gauge und Horizontal Slider Widget zur Hauptseite hinzufügen
Nach dem Hinzufügen eines Widgets verfügt jedes Objekt über eine eindeutige Index ID sowie die entsprechenden Einstellungen für Page Index und Object ID. Anhand dieser beiden Einstellungen kann der Host das jeweilige Objekt über UART-Befehle steuern.

■ Interaktion zwischen UART und Widget simulieren
Klicken Sie auf das Symbol "Simulator With GUI", um den Simulator zu starten.

Nach dem Start des Simulators können Sie den mit GAUGE_0 gekennzeichneten Schieberegler im unteren Bereich bewegen, um die Datenübertragung vom Host an GAUGE_0 zu simulieren. Beobachten Sie dabei die Änderungen des Gauge im Simulator und prüfen Sie die UART-Befehle im Message Log auf der rechten Seite. Über den Horizontal Slider im Simulator lässt sich außerdem die Datenübertragung von der Device-Seite simulieren.

■ Smart Display-Geräteeinstellungen aktualisieren
Nachdem Sie die Funktionen mit dem Simulator überprüft haben und alles ordnungsgemäß funktioniert, können Sie das Gerät verbinden und die Projekteinstellungen auf das Smart Display übertragen.

Warten Sie, bis der Upload und die Aktualisierung abgeschlossen sind.

■ Interaktion zwischen Device und Widget überprüfen
Nach dem Übertragen des Projekts können Sie die Funktionen direkt auf dem Smart Display überprüfen. Verbinden Sie das Gerät über den GUI Builder, klicken Sie auf "Test Device" und testen Sie anschließend die Interaktion zwischen Host und Device.

■ Test Device-Fenster
Über diese Testoberfläche können Sie simulieren, wie der Host den Wert eines Objekts ändert. Bewegen Sie den mit GAUGE_0 gekennzeichneten Schieberegler im unteren Bereich, um das Senden des Werts von Object 0 durch den Host zu simulieren, und beobachten Sie die Änderungen des Gauge auf dem Gerät. Im Message Log im unteren Bereich können Sie außerdem Send command und Response command überprüfen. Betätigen Sie zusätzlich den Horizontal Slider auf dem Gerät, um den von der Device-Seite gesendeten Event command zu überprüfen.

Über das oben beschriebene Test Device-Fenster können Sie simulieren, wie der Host UART-Befehle zur Steuerung des Smart Display sendet. Beobachten Sie das Ergebnis auf dem Smart Display und bedienen Sie das Smart Display über das Touch Panel, um zu überprüfen, ob der Host den entsprechenden Event command empfängt.

Smart Display GUI Builder – Benutzerdefinierte Widgets
Wenn die im Smart Display GUI Builder verfügbaren Standard-Widgets die Designanforderungen nicht erfüllen, können die entsprechenden Bilder ersetzt und Widget-Symbole individuell angepasst werden. So lässt sich die Benutzeroberfläche gezielt an die jeweilige Anwendung anpassen. Bei einfachen Schaltflächen oder Toggle-Buttons genügt es, die On/Off-Bilder auszutauschen. Bei komplexeren Widgets können zusätzlich zur Bildanpassung weitere Parametereinstellungen erforderlich sein, damit das Widget korrekt dargestellt wird.
■ Beispiel für die Anpassung eines Gauge
Ein benutzerdefiniertes Gauge lässt sich erstellen, indem die entsprechenden Bilder ausgetauscht und die zugehörigen Gauge-Parameter angepasst werden.

■ Mehrsprachige Texte
Das Text Widget des Smart Display unterstützt Unicode und ermöglicht damit die Darstellung von Texten in verschiedenen Sprachen. Gehen Sie wie folgt vor, um Texte für die gewünschten Sprachen einzurichten.
1. Fügen Sie einen Custom Font hinzu, wählen Sie die gewünschte Schriftart und Schriftgröße und legen Sie anschließend den benötigten Unicode-Zeichenbereich fest. Den entsprechenden Unicode-Bereich können Sie unter Unicode Character Blocks überprüfen. Ist der benötigte Zeichenbereich sehr umfangreich, beispielsweise bei chinesischen Schriftzeichen, und reicht der verfügbare Flash-Speicher nicht aus, können Sie unter Custom Characters ausschließlich die tatsächlich benötigten Zeichen festlegen und so den Speicherbedarf der Schriftart reduzieren.

2. Legen Sie die Schriftart für das Text Widget fest: Wählen Sie das Text Widget aus, dessen Schrifteinstellungen Sie ändern möchten.

3. Fügen Sie ein Text Widget hinzu und überprüfen Sie im Simulator, ob der Text korrekt dargestellt wird.

Einführung in benutzerdefinierte UART-Befehle
Im Folgenden wird das für die UART-Kommunikation verwendete Befehlsprotokoll vorgestellt. Mit diesen Befehlen kann der Host verschiedene Funktionen des Smart Display steuern, darunter den Seitenwechsel, die Einstellung der Hintergrundbeleuchtung und die Aktivierung des Summers.
Poniżej znajdują się domyślne ustawienia UART:
Default baud rate: 115200 (można go zmienić za pomocą GUI Builder)
Parity Bit: None
Data Bit: 8
Stop Bit: 1
Główny format danych dla UART jest następujący:
| 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) |
Protokół UART ma trzy główne typy poleceń: polecenie wysyłające, polecenie odpowiedzi oraz polecenie zdarzenia, w następujących formatach:
1. Format polecenia wysyłającego
Polecenie wysyłające służy stronie Host do wysyłania poleceń do strony 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. Format polecenia odpowiedzi
Polecenie odpowiedzi jest używane przez stronę SmartDisplay do odpowiadania stronie Host z wynikami polecenia wysyłającego.
| 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. Polecenie zdarzenia
Kiedy strona SmartDisplay potrzebuje proaktywnie zgłosić dane, użyje tego polecenia, na przykład, gdy przycisk zostanie naciśnięty.
| 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 |
* Aby uzyskać szczegółowe kody poleceń wysyłających i poleceń zdarzenia, prosimy o zapoznanie się z dokumentem podręcznika użytkownika SmartDisplay UART.
■ Erklärung und Beispiele des Send-/Response-Befehlsprotokolls
Im Folgenden wird der Datenformat und Beispiele für jede Befehlslast der Reihe nach dargestellt.
● 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 |
Example: 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 |
Example: Set Object Text: test

Example: 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 |
Example: 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 |
Example: 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 |
Example: Switching Page Index to 1.
Um die Seiten zu wechseln, müssen Sie zunächst den Gerätestatus auf ConfigMode setzen. Dann senden Sie den Befehl zum Seitenwechsel. Nachdem der Befehl zum Seitenwechsel abgeschlossen ist, setzen Sie den Gerätestatus auf Display Mode, um den Seitenwechsel abzuschließen. Die Reihenfolge der verwandten Befehle ist wie folgt:

● 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 |
Example: Refer to the example of switching pages
■ Erklärung und Beispiele des Event-Command-Protokolls
● Page change event: 0x1
Event Command
| Event Code |
1 Byte |
0x01 |
| Parameter data |
2 Byte |
Uint16 PageIndex |
Example: 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 |
Example: 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 |
Example: Object value change event.

Mit dem GUI Builder lassen sich Benutzeroberflächen per Drag-and-Drop von Widgets erstellen. Der WYSIWYG-Ansatz (What You See Is What You Get) ermöglicht eine intuitive und effiziente UI-Entwicklung. Mit dem integrierten Simulator kann die Benutzeroberfläche zudem vor dem Einsatz des physischen Displays in der Vorschau angezeigt und das UI-Design überprüft werden.
Nach Fertigstellung der Benutzeroberfläche kann der Host-Controller über UART mit dem Smart Display kommunizieren. Dabei kommt das proprietäre Kommunikationsprotokoll von WINSTAR zum Einsatz, das die Gerätesteuerung und den Datenaustausch ermöglicht. Dieser Workflow verbindet UI-Design, Simulation und Gerätekommunikation und vereinfacht damit die HMI-Entwicklung und Systemintegration.
Vor dem Kauf eines UART Smart Displays können Sie den GUI Builder und den integrierten Simulator nutzen, um zu prüfen, ob UI-Design und Funktionen für die Anforderungen Ihrer Anwendung geeignet sind.
GUI Builder zum Download anfordern — füllen Sie einfach das Online-Formular aus, um den Download-Link zu erhalten.