OB35的扫描脉冲是100ms。我在这里做了一个脉冲信号:
AN M 18.0
= M 18.1
A M 18.1
= M 18.0
请问M18.0是否就是100ms的脉冲? 如果我把M18.1换成一个400ms的计时器,那么M18.0是不是就变成500ms的脉冲信号了?
如果我在OB35中做一个1s脉冲,这个时长超出了OB35本身的扫描周期,运行之后会不会出错?
最佳答案
理论上是这样的,这个不一定OB35是中断块他的时间与定时器不是同步的所以不一定会出现500S的脉冲(与CPU扫描周期有关),其实你用CPU自带的“时钟存储器”就可以实现时钟脉冲功能了它分为几个频率可以在硬件组态中组态这个地址。另外如果OB35没有其他程序的话单独将OB35设为你需要的脉冲时间然后用下面语句也是一样的,
AN M 18.0
= M 18.0
这同样实现的是M18.0在OB35时钟设定脉冲这个基准上运行的。
A(
AN T 1
L MW10
SD T 2
A T 2
)
L MW10
SF T 1
A T 1
= M0.0
上面程序你给MW10赋一个S5TIME时间然后M0.0按照你这个时间来执行脉冲运行的。
提问者对于答案的评价:
我弄明白了,在OB块中做脉冲信号还是不保险的。第二个周期往后有可能会出现差头,使得做的脉冲信号延长。还是在OB块中以计数的方式做脉冲比较保险。
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc236538.html