MODBU 通讯协议及编程
ModBus 通讯协议分为 RTU 协议和 ASCII 协议,我公司的多种仪表都采用 ModBus RTU 通讯协
议,如:YD2000 智能电力监测仪、巡检表、数显表、光柱数显表等。下面就 ModBu
s RTU 协议简要介绍如下:
、通讯协议
(一)、通讯传送方式 :
通讯传送分为独立的信息头,和发送的编码数据。以下的通讯传送方式定义也与 MO
DBUS RTU 通讯规约相兼容:
编码 8 位二进制
起始位 1 位
数据位 8 位
奇偶校验位
1 位(偶校验位)
停止位 1 位
错误校检 CRC(冗余循环码)
初始结构= >4 字节的时间
地址码= 1 字节
功能码=
1
字节
数据区= N 字节
错误校检
=
16 位 CRC 码
结束结构 = >4 字节的时间
地址码:地址码为通讯传送的第一个字节。 这个字节表明由用户设定地址码的从机将
接收由主机发送来的信息。并且每个从机都有具有唯一的地址码,并且响应回送均以各自 的地址码开
始。 主机发送的地址码表明将发送到的从机地址,而从机发送的地址码表明回 送的从机地址。
功能码:通讯传送的第二个字节。 ModBus 通讯规约定义功能号为 1 到 127。本仪表只
利用其中的一部分功能码。作为主机请求发送,通过功能码告诉从机执行什么动作。 作为
从机响应,从机发送的功能码与从主机发送来的功能码一样,并表明从机已响应主机进行 操作。如果
从机发送的功能码的最高位为
1
(比如功能码大与此同时 127),则表明从机没
有响应操作或发送出错。
数据区:数据区是根据不同的功能码而不同。数据区可以是实际数值、设置点、主机 发送给从
机或从机发送给主机的地址。
CRC 码:二字节的错误检测码。
(二)、通讯规约:
当通讯命令发送至仪器时,符合相应地址码的设备接通讯命令,并除去地址码,读 取信息,如
果没有出错,则执行相应的任务;然后把执行结果返送给发送者。返送的信息
中包括地址码、执行动作的功能码、执行动作后结果的数据以及错误校验码。 如果出错就