首页 理论教育 S7-200 PLC Modbus通信:概述与使用注意事项

S7-200 PLC Modbus通信:概述与使用注意事项

时间:2023-06-27 理论教育 版权反馈
【摘要】:S7-200 PLC只支持Modbus RTU协议,不支持Modbus ASCII协议。Modbus通信双方必须同时支持上述模式中的一种。Modbus主站指令可将S7-200组态为Modbus RTU主站设备与一个或多Modbus从站设备通信。③Modbus主站协议指令使用3个子程序和1个中断例行程序。

S7-200 PLC Modbus通信:概述与使用注意事项

1.S7-200PLCModbus通信概述

Modbus是公开通信协议,其最简单的串行通信部分仅规定了串行线路的基本数据传输格式,在OSI七层协议模型中只到1、2层。

Modbus具有两种串行传输模式:ASCII和RTU。它们定义了数据如何打包、解码的不同方式。支持Modbus协议的设备一般都支持RTU格式。S7-200 PLC只支持Modbus RTU协议,不支持Modbus ASCII协议。

Modbus通信双方必须同时支持上述模式中的一种。

Modbus是一种单主站的主/从通信模式。Modbus网络上只能有一个主站存在,主站在Modbus网络上没有地址,从站的地址范围为0~247,其中0为广播地址,从站的实际地址范围为1~247,图8-37所示为S7-200 Modbus网络示意图

一个Modbus通信的传输字符应包括1个起始位、8个数据位、1个或0个校验位(奇偶校验或无校验可选择)以及1个停止位。

978-7-111-49003-6-Chapter08-52.jpg

图8-37 S7-200 Modbus网络示意图

Modbus通信标准协议可以通过各种传输方式传播,如RS-232C、RS-485、光纤以及无线电等。在S7-200 CPU通信口上实现的是RS485半双工通信,使用的是S7-200的自由口功能。

S7-200 PLC编程软件STEP 7-Micro/WIN的指令库中,包括预组态的子程序和专门设计用于Modbus通信的中断例行程序,这就使得Modbus主站和从站设备的通讯变得简单。Modbus从站指令,可以将S7-200组态为Modbus RTU从站设备与Modbus主站设备进行通信。Modbus主站指令可将S7-200组态为Modbus RTU主站设备与一个或多Modbus从站设备通信。

Modbus协议指令,在使用前,需要在STEP7-Micro/WIN指令树的库文件夹中安装,安装完成后,可以在库文件中找到Modbus协议指令,如图8-38所示。当在程序中输入一个Modbus指令时,自动将一个或多个相关的子程序添加到项目中。

978-7-111-49003-6-Chapter08-53.jpg

图8-38 S7-200 Modbus库协议指令

Modbus主站协议库有两个版本:一个版本使用CPU的端口0为“Modbus Master Port0”;另一个版本使用CPU的端口1为“Modbus Master Port 1”。端口1库在POU名称后附加了一个_P1(例如,MBUS_CTRL_P1),用于指示POU使用CPU上的端口1。两个Mod-bus主站库在其他方面均完全相同。

Modbus从站库仅支持端口0通信,故Modbus从站协议也只有一个版本为“Modbus Slave Port 0”。

2.S7-200PLCModbus协议使用注意事项(www.xing528.com)

1)Modbus主站协议指令使用来自S7-200的以下资源:

初始化Modbus从站协议使特定的CPU端口专用于Modbus主站协议通信。当CPU端口用于Modbus主站协议通信时,它无法用于其他用途,包括与STEP 7-Micro/WIN通信。MBUS_CTRL指令控制Port0的设定是Modbus主站协议还是PPI。MBUS_CTRL_P1指令(来自端口1库)控制将端口1分配给Modbus主站协议或PPI。

②Modbus主站协议指令影响与所使用的自由端口通信相关的所有SM位置,即在自由口通信里介绍的SMB特殊寄存器。

③Modbus主站协议指令使用3个子程序和1个中断例行程序。

④Modbus主站协议指令要求约1620B的程序空间来存储两个Modbus主站指令支持例行程序。

⑤Modbus主站协议指令的变量要求284B的V存储区,该块的起始地址由用户指定,保留给Modbus变量。故在使用V存储区时,不能与分配给Modbus主站协议指令所占的V存储区相重复。

⑥S7-200 CPU必须是固化程序版本V2.0或更高版本,才能支持Modbus主站协议库。

⑦Modbus主站库对某些功能使用用户中断,不得由用户程序禁止用户中断。

2)Modbus从站协议指令占用S7-200的以下资源:

①初始化Modbus从站协议占用Port 0作为Modbus从站协议通信。当Port 0用作Modbus从站协议通信时,它不能再用作任何其他目的,包括与STEP 7-Micro/WIN通信。MBUS_INIT指令控制Port 0的设定是Modbus从站协议还是PPI。

②Modbus从站协议指令影响与端口0自由端口通信相关的所有SM位置。

③Modbus从站协议指令使用3个子程序和2个中断服务程序。

④Modbus从站协议指令的两个Modbus从站指令及其支持子程序需占用1857B的程序空间。

⑤Modbus从站协议指令的变量要求779B的V寄存器。该块的起始地址由用户指定,保留给Modbus变量。

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

我要反馈