1:s7-400CPU 怎么做一个功能:当前面一个开关A1信号(脉冲信号)检测到没有东西时,在15秒内后面的开关A2要是再检测到有信号或者有东西时?发出报警信号“A1开光故障”,设备停机。
2:前面开关A1在没有检测到东西时,后面A2开关也在经过15秒后没有检测到信号时。这个功能不起作用。
3:两个开关输入的都是脉冲信号来的,周期不固定,有时设备转动快,有时设备转动慢。
大侠们那位能否抽个时间编个例子,指教下? 谢谢
最佳答案
如果仅仅参考你的描述,下面的程序可以满足你的要求
A(
A I 1.0 //A1信号
FN M 1.0 //下降沿脉冲表示没有检测到物体
L S5T#15S
SE T 1 //脉冲扩展延时计时器T1 15S
NOP 0
NOP 0
NOP 0
A T 1
)
A(
A I 2.0 //A2信号
FP M 2.0 //上升沿表示检测到物体
)
S M 10.0 //故障位置位
但这样有局限性,必须要求在15S内,A1-A2之间只能有1个被检测物;流水线不能出现停止;最后一个零件无法实现判断。
我觉得如果你需要检测A1的可靠性的话,最好的方法是在A1的相同位置或相对位置增加1个开关,这样的检测才是最可靠的,而且程序实现起来也好做,只要两个接近开关异或时间超过一定的时间比如1S,那么就报错。
A(
X I 1.0
X I 3.0
)
L S5T#1S
SD T 2
NOP 0
NOP 0
NOP 0
A T 2
S M 10.0
提问者对于答案的评价:
谢谢
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc312815.html