|
|
本帖最后由 qqball0908 于 2010-8-7 13:58 编辑
" `0 J- L: o1 M$ j% `0 r" d
; o ~+ i$ r1 ]5 H M* t% z各位前輩好
5 K; p, w( z' k3 u3 t# P我是eM-Plant的新手,目前因為研究而需要建一個半導體廠搬運系統的model,有一些問題想向各位請教。
& I8 h0 ?" S1 b* K我目前有上萬筆(一天的量)車子搬運的起點至終點的資料,我需要將這些資料全部輸入到我的model裡,目的是要研究這一天當中哪條路容易塞車。4 ^3 y) `6 @/ m. P% D; B' N, l' }
我將資料進行換算,例如從A點至B點的搬運次數有3次,我就以一天24小時除以3,也就是每6小時發出一個搬運需求。在沒有搬運需求時車子會在軌道中隨便繞行,等到一有搬運需求,離該搬運需求最近的車子便要過去搬運。/ e" u- N' U! R% t
我的問題如下:# ^; A# Z. i/ \, G
" a% X0 g2 o" v1.關於資料輸入的方面,起點的搬運時間與地點我是用Generator的物件與Method控制,終點則是用track裡的sensor控制,但上萬筆資料這樣要輸入好久,想請問各位前輩有沒有其他更好的辦法呢?
* x4 [. G, V+ z( i' Q我目前想到的寫法如下:& m4 e* P) l3 a9 T$ B
(a)如果Machine1是搬運起點,放在Generator裡的Method8 @ g# O3 @* ^( x0 K, o
is
% P+ O+ o9 T& u T* Z; qdo
- W+ h" @, f4 d1 N3 c+ r+ L! pif Machine1.occupied and transporter.empty then
4 o9 O! }1 U' M if Machine1.out=1 then
& e$ s6 O9 c2 o U transporter.stop;
) i' p4 f, N5 m | wait 30;
' s7 x5 R; J d I Machine1.cont.move(transporter);) m- Z; I4 Z& y& ~
transporter.destination:=Machine56;
7 W! g( X+ n4 V% ]9 W5 o# ~ Machine1.out:= Machine1.out+1;9 C2 n+ y e i" ?7 T
transporter.continue; h" [; U8 _, s* s, e: e
elseif Machine1.out=2 then
( x7 X$ m; K9 O, @2 ?; l- q% X) Y/ I transporter.stop;3 X& ?. @4 L" G9 ?' H- E2 x
wait 30;
- ~! r l+ R+ h, J7 K/ F% E, J7 y' L( \ Machine1.cont.move(transporter);! u' c2 ?# t& r; o, n9 q
transporter.destination:=Machine76;( ~; N2 P' H3 a& t
Machine1.out:= Machine1.out+1;
: C5 l" t, w5 I5 k' @ transporter.continue;% V# w) J \! H3 j
end;
/ |7 j9 p3 L- E* b( v, _3 i0 f$ hend;" r% E. s( y# N" e
end;$ y4 @# ^: U- T r, T" i; H
0 U( ?# k0 _% ?- f5 ~
7 q2 T. [9 E9 I& ^/ G+ i. i3 j(a) 如果Machine1是搬運終點,放在track的Sensor裡的Method
5 L- n7 V& c, q+ p! ^, vis' C- D- x( X/ h
do% ~: K# X8 [$ x
if transporter.occupied and transporter.destination= Machine1 then
. J( M! ^4 W- ?" i6 F4 E transporter.stop;* o5 n7 Q2 h' p6 R I( z
wait 30;& G# S& c' _' L- s8 R* {$ |
transporter.cont.move(Machine1);0 t ~: `! K& q: p0 C+ v# ^
transporter.destination:=VOID;. g4 Y: |- V @6 I% k4 c$ A! {$ d9 K
Machine1.put:= Machine1.put+1;
/ I7 R. k9 [5 V K. ^5 D5 b: ? transporter.continue;. z! ^( x$ Q# s; C( R
end;
+ g) x$ b- d1 ?' N ~" b* N
' ]; m2 V' q& c4 T7 L2.當有搬運需求發出時,如何去找系統中離該搬運需求最近且有空的車子?2 o2 e; T0 ~8 i+ T, g& ^3 {, r
$ L2 J9 q4 T0 h5 ]! ^% m4 G
3.請問該如何讓車子在起點至終點的路途中車速從0開始漸增至最大速度,然後快到終點時再慢慢減到0呢?
- n5 J; w$ a& a, X5 c( x& v9 L3 c" c$ d
4.我想讓車子搬運的路徑是走「最短路徑」,我使用transporter.destination:=xxxxx,讓車子知道他該去的目的地,但沒辦法使它走最短路徑,請問這該如何處理呢?1 g8 o; d. u6 U. H
7 F5 R" r4 p7 m
5.當有兩台車同時到十字路口時,一台有搬運東西,一台沒有,如何讓沒有搬運東西的車停下來,讓有搬東西的車先通過後再繼續前進呢?/ ]/ Q) v2 \7 Z1 g
, g+ D$ n6 r& H+ P N; e
$ p# e: z7 ~* q' Y9 E9 U7 V( [( E3 n: F+ ~, |$ k8 W) L6 M
. G! |& s J) t4 l. w以上麻煩各位為我解答了,非常感謝!!!!!
4 g& i6 E1 z+ h0 P% x9 o2 v: }' e H: o6 ?% _
+ Y5 G6 V: o, O d" Q) M+ N3 r. S) P! j" C) q( d
+ Q, X- d4 X+ d* N/ u
|
|