发布于 2010-07-17 16:19:02
37楼
楼主所写的生产线的速度应该是恒定的,只是2个产品的间距不一定恒定。从A点发现次品到B点剔除次品,这段距离是恒定的,用时2秒。我想这个应该分2种情况来看,1、相邻2个次品时间间距超过2秒。2、相邻2个次品时间间距少于2秒。第一种情况很简单,1个2S的定时器Q0.0延时动作就可以。第二种情况比较复杂,假设在2秒内通过2个次品。我自己写了个程序,不一定考虑的周全,只是给个思路进行参考。
程序段1:T1作为2秒定时器,MW20用来记录T1时间。MW10用来记录2秒内通过次品的数量。
A I 0.0
FP M 100.0
= L 20.0
A L 20.0
L S5T#2S
SS T 1
A M 0.1
R T 1
NOP 0
LC T 1
T MW 20
A T 1
= M 0.0
A L 20.0
AN T 1
JNB _001
L MW 10
L 1
+I
T MW 10
_001: NOP 0
程序段2:在2秒内如果有第2个次品通过,则把T1现在的时间存到MW30中
AN T 1
A(
L MW 10
L 2
==I
)
FP M 100.1
JNB _002
L MW 20
T MW 30
_002: NOP 0
程序段3;剔除第1个次品后,延时MW30时间后再剔除第2个次品。
O(
A M 0.0
FP M 100.2
L MW 30
SS T 2
A M 0.1
R T 2
NOP 0
NOP 0
A T 2
)
O M 0.0
= Q 0.0
程序段4:将计数MW10清零
A T 1
JNB _003
L 0
T MW 10
_003: NOP 0
复位定时器看具体情况,我暂用M0.1代替了。