文档详情

巡检仪通讯协议V1.0.docx

发布:2017-05-23约9.57千字共8页下载文档
文本预览下载声明
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) 主站请求 从站编号请求代码首寄存器 地址寄存器数字节数目
显示全部
相似文档