|
|
本帖最后由 qqball0908 于 2010-8-7 13:58 编辑
, v I2 y5 d/ c9 a% g7 k( v A% {- |
各位前輩好
3 ^8 S0 Q' N I我是eM-Plant的新手,目前因為研究而需要建一個半導體廠搬運系統的model,有一些問題想向各位請教。( l3 u, I" k8 ~+ {. M
我目前有上萬筆(一天的量)車子搬運的起點至終點的資料,我需要將這些資料全部輸入到我的model裡,目的是要研究這一天當中哪條路容易塞車。
* ~7 d5 i9 \0 y" Y& a& ~我將資料進行換算,例如從A點至B點的搬運次數有3次,我就以一天24小時除以3,也就是每6小時發出一個搬運需求。在沒有搬運需求時車子會在軌道中隨便繞行,等到一有搬運需求,離該搬運需求最近的車子便要過去搬運。
6 x" m z* v: Q# W* n5 P5 S我的問題如下:' q* a6 k7 }# V# g( |: m8 ~& t2 ^# d
! h) G) x2 U7 w. N1.關於資料輸入的方面,起點的搬運時間與地點我是用Generator的物件與Method控制,終點則是用track裡的sensor控制,但上萬筆資料這樣要輸入好久,想請問各位前輩有沒有其他更好的辦法呢?
8 U! u& L+ L1 E X: I我目前想到的寫法如下: [# X5 W4 t& E1 u
(a)如果Machine1是搬運起點,放在Generator裡的Method& |" A* @, ~- @* F
is
% |0 j- }/ k2 _8 U& Ndo
! s0 M8 y* u6 Yif Machine1.occupied and transporter.empty then
5 z( u, }- ]8 |+ r/ i( r* K+ H! B if Machine1.out=1 then
/ e: h' ]+ X8 ?8 B transporter.stop;
, \( Z1 L- s c0 H# N4 o wait 30;0 ?, A& y$ h1 t2 V
Machine1.cont.move(transporter);
. |7 R4 e( T4 {0 e) F1 w. s transporter.destination:=Machine56;
# o; ?6 } ?7 E4 H9 t Machine1.out:= Machine1.out+1;, I3 ~# E$ a7 X- d/ [& \$ F
transporter.continue;
6 r, [ n9 U$ A l elseif Machine1.out=2 then: k+ }, j" ^. D. ?: W
transporter.stop;) ^8 F. O1 z0 T7 [' ~! W
wait 30;$ {; g$ ?& c2 O1 |0 T9 U
Machine1.cont.move(transporter);; M3 H; Q# r7 S3 T I' `
transporter.destination:=Machine76;+ J# \. Q: f$ g: V' s" U
Machine1.out:= Machine1.out+1;
' W' T2 b. G4 W/ ~ transporter.continue;- f7 {' d5 H: B
end;; N) ^: i, a; b8 Q! p" |
end;' ] T1 v m: F
end;
7 p( @! z6 H3 r$ i. O, E; N' j. \9 P. |% ~$ L) ]0 r5 r
* o' g6 T9 s1 ]# V, x1 K% }9 S(a) 如果Machine1是搬運終點,放在track的Sensor裡的Method% b! L0 I: [( v5 z( n9 z! r% k0 E+ Y
is4 ?" I3 q! u6 V1 \/ K2 Y
do( T$ n( I% K7 H
if transporter.occupied and transporter.destination= Machine1 then
5 q" y9 @& R | X7 Y transporter.stop;
& F# ?( V. @( F" f0 m wait 30;& i% `" k: ~6 ^- F/ P/ e
transporter.cont.move(Machine1);4 l2 @ C/ L9 |7 K1 [
transporter.destination:=VOID;% ~; X5 G2 Q. N
Machine1.put:= Machine1.put+1;
0 C' z+ c$ b6 @7 }/ c. o transporter.continue;
( o9 w/ G; O" l% I1 N5 uend;
! [) Z# H/ }+ F4 x7 R1 L% ^3 I9 }' u, d0 H( O3 Z, `
2.當有搬運需求發出時,如何去找系統中離該搬運需求最近且有空的車子?, K/ _3 x3 J0 y' l$ V( t
1 R9 t/ \1 b) X' S* p& v3.請問該如何讓車子在起點至終點的路途中車速從0開始漸增至最大速度,然後快到終點時再慢慢減到0呢?% ]4 y6 B9 X4 w( Y9 @
0 D M! Z/ K3 z" m2 \" c
4.我想讓車子搬運的路徑是走「最短路徑」,我使用transporter.destination:=xxxxx,讓車子知道他該去的目的地,但沒辦法使它走最短路徑,請問這該如何處理呢?
6 c8 m J" ]6 P3 |$ t
4 n- `. }; H' V* i( X$ O% V5.當有兩台車同時到十字路口時,一台有搬運東西,一台沒有,如何讓沒有搬運東西的車停下來,讓有搬東西的車先通過後再繼續前進呢?) B1 p: w2 r4 m3 o6 J8 q# j/ d7 K3 o
% ~+ x8 O$ U. l. I1 Q. f
$ [' L: B1 d) b+ t' I& E2 y5 q' J
3 A8 `6 j. \6 g* C. f* v0 B7 t3 w7 A0 m
以上麻煩各位為我解答了,非常感謝!!!!!9 D! f2 d$ Q" Y& I( ~ R/ ?
' w, U7 L( U( B1 V* j s
# D$ E. \" b- u8 x- h0 S( Z2 r: d4 i% k9 h* J$ v
' A+ g5 {1 E" _
|
|