|
本帖最后由 qqball0908 于 2010-8-7 13:58 编辑
; L9 [0 W5 }" f0 X7 T0 W
5 `0 r! Q# f1 C" H% ?各位前輩好
. L/ s& f1 t2 z/ k我是eM-Plant的新手,目前因為研究而需要建一個半導體廠搬運系統的model,有一些問題想向各位請教。- o: N/ S# t6 H8 J( S$ Y5 m. p
我目前有上萬筆(一天的量)車子搬運的起點至終點的資料,我需要將這些資料全部輸入到我的model裡,目的是要研究這一天當中哪條路容易塞車。5 @9 _* F" w7 y; k
我將資料進行換算,例如從A點至B點的搬運次數有3次,我就以一天24小時除以3,也就是每6小時發出一個搬運需求。在沒有搬運需求時車子會在軌道中隨便繞行,等到一有搬運需求,離該搬運需求最近的車子便要過去搬運。
. o: B# j8 N8 J* j我的問題如下:7 f3 j7 x4 s, C6 k$ U: O
% M T; }4 J: e
1.關於資料輸入的方面,起點的搬運時間與地點我是用Generator的物件與Method控制,終點則是用track裡的sensor控制,但上萬筆資料這樣要輸入好久,想請問各位前輩有沒有其他更好的辦法呢?- K. R3 a( O8 f. z% k; `
我目前想到的寫法如下:3 ]- |7 c/ P: `% z
(a)如果Machine1是搬運起點,放在Generator裡的Method3 p9 _2 l* H6 Y. M2 K
is
% {3 H7 N" P+ ido4 V- s/ a2 o0 D' D) d
if Machine1.occupied and transporter.empty then
6 H" m- T i7 X" V if Machine1.out=1 then$ \ i( d% R, s' D
transporter.stop;
@' f, V8 a4 C% ~8 _ wait 30;- N! v) b7 o: G& ]/ H9 ]5 W, i
Machine1.cont.move(transporter);% k& _7 h4 N/ Y5 h, \% ~+ D
transporter.destination:=Machine56;
0 S7 }- z6 z; T) n$ K Machine1.out:= Machine1.out+1;
+ |8 }9 K" ^" U; X+ e) ^+ T; C9 G B transporter.continue;, F+ o! M" O) ?
elseif Machine1.out=2 then
# g5 }1 x9 Y) N" U1 N transporter.stop;1 h3 |2 ]& U. N7 p b+ g
wait 30;* _9 T4 v. G- ~% O3 ?" y) ~/ k
Machine1.cont.move(transporter);. R, J" w' Z, ?, l& Y; s( j
transporter.destination:=Machine76;
6 Y$ Q+ F. n' U/ Y Machine1.out:= Machine1.out+1;
& X# c* G: q+ ?5 Q6 D- L transporter.continue;$ U1 `- `" _% B( v* i. x
end;
0 w R4 m% T# k1 m! C Y9 Cend;1 _$ h5 w) V z$ C6 w. z
end;9 a+ H( s( ?5 X) I/ C
) J$ p3 J9 X4 d; ^7 T6 k( F) w$ a! D/ X
(a) 如果Machine1是搬運終點,放在track的Sensor裡的Method
$ X# \- j8 W/ Lis" t8 j8 G e, L8 _$ r; W9 B2 X
do
8 f- o4 w9 h0 ]5 Gif transporter.occupied and transporter.destination= Machine1 then+ g3 E1 e& V6 @+ Z, t
transporter.stop;
m$ f! m( ~, b" R) o( f0 a wait 30;
* D4 w& g! I! q transporter.cont.move(Machine1);) y8 ]0 y/ ?0 t; ~
transporter.destination:=VOID;
+ k" P8 n' L Y Machine1.put:= Machine1.put+1;" V. V: m+ e0 C2 t' K
transporter.continue;; C1 V# b6 X; U( }8 V
end;
; u% R0 v! j% w: V7 K7 f# I. c0 O( Y ^" k0 |& ^. g
2.當有搬運需求發出時,如何去找系統中離該搬運需求最近且有空的車子?8 J. h! ?# F5 y
( e' F2 q; j% R/ r4 F8 ~
3.請問該如何讓車子在起點至終點的路途中車速從0開始漸增至最大速度,然後快到終點時再慢慢減到0呢?
$ w: ~3 X, s7 i+ A- y% S5 x+ t/ L" S8 o; f# x
4.我想讓車子搬運的路徑是走「最短路徑」,我使用transporter.destination:=xxxxx,讓車子知道他該去的目的地,但沒辦法使它走最短路徑,請問這該如何處理呢?
) d5 E7 j. r# Q4 N9 ?: R
) ~8 y& p) |$ ~) y+ X8 W5.當有兩台車同時到十字路口時,一台有搬運東西,一台沒有,如何讓沒有搬運東西的車停下來,讓有搬東西的車先通過後再繼續前進呢?
7 P- f7 S2 O$ } |
( {9 y, v( u" O0 d
" U* ]/ e, v" k8 O4 u; Z! X- f" [, M! n) h; i7 g6 a5 f7 d
) l( R- O3 Z) U以上麻煩各位為我解答了,非常感謝!!!!!( d7 M- j% R& ]& C, U I
2 ]+ V4 M- k, W1 j! l/ {$ N+ T
% N+ j+ U. O$ T" R5 M8 B+ n
: \( v4 M/ F* O( ]; q) E( s/ ^) u- u1 _. ?6 W
|
|