NHR-M34 系列智能频率转换器通信协议
NHR-M34 系列智能频率转换器通信协议
x通信协议采用标准 ModBus 协议,采用 RTU(十六进制数)传输模式。ModBus 协议是一种主---从式协议。任何时刻只有一个设备能够在线路上进行发送。由主站管理信息交换,且只有主站能发起。主站会依次对从站进行轮流查询。只有当从站地址与轮询地址相匹配,从站才能回复消息。从站之间不能进行直接通信。协议x中不包含任何消息报头及消息结束符,消息的开始和结束依靠间隔时间来识别,当间隔时间长于或等于 3.5 个字符时,即作为检测到x结束。如果网络内没有与查询地址相一致的从站或从站接收时 CRC 校验出错,主站将不会接收到返回桢,这时主站根据超时设定判断是否超时,如超时,作出重发或弹出异常错误窗口动作。
协议x定义如下:
从站地址 | 功能代码 | 数据区 | CRC16 |
从站地址:地址必须在 1---247 之间。
在同个主站网络中每个从站地址必须唯一。设定仪表二级参数 DE。
功能代码:包含读、写多个寄存器。数据: 以二进制代码传输。
CRC16: 循环冗余校验,校验从从站地址到数据区最后一个字节,计算多项式码为A001(hex)。
通讯口设置
通讯方式 异步串行通讯接口,如 RS-485,RS-232,RS-422 等
xx率 1200~9600bps(可由设定仪表二级参数自由更改,设定仪表二级参数 BT,默认 9600)见表 10
字节数据格式 HEX
. 一位起始位
. 八位数据位
. 一位停止位
. 无校验
1 | * | * | * | * | * | * | * | * | 1 |
起始位 数据位(从低到高) 停止位
消息桢格式 (读、写功能是从主站角度定义的)
读寄存器桢
从站地址 | 功能代码 | 首寄存器地址 | 寄存器数 N | CRC16 |
1 字节 | 1 字节 | 2 字节 | 2 字节 | 2 字节 |
1---247 | 03H | AddrH, AddrL | NH, NL (1---24) | CrcL, CrcH |
读寄存器返回桢
从站地址 | 功能代码 | 字节数 | 寄存器数据 | CRC16 |
1 字节 | 1 字节 | 1 字节 | N*2 字节 | 2 字节 |
1---247 | 03H | N*2 | DataH, DataL | CrcL, CrcH |
写寄存器桢
从站地址 | 功能代码 | 首寄存器地址 | 寄存器数 N | 字节数 | 寄存器数据 | CRC16 |
1 字节 | 1 字节 | 2 字节 | 2 字节 | 1 字节 | N*2 字节 | 2 字节 |
1---247 | 10H | AddrH, AddrL | NH, NL 1---24 | N*2 | DataH, DataL | CrcL, CrcH |
写寄存器返回桢
从站地址 | 功能代码 | 首寄存器地址 | 寄存器数 N | CRC16 |
1 字节 | 1 字节 | 2 字节 | 2 字节 | 2 字节 |
0---000 | 00X | XxxxX, XxxxX | XX, XX 0---00 | CrcL, CrcH |
错误返回桢
从站地址 | 功能代码 | 错误代码 | CRC16 |
1 字节 | 1 字节 | 1 字节 | 2 字节 |
1---247 | 查询功能代码+80H | 见表 2 | CrcL, CrcH |
功能代码表:1
功能代码 | ModBus 名 | 功能名 | 广播 | 一次连续的 N 的最大值 |
03H | Read Holding Registers | 读 N 个寄存器值 | No | 24 |
10H | Write Multiple Registers | 写 N 个寄存器值 | No | 24 |
错误代码表:2
错误代码 | 说明 |
1 | 寄存器长度超限 |
2 | 寄存器地址超限 |
3 | 从站密码保护 |
4 | 读或写不允许 |
寄存器地址表(只读寄存器)
编号 | 参数符 号 | 参 数 名 称 | 地 址 | 数据格式 | 类型 | 数 值 范 围 | 备 注 |
1 | CH1 | 测量值 | 0 | 2 个字节 | 只读 | 0-9999 | 无符号整形 |
2 | OUT1 | 第一路输出值 | 1 | 2 个字节 | 读/写 | ||
3 | OUT2 | 第二路输出值 | 2 | 2 个字节 | 读/写 | ||
4 | SL0 | 显示的增益倍数 | 3 | 2 个字节 | 读/写 | 1-250 | |
5 | SL1 | 小数点 | 4 | 2 个字节 | 读/写 | 0-2 | |
6 | SL2 | 报警方式 | 5 | 2 个字节 | 读/写 | 0-2 | |
7 | AL1 | 报警值 | 6 | 2 个字节 | 读/写 | -1999-9999 | |
8 | AH1 | 报警回差值 | 7 | 2 个字节 | 读/写 | 0-1000 | |
9 | 空 | 8 | 2 个字节 | 读/写 | |||
10 | SL6 | 滤波系数 | 9 | 2 个字节 | 读/写 | 1-10 | |
11 | SL7 | 采样周期 | 10 | 2 个字节 | 读/写 | 1-20 | |
12 | BT | 通讯xx率 | 11 | 2 个字节 | 读/写 | 0-5 |
13 | PB1 | 显示输入的零点迁移 | 12 | 2 个字节 | 读/写 | -1999-9999 | 有符号整形 |
14 | KK1 | 显示输入的量程比例 | 13 | 2 个字节 | 读/写 | 0-1999 | 无符号整形 |
15 | KK2 | 分频系数 | 14 | 2 个字节 | 读/写 | 1-1000 | |
16 | PB3 | 实际小编程器没有这个 参数 | 15 | 2 个字节 | 读/写 | ||
17 | KK3 | 实际小编程器没有这个 参数 | 16 | 2 个字节 | 读/写 | ||
18 | 1OUL | 一路变送输出量程下限 | 17 | 2 个字节 | 读/写 | -1999-9999 | 有符号整形 |
19 | 1OUH | 一路变送输出量程上限 | 18 | 2 个字节 | 读/写 | ||
20 | 2OUL | 二路变送输出量程下限 | 19 | 2 个字节 | 读/写 | ||
21 | 2OUH | 二路变送输出量程上限 | 20 | 2 个字节 | 读/写 | ||
22 | PVL | 保留 | 21 | 2 个字节 | 读/写 | ||
23 | PVH | 保留 | 22 | 2 个字节 | 读/写 | ||
24 | PB4 | 保留 | 23 | 2 个字节 | 读/写 | ||
25 | KK4 | 保留 | 24 | 2 个字节 | 读/写 | 0-1999 | 无符号整形 |
26 | SL | 测量小信号切除 | 25 | 2 个字节 | 读/写 | 0-100 | |
27 | OUT1 | 一路输出类型 | 26 | 2 个字节 | 读/写 | 0—5 | |
28 | OUT2 | 二路输出类型 | 27 | 2 个字节 | 读/写 | ||
29 | DE | 设备地址 | 28 | 2 个字节 | 读/写 | 1—220 |