|
发表于 2012-4-7 22:08:45
|
显示全部楼层
周老师您好,我在建模的时候遇到一个问题,有一个装配工位M1,工位前有一个暂存区,会有J1,J2,J3,J4四种工件到达暂存区,可能同时到达,也可能以任意顺序到达,其中J1与 J3,J2与J4装配,我的问题就是这种情况下如何判断J1和J3装配 。J2和J4装配。4 F4 E. i5 Q# P% @+ P- w
我之前的思路是用2个buffer(B1,B2) 和一个singleproc(m0),method是:( A$ W+ y; d! R" ?
0 \( Z" H8 f/ T9 Ywaituntil m2.occupied
s4 W8 I3 ~$ C# k+ U% v, R and B1.OCCUPIED prio 1;& X, Q- v) r6 q: M7 r# |
if B1.cont.name="j1" and m2.cont.name="j3" then
/ ]+ P& x. O( N" D b8 _ m2.cont.move(m1);
3 f6 l1 s8 M5 p4 }3 s! E g) J B1.cont.move(m1.cont); : Y% W8 b" I6 F. d: D' q: \
--@.move;
" u3 F, A! b/ Q elseif B1.cont.name="j2" and m2.cont.name="j4" then
, E0 @) c: `* W- s& q m2.cont.move(m1);. q/ d9 R! A5 Q
B1.cont.move(m1.cont); # B& j4 t) w. `2 [# _
end;
# |6 A- E. E$ \) j8 ?但是出现两个问题1:两个buffer需要容量满才可以;0 h% h3 _# b& v( g
2 如果先到的是j1和j4就不会装配,停机了。6 k% \/ k8 G: l( @: J* L8 C
周老师,麻烦您指导下,谢谢了。6 J' T% z; S, R2 y
|
|