最近写程序遇到了个大坑
举个例子
-------|q上升沿|-------|e|---------(i)
-------|w上升沿|---------(e)
程序运行到第一行的时候此时e常开过不去i无法启动,运行到第二行w上升沿触发时虽然可以让e常开闭合,但是此时扫描周期来到了第二行,想要执行第一行程序需要等待进入第二个扫描周期。
众所周知上升沿和下降沿只检测一个周期的信号,当运行到第二个周期时q上升沿无法导通,此时虽然e常开闭合但是i依然是无法启动的。
举的这个例子很简单和极端,但写程序时经常疏忽导致程序逻辑看上去大致是对的“先按w再按q线圈i得电”,实际上时序问题经常被忽略,尤其是大型程序互相嵌套,自己封装各种块时一定要注意,不只是梯形图,st语言也有同样的问题。