我們重視您的隱私
通過點擊「允許所有 Cookie」,代表您同意在您的設備上存儲 Cookie 以增強網站瀏覽體驗、分析網站使用情況並協助我們的行銷和網站效能優化工作。您可以在我們的隱私權政策中找到有關於此的更多資訊。
Smart Display UART通訊協定 (UART Protocol) 是由華凌光電開發的一種專屬通信協定,旨在幫助客戶輕鬆透過UART介面輕鬆控制其人機介面(HMI)畫面。這個創新的協定結合了華凌光電用戶友好的 GUI Builder,為客戶提供了一個直觀而強大的工具,幫助客戶快速建立符合需求的圖控物件。透過 GUI Builder 客戶可以輕鬆設計各種 HMI 人機介面,從簡單的按鈕 (Button) 、文字 (Text) 到複雜的儀表 (Gauge) 和鍵盤 (Keypad),滿足各種應用場景的需求。這不僅節省了客戶的時間和成本,還使人機介面設計更加靈活和個性化,再透過華凌光電自定義 UART 協定指令,可以輕鬆與 Smart Display UART互動和控制。我們致力於提供最佳的客戶體驗,並持續改進我們的 GUI Builder,以確保它能滿足客戶不斷演變的需求。無論您是專業設計師還是初學者,我們相信 Smart Display UART協定將成為您打造出色 HMI 人機介面的理想選擇。讓我們一同探索這個令人振奮的創新技術,為您的產品注入更多活力和靈感。
Smart Display GUI Builder 為您提供了一個直觀且友好的操作環境,讓您輕鬆創建屬於自己的 HMI 項目,您只需要透過 GUI Builder 拖曳各種小工具 (Widget) 到頁面上,在零代碼的情況下您就可以輕鬆的在Smart Display 裝置上顯示圖控物件並與之互動。操作簡單、功能靈活,能滿足您的各種需求,讓您的工作更加高效率。
以下將介紹如何使用 Smart Display GUI Builder 建立UART專案項目,以及如何透過 UART 控制物件的關係。
依據需求, 輸入project 名稱, 選擇 SmartDisplay 機種, 於 protocol 選擇 SmartDisplay protocol (UART), 即可建立UART project。

新增 Widget 後,每個物件都有唯一的索引 ID(Index ID),每個物件都有其頁面索引(Page Index)和物件ID (Object ID)設定,透過了解這兩個設定,主機端(Host)即可透過指令(Command)來控制此物件。

點選 icon: “Simulator With GUI” 啟動模擬器

啟動模擬器後,您可以拖曳下方標記為 GAUGE_0 的滑桿,來模擬主機發送 GAUGE_0 的數據, 請觀察模擬器中儀表的變化,也可以從右側的訊息記錄(Message Log)查看UART 指令日誌。 您還可以操作模擬器的水平滑桿(Horizontal Slider), 模擬從設備端(Device)送出數據。

經由模擬器驗證功能後,如果沒問題後,就可以連接設備(Device)將專案(Project)設定上傳到 Smart Display 設備。

等待上傳並更新完畢。

再將Project上傳到設備後,您可以進一步驗證 Smart Display 設備端功能。使用 GUI Builder 連接到設備(Device)端後, 點選 "Test Device", 即可測試主機與設備之間的互動。

藉由此測試畫面,您可模擬主機端修改物件的值。拖曳下方標示為GAUGE_0的滑桿,模擬主機端送出 Object 0 的值。觀察設備上儀表的變化,您也可以從下方的訊息紀錄看到, 發送指令(Send command)和回應指令(Response command)的變化。此外,也可以操作設備上的水平滑桿(Horizontal Slider)確認從設備端發送的事件指令(Event command)。

透過上述的測試設備視窗(Test Device Window),您可模擬主機端送出UART指令控制Smart Display。從Smart Display觀察結果畫面,並透過觸控面板操作 Smart Display 來確認主機端接收到事件指令(Event command)資訊。

當SmartDisplay的預設小工具(Widget)無法滿足設計需求時,客戶可自行設計自定義小工具(Widget)的圖示。透過更新相對應的圖片後,即可達到自定義的小工具畫面。一般的按鈕(Button)或切換按鈕(Toggle Button),一般更換 On/Off 圖片即可達到自定義的功能。然而,對於有些較複雜的小工具(Widget),除了更換圖片,可能還需要進一步的參數設定,以確保Widget能正常顯示效果。
您可以依序更改圖片與儀表參數後即可達到自定義小工具(Widget)畫面。

SmartDisplay Text Widget 支援Unicode,可顯示多國語言文字,客戶可依下列步驟,設定想要顯示的多國語言文字。
1. 新增 Custom Font,依序選擇想要顯示的字型與大小,並選擇要顯示的Unicode 文字範圍(可參閱網站 https://unicode-table.com/en/blocks/ 確認要顯示文字的Unicode 範圍為何),如要顯示的文字範圍太大(如中文漢字),導致Flash 空間不足,可透過設定Custom Characters 部分,設定只要納入那些文字而已,降低字型的Flash 空間。

2. 設定Text Widget 顯示字型: 選擇要修改哪個 Text Widget 設定

3. 新增 Text Widget 並在模擬器中確認文字顯示是否正常

接下來將說明UART所使用的command protocol。透過這些指令,主機端可輕鬆控制Smart Display,包括換頁、調整背光亮度,或者使Buzzer發出聲音。
Default baud rate: 115200 (可透過 GUI Builder 修改)
Parity Bit: None
Data Bit: 8
Stop Bit: 1
| 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) |
UART protocol 主要有三大類Command: Send command, Response command 和 Event Command 依序格式如下:
Send command 主要用於主機端向 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 |
Response command 主要用於 SmartDisplay 端回覆主機端 Send command 的結果。
| 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 |
當 SmartDisplay 端需要主動報告數據時,會使用此命令,例如在按鈕被觸發時。
| 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 |
*有關詳細的 Send Command 代碼和 Event Command 代碼,請參考 Smart Display UART 使用者指南文件。
以下將依序概述每個命令(Command)有效載荷(Payload)的數據格式和範例。
發送命令(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 |
範例: 設定 Object value

發送命令(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 |
範例: 設定 Object Text: test

範例: 設定 Clock Widget 日期時間: 2024/09/01 04:05:06

發送命令(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 |
範例: 設定亮度為 90

發送命令(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 |
範例: 發出聲音: Cycle:1, High: 200 ms, Low: 0 ms

發送命令(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 |
範例: 切換Page Index 為 1
切換Page 時, 需要先設定Device State 為ConfigMode, 之後在下換頁命令, 結束換頁命令後, 就再設定Device State Mode 為Display Mode, 即可完成換頁的命令, 相關命令順序如下:

發送命令(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 |
範例: 可參考切換Page 範例
事件指令(Event Command)
| Event Code | 1 Byte | 0x01 |
| Parameter data | 2 Byte | Uint16 PageIndex |
範例: SmartDisplay 切換 Page 1.

事件指令(Event Command)
| Event Code | 1 Byte | 0x02 |
| Parameter data | N +2 Byte | Uint16 ObjectId N byte Unicode Text |
範例: Keypad widget 送出文字 1234

事件指令(Event Command)
| Event Code | 1 Byte | 0x03 |
| Parameter data | 6 Byte | Uint16 ObjectId int32 value |
範例: Object value change event.

使用者可透過 GUI Builder 拖放 Widget 進行使用者介面設計,提供 WYSIWYG(所見即所得)的設計方式,讓 UI 開發更直覺且有效率。內建模擬器亦可在實際使用顯示器之前預覽介面並評估 UI 設計。
完成 UI 設計後,主機控制器可透過 UART 與 Smart Display 通訊,並使用 WINSTAR 專有通訊協定進行裝置控制與資料交換。此開發流程串聯 UI 設計、模擬與裝置通訊,有助於簡化 HMI 開發與系統整合。
在購買 UART Smart Display 之前,您可先試用 GUI Builder 與內建模擬器,評估介面設計與功能是否符合應用需求。
申請下載 GUI Builder — 填寫線上申請表後,即可取得下載連結。
通過點擊「允許所有 Cookie」,代表您同意在您的設備上存儲 Cookie 以增強網站瀏覽體驗、分析網站使用情況並協助我們的行銷和網站效能優化工作。您可以在我們的隱私權政策中找到有關於此的更多資訊。