|
本帖最后由 qqball0908 于 2010-8-7 13:58 编辑
1 M/ o, W; Q( @% g6 W1 I4 e8 f, o& w# [/ m! D
各位前輩好* \) g8 h. N l+ f6 }2 b: Z; Y
我是eM-Plant的新手,目前因為研究而需要建一個半導體廠搬運系統的model,有一些問題想向各位請教。+ [1 I0 R& B4 M! F
我目前有上萬筆(一天的量)車子搬運的起點至終點的資料,我需要將這些資料全部輸入到我的model裡,目的是要研究這一天當中哪條路容易塞車。9 b3 `5 B1 T) |
我將資料進行換算,例如從A點至B點的搬運次數有3次,我就以一天24小時除以3,也就是每6小時發出一個搬運需求。在沒有搬運需求時車子會在軌道中隨便繞行,等到一有搬運需求,離該搬運需求最近的車子便要過去搬運。; x9 q- R. |2 ^
我的問題如下:. c: X, U p+ i0 l5 |5 M O( m' Y
' h4 [* _' _& x: i) c
1.關於資料輸入的方面,起點的搬運時間與地點我是用Generator的物件與Method控制,終點則是用track裡的sensor控制,但上萬筆資料這樣要輸入好久,想請問各位前輩有沒有其他更好的辦法呢?" d: o1 h2 I- Z: u, l3 ?+ E- n1 E
我目前想到的寫法如下:
3 e( @& F3 m8 a. s4 W, Q(a)如果Machine1是搬運起點,放在Generator裡的Method7 M9 e! c: ^7 T4 E" p' B- \7 d6 O
is
7 u' g8 s% m z6 P8 o% m( Z) i, V+ x' ddo
$ \, @- S) P" j* iif Machine1.occupied and transporter.empty then
/ w9 h% t- r# t if Machine1.out=1 then
$ ?& E( t" G- L( V' u8 d transporter.stop;* b) H* O& D& P8 L u: `$ U
wait 30;
5 O; X9 t7 a3 b1 m! Q' r: ^. o6 R- x Machine1.cont.move(transporter);
8 s4 x0 R4 H9 `# R# _$ b transporter.destination:=Machine56;, H7 u+ R' B1 _% m
Machine1.out:= Machine1.out+1;
: V, M& ~% l: x1 R6 H4 }- ] transporter.continue;6 X" } A5 V, l3 `; _2 L
elseif Machine1.out=2 then
; c l( N& u2 [9 J9 J" ~ transporter.stop;
$ t: P. t) V d. g: ]5 | wait 30;& w. p& z. ]6 D& o
Machine1.cont.move(transporter);) \! X ?, e4 v( q8 x) ]
transporter.destination:=Machine76;9 E' ]- W8 B% }% I
Machine1.out:= Machine1.out+1;
. e$ `+ I6 ?1 e! F! l1 C9 T transporter.continue;
! N( T: d( N9 }+ ]' ]8 t( x1 U Dend;
2 ^3 ]! L) w0 n, X: C6 wend; r8 ~& L% w% K8 `8 E% j
end;
h" `' ^% G9 L4 G# L' \+ w5 D+ P
4 p8 t. B2 |6 E' X: J+ w& q4 Q. A# I/ n! O2 L
(a) 如果Machine1是搬運終點,放在track的Sensor裡的Method
+ Y1 F _3 R) U( l0 ^. g2 `- Kis
' x. y, p. a; Ndo
5 e" t# c. e# b1 d; A. q+ l- E1 `if transporter.occupied and transporter.destination= Machine1 then
% L5 M% t* k+ O% I% L: Y c$ \ transporter.stop;0 f% D2 F/ n! H! s& P. j; d
wait 30;
6 m/ }) }8 `# ^ transporter.cont.move(Machine1);6 g% u. U8 E# E+ O/ j! |
transporter.destination:=VOID;
9 g& @2 e5 P2 a Machine1.put:= Machine1.put+1;4 _" [0 |) Y7 Q/ N! _0 p! x
transporter.continue;
* W( I9 O1 O* a, ^( kend;
0 \3 W7 R5 L8 X8 d/ U; E( J( J9 K2 ?- i" j1 c, D
2.當有搬運需求發出時,如何去找系統中離該搬運需求最近且有空的車子?
8 Y9 m" Q3 O. x2 `+ A7 B2 q( p" n! j' u: e3 ~
3.請問該如何讓車子在起點至終點的路途中車速從0開始漸增至最大速度,然後快到終點時再慢慢減到0呢?
6 O3 Q5 o6 W" u3 X& \/ y( E6 w t4 E! a* y( U
4.我想讓車子搬運的路徑是走「最短路徑」,我使用transporter.destination:=xxxxx,讓車子知道他該去的目的地,但沒辦法使它走最短路徑,請問這該如何處理呢?
; Z; { k+ e# n/ b- m( v+ o8 q7 }
5.當有兩台車同時到十字路口時,一台有搬運東西,一台沒有,如何讓沒有搬運東西的車停下來,讓有搬東西的車先通過後再繼續前進呢?
! ?: z' ^+ Q X) g( H. q
~& `% ^" h1 {' k, z3 x) Q6 h7 O1 }$ ]
( S; t; f) D. K
/ W3 _8 h+ f0 y( Y+ z: d以上麻煩各位為我解答了,非常感謝!!!!!, T7 h7 R5 i; C* P P
2 o5 s: Z4 g5 _* ^8 a2 f, V i6 g1 I* {( W
7 B6 r) g! L" n5 c5 i# ?8 [1 c) F
! S/ D$ x% a2 a k0 M6 P
|
|