不同项目配置下的两cpu通讯如何设置
刘玉蓉
发布于2014-10-28 17:42
20
0
标签:
以前没有做过多cpu通讯,现在我有一台400的plc要和别人的进行以太网通讯。之前看了一些文档里面两个plc的硬件配置都在一个项目中,采用的是s7连接。现在如果我不想把他的配置复制到我的项目中该如何设置网络组态,选择哪种连接方式比较好s7,tcp或是别的什么?
佳答案
S7-400的以太网解决方案中主要的运行服务有:标准通信(很少使用)、S5兼容通信(ISO transport、ISO—on-TCP、UDP、TCP/IP)、S7通信、PG/PC通信。S7-400PLC的以太网通信都需要进行网络组态及其参数设置、编程,才能实现工业以太网的通信。所以你不想把他的配置复制到你的项目中,要想实现彼此的以太网通信可能不现实。如果采用S5兼容通信(如TDP/IP),除了需要进行通信网络组态外,还需要通信双方调用功能FC5(AG_SEND)和FC6(AG_RECV)分别将数据传送到以太网CP和接收从以太网CP在已组态的连接上传送数据。而采用S7通信实现起来比较容易,因为S7通信集成在每个SIMATIC S7/M7和C7的系统中,而且它独立于各个网络,通过组态建立S7连接实现S7通信比较容易。
两个以太网子网下一个S7-400站和S7-300站可以通过S7通信方式建立通信,必须通过交换机进行。软硬件的配置取决于你具体的CPU的类型,下面以不带PN接口的CPU为例,如CPU414-2DP和CPU315-2DP建立S7通信来说明:
软硬件配置:由于上述CPU没有PN接口,需要配置以太网模块
CPU414-2DP、CPU315-2DP;以太网模块CP343-1、CP443-1;个人计算机(带普通网卡);1根PC/MPI适配器(或网卡CP5611);1台8口交换机;2根带水晶接头的8芯双绞线(正线);1套STEP7V5.4编程软件。
新建你的项目,插入两个站SIMATIC400(1)和SIMATIC300(2),每个站点配置一个以太网通信模块;先建立SIMATIC400(1)的组建以太网Ethernet(1),在以太网模块CP443-1属性界面中设置网络参数(IP地址和子网掩码Subnet Mask)和MAC 地址(印刷在CP443-1的外壳上);采用同样方法配置第二个以太网模块CP343-1的参数(IP地址和子网掩码),必须在同一个网络下;在SIMATIC管理器中回到项目,选择Ethernet(1)并双击它,打开NetPro_Etherent(1)界面,选择SIMATIC400(1),右击CPU414-2DP选择“Insert New Connection”(插入新的连接),选择S7Communicaiton(S7通信),再单击“Apply”(应用),组态以太网连接,在出现的“Properties-S7 Communication”(S7通信属性)界面中,在“Establish a active Connection”(激活连接)前打勾,只要就可以看到通信双方的IP地址,单击“OK”,完成以太网硬件配置,单击硬件组态界面中工具栏上第三个按钮“编译并保存”,如果没有错误,将产生系统数据块SDB,把硬件组态分别下载到各自的CPU中。
软件编程比较简单,通过调用SFB12/FB12“BSEND)(S7-400调用SFB12,S7-300调用FB12)向类型”SFB/FB13“BRCV”的远程伙伴(S7-300)发送数据(如S7-400作为发送方使用SFB12发送数据,那么S7-300使用DB13接收数据,反正也然,互为发送和接收);SFB/FB13“BRCV”(S7-400)接收来自类型为BSEND“的远程伙伴(S7-300)的数据。通过这种类型的数据传送,可以在通信伙伴之间为组态的S7连接传输更多的数据,即可以为S7-300PLC发送32768个字节,为S7-400PLC发送多达65534个字节,以及通过集成接口为S7-300PLC发送多达65534个字节的数据。
要分别在S7-400和S7-300PLC中调用上述块,一方为SFB12(S7-400),另一方为FB13(S7-300),其中参数ID和R_ID按照默认值。然后把程序下载到各自的PLC中。
当然你也可以调用SFB14/15(S7-400)和FB14/15(S7-300)作为读写通信对方的数据而无需对方编程,只需在以太网模块属性界面中选择“One Way”(单边通信),只需在S7-400PLC(本地侧)调用SFB14/15即可;以及SFB8/9(S7-400)和FB8/9(S7-300),它为无确认的高速数据传输,不考虑通信接收方的通信处理时间,因而有可能会覆盖接收方的数据