嵌入式 > 嵌入式开发 > 详情

Modbus协议概述

发布时间:2020-08-07 发布时间:
|

Modbus 通信线

Modbus是OSI模型第7层上的应用层报文传输协议,它在连接至不同类型总线或网络的设备之间提供客户机/服务器通信。目前,可以通过下列三种方式实现Modbus通信:
以太网上的TCP/IP;
各种介质(有线:EIA/TIA-232-F、EIA-422、EIA/TIA-485-A;光纤、无线等)上的异步串行传输;
Modbus PLUS,一种高速令牌传递网络。
作为中国国家标准的“基于Modbus协议的工业自动化网络规范”在描述Modbus应用协议的基础上,提供了Modbus应用协议在串行链路和TCP/IP上的实现指南。
Modbus数据单元
Modbus协议定义了一个与基础通信层无关的简单协议数据单元(PDU),特定总线或网络上的Modbus协议映射能够在应用数据单元(ADU)上引入一些附加域。启动Modbus事务处理的客户机创建Modbus PDU,其中的功能码向服务器指示将执行哪种操作,功能码后面是含有请求和响应参数的数据域。


通用Modbus帧

当Modbus应用在串行链路上时,Modbus ADU的地址域只含有从站地址,而差错校验码是根据报文内容执行“冗余校验”计算的结果,根据使用的传输模式(RTU或ASCII)采用不同的计算方法。


串行链路上的Modbus帧

当Modbus应用在TCP/IP上时,将使用一种专用报文头——MBAP报文头(Modbus应用协议报文头)来识别Modbus应用数据单元。


TCP/IP上的Modbus帧


Modbus标准功能码
Modbus协议定义了三种功能码:
◆ 公共功能码:被确切定义的、唯一的功能码,由Modbus-IDA组织确认、可进行一致性测试且已在MB IETF RFC中归档
◆ 用户定义的功能码:用户无需Modbus-IDA组织的任何批准就可以选择和实现的功能码,但是不能保证被选功能码的使用是唯一的
◆ 保留功能码:某些公司在传统产品上现行使用的功能码,不作为公共使用。
公共功能码定义如下表所示。

Modbus通信原理
Modbus是一种简单的客户机/服务器型应用协议,其通信遵循以下的过程:
◆ 客户端准备请求并向服务器发送请求;
◆ 服务器分析并处理客户端的请求,然后向客户端发送结果;
◆ 如果出现任何差错,服务器将返回一个异常功能码。


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
定时器CTC模式的测试