MCGS入门笔记4-同时与S7300(TCP)和S7200_(Modbus_Rtu-主站)通讯.docx
前面两篇文章分别与S7200和S7300通讯,本文介绍同时与两个设备通讯,并且MCGS作为中介,传送变量,实现S7300与S7200通讯。
实现原理很简单,就是利用MCGS的数据库来同步两个设备的通道变量。这种通讯方式只是项目需要,你可以考虑S7300与S7200直接Modbus通讯。
前面文章链接:
MCGS入门笔记2-与S7300以太网通讯 - 夜owl - 博客园 (cnblogs.com)
MCGS入门笔记3-与S7200(master)Modbus-Rtu通讯
组态MCGS
1.1添加S7200通讯驱动
添加串口,主要设置端口号
添加设备,从站要选择
modbus串口数据转发设备,
1.2添加S7300通讯驱动
添加设备驱动,选择PLC-西门子-西门子CP443…
设置IP地址
1.3变量连接
这一步是MCGS连通两个设备通道变量的关键,之前添加变量的步骤是
增加设备通道-连接变量
连接变量有两种连接方式:自定义变量连接和默认设备变量连接,如果所定义的变量没有在实时数据库中定义,则在点击设备组态窗口下面的确认按钮时会给出提示,自动把所有变量添加到实时数据库中。
之前用的自定义变量连接时,在300和200设备分别创建了两套变量,所以在MCGS实时数据库分别会有两套。
现在只需要在实时数据库中创建一套变量,分别连接两个设备的通道变量,就能实现同步了。
实时数据库创建变量并且连接有多种方法,
比如先在数据库创建好变量,然后再通道变量连接时选择已添加好的变量
或者设备变量连接没有在实时数据库中定义的变量,给出提示,自动把所有变量添加到实时数据库中。
这里演示一种方法
1
添加S7200的通道变量,40001-40100,
连接数据库没有定义的变量名,S_TWO_40001-S_TWO_40100。
提示是否添加,添加全部数据后,数据库也存在刚刚定义的变量
2
添加S7300的设备通道变量,MW110-MW210
并且连接刚刚定义的数据库变量,S_TWO_40001-S_TWO_40100
另外创建独立的MW100-MW103(图中VW1000-VW103)用于测试
这样连接后通道变量,S7300和S7200就对应起来了。
中间以数据库变量S_TWO_40001-S_TWO_40100作为中间变量。
像这样
S7300: MW110-MW210
TCP/IP ↕
MCGS: S_TWO_40001-S_TWO_40100
Modbus Rtu ↕
Modbus地址: 40001-40100
那是不是S7300的MW110-MW210,就对应S7200的VW110-VW210呢,这个取决于主站的程序编程。
1.4画面组态
画面组态也参考之前的步骤,
假设你已经组态好两个画面,只需要拷贝复制到一个画面
然后添加测试的300连200的画面功能,添加MW114的通道变量
添加MW106的独立变量,图上的命名VW103实际对应的是MW106通道。
整体的效果如图。
二、组态S7-200和S7-300
关于plc的组态跟之前两篇文章是一样的。
2.1 S7200程序
编写主站程序,将VB100和Modbus地址40001通道对应起来,将S7200的变量写入保持寄存器40001开始的100个字。
现在的变量对应就是这样
S7300: MW110-MW210
TCP/IP ↕
MCGS: S_TWO_40001-S_TWO_40100
Modbus Rtu ↕
Modbus地址: 40001-40100
↕
S7200: VW110-VW210
2.2 S7300程序
就一个加法指令,然后创建一个检测表在线监视。
三.硬件连接
硬件连接就是
S7200-485接口-MCGS-RJ45接口-S7300 ,
具体内容参考前两章。
四.测试效果
在线监视S7200的状态表,写入VW110-VW118 4个字随机数值,
在线监视S7300的监控表,查看MW110-MW118是否和上面同步,再查看MW106的数值,
查看触摸屏MW114的数值,检查MW106的数值是否MW114+10。