这几天把论坛里有关如何在程序中实现定时的帖子基本上翻了个遍,追踪论坛里各位先贤达人的高论,做了个小总结,大体上的方法有:
1、使用系统自带的定时器指令,其中的变体有使用系统的时钟脉冲来定时;
2、利用OB1中“OB1_PREV_CYCLE”扫描时间的累加配合一些自定义的FB、FC来定时,以突破系统自带定时器数量上的限制;
3、使用周期中断OB来实现定时,在周期中断OB中调用一FB,在FB中进行累加一的操作,然后再将累加值通过接口提供给FC,编写延时通、延时断等“定时器”。
由于各位的真知灼见,零星地分布在论坛各贴深处,后来者也难以识其全貌,查阅拜读也十分不便。另外随着使用时间的变长,对所使用方法的理解也日益见深,在此发起个倡议,“同坛聚四方,南北一家亲”,大伙儿在此帖下分享一下相关的块和代码,实现的办法、实现时有哪些坑,各种实现的长短优劣等“关坎”和使用中的注意事项,一起努力把这些“珍珠”串起来,也是件功德事儿。