|
发表于 2012-4-7 22:08:45
|
显示全部楼层
周老师您好,我在建模的时候遇到一个问题,有一个装配工位M1,工位前有一个暂存区,会有J1,J2,J3,J4四种工件到达暂存区,可能同时到达,也可能以任意顺序到达,其中J1与 J3,J2与J4装配,我的问题就是这种情况下如何判断J1和J3装配 。J2和J4装配。% J$ h/ y2 T* ]$ E& L% c
我之前的思路是用2个buffer(B1,B2) 和一个singleproc(m0),method是:
$ v& \0 o7 n5 f
y1 M3 i# f& E0 {; \! ~7 }waituntil m2.occupied
3 }! ]( z0 }* F and B1.OCCUPIED prio 1;
5 [7 n8 n' k- I+ L, Eif B1.cont.name="j1" and m2.cont.name="j3" then6 R1 n* m& Y8 G7 {4 |& v
m2.cont.move(m1);
) P4 d$ F, e7 w6 `( L3 k! p0 m: D B1.cont.move(m1.cont);
1 r" s/ d4 B" w6 h3 y) w --@.move;
8 r" G0 X! U) x2 f elseif B1.cont.name="j2" and m2.cont.name="j4" then' d8 A `7 P" M6 c# o) H
m2.cont.move(m1);
- {% {# k0 Y& r$ G" I2 N B1.cont.move(m1.cont);
+ s6 n5 D( B/ wend;; J3 g4 L5 k$ p4 w- o, l+ ]+ s7 [
但是出现两个问题1:两个buffer需要容量满才可以;8 k2 [7 l3 v6 O% x" c
2 如果先到的是j1和j4就不会装配,停机了。
: K( ~6 k5 H" H. D; R% K- V周老师,麻烦您指导下,谢谢了。; f9 m1 D X0 U s/ S1 C
|
|