|
|
本帖最后由 qqball0908 于 2010-8-7 13:58 编辑
1 p- K" }' v# V9 T1 x8 |. l. h; [( U/ T3 q1 t1 b
各位前輩好
/ L5 I$ N9 k# G# n7 u$ Q我是eM-Plant的新手,目前因為研究而需要建一個半導體廠搬運系統的model,有一些問題想向各位請教。
5 x' u, d; S/ b我目前有上萬筆(一天的量)車子搬運的起點至終點的資料,我需要將這些資料全部輸入到我的model裡,目的是要研究這一天當中哪條路容易塞車。) _" ]& I1 M6 T: I1 @0 ?% m
我將資料進行換算,例如從A點至B點的搬運次數有3次,我就以一天24小時除以3,也就是每6小時發出一個搬運需求。在沒有搬運需求時車子會在軌道中隨便繞行,等到一有搬運需求,離該搬運需求最近的車子便要過去搬運。- p& h3 b: N2 Q6 l, l
我的問題如下:$ a) L" _1 @3 q1 t5 j
- X$ l. i% o g1 ^
1.關於資料輸入的方面,起點的搬運時間與地點我是用Generator的物件與Method控制,終點則是用track裡的sensor控制,但上萬筆資料這樣要輸入好久,想請問各位前輩有沒有其他更好的辦法呢?; |$ @2 n! @' y! R$ R
我目前想到的寫法如下:9 h3 k( a7 w5 m4 |. U% [
(a)如果Machine1是搬運起點,放在Generator裡的Method
* ~+ R9 l) }# s8 [is- j4 L5 o5 T. U1 r+ o) V
do
8 ?3 e9 [% ?7 Yif Machine1.occupied and transporter.empty then
! v6 ~* z$ J2 T3 C" s if Machine1.out=1 then B5 R& h% W0 n) ]5 @
transporter.stop;
* Z: ^6 w% Q8 C1 x7 b" Q wait 30;8 L$ n7 c. h, {/ [9 w
Machine1.cont.move(transporter);
; c2 {0 Y' O: B, }- D1 [! X transporter.destination:=Machine56;( F, j ?8 @% x+ ^
Machine1.out:= Machine1.out+1;4 ~8 c6 `% k8 o# X) l( v
transporter.continue;
( Z+ G7 c, q" E" ? elseif Machine1.out=2 then* H) U( O6 }4 |5 W' X# G
transporter.stop;
' v6 B# ^( e! ~6 `, O+ j wait 30;, ^) P; Q# { m5 q8 @. f8 t
Machine1.cont.move(transporter);
4 U8 K# E( f6 a1 T, ~ transporter.destination:=Machine76;3 v( [& w0 N, I' R# K5 a5 b1 Q
Machine1.out:= Machine1.out+1;6 h- O& G! {/ c
transporter.continue;
) {* u& X3 e! _) Gend;
3 z' @- o/ V# e3 ^* }end;
. {1 A, X( f+ X' A0 S E6 Jend;- m' h% E3 {0 o+ H5 l* d! r, o
8 V8 k( E' g( v% C
+ f$ G- x6 n* Q: `
(a) 如果Machine1是搬運終點,放在track的Sensor裡的Method
i" g; V7 h# w1 Bis) A8 D6 j$ q$ R6 {! q
do
) N+ w1 c- A, C2 m' B4 Vif transporter.occupied and transporter.destination= Machine1 then
4 q9 @6 @9 V6 D! y3 ^: p transporter.stop;
; R. f2 e1 k$ s7 m* ~ wait 30;
5 K* v! h$ K N$ [ transporter.cont.move(Machine1);
* n- v9 \" T2 ~ transporter.destination:=VOID;
: |/ j2 H; G3 w( h4 Z) }' i, ?% z Machine1.put:= Machine1.put+1;
( @! B% Q! D- E5 q; p transporter.continue;. `; @7 `+ {& u7 P9 F7 _
end;$ E" {$ R8 E. [% i5 S' f) b
1 }- j. a' J! z! q+ f9 {% R2.當有搬運需求發出時,如何去找系統中離該搬運需求最近且有空的車子?
# q6 `) T. m3 W/ G6 q4 _$ Z) @, f1 A# Q4 H l2 {& h5 S
3.請問該如何讓車子在起點至終點的路途中車速從0開始漸增至最大速度,然後快到終點時再慢慢減到0呢?+ n4 O6 G$ P% v7 D' U5 y7 k x
% W! x, W3 o1 z% M$ t 4.我想讓車子搬運的路徑是走「最短路徑」,我使用transporter.destination:=xxxxx,讓車子知道他該去的目的地,但沒辦法使它走最短路徑,請問這該如何處理呢?7 |+ j) R" U# c" c& @# ~) Q2 l
9 a$ M0 ^' N6 \5 ~# Q
5.當有兩台車同時到十字路口時,一台有搬運東西,一台沒有,如何讓沒有搬運東西的車停下來,讓有搬東西的車先通過後再繼續前進呢?
$ \# h% P1 G& g( G8 N
' f$ g5 |" g! K3 v! Q, |' |3 O% S8 A) u) N8 H0 n. H9 ~, u
6 X+ L$ e: l+ W+ r! H% ?- G
" J) }6 A: f( v! O! L# C4 I以上麻煩各位為我解答了,非常感謝!!!!!
1 e. N; }6 B9 Q& g5 K" l/ {8 Q$ x4 i7 ?* |
& V* z1 c8 M' u
* H. A9 U: d( @; Z( i2 M1 F
# k" m4 C9 O6 @& B$ \4 ?
|
|