|
本帖最后由 qqball0908 于 2010-8-7 13:58 编辑
" l# W: w7 l0 R
' W4 ? a' A, \& j w- B" U各位前輩好+ a$ c* h. g4 A& I. X) _% \
我是eM-Plant的新手,目前因為研究而需要建一個半導體廠搬運系統的model,有一些問題想向各位請教。
/ t( p. @! |2 \4 Z. V) _我目前有上萬筆(一天的量)車子搬運的起點至終點的資料,我需要將這些資料全部輸入到我的model裡,目的是要研究這一天當中哪條路容易塞車。
6 s- [" j4 P5 b7 |/ N: n7 g4 J# N我將資料進行換算,例如從A點至B點的搬運次數有3次,我就以一天24小時除以3,也就是每6小時發出一個搬運需求。在沒有搬運需求時車子會在軌道中隨便繞行,等到一有搬運需求,離該搬運需求最近的車子便要過去搬運。2 a1 ?( R) y c/ z6 {( P) o( V: j
我的問題如下:
; I" v8 N+ Y, J( Y
6 R& r |7 z1 X) u. U- @; ^1.關於資料輸入的方面,起點的搬運時間與地點我是用Generator的物件與Method控制,終點則是用track裡的sensor控制,但上萬筆資料這樣要輸入好久,想請問各位前輩有沒有其他更好的辦法呢?) D5 \4 V& ]) b- F
我目前想到的寫法如下:
' |$ ^; @3 {& z1 Q7 w% H+ t$ x(a)如果Machine1是搬運起點,放在Generator裡的Method, h. T# j. U. X K7 y
is
- q' B; T' H7 R6 }* \do
- _5 O; _) R% W" K }2 ~& ^/ x9 Tif Machine1.occupied and transporter.empty then$ u6 B- [" ]' Q7 X9 w; C
if Machine1.out=1 then
; Y& g+ f+ e! P3 X/ ^) m transporter.stop;
2 G" F. e+ Q5 p$ }8 [. e wait 30;
. u0 B1 P3 ]( w X# \6 H( y Machine1.cont.move(transporter);3 p, O: h! x" w4 |/ _
transporter.destination:=Machine56;
! \6 @: R8 L1 z9 L+ }6 u; \: B& g Machine1.out:= Machine1.out+1;8 O- L9 s& z6 h
transporter.continue;' V( |$ P/ ^9 A5 r, @: y0 t: p
elseif Machine1.out=2 then
& F c3 R0 y: z& M/ k transporter.stop;
8 k- I3 w7 I2 E; c/ r, ~7 w wait 30;
i2 G8 ]# e3 `9 P: ^+ E Machine1.cont.move(transporter);
2 m$ `' Z/ r) ^# u6 z transporter.destination:=Machine76;; X' _1 L5 a, H7 f; S' w
Machine1.out:= Machine1.out+1;. R% M1 \. h2 ~8 v/ b! }' ~3 S
transporter.continue;' |; O, V# F5 q8 w, O( N
end;
! h( u2 ?* j. S. G: _; bend;
. o" g$ x& x! W6 dend;; `4 q1 }# K# ^: V8 v
) J0 S/ a0 F( Y/ E( |( K* ]
7 o7 h2 |; f! i(a) 如果Machine1是搬運終點,放在track的Sensor裡的Method* g K2 v' k. H& T- J; n$ S7 {% C! K' P
is4 H: H5 B- h) l. r6 p
do) L% q9 S( U; Y2 ^ ^
if transporter.occupied and transporter.destination= Machine1 then
3 Y, B" C2 q! t9 V5 I transporter.stop;0 j! P5 Y0 d2 V' z" \) F
wait 30;
; `( a# p: V$ v5 O transporter.cont.move(Machine1);7 D; B6 e, b5 ^+ G) P; g. H
transporter.destination:=VOID;3 r: b: p4 n9 c% n& }
Machine1.put:= Machine1.put+1;
% }. x6 o4 @5 O/ | g I transporter.continue;
/ Y+ W4 r7 p* ^/ T5 hend;
) r- S; [6 t) s& Z) ]6 v% `0 W+ R: J
2.當有搬運需求發出時,如何去找系統中離該搬運需求最近且有空的車子?
. I# B) s% q) B5 N7 d' n5 a# C1 ~( e
3.請問該如何讓車子在起點至終點的路途中車速從0開始漸增至最大速度,然後快到終點時再慢慢減到0呢?
$ _- S' K8 {& j3 q
- V- U; T' ] ^3 |+ X5 o0 n 4.我想讓車子搬運的路徑是走「最短路徑」,我使用transporter.destination:=xxxxx,讓車子知道他該去的目的地,但沒辦法使它走最短路徑,請問這該如何處理呢?
5 c( A. f! Y) r; e" I- O. K
1 H v$ q2 g4 n; G- e& t5.當有兩台車同時到十字路口時,一台有搬運東西,一台沒有,如何讓沒有搬運東西的車停下來,讓有搬東西的車先通過後再繼續前進呢?
: {* \$ p% |4 D5 O4 X# K( a' K( w1 K$ V0 Z
% I- m/ x3 V( L* R4 |1 I: y6 r& M
& i6 x% m: L( K6 B; d
0 b3 b G8 _/ d: I以上麻煩各位為我解答了,非常感謝!!!!!2 |8 Z! V1 F1 b
( m8 g" K+ ?: Y
$ h/ L. `2 K3 l3 l$ N9 a5 H6 U9 Z
$ P4 K0 S5 k2 p$ k1 Q: W4 m5 d3 G+ b- f# @3 w$ j
|
|