引用
引用楼主slik于2024-11-07 20:02发表的 在如下的梯形图中为什么要用M404的下降沿才能保证M908的可靠触发 :
如题,在如下的梯形图中,为什么用LD M404不能触发M908,而需要改为M404的下降沿,即LDF M404,按理说,因为M908回路在M404回路的前面,所以程序上个周期扫描时如果
X10012还是正常的(OFF),M404为ON,因为输入输出映像刷新是在程序扫描的最前头的,所以,当要到下一个周期扫描的前端,刷新输入点,这时X10012变为ON,那么因为上个扫描周期中保存的M404还是为ON,所以,这时是可以触发M908为ON的,理论分析是这样的,但是实际上是不行的,用
LD M404
AND X10012
SET M908 不行,而需要改为
.......
有结果吗?看了这个PLC的手册,输入输出扫描很常规。输入信号是在程序执行前扫描的,整个周期都不会变化。输出信号是程序执行完毕再输出的,会一直保持,直到下个周期输出。
所以你说的这个情况有点诡异,建议单独写几个指令,然后把PLC清除内存再恢复出厂值,测试一下。
另外,PLC边沿触发并不是直接用这个触点(原触点),而是自动分配一个(或多个)其它的内存单元(边沿触点),系统根据原触点去置边沿触点。那么就会存在2种方法,一是在程序开始前或执行完毕来进行这个计算,就是一个周期只变化一次。另一种是实时计算(也就是一个周期可能变化多次),这种对PLC资源要求大。
这个PLC,两种都在用,如果用指定位或BIT类型变量,会滞后一个周期。用BOOL类型变量就是当个周期有效。