NHR-X32 系列导轨式智能温度变送器通信协议
NHR-X32 系列导轨式智能温度变送器通信协议
x通信协议采用标准 ModBus 协议,采用 RTU(十六进制数)传输模式。ModBus 协议是一种主---从式协议。任何时刻只有一个设备能够在线路上进行发送。由主站管理信息交换,且只有主站能发起。主站会依次对从站进行轮流查询。只有当从站地址与轮询地址相匹配,从站才能回复消息。从站之间不能进行直接通信。协议x中不包含任何消息报头及消息结束符,消息的开始和结束依靠间隔时间来识别,当间隔时间长于或等于 3.5 个字符时,即作为检测到x结束。如果网络内没有与查询地址相一致的从站或从站接收时 CRC 校验出错,主站将不会接收到返回桢,这时主站根据超时设定判断是否超时,如超时,作出重发或弹出异常错误窗口动作。
协议x定义如下:
从站地址 | 功能代码 | 数据区 | CRC16 |
从站地址:地址必须在 1---247 之间。
在同个主站网络中每个从站地址必须唯一。
0 为广播地址,从站接收消息并作相应处理,但不能回复消息。功能代码:包含读、写寄存器。
数据: 以二进制代码传输。
CRC16: 循环冗余校验,校验从从站地址到数据区最后一个字节,计算多项式码为
A001(hex)。
通讯口设置
通讯方式 异步串行通讯接口,如 RS-485,RS-232 等
xx率 2400~9600bps(可由设定仪表二级参数自由更改,设定仪表二级参数 BT,默认 4800)
字节数据格式 HEX
. 一位起始位
. 八位数据位
. 一位停止位
. 无校验
1 | * | * | * | * | * | * | * | * | 1 |
起始位 数据位(从低到高) 停止位
消息桢格式 (读、写功能是从主站角度定义的)
读寄存器桢
从站地址 | 功能代码 | 首寄存器地址 | 寄存器数 N | CRC16 |
1 字节 | 1 字节 | 2 字节 | 2 字节 | 2 字节 |
0---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 字节 |
0---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 | 读或写不允许 比如有的寄存器只读,就不可以发写命令 |
寄存器地址表:3(只读寄存器)
编号 | 参数符号 | 参数名 | 地址 | 类型 | 数值范围 | 备注 |
1 | 仪表版本高位 | 2 | 只读 | 两位 ASCII 字符 | ||
2 | 仪表版本低位 | 3 | 两位 ASCII 字符 | |||
3 | 一通道测量值 | 4 | ||||
4 | 一通道输出值 | 5 | ||||
5 | 一通道输入状态 | 6 | 表 6 | |||
6 | 二通道测量值 | 7 | ||||
7 | 二通道输出值 | 8 | ||||
8 | 二通道输入状态 | 9 | 表 6 | |||
9 | 继电器报警状态 | 10 | 表 7 |
寄存器地址表:4(一级菜单寄存器)
编 号 | 参数 符号 | 参数名 | 地 址 | 类 型 | 数值范 围 | 备注 | ||
11 | LOC | 参数密码 | 12 | 读写 | 0-999 9 | 默认值:0(表 8) | ||
12 | ALM1 | 第一报模式 | 14 | 0-4 | 默认值:0(表 9) | |||
13 | ALA1 | 第一路报警值 | 15 | -1999-9 999 | 50 | |||
14 | ALH1 | 第一路报警回 差 | 16 | -1999-9 999 | 5 | |||
15 | ALM2 | 第二报模式 | 17 | 0-4 | 默认值:0(表 9) | |||
16 | ALA2 | 第二路报警值 | 18 | -1999-9 999 | 50 | |||
17 | ALH2 | 第二路报警回 差 | 19 | -1999-9 999 | 5 | |||
12 | OUt1 | 第一路输出类 型 | 20 | 0-4 | 默认值:0(表 10) | |||
13 | OUL1 | 第一路输出下 限 | 21 | -1999-9 999 | 0 | |||
14 | OUH1 | 第一路输出上 限 | 22 | -1999-9 999 | 1000 | |||
15 | Out2 | 第二路输出类 型 | 23 | 0-4 | 默认值:0(表 10) | |||
16 | OUL2 | 第二路输出下 限 | 24 | -1999-9 999 | 0 | |||
17 | OUH2 | 第二路输出上 限 | 25 | -1999-9 999 | 1000 | |||
Addr | 设备号地址 | 26 | 1-200 | 1 | ||||
bAUd | 通讯xx率 | 27 | 0-3 | 默认值:2(表 |
11) | ||||||||
SUF | 运算模式 | 28 | 0-3 | 默认值:0(表 12) | ||||
KVL1 | 一路运算系数 | 29 | -19.99- 99.99 | 1.00 | ||||
KVL2 | 二路运算系数 | 30 | -19.99- 99.99 | 1.00 | ||||
PdIS | PV 屏显示类 型 | 31 | 0-1 | 默认值:0(表 13) | ||||
18 | SdIS | SV 屏显示类 型 | 32 | 0-3 | 默认值:0(表 14) | |||
OUtS | 输出跟随选择 | 33 | 0-4 | 默认值:0(表 15) |
寄存器地址:5(二级菜单寄存器)
编号 | 参数符号 | 参数名 | 地址 | 类型 | 数值范围 | 备注 |
21 | Pn | 第一路输入信号 | 34 | 读写 | 0-48 | 默认值:14(表 16) |
22 | dp | 第一路小数点 | 35 | 0-3 | 0 | |
23 | brK | 第一路断线输出 | 36 | 0-2 | 默认值:1(表 17) | |
24 | PL | 第一路显示下限 | 37 | -1999-9999 | 默认值:0 | |
25 | PH | 第一路显示上限 | 38 | -1999-9999 | 默认值:1000 | |
26 | Pb | 第一路显示零点 | 39 | 0-4 | 默认值:0 | |
27 | PK | 第一路显示比例 | 40 | 0.000-9.999 | 默认值:1 | |
35 | 保留 | |||||
36 | FK | 第一路滤波系数 | 42 | 1-30 | 默认值:1 | |
21 | Pn | 第二路输入信号 | 43 | 读写 | 0-16 | 默认值:14(表 16) |
22 | dp | 第二路小数点 | 44 | 0-3 | 0 | |
23 | brK | 第二路断线输出 | 45 | 0-2 | 默认值:1(表 17) | |
24 | PL | 第二路显示下限 | 46 | -1999-9999 | 默认值:0 | |
25 | PH | 第二路显示上限 | 47 | -1999-9999 | 默认值:1000 | |
26 | Pb | 第二路显示零点 | 48 | 0-4 | 默认值:0 | |
27 | PK | 第二路显示比例 | 49 | 0.000-9.999 | 默认值:1 | |
35 | 保留 | |||||
36 | FK | 第二路滤波系数 | 51 | 1-30 | 默认值:1 |
寄存器地址表说明:1、所有数据类型为有符号整型(两字节)。
2、通信传输中带小数点的数据全部用整数代替如:1.000 代替为 1000。
(即忽略小数点) 27.9 代替为 279。
3、全部寄存器数据在传输过程中用十六进制数表示,先传高字节,再传低字节,如传送
279,先传 01H,再传 23H。
4、读测量显示值,如果输入信号是热电阻或热电偶、小数点为 1 时,读到 124,即为
12.4
测量输入状态表:6
读取值 | 测量主通道 | ||
Bit1 | Bit0 | ||
xxxx xxxx xxxx xx00B | 主通道正常 | ||
xxxx xxxx xxxx xx01B | 通道断线 | ||
xxxx xxxx xxxx xx10B | 通道短路 | ||
xxxx xxxx xxxx xx01B | 超信号上限 | ||
补偿通道 | |||
Bit3 | Bit2 | ||
xxxx xxxx xxxx 00xxB | 补偿通道正常 | ||
xxxx xxxx xxxx 01xxB | 补偿通道断线 | ||
输入显示量程 | |||
Bi5 | Bit4 | ||
xxxx xxxx 00xx xxxxB | 显示正常 | ||
xxxx xxxx 01xx xxxxB | 超显示上限 | ||
xxxx xxxx 10xx xxxxB | 超显示下限 |
继电器报警状态表:7
读取值 | 说明 |
xxxx xxxx xxxx xxx0B | 第一路无报警 |
xxxx xxxx xx11 xx10B | 第一路报警 |
xxxx xxxx xxxx xxx0B | 第二路无报警 |
xxxx xxxx xx11 xx10B | 第二路报警 |
输出类型表:8
设定值 | 说明 |
1 | 跟随二路下限报警 |
2 | 跟随二路上限报警 |
3 | 跟随一路下限报警 |
4 | 跟随一路上限报警 |
0 | 不报警 |
密码设置表:9
设定值 | 密码设置 |
132 | 一,二级菜单 |
1024 | 校准密码 |
3003 | 仪表功能设定 |
输出类型表:10
信号代码 | 信号类型 |
0 | 4-20mA |
1 | 1-5V |
2 | 0-10mA |
3 | 0-5V |
4 | 0-20mA |
xx率表:11
设定值 | 对应xx率 |
0 | 2400 |
1 | 4800 |
2 | 9600 |
3 | 19200 |
运算模式设定表:12
设定值 | 运算类型 |
0 | 无运算 |
1 | 加减法 |
2 | 乘法 |
3 | 除法 |
PdIS 设定值表:13
设定值 | 说明 |
0 | 显示测量值,通过移位键切换一路或二路 |
1 | 显示运算结果和一路测量值,通过移位键切换 |
SdIS 设定值表:14
设定值 | 说明 |
0 | 显示理论输出值,通过移位键切换 |
1 | 显示报警值,通过移位键切换 |
2 | 显示温度单位 |
3 | 显示第二路测量值 |
输出跟随设定值表:15
读取值 | 说明 |
0 | 一路输出跟随测量一,二路输出跟随测量二 |
1 | 两路输出均跟随测量一输出 |
2 | 两路输出均跟随测量二输出 |
3 | 一路输出跟随运算结果,二路输出跟随测量二 |
4 | 一路输出跟随测量一,二路输出跟随运算结果 |
输入信号类型表:16
设定值 | 信号类型 |
00 | B(400~1800℃ |
01 | S(0~1600℃) |
02 | K(0~1300℃) |
03 | E(0~1000℃) |
04 | T(-200.0~400.0℃) |
05 | J(0~1200℃) |
06 | R(0~1600℃) |
07 | N(0~1300℃) |
08 | F2(700~2000℃) |
09 | Wre3-25(0~2300℃) |
10 | Wre5-26(0~2300℃) |
11 | Cu50(-50.0~150.0℃) |
12 | Cu53(-50.0~150.0℃) |
13 | Cu100(-50.0~150.0℃) |
14 | Pt100(-200.0~650.0℃) |
15 | BA1(-200.0~600.0℃) |
16 | BA2(-200.0~600.0℃) |
断线输出设定表:17
设定值 | 说明 |
0 | 保持 |
1 | 最大 |
2 | 最小 |