对比两台S7300PLC之间的MPI通讯
2018-11-24邱利军陈春先赵洋
邱利军 陈春先 赵洋
摘 要:本文提出了MPI网络通讯在教学中重要性和MPI网络通讯的分类,就日常教学中如何解决两台S7-300PLC之间通过MPI网络使用全局数据包设置的通讯教学问题进行了分析,从硬件、软件等方面论述了MPI使用全局数据包网络通讯的基础,并归纳、解決了教学中MPI使用全局数据包网络通讯教学的方法。
关键词:PLC GD MPI
当今工业控制现场通常需要多个PLC之间建立主从通讯,即一个PLC做主站,其余PLC做从站。在实际工作现场,各集成商选用的PLC品牌、型号不同,所以各自的通讯方式也是有很大区别的。S7-300 PLC之间可以建立MPI(MultiPoint Interface)通讯、Profibus-DP通讯或工业以太网(Ethernet)通信等。美国A-B PLC之间可以建立工业以太网(Ethernet)、ControlNet或DeviceNet通讯。三菱PLC之间可以建立以N∶N通讯或Cclink通讯。
西门子S7-300无论是在学校还是企业都占有很高的市场份额, MPI通讯在技术层面上更加丰满,使用方面更加简单方便。教师不能闭门造车,特别是职业教育教学内容要深入社会、了解社会,与企业的需求为教学目标,真正做到与时俱进。因此,日常教学中PLC之间通讯成为重要教学内容之一。本文就 S7-300PLC之间的MPI通讯教学的实现加以论述。
一、MPI通信介绍
MPI通信是用于S7-200/300/400等PLC之间的通讯,MPI通信速率范围很宽,通常默认设置为187.5kbit/s,通信数据量不大时的一种简单经济的通信方式。通讯时要配置相关的通信卡才能进行数据交换。MPI网络的通信速率要达到12Mbit/s的条件是通讯网络接口要设置PROFIBUS接口。全局数据包通信方式、无组态连接通信方式和组态连接通信方式是PLC之间实现MPI通信的方式。
1.全局数据包通信方式
这种通信方式是通过全局数据(Global Data,GD)通信,最多可以有15台S7-300/400PLC之间在同一个MPI子网进行周期性地少量数据的相互交换。每个CPU都可以访问其他CPU的过程输入、过程输出、标志位(M)、定时器、计数器和数据块中的数据。
全局数据通信使用CPU的MPI网络,对CPU没有特殊的要求,也不需要添加任何通信硬件,因此这种是最经济有效的通信方式。
2.无组态连接通信方式
此种通信方式不需要进行MPI通信组态,只需调用SFC65-SFC69系统功能块来实现。该方式适合S7-300/400/200之间的通信。通信时既可以采用单边编程通信方式,也可以双边编程通信方式。
采用双边编程通信方式,通信的两个PLC都需要调用通信块,发送数据的PLC调用发送块发送数据,接收数据的PLC另就要调用接收块来接收数据。S7- 300/400之间的通信方式通常采用双边编程通信方式,发送块是SFC65(X_SEND),接收块是SFC66(X_RCV)。
如果采用单边编程通信方式也就是采用客户机与服务器的访问模式。此时只需要在客户机的一方CPU编写程序,不需要服务器一方的CPU编写程序,客户机通过调用SFC通信块对服务器进行访问。S7 -300/400/200之间的通信一般采用单边编程通信方式。S7-200只能作为服务器,S7-300/400的CPU可以作为客户机或服务器。SFC67(X_GET)用来读回服务器指定数据区中的数据并存放到本地的数据区中,SFC68(X_PUT)用来将数据写到服务器中指定的数据区。调用系统功能通信方式不能和全局数据通信方式混合使用。
3.MPI网络中的组态连接通信方式
只适合于S7-300/400以及S7-400/400之间的通信。S7-300作为服务器,客户机S7-400对服务器的数据进行读写操作。数据包长度最大能达到160B。
全局数据通信使用CPU集成的MPI网络,不需增加通信处理器。用户不需要编写任何程序,在硬件组态时只需组态好所有MPI通信的PLC站间数据发送区与接收区就能实现通讯。本课题主要研究全局数据包MPI的通信方式。
二、两台S7300PLC之间MPI通讯的设计方案
在教学中,笔者依托西门子300PLC实训室为教学载体,进行两台S7300PLC之间MPI通讯教学。
1.软、硬件需求
电脑配置要求最好是系统WIN7及以下的操作系统,因为工业控制系统网络安全要求的原则是稳定性、可用性和安全性。
编程软件要求使用STEP7 V5.5 SP3以上。
硬件根据西门子300PLC实训室现有条件选用CPU315-2DP两台PLC、PC_adapter适配器、CP341-RS422/485通讯模块、DI16xDC24V数字量输入模块、DO16xDC24V/0.5A数字量输出模块以及12位精度的AI2x12Bit/AO2x12Bit模拟量输入/模块输出模块等。
2.PLC的硬件组态
在PC机上建立一个全局数据包通信项目,在项目中插入两个300工作站,一个工作站定义为主站,另一个工作站定义为从站;并在各自工作站中根据工作台实际硬件模块配置进行300工作站软件中的硬件组态。其中包括CPU模块、数字量输入/输出模块、通讯模块以及模拟量输入/输出模块等。由于只进行PLC之间的MPI通讯,故电源模块可以忽略不进行硬件组态。
3.设置MPI通讯的参数
(1)设置PLC侧的参数。组态PLC硬件时,在CPU属性“Properties”对话框中设置MPI属性,即通信地址和通信速率。在主站PLC的CPU属性对话框建立MPI通讯并设置PLC的地址为“2”,通信速率187.5kbps;同理,在从站PLC的CPU属性对话框建立MPI通讯并设置PLC的地址为“3”,通信速率187.5kbps;为确保MPI通讯成功,通信速率一致,通信“站地址”不能相同。在Netpro网络中检查组态是否正确。
(2)设置PC侧参数。PC侧需要设置PC/PC接口与PLC侧参数匹配。
在“控制面板”中的“Set PG/PC Interface”中选择PC_Adapter(MPI)作为编程卡,并在“应用程序访问点”中选择“S7 0NLINE”查看。
将PC Adapter(PC适配器)的USB口连接到PC机上,DB9针接头连接CPU的MPI接口即可。
三、测试通信
1.数据发送和接收区的组态
勾选MPI通讯网络,在菜单“Options”选项中,选择“Define Global Date”,进入数据发送和接收区组态界面。在组态界面中选择需要通讯PLC站的CPU。
在主站CPU栏底下填上数据的接收区地址MW10,发送区地址MW10;在从站CPU栏底下填上数据的接收区地址MW10,发送区地址MW20。
MPI通讯主站(2号站)与从站(3号站)数据交换的流程是:2号站MW1O开始的2B数据——发送到3号MW1O开始的2B数据;3号站MW20开始的2B数据——发送到2号站MW10开始的2B数据。
在MPI全局数据包通信方式中,在组态完发送与接收区后进行编译,就可以看到通信区都有CD IN号。
编译保存组态内容,把组态的硬件及数据分别下载到对应的PLC中,做好MPI全局数據包通信的准备工作。
2.通讯监测
在从站PLC建立变量表VAT1以便监测MPI全局数据包通讯结果,打开变量监测表,在“ADDRESS”地址栏内写入“MW20”和“MW10”;并在MW20的“Modify value”中填写“W#16#0040”,将此数值写入到从站PLC中,在“status value”中显示“W#16#0040”,在MW10的status value”中也显示“W#16#0040”。这说明从站MW20中的数据“W#16#0040”已写入,并通全局数据包通信方式传给了主站;再由主站传回到从站的MW10中,从而完成了两台S7300PLC之间的MPI通讯。
四、小结
在S7300PLC之间的MPI全局数据包通讯需要注意在PLC硬件组态中CPU的通讯网络应选择MPI网络,通信速率必须保持一致,且MPI网络地址不能冲突;在下载硬件前,先选择PG/PC的设置为PC_adapter MPI;在下载硬件和通讯监测时CPU的通信端口要选用MPI端口。
S7300PLC之间的MPI全局数据包通信通讯最多有15 个CPU 能够参与通讯,一个数据包最多占22个字节。这样就限制了通讯的速度和通讯的数据长度。发送区与接收区要求要相同。接收和发送地址可以是D、B、M、I、Q。发送与接收的字节长度一定要相同。接收区与发送区只能采用绝对寻址方式寻址。
本文就两台S7300PLC之间MPI的通讯进行教学方案设计,依据此方法可进行最多15太PLC之间的MPI通讯,也可S7200与S7300PLC之间的MPI通讯。总之,可以根据学生的具体情况和学时数调整教学内容。
参考文献:
[1] 秦益霖.西门子S7-300 PLC应用技术[M].北京:电子工业出版社,2012.
[2] 李莉.西门子S7-300 PLC项目化教程[M].北京:机械工业出版社,2018.
(作者单位:北京电子科技职业学院机电工程学院)