这种情况往往是调用的定时器号与定时器类型不配合造成的。参见帮助的表格,如T7只能用作TONR,而不能用于TON或TOF。
定时中断(SMB34/SMB35)***长定时为255ms,如何实现更长时间的定时?
可以采用T32/T96中断,***长时间可到32.767s。在定时中断服务程序中对进入中断的次数进行计数,也能实现更长时间的中断延时。
定时中断个数不够怎么办?
每个定时中断服务程序不一定只能处理一项定时任务,可以把几个任务放在一个定时中断服务程序中。
对于定时间隔不同的任务,可以计算出它们的定时长度的***大公约数,以此作为定时中断的时间设置。在中断服务程序内部对中断事件进行计数,据此编程别处理不同的任务。
使用子程序时,为何动作只能执行一次,或者某些状态不能结束?
如果发生动作不能重复执行,或者状态不能结束(像锁死了一样),而这些功能都与子程序有关时,请检查是否有条件调用子程序。调用子程序的条件在上述动作执行后,或者进入某个状态后不再有效,无法再次“激活”,而脱离上述状态或复位的指令正好在子程序内,必然造成上述的现象。