首页 理论教育 Modbus通信概述: 操作指南

Modbus通信概述: 操作指南

时间:2023-06-29 理论教育 版权反馈
【摘要】:如果需要回应,控制器将生成反馈信息并用Modbus协议发出。在其他网络上,包含了Modbus协议的消息转换,在此网络上使用的帧或包结构。通过Modbus协议指令,可以将S7-200组态为Modbus主站或从站设备。CPU的固化程序版本不低于V2.0才能支持Modbus指令库。

Modbus通信概述: 操作指南

1.Modbus协议简介

Modbus协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其他设备之间可以通信。它已经成为一种通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。

此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了控制器请求访问其他设备的过程,如回应来自其他设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。

当在一个Modbus网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用Modbus协议发出。在其他网络上,包含了Modbus协议的消息转换,在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决地址、路由路径及错误校验的方法。

2.Modbus通信协议

STEP 7-Micro/WIN指令库包括专门为Modbus通信设计的预先定义的子程序和中断服务程序,使得与Modbus设备的通信变得更简单。通过Modbus协议指令,可以将S7-200组态为Modbus主站或从站设备。

可以在STEP 7-Micro/WIN指令树的库文件夹中找到这些指令。当在程序中输入一个Modbus指令时,自动将一个或多个相关的子程序添加到项目中。

西门子指令库以一个独立的光盘销售,在购买和安装了1.1版本的西门子指令库后,任何后续的STEP 7-Micro/WIN V3.2x和V4.0升级都会在不需要附加费用的情况下自动升级指令库(当增加或修改库时)。

【关键点】STEP 7-Micro/WIN V4.0 SP4以前的版本指令库只有从站指令之后的版本才有主站指令库如果需要SP4以前S7-200做主站读者必须在自由口模式下按照Modbus协议编写程序这会很麻烦CPU的固化程序版本不低于V2.0才能支持Modbus指令库

3.Modbus的地址

Modbus地址通常是包含数据类型和偏移量的5个字符值。第一个字符确定数据类型,后面四个字符选择数据类型内的正确数值。

(1)主站寻址

Modbus主站指令可将地址映射到正确功能,然后发送至从站设备。Modbus主站指令支持下列Modbus地址:

●00001~09999是离散输出(线圈)。

●10001~19999是离散输入(触点)。

●30001~39999是输入寄存器(通常是模拟量输入)。(www.xing528.com)

●40001~49999是保持寄存器。

所有Modbus地址都是基于1,即从地址1开始第一个数据值。有效地址范围取决于从站设备。不同的从站设备将支持不同的数据类型和地址范围。

(2)从站寻址

Modbus主站设备将地址映射到正确功能。Modbus从站指令支持以下地址:

●00001~00128是实际输出,对应于Q0.0~Q15.7。

●10001~10128是实际输入,对应于I0.0~I15.7。

●30001~30032是模拟输入寄存器,对应于AIW0~AIW62。

●40001~04XXXX是保持寄存器,对应于V区。

所有Modbus地址都是从1开始编号的。Modbus地址与S7-200地址的对应关系见表6-21。

表6-21 Modbus地址与S7-200地址的对应关系

978-7-111-47553-8-Chapter06-138.jpg

(续)

978-7-111-47553-8-Chapter06-139.jpg

Modbus从站协议允许对Modbus主站可访问的输入、输出、模拟输入和保持寄存器(V区)的数量进行限定。例如,若HoldStart是VB0,那么Modbus地址40001对应S7-200地址的VB0。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈