|
|
本帖最后由 qqball0908 于 2010-8-7 13:58 编辑
1 _5 D+ j: \. F6 _
+ c7 {) m" e9 x各位前輩好3 {5 k2 u" \% C3 k. s6 U+ ^* }# [
我是eM-Plant的新手,目前因為研究而需要建一個半導體廠搬運系統的model,有一些問題想向各位請教。
: W4 p: x s. a" ~# ]& h4 \4 B我目前有上萬筆(一天的量)車子搬運的起點至終點的資料,我需要將這些資料全部輸入到我的model裡,目的是要研究這一天當中哪條路容易塞車。7 f8 q$ {; v/ X) E6 ]! d
我將資料進行換算,例如從A點至B點的搬運次數有3次,我就以一天24小時除以3,也就是每6小時發出一個搬運需求。在沒有搬運需求時車子會在軌道中隨便繞行,等到一有搬運需求,離該搬運需求最近的車子便要過去搬運。
& j/ ~4 }$ ~* e6 I6 n1 y我的問題如下:
$ M" r8 ^ j# W$ G# [3 y) x9 Z+ ]2 _5 K0 L& \# H$ ]- o
1.關於資料輸入的方面,起點的搬運時間與地點我是用Generator的物件與Method控制,終點則是用track裡的sensor控制,但上萬筆資料這樣要輸入好久,想請問各位前輩有沒有其他更好的辦法呢?
0 H; o" Z) b) N; S2 T& u我目前想到的寫法如下:
! A; M5 v$ l( y" d1 C(a)如果Machine1是搬運起點,放在Generator裡的Method
, [( {( z0 N7 U M" T t/ s( Sis
+ D+ E/ g8 e7 I0 N$ A% n& bdo |9 A0 M% I+ G% r. ]( _
if Machine1.occupied and transporter.empty then
) ?3 r; w, }: l6 Y if Machine1.out=1 then4 t5 n9 H; q$ [
transporter.stop;
, j5 z" `" F1 P2 k% I wait 30;
+ R, |6 U# J8 _: {) Z9 S' g3 [ Machine1.cont.move(transporter);* M8 o5 B1 A* p& E
transporter.destination:=Machine56;& E# h' B& ]5 j0 I6 r6 i# O* [* q
Machine1.out:= Machine1.out+1;8 m/ A. z! y% G5 Z7 ^' g
transporter.continue;
, E+ }: @, y5 Z8 n5 W+ A elseif Machine1.out=2 then; d2 @/ z3 }5 K/ H8 @3 y6 {4 H
transporter.stop;
) X) M. `. X$ Z9 h7 v! z wait 30;
. y% T9 d# U! d1 Q Machine1.cont.move(transporter);8 _" {- p" `5 i3 o0 v6 |% H. ~9 d; J/ V
transporter.destination:=Machine76;
; o4 j) Y9 y, Q( J Machine1.out:= Machine1.out+1;- i. T( \4 E T; E- Y6 l5 ?
transporter.continue;- j5 t2 g8 J2 m* u/ N G
end;: J9 [3 x2 ]" G2 `) ]' C( `4 e
end;
; u# S' _7 Y) ^& R/ wend;
/ P5 q5 Y6 O( |, L1 ]3 j: j* g+ o# s2 g3 J( q
. h. ^% J9 |( T0 J; y7 t(a) 如果Machine1是搬運終點,放在track的Sensor裡的Method8 z- [) d: y$ ~4 n9 Z$ }+ q
is/ c! N/ L- w! O9 Z5 ~
do( F/ _. {7 C* f' |" |6 O8 C0 R2 V
if transporter.occupied and transporter.destination= Machine1 then: g/ B6 @/ {0 Q, d3 H7 K9 P
transporter.stop; ? s$ }- H1 q/ Y; C
wait 30;
( A+ V+ K9 @' u& e) l3 p4 E4 ~5 Z transporter.cont.move(Machine1);
% x. L+ n1 J0 H8 [ transporter.destination:=VOID;
: ~: @5 q% l, u! Z* H2 [2 L Machine1.put:= Machine1.put+1;. _8 t8 X V( K0 _8 q
transporter.continue;
9 D% O. i! H# ]4 z \! Eend;
+ k. g- N4 M9 {2 R5 L: O
}7 L% K* N. A2.當有搬運需求發出時,如何去找系統中離該搬運需求最近且有空的車子?1 j9 ~" q' ^2 W6 Z' |/ G7 [" W
2 k9 w) J" Z7 W$ ]
3.請問該如何讓車子在起點至終點的路途中車速從0開始漸增至最大速度,然後快到終點時再慢慢減到0呢?
3 ]2 J( L# c% i! D3 I( Q3 L, `
8 X& {+ Q2 k( r& Y 4.我想讓車子搬運的路徑是走「最短路徑」,我使用transporter.destination:=xxxxx,讓車子知道他該去的目的地,但沒辦法使它走最短路徑,請問這該如何處理呢?0 k' |. ^: F+ w M8 ]8 x4 U7 I" t
( Y+ y: N$ m5 n5.當有兩台車同時到十字路口時,一台有搬運東西,一台沒有,如何讓沒有搬運東西的車停下來,讓有搬東西的車先通過後再繼續前進呢?
- F6 N+ |8 X0 m$ ]7 | \6 Y- G$ L% e) K
4 C" X% s: D/ r1 {# G2 m
+ R" h; Z& e* G2 }3 G7 G% \, K
$ ]$ v8 [" i5 d" R& ]! r以上麻煩各位為我解答了,非常感謝!!!!!
# N: X" W) ]- v& C- R4 ?8 C9 U4 Y1 h! r" n! {' U; E F* C1 |& G' o! t' z: @
8 ]+ E% M9 ^% p. T
7 |; H" U- V& o
4 U' G/ U$ v) I( k+ S W* e7 z2 m |
|