程序本身是没有什么错误的。
但是1ms定时器是基于后台1ms计时器随时刷新当前值,并在计时到了之后立刻置位。换句话说,定时器在同一个扫描周期内可能更新多次。
现在假设T32已经开始计时,准备输出20ms周期脉冲。如果在执行网络1的时候,T32计时到点,置位,那么网络2的T32常闭触点断开,T32计时器因此会复位,从而导致网络3的T32复位,Q0,0无法输出一个高电平,结果就是丢失了一个脉冲。
最后,你会发现Q0,0的脉冲波像老太婆的牙齿一样,稀稀拉拉,没有什么规律。
兄弟你可以吧图中网络三的梯形图代码放到网络二的位置,把原本网络二中的代码放到网络三中,也就是把网络二和网络三的代码顺序调换一下,而且个人建议你把q0.0的线圈指令换成q0.0的“s”置位指令,然后你再看看。
在扫描周期超过1MS的时候就有错误了
错误是Q0.0永远不会ON.因为网络2中T32一旦接通,在下一个扫描周期其IN端断开,T32又恢复OFF.不停循环。
什么问题