菜单

6.2 XGUS

下载

XGUS 用于主控板读写屏幕变量。本节以“海岸泵站”演示写入设定、读取水温和屏幕主动上传。

核心功能

  • 变量读写与连续多字传输。
  • 屏幕操作自动上传、写命令应答。
  • CRC 校验与画面切换。

1. 参数设置

在 工程 → 设置 → 工程设置 中配置通信参数。

波特率、数据位、校验位、停止位和接收回调统一见 6.1 DCBUS;本章串口联调使用 115200、8N1。

6.2 XGUS 参数编号,完整 IDE 窗口
序号 参数 本例 作用
1 协议类型 XGUS 选择当前工程使用的通信协议。
2 帧头 0xA55A 2 字节识别码,发送端须与本项一致。
3 启用CRC 否 校验报文内容;双方同时开启或关闭,计算方法见报文说明。
4 自动上传 是 屏幕操作改变变量后,主动上传对应地址和数据。
5 写命令应答 否 收到有效写命令后返回确认;关闭时写入仍可执行。
6 XGUS模式 XGUS-I XGUS-I / XGUS-II 使用不同的专用翻页指令。

2. 应用

下载本节工程 · 6.8 示例下载

控件 地址 用途
水温 LW1014 16 位水温值
液位 LW1015 0~100%
转速设定 / 低速 / 高速 LW1016 输入数值或写 40 / 70
水泵指示 / 启动 / 停止 LW1020 0=停止,1=运行
  1. 打开 SeasideXGUS.apustai,编译并运行。
  2. 模拟器串口副屏选择 工程通信,打开 COM2。
  3. 联调助手选择 XGUS,打开 COM3,CRC 保持关闭。
  4. 点击“写入设定”,屏上转速变为 70;点击“读取”,返回水温 25。
  5. 在屏上切换低速、高速,观察助手收到的上传报文;用助手按钮测试水泵启停。
XGUS 真实串口操作:写设定、读水温、自动上传及启停

地址中的数字及下列报文字节均为十六进制;画面显示的 25、40、70 为十进制数值。

3. 报文说明

以下以水温值 9 演示;工程初始值为 25。先写入 9,再核对对应读应答。

3.1 帧格式和长度

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。

3.2 单字写入与读取

在串口工具中选择十六进制发送。主板给水温控件写入 9:

text 复制代码
主板 → 屏幕:A5 5A 05 82 10 14 00 09
屏幕 → 主板:A5 5A 03 82 4F 4B

第二行仅在工程设置开启“写命令应答”时返回,4F 4B 是字符 OK。屏幕处理写入后,绑定 LW1014 的水温控件显示数值 9。

主板读取 LW1014,假设当前值为 9:

text 复制代码
主板 → 屏幕: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:

text 复制代码
主板 → 屏幕:A5 5A 05 82 10 16 00 09

3.3 连续多字收发

下面一次写入 3 个连续地址:LW1014=9、LW1015=0、LW1016=9。LW1015 是两个控件地址之间的字,也包含在本次写入中。

text 复制代码
主板 → 屏幕:A5 5A 09 82 10 14 00 09 00 00 00 09
屏幕 → 主板:A5 5A 03 82 4F 4B

再从 LW1014 起读取 3 个字:

text 复制代码
主板 → 屏幕:A5 5A 04 83 10 14 03
屏幕 → 主板:A5 5A 0A 83 10 14 03 00 09 00 00 00 09

写指令没有独立的字数字段,字数由长度计算;读请求的 03 才是读取字数。CRC 关闭时,以上报文到最后一个数据字节结束。

3.4 屏幕操作后的自动上传

在工程设置中开启“自动上传”。用户在屏幕上将转速设定 LW1016 改为 9,屏幕可主动发送:

text 复制代码
屏幕 → 主板:A5 5A 06 83 10 16 01 00 09

自动上传使用 83,结构与读应答相同;主板按地址、字数和数据解析。“自动上传”控制屏幕操作后的主动发送,“写命令应答”控制主板写入后的确认,两项分别设置。

3.5 开启 CRC 时的收发

工程与主板同时启用 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。

3.6 两种翻页模式

在工程设置中选择对应的 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。

4. 常见问题

现象 检查项
没有应答 串口连接、帧头、长度和 CRC 是否匹配
写入成功但没返回 “写命令应答”是否开启;读取一次核对结果
屏幕操作没有上传 “自动上传”是否开启,控件地址是否对应
翻页无变化 目标画面是否存在,XGUS 模式是否对应

6.8 示例下载 · 6.1 DCBUS

上一个
6.1 DCBUS
下一个
6.3 Modbus 主站
最近修改: 2026-11-06Powered by