嵌入式仪表RS485通讯协议电子说明书.pdf
RS485通讯协议
(V1.7)
通讯概述:
该网络电力仪表提供串行异步半双工RS485通讯接口,采用MODBUS-RTU通信协议,各种数据信
息均可在通讯线路上传送。在一条路上可以同时连接多达32个网络电力仪表,每个网络电力仪表均可
以设定其通讯地址,通讯连接应使用带有铜网的屏蔽双绞线,线径不小于0.5mm²。不要用平行线,因
易引入干扰,布线时应使用通信线远离强电电缆或其他强电场环境,组网时推荐采用型网络的。不建
议采用星形或其他的连接方式。
通讯协议ModBus-RTU:
MODBUS/RTU通讯协议:MODBUS协议在一根通讯线采用主从应答方式的通讯连接方式。首先
,主计算机的信号寻址到一台唯一地址的终端设备(从机),然后,终端设备发出的应答信号以相反
的方向传输给主机,即:在一根单独的通讯线上信号沿着相反的两个方向传输所有的通讯数据流(半
双工的工作模式)。
MODBUS协议只允许在主机(PC,PLC,变频器等)和终端设备之间通讯,而不允许独立的终端
设备之间的数据交换,这样各终端设备不会在它们初始化时占据通讯线路,而仅限于响应到达本机的
查询信号。
主机查询:查询消息帧包括设备地址码、功能码、数据信息码、校验码。地址码表明要选中的从
机设备功能代码告之被选中的从设备要执行何种,例如功能代码03或0是要求从设备读寄存器并返回它
们的内容;数据段包含了从设备要执行功能的其他附加信息,如在读命令中,数据段的附加信息有从
何寄存器开始读的寄存器数量;校验码用来检验一帧信息的正确性,为从设备提供了一种验证消息内
容是否正确为从设备提供了一种验证消息内容是否正确的方法,它采用CRC16的校准规则。
从机响应:如果从设备产生一正常的回应,在回应消息中有从机地址码、功能代码、数据信息码
包括了设备收集的数据:如寄存器值或状态。如果有错误发生,我们约定是从机不进行响应。
传输方式是指一个数据帧内一系列独立的数据结构以及用于传输数据的有限规则,下面定义了与
MODBUS-RTU协议方式相兼容的传输方式。每个字节的位:1个起始位、8个数据位。2个停止位(无
奇偶校验位)。
通讯报文格式:
数据帧的结构:即报文格式。
地址码功能码数据码校验码
1个字节1个字节N个字节2个字节
地址码:地址码在帧的开始部分,由一个字节(8位二进制码)组成,十进制为0~255,在我们的
系统中只使用1~247,其他地址保留。这些位标明了用户指定的终端设备的地址,该设备将接接收来
自与之相连的主机数据。每个终端设备的地址必须是唯一,仅仅被寻址到的终端会响应包含了该地址
的查询。当终端发送回一个响应,响应中的从机地址数据告诉了主机那台终端与之进行通信。
功能码告诉了被寻址到的终端执行何种功能。下表列出多功能电力仪表所支持的功能码,以及它
们的意义和功能。
1
功能码意义行为
03/04读数据寄存器获得一个或多个寄存器的当前二进制
05遥控继电器值遥控继电器
06写单个寄存器设定二进制值到相关的寄存器中
数据码包含了终端执行特定功能所需要的数据或者终端响应查询时采集到的数据。这些数据
的内容可能是数据、参考地址或者设置值。例如:功能域码告诉终端读取一个寄存器,数据域侧
需要反映从哪个寄存器开始及读取多少个数据,而从机数据码回送内容则包含了数据长度和相应
的数据。
校验码错误校验(CRC)域占用两个字节,包含了一个16位的二进制值。CRC值由传输设备
计算出来,然后附加到数据帧上,接收设备在接收数据时重新计算CRC值,然后与接收到的CRC
域中的值进行比较。如果这两个值不相等,就发生了错误。
生成一