XGUS 用于主控板读写屏幕变量。本节以“海岸泵站”演示写入设定、读取水温和屏幕主动上传。
核心功能
在 工程 → 设置 → 工程设置 中配置通信参数。
波特率、数据位、校验位、停止位和接收回调统一见 6.1 DCBUS;本章串口联调使用 115200、8N1。

| 序号 | 参数 | 本例 | 作用 |
|---|---|---|---|
| 1 | 协议类型 | XGUS | 选择当前工程使用的通信协议。 |
| 2 | 帧头 | 0xA55A | 2 字节识别码,发送端须与本项一致。 |
| 3 | 启用CRC | 否 | 校验报文内容;双方同时开启或关闭,计算方法见报文说明。 |
| 4 | 自动上传 | 是 | 屏幕操作改变变量后,主动上传对应地址和数据。 |
| 5 | 写命令应答 | 否 | 收到有效写命令后返回确认;关闭时写入仍可执行。 |
| 6 | XGUS模式 | XGUS-I | XGUS-I / XGUS-II 使用不同的专用翻页指令。 |
| 控件 | 地址 | 用途 |
|---|---|---|
| 水温 | LW1014 |
16 位水温值 |
| 液位 | LW1015 |
0~100% |
| 转速设定 / 低速 / 高速 | LW1016 |
输入数值或写 40 / 70 |
| 水泵指示 / 启动 / 停止 | LW1020 |
0=停止,1=运行 |

地址中的数字及下列报文字节均为十六进制;画面显示的 25、40、70 为十进制数值。
以下以水温值 9 演示;工程初始值为 25。先写入 9,再核对对应读应答。
XGUS 变量读写报文没有站号字段。
| 字段 | 字节数 | 说明 |
|---|---|---|
| 帧头 | 2 | 本例 A5 5A,可在工程设置中修改 |
| 长度 | 1 | 从功能码到帧尾的字节数;开启 CRC 时包含 CRC 2 字节 |
| 功能码 | 1 | 82 写变量;83 读变量、读应答或自动上传 |
| 起始地址 | 2 | 高字节在前,例如 10 14 表示 0x1014 |
| 数量或数据 | 不定 | 读请求含 1 字节字数;写请求直接放数据;读应答含字数和数据 |
| CRC | 0 或 2 | 关闭时不带此字段;开启时发送 CRC 低字节、高字节 |
每个字占 2 字节,高字节在前。批量数据按起始地址连续存放,地址每增加 1 表示下一个字。
| 报文类型 | CRC 关闭时的长度 | CRC 开启时的长度 |
|---|---|---|
| 写 N 个字 | 3 + 2×N |
5 + 2×N |
| 写成功应答 | 03 |
05 |
| 读 N 个字的请求 | 04 |
06 |
| 读应答或上传 N 个字 | 4 + 2×N |
6 + 2×N |
总帧长均为“长度字段 + 3”字节。CRC 关闭时单次读取 1~125 个字、写入最多 126 个字;开启时单次读取 1~124 个字、写入最多 125 个字。最后一个地址不能超过 0xFFFF。
在串口工具中选择十六进制发送。主板给水温控件写入 9:
主板 → 屏幕:A5 5A 05 82 10 14 00 09
屏幕 → 主板:A5 5A 03 82 4F 4B
第二行仅在工程设置开启“写命令应答”时返回,4F 4B 是字符 OK。屏幕处理写入后,绑定 LW1014 的水温控件显示数值 9。
主板读取 LW1014,假设当前值为 9:
主板 → 屏幕:A5 5A 04 83 10 14 01
屏幕 → 主板:A5 5A 06 83 10 14 01 00 09
请求中的 01 表示读 1 个字,应答中的 01 后面跟随该字的数据 00 09。读取会返回读应答,不要求开启“自动上传”或“写命令应答”。
给转速设定 LW1016 写入 9,只需将地址改为 10 16:
主板 → 屏幕:A5 5A 05 82 10 16 00 09
下面一次写入 3 个连续地址:LW1014=9、LW1015=0、LW1016=9。LW1015 是两个控件地址之间的字,也包含在本次写入中。
主板 → 屏幕:A5 5A 09 82 10 14 00 09 00 00 00 09
屏幕 → 主板:A5 5A 03 82 4F 4B
再从 LW1014 起读取 3 个字:
主板 → 屏幕:A5 5A 04 83 10 14 03
屏幕 → 主板:A5 5A 0A 83 10 14 03 00 09 00 00 00 09
写指令没有独立的字数字段,字数由长度计算;读请求的 03 才是读取字数。CRC 关闭时,以上报文到最后一个数据字节结束。
在工程设置中开启“自动上传”。用户在屏幕上将转速设定 LW1016 改为 9,屏幕可主动发送:
屏幕 → 主板:A5 5A 06 83 10 16 01 00 09
自动上传使用 83,结构与读应答相同;主板按地址、字数和数据解析。“自动上传”控制屏幕操作后的主动发送,“写命令应答”控制主板写入后的确认,两项分别设置。
工程与主板同时启用 CRC。使用 CRC16:初值 0xFFFF,右移多项式 0xA001;从功能码开始,计算到最后一个数量或数据字节,不包含帧头、长度字段与 CRC 自身。结果低字节先发、高字节后发。
开启 CRC 后,在原报文末尾增加 2 字节,并将长度字段加 2。例如水温值 9 的报文为:
| 操作 | CRC 开启后的完整报文 |
|---|---|
主板写 LW1014=9 |
A5 5A 07 82 10 14 00 09 D8 DC |
| 屏幕写成功应答 | A5 5A 05 82 4F 4B A5 EF |
主板读 LW1014 1 个字 |
A5 5A 06 83 10 14 01 E6 A5 |
| 屏幕返回数值 9 | A5 5A 08 83 10 14 01 00 09 4A 1D |
第一行的 CRC 计算输入为 82 10 14 00 09,结果是 0xDCD8,线上发送 D8 DC。更改功能码、地址、字数或数据后,须重新计算 CRC。
在工程设置中选择对应的 XGUS 模式,按该模式发送翻页指令。下面均切换到画面 2,目标画面须存在于工程中。
| 模式 | CRC 关闭时 | CRC 开启时 |
|---|---|---|
模式 1:80 直接切页 |
A5 5A 04 80 03 00 02 |
A5 5A 06 80 03 00 02 58 25 |
模式 2:82 写 0084 切页 |
A5 5A 07 82 00 84 5A 01 00 02 |
A5 5A 09 82 00 84 5A 01 00 02 8B CF |
模式 1 中,03 表示切页操作,00 02 为画面 ID。模式 2 中,00 84 为翻页入口,5A 01 为切页标记,00 02 为画面 ID;开启“写命令应答”时,该 82 指令处理成功后返回写成功应答。
也可以使用普通变量写指令向画面寄存器 LW0100 写入画面 ID。CRC 关闭时,切到画面 2 的报文为 A5 5A 05 82 01 00 00 02;切换完成后,LW0100 可读回实际主画面 ID。
| 现象 | 检查项 |
|---|---|
| 没有应答 | 串口连接、帧头、长度和 CRC 是否匹配 |
| 写入成功但没返回 | “写命令应答”是否开启;读取一次核对结果 |
| 屏幕操作没有上传 | “自动上传”是否开启,控件地址是否对应 |
| 翻页无变化 | 目标画面是否存在,XGUS 模式是否对应 |