首页 技术服务 智能显示屏 Smart Display UART 协定介绍

Smart Display UART 协定介绍

SmartDisplay 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 CAN 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的方式设计 UI,达成 WYSIWYG(所见即所得)的效果,让 UI 设计变得直观且高效。同时,客户可利用仿真器预览设计结果,实时查看 UI 的呈现,提前了解最终效果,从而节省时间和精力。最终,通过 WINSTAR自定义的 UART 协议,客户可以轻松控制设备。这种端对端的设计流程使客户能够在设计和控制上实现无缝整合,提高操作的便捷性和准确性。Smart Display UART 协议的应用为客户带来了更多的操作可能性和便利性,扩展了产品开发和应用的范围。这种综合解决方案不仅提升了客户的工作效率,还增强了产品的创造力和竞争力。心动了吗?快与华凌光电联系索取 Smart Display GUI Builder!在购买 Smart Display 之前,您可以先试用仿真器,确认其是否满足您的需求!

回分类页
go top
close

我们重视您的隐私

通过点击「允许所有 Cookie」,代表您同意在您的设备上存储 Cookie 以增强网站浏览体验、分析网站使用情况并协助我们的营销和网站效能优化工作。您可以在我们的隐私权政策中找到有关于此的更多信息。

我们重视您的隐私

Winstar 及部分第三方在 www.winstar.com.tw 上使用 cookies。关于 cookie 的种类、用途及相关第三方的详细信息,请参见下文及我们的《Cookie 政策》。请点击“允许全部”来同意我们使用 cookies,以确保您在我们网站上获得最佳体验。您也可以设置您的偏好或拒绝 cookies(必要的 cookies 除外)。

管理同意声明

永久启用
必要的 Cookie

这些 Cookie 是必不可少的,以便让您在浏览网站并使用其功能上有更好地体验,例如设置您的隐私偏好、登录或填写窗体。

分析 Cookie

这些也被称为「统计cookie」,用于收集您使用网站的信息,例如您访问了哪些页面以及点击了哪些连结。查看详细信息