帮助里的这个例子比定时器要准些。
CAL_ITIME指令计算当前时间与IN所提供时间的时差,将该时差存储于OUT。双字毫秒值的最大计时间隔为2的32次方,即49.7日。取决于BGN_ITIME指令的执行时间,CAL_ITIME指令将自动处理发生在最大间隔内的一毫秒定时器翻转
BGN_ITIME指令读取内置1毫秒计数器的当前值,并将该值存储于OUT。双字毫秒值的最大计时间隔为2的32次方,即49.7日。
应用例子如下:
NETWORK 1 // 捕获开启Q0.0的时间。
LD Q0.0
EU
BITIM VD0
NETWORK 2 // 计算Q0.0处于开启状态的持续时间。
LD Q0.0
CITIM VD0, VD4
用接通延迟保持定时器可以实现
这个时间间隔其实就是Q0.0合上的持续时间
Q0.0上升沿脉冲触发定时器启动,下降沿脉冲停止定时器