s7-200时钟指令小程序

请问做一个小程序,记录每天的设备的停机时间,能不能说详细一点,最好能发个例子。szhoxiao@163.com

 多谢了!

最佳答案

1、如果用定时器(TONR)配合计数器(CTU)指令可能使用很复杂了,因为定时器(TONR)的最大定时时基=100ms、最大定时计数值=32767,所以TONR的最长定时值=100ms×32767=3276.7s=53.7分钟。
 2、显然,单个定时器(TONR)的最长定时值=53.7分钟,不能满足更长时间定时要求,需要CTU计数器(加计数器)组合使用,并且还要考虑定时器、计数器使用的合理置位、复位问题,这就增加了使用复杂性。
 3、建议使用“中断服务程序”方式。S7-200PLC有ATCH(中断连接)、ENI(全局允许中断)、DISI(全局禁止中断)、DTCH(中断分离)、RETI(条件中断返回)、CLR_EVNT(清除中断事件)这几个中断功能指令。
 4、因为S7-200PLC提供了时基中断处理功能,用来执行精确定时的周期性任务。用设备的停机变量STOP去触发中断程序执行,当每次产生中断时,就对进行一次计数,这样就可以精确计算出时间了;当设备有启动变量START置位后,则停止中断程序执行。
 5、关于设备的停机瞬时记录,可用停机变量STOP置位时的上升沿(即:—|P|—)指令,去触发READ_RTC(读系统时钟)指令执行,将设备的停机瞬时时钟值记录进VBxx变量中。同理,还可用设备启动变量START置位时的上升沿(即:—|P|—)指令,去触发READ_RTC(读系统时钟)指令执行,将设备的启动瞬时时钟值记录进VByy变量中。

提问者对于答案的评价:
学习了,非常感谢!

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc348192.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月4日 下午11:37
下一篇 2021年7月4日

相关推荐

发表回复

登录后才能评论