|
|
本帖最后由 qqball0908 于 2010-8-7 13:58 编辑
, O; p# S( W! C8 b) v. q$ t6 [- y% U! \* m
各位前輩好
( ^ I' a! V2 f8 G6 g% R: A! }2 a我是eM-Plant的新手,目前因為研究而需要建一個半導體廠搬運系統的model,有一些問題想向各位請教。
3 \- q l: G% q) \我目前有上萬筆(一天的量)車子搬運的起點至終點的資料,我需要將這些資料全部輸入到我的model裡,目的是要研究這一天當中哪條路容易塞車。# |& q* {5 I) p3 q
我將資料進行換算,例如從A點至B點的搬運次數有3次,我就以一天24小時除以3,也就是每6小時發出一個搬運需求。在沒有搬運需求時車子會在軌道中隨便繞行,等到一有搬運需求,離該搬運需求最近的車子便要過去搬運。
/ J7 M" o# W$ V1 F f; p9 q我的問題如下:0 O- _; p! _% t
\/ m& u' m" H+ b' E* L
1.關於資料輸入的方面,起點的搬運時間與地點我是用Generator的物件與Method控制,終點則是用track裡的sensor控制,但上萬筆資料這樣要輸入好久,想請問各位前輩有沒有其他更好的辦法呢?+ s4 x+ p! }( B# [, J, z
我目前想到的寫法如下:4 }& h5 S% o. j* X! K2 M5 c
(a)如果Machine1是搬運起點,放在Generator裡的Method8 v/ S) J n- }+ L) s6 y
is
( P% L5 A& R: n, A5 M! T' Q1 Gdo
* N1 [: i4 c& k$ \6 iif Machine1.occupied and transporter.empty then
' W# g- b* v( ]" ?8 z if Machine1.out=1 then
$ X y+ N ?5 @ C% w, | transporter.stop;
" C+ M3 r7 I" G6 U ?4 {2 P wait 30;
% A/ P, u" O" M$ t* p. O( x Machine1.cont.move(transporter);
5 g5 H9 l" |6 g. y' g- A( Q transporter.destination:=Machine56;
' H2 T. e9 |0 A6 J* ~8 ^' U Machine1.out:= Machine1.out+1;* y# C w; I# P. c5 F/ g
transporter.continue;
, a5 y: M" F$ u" ?4 s- G. d elseif Machine1.out=2 then
1 e# _$ f" _/ `4 R, ` transporter.stop;
) K# e6 A; v6 f# y wait 30;
0 M+ q# y$ ?1 \ Machine1.cont.move(transporter);
- I; }& \; Z2 u# {5 `( e transporter.destination:=Machine76;
( y i' l! c9 ]: N' d- e Machine1.out:= Machine1.out+1;& c5 Y+ n8 S* w( E, M8 S" q! e
transporter.continue;2 E# ~" {2 E5 ]2 z+ b
end;
' T" I1 _8 n4 D1 i |end;
! w% L& m% v% w' R7 c0 n1 S$ }end;& {' y% G: e+ B4 }5 W- h' Y
6 J: d6 W+ B1 W
; u0 h4 f& f$ Q6 U(a) 如果Machine1是搬運終點,放在track的Sensor裡的Method& j$ f7 C7 W* a+ T6 y7 T
is
8 e3 {- r. ^- Ddo
9 Z/ d' ?7 x& ~! W: I0 u3 V; [if transporter.occupied and transporter.destination= Machine1 then
8 ^2 g3 V3 e* a7 ` transporter.stop;
* Q2 p7 ]7 e- Z' n wait 30;
( o$ J& @+ a5 M; R5 t transporter.cont.move(Machine1);
1 E. n) O& K6 c, O transporter.destination:=VOID;& p* F7 |$ K% ~) A/ u: R+ P/ } d
Machine1.put:= Machine1.put+1;! b" s( j- \6 } |1 ^. |
transporter.continue;
$ D) M0 _- H4 U, k6 P2 ~end;3 _7 b0 f0 G6 n0 o; W$ ?; W
M Y* d$ M$ q7 y" p. g4 ?# D
2.當有搬運需求發出時,如何去找系統中離該搬運需求最近且有空的車子?
5 m. z; @9 C4 H2 w/ p5 N* l- v( a+ P# r' |6 V7 N
3.請問該如何讓車子在起點至終點的路途中車速從0開始漸增至最大速度,然後快到終點時再慢慢減到0呢?
. ?$ o- [# X# c% J2 o6 d! I+ |& U- k- v1 z7 `- Z
4.我想讓車子搬運的路徑是走「最短路徑」,我使用transporter.destination:=xxxxx,讓車子知道他該去的目的地,但沒辦法使它走最短路徑,請問這該如何處理呢?
$ o3 w7 ?1 ~* E: i) P, c
7 ]4 R) p) [1 d9 P5.當有兩台車同時到十字路口時,一台有搬運東西,一台沒有,如何讓沒有搬運東西的車停下來,讓有搬東西的車先通過後再繼續前進呢?+ g1 m# t$ a, M" q$ t% W
* _' l) h8 C0 s# M, d$ }. I4 \8 z7 g4 R+ D! d3 ~
- o, \/ D+ c. I) {% O* r, C, D$ D @
以上麻煩各位為我解答了,非常感謝!!!!!
# o. I5 h$ g4 ]5 _7 A
( j7 e" B9 e( p, ?$ i1 N
7 V5 A7 v5 z& `3 _+ \
" O* `4 ]. p; G p) c4 s4 Q
+ ]4 V4 J& e, n2 f) s |
|