我使用支持ST语言的欧姆龙PLC完成了这项工作。
PLC中有一个定时器中断,我们用它在ST中构建我们自己的定时器,然后我们可以跳过PLC的限制。当PLC上电时,中断任务中的代码每次中断都会执行,您可以在中断处理程序中写入“A = A + 1”。
当你开始使用计时器时,只记录A的当前数据。让我们说A1;间隔是:
Interval= Current_Data_Of_A-A1
然后比较 Interval 到你想要的时间。如果 Interval 比你想要的时间大,然后执行下一个代码。
Interval
计时器的工作原理 TON.Q 只有在 TON.IN 至少在持续时间内连续高 TON.PT 。
TON.Q
TON.IN
TON.PT
这确保了 TON.Q 如果,只会变高 TON.IN 处于稳定的高位状态。
例如,这可以用于确保仅在按下按钮至少持续一段时间时才启用输出 TON.PT 。
我在Gx-Works(Mitsubishi / FXCPU)中解决了这个问题:
TON_1(IN:= Enable_Timer,PT:= PresetTime ,Q:= Output,ET:= TimeLeft);
记得申报TON_1 :)
通常,您可以设置预设时间并启用计时器。当它过去时,将完成某种完成位设置为真。重置启用时,时间也将重置。