|
本帖最后由 qqball0908 于 2010-8-7 13:58 编辑 3 g2 {0 J" ]+ `" P! H2 i2 N8 ]
( Z/ `! K& ?4 a* t各位前輩好9 e1 y: }' ^+ b+ F5 ~
我是eM-Plant的新手,目前因為研究而需要建一個半導體廠搬運系統的model,有一些問題想向各位請教。
8 h6 W1 c8 v8 v& X6 s我目前有上萬筆(一天的量)車子搬運的起點至終點的資料,我需要將這些資料全部輸入到我的model裡,目的是要研究這一天當中哪條路容易塞車。, X- i6 q" u0 @& B2 E
我將資料進行換算,例如從A點至B點的搬運次數有3次,我就以一天24小時除以3,也就是每6小時發出一個搬運需求。在沒有搬運需求時車子會在軌道中隨便繞行,等到一有搬運需求,離該搬運需求最近的車子便要過去搬運。
, t; E# y/ z1 ^我的問題如下:, E! p7 l ?4 Q' B- W' U- y! i+ J: T
/ N" }- k, R, V
1.關於資料輸入的方面,起點的搬運時間與地點我是用Generator的物件與Method控制,終點則是用track裡的sensor控制,但上萬筆資料這樣要輸入好久,想請問各位前輩有沒有其他更好的辦法呢?0 k3 Y* T9 G% l" i- P9 N+ c# u
我目前想到的寫法如下:! j6 j) D+ g' Z( ?/ L
(a)如果Machine1是搬運起點,放在Generator裡的Method4 G$ D1 ]: V1 d- }- B# ?
is
4 \2 `2 E n) v+ Z# Cdo
: g5 B3 O$ D9 X& b5 hif Machine1.occupied and transporter.empty then
1 g$ M5 p- ~" ]1 A if Machine1.out=1 then1 {5 C4 x6 t# c7 }9 [; k
transporter.stop;' L, O9 [/ F i# D* p3 e" K
wait 30;" {% _" |$ H% [
Machine1.cont.move(transporter);
: S! E) m$ \8 i8 b" J7 I! x$ {* I3 o transporter.destination:=Machine56;0 c6 q$ x9 ^ q
Machine1.out:= Machine1.out+1;
6 z- f7 N! y' E2 A3 [- U, R8 N$ c transporter.continue;# H. i: Z n" A/ Z5 W
elseif Machine1.out=2 then& c% J" B1 z, N
transporter.stop;4 u* o! m& `& U" q
wait 30;
9 ]/ d+ `; b, G9 ?7 H7 W: H9 \2 Z6 B Machine1.cont.move(transporter);- g) W/ A+ b' l5 E6 l! U
transporter.destination:=Machine76;
% T: m9 q. r5 d$ W) l* u7 D Machine1.out:= Machine1.out+1;( J% F4 s0 N! [. E ]- @
transporter.continue;
# _9 Z, |' N6 A- y" tend;& P* j2 Q F- x: i q# X7 `% q
end;) P( i! g/ p* r" o" _9 o
end;
8 u) o1 i4 d; n3 {" U
# B: k5 s# t1 M# |2 D. F% F b7 J) Q* y% }" b& t
(a) 如果Machine1是搬運終點,放在track的Sensor裡的Method
7 Y: N2 A3 d' A, W ^" vis2 u% H8 Z* e: o
do1 o! o# H: p, @8 C
if transporter.occupied and transporter.destination= Machine1 then0 y2 V" n% U: O
transporter.stop;
! i$ k' c' j# v% }4 c/ D wait 30;% V% @7 ?8 J: P% ?$ Y
transporter.cont.move(Machine1);
; p0 x% L# ]% f+ q* O transporter.destination:=VOID;! k# M7 R) U4 D2 s7 E& |
Machine1.put:= Machine1.put+1;( v$ ?7 P9 B# E
transporter.continue;
4 `% E9 P' R! i6 n1 ^$ xend;( v2 _. i+ K: A- t" \( x
5 a. {0 x* n# |4 A1 f5 X( h2.當有搬運需求發出時,如何去找系統中離該搬運需求最近且有空的車子?
4 V1 H' q8 ^: S7 t
& |- h1 ^( W7 [; h3.請問該如何讓車子在起點至終點的路途中車速從0開始漸增至最大速度,然後快到終點時再慢慢減到0呢?# E- H- Z; v; b, A" L# } [
- |* B! a7 U' R( Q4 b, C 4.我想讓車子搬運的路徑是走「最短路徑」,我使用transporter.destination:=xxxxx,讓車子知道他該去的目的地,但沒辦法使它走最短路徑,請問這該如何處理呢?: M! Q @# w( y8 q1 N
2 H- O% J, M/ k- i; Z& ?" h" Z5.當有兩台車同時到十字路口時,一台有搬運東西,一台沒有,如何讓沒有搬運東西的車停下來,讓有搬東西的車先通過後再繼續前進呢?
# j7 J# p E! O% i+ s5 _, f; B: D# l: d. r4 o# r: A; o" e" \6 @
1 I) H* g& r9 ~4 D1 G, I
# @ y6 H ]+ u6 s) f/ G2 ^! ~* B. M; l* \! O$ D$ \
以上麻煩各位為我解答了,非常感謝!!!!!' J9 d, [/ ^& f/ j, Q3 G
/ v* T" N; T' ` P; i* J1 @
7 y; m% B, `, p2 h1 E1 t$ z1 L; u4 R6 G. I" K
) C8 N4 g5 |* T. {6 z. p! ^ |
|