|
本帖最后由 qqball0908 于 2010-8-7 13:58 编辑
: c" J5 l) V' v; K6 m4 P, ^& D% a
各位前輩好
$ Z2 r. C+ M/ ^: | l3 Y我是eM-Plant的新手,目前因為研究而需要建一個半導體廠搬運系統的model,有一些問題想向各位請教。# b) _ ~1 ^- C+ j# U) w0 O' \
我目前有上萬筆(一天的量)車子搬運的起點至終點的資料,我需要將這些資料全部輸入到我的model裡,目的是要研究這一天當中哪條路容易塞車。
2 i; a4 \ b5 V6 x5 d- y: Y我將資料進行換算,例如從A點至B點的搬運次數有3次,我就以一天24小時除以3,也就是每6小時發出一個搬運需求。在沒有搬運需求時車子會在軌道中隨便繞行,等到一有搬運需求,離該搬運需求最近的車子便要過去搬運。2 B5 [& h4 F$ [* G6 q) e
我的問題如下:
4 |% x7 G A0 S) g2 q/ l" x$ D- y% R% C. A
1.關於資料輸入的方面,起點的搬運時間與地點我是用Generator的物件與Method控制,終點則是用track裡的sensor控制,但上萬筆資料這樣要輸入好久,想請問各位前輩有沒有其他更好的辦法呢?# g( k/ G* N# l" V
我目前想到的寫法如下:
+ T( Y; U; D& W! g4 r4 I(a)如果Machine1是搬運起點,放在Generator裡的Method
X% D% t" m) t- P" dis
5 ~. Q: a; q2 F0 G# H n. @. udo
; Y. {3 n8 A ]. C, Vif Machine1.occupied and transporter.empty then
7 r2 F# ?4 i. ~" m* R0 V( E+ w+ n if Machine1.out=1 then
! s' a8 j+ {# Z5 U transporter.stop;
& o: s2 R9 r$ b( X) `0 M wait 30;
, y J9 U8 G* K' C/ N n Machine1.cont.move(transporter);5 K: X+ i; T$ Z8 N5 V# B: }( L6 o
transporter.destination:=Machine56;( Y; @0 ?& R2 z7 }
Machine1.out:= Machine1.out+1;
0 {9 r" z3 h2 U4 e5 | transporter.continue;
- ] F9 Z' e: |; i" Q6 d elseif Machine1.out=2 then6 Z, Z2 N% ?3 Q, L5 x/ G/ s1 s
transporter.stop;* ]5 d! E% G6 U9 U% x& _' i3 Y
wait 30;
% B0 Z5 u# o2 _, ]% g ~% I% w Machine1.cont.move(transporter);
8 V, \$ W3 B5 Z6 G& a transporter.destination:=Machine76;
3 e; U' X8 ?* u" e0 ~' o/ K Machine1.out:= Machine1.out+1;
6 ]8 a) W) p4 Q& d$ f. i: u. O transporter.continue;
" U6 q' ?- D! @end;
( v/ b( H% Z1 b1 `; ` k0 Q% nend;$ _9 k: P# C& [" p4 v9 t
end;
+ e) U0 u; ]- H' D! D* o* o2 ^8 a4 o$ P! A
& A0 W2 H; d' g; |
(a) 如果Machine1是搬運終點,放在track的Sensor裡的Method# M0 K, [% i6 G/ q2 |
is2 {/ A$ b0 F! b/ R
do
0 y; A5 Y: i/ C8 O) |/ N: x' Uif transporter.occupied and transporter.destination= Machine1 then) B/ K0 V* v0 g, j0 [# M1 \ z* c# P: a
transporter.stop;; `( V/ u. k! S. e
wait 30;( y3 A$ p% I% G8 M1 X
transporter.cont.move(Machine1);) L W: \9 F; h% J0 _
transporter.destination:=VOID;3 J1 E. ]- ~! a+ I0 j. G
Machine1.put:= Machine1.put+1;
& s8 N; o; {9 L, Q2 ?2 I* V; c7 }- l transporter.continue;2 X0 H, j" R3 _/ X9 ^
end;
3 w# R2 Q' X+ Z6 M. k+ V. J$ X8 j' ~# l. \/ z4 p
2.當有搬運需求發出時,如何去找系統中離該搬運需求最近且有空的車子?
% f* ?1 M& b2 P
1 b+ H. i. t& e7 l3.請問該如何讓車子在起點至終點的路途中車速從0開始漸增至最大速度,然後快到終點時再慢慢減到0呢?' B5 f& e0 r0 @1 O0 `! J
6 Y- N9 Z Q+ H6 X7 Q 4.我想讓車子搬運的路徑是走「最短路徑」,我使用transporter.destination:=xxxxx,讓車子知道他該去的目的地,但沒辦法使它走最短路徑,請問這該如何處理呢?7 p( w8 L$ f7 O5 G
- N+ x. y; @8 H3 z
5.當有兩台車同時到十字路口時,一台有搬運東西,一台沒有,如何讓沒有搬運東西的車停下來,讓有搬東西的車先通過後再繼續前進呢?
! e* W( V/ c! {+ I7 L. E: @, @, K% c- i0 o3 l$ ?3 S
- X8 a8 o2 h/ l7 f4 s& k. ]
: u" g# b& a" s. Q$ A; Y# m) o
$ X5 _7 q, l0 |$ J. p以上麻煩各位為我解答了,非常感謝!!!!!- ~, U% M2 x( A0 _, w6 \+ t; f
) j/ u! l* H1 w- z& E
, ~: T5 U1 F9 Y
d% x0 ?6 D* {" m7 H3 {9 X
5 f! {6 X" L6 K. Q* `" ^ f6 k
|
|