MCGS入门笔记4-同时与S7300(TCP)和S7200_(Modbus_Rtu-主站)通讯

MCGS入门笔记4-同时与S7300(TCP)和S7200_(Modbus_Rtu-主站)通讯.docx

 

前面两篇文章分别与S7200和S7300通讯,本文介绍同时与两个设备通讯,并且MCGS作为中介,传送变量,实现S7300与S7200通讯。

 

实现原理很简单,就是利用MCGS的数据库来同步两个设备的通道变量。这种通讯方式只是项目需要,你可以考虑S7300与S7200直接Modbus通讯。

 

前面文章链接:

MCGS入门笔记1-准备资料和项目操作

MCGS入门笔记2-与S7300以太网通讯 - 夜owl - 博客园 (cnblogs.com)

MCGS入门笔记3-与S7200(master)Modbus-Rtu通讯

 

  1. 组态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。

原文地址:https://www.cnblogs.com/nightowl/p/15169684.html