|
|
本帖最后由 qqball0908 于 2010-8-7 13:58 编辑
" n) K* O& d- Y. ~1 X1 v
! m4 P" q* V2 o$ P- S% F各位前輩好: [1 T4 g, H3 [+ C9 r* C1 w
我是eM-Plant的新手,目前因為研究而需要建一個半導體廠搬運系統的model,有一些問題想向各位請教。
/ y& O9 T6 I! s8 \我目前有上萬筆(一天的量)車子搬運的起點至終點的資料,我需要將這些資料全部輸入到我的model裡,目的是要研究這一天當中哪條路容易塞車。
9 J$ J% j: d2 G8 e$ s( F6 H我將資料進行換算,例如從A點至B點的搬運次數有3次,我就以一天24小時除以3,也就是每6小時發出一個搬運需求。在沒有搬運需求時車子會在軌道中隨便繞行,等到一有搬運需求,離該搬運需求最近的車子便要過去搬運。
# u X5 m+ t0 ]我的問題如下:
# X- h+ k; x; ]( i+ V8 f
) @1 W$ P3 {3 l$ O6 y' @1.關於資料輸入的方面,起點的搬運時間與地點我是用Generator的物件與Method控制,終點則是用track裡的sensor控制,但上萬筆資料這樣要輸入好久,想請問各位前輩有沒有其他更好的辦法呢?
% \, H. j. k- S0 z2 s: k; }我目前想到的寫法如下:
' t7 J/ z# d% q2 @7 |& H. @) @) `' W(a)如果Machine1是搬運起點,放在Generator裡的Method: T# u8 T; p5 e+ h
is
& ?6 b4 D6 d( y& ^! ldo
U. R: R* I) ~' Uif Machine1.occupied and transporter.empty then2 [* i L( X1 L/ W
if Machine1.out=1 then' D- x9 Z" Z; d/ w' W5 p: _7 o- }
transporter.stop;- o& V: M# Q$ {* V
wait 30;- _6 G. }0 p4 K+ E( P
Machine1.cont.move(transporter);7 P$ [2 w, z) H! @' K) ~
transporter.destination:=Machine56;1 c/ p6 ?+ t0 }2 [8 M# A4 B
Machine1.out:= Machine1.out+1;' D. \! z0 p# h
transporter.continue;- u: `' `8 S% C
elseif Machine1.out=2 then. F- T( b+ |) Z3 H
transporter.stop;6 E5 n6 m2 o& f4 ]% I3 `
wait 30;( l0 [$ D+ C( Y. K0 d
Machine1.cont.move(transporter);+ ~) ~1 H2 `( h C" q" h
transporter.destination:=Machine76;
! O# N- A C/ ~3 D9 ~' b( P+ i/ } Machine1.out:= Machine1.out+1;
- D$ `/ a: r; E/ h2 V; Q' l transporter.continue;
" M/ Z2 R; f( ], ~2 Jend;1 }( A( Q' i# w1 g$ r6 g" a& d
end;
* g: S% L8 ^$ F( T$ l: Eend;" X0 `. C! o1 I g) a' P" L/ b
U* {6 N8 N! v7 z {: m c5 K# X+ O
(a) 如果Machine1是搬運終點,放在track的Sensor裡的Method; ] h- I& d9 }! x# z8 ]
is% j: _; ~, x' g, u+ y `3 Z' p
do. r8 b9 F& k1 b; S+ V& t5 m6 g
if transporter.occupied and transporter.destination= Machine1 then3 A) G/ l: S/ Z# U: p! {
transporter.stop;. N& j) S8 E6 D |" W4 v% b- q& \: E
wait 30; @$ K) `$ [# m$ {/ W
transporter.cont.move(Machine1); U+ M! ]4 e B1 Y1 @8 y- z
transporter.destination:=VOID;8 [( g- K, T- h# p. [0 Y! L, b
Machine1.put:= Machine1.put+1;& G0 ^; P6 {; m8 Q0 @; c9 F
transporter.continue;! N- y1 ^7 f8 Y. u( o% T( \0 t
end;
f/ l; I2 o8 Z6 P* d7 c
% B# \. @3 {4 g8 ^& o9 |2.當有搬運需求發出時,如何去找系統中離該搬運需求最近且有空的車子?- `/ S- ?5 D7 M' D a$ y1 D# ~
5 T2 a& ^' ~5 p& l/ J _# M# c
3.請問該如何讓車子在起點至終點的路途中車速從0開始漸增至最大速度,然後快到終點時再慢慢減到0呢?
% w+ R: K9 G2 f4 i. b% Y0 |7 W3 f8 e* @
4.我想讓車子搬運的路徑是走「最短路徑」,我使用transporter.destination:=xxxxx,讓車子知道他該去的目的地,但沒辦法使它走最短路徑,請問這該如何處理呢?1 @& h/ k, u3 C; l) ?. p3 l Y
5 r' {. r, ]5 Y1 ~6 e
5.當有兩台車同時到十字路口時,一台有搬運東西,一台沒有,如何讓沒有搬運東西的車停下來,讓有搬東西的車先通過後再繼續前進呢?# G; E! _! n! K* W6 C
( X- E8 u& q# _3 I' v5 y; ]
: c, Y3 J+ o) B1 }" X
0 `+ X0 g4 }7 A
: Q. h0 U Z# D, m; b以上麻煩各位為我解答了,非常感謝!!!!!3 Y2 K* y# C% n5 `9 }
O2 L; W `- b3 U8 ~+ J0 p+ {1 X
8 `9 _& ~3 T+ U7 X/ j
/ c ]' i" G- u* I, N+ \4 U
8 V# K5 C1 x. j/ c; V# d8 } |
|