|
本帖最后由 qqball0908 于 2010-8-7 13:58 编辑
7 X, }) {0 y1 \6 c4 b! c: ]$ X7 T6 |# `: }
各位前輩好
" ^9 }1 x, O# }- U- D& h' z. m/ q我是eM-Plant的新手,目前因為研究而需要建一個半導體廠搬運系統的model,有一些問題想向各位請教。
' E& M/ c/ i8 F$ j' e5 \7 p( _我目前有上萬筆(一天的量)車子搬運的起點至終點的資料,我需要將這些資料全部輸入到我的model裡,目的是要研究這一天當中哪條路容易塞車。
' A: i u5 C6 v& @+ H' h; M+ g我將資料進行換算,例如從A點至B點的搬運次數有3次,我就以一天24小時除以3,也就是每6小時發出一個搬運需求。在沒有搬運需求時車子會在軌道中隨便繞行,等到一有搬運需求,離該搬運需求最近的車子便要過去搬運。
7 j3 c. D8 C/ c+ Z, A1 _ p9 g! \我的問題如下:0 s7 o& T0 }9 Q0 b% K8 e2 P- t
& @, I) P7 r( E1.關於資料輸入的方面,起點的搬運時間與地點我是用Generator的物件與Method控制,終點則是用track裡的sensor控制,但上萬筆資料這樣要輸入好久,想請問各位前輩有沒有其他更好的辦法呢?5 N6 G3 [3 T" ]& E& h2 h
我目前想到的寫法如下:( k; |; ~2 T0 P! y8 X
(a)如果Machine1是搬運起點,放在Generator裡的Method
9 [2 \2 F- P7 x# Z& Dis
# U$ a, c6 a ado* X9 ~* j6 m7 Z, ~& S% w. a( b7 _
if Machine1.occupied and transporter.empty then
6 u; y8 x1 g- S" ^ T. M! w, J if Machine1.out=1 then; G' M5 P' J$ A- @5 K+ c
transporter.stop;
7 a# m- |; q, k, p: c wait 30;5 Q4 l5 C8 B! `
Machine1.cont.move(transporter);; U& Q" O) F! J) L; P% [5 L5 H7 B
transporter.destination:=Machine56;1 [4 I$ N t s. [2 f
Machine1.out:= Machine1.out+1;$ s6 W. x5 d" e8 }, F
transporter.continue;8 X( G" A$ b( G: V3 g4 P
elseif Machine1.out=2 then) d/ Q/ m: F1 Q* h5 H1 B
transporter.stop;
# o( F3 n5 H) N8 X4 M9 { wait 30;# J! a) f4 c& O% ?
Machine1.cont.move(transporter);
& M% l$ j4 q3 h1 s: C& b! i7 n transporter.destination:=Machine76;
2 z6 A- N; w( D$ x Machine1.out:= Machine1.out+1;
7 e( K' Q1 h, ^) I transporter.continue;7 p9 o( k2 e$ [
end;
7 ~# ^# }" \; F$ ?5 Gend;" M8 ?. h( w8 h$ G- e
end;
5 w/ A( y* w8 i W! W3 P
2 c2 O3 p! g0 U, V8 h6 P q8 a9 D1 ?
/ o2 q5 ?- E! O) T B; A(a) 如果Machine1是搬運終點,放在track的Sensor裡的Method8 K0 D4 f* c/ z) E0 }; [! y
is; ]4 l3 J A2 y* {% m
do6 ]3 z4 u$ y4 O& r( U
if transporter.occupied and transporter.destination= Machine1 then5 p p; w! P) K. D
transporter.stop;
5 B+ D8 o2 Z6 x% V6 B3 C, ~4 I wait 30;
) s1 r8 o/ T$ Q& B transporter.cont.move(Machine1);# u/ v) U1 n; _$ _& X, s
transporter.destination:=VOID;+ r L* [3 D! L) F- s
Machine1.put:= Machine1.put+1;
& Y. X, P+ o p transporter.continue;1 s# U( V) D1 K* N
end;
4 Y9 Z; f1 @7 F4 n s& L" _" R6 K7 J- A* R4 }
2.當有搬運需求發出時,如何去找系統中離該搬運需求最近且有空的車子?
7 w8 C6 C1 \! [. \1 y" j* s y# S1 t5 p; A( z5 Z7 `7 r
3.請問該如何讓車子在起點至終點的路途中車速從0開始漸增至最大速度,然後快到終點時再慢慢減到0呢?7 {# v7 M* m* `! p- x# M; r9 L& { N
# c& {& w0 r- u/ X
4.我想讓車子搬運的路徑是走「最短路徑」,我使用transporter.destination:=xxxxx,讓車子知道他該去的目的地,但沒辦法使它走最短路徑,請問這該如何處理呢?
1 d0 n5 ^ N1 m* ^( w) S1 D% C7 P
c" h7 Z$ g3 h' n" e5.當有兩台車同時到十字路口時,一台有搬運東西,一台沒有,如何讓沒有搬運東西的車停下來,讓有搬東西的車先通過後再繼續前進呢?
' w) s1 ~4 v% m H; Z) \# L9 O' F3 E; r. Q" P Y# S1 V) O% B+ k
% c$ D* [8 b; k0 N& K
/ q- W) Q9 E8 s5 h3 {* [2 C6 X
& y. @, Q6 \3 A以上麻煩各位為我解答了,非常感謝!!!!!
7 m) a5 Y: k; |( S5 l3 n1 F' {% e
3 K4 _, g/ D/ g
) S4 j& z! q2 c# s( h& d" }
, s% z9 E9 y( d/ d% Y4 Z* _, E$ d
|
|