|
|
本帖最后由 qqball0908 于 2010-8-7 13:58 编辑
% U& _( j; F# b; k/ ~6 O. y+ L4 i4 u" c( x
各位前輩好, r: [% t7 H9 T1 }& X; J+ P4 a
我是eM-Plant的新手,目前因為研究而需要建一個半導體廠搬運系統的model,有一些問題想向各位請教。& U E0 O) V$ E8 I8 b4 {7 p" Q
我目前有上萬筆(一天的量)車子搬運的起點至終點的資料,我需要將這些資料全部輸入到我的model裡,目的是要研究這一天當中哪條路容易塞車。6 [/ d" S( Q8 E
我將資料進行換算,例如從A點至B點的搬運次數有3次,我就以一天24小時除以3,也就是每6小時發出一個搬運需求。在沒有搬運需求時車子會在軌道中隨便繞行,等到一有搬運需求,離該搬運需求最近的車子便要過去搬運。
/ T+ w ] `! s. V' f" K我的問題如下:
2 s/ L6 p5 }9 A5 K8 P* U3 J/ b% Y2 U; V$ B3 w a' k
1.關於資料輸入的方面,起點的搬運時間與地點我是用Generator的物件與Method控制,終點則是用track裡的sensor控制,但上萬筆資料這樣要輸入好久,想請問各位前輩有沒有其他更好的辦法呢?9 P1 n" @6 |, }" O
我目前想到的寫法如下:6 h% \% Z( @) g4 {5 r% [
(a)如果Machine1是搬運起點,放在Generator裡的Method8 Z/ w4 A1 a& P
is
5 N2 U8 ` r* T6 G/ v$ i( d" tdo
# V1 u( w: {$ ` Q! t1 jif Machine1.occupied and transporter.empty then' x7 X& j% J; K. r* S
if Machine1.out=1 then
$ s( R; F& `. ]- c transporter.stop;
' A+ }- M& O: N7 E& Y9 d+ y l% e wait 30;3 q- ~6 O- I2 c3 G' t9 |' [
Machine1.cont.move(transporter);' \; C, A) D# `; _
transporter.destination:=Machine56;
6 R! ~" k" @ g* h, i) N) }5 Z& x Machine1.out:= Machine1.out+1;. g% V) I4 n2 J$ n$ G
transporter.continue;
: D! j1 M2 C0 P( r% M elseif Machine1.out=2 then
1 j6 L o# [) x3 K0 ~. k* P transporter.stop;
3 p5 x I0 X% B& e" d* `+ o wait 30;- P( _: k' b& B
Machine1.cont.move(transporter);2 ^2 l. L7 S) T x5 y ]1 W
transporter.destination:=Machine76;
5 {2 M( z+ Z- O, b Machine1.out:= Machine1.out+1;$ U& U3 M2 g) Y8 x
transporter.continue;+ [3 N Z, T7 ~7 e% u* Y0 f X1 v
end;4 }9 s3 L* R* n, q: W2 Q' L
end;
4 d% v& y/ Z g- b2 w0 F4 N& Bend;0 H/ w. ]; r9 X6 }* [- v N
+ n1 w2 o1 w# v+ S& k, W
5 N% `2 N; s+ E% v7 b# I! P(a) 如果Machine1是搬運終點,放在track的Sensor裡的Method
3 o% [+ x5 \* Bis6 m2 b: \5 b3 `
do3 a$ l3 {! s* b& z
if transporter.occupied and transporter.destination= Machine1 then
5 `- z4 D2 d a* c! f6 W. D transporter.stop;
/ i2 B, Y) m& R. f3 X, O! i3 x- O wait 30;! I$ ]5 h4 _5 j
transporter.cont.move(Machine1);
% P. P/ i. q$ g' A transporter.destination:=VOID;# o) m+ S5 G' X( D
Machine1.put:= Machine1.put+1;0 V4 i9 ]: }- d8 @4 x1 A
transporter.continue;7 g6 @0 h% m9 p
end;1 U" }( n7 L7 j0 L& ^4 ?' m" L
3 H4 @* q E, G$ S0 A; _# |: ^2.當有搬運需求發出時,如何去找系統中離該搬運需求最近且有空的車子?
5 Q$ r" C) j( A# S
: y( S* r8 A8 p: M1 q! O% `3.請問該如何讓車子在起點至終點的路途中車速從0開始漸增至最大速度,然後快到終點時再慢慢減到0呢?
1 c" T0 T& M5 b5 X1 ^1 D+ `) }3 T! R& p
4.我想讓車子搬運的路徑是走「最短路徑」,我使用transporter.destination:=xxxxx,讓車子知道他該去的目的地,但沒辦法使它走最短路徑,請問這該如何處理呢?9 U+ X/ d) v3 K6 Z2 k
, I/ ^$ u Z$ u; s1 S
5.當有兩台車同時到十字路口時,一台有搬運東西,一台沒有,如何讓沒有搬運東西的車停下來,讓有搬東西的車先通過後再繼續前進呢?9 }9 y! j1 v7 p* t. D* o- `8 C
& l' A& z1 L" ?2 x- G ?( g8 ?/ x
7 h; v9 _" R+ R+ C
) s* W0 U) r% \8 b" s% f% j Z$ p* f, i$ z0 D. G' Y. N, s5 s5 {
以上麻煩各位為我解答了,非常感謝!!!!!
; @/ M5 w; X7 s* D t9 t H v
! X4 X/ `& P* _, ?* L; c# e7 h. p, Z$ N% W3 I4 t/ Q. P
# u) ~0 G9 y8 `: ?9 T* _+ d
; h- W7 P: y) y1 y" d" c8 u7 Y |
|