对S7-200较长时间定时如何实现的解答
有一网友求助:“本人在做项目过程中,用S7-200实现对水泵的控制。其中有一个问题:当变频器出现故障,需重新启动水泵,而此时要求启动运行时间最短的那个,则需要对每台水泵的运行时间进行监控。而PLC定时器即使和计数器结合起来实现时间定时,仍难以满足几周或几个月的定时时间。我该如何将此功能在plc中实现??盼回复,不胜感激!!”
答复:S7-200 有时钟指令,如读指令“READ_RTC”用它将此时刻的日期、时间存入数据区(如VB10、VB11、VB12、VB13…..)中,其VB10为年的末二位数,VB11为月份数,VB12为日数,VB13为时数,VB14为分数….,再用比较指令将取得日期、时间值与你规定的日期时间值比较,当二者相同时,即延时时间到,去触发一个内部位开关使其置1(如M2.0=1)即可。
现举例说明:现在时间是:2010年10月23日8时,你可将10、10、23、08等数以16进制数的形式,分别置入VB20、VB21、VB22、VB23等数据区里,按下定时启动按钮“I 1.0”,使M2.1=1,PLC读取时钟开始,即每隔1秒读取一次,存入VB10---VB13中,在编程上再用4个比较指令,分别进行比较,比较值是:VB10对VB21比较,VB11对VB21比较,VB12对VB22比较,VB13对VB23比较,当4个比较器比较值都相等时,即时间到,可使M2.0=1,见下图:
该程序的定时精度为1小时,如觉得不够,可再增加分比较,这样定时精度可为1分钟。还有稍微复杂一点的编程,即只预置延时时间(几周、几个月、甚至几年),预置好后,按启动按钮,PLC立刻取出此时刻的日期、时间,PLC根据预置的时间进行计算,求的到期的日期与时间,再分别进行年、月、日、时、分的比较,这样编程的定时精度可小于等于1秒。
比较时间值的设置,可用上位机或触摸屏设置。如只有PLC,还要想外置数也可实现,怎样编程这里就不讲了,可参考我在网上写的“用外设按钮可实现对多个参数设定的PLC编程的实例”一文,那里有梯形图及详细说明。