ModbusTCP --古月金真

ModbusTCP是基于以太网TCP/IP的Modbus协议,由MODICON公司于1979年开发。它分为MBAP报文头和PDU帧结构两部分,其中MBAP包含事务处理标志和单元标识符,PDU由功能码和数据组成。通信过程中,主站作为client发起连接,从站作为server响应。ModbusTCP通信涉及多种功能码,如读写线圈、寄存器等,并使用TCP端口号502。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

**古月金真**

简介

Modbus由MODICON公司于1979年开发,是一种工业现场总线协议标准。1996年施耐德公司推出基于以太网TCP/IP的Modbus协议:ModbusTCP。

Modbus协议是一项应用层报文传输协议,包括ASCII、RTU、TCP三种报文类型。

标准的Modbus协议物理层接口有RS232、RS422、RS485和以太网接口,采用master/slave方式通信。

ModbusTCP数据帧

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

报文头MBAP

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

内容 解释
事务处理标志 可以理解为报文的序列号,一般每次通信之后就要加1以区别不同的通信数据报文。
协议标识符 00 00表示ModbusTCP协议。
长度 表示接下来的数据长度,单位为字节。
单元标识符 可以理解为设备地址。

事务处理标志
传输标识用于将请求与未来响应之间建立联系。因此,对TCP 连接来说,在同一时刻,这个标识符必须是唯一的。有几种使用此标识符的方式:

  • 例如:可以作为一个带有计数器的简单“TCP顺序号”,在每一个请求时增加计数器;
  • 也可以用作智能索引或指针,来识别事务处理的内容,以便记忆当前的远端服务器和未处理的请求。
    服务器收接受的请求数量取决于其容量,即:服务器资源量和TCP 窗口尺寸。同样,客户机同时启动事务处理的数量也取决于客户机的资源容量。这个实现参数称为“NnmberMaxofClientTransaction”,必须作为MODBUS 客户机的一个特性进行描述。根据设备的类型,此参数取值为1~16。

单元标识符
在MODBUS或MODBUS+串行链路子网中对设备进行寻址时,这个域是用于路由的目的。在这种情况下,“Unit Identifier”携带一个远端设备的MO

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值