恭喜,你发布的帖子
发布于 2025-11-05 13:27:22
24楼
很简单的问题,你把每一个Move前加一个上升沿检测触发再Move就知道问题在哪了。按照之前的程序就会出现3.4.5来回循环,为什么呢?因为循环赋值有先后顺序,你ton的in每时每刻都是触发状态,导致判断变量的值循环move为3.4.5
两种图片对比就很清楚了
关于最后一个MOVE和前面的程序段压根没关系,关键在于你怎么去触发他的MOVE,定时器后面跟move最好跟一个上升沿下降沿的触发来Move,很多时候还需要利用这个状态去做故障检测什么的!加了上升沿判断的程序就是一个简单的红绿灯循环程序
你去监测是看不到Move==3这个值的状态的,为什么,他在一个PLC循环中就完成了当==3赋值为0这个状态,一个FC FB循环对数据的赋值是一个整体,只有整个程序段完成后才会对外部数据进行整体赋值。不管怎么监控这个判断值都看不到他等于3,你哪怕做1000次Move为不同数字,只要最后一次move为0,,在这个程序段之外里看到的这个数值永远只有0这一个值
请填写推广理由:
分享
只看
楼主