|
|
本帖最后由 qqball0908 于 2010-8-7 13:58 编辑 6 t7 `5 F) L/ E; A
G5 J( E o, d2 n* C* O各位前輩好
. F$ l$ Y7 h, C4 {0 D我是eM-Plant的新手,目前因為研究而需要建一個半導體廠搬運系統的model,有一些問題想向各位請教。
7 g: y# C3 v. }我目前有上萬筆(一天的量)車子搬運的起點至終點的資料,我需要將這些資料全部輸入到我的model裡,目的是要研究這一天當中哪條路容易塞車。9 v5 n) G' n2 }0 v( n
我將資料進行換算,例如從A點至B點的搬運次數有3次,我就以一天24小時除以3,也就是每6小時發出一個搬運需求。在沒有搬運需求時車子會在軌道中隨便繞行,等到一有搬運需求,離該搬運需求最近的車子便要過去搬運。
3 a$ K% L5 k8 r& z, O4 v- m我的問題如下:
5 V3 l8 Q( L9 ]+ a9 f0 O8 U5 x7 C
: r4 C+ [- L) f6 k- m8 h1.關於資料輸入的方面,起點的搬運時間與地點我是用Generator的物件與Method控制,終點則是用track裡的sensor控制,但上萬筆資料這樣要輸入好久,想請問各位前輩有沒有其他更好的辦法呢?
2 {+ o( V! u) v+ u我目前想到的寫法如下:* L1 b4 a* ]# ?; T& J" f5 Y
(a)如果Machine1是搬運起點,放在Generator裡的Method( y' E- |2 c% L" G0 ^3 T6 m; L
is
+ [3 v/ D$ A/ h/ ido/ N+ \) L v" Z# O( k; D
if Machine1.occupied and transporter.empty then2 {0 j. } A( b0 A' W
if Machine1.out=1 then0 Y3 W% H& G8 x- x# K
transporter.stop;( K t- D9 W5 ^! S! S) M! N; B5 Y
wait 30;. v. F3 `1 w/ b& S
Machine1.cont.move(transporter);
, o* }) ]5 g$ n/ D7 W8 I7 e6 G transporter.destination:=Machine56;& r& l; n: n1 O5 \5 Q, W4 |0 k. S
Machine1.out:= Machine1.out+1;
7 P7 C# _& ]* }" N transporter.continue;
; l' z; J: ~; V9 x. |9 O" C& d elseif Machine1.out=2 then6 |) [& U% T5 [
transporter.stop;
9 i; M9 M _& V! f( [ wait 30;# t3 \% z8 ^5 _- U% Z9 G
Machine1.cont.move(transporter);
/ v- c( y$ z+ P+ u9 G" ?( {" p transporter.destination:=Machine76;' T M2 y% b6 X! B' E" B
Machine1.out:= Machine1.out+1;
0 M# b7 Y. q# M8 Z transporter.continue;9 ?" |: ^2 W3 R& V% n
end;8 s* X8 T% D3 q6 Y( [
end;
' O2 d2 W0 A/ f% g. a5 wend;/ T# n# Q0 _) [; z& e" S7 H# |
6 K7 L3 u' f6 R
. Z. `+ K* t/ l- \(a) 如果Machine1是搬運終點,放在track的Sensor裡的Method
2 y/ z' \2 @- a, x# F- Q/ iis
% h5 z0 R: P- g* Bdo
# M; z1 w! J {. pif transporter.occupied and transporter.destination= Machine1 then! f% D$ k x6 k' Y, }& f
transporter.stop;9 H/ u8 ]" J$ U1 Q: q1 x4 S" V
wait 30;6 M: x$ s0 @* q: A! F5 Z
transporter.cont.move(Machine1);% {3 E9 y% R$ O& k) v
transporter.destination:=VOID;7 Z, ?) v- t# g/ Z7 D/ u
Machine1.put:= Machine1.put+1;. S. s1 f. N/ U: R
transporter.continue;
& k0 T) V! ^& Z% |end;3 `" w i- l! ?# ]$ R
& @" x2 @* }% N4 T3 `) v2.當有搬運需求發出時,如何去找系統中離該搬運需求最近且有空的車子?6 \/ Y1 `5 `9 o! s: Q8 [4 W( o
2 n, O- b* q p* N5 p2 _; W3.請問該如何讓車子在起點至終點的路途中車速從0開始漸增至最大速度,然後快到終點時再慢慢減到0呢?
, G* p9 N. T) K$ L, I4 {, a/ ]7 p' c3 V/ @& g& M& e" G, D* A
4.我想讓車子搬運的路徑是走「最短路徑」,我使用transporter.destination:=xxxxx,讓車子知道他該去的目的地,但沒辦法使它走最短路徑,請問這該如何處理呢?8 ~4 H' W/ k8 w/ d
; _+ Z* f/ Q( j! d' f( r l5.當有兩台車同時到十字路口時,一台有搬運東西,一台沒有,如何讓沒有搬運東西的車停下來,讓有搬東西的車先通過後再繼續前進呢?
, @0 C% M1 h8 p' y7 T9 y
$ C/ \" s: v5 Y9 H) l. `4 g" v" N; h. `) Q
" M B4 [, N/ Z' P0 |8 y4 a9 u% @0 K7 |+ ?
以上麻煩各位為我解答了,非常感謝!!!!!9 S# | Q" @$ w, A3 Z! s3 W
' H& u K/ R l1 ]
. o9 [9 D; T5 [* Z) L2 B1 H
+ s6 d0 o/ k/ z, C
, k9 O5 c- V9 v. @1 j% U, H2 |6 W |
|