|
本帖最后由 qqball0908 于 2010-8-7 13:58 编辑 6 z. N" h- p3 z
1 s+ r' H9 _9 K# X- i1 D1 z: A
各位前輩好1 `( _) o# f2 u# @* m6 n
我是eM-Plant的新手,目前因為研究而需要建一個半導體廠搬運系統的model,有一些問題想向各位請教。
! @6 N7 f4 R" Z! l, K J我目前有上萬筆(一天的量)車子搬運的起點至終點的資料,我需要將這些資料全部輸入到我的model裡,目的是要研究這一天當中哪條路容易塞車。
0 u T' `- s+ X: C) p我將資料進行換算,例如從A點至B點的搬運次數有3次,我就以一天24小時除以3,也就是每6小時發出一個搬運需求。在沒有搬運需求時車子會在軌道中隨便繞行,等到一有搬運需求,離該搬運需求最近的車子便要過去搬運。6 b$ C% N- ~: U5 U. ]
我的問題如下:
5 r6 u' [0 L! v* ~
" G; G: ~1 F8 O8 q* S# X" o1.關於資料輸入的方面,起點的搬運時間與地點我是用Generator的物件與Method控制,終點則是用track裡的sensor控制,但上萬筆資料這樣要輸入好久,想請問各位前輩有沒有其他更好的辦法呢?3 x% a& w$ E4 P, p3 b$ n7 m
我目前想到的寫法如下:' ~4 P8 K1 F, ?2 D: V
(a)如果Machine1是搬運起點,放在Generator裡的Method
v' [( F. W/ @is
9 b2 E6 [8 I0 Bdo
0 l2 W7 W) }8 ?4 x% f+ Wif Machine1.occupied and transporter.empty then' s% L/ B, D$ F
if Machine1.out=1 then
& a. g/ l s6 d transporter.stop;
" ~7 F1 Q0 ^4 n: Q wait 30;: }" s6 L1 g# D! L3 l
Machine1.cont.move(transporter);
/ p2 w- e# ~7 H transporter.destination:=Machine56;
( d( M* \1 b2 q( z Machine1.out:= Machine1.out+1;3 H" [" i U" r M. x x
transporter.continue;$ u. d, {! k; A5 z4 I
elseif Machine1.out=2 then* z" F# Q0 }5 W k0 e
transporter.stop; s1 P! j2 e, t2 W+ t
wait 30;* k- m; Q) X7 B" f& X
Machine1.cont.move(transporter);
- w' O) k: J* q% ~ transporter.destination:=Machine76;
) W9 i+ ]5 x+ i6 y' k0 I8 t6 i m0 H- Y Machine1.out:= Machine1.out+1;' R w+ \/ j% _& Y
transporter.continue;1 h: b: o/ v- O. s4 n! `* ~
end;
* C4 T f+ g. _end;& ? ~. U% E- @6 @! G( Z
end;3 H4 ^" F5 C. [) x. e2 |/ U9 @
5 Y. c) w6 w9 Z/ {* s& O! D D( t# i$ R7 N% ?6 x
(a) 如果Machine1是搬運終點,放在track的Sensor裡的Method5 q$ ] u2 Y A$ ~( @. a# A
is
d2 q0 Q' q( _7 h' Ydo
0 _) `; ?4 V/ C2 L6 x& kif transporter.occupied and transporter.destination= Machine1 then
) Q: {/ A7 J4 s* d$ { transporter.stop;
0 r% ^6 S0 ?" y4 [' N wait 30;
! I$ ? X) @+ |: y$ Y3 [ transporter.cont.move(Machine1);. b! W" Z) I! v
transporter.destination:=VOID;3 \1 J" }4 N5 t4 d; s) o% j
Machine1.put:= Machine1.put+1;; u. N8 _% E1 x7 G# V5 ], o# G$ t2 h
transporter.continue;
8 a; g' n: W' T" L; o- d/ ^end;
- I& F" B1 D- @0 H3 K, S5 k' ^- |6 y, T; m K( T
2.當有搬運需求發出時,如何去找系統中離該搬運需求最近且有空的車子?
; U& ?( o7 j! i8 }4 S- o; I
4 T; x" m V* N0 W3.請問該如何讓車子在起點至終點的路途中車速從0開始漸增至最大速度,然後快到終點時再慢慢減到0呢?- T( _0 }7 j$ C! J- r) w" B
; ]/ z s* {. ^+ a. _1 M 4.我想讓車子搬運的路徑是走「最短路徑」,我使用transporter.destination:=xxxxx,讓車子知道他該去的目的地,但沒辦法使它走最短路徑,請問這該如何處理呢?
& G, `# D& i2 ^# _5 C! ^* \8 {% L6 d% d
5.當有兩台車同時到十字路口時,一台有搬運東西,一台沒有,如何讓沒有搬運東西的車停下來,讓有搬東西的車先通過後再繼續前進呢?4 K2 [) ~; r: z! v' w% q
8 i# J9 @6 s" M1 G, P$ A
2 v4 ~+ Z' j! E1 r8 z# C
* `) Z, Y! n: |2 k+ e0 F
' l& ]# \' X9 Y- Z, P$ b7 F以上麻煩各位為我解答了,非常感謝!!!!!- O; f1 K7 c3 d' }" C2 P- v4 y3 i
4 Z9 }6 K, l- _4 }. c& q) q8 ]3 I$ I# N, ~" O( e" m& K
; E& W% W" @% h
3 V6 }7 x: ?# B( {/ \: J |
|