MODBUS通讯协议使用手册
1. RTU方式通讯协议
1.1.硬件采用RS-485,主从式半双工通讯,主机呼叫从机地址,从机应答方式通讯。
1.2.数据帧10位,1个起始位,8个数据位,1个停止位,无校验。
波特率:9600;19200 38400
1.3.功能码03H:读寄存器值
主机发送:
第1字节ADR :从机地址码(=001~254)
第2字节 03H :读寄存器值功能码
第3、4字节:要读的寄存器开始地址
要读FCC下挂仪表,
第5、6字节:要读的寄存器数量
第7、8字节:从字节1到6的CRC16校验和
从机回送:
第1字节 ADR
: 从机地址码(=001~254)
第2字节 03H
: 返回读功能码
第3字节 : 从4到M (包括4及M )的字节总数 第4到M 字节
: 寄存器数据
第
M +1、M+2字节
: 从字节1到M 的CRC16校验和
当从机接收错误时,从机回送:
第1字节 ADR
: 从机地址码(=001~254)
第2字节 83H
: 读寄存器值出错
第3字节 信息码 : 见信息码表
第4、5字节
: 从字节1到3的CRC16校验和
1.4. 功能码06H : 写单个寄存器值 主机发送:
当从机接收正确时,从机回送:
当从机接收错误时,从机回送:
第1字节ADR :从机地址码(=001~254)
第2字节86H :写寄存器值出错功能码
第3字节错误数息码:见信息码表
第4、5字节:从字节1到3的CRC16校验和
1.5.功能码10H:连续写多个寄存器值
当从机接收正确时,从机回送:
当从机接收错误时,从机回送:
第1字节ADR :从机地址码(=001~254)
第2字节90H :写寄存器值出错
第3字节错误信息码:见信息码表
第4、5字节:从字节1到3的CRC16校验和寄存器定义表:(注:寄存器地址编码为16进制)
备注:
1.4字节浮点数:符合IEEE-754标准的单精度浮点数。
S符号位,“1”表示负,“0”表示正。
E为阶码。
M为尾数的小数点部分。
例如:浮点数=42F98000H,在内存中的存放格式为:
2. 寄存器定义表中,读写属性有打√的寄存器为只读寄存器。没有打√的为读写寄存器。信息码表:
仪表表型字
00:XMZ5000 01:XMT/XMB5000 02:XMDI5000
03:XMS5000 04:XML6000 05:XMD5XX16 (16)
06:XMA5000 07:XMH5000 08:XML5000 (3)
09:XMJ5000 10:XMD5XX08 (8) 11:XMPHT/XMPHB5000 12:XMD5XX32(32) 13:XME5000 (3) 14:XMDO5000 15:XMLH5000 (4+1) 16:XMD5XX24 (24) 17:XMAF5000 (2) 18:XMC5000(24)
30:XMG5000 31:XMGI5000 32:XMG7000 (2)
33:XMG8000 (3) 34:XMHG5000 35:XMGA5000/6000 (4)
36:XMGAF5/6/7000 (4) 37:XMRA5000/6000 (5) 38:XMRAF5000/6000 (5)
39:XMPA7000 (5) 40:XMPAF7000 (5) 41:XMRA7000 (6)
42:XMRAF7000 (6) 43:XMPHGA5000/6000 44:XXS
45:XMRH5000 46:DFD/DFQ/DFDA/DFDQ5000/DFQA7000
50:XMPA8000 (7) 51:XMPAF8000 (7) 52:XMRA8000 (8)
53:XMRAF8000 (8) 54:55:
60:XMLY5000 61:XMLY6000
仪表分度号
00:0~10mA线性01:4~20mA线性02:0~5V线性
03:1~5V线性04:0~100线性05:0~10mA开方
06:4~20mA开方07:0~5V开方08:1~5V开方
09:0~100开方10:Pt100 11:
12:Pt10 13:Cu100 14:Cu50
15:30~350Ω16:G53 17:BA1
18:BA2 19:F1 20:F2
21:B 22:R 23:S
24:N 25:K 26:E
27:J 28:T 29:
30:钨铼3-钨铼26 31:EA2 32:EU2
33:0~60mV
注:
. 通讯板跳线端子说明: 拨码开关拨向ON表示零(1)值
(端子1)
端子(1)
端子(2)
晶振
端子1为仪表的地址的八进制编码(如有FCC仪表则表示为FCC仪表下挂仪表的地址) 例如25=0001 1001
(端子2)
端子2的 8 7 6 5 为4位上位机波特率编码
8 7 6 5
1 0 1 0为9600 波特率
0 1 1 0为19200 波特率
1 1 1 0为38400波特率
端子2的 4 3 2 1 位为FCC仪表地址选择,当4 3 2 1位= 0 0 0 0,表示不挂FCC仪表;例如4 3 2 1=0 0 1 0
表示FCC仪表地址为2
(注:对于xml型号的仪表通道1表示XML的瞬时值;通道2表示XML的温度值 ;通道3表示XML的压
力值;xml的瞬时值,温度值,压力值,支持批读; XML的累积流量的寄存器地址从0150h到
0153h;XMD,XMC多路采集器支持批读。
)
特别说明:
设置完波特率或地址,在进行通讯前,请重新给仪表上电
上电初始化6秒后,方可通讯
MODBUS_RTU通讯例子:
读寄存器值:
主机发送: 寄存器值为16进制数
设读地址0010(通道1)的瞬时值; 瞬时值=130