Modbus 104规约详解:报文结构与交互流程

需积分: 48 22 下载量 119 浏览量 更新于2024-09-11 收藏 660KB DOC 举报
"Modbus是一种通信协议,常用于工业设备之间的数据交换,如PLC、SCADA系统等。本文档是Modbus的基础教程,重点介绍了Modbus帧结构和104规约的应用。104规约是基于TCP/IP协议栈的,用于在Modbus网络中进行数据传输。" 在Modbus协议中,104规约是一种广泛使用的通信标准,尤其适用于工业自动化领域的远程终端单元(RTU)和控制器之间的通信。104报文由三部分组成:APDU(应用规约数据单元)、APCI(应用规约控制信息)和ASDU(应用服务数据单元)。APDU等于APCI加上ASDU,其中APCI定义了报文的控制信息,而ASDU则包含实际的数据。 1. 104报文格式详解: - I(信息传输格式类型)格式:这种格式的报文用于传输信息,包括ASDU。通常用于主站请求从站数据或从站响应主站的请求。 - U(不计数的控制功能类型)格式:U格式报文不包含ASDU,主要用于控制数据传输,如启动/停止数据传输以及TCP链路测试。 - S(计数的监视功能类型)格式:S格式报文在没有I格式报文回应时,用于确认报文接收,同样不包含ASDU。 2. 报文结构示例: 报文通常以启动符68开始,接着是长度字段,例如长度为0E表示14字节的报文。控制域(如3C009E02)包含发送序号和接收序号,接着是类型标识(如64表示召唤全部数据),可变结构限定词(定义信息类型,如离散信息报告),传输原因(如0600表示激活),公共地址(RTU地址)以及信息体地址。 3. 数据传输步骤: - 首次握手(U帧):主站与从站之间通过发送和接收特定的U格式报文(如激活传输启动)建立连接。 - 总召唤(I帧):主站使用I格式报文发起总召,请求从站的所有数据。报文包含发送和接收序号,类型标识,可变结构限定词,传输原因,公共地址以及信息体地址。 Modbus 104规约提供了一种可靠且灵活的方式来在不同设备之间交换数据,其报文结构清晰,便于实现和理解。在实际应用中,理解这些基础概念和格式对于正确配置和调试Modbus网络至关重要。通过深入学习和实践,可以有效地运用Modbus技术解决工业自动化中的各种通信问题。