「图文」详解ModbusTCP协议

概述

Modbus由MODICON公司于1979年开发,是一种工业现场总线协议标准。1996年施耐德公司推出基于以太网TCP/IP的Modbus协议:ModbusTCP。Modbus协议是一项应用层报文传输协议,包括ASCII、RTU、TCP三种报文类型。标准的Modbus协议物理层接口有RS232、RS422、RS485和以太网接口,采用master/slave方式通信。


A

Modbus TCP数据帧


ModbusTCP的数据帧可分为两部分:MBAP+PDU。

(一)报文头MBAP:MBAP为报文头,长度为7字节,组成如下:

(二)帧结构PDU:PDU由功能码+数据组成。功能码为1字节,数据长度不定,由具体功能决定。

(1)功能码:Modbus的操作对象有四种:线圈、离散输入、保持寄存器、输入寄存器。

(2)根据对象的不同,Modbus的功能码有:

(3)说明更详细的表:


B

PDU详细结构

(1)0x01:读线圈:在从站中读1~2000个连续线圈状态,ON=1,OFF=0

(2)0x05:写单个线圈:将从站中的一个输出写成ON或OFF,0xFF00请求输出为ON,0x000请求输出为OFF。

(3)0x0F:写多个线圈:将一个从站中的一个线圈序列的每个线圈都强制为ON或OFF,数据域中置1的位请求相应输出位ON,置0的位请求响应输出为OFF。

(4)0x02:读离散量输入:从一个从站中读1~2000个连续的离散量输入状态。

(5)0x04:读输入寄存器:从一个远程设备中读1~2000个连续输入寄存器。

(6)0x03:读保持寄存器:从远程设备中读保持寄存器连续块的内容。

(7)0x06:写单个保持寄存器:在一个远程设备中写一个保持寄存器。

(8)0x10:写多个保持寄存器:在一个远程设备中写连续寄存器块(1~123个寄存器)。

C

Modbus TCP示例报文

ModBusTcp与串行链路Modbus的数据域是一致的,具体数据域可以参考串行Modbus。这里给出几个ModbusTcp的链路解析说明,辅助新人分析报文。





D

Modbus TCP通信

(一)通信方式

Modbus设备可分为主站(poll)和从站(slave)。主站只有一个,从站有多个,主站向各从站发送请求帧,从站给予响应。在使用TCP通信时,主站为client端,主动建立连接;从站为server端,等待连接。

(二)通信过程

E

仿真软件

展开阅读全文

页面更新:2024-04-30

标签:报文   寄存器   线圈   字节   详解   长度   数量   协议   通信   功能   地址   图文   数据

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top