|
|
本帖最后由 qqball0908 于 2010-8-7 13:58 编辑
+ O; _( m/ O0 Q1 l7 I m: |7 \' F( z
) p' L, I; m# Z( G" a+ t3 D各位前輩好: @% E- ~; H8 W2 y* r7 A
我是eM-Plant的新手,目前因為研究而需要建一個半導體廠搬運系統的model,有一些問題想向各位請教。, r3 \# Z* [, v# X/ M
我目前有上萬筆(一天的量)車子搬運的起點至終點的資料,我需要將這些資料全部輸入到我的model裡,目的是要研究這一天當中哪條路容易塞車。
! K/ U. S- V7 _0 s我將資料進行換算,例如從A點至B點的搬運次數有3次,我就以一天24小時除以3,也就是每6小時發出一個搬運需求。在沒有搬運需求時車子會在軌道中隨便繞行,等到一有搬運需求,離該搬運需求最近的車子便要過去搬運。
: E) {' e9 d, X我的問題如下:
( V, P. X8 y6 m9 o1 U& f. c2 Q
' W0 p" u; Q, @2 |+ g- v; l+ Q1.關於資料輸入的方面,起點的搬運時間與地點我是用Generator的物件與Method控制,終點則是用track裡的sensor控制,但上萬筆資料這樣要輸入好久,想請問各位前輩有沒有其他更好的辦法呢?* D: N- [- z0 a/ h& m1 l& @
我目前想到的寫法如下:
: H3 N+ X6 _& O9 M0 i(a)如果Machine1是搬運起點,放在Generator裡的Method5 h4 B4 q3 ^6 A
is
1 ?3 h. U t" b. ]3 v, Kdo8 G* q; f" A/ p, r
if Machine1.occupied and transporter.empty then
2 W! u7 f& S, V0 f$ K if Machine1.out=1 then
/ s/ \3 |. d$ w transporter.stop;
9 Y }+ W# U" Z% ^ wait 30;( P# `' }2 c; h# o9 m
Machine1.cont.move(transporter);
. ~3 V! ?' j) ~- X# D2 d transporter.destination:=Machine56;
5 F5 a3 F/ S" j3 P$ c7 y3 N Machine1.out:= Machine1.out+1;; \0 N- v0 H7 u2 K/ `; D; `
transporter.continue;
V" q& [/ o/ j# n elseif Machine1.out=2 then) ] L! t3 m) T0 \6 d- K
transporter.stop;1 p& `3 N8 J: Z9 ^/ H1 {% E
wait 30;
; z9 Q6 S& X: ?: E Machine1.cont.move(transporter);
) \5 m: X4 f7 u' R6 k transporter.destination:=Machine76;
- ~* g$ E2 ^- h$ S* | Machine1.out:= Machine1.out+1;
6 |% z) n3 q; P* }% Q: D transporter.continue;
9 N( I; u" G, {! v, ~3 Yend;
% u. }# J0 a+ a! g# jend;" ]/ [3 v( u# q$ H' N
end;) ?# U2 H) s/ @( l# Y/ y
9 B! {5 }7 k0 K: E1 m7 Q% _# I( x
% P6 x- ?7 A2 k1 q% d! u/ E4 @1 [
(a) 如果Machine1是搬運終點,放在track的Sensor裡的Method2 T$ x- s# ^2 k
is# `1 X' J5 X/ ~, h) K$ k
do
* _) T5 ]- `, [, a+ qif transporter.occupied and transporter.destination= Machine1 then" }: H" v5 o& Y* U
transporter.stop;, o, J( p. g1 h5 m, D" C% B
wait 30;
0 ?$ w9 G2 H, g& @4 ]& ` transporter.cont.move(Machine1);
4 y/ g2 j: D* q: i, \7 J transporter.destination:=VOID;
0 l2 z3 g6 H" x9 q" t5 a Machine1.put:= Machine1.put+1;
5 e2 A+ T5 I2 A- `4 T transporter.continue;
3 t9 C/ k( s; o) B! i% Gend;
% |" G7 }' K& m: s, V% C9 W& o5 S- B" B8 [0 @
2.當有搬運需求發出時,如何去找系統中離該搬運需求最近且有空的車子?* F) k+ y& J7 G$ \" @! @
) E5 w: d; _: l% n& g. |* O) I
3.請問該如何讓車子在起點至終點的路途中車速從0開始漸增至最大速度,然後快到終點時再慢慢減到0呢?; p% V" y# P% N) \2 Z% R9 R' G
1 I' t" K+ l% W. B2 c7 @
4.我想讓車子搬運的路徑是走「最短路徑」,我使用transporter.destination:=xxxxx,讓車子知道他該去的目的地,但沒辦法使它走最短路徑,請問這該如何處理呢?' h: F/ I2 p* R$ A. m' O
- Q6 ]3 X( b7 }: Z% S5.當有兩台車同時到十字路口時,一台有搬運東西,一台沒有,如何讓沒有搬運東西的車停下來,讓有搬東西的車先通過後再繼續前進呢?/ B5 u0 s* Z& l8 H, A# C
# |) G. n9 ?' u& ^
+ K& {3 F( B& L9 M" M+ a, W( u2 \* B. F+ C6 W1 Q3 i- t
: l) Y% v6 W& }7 c- j以上麻煩各位為我解答了,非常感謝!!!!!
& N" B* S( x/ z+ f3 A% \ x5 s2 N' }: T T- ?
1 I2 g! x: D' d
# O k) J' P2 I9 ]0 f' i
`+ \6 H1 z" h1 ]+ s M' z8 I |
|