1、背景解释:本例程是S7-1500与S7-300PLC之间的一个通讯。两个PLC的通讯是在S7-300PLC通过GET和PUT指令实现的单端通讯。因此在S7-1500PLC没有通讯程序。两个PLC分别建立对应的数据块用来吸收和发送数据。
2、数据块定义解释
DB11:吸收S7-300传入的仿照量输入(AI)和数字量输入(DI)。
DB12:发送给S7-300的仿照量输出(AO)和数字量输出(DO)。
DB81:吸收S7-1500传入的仿照量输出(AO)和数字量输出(DO)。
DB82:发送S7-1500传入的仿照量输入(AI)和数字量输入(DI)。
DB11与DB82内容对应完备同等;DB12与DB81内容对应完备同等。
图1:DB11(S7300_DR)
图2:DB12(S7300_DW)
DB11、DB12两个DB块中的Com_Read和Com_Write是两个用于心跳检测的两个变量。
2、S7-300通讯编程
通过S7-300通讯编程,将两个PLC的数据块内容进行交流。当然通讯办法有很多,只能能交流数据就可以,就不一一展开说了。这里通过GET/PUT指令进行通讯。在通讯的末了,S7-300PLC吸收到的Com_Read值回写到Com_Write返回给S7-1500PLC,这样就可以把数据形成闭环。
3、S7-1500心跳功能编程
功能解释:
读取ComRead变量作为心跳变量(WatchDog)。如果心跳变量当前值为0,2秒钟后给Com_Write置1,这时由于通讯的浸染Com_Read会急速变为1。如果心跳变量当前值为1,2秒钟后给Com_Write置0,这时由于通讯的浸染Com_Read会急速变为0。如果心跳变量永劫光(本例设置为6秒)没有变革解释通讯中断,会触发超时报警。如果超时,就通过一个计数器进行累加超时次数,以方便理解通讯出错次数。当通讯正常后该功能会自动规复到正常的事情状态。三、功能演示
1、S7-1500程序在线监视
2、S7-300程序在线监视
通过以上这些机制,当系统捕捉到通讯非常往后,可进一步采纳相应的应对方法,比如弹窗提示、增加逻辑对设备进行紧急停滞、非常事宜处理等功能。因此心跳功能确保了PLC系统的稳定性和连续性,对付掩护自动化生产线的高效运行至关主要。
PLC在通讯过程中常用的心跳功能
http://bbs.plcjs.com/forum.php?mod=viewthread&tid=500705&fromuid=17
(出处: PLC论坛-全力打造可编程掌握器专业技能论坛)