|
本帖最后由 qqball0908 于 2010-8-7 13:58 编辑 % \( ^0 A9 l1 C* f o
7 b L: @) B4 s6 x. t- z
各位前輩好
4 L! Z4 p' M8 K我是eM-Plant的新手,目前因為研究而需要建一個半導體廠搬運系統的model,有一些問題想向各位請教。
' c4 w% ?0 J0 B1 [" w我目前有上萬筆(一天的量)車子搬運的起點至終點的資料,我需要將這些資料全部輸入到我的model裡,目的是要研究這一天當中哪條路容易塞車。
3 N% f) i8 ]% Q2 R1 h2 I6 _! W我將資料進行換算,例如從A點至B點的搬運次數有3次,我就以一天24小時除以3,也就是每6小時發出一個搬運需求。在沒有搬運需求時車子會在軌道中隨便繞行,等到一有搬運需求,離該搬運需求最近的車子便要過去搬運。
2 n" p! [* I0 t0 h我的問題如下:9 y/ H( T" ~; J. G# {+ |2 m
* ?7 h+ z$ D4 K1 }' S
1.關於資料輸入的方面,起點的搬運時間與地點我是用Generator的物件與Method控制,終點則是用track裡的sensor控制,但上萬筆資料這樣要輸入好久,想請問各位前輩有沒有其他更好的辦法呢?, \2 w0 {, U* {+ n$ O4 u/ j
我目前想到的寫法如下:
0 Z6 c9 o( ?3 E K9 d(a)如果Machine1是搬運起點,放在Generator裡的Method
8 d- t- _9 M+ cis, P+ o7 {! [# e5 Q J; g, }
do
) {6 \) I" ] uif Machine1.occupied and transporter.empty then
- R+ l1 L" U3 d4 Y if Machine1.out=1 then
2 x. w0 J3 |6 b Y1 d2 A transporter.stop;' ^- M$ }( l* w; J! A
wait 30;$ s) j0 L% {( |: Y) h/ ]3 z$ m4 ?
Machine1.cont.move(transporter);
/ [' k7 w D5 H5 u0 V, G transporter.destination:=Machine56;
2 G6 h0 Y8 L/ D @9 w Machine1.out:= Machine1.out+1;
. a( M4 u% z/ c% _9 K( r transporter.continue;* ~& [1 m( r0 S
elseif Machine1.out=2 then$ D: P4 C4 B3 Y" |+ A( k- p- }: l* w( d
transporter.stop;
2 p) [' {- F: j& m8 I# D7 J wait 30;
) H* j( Y- z# c4 _ Machine1.cont.move(transporter);3 d- G) b2 j; V% {5 n
transporter.destination:=Machine76;
) s+ y- S q. B: a& }3 q Machine1.out:= Machine1.out+1;% L" ^, X- B; K; a3 K$ U9 H
transporter.continue;
: h4 R7 a2 N- \$ a2 p' _end;
: b/ T, p6 f8 y# Aend;1 y, x3 n& H' y: V: C E
end;( ^9 }9 i4 y# P: p& V3 z! i6 O; t
. p7 u/ R3 G' r5 I0 P: Y9 I8 q
4 V9 O! C# ^9 W* z(a) 如果Machine1是搬運終點,放在track的Sensor裡的Method/ h5 |; `7 Q. ^) w
is
3 e. `0 L( K8 r# _: r$ Hdo
; f8 h) W8 W+ Eif transporter.occupied and transporter.destination= Machine1 then
* w3 l( a) l4 Z# H9 L% s5 Q( N( ` transporter.stop; h1 M: {; t" V3 c% z* H+ c
wait 30;
& n1 q5 S* d) g+ i; \* i5 m# w transporter.cont.move(Machine1);
5 E7 [ z% X3 D' K& M transporter.destination:=VOID;
" F7 m8 P4 ]) l* { Machine1.put:= Machine1.put+1;
" ^9 X3 c6 k; r L, l7 b7 O5 y transporter.continue;
1 b# ?$ C9 `, B' |$ Q$ @end;7 c0 y% M. e0 U$ c0 i% b" s
/ _/ o/ c1 c H
2.當有搬運需求發出時,如何去找系統中離該搬運需求最近且有空的車子?# |1 f' i% W' n# Q
6 T8 E1 ~! p- ]! v0 ] z; I
3.請問該如何讓車子在起點至終點的路途中車速從0開始漸增至最大速度,然後快到終點時再慢慢減到0呢?
- P6 i* b# f8 k
. e/ r1 _: R: F8 W/ r ] 4.我想讓車子搬運的路徑是走「最短路徑」,我使用transporter.destination:=xxxxx,讓車子知道他該去的目的地,但沒辦法使它走最短路徑,請問這該如何處理呢?
# w9 w: b9 M8 F. U
* |1 Y5 v; r, q5 o8 D5.當有兩台車同時到十字路口時,一台有搬運東西,一台沒有,如何讓沒有搬運東西的車停下來,讓有搬東西的車先通過後再繼續前進呢?
, N( {9 g9 ~; U; m& {. B2 Q U5 X9 R
' M" y9 R4 X- h; e6 X2 S( r( d' W
# v n' D( f% P, C以上麻煩各位為我解答了,非常感謝!!!!!* _% a$ K: A* O& n5 S; T
" v, c! h: z8 u# M4 @: E6 f5 V2 ^! }
Z7 v6 z* c) H# ?- \8 K% ~5 v2 ]' T+ l0 L% I; V' _! e3 n
|
|