传感器MODBUS RTU协议V1.2
2012-10-18 By Joe Liang
一、通信特点
通信格式为:
波特率:19200
数据位:8位
停止位:1位
校验位:无
流控:无
物理层采用RS485总线。
二、协议说明
本协议中用来的多字节数据及其传输,无特别说明,均使用大端格式(即高字节在前,低字节在后)。本协议通用数据帧格式与MODBUS RTU规约相兼容。
1、通用数据帧格式
“地址”——指示地址,在此作为区分不同设备的代号;在本协议V1.2版本中,“地址”代表拔码开关所对应的数,具体说明见“附注说明”。
“功能码”——0x03表示读取数据,目前其它值暂定义无效;
MODBUS通讯规约定义功能号为1到255。本协议只利用其中的一部分功能码。作为主机请求发送,通过功能码告诉从机执行什么动作。作为从机响应,从机发送的功能码与从主机发送来的功能码一样,并表明从机已响应主机进行操作。
“数据区长度”——不包含本身,指明“数据区”内包含的字节数,高字节在前;“数据区”——根据不同功能码有不同定义,详细说明见下面“功能码说明”;
“校验码”——异或校验码(只包括数据区数据),无数据则为0xff;
注意:
1:每成功完成一次数据传输之后,到开始接收对方的第一bit(比特)反馈数据,这之间的延迟时间为500~700µS(微秒)。通信时命令格式不正确,线路数据丢失等情况对方都将不会回复。
1、功能码说明
1)读取数据帧(功能码0x03)
功能码0x03主要是为上位机读取传感器(下位机)中的数据所用,
目前读取数据主要是用于上位机读传感器的位移量,说明如下:
“地址”——0xF3,表示RS485网中的地址,目前要与拔码开关
所设置的对应地址一致;具体说明见“附注说明”。
“数据区长度”——填充实际数据长度;
“数据区”——填充实际数据。
2、附注说明
1)本V1.2版协议数据帧中所指地址是代表拔码开关上的拔码所对应的十进制值,