1.概述
通过以太网可以实现S7-1200与S7-300连接通信。S7-300可以使用带集成口CPU或通信处理器(CP343-1)连接到工业以太网上,它们都提供S7通信的功能,既可作为客户机,也可以作为服务器,所拥有的连接资源可参见相关产品手册;S7-1200集成以太网接口,提供S7通信的功能,只能作为服务器,可以同时建立3个通信连接。
下面会用一个实例来描述S7-300如何与S7-1200建立通信连接。
192.168.0.8192.168.0.18
192.168.0.100

图1:实例网络拓扑图
S71200与S7-300通过S7通信的基本原理如下图所示:

图2:S7-300与S7-1200通信原理
2.硬件需求
•S7-1214CAC/DC/RLY
•CPU319-3PN/DP
•SCALANCEX204-2
•PG/PC
3.软件需求
•S7-1200编程软件
•S7-300编程软件+SP4
4.组态
4.1S7-1200配置
•使用STEP7Basic创建项目“comS7300”;

图3:创建项目
•添加S7-1200设备CPU1214C,设置IP地址192.168.0.18;

图4:添加S7-1200设备
4.2S7-1200PLC编程
•在Programblocks下,添加程序块(DB1,DB2,DB3),其中DB1和DB3为符号DB(选择Symbolicaccessonly),DB2为绝对地址DB(不选择Symbolicaccessonly),S7通信只支持绝对地址DB寻址通信;

图5:创建绝对地址DB2
•打开全局DB2,输入2个数组类型数据,每个数组有16个元素;

图6:在DB2中添加数据
•创建两个监视表格(监视表格_1,监视表格_2)用来观察DB2的实时状态;
•将程序下载到PLCCPU1214C中。
4.3S7-300配置
使用STEP7创建SIMATIC300Station。
•在硬件组态中添加CPU319-3PN/DP,设置IP地址192.168.0.8;

图7:硬件组态

图8:在NetPro中选择相应的机架

图9:添加S7连接

图10:输入通信伙伴IP地址;

图11:设置通信伙伴机架和槽号;
4.4S7-300PLC编程
•在STEP7Blocks中创建写数据DB1(putdata)和读数据DB3(getdata)数据块;

图12:DB1和DB2;
•打开主程序OB1,分别在Network1和Network2中添加指令FB14GET和FB15PUT,并为其添加背景数据块DB14和DB15;

图13:选择单边通信指令;
注意:
在选择指令时,要根据使用的产品来确定。如果采用CPU集成的以太网接口建立S7通信,要采用左侧的指令;如果采用CP以太网卡建立S7通信,要采用右侧的指令。

图14:在OB1中调用FB14;

图15:在OB1中调用FB15;
•创建变量表VAT_1监视写数据操作(PUT);

图16:变量表VAT_1;
•创建变量表VAT_2监视读数据操作(GET);

图17:变量表VAT_2;
5.调试S7-1200与S7-300PLC通信
•从S7-300程序中可知,在从0变为1时,读取S7-1200的数据~到~中;

图18:S7-300调用GET函数读取S7-1200数据
•从S7-300程序中可知,在从0变为1时,将S7-300的数据~写入S7-1200的~中;

图19:S7-300调用PUT函数写入S7-1200数据
6.总结
在使用S7-300与S7-1200建立S7通信时,所能建立的最大连接数和通信任务是与S7-300产品的型号相关,如:CPU319-3PN/DP,最大可组态的连接数为16,可建立最大通信任务为32(也就是可调用的通信指令的背景数据的总数),每个作业的用户数据最大值与所使用的块类型和通信伙伴有关,PUT为212个字节,GET为222个字节。