首頁 解決方案 Smart Display UART 協定介紹

Smart Display UART 協定介紹

October 18,2024

介紹

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 – UART Project 設定說明

Smart Display GUI Builder 為您提供了一個直觀且友好的操作環境,讓您輕鬆創建屬於自己的 HMI 項目,您只需要透過 GUI Builder 拖曳各種小工具 (Widget) 到頁面上,在零代碼的情況下您就可以輕鬆的在Smart Display 裝置上顯示圖控物件並與之互動。操作簡單、功能靈活,能滿足您的各種需求,讓您的工作更加高效率。

以下將介紹如何使用 Smart Display GUI Builder 建立UART專案項目,以及如何透過 UART 控制物件的關係。

■ 建立 UART 協定專案項目 (UART Protocol Project)

依據需求, 輸入project 名稱, 選擇 SmartDisplay 機種, 於 protocol 選擇 SmartDisplay protocol (UART), 即可建立UART project。

■ 於主畫面新增一個儀表(Gauge)和水平滑桿小工具(Horizontal Slider Widget)

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

■ 模擬 UART 與 Widget 之間的互動

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

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

■ 更新Smart Display 裝置設定

經由模擬器驗證功能後,如果沒問題後,就可以連接設備(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 GUI Builder – 自訂小工具

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

■ 自定義儀表(Gauge)說明與範例

您可以依序更改圖片與儀表參數後即可達到自定義小工具(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 並在模擬器中確認文字顯示是否正常

Custom UART Command 說明

接下來將說明UART所使用的command protocol。透過這些指令,主機端可輕鬆控制Smart Display,包括換頁、調整背光亮度,或者使Buzzer發出聲音。

下列為預設的 UART 設定:

Default baud rate: 115200 (可透過 GUI Builder 修改)
Parity Bit: None
Data Bit: 8
Stop Bit: 1

UART 主要的Data format 格式如下:

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 依序格式如下:

(1) Send 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
 

(2) Response Command 格式

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


(3) Event Command

當 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 使用者指南文件。

■ Send / Response Command 協定說明與範例

以下將依序概述每個命令(Command)有效載荷(Payload)的數據格式和範例。

● 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

範例: 設定 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

範例: 設定 Object Text: test

範例: 設定 Clock Widget 日期時間: 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

範例: 設定亮度為 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

範例: 發出聲音: 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

範例: 切換Page Index 為 1
切換Page 時, 需要先設定Device State 為ConfigMode, 之後在下換頁命令, 結束換頁命令後, 就再設定Device State Mode 為Display Mode, 即可完成換頁的命令, 相關命令順序如下:

● 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

範例: 可參考切換Page 範例

■ Event Command protocol說明與範例

● Page change event: 0x1

事件指令(Event Command)

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

範例: SmartDisplay 切換 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
 

範例: Keypad widget 送出文字 1234

● Object Value change event: 0x3

事件指令(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 — 填寫線上申請表後,即可取得下載連結。

對顯示器解決方案有疑問?您想做的,由我們實現。 聯絡我們!

訂閱

接收最新顯示器技術知識與新品消息

聯絡我們

價格/規格書/一般查詢

技術支援

聯繫我們詢問技術內容

go top
聯絡我們
close

我們重視您的隱私

通過點擊「允許所有 Cookie」,代表您同意在您的設備上存儲 Cookie 以增強網站瀏覽體驗、分析網站使用情況並協助我們的行銷和網站效能優化工作。您可以在我們的隱私權政策中找到有關於此的更多資訊。

我們重視您的隱私

Winstar 及部分第三方在 www.winstar.com.tw 上使用 cookies。關於 cookie 的種類、用途及相關第三方的詳細資訊,請參見下文及我們的《Cookie 政策》。請點擊「允許全部」來同意我們使用 cookies,以確保您在我們網站上獲得最佳體驗。您也可以設置您的偏好或拒絕 cookies(必要的 cookies 除外)。

管理同意聲明

永久啟用
必要的 Cookie

這些 Cookie 是必不可少的,以便讓您在瀏覽網站並使用其功能上有更好地體驗,例如設置您的隱私偏好、登錄或填寫表單。

分析 Cookie

這些也被稱為「統計cookie」,用於收集您使用網站的資訊,例如您訪問了哪些頁面以及點擊了哪些連結。查看詳細資訊