|
本帖最后由 qqball0908 于 2010-8-7 13:58 编辑
1 @. L" r r9 N) q6 Q+ ]3 Z, x5 I* p/ [
各位前輩好/ ?" I W# f, T H' x, K
我是eM-Plant的新手,目前因為研究而需要建一個半導體廠搬運系統的model,有一些問題想向各位請教。: u( L4 t5 t& D4 A% R/ E1 w
我目前有上萬筆(一天的量)車子搬運的起點至終點的資料,我需要將這些資料全部輸入到我的model裡,目的是要研究這一天當中哪條路容易塞車。
! @4 \7 G' ^; @2 A8 w1 Y我將資料進行換算,例如從A點至B點的搬運次數有3次,我就以一天24小時除以3,也就是每6小時發出一個搬運需求。在沒有搬運需求時車子會在軌道中隨便繞行,等到一有搬運需求,離該搬運需求最近的車子便要過去搬運。
7 y. b$ v* ^" t2 O0 J( \# j+ q; n我的問題如下:9 p) |8 z# r4 C
; T) D) L( c1 I6 m, n) Q* `1.關於資料輸入的方面,起點的搬運時間與地點我是用Generator的物件與Method控制,終點則是用track裡的sensor控制,但上萬筆資料這樣要輸入好久,想請問各位前輩有沒有其他更好的辦法呢?
* r- K+ l: O! n4 c" m0 `我目前想到的寫法如下:
5 S+ o4 \1 j0 _: _+ M0 |(a)如果Machine1是搬運起點,放在Generator裡的Method7 z& ^ K1 A& `: ]" y/ g* \
is
8 s+ l H' A0 q* k& l: Edo
# _" H/ L* s5 qif Machine1.occupied and transporter.empty then
3 v, o1 V# `/ ?7 ~ if Machine1.out=1 then
) ~0 s6 |/ G7 G( X/ T$ }& b- T transporter.stop;
1 r+ s# P+ O+ C. U) ~ wait 30;
/ \/ R. \+ f- h2 D) ^ Machine1.cont.move(transporter);
9 p, U- @# g: F) U/ e transporter.destination:=Machine56;( h5 }7 J: Y) E% ]
Machine1.out:= Machine1.out+1;# E$ Q I7 y0 x0 K( l5 G" F
transporter.continue;( J5 F0 P0 l. V% f7 t8 a
elseif Machine1.out=2 then
6 y$ m# N _( N) e2 g transporter.stop;3 Q5 F$ L1 Y# Y* L/ [2 V
wait 30;
. @# N& s1 {: R1 O" s Machine1.cont.move(transporter);* I! _) m8 _0 L2 S- d# m5 T, |$ R
transporter.destination:=Machine76;
) q- {' b5 w$ r/ V( J% m Machine1.out:= Machine1.out+1;8 g: O9 W; a B v1 {4 a- F. A5 X
transporter.continue;
- i/ K0 D- Q( X- F2 Tend;
/ B9 G# t0 B$ t2 l$ w1 p5 send;
7 m$ z/ ` [2 M0 c: iend;& d+ y K5 u, d& E4 Z
5 D* U& C, c' d+ e/ w! [: l) f1 G% I" y8 U+ T
(a) 如果Machine1是搬運終點,放在track的Sensor裡的Method& {9 H8 s5 K9 E& [2 E
is
+ g: {- U" K1 D* V5 R- @do
# r4 B( \+ A4 |( R2 K5 bif transporter.occupied and transporter.destination= Machine1 then
8 L* ?0 V; v$ T# f1 y transporter.stop;1 I1 v% N% p$ E: G; W! c+ L
wait 30;6 s& K v1 B2 ^" c( G. d
transporter.cont.move(Machine1);
& y( y+ t1 b3 }/ J) z transporter.destination:=VOID;; D4 |, p9 v- e9 P& M9 K
Machine1.put:= Machine1.put+1;8 f) W) Z- Z6 l6 t
transporter.continue;. E! Z/ D5 Y$ @0 x2 X; p
end;
9 L/ M! Z) F+ m' O5 e6 O0 a/ H y) Y& H5 e3 i% k2 |
2.當有搬運需求發出時,如何去找系統中離該搬運需求最近且有空的車子?
* O: v2 W- F& A; C6 J, M/ p- M& q) {, i- i
3.請問該如何讓車子在起點至終點的路途中車速從0開始漸增至最大速度,然後快到終點時再慢慢減到0呢?6 @' `6 K( l/ ?8 r- g/ [
- Y1 L0 C4 H" L 4.我想讓車子搬運的路徑是走「最短路徑」,我使用transporter.destination:=xxxxx,讓車子知道他該去的目的地,但沒辦法使它走最短路徑,請問這該如何處理呢?
: @- J2 y& w3 F8 N
: @8 O3 N- v# r, V. I5.當有兩台車同時到十字路口時,一台有搬運東西,一台沒有,如何讓沒有搬運東西的車停下來,讓有搬東西的車先通過後再繼續前進呢?
% R7 f+ ]0 {6 h& _: f" \2 u4 q7 X8 y
3 f3 Z: W' }0 G/ ]4 J% \7 x6 g/ b
, T' E' S9 |+ O
9 M! {+ Y/ M* l8 G
以上麻煩各位為我解答了,非常感謝!!!!!
- J2 C" M; x7 w" v: ]: N- G- G6 q3 [: W+ L
, c% b0 F$ T) ?9 D) F" s% ~# L8 T
! K% p) B1 V- a
9 `7 s! \* Z5 K |
|