首页 理论教育 无组态连接MPI通信的应用优化方案

无组态连接MPI通信的应用优化方案

时间:2023-06-29 理论教育 版权反馈
【摘要】:无组态连接MPI通信适合S7-200、S7-300、S7-400之间的通信,通过调用SFC65、SFC66、SFC67、SFC68来实现。无组态通信不能和全局数据方式混合使用。先插入导轨,再插入CPU模块,如图6-25所示,双击“CPU 314C-2DP”,打开MPI通信参数设置界面,单击“属性”按钮,如图6-26所示。图6-25 组态客户端硬件3)设置客户端的MPI通信参数。

无组态连接MPI通信的应用优化方案

组态连接MPI通信适合S7-200、S7-300、S7-400之间的通信,通过调用SFC65、SFC66、SFC67、SFC68来实现。无组态通信不能和全局数据方式混合使用。

无组态通信分为双边通信方式和单边通信方式。

单边无组态通信方式只在一方编写通信程序,即客户端和服务器端的访问模式。编写程序的一方为客户端,另一方为服务器端。当S7-200/300/400进行单边无组态通信时,S7-300/400既可作为客户端,也可以作为服务器端,但S7-200只能作为服务器端。

【例6-2】有两台设备,分别由一台CPU 314C-2DP和一台CPU 226CN控制,从设备1上的CPU 314C-2DP发出起停控制命令,设备2的CPU 226CN收到命令后,对设备2进行起停控制,同时设备1上的CPU 314C-2DP监控设备2的运行状态。

【解】

将设备1上的CPU 314C-2DP作为客户端,客户端的MPI地址为2,将设备2上的CPU226CN作为服务器端,服务器端的MPI地址为3。

1.主要软硬件配置

①1套STEP 7 V5.5CN。

②1台CPU 314C-2DP。

③1台CPU 226CN。

④1台EM 277。

⑤1根PC/MPI适配器(或者CP 5611卡)。

⑥1根MPI电缆(含两个网络总线连接器)。

⑦1套STEP 7-Micro/WIN V4.0 SP9。

MPI通信硬件配置图如图6-22所示,PLC接线图如图6-23所示。

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

图6-22 MPI通信硬件配置图

a)方案1 b)方案2

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

图6-23 PLC接线图

从图6-22可以看出S7-200系列PLC与S7-300系列PLC间的MPI通信有两种配置方案。方案1只要将MPI网络电缆(含两个网络总线连接器)连接在S7-300系列PLC的MPI接口和S7-200系列PLC的编程口上即可,而方案2却需要另加一个EM 277模块,显然成本多一些,但若S7-200系列PLC的编程接口不够用时,方案2是可以选择的配置方案。

2.硬件组态

S7-200系列PLC与S7-300系列PLC间的MPI通信只能采用无组态通信,无组态通信指通信无需组态,完成通信任务,只需要编写程序即可。只要用到S7-300系列PLC,硬件组态还是不可缺少的,这点读者必须清楚。

1)新建工程并插入站点。新建工程,命名为“6-1”,再插入站点,重命名为“Master”,如图6-24所示,双击“硬件”图标,打开硬件组态界面。

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

图6-24 新建工程并插入站点

2)组态客户端硬件。先插入导轨,再插入CPU模块,如图6-25所示,双击“CPU 314C-2DP”,打开MPI通信参数设置界面,单击“属性”按钮,如图6-26所示。

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

图6-25 组态客户端硬件

3)设置客户端的MPI通信参数。先选定MPI的通信波特率为187.5 kbit/s,再选定客户端的MPI地址为“2”,然后单击“确定”按钮,如图6-27所示。最后编译保存和下载硬件组态。

978-7-111-47553-8-Chapter06-35.jpg(www.xing528.com)

图6-26 打开MPI通信参数设置界面

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

图6-27 设置客户端的MPI通信参数

4)打开系统块。完成以上步骤后,S7-300的硬件组态完成,但还必须设置S7-200的通信参数。先打开STEP 7-Micro/WIN,选定工具条中的“系统块”按钮,并双击之,如图6-28所示。

5)设置服务器端的MPI通信参数。先将用于MPI通信的接口(本例为port0)的地址设置成“3”,一定不能设定为“2”,再将波特率设定为“187.5 kbit/s”,这个数值与S7-300的波特率必须相等,最后单击“确认”按钮,如图6-29所示。这一步不少初学者容易忽略,其实这一步非常关键,因为各站的波特率必须相等,这是一个基本原则。系统块设置完成后,还要将其下载到S7-200中,否则通信是不能建立的。

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

图6-28 打开系统块

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

图6-29 设置服务器端的MPI通信参数

【关键点】硬件组态时必须将S7-200和S7-300的波特率设置值为相等此外S7-300的硬件组态和S7-200的系统块必须下载到相应的PLC中才能起作用

3.相关指令介绍

X_PUT(SFC68)是发送数据的指令,通过SFC68(X_PUT),将数据写入不在同一个本地S7站中的通信伙伴。在通信伙伴上没有相应系统功能块。在通过REQ=1调用SFC68之后,激活写作业。此后,可以继续调用SFC68,直到BUSY=0指示接收到应答为止。

必须要确保由SD参数(在发送CPU上)定义的发送区和由VAR_ADDR参数(在通信伙伴上)定义的接收区长度相同。SD的数据类型还必须和VAR_ADDR的数据类型相匹配。X_PUT(SFC68)指令的输入和输出的含义见表6-8。

表6-8 X_PUT(SFC68)指令的输入和输出含义

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

X_GET(SFC67)是接收数据的指令,通过SFC67(X_GET),可以从本地S7站以外的通信伙伴中读取数据。在通信伙伴上没有相应系统功能块。在通过REQ=1调用SFC67之后,激活读作业。此后,可以继续调用SFC67,直到BUSY=0指示数据接收为止。然后,RET_VAL便包含了以字节为单位的、已接收的数据块的长度。

【关键点】ANY数据类型是指数据类型是任意的即可以是字节双字等但接收端和发送端必须是相同的

必须要确保由RD参数定义的接收区(在接收CPU上)至少和由VAR_ADDR参数定义的要读取的区域(在通信伙伴上)一样大。RD的数据类型还必须和VAR_ADDR的数据类型相匹配。X_GET(SFC67)指令的输入和输出的含义见表6-9。

表6-9 X_GET(SFC67)指令的输入和输出含义

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

4.程序编写

X_PUT(SFC68)发送数据的指令和X_GET(SFC67)接收数据的指令是系统功能,也就是系统预先定义的功能,只要将“库”展开,再展开“Standard library(标准库)”,选定“X_PUT”或者“X_GET”,再双击之,“X_PUT”或者“X_GET”就自动在网络中指定的位置弹出,如图6-30所示。

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

图6-30 X_PUT和X_GET指令的位置

客户端的程序如图6-31所示,服务器端并不需要编写程序。

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

图6-31 客户端程序

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

图6-31 客户端程序(续)

【关键点】本例客户端地址为2”,服务器端的地址为3”,因此硬件配置采用方案1时必须将PPI口的地址设定为3”。而采用方案2时必须将EM 277的地址设定为3”,设定完成后还要将EM 277断电新设定的地址才能起作用方案2不用设置波特率指令X_PUT的参数SD和VAR_ADDR的数据类型可以据实际情况确定但在同一程序中数据类型必须一致

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

我要反馈