许可优化
产品
解决方案
服务支持
关于
软件库
当前位置:服务支持 >  软件文章 >  【Modbus通讯】记粤西某电厂DCS通讯调试(基础篇)

【Modbus通讯】记粤西某电厂DCS通讯调试(基础篇)

阅读数 6
点赞 0
article_banner

一、 简介

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

二、 两种协议数据帧的区别

Modbus Rtu的数据帧ADU包含:附加地址、功能码、数据、差错校验。而Modbus TCP的数据帧由MBAP、PDU两大部分组成。两种格式的对比及组成如下图所示:
在这里插入图片描述

2.1. 应用数据单元ADU

Modbus Rtu通讯的数据单元包含附加地址(设备地址)、功能码、数据、差错校验。其完整的数据包如下图所示:

在这里插入图片描述

2.2. 报文头MBAP

MBAP为报文头,长度为7字节:
在这里插入图片描述
在这里插入图片描述

2.3. 帧结构PDU

PDU由功能码+数据组成。功能码为1字节,数据长度不定,由具体功能决定。Modbus中常用的功能码有8个,可分为位操作和字操作两 ,如下表所示:
在这里插入图片描述

三、 Modbus通信方式

Modbus设备可分为主站(poll)和从站(slave)。主站只有一个,从站有多个,主站向各从站发送请求帧,从站给予响应。在使用TCP通信时,主站为 Client 端,主动建立连接;从站为Server端,等待连接。整个通讯过程中,只有主站可以发起数据传输要求,而从站不能主动发起请求只能被动响应。

主站请求:功能码+数据
从站正常响应:请求功能码+响应数据
从站异常响应:异常功能码+异常码,其中异常功能码即将请求功能码的最高有效位置1,异常码指示差错类型
注意:需要超时管理机制,避免无期限的等待可能不出现的应答IANA(Internet Assigned Numbers Authority,互联网编号分配管理机构)给Modbus协议赋予TCP端口号为502,这是目前在仪表与自动化行业中唯一分配到的端口号。

四、 通信详解

下面以最长见的功能码03H(读单个/多个保持寄存器)、10H(写多个保持寄存器)为例,详细分解一下Modbus Rtu通信报文,以加深理解。

4.1. 读保持寄存器——03H

功能码03H读取Modbus从机中保持寄存器的数据,可以是单个寄存器,或者多个连续的寄存器。
1) 发送
假设从机地址为01H,读取的保持寄存器的起始地址为006BH,读取3个寄存器,指令如表4.1-1所示:
在这里插入图片描述

2) 响应
每个保持寄存器的长度为2个字节。保持寄存器之间,低地址寄存器先传输,高地址寄存器后传输。单个保持寄存器,高字节数据先传输,低字节数据后传输,表4.1-2读保持寄存器的返回结果:
在这里插入图片描述

4.2. 写多个保持寄存器——10H

功能码10H写多个保持寄存器,其中每个保持寄存器的长度为两个字节。
1) 发送
假设从机地址为01H,保持寄存器的起始地址为0001H,写入2个寄存器,指令如表4.2-1所示:
在这里插入图片描述

2) 响应
如果写入成功,返回写入的寄存器数量,如表4.2-2所示:

在这里插入图片描述


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删
相关文章
QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空