|
|
本帖最后由 qqball0908 于 2010-8-7 13:58 编辑
3 O# j' J9 A: w$ r- ], U l' T/ e, S% O8 a# c, e R( t+ l+ W
各位前輩好
9 x3 a, f5 E; w& [8 r7 d+ e1 Q我是eM-Plant的新手,目前因為研究而需要建一個半導體廠搬運系統的model,有一些問題想向各位請教。2 O$ ]$ ]- f' c; Z4 S2 |* ]- Q8 t3 k
我目前有上萬筆(一天的量)車子搬運的起點至終點的資料,我需要將這些資料全部輸入到我的model裡,目的是要研究這一天當中哪條路容易塞車。
2 C+ t4 ~1 q' e4 d我將資料進行換算,例如從A點至B點的搬運次數有3次,我就以一天24小時除以3,也就是每6小時發出一個搬運需求。在沒有搬運需求時車子會在軌道中隨便繞行,等到一有搬運需求,離該搬運需求最近的車子便要過去搬運。) |2 `7 z! L( M$ _% U( @
我的問題如下:
. r+ V" h" V9 p1 x$ D: z: R$ i1 K, Z8 G" R
1.關於資料輸入的方面,起點的搬運時間與地點我是用Generator的物件與Method控制,終點則是用track裡的sensor控制,但上萬筆資料這樣要輸入好久,想請問各位前輩有沒有其他更好的辦法呢?
" c* n) x: ?; V我目前想到的寫法如下:
: ]* v. y8 E% u3 ^4 u(a)如果Machine1是搬運起點,放在Generator裡的Method
. E, y0 \/ C7 N' o4 bis
# o7 p5 B' y* L" a- kdo
4 Z: F5 | e+ r% q. o* s5 `if Machine1.occupied and transporter.empty then
- j; Z: [ c, [ if Machine1.out=1 then
, n8 y4 ~7 z; p6 j transporter.stop;) ^$ ]/ J0 k( R' b
wait 30;# i9 h! C# P$ H+ Y: U
Machine1.cont.move(transporter);
. l5 i; i5 g) W9 G* Y transporter.destination:=Machine56;3 G6 u7 U2 H7 Q) ?
Machine1.out:= Machine1.out+1;8 i. Y9 [( j6 }1 [9 r
transporter.continue;) ?' e; W$ w$ s ~$ B0 }7 ~1 [
elseif Machine1.out=2 then
* }- F) a9 M- c0 ?6 Q! Z7 u transporter.stop;
0 q9 W _9 S+ |' u7 M wait 30;5 s% O+ r3 z* V# b4 h7 q
Machine1.cont.move(transporter);* W% s: o% {4 a* p. z
transporter.destination:=Machine76;
/ _: c6 y) {7 m Machine1.out:= Machine1.out+1;
% C* A6 D$ y: J | transporter.continue;+ z: I. l) `# b& `0 ]5 J
end;. o# G! I& P. x0 h/ [$ x0 i
end;1 f; X J1 p# ?# T S- _( K( L6 |2 v
end;
9 g, m! @; |/ l' Q; b$ B$ @+ S9 D7 b( r2 O9 d2 G
3 u' t$ G. s9 N% K; ]9 H: W) `, g L
(a) 如果Machine1是搬運終點,放在track的Sensor裡的Method* | M1 @9 h- W4 _" E6 B4 v: T6 ~
is
8 T, H' ~: s- s1 h! vdo% I9 B. `9 K- s. o5 `, X
if transporter.occupied and transporter.destination= Machine1 then
, r" i1 x5 `+ q% h transporter.stop;1 \& j4 n4 Q6 Z$ A% i7 z
wait 30;* F: q+ m4 G6 d0 A9 D) A7 e
transporter.cont.move(Machine1);
) T# v( w8 j: d transporter.destination:=VOID;9 p7 h* O4 r& ?5 f; z2 ~
Machine1.put:= Machine1.put+1;# ]! V! J$ G6 ^4 k0 K9 B. \/ j
transporter.continue;
, q- H K4 ?, ?end;
1 @$ ^+ a! K& @$ f6 g, V
5 z O/ } d- d% T/ I: a) M2.當有搬運需求發出時,如何去找系統中離該搬運需求最近且有空的車子?
- n9 [3 X5 Y7 u, l" ] M. ~0 r2 r, i0 X$ T
3.請問該如何讓車子在起點至終點的路途中車速從0開始漸增至最大速度,然後快到終點時再慢慢減到0呢?% R* p& Z: ~: i' S* }# i% h
) l' X) f- t; D3 }% ~
4.我想讓車子搬運的路徑是走「最短路徑」,我使用transporter.destination:=xxxxx,讓車子知道他該去的目的地,但沒辦法使它走最短路徑,請問這該如何處理呢? X- P8 C9 }; X1 O6 \) H4 }
8 y# m ^6 n" a( W5 J. ^5.當有兩台車同時到十字路口時,一台有搬運東西,一台沒有,如何讓沒有搬運東西的車停下來,讓有搬東西的車先通過後再繼續前進呢?
/ G$ t4 F; i) S& i
0 B. f7 {9 F7 Q I$ Q# ~8 @+ _( n- {( R
& m. W7 z8 K# }" g/ s5 a% u8 w2 Y3 Y" d. n! F! g2 x3 w
! [+ ?; U9 w# b0 {
以上麻煩各位為我解答了,非常感謝!!!!!% S" \' Y, g8 q, G( c8 {
: X/ a$ X% y3 F' x. Q5 P& V: ?, l, q/ Y/ U
, `( N' D" |: l! l
, _6 e [1 `" n8 [9 U+ G q) m |
|