Skip to content

串口脚本采集 ​

R12 提供 4 条用户脚本,编号 1~4,每条最多 40 字节。0 号槽用于系统/心跳类用途,不是第 5 条用户脚本。当前上位机脚本框可能显示“80 B”,但本机固件每条上限仍为 40 字节;不要按界面计数扩展到 80 字节。脚本是一段串口报文,不是 JavaScript 程序;仪表回复仍需按其自身协议解析。

联调前检查 扩展参数 → 调试配置中的 RS485 调试开关,正式采集时关闭无关打印并保存。调试文字可能混入总线,串口日志中的文本不能直接当作仪表协议回复。

操作视频 ​

适用型号:RTU R12(类型 13,HEX)。不适用于其他 RTU 型号。

本片从 R12 连接开始,指出脚本填写位置,使用脚本行下方 MODBUS 生成并回填,再设置端口、启用、周期和可选事件。未接仪表、未保存、未做串口测试或无线采集。

串口脚本:行内生成报文、端口与触发设置 · 下载视频

1. 找到脚本输入位置 ​

  1. 连接并读取 R12,点击 应用参数。
  2. 点击端子板的 RS232 / RS485区域,打开脚本表。
  3. 找到脚本 1 的横向报文输入框,按需要选择 HEX 或 ASCII。
  4. Modbus RTU 可在 HEX 模式点击该行下方 MODBUS,生成并填入;也可直接粘贴完整指令,两种方式任选其一。
  5. 选择实际接线的 RS485端口,打开脚本启用开关。
V6 原图:用户脚本表、报文输入框与行下方 MODBUS 入口。
V6 原图:用户脚本表、报文输入框与行下方 MODBUS 入口。 点击放大
V6 原图:用户脚本表、报文输入框与行下方 MODBUS 入口。
V6 原图:用户脚本表、报文输入框与行下方 MODBUS 入口。

行内生成器参数使用十六进制:从站地址和功能码各一字节,寄存器地址两字节,长度/数据按仪表指令填写。例如从站 1、功能码 03、地址 0、读取两个寄存器,分别填 01、03、0000、0002。生成预览包含 CRC,复制完整报文后核对不超过 40 字节。ASCII 按 UTF-8 字节计数,结束符也需包含。

V6 原图:原手册脚本填写与 MODBUS 生成位置。
V6 原图:原手册脚本填写与 MODBUS 生成位置。 点击放大
V6 原图:原手册脚本填写与 MODBUS 生成位置。
V6 原图:原手册脚本填写与 MODBUS 生成位置。

2. 设置周期触发 ​

点击本行 触发 / 周期区域,打开周期采集开关,周期范围 1~86400 秒。脚本总启用和周期触发是不同设置;仅填写报文或只打开某个事件源,并不等于已经开启周期采集。

例如 60 秒读取一次温湿度:脚本 1 填入该仪表资料确认的完整读请求,端口 RS485,脚本启用,周期采集启用,周期 60 秒。温湿度寄存器地址、字序和倍率必须按本机仪表手册,不照抄其他型号。

V6 原图:脚本触发设置示例,周期与事件按需开启。
V6 原图:脚本触发设置示例,周期与事件按需开启。 点击放大
V6 原图:脚本触发设置示例,周期与事件按需开启。
V6 原图:脚本触发设置示例,周期与事件按需开启。

3. 设置事件触发 ​

在同一触发设置中打开 事件触发,选择本机有效源和条件:AI1/AV1 用超过上限、低于下限或范围报警,DI1/DI2 用低到高、高到低或双向,DO1/DO2 用输出变化方向。

只需事件采集时关闭周期采集、保留脚本启用和事件触发;需要周期兜底时,两种触发可同时配置。先启用源通道并设置有效阈值和输入稳定性。模拟量变化阈值属于主动上报条件,不直接作为此处的范围触发条件。

持续保持同一条件通常只触发一次;重新触发需离开后再进入或出现新的匹配边沿。启动时源状态已经满足条件,也可能记录一次待执行请求,并非一定等到下一次人工翻转。命中也会记录相应源事件,即使源通道独立主动上报未勾选,也可能产生事件包。触发只是记录待执行请求,不表示已经收到仪表回复。

4. 设置串口与等待 ​

  1. 在应用参数中的串口配置找到实际端口,设置与仪表一致的波特率、8 数据位、校验位及停止位。
  2. 在应用参数 采集参数 中设置等待。当前界面的 采集延迟 对应 R12 发送请求后的接收等待,按仪表完整回复时间设置;不是脚本周期,也不能仅按“上电后等待”的界面提示理解。电源等待时间是在每轮串口采集开始前预留的等待,不会自动生成 DO 供电规则。
  3. 确认报文 CRC、从站地址和寄存器范围,点击 保存修改,按提示处理重启。
  4. 按需使用脚本区域 串口测试,核对 TX/RX 的内容;有 RX 不等于地址、CRC 和业务数值都正确。
V6 原图:业务串口参数示例,按实际仪表填写。
V6 原图:业务串口参数示例,按实际仪表填写。 点击放大
V6 原图:业务串口参数示例,按实际仪表填写。
V6 原图:业务串口参数示例,按实际仪表填写。
等待参数固件允许范围出厂值R12 实际用途
采集延迟0~15000ms500ms每次发出请求后,等待再读取接收字节
电源等待时间20~60000ms100ms每轮串口采集开始前预留等待

当前固件一轮在没有收到字节时最多发送 2 次请求;一旦收到非空字节就结束本轮尝试,不自动证明 Modbus CRC 或寄存器内容正确。优先使用仪表允许重复执行的读取指令,避免把会改变仪表状态的写命令当作普通采集脚本。

改变业务速率后应按保存速率连接;按键双击会临时切到 9600 / 8N1,可能影响仪表测试。优先使用本机 Micro-USB 独立配置方式,避免电脑和仪表总线争用。测试不替代恢复运行后的周期与无线验收。

5. 上报与执行顺序 ​

脚本 1~4 的回复分别用 FPort 1~4,载荷保留仪表原始字节;本轮没有收到字节时会上报 ASCII 文本 collection failed(17 字节),不能按正常测量解析;具体字节见脚本结果协议。这些载荷不是 R12 的 18 字节状态包,即使开头碰巧是 13 也不能只凭首字节判断。

事件触发脚本后,设备先记录待执行,再按调度采集。可能先收到源通道事件包,随后收到脚本结果;已经采集好的结果会优先发送。不能把“脚本结果优先”理解成所有未执行脚本都先于事件。

RTU 的事件与状态合并不等于 DTU 的 Modbus 合并采集。 不套用 DTU FPort 33 四字节报告头、16 条任务或其解析函数。R12 的 FPort 33 是 18 字节事件状态包。

设备使用指南