|
|
本帖最后由 qqball0908 于 2010-8-7 13:58 编辑 C) k6 o& U# q: {/ T) [2 v6 e1 z1 R7 N
* R( R1 }8 I- q" t+ g* S3 z+ y# P& k各位前輩好+ q5 P: z5 H) `
我是eM-Plant的新手,目前因為研究而需要建一個半導體廠搬運系統的model,有一些問題想向各位請教。
8 r7 B' y4 @: ]% T: S1 N* Y我目前有上萬筆(一天的量)車子搬運的起點至終點的資料,我需要將這些資料全部輸入到我的model裡,目的是要研究這一天當中哪條路容易塞車。9 p( {, ^, c' E) P7 R
我將資料進行換算,例如從A點至B點的搬運次數有3次,我就以一天24小時除以3,也就是每6小時發出一個搬運需求。在沒有搬運需求時車子會在軌道中隨便繞行,等到一有搬運需求,離該搬運需求最近的車子便要過去搬運。' o6 j. W% y% J. y
我的問題如下:/ |; V) d) [4 r1 m4 F1 i
+ Z7 {; H' e2 l+ Y
1.關於資料輸入的方面,起點的搬運時間與地點我是用Generator的物件與Method控制,終點則是用track裡的sensor控制,但上萬筆資料這樣要輸入好久,想請問各位前輩有沒有其他更好的辦法呢?4 {8 |/ Z% B) k& y7 R
我目前想到的寫法如下:4 }5 K% w' R* s5 I9 g0 F# D
(a)如果Machine1是搬運起點,放在Generator裡的Method
. d- W! E: X5 F5 X) Y5 E xis
" G4 @$ q8 c" sdo
7 ~% K3 B3 b3 @' `if Machine1.occupied and transporter.empty then
) T. Q+ N* A8 U( P5 V if Machine1.out=1 then6 i& `. F; o' l2 B. P; [$ m7 b3 _
transporter.stop;
/ [" |$ P6 k" w& m4 O0 K wait 30;2 y/ ?& c9 s& Z8 u3 R5 z0 I
Machine1.cont.move(transporter);7 v" t4 w5 @' ]! h8 l# `- H
transporter.destination:=Machine56; D" }: m2 W+ a, F5 K# O
Machine1.out:= Machine1.out+1;5 ], j1 Z5 e' c; A- w: J3 t0 Y; Z
transporter.continue;" {+ ~$ e0 K) S! c$ E
elseif Machine1.out=2 then& r/ Z4 M, i) o+ E! o
transporter.stop;. }! N& o/ t* j: b6 S
wait 30;
" Y5 z9 z8 A$ T- L# d. P' a Machine1.cont.move(transporter);
8 D0 F7 m: j6 [; u/ i, O9 W transporter.destination:=Machine76;( W7 M3 {9 W4 w7 s
Machine1.out:= Machine1.out+1;
0 {$ P* ^! y5 J6 I {: o transporter.continue;
6 W$ ]; L1 l3 S* j9 A, `4 zend;# U0 m; R0 {0 p3 O6 F0 K
end;6 w+ N$ {+ b: K0 K3 L- l' Y
end;
6 u$ H+ r" x! b. S0 v/ q
4 U8 s* V5 o9 l3 r/ P: b5 p
6 R J8 c$ ]- i" z( f7 Q5 c(a) 如果Machine1是搬運終點,放在track的Sensor裡的Method1 o% D/ C1 s N5 k
is, X# [- H: a- `/ B: X3 H6 @ N
do
$ E& S4 v( H* _6 f- pif transporter.occupied and transporter.destination= Machine1 then
' F* r1 q" D4 z" Q. l9 h transporter.stop;
4 |" ^7 j; B0 n wait 30;
2 S, t0 E$ ?- x7 P/ f transporter.cont.move(Machine1);
" z" Y4 S/ C7 u0 u3 W3 Y transporter.destination:=VOID;3 i6 q8 J W: u8 E0 Y& x) S+ C
Machine1.put:= Machine1.put+1;
3 x( ]/ J7 a& u7 p, `' {- q transporter.continue;# H9 I2 G2 O5 c
end;
3 @; ^5 H# S; ~: l/ |+ @6 W, c6 u/ F9 U. I f# z* w% V5 y
2.當有搬運需求發出時,如何去找系統中離該搬運需求最近且有空的車子?+ F( N+ J$ f3 \4 C
, z+ y% [/ J- h; P' J# J3.請問該如何讓車子在起點至終點的路途中車速從0開始漸增至最大速度,然後快到終點時再慢慢減到0呢?
: I$ z3 x, D; n/ x& g7 p
/ i# N$ n) h1 j& T2 Q( q5 P2 C 4.我想讓車子搬運的路徑是走「最短路徑」,我使用transporter.destination:=xxxxx,讓車子知道他該去的目的地,但沒辦法使它走最短路徑,請問這該如何處理呢?" v; \& o6 ]6 x" z- Z) J( n _
+ ~8 N# x* U; g0 G( V9 B5.當有兩台車同時到十字路口時,一台有搬運東西,一台沒有,如何讓沒有搬運東西的車停下來,讓有搬東西的車先通過後再繼續前進呢?, z* }1 b- ~: U8 T) w2 z' M; g
% ^6 x7 \+ B7 W X- B% M$ ~% `0 \
- c* s+ l5 X/ O1 t u6 C2 t
8 R5 j6 y ~" k# I" i以上麻煩各位為我解答了,非常感謝!!!!!4 \' r; {1 E0 b* s* p" W
/ S$ W0 L# Q) u6 \+ x0 j! N
, D# n& C' [0 Y9 E. E
1 a9 }4 W. }' R
( C9 {2 E0 W4 v& p- X' d* w |
|