我们经常使用到输出口控制,会遇到偶尔输出编程的指令好像无效,偶尔有效或者时不时误动作。
例如下编程
001>:DT1=0; 打开气缸
002>:DI10=0; 等待传感器到位信号
003>:DT1=1; 关闭气缸
004>:END;
编程指令本身没有问题,模拟器模拟也会正常,但是在实际设备环境中就有问题了
因为实际环境中输出口的打开往往伴随着电压波动,或者开关接触时产生的火花等干扰信号,
使指令002>:DI10=0; 自动生效,这样输出口打开和关闭几乎同时进行,是指令失效,
所以我们建议在输出口打开后多少加个延时,这个延时时间最好可以预估到达传感器的时间最好,
有效过滤干扰信号,如下指令:
001>:DT1=0; 打开气缸
002>:L500; 延时0.5秒
003>:DI10=0; 等待传感器到位信号
004>:DT1=1; 关闭气缸
005>:END;