|
|
本帖最后由 qqball0908 于 2010-8-7 13:58 编辑 ( m) e2 I2 L# e! F4 v
, X, w0 N& ~- Z& s; J8 ~
各位前輩好, ~+ U3 h `& {% k' f
我是eM-Plant的新手,目前因為研究而需要建一個半導體廠搬運系統的model,有一些問題想向各位請教。
, j1 ~ P4 a7 |/ q4 P. B% z `3 C5 Y我目前有上萬筆(一天的量)車子搬運的起點至終點的資料,我需要將這些資料全部輸入到我的model裡,目的是要研究這一天當中哪條路容易塞車。# p4 L- L9 f. u
我將資料進行換算,例如從A點至B點的搬運次數有3次,我就以一天24小時除以3,也就是每6小時發出一個搬運需求。在沒有搬運需求時車子會在軌道中隨便繞行,等到一有搬運需求,離該搬運需求最近的車子便要過去搬運。3 s# L) X# M" M& R$ K$ X2 C
我的問題如下:
5 A3 a6 y4 l) y2 V0 ]
! Z" ^+ m* R: a3 g1.關於資料輸入的方面,起點的搬運時間與地點我是用Generator的物件與Method控制,終點則是用track裡的sensor控制,但上萬筆資料這樣要輸入好久,想請問各位前輩有沒有其他更好的辦法呢?- K+ z' P: B+ B/ |: x
我目前想到的寫法如下:4 m4 r+ s+ Z2 O1 C
(a)如果Machine1是搬運起點,放在Generator裡的Method
% W7 _2 B: a+ s' Gis
/ W: n. V; a) h& G1 }do
. B/ I+ F/ s" N" {( zif Machine1.occupied and transporter.empty then
- L- a) h9 r: z if Machine1.out=1 then9 `2 o- R. U9 N& x. ~9 F) N4 R+ e! Q
transporter.stop;
& T, j& E' X, X) v9 _* D wait 30;( o( [. W$ }* o5 a4 C- b8 h
Machine1.cont.move(transporter);
. m w( @* t1 u+ n- a b& B+ Q transporter.destination:=Machine56;
4 R* U1 a+ T/ R# P1 p# Y Machine1.out:= Machine1.out+1;
- z# A3 x" c1 N( m1 Z, p transporter.continue;& Z6 i6 i5 F" O6 m" X
elseif Machine1.out=2 then" ^% x0 ` O1 T4 h# G
transporter.stop;1 ?% S! W! G4 d2 {
wait 30;% H" g/ Q" E2 [; g+ K+ t3 g; x+ \
Machine1.cont.move(transporter);
1 c" a+ m+ i2 X- N2 C9 X; x5 L transporter.destination:=Machine76;
1 `; r' K; s- [8 W" d3 Z5 R3 R2 \ Machine1.out:= Machine1.out+1;
( _4 V8 K5 v6 E& u. m transporter.continue;
$ n# k/ ?$ F) N1 w) n6 Pend;
3 B1 Z% D6 x Q% `end;% Y* b4 ]2 p3 w Y: A4 M
end;* m& Y, Y0 [% m3 S% u6 Q& Q
" }- e! ^- n T9 ?# ^
8 E {) y% }* N! t(a) 如果Machine1是搬運終點,放在track的Sensor裡的Method5 {5 h! `( j F1 y" |) \. y
is
l! b* i3 i6 O3 M# R* j" ido7 j/ I" Y! u. Y% N4 j
if transporter.occupied and transporter.destination= Machine1 then
0 u2 @5 D1 Q4 Z: l- q% y' l! S transporter.stop;
7 s V; _1 q+ |$ t; P/ d wait 30;
* a+ q7 g: S" v6 Z. X transporter.cont.move(Machine1);
' F" [6 @# o) w/ p+ ^% T* M transporter.destination:=VOID;" Q" J p, f! f. v
Machine1.put:= Machine1.put+1;8 ^: Y( ]5 _4 L- v
transporter.continue;
1 l- t, g4 _6 c [8 Z* }: x- Rend;
: y$ l* A V. E9 k7 |3 v: |, Q; x0 w) c9 @0 ?2 U8 E
2.當有搬運需求發出時,如何去找系統中離該搬運需求最近且有空的車子?
f* U3 i2 Z6 u9 R8 o1 M& [3 h _' y
3.請問該如何讓車子在起點至終點的路途中車速從0開始漸增至最大速度,然後快到終點時再慢慢減到0呢?, Y# N: a8 N) i& n- z7 |
5 p+ R0 p0 y! y( y! f# z 4.我想讓車子搬運的路徑是走「最短路徑」,我使用transporter.destination:=xxxxx,讓車子知道他該去的目的地,但沒辦法使它走最短路徑,請問這該如何處理呢?; t1 c5 K( `' ]* D
# }0 M! w2 i, t+ s5.當有兩台車同時到十字路口時,一台有搬運東西,一台沒有,如何讓沒有搬運東西的車停下來,讓有搬東西的車先通過後再繼續前進呢?
* c- A3 s$ t" q& [9 g
% I6 E, p3 Y$ c0 C" W* F
7 V" g' ~; M( }5 t( [2 B7 T. V+ a$ ?5 W4 Y' E) H8 O+ Z( P1 n! b" L: t
! t6 ]8 z0 s7 w% |+ c/ C
以上麻煩各位為我解答了,非常感謝!!!!!0 F9 @' C; \4 q7 Q
4 j1 E; C% V2 U, {9 c! _
4 n6 I' I* M7 h8 m
) Q! D: M$ W# t4 t) Q$ f6 r" s. X
8 i. R$ H) }. ` _) Z7 \* ]7 v; A |
|