SecsSerialMaster
插件用途
SECS-I 半双工事务、多块重组和设备主动消息驱动
选择入口
进入“开发配置 → 采集配置”,创建设备并在“采集插件”中选择“SecsSerialMaster”。
支持的通道和数据类型
| 通道类型 | 配置前检查 |
|---|---|
| 串口 | 确认串口未被其它程序占用,并与设备保持一致的波特率、数据位、停止位和校验位。 |
| TCP 客户端 | 确认设备 IP、端口和网关到设备的网络可达性。 |
可选数据类型: Boolean、Byte、Int16、UInt16、Int32、UInt32、Int64、UInt64、Float、Double、String
插件参数
协议参数
| 参数 | 说明 |
|---|---|
| 设备标识 | 默认:0;范围:0~32767;填写:文本输入。设置协议通信使用的设备标识。 |
| 字节间隔 T1 | 默认:10000;范围:1~2147483647;填写:数字输入。设置协议通信使用的字节间隔 T1。 |
| 线路响应 T2 | 默认:5000;范围:1~2147483647;填写:数字输入。设置协议通信使用的线路响应 T2。 |
| 多块间隔 T4 | 默认:10000;范围:1~2147483647;填写:数字输入。设置协议通信使用的多块间隔 T4。 |
| 碰撞优先方 | 默认:0;填写:下拉选择。设置协议通信使用的碰撞优先方。 |
运行参数
| 参数 | 说明 |
|---|---|
| NAK 重试次数 | 默认:3;范围:0~10;填写:数字输入。设置插件运行时使用的NAK 重试次数。 |
地址规则
- 地址 说明
- s=1;f=3;w; 发送主消息并等待 S1F4
- s=6;f=11; 订阅设备主动 S6F11
- s=1;f=13;w;<List Length="0" /> 携带 SECS-II XML 数据
特殊方法
| 方法 | 用途 | 参数 |
|---|---|---|
| ExchangeMessageAsync | 交换 SECS-I 消息 | address=s=1;f=3;w; |
设备调试
进入“开发配置 → 采集配置”,选择当前设备后点击“更多功能”并打开“调试”。
专用调试页
协议调试页接收一条完整 SECS-I 地址/消息描述,并执行一次消息交换。
| 功能 | 作用 |
|---|---|
| SECS 消息 | 填写 s=、f=、可选 w 和可选 SECS-II XML 数据。 |
| 交换消息 | 发送主消息;带 w 时等待对应次消息,所有发送都需要确认。 |
| 调试结果 | 显示返回消息、事务结果或线路错误。 |

调试要点
先用测试 SECS-I 文本或十六进制内容验证交换;消息发送需要写入权限并二次确认。
验证重点
- 与设备方确认一条无副作用的标准查询消息,例如设备明确支持的
s=1;f=3;w;。 - 执行交换并确认收到预期次消息,例如 S1F4;核对设备标识和返回数据结构。
- 使用包含 SECS-II XML 的消息时,先在测试设备验证 XML 类型和层级。
- 配置主动消息变量时,按实际 S/F 填写地址,并触发一次测试事件确认变量更新。
- 未确认语义的 S/F 消息不得发送到生产设备。
排障差异
- 消息交换超时:检查设备标识、S/F、
w标志以及 T1、T2、T3、T4 定时参数。 - 频繁收到 NAK:检查串口参数、校验、块边界和 NAK 重试次数,并确认线路没有字符丢失。
- 多块消息无法重组:检查 T4 多块间隔和链路稳定性,查看是否有块序号或校验错误。
- 双方同时发送时失败:核对“碰撞优先方”配置与设备约定。
- SECS-II 解析失败:检查 XML 类型、长度和嵌套层级,先缩减为最小合法消息验证。
- 串口设备无响应:确认串口未被占用,并核对波特率、数据位、停止位和校验位。