|
|
本帖最后由 qqball0908 于 2010-8-7 13:58 编辑 # H5 t J2 B+ P% q3 f) G; y
% x& u0 e, b. X6 n$ A, r各位前輩好& q( |4 I% ?( j
我是eM-Plant的新手,目前因為研究而需要建一個半導體廠搬運系統的model,有一些問題想向各位請教。
8 g* | g' J. J! b4 R我目前有上萬筆(一天的量)車子搬運的起點至終點的資料,我需要將這些資料全部輸入到我的model裡,目的是要研究這一天當中哪條路容易塞車。
. s3 l7 E9 a0 ^3 f$ G/ a# t我將資料進行換算,例如從A點至B點的搬運次數有3次,我就以一天24小時除以3,也就是每6小時發出一個搬運需求。在沒有搬運需求時車子會在軌道中隨便繞行,等到一有搬運需求,離該搬運需求最近的車子便要過去搬運。
# P5 V" m( L$ D我的問題如下:+ M" f) v$ Y8 n
7 J2 Q' m7 A8 O$ p0 G, K4 B1.關於資料輸入的方面,起點的搬運時間與地點我是用Generator的物件與Method控制,終點則是用track裡的sensor控制,但上萬筆資料這樣要輸入好久,想請問各位前輩有沒有其他更好的辦法呢?
9 X) I9 L. C+ G0 G1 B) ~我目前想到的寫法如下:
: D2 `0 n3 J& O3 x6 C) w O8 Y(a)如果Machine1是搬運起點,放在Generator裡的Method
. R) h* \' [' {6 Pis
( w3 C/ z4 ]& ~+ ? U. }9 Ndo
6 f3 q8 T( K* F; i. ]if Machine1.occupied and transporter.empty then
0 D& x5 a, N; w+ P; T2 |: u; O$ R) m5 T if Machine1.out=1 then
; [ X3 ~4 U- g- q" X transporter.stop;" [" e( \8 U6 i$ P% Y
wait 30;5 v" `0 I0 @9 W- G& N3 t
Machine1.cont.move(transporter);
2 Q& a! X' T. |# S, u& n1 s! k( y" v transporter.destination:=Machine56;
0 i' X- b7 ~* l8 |, { Machine1.out:= Machine1.out+1;
4 J* b# \6 R7 y2 b) Y6 L transporter.continue;
" x; G! h2 @$ Z$ C V r elseif Machine1.out=2 then; k' B' y! ]7 U9 H; u" D
transporter.stop;
. m6 r5 J0 G" ]2 F0 X+ S: S/ p wait 30;. b2 J: D& w. [4 ~! T3 {$ s
Machine1.cont.move(transporter);
! ^# |- [' F' y S) Z3 { transporter.destination:=Machine76;+ Q# S/ I4 g+ o; S$ V: G9 B/ z" V
Machine1.out:= Machine1.out+1;
+ O2 X/ i" @7 z( j$ _. K6 g4 i transporter.continue;
- B; o! T- f4 C) U( ~end;% C+ w" c+ f0 e- T! Z
end;
4 u, }% A5 n! x7 g7 Y, E0 t+ t: kend;( t: c( _) A8 |* t+ X3 Y
+ N+ Q7 w- t* M$ t+ j
3 R9 _( Q1 \/ n f+ G& s9 Z, V: s(a) 如果Machine1是搬運終點,放在track的Sensor裡的Method
+ Y% J7 H. p, Z( z6 h( M* G4 eis* G/ ?; K$ t" I3 e8 ]5 O4 c
do
+ A7 T5 q3 j& ~8 \6 E/ _+ f9 v7 Jif transporter.occupied and transporter.destination= Machine1 then/ [7 Y/ n9 I* h0 R2 |
transporter.stop;
% l+ l! l+ _6 r" d wait 30;( g, i# }( ]9 f+ s
transporter.cont.move(Machine1);
4 E- c6 U# i; ?/ t- w transporter.destination:=VOID;# H; P8 [9 s: S- P; `2 J$ Q [4 L
Machine1.put:= Machine1.put+1;
4 l* o. g* {9 _ ~ transporter.continue;
0 M0 o, }$ l/ s& Q- m n& oend;7 c& R$ S3 z* {0 {
% m: u d9 A7 B2.當有搬運需求發出時,如何去找系統中離該搬運需求最近且有空的車子?
9 X; [! E' @7 H* u+ Z4 K' c% I# q
3 P1 F8 W: F6 U2 R. p3.請問該如何讓車子在起點至終點的路途中車速從0開始漸增至最大速度,然後快到終點時再慢慢減到0呢?( \2 u. c/ n3 r( {4 p9 F# g
/ R. _! |. V% p6 E9 }
4.我想讓車子搬運的路徑是走「最短路徑」,我使用transporter.destination:=xxxxx,讓車子知道他該去的目的地,但沒辦法使它走最短路徑,請問這該如何處理呢?
- u. F! Q6 t9 p
@2 q" x) @/ n$ x* `5.當有兩台車同時到十字路口時,一台有搬運東西,一台沒有,如何讓沒有搬運東西的車停下來,讓有搬東西的車先通過後再繼續前進呢?
& J* e8 u: ~# E0 u
x+ E% a! m+ @' n2 F0 R/ V1 T# I8 V+ w8 R
% \& l I8 R. e- |9 n9 ]) q* N+ K6 G% F
以上麻煩各位為我解答了,非常感謝!!!!!
4 e# {% P$ U, z: L1 L& O/ k1 i+ B2 D. [- U4 l5 |) V: s
8 g& N) U. n6 q) r, V# }& n/ m
. X5 n" f# M8 s: A. |$ q& z
; M' }! g+ d( _( X7 T |
|