ZX8533 RS485 ModbusRTU 指令速查工具

适用机型:ZX8533 系列;适用固件:V3.1.6 及以上版本(RS485 Modbus RTU 协议自 V3.1.6 起支持);其中多参数结果读取(寄存器 0x70)需 V3.1.11 及以上版本的多参数功能形态。本手册与《致新ZX8533系列RS485协议操作指南》配套使用,所有示例帧经仪器实际通讯逐条验证,可直接复制使用。

本页所有示例帧的从机地址: (十六进制 01~20,改后全页指令自动重算 CRC,已输入的数据保留)

1. 仪器设置与接线

  • 系统设置页 → 总线方式 = RS485,总线地址 = 8(恢复出厂默认值,报文首字节为 0x08;范围 0x01~0x20);
  • 串口参数(必须与 PLC/上位机一致):9600 bps(可调)、8 数据位、1 停止位、无校验;
  • RS485 通讯时仪器键盘进入锁定状态(远程态),按 KEYLOCK 键解锁;
  • 调试技巧:把页面停在「系统设置」页,仪器会把收到的命令码打印在屏幕下方;完全没显示则检查是否购买了 RS485 模块。

2. 握手流程与 T3.5 帧间隔

2.1 一次完整握手

主机(PLC/上位机)                                仪器(从机)
     │                                              │
     │  ① 逐字节发送请求帧                            │
     │ ────────────────────────────────────────────►│
     │     [地址][功能码][寄存器地址][数量/数据][CRC] │
     │                                              │ ② 每收到一字节重启 T3.5 定时器
     │  ③ 总线静默 ≥ T3.5(3.5个字符时间)            │ ③ T3.5 到点 → 判定"一帧收完"
     │ ═ ═ ═ ═ ═ 静默 ═ ═ ═ ═ ═                    │ ④ 校验: 地址匹配? CRC正确? 帧完整?
     │                                              │    不匹配/不正确 → 丢弃, 不回应
     │                                              │ ⑤ 执行动作(写参数/读数据)
     │  ⑥ 返回响应帧                                  │
     │ ◄────────────────────────────────────────────│
     │     [地址][功能码][数据...][CRC]               │
     │     或异常帧 [地址][0x80+功能码][错误码][CRC]   │
     │                                              │
     │  ⑦ 主机也按 T3.5 判响应帧结束, 再发下一帧       │
     │     (相邻两帧之间必须间隔 ≥ T3.5 静默)        │

2.2 T3.5 是什么

  • T3.5 = 3.5 个字符时间。Modbus RTU 帧没有起止标记,靠总线静默切帧:字节流中间静默超过 T3.5 就认为上一帧结束、下一帧开始;
  • 一个字符 = 1 起始位 + 8 数据位 + 1 校验位 + 1 停止位 = 11 位(本机无校验也按 11 位计);
  • 9600 bps:T3.5 = 3.5 × 11 / 9600 ≈ 4.01 ms;19200 bps ≈ 2.0 ms;>19200 时协议规定固定 1.75 ms;
  • 仪器实现:内部定时器以 50µs 为计时单元,每收一字节重装计数,超时即判帧结束;T3.5 定时器中断优先级高于串口中断,保证长串口中断也挡不住帧切分;
  • 配套还有 T1.5:同一帧内相邻字节间隔若超过 1.5 字符时间(9600 时 ≈ 1.72 ms),说明帧中断异常,接收方应丢弃该帧。所以上位机必须连续、不间断地发完一帧,禁止人工逐字节慢发。
给上位机程序员的时序要点:① 一帧必须连续发完(帧内间隔 < T1.5);② 帧与帧之间留 ≥ T3.5 静默(9600 时建议 ≥ 5 ms);③ 发完请求后要等响应(或异常帧/超时),收到完整响应帧(也按 T3.5 判尾)再发下一帧;④ 超时建议 ≥ 100 ms 无响应则重发或报错。

3. 帧格式(功能码 03 / 0x10 / 异常帧 / CRC16)

本机只启用两个功能码:0x03 读保持寄存器、0x10(16) 写多个保持寄存器。文档中的"03、10"就是十六进制 0x03、0x10。

3.1 读请求(主机发,功能码 0x03)

字节:  1      2      3        4        5        6        7        8
      [地址] [0x03] [寄存器Hi][寄存器Lo][数量Hi ][数量Lo ][CRC Lo ][CRC Hi ]

3.2 读响应(从机回)

      [地址] [0x03] [数据长度M][数据1..M          ][CRC Lo][CRC Hi]
例:    08    03     04         42 F0 00 00        77 78     → 频率 120.0 Hz

3.3 写请求(主机发,功能码 0x10)

字节:  1      2      3        4        5        6        7        8..M+7     M+8      M+9
      [地址] [0x10] [寄存器Hi][寄存器Lo][数量Hi ][数量Lo ][长度M  ][数据1..M ][CRC Lo ][CRC Hi ]
例:    08    10     00       03       00       02       04       44 FA 00 00 A9       E7      → 设频率 2000Hz

从机正确执行后原样回显前 8 字节(地址+0x10+寄存器地址+数量+CRC),无数据区。

3.4 异常响应(从机回)

      [地址] [0x80+功能码] [错误码] [CRC Lo] [CRC Hi]
      例:   08    0x83        0x02    xx       xx      → 非法寄存器地址/数量(MB_ENOREG)

地址不匹配或 CRC 错误时从机不回应任何数据。

3.5 CRC16(Modbus 标准)

  • 多项式 0xA001(x¹⁶+x¹⁵+x²+1 的反向),初值 0xFFFF;
  • 对帧的第 1 字节~倒数第 3 字节计算;
  • 发送顺序:低字节先发(CRC Lo, CRC Hi)。
在线 CRC16 计算(输入帧内容,自动算并拼好可发送的完整帧):

帧内容(空格分隔 HEX,不含 CRC):

4. 浮点数大端序与在线转换工具

字节序:大端序,高字节在前。float 的 IEEE754 表示 MSB 先发,与 Modbus 寄存器的大端约定一致。

示例:2000.0 → 44 FA 00 00;1.2µF(1.2e-6) → 35 A1 0F B0;-1.0 → BF 80 00 00;340.0 → 43 AA 00 00。

单精度浮点 → HEX(大端序 4 字节)

浮点数值: 单位倍率:

HEX(大端序 4 字节)→ 单精度浮点

HEX 4 字节:

5. 寄存器地图与在线指令生成器

所有指令已按从机地址自动算好 CRC,点"复制"即可粘贴到串口助手。改数据区(如频率值)请用第 4 节工具生成新数据后替换,并用 3.5 节工具重算 CRC。

5.1 写参数(功能码 0x10)—— 数据区可编辑:数值行直接输入十进制数(可带 e 指数),选择项点下拉菜单,右侧指令实时重算 CRC

从机地址: (十六进制 01~20)
功能寄存器寄存器数数据区内容完整指令(HEX)复制

5.2 读参数/读结果(功能码 0x03)

从机地址: (十六进制 01~20)
功能寄存器寄存器数返回数据完整指令(HEX)复制

6. 读测量结果详解(0x64 / 0x68 / 0x6E / 0x70)

6.1 推荐的读取节拍

写 0x14 触发(0001) 或 等外部触发
   → 轮询读 0x6E 状态(建议间隔 50~200ms)
   → bit4(0x0010)=1 表示"单点测量完成,数据已修正"
   → 读 0x64 / 0x68 / 0x70 取结果
   → 0x6E 寄存器读后自动清零,下轮测量重新置位

6.2 寄存器 0x64:主/副参数结果(8 字节)

请求: 08 03 00 64 00 04 05 4F
响应: 08 03 08 [主参数4B][副参数4B] [CRC]
示例: 08 03 08 35 A0 25 69 39 84 0D 6D 0A 9E
      → 主参数 35A02569 = 1.19318e-6 (1.193µF), 副参数 39840D6D = 2.5e-4

6.3 寄存器 0x68:结果 + 系统状态 + 档号(12 字节)

请求: 08 03 00 68 00 06 44 8D
响应: 08 03 0C [主参数4B][副参数4B][sysStatus 2B][BinNo 2B] [CRC]
      sysStatus: 0=正常, 5=接触检测H/L均不良, 6=高端不良(HNC), 7=低端不良(LNC)
      BinNo    : 分选档位号(0=OUT, 1~n=档号)

6.4 寄存器 0x6E:操作状态事件(2 字节,读后清零)

位权重含义
bit00x0001校正数据测量完成(OPEN/SHORT/LOAD)
bit20x0004曲线扫描完成
bit30x0008列表扫描最后一点完成
bit40x0010单点测量完成(数据已修正)——"数据准备好"轮询就看它
bit50x0020变压器扫描完成
该寄存器读后自动清零。轮询时收到 08 03 02 00 10 65 89 即表示数据准备好。

6.5 寄存器 0x70:多参数结果(26 字节,定制)

请求: 08 03 00 70 00 0D 85 4D
响应: 08 03 1A [行1 float][行2 float][行3 float][行4 float][行5 float][行6 float][总判 2B] [CRC]
      未测量的行 = 00 00 00 00; 总判 MP_totCmpResult: 0=PASS

7. 枚举值速查

参数寄存器值(2 字节)含义
速度0x0100 00 / 00 01 / 00 02快速 / 中速 / 慢速
触发模式0x0200 00 / 00 01 / 00 02 / 00 04内部 / 手动 / 外部 / 自动
测量功能0x0400 00 ~ 00 160=Cp-D … 22=DCR(23 项,明细见下表);ZX6538 专有 27/28/29=Le-Q-Z / Le-Rs-Z / Ce-Rs-Le
极限方式0x0500 00 / 00 0400 00 = 百分比 %;00 04 = 直读 ABS
量程0x1200 00 / 00 01锁定 HOLD / 自动 AUTO
内阻0x1300 00 / 00 01 / 00 0230Ω / 100Ω / LOWZ
触发指令0x14(只写)00 01触发测量一次(TrigFlag=1)
偏置开关0x1700 00 / 00 01偏置关 / 偏置开
页面0x1800 00 起见下方页面枚举;写页面会同时保存测试条件

测量功能枚举(0x04 寄存器,23 项)

值功能值功能值功能
0Cp-D1Cp-Q2Cp-G
3Cp-Rp4Cs-D5Cs-Q
6Cs-Rs7Lp-D8Lp-Q
9Lp-G10Lp-Rp11Ls-D
12Ls-Q13Ls-Rs14R-X
15Z-θdeg16Z-θrad17Rs-Q
18G-B19Y-θdeg20Y-θrad
21Rp-Q22DCR

页面枚举值

值页面值页面值页面
0测量显示 LcrMeasDisp1档号显示 BinNoDisp2档计数 BinCountDisp
3列表测量 ListSweepDisp4测量设置 MeasSetup5用户校正 Correction
6极限表设置 LimitTableSetup7列表扫描设置 ListSweepSetup14系统设置 SystemSetup

8. 注意事项

  • 写参数后即时生效到硬件(如频率写入后仪器立即重配模拟前端并刷新屏幕显示);
  • 0x18 写页面会触发测试条件保存(EEPROM),频繁切页注意 EEPROM 寿命;
  • 频率写入超 MINFREQ~MAXFREQ 范围会被忽略(不报错);电平/偏置写入超限时硬件侧钳位;
  • 0x6E 读后清零——多主站/多点轮询时注意只有第一个读者能拿到事件;
  • 触发模式写入接受 0/1/2/3/4/6,其余值忽略。

版本:V1.0(2026-10-16)| 本页所有示例帧 CRC 由页面内工具按 Modbus 标准实时计算,可直接复制使用

Copyright © 2026 常州市致新精密电子有限公司 版权所有。