|
|
本帖最后由 qqball0908 于 2010-8-7 13:58 编辑
+ q3 \4 I3 H( O* |3 p1 e
2 a/ I6 C0 w! |. |# S) C各位前輩好" x1 g8 l% }8 |, ]
我是eM-Plant的新手,目前因為研究而需要建一個半導體廠搬運系統的model,有一些問題想向各位請教。2 E6 x8 v3 D9 z' ~( b4 x
我目前有上萬筆(一天的量)車子搬運的起點至終點的資料,我需要將這些資料全部輸入到我的model裡,目的是要研究這一天當中哪條路容易塞車。! e( J% H8 ^8 q' l# L
我將資料進行換算,例如從A點至B點的搬運次數有3次,我就以一天24小時除以3,也就是每6小時發出一個搬運需求。在沒有搬運需求時車子會在軌道中隨便繞行,等到一有搬運需求,離該搬運需求最近的車子便要過去搬運。
) y! L9 E3 o6 Z7 y我的問題如下:
; W$ U( e, T/ e8 X
7 P( J& _; M5 E* I! Z1.關於資料輸入的方面,起點的搬運時間與地點我是用Generator的物件與Method控制,終點則是用track裡的sensor控制,但上萬筆資料這樣要輸入好久,想請問各位前輩有沒有其他更好的辦法呢?
: u$ o6 d ?6 t; @, n7 k b# P我目前想到的寫法如下:6 k- g& i$ D( B# @3 y7 S$ C$ r
(a)如果Machine1是搬運起點,放在Generator裡的Method( U! P' t6 Z& t& `" U3 ^7 R. J! y$ s
is1 |# B/ D( y0 _: ^& \+ D6 `. q I
do
5 B1 q7 O% f1 J4 _; q# M% O2 c7 s; @if Machine1.occupied and transporter.empty then
3 l% \% L5 p+ I" `" ]0 F* i0 O3 d$ W if Machine1.out=1 then3 s! ?/ a" ]7 b$ K3 F# y
transporter.stop;$ a9 R9 K. n. I2 H7 G
wait 30;
9 E' [* `) M2 R4 @ Machine1.cont.move(transporter);
5 O. C5 g) g" W7 k+ o transporter.destination:=Machine56;
0 O" h& [7 |! ^+ f1 ~ Machine1.out:= Machine1.out+1;
/ C7 J' c/ e9 ]. _ @4 [ transporter.continue;
( j! P/ ?: b; o( q2 W! l5 q& K& } elseif Machine1.out=2 then
, c# Q' A/ Z, F7 j transporter.stop;# x! \- Y9 X v* f# r
wait 30;
" y5 _* j: d+ D: x$ ^) a Machine1.cont.move(transporter);6 j, y- n+ ^. o `. \2 C0 f S- w
transporter.destination:=Machine76;+ v0 T0 F5 }! a
Machine1.out:= Machine1.out+1;. [! Z, s1 W/ C( J ], Q
transporter.continue;
7 E. p% Y! A" r# V6 {end;
0 t5 [2 Q+ y4 l3 B' q1 oend;% F. r% w6 y. ^* b1 u/ }
end;
) T9 _4 h$ C7 s" `4 ?3 |; G
% B7 \0 [% F# S
5 I+ F6 h# s: m/ G(a) 如果Machine1是搬運終點,放在track的Sensor裡的Method; z6 [; ?6 ^1 A. {8 S! A2 I9 Q0 H
is! Q0 r% h* t% E; v6 m
do6 S: N/ C& X" I0 D! ~8 c! v N
if transporter.occupied and transporter.destination= Machine1 then
, M9 L/ J# k3 g9 y4 m transporter.stop;3 B; r: F. N! r6 U: _8 U3 T
wait 30;, H! m" V" t+ ]* n
transporter.cont.move(Machine1);
! K, o" S: O! S4 ] transporter.destination:=VOID;% s. G- E6 H% M4 W2 E( h) D
Machine1.put:= Machine1.put+1;. F2 s( ^( F; h v1 j3 N' r
transporter.continue;
" [8 j6 i+ G z+ M5 X9 iend;3 s3 j8 g0 X9 w* D6 U" R7 f4 N: k
* t+ p) N# V v3 i5 g- \/ a
2.當有搬運需求發出時,如何去找系統中離該搬運需求最近且有空的車子?; x: I$ c$ w; |- j9 Z" _2 m
5 ~) G/ y8 P5 x
3.請問該如何讓車子在起點至終點的路途中車速從0開始漸增至最大速度,然後快到終點時再慢慢減到0呢?
e$ `9 U3 ^7 k+ r0 R
! q: O& R. d. |1 c# F" I+ [ 4.我想讓車子搬運的路徑是走「最短路徑」,我使用transporter.destination:=xxxxx,讓車子知道他該去的目的地,但沒辦法使它走最短路徑,請問這該如何處理呢?$ k8 ~7 t2 U! |, @5 f
0 O- Q! G% |8 g' ?5 F- ~4 L8 i4 x
5.當有兩台車同時到十字路口時,一台有搬運東西,一台沒有,如何讓沒有搬運東西的車停下來,讓有搬東西的車先通過後再繼續前進呢?
6 t+ \+ ?& c- a" w
5 z0 G, ~% {% k8 b4 A% b/ s1 q0 g; G
9 d& s) W3 o5 X x4 w4 a1 {. l/ q! c
以上麻煩各位為我解答了,非常感謝!!!!!
7 F: \ w! y( W/ E3 K9 b5 W' H' b" D E: u
# }8 t! D* ^# k Z; I4 L9 U, o% k. W! J1 N+ g$ C9 w) _
$ K2 A' @* L6 \4 U7 }
|
|