• 周五. 4 月 26th, 2024

Modbus RTU通讯协议使用说明

2 月 13, 2019

看到很多弟兄们在做Modbus通讯时遇到很多问题,包括Modbus的请求或响应的基本知识,包括编程等等,现将我的一点拙见写出来,供大家参考和批评指正。

Modbus协议最早有施耐德旗下的Modicon公司与1978年提出,目前已经称为国际标准和国家、行业标准。

该协议是典型的串行通讯协议,支持CRC或LRC校验。通讯速率支持2.4kbps~115.2kbps,更快也可以,但是误码率较高。支持RTU或ASCII通讯凡是,支持奇/偶/无校验。

RTU通讯时标准通讯参数为支持8个数据位、1个停止位、偶校验;
ASCII通讯时标准通讯参数为支持7个数据位、1个停止位、偶校验;
Modbus总线理论上支持的从站个数可达248个(单条总线、不加中继时连接的设备个数与通讯端口和连接的设备有关,有的可连接16个设备,最大连接32个设备),不加中继双绞线距离可达1200米。

Modbus通讯时最常用的是RTU通讯方式:

1.通讯时读请求格式如下:

从站地址(1个字节)、功能代码(1个字节)、从站数据起始地址(2个字节)、读数据长度(2个字节)、CRC校验(2个字节)。

2.读响应格式如下:

从站地址(1个字节)、功能代码(1个字节)、读数据长度(1个字节)、数据(长度与数据长度中的字节数相同)、CRC校验(2个字节)。

3. 写请求格式:

从站地址(1个字节)、功能代码(1个字节)、从站数据起始地址(2个字节)、写出数据长度(1个字节)、写出数据(长度与数据长度字节相同)、CRC校验(2个字节)。

4. 写响应格式:

从站地址(1个字节)、功能代码(1个字节)、从站数据起始地址(2个字节)、写数据长度(2个字节)、CRC校验(2个字节)。
如果为RTU通讯,校验方式为CRC校验;ASCII通讯时,校验方式为LRC校验方式。

版权声明:网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时联络我们,采取适当措施,避免给双方造成不必要的经济损失。