技术文章

模块表通讯协议

来源: 金湖亚泰仪表科技有限公司

2013/7/3 10:54:26 3230

                                                      

概述
本通讯协议采用标准Modbus协议,所用的传输模式为RTU模式。Modbus协议是一种主-从式协议。
任何时刻只有一个设备能够在线路上进行发送。由主站管理信息交换,且只有它能发起。它会相继对从站进行轮询。除非被主站批准,否则任何从站都不能发送消息。从站之间不能进行直接通信。
协议帧中不包含任何消息报头字节或消息字节结束符。
它的定义如下:

从站地址
请求代码
数据
CRC16

 
从站地址:- 地址必须在1247之间。
- 每个地址在网络设备环境中必须*。
数据    : 以二进制代码传输。
CRC16 : 循环冗余校验参数。
当间隔时间长于或等于3.5字符时,即作为检测到帧结束。
 
1、通讯口设置
通讯方式   异步串行通讯接口,如RS-485,RS-232,RS-422等
波特率     2400、4800、9600、19200bps(可由设定仪表参数相互更改,默认9600)
2、字节数据格式
. 一位起始位
. 八位数据位
. 一位停止位
. 无校验
1
*
*
*
*
*
*
*
*
1
 1位起始位                8位数据位                   1位停止位
 
3、仪表通讯帧格式
下表给出由工作在从机模式时的Modbus功能,并规定其限值。
 
从站编号:本机仪表地址,地址必须在1247之间,且同一总线上各仪表地址不可重复。
地址为0时用于广播功能,且此时只有写功能有效。单字节。
 功能代码:“读”和“写”功能是从主站角度定义的。单字节。

功能代码
Modbus
功能名
广播
一次连续的N的zui大值
3 (0x03)
Read Holding Registers
读N个寄存器值
NO
24
16 (0x10)
Write Multiple Registers
写N个寄存器值
YES
24

 
首寄存器地址:要读取的*个内部寄存器的地址。双字节。每个内部寄存器的值数据为双字节。
 寄存器数:要读取或修改的内部寄存器个数。双字节。
 读取的字节数:被读取的内部寄存器的数据的字节总数。单字节。
     CRC16循环冗余校验参数。
 
 
 
 
 
 
   1) N个输出字:功能3
注意:Hi = 高位字节,Lo = 低位字节。
此功能可被用于读取参数,而无论类型如何。
主站请求

从站编号
0x03
首寄存器地址
寄存器数
CRC16
Hi
Lo
Hi
Lo
Lo
Hi

        1 字节     1 字节         2 字节              2 字节               2 字节
 
从站响应

从站编号
0x03
读取的字节数
首寄存器
数值
……
末寄存器数值
CRC16
Hi
Lo
 
Hi
Lo
Lo
Hi

1字节   1字节    1字节        2 字节               2 字节          2 字节
 
 
1使用功能3读取从站1上的*通道输入类型地址0006H,见附表),其中:
主站请求

0x01
0x03
0x00
0x06
0x00
0x01
0x64
0x0B

        1 字节     1 字节         2 字节              2 字节               2 字节
 
从站响应

0x01
0x03
0x02
0x00
0x0F
0XF8
0x40

         1字节       1字节      1字节             2字节                  2字节
· *通道信号输入类型 = 0x000F4-20mA)。
 
2)N个输出字:功能160x10
主站请求

从站编号
0x10
首寄存器地址
寄存器数
字节数
首字数据
……
CRC16
Hi
Lo
Hi
Lo
 
Hi
Lo
Lo
Hi

      1字节 1字节      2 字节          2 字节       1字节         2字节                2字节
 
从站响应

从站编号
0x10
首寄存器地址
寄存器数
CRC16
Hi
Lo
Hi
Lo
Lo
Hi

1字节   1字节          2 字节                    2 字节                2 字节
 
2使用功能16从站1上的*通道输入类型地址0006H,见附表)改为PT100,见附表),即:
· PT100(类型代码0X09,见下表)
 
主站请求

从站编号
请求代码
首寄存器
地址
寄存器数
字节数目
首寄存器数据
CRC16
0x01
0x10
0x00
0x06
0x00
0x01
0x02
0x00
0x09
0x66
0x30

     
从站响应

从站编号
响应代码
首寄存器地址
寄存器数
CRC16
0x01
0x10
0x00
0x06
0x00
0x01
0xE1
0xC8

3) 异常响应
当从站不能执行发送给它的请求时,它将返回一个异常响应。
异常响应的格式:

从站编号
响应代码
错误代码
CRC16
Lo
Hi

1字节     1字节      1字节          2 字节
 
响应代码:请求的功能代码 + 0x80(zui高位被置为1)。
错误代码:
1 = 请求中需访问寄存器地址不在寄存器地址范围内。
2 = 请求中一次需访问寄存器的数量超过可连续访问寄存器数量的zui大值((24)。
3 = 从站写保护。
 
7、模块仪表内部参数对应地址表(范围:0--17):
编号
参 数 名 称
寄存器地 址(HEX)
数据格式
类型
数 值 范 围
备 注
0
仪表类型调理器
0000
双字节
无符号
只读
0x11
 
1
仪表地址
0001
/
1~247
 
2
仪表通讯波特率
0002
0-3
0:2400n81
1:4800n81
2:9600n81
3:19200n81
波特率修改后仪表需重新上电有效,默认为2。
3
继电器报警方式
0003
0-1
0:小于报警值报警
1:大于报警值报警
4
继电器报警
设定值
0004
双字节
有符号
 
5
断线输出类型
0005
双字节
无符号
见说明
见说明
6
*通道
输入类型
0006
见说明
见说明
7
*通道
输出类型
0007
见说明
见说明
8
*通道
变送量程下限
0008
双字节
有符号
 
为1位定点小数
9
*通道
变送量程上限
0009
 
10
*通道
测量数据
000a
只读
 
5V和20mA为定点3位小数
温度:1位小数
11
*通道
输出数据
000b
双字节
无符号
 
定点3位小数
12
第二通道
输入类型
000c
同*通道
/
 
当有第二路输入或输出时才可用,其范围和要求和*通道相同
13
第二通道
输出类型
000d
 
14
第二通道
变送量程下限
000e
 
15
第二通道
变送量程上限
000f
 
16
第二通道
测量数据
0010
只读
 
17
第二通道
输出数据
0011
 
 
1、输入信号类型:
读本仪表设定的输入信号的类型。

SignalInputType
对应类型
备注
0x01
K分度
 
 
 
 
0x02
E分度
0x03
S分度
0x04
B分度
0x05
J分度
0x06
T分度
0x07
R分度
0x08
N分度
0x09
PT100
 
 
0x0a
Cu100
0x0b
Cu50
0x0c
BA1
0x0d
BA2
0x0e
0-10mA
 
0x0f
4-20mA
0x10
0-5V
0x11
1-5V
0x12
0-20mA
0x13
0-20mV
 
毫伏
0x14
0-70mV
0x15
0-100mV
0x16
0-50KHz
频率
0x17
Pt100(0-100)
PT100小量程
0x18
Pt1000
 
0x19
0-10V
 
0x1a
0-1k 电阻
线性电
0x1b
钨铼 5-钨铼 26
0x1c
钨铼 3-钨铼 25

2、读输入信号类型:
设置本仪表的输入信号类型。
具体类型定义见上表。
3、读输出信号类型:
读本仪表设定的输出信号的类型。

SignalOutputType
对应类型
0x01
0-10mA
0x02
4-20mA
0x03
0-5V
0x04
1-5V
0x06
0-10V
0x05
0-20mA

4、     断线输出类型(InputOpenType)
当没有输入或输入断路时的输出值。

InputOpenType
对应类型
0x01
报警值
0x02
断线输出保持
0x03
未使用
0x04
0-22mA/0-5.5V/0-11V跟随

5、     写报警输出值:
设定故障报警输出的输出值参数(AH AM AL),范围为:0---22.000(mA)。按照4-20mA的输出类型设置,若输出类型为电压或0-10mA时,需按比例计算后发送。如:为0.750V时,AH=0x00AM=0x30AL=0x00
6、     读报警输出值:
读出故障报警输出的输出值参数(AH AM AL
 

相关产品

猜你喜欢

您的留言已提交成功~

采购或询价产品,请直接拨打电话联系

联系人:销售部

联系方式:
当前客户在线交流已关闭
请电话联系他 :