我们重视您的隐私
通过点击「允许所有 Cookie」,代表您同意在您的设备上存储 Cookie 以增强网站浏览体验、分析网站使用情况并协助我们的营销和网站效能优化工作。您可以在我们的隐私权政策中找到有关于此的更多信息。
Smart Display UART 协议是由 WINSTAR 开发的专有通信协议,用于主机控制器通过 UART 接口与 WINSTAR Smart Display 进行通信和控制。结合 WINSTAR GUI Builder,可构建从用户界面设计到设备通信与控制的一体化 HMI 开发流程。
通过 GUI Builder,开发人员可使用多种 Widget 创建 HMI 界面,包括基础的 Button、Text,以及 Gauge、Keypad 等,满足不同应用需求。可视化的开发方式不仅简化了 UI 设计,也为针对特定应用需求的界面开发提供了更高的灵活性。
完成用户界面设计后,主机控制器可通过 UART 与 Smart Display 进行通信,并利用 WINSTAR 专有通信协议及相关指令实现设备控制。UI 设计与 UART 通信的结合,有助于简化 HMI 开发与系统集成。
WINSTAR 持续优化 GUI Builder,为 Smart Display 应用提供更高效、更灵活的开发体验。
Smart Display GUI Builder 提供直观、易用的操作界面,帮助开发人员快速创建 HMI 项目。只需通过 GUI Builder 将各种 Widget 拖放至页面,即可在 Smart Display 上显示相应对象并进行交互。操作简单且功能灵活,可满足不同应用需求,提高开发效率。
以下将介绍如何使用 Smart Display GUI Builder 创建 UART 项目,以及如何通过 UART 控制对象。
创建 UART 项目时,请输入项目名称,根据需求选择 Smart Display 设备类型,并在 Protocol 选项中选择 "SmartDisplay protocol (UART)"。

添加 Widget 后,每个对象都有唯一的 Index ID,同时具有对应的 Page Index 和 Object ID 设置。通过这两项设置,Host 可使用 UART 指令控制相应对象。

点击 "Simulator With GUI" 图标启动仿真器。

启动仿真器后,可拖动底部标记为 GAUGE_0 的滑块,模拟 Host 向 GAUGE_0 发送数据。观察仿真器中 Gauge 的变化,并可在右侧的 Message Log 中查看 UART 指令记录。此外,还可操作仿真器中的 Horizontal Slider,模拟从 Device 端发送数据。

通过仿真器验证功能正常后,即可连接设备,并将项目设置上传至 Smart Display。

等待上传及更新完成。

将项目上传至设备后,可进一步在 Smart Display 上验证功能。使用 GUI Builder 连接设备,点击 "Test Device",即可测试 Host 与 Device 之间的交互。

通过该测试界面,可模拟 Host 修改对象数值。拖动底部标记为 GAUGE_0 的滑块,模拟 Host 发送 Object 0 的数值,并观察设备上 Gauge 的变化。同时,可在底部的 Message Log 中查看 Send command 和 Response command。此外,还可操作设备上的 Horizontal Slider,确认由 Device 端发送的 Event command。

通过上述 Test Device 窗口,可模拟 Host 发送 UART 指令控制 Smart Display。观察 Smart Display 上的执行结果,并通过 Touch Panel 操作 Smart Display,以确认 Host 是否接收到相应的 Event command。

当 Smart Display GUI Builder 中的默认 Widget 无法满足设计需求时,可通过替换相应图片来自定义 Widget 图标,实现符合应用需求的界面效果。对于简单的按钮或切换按钮,只需更换 On/Off 图片即可完成自定义;对于较复杂的 Widget,除替换图片外,还可能需要调整相关参数,以确保 Widget 正确显示。
通过更换图片并调整相应的 Gauge 参数,即可创建自定义 Gauge。

Smart Display 的 Text Widget 支持 Unicode,可用于显示多种语言的文本。请按照以下步骤设置不同语言所需的文本。
1. 添加 Custom Font,选择所需的字体和字号,并设置需要显示的 Unicode 字符范围(可参考 Unicode Character Blocks 确认对应的 Unicode 范围)。如果所需字符范围较大,例如中文字符,导致 Flash 空间不足,可在 Custom Characters 中仅添加实际需要使用的字符,以减少字体所需的存储空间。

2. 设置 Text Widget 的字体:选择需要修改字体设置的 Text Widget。

3. 添加 Text Widget,并通过仿真器确认文本是否正确显示。

接下来将介绍 UART 指令协议。Host 可通过这些指令控制 Smart Display,包括切换页面、调节背光亮度以及启动蜂鸣器等功能。
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 以增强网站浏览体验、分析网站使用情况并协助我们的营销和网站效能优化工作。您可以在我们的隐私权政策中找到有关于此的更多信息。