|
|
本帖最后由 qqball0908 于 2010-8-7 13:58 编辑
/ M9 P2 E, u8 I) u, o! q K0 G7 U# v5 v; k6 @3 x# B r# {
各位前輩好
) V6 i; ^ c, n6 x& f我是eM-Plant的新手,目前因為研究而需要建一個半導體廠搬運系統的model,有一些問題想向各位請教。
/ C' _3 a7 t* H" `3 Y& L) C我目前有上萬筆(一天的量)車子搬運的起點至終點的資料,我需要將這些資料全部輸入到我的model裡,目的是要研究這一天當中哪條路容易塞車。
" g, d& `$ @( E/ x9 y2 q8 o3 Q我將資料進行換算,例如從A點至B點的搬運次數有3次,我就以一天24小時除以3,也就是每6小時發出一個搬運需求。在沒有搬運需求時車子會在軌道中隨便繞行,等到一有搬運需求,離該搬運需求最近的車子便要過去搬運。
O$ F6 K8 Q$ M, D% u我的問題如下:; L7 v( x! H7 y8 _
; } y+ C8 P: f( o# B0 B& H
1.關於資料輸入的方面,起點的搬運時間與地點我是用Generator的物件與Method控制,終點則是用track裡的sensor控制,但上萬筆資料這樣要輸入好久,想請問各位前輩有沒有其他更好的辦法呢?. _2 @$ R& |# H$ N w& P
我目前想到的寫法如下:8 Z* M9 m! Y! M' f4 t0 L" m. T
(a)如果Machine1是搬運起點,放在Generator裡的Method. P! y- w/ g1 m
is
+ o6 L a' M5 ~2 A( T$ U( n6 ?1 mdo
t! \- ?( \. \if Machine1.occupied and transporter.empty then
1 `& Y% d$ e% [7 t+ ] if Machine1.out=1 then
& i/ g% o* |$ C+ c! h transporter.stop;! F; P4 ?5 a& I) N& o
wait 30;
+ i- B3 I1 c5 S+ v8 ~& M' t4 E8 k Machine1.cont.move(transporter);
; W0 s0 ^ r/ H: Q1 I2 o- s transporter.destination:=Machine56;
$ g, K; ?$ t1 ` Machine1.out:= Machine1.out+1;! l+ ]7 R; g; G4 T; l
transporter.continue;
& _2 P0 D, p3 x1 f2 y( z elseif Machine1.out=2 then
" z0 p1 o# F4 w1 O2 | transporter.stop;
# X' u( i! J0 D- d! Z6 Z( a" E: g' c wait 30;+ A/ C* s, J& a; G
Machine1.cont.move(transporter);$ A2 U: Y1 l7 ^# a5 k3 X
transporter.destination:=Machine76;
# _: V6 d: D5 H1 K Machine1.out:= Machine1.out+1;9 n7 f' y! a8 J/ b
transporter.continue;& R, `5 K% ~) _1 |8 P" F' X
end;
9 w* z; u! v* I4 M% gend;
- W' T8 @$ I) {! n% s+ d& Bend;
" @0 I% I% a% B+ `3 O! U. x
8 h# a1 S& S0 C& S/ L6 @
5 Q5 ?$ L! \/ k: C. \(a) 如果Machine1是搬運終點,放在track的Sensor裡的Method G, V1 Y4 J# f
is. F; C+ f4 }* c3 B: B6 h/ C. O
do8 o+ z2 H3 D+ f( @
if transporter.occupied and transporter.destination= Machine1 then
) ?$ ]$ U% T+ s7 v6 \ transporter.stop;
/ @8 B! t2 i0 K" J6 s0 S C wait 30;
# b5 @' O6 e5 f2 ] transporter.cont.move(Machine1);
& B6 T# y: O5 H, ^' k. |# _ transporter.destination:=VOID;& S' m3 s1 b% a
Machine1.put:= Machine1.put+1;
6 w4 S5 u1 |" k1 ^! ? transporter.continue;) A) c9 I- a; v
end;
0 i( H" B8 V% y; o. a$ z' b0 y1 W! u' u2 ~
2.當有搬運需求發出時,如何去找系統中離該搬運需求最近且有空的車子?
( h1 \, ]0 z* I" [/ c
7 ?% x. G" w4 A9 ` \3.請問該如何讓車子在起點至終點的路途中車速從0開始漸增至最大速度,然後快到終點時再慢慢減到0呢?) \$ g6 J7 ^2 A5 ^
; H2 S, N( E. R7 K: Z7 A0 X2 D8 Z
4.我想讓車子搬運的路徑是走「最短路徑」,我使用transporter.destination:=xxxxx,讓車子知道他該去的目的地,但沒辦法使它走最短路徑,請問這該如何處理呢?
8 V' O5 @; B5 a( @# \9 P3 B" c$ E# u6 R2 R) a& }0 a; x$ M0 b: l
5.當有兩台車同時到十字路口時,一台有搬運東西,一台沒有,如何讓沒有搬運東西的車停下來,讓有搬東西的車先通過後再繼續前進呢?. U, R+ {$ m) `$ i1 N' d4 {- f# l9 ?- e
6 h2 q; E4 u1 Y. J# m: w
, n5 F; A0 E3 T' c3 \8 G, F6 ], ?
, `# j$ B+ c' V1 Y; j0 g4 |' s2 E# E7 P7 e, P7 {1 Y& |
以上麻煩各位為我解答了,非常感謝!!!!!
5 X9 d- [% C4 x( q7 Q3 v, s6 @8 [- n/ G8 f
4 t1 i) p/ G% x3 b( o7 l( S, S
. o+ M& {' c- \
, E2 ?8 W2 J8 L2 I9 ~ |
|