slik
级别: 论坛先锋
精华主题: 0
发帖数量: 908 个
工控威望: 1175 点
下载积分: 5868 分
在线时间: 539(小时)
注册时间: 2008-06-01
最后登录: 2024-12-02
查看slik的 主题 / 回贴
楼主  发表于: 27天前
如题,在如下的梯形图中,为什么用LD M404不能触发M908,而需要改为M404的下降沿,即LDF M404,按理说,因为M908回路在M404回路的前面,所以程序上个周期扫描时如果
X10012还是正常的(OFF),M404为ON,因为输入输出映像刷新是在程序扫描的最前头的,所以,当要到下一个周期扫描的前端,刷新输入点,这时X10012变为ON,那么因为上个扫描周期中保存的M404还是为ON,所以,这时是可以触发M908为ON的,理论分析是这样的,但是实际上是不行的,用
LD M404
AND X10012
SET M908  不行,而需要改为
LDF M404
AND X10012
SET M908
我想问的是为什么LD M404不行,而改为LDF M404,即用M404的下降沿就可以触发,请大家讨论讨论,谢谢!如下图:

lvpretend
级别: 论坛先锋
精华主题: 0
发帖数量: 1264 个
工控威望: 1434 点
下载积分: 3697 分
在线时间: 324(小时)
注册时间: 2015-07-20
最后登录: 2024-11-29
查看lvpretend的 主题 / 回贴
1楼  发表于: 7天前
引用
引用楼主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类型变量就是当个周期有效。