|
|
本帖最后由 qqball0908 于 2010-8-7 13:58 编辑
5 B; S& }9 x1 ?( M6 B7 L9 o
7 A5 J0 N( m5 D- {0 v4 k1 _7 \/ W5 p4 i各位前輩好8 d7 j2 G# ^/ i0 _: m
我是eM-Plant的新手,目前因為研究而需要建一個半導體廠搬運系統的model,有一些問題想向各位請教。
5 a6 |& {( B: {) c+ f5 z# G7 `我目前有上萬筆(一天的量)車子搬運的起點至終點的資料,我需要將這些資料全部輸入到我的model裡,目的是要研究這一天當中哪條路容易塞車。
/ Q! c" ~' O, M9 o: C8 p我將資料進行換算,例如從A點至B點的搬運次數有3次,我就以一天24小時除以3,也就是每6小時發出一個搬運需求。在沒有搬運需求時車子會在軌道中隨便繞行,等到一有搬運需求,離該搬運需求最近的車子便要過去搬運。: D+ ^) d/ X: P }% w2 U9 J; J2 Z9 k
我的問題如下:
! \! ]; p% {7 l8 k+ Z2 m P. Q. L( o# k1 c& F {/ c
1.關於資料輸入的方面,起點的搬運時間與地點我是用Generator的物件與Method控制,終點則是用track裡的sensor控制,但上萬筆資料這樣要輸入好久,想請問各位前輩有沒有其他更好的辦法呢?
6 F5 j& W3 o4 R我目前想到的寫法如下:
" O* x" ?2 h' R) y g(a)如果Machine1是搬運起點,放在Generator裡的Method+ A" v0 s/ g# M7 I+ z, J4 n
is
' F; J: {+ D" H: [: a2 E7 rdo) u2 m w) a, l6 |( z/ I
if Machine1.occupied and transporter.empty then
7 z+ s* |- U& g' k0 b( v) A | if Machine1.out=1 then: j3 Q, f3 [6 X" R5 Q! m$ N
transporter.stop;
+ n( D" g# k n/ U; I& n: { wait 30;
. ~7 ?5 L) m: D0 a1 x/ D* ? Machine1.cont.move(transporter);; n/ [% C. x4 {4 K( J
transporter.destination:=Machine56;
8 j0 b9 d/ Z0 d% A( { Machine1.out:= Machine1.out+1;
2 [6 P$ i9 _ S& o% a transporter.continue;
# M, T5 D4 E' y elseif Machine1.out=2 then: w- _. M& D2 M9 ~3 q! R9 T/ B3 e
transporter.stop;
" ]; [, k& T( f$ z, K8 W* N wait 30;
. n- _7 _) a3 g4 k6 y, b Machine1.cont.move(transporter);
* j) r3 f0 r* f1 T transporter.destination:=Machine76;) x" q9 L* D: I0 @* H; [# B
Machine1.out:= Machine1.out+1;
% i, Q" H" ^' O9 _; R ]6 ] transporter.continue;
0 c& p' H& D$ v* Nend;
# x4 E5 U3 \# j! x6 }7 Gend;
: H. ^9 X, y9 Q6 c, e V- H$ v4 oend;
* d" h( D+ m+ j) a" _* F- w# ^- @' L/ c# J5 n
+ }1 y, ?$ O7 t3 |( Q& }4 V
(a) 如果Machine1是搬運終點,放在track的Sensor裡的Method5 @% K- R/ |, g0 O( I* E
is/ `) d$ a0 P, l4 N! m8 `
do: \: y- Q- t! V( C+ t+ j. {
if transporter.occupied and transporter.destination= Machine1 then
) W B! M: b* |$ `3 F0 x transporter.stop;$ a# O8 l& @; I
wait 30;
5 D& }0 B' L; K1 k: D. J/ } transporter.cont.move(Machine1);
" n e: \# V9 I% E transporter.destination:=VOID;
2 Q6 T6 l" `$ b2 Z/ e" V Machine1.put:= Machine1.put+1;
}. f+ b. c. B5 s6 t# q transporter.continue;0 ?0 T% @" A( J, l3 t F: Q5 F
end;' i' r% M6 n2 l
+ h5 x% B% b; }2 b2 B7 P, ]$ X$ F
2.當有搬運需求發出時,如何去找系統中離該搬運需求最近且有空的車子?
) w$ V `7 S) v3 ]3 S! t% i
1 a) k0 Z7 r+ {/ T, ]3 x3.請問該如何讓車子在起點至終點的路途中車速從0開始漸增至最大速度,然後快到終點時再慢慢減到0呢?. }6 S( |# c/ @; g G N4 \7 T5 f( B
- R1 D: _0 A; f7 s' t1 U 4.我想讓車子搬運的路徑是走「最短路徑」,我使用transporter.destination:=xxxxx,讓車子知道他該去的目的地,但沒辦法使它走最短路徑,請問這該如何處理呢?! }0 |) Z; t9 T6 T
$ [, ?$ z7 ]3 |$ l0 e8 K$ I5.當有兩台車同時到十字路口時,一台有搬運東西,一台沒有,如何讓沒有搬運東西的車停下來,讓有搬東西的車先通過後再繼續前進呢?4 u% e( P% q% O0 K# Y, o: i
6 Y- l5 A: y$ F
$ ~# n2 g, t- w& a' Y
0 E# Q- o; l, ]+ s/ {5 m
9 S5 x* }+ m* A# L% @以上麻煩各位為我解答了,非常感謝!!!!!# K' J+ r3 _5 i8 G9 E* N. h0 ~
5 R& x" y+ ^$ A
' T: V& s4 q2 K" Y
" I7 K; D# I1 j P$ M. i) {5 ?1 |6 R( L* H! U3 |
|
|