巡检仪通讯协议V1.0.docx
文本预览下载声明
PAGE 8
通讯协议(V1.0)新
概述
本通讯协议采用标准Modbus协议,所用的传输模式为RTU模式。Modbus协议是一种主-从式协议。
任何时刻只有一个设备能够在线路上进行发送。由主站管理信息交换,且只有它能发起。它会相继对从站进行轮询。除非被主站批准,否则任何从站都不能发送消息。从站之间不能进行直接通信。
协议帧中不包含任何消息报头字节或消息字节结束符。
它的定义如下:
从站地址请求代码数据CRC16
从站地址:- 地址必须在1到247之间。
- 每个地址在网络设备环境中必须唯一。
数据 : 以二进制代码传输。
CRC16 : 循环冗余校验参数。
当间隔时间长于或等于3.5字符时,即作为检测到帧结束。
1、通讯口设置
通讯方式 异步串行通讯接口,如RS-485,RS-232,RS-422等
波特率 2400、4800、9600、19200bps(可由设定仪表参数相互更改,默认9600)
2、字节数据格式
. 一位起始位
. 八位数据位
. 一位停止位
. 无校验
1********1 1位起始位 8位数据位 1位停止位
3、仪表通讯帧格式
下表给出由数显仪工作在从机模式时的的Modbus功能,并规定其限值。
从站编号:本机仪表地址,地址必须在1到247之间,且同一总线上各仪表地址不可重复。
地址为0时用于广播功能,且此时只有写功能有效。单字节。
功能代码:“读”和“写”功能是从主站角度定义的。单字节。
功能代码Modbus名功能名广播一次连续的N的最大值3 (0x03)Read Holding Registers读N个寄存器值NO2416 (0x10)Write Multiple Registers写N个寄存器值YES24
首寄存器地址:要读取的第一个内部寄存器的地址。双字节。每个内部寄存器的值数据为双字节。
寄存器数:要读取或修改的内部寄存器个数。双字节。
读取的字节数:被读取的内部寄存器的数据的字节总数。单字节。
CRC16:循环冗余校验参数。
1) 读N个输出字:功能3
注意: Hi = 高位字节,Lo = 低位字节。
此功能可被用于读取参数,而无论类型如何。
主站请求
从站编号0x03首寄存器地址寄存器数CRC16HiLoHiLoLoHi 1 字节 1 字节 2 字节 2 字节 2 字节
从站响应
从站编号0x03读取的字节数首寄存器数值……末寄存器数值CRC16HiLoHiLoLoHi1字节 1字节 1字节 2 字节 2 字节 2 字节
例1:使用功能3读取从站1上的1个字Sn(地址0137H,见附表),其中:
· Sn(信号输入类型) = 17(0x11)
主站请求
0x010x030x000x890x000x010x550xe0 1 字节 1 字节 2 字节 2 字节 2 字节
从站响应
0x010x030x020x000x110x780x48 1字节 1字节 1字节 2字节 2字节
2) 写N个输出字:功能16(0x10)
主站请求
从站编号0x10首寄存器地址寄存器数字节数首字数据……CRC16HiLoHiLoHiLoLoHi 1字节 1字节 2 字节 2 字节 1字节 2字节 2字节
从站响应
从站编号0x10首寄存器地址寄存器数CRC16HiLoHiLoLoHi1字节 1字节 2 字节 2 字节 2 字节
例2:使用功能16将1000、200写入从站1中的2个单元AL1和AL2(寄存器地址0009H至000AH,见附表),即:
· AL1(上限报警值) = 1000(0x3E8)
· AL2(下限报警值) = 200 (0xC8)
主站请求
从站编号请求代码首寄存器
地址寄存器数字节数目
显示全部