|
|
本帖最后由 qqball0908 于 2010-8-7 13:58 编辑
R/ [& C( `4 h! a% d7 W3 ~3 w0 r# w$ @* y5 h0 s
各位前輩好
9 f7 W7 R I* A0 Z1 G+ z: W! w4 `我是eM-Plant的新手,目前因為研究而需要建一個半導體廠搬運系統的model,有一些問題想向各位請教。) o' t: V3 `) y: i8 o$ ^* q+ @: |" p5 e
我目前有上萬筆(一天的量)車子搬運的起點至終點的資料,我需要將這些資料全部輸入到我的model裡,目的是要研究這一天當中哪條路容易塞車。* w/ N- c# O5 P5 m6 ^; U6 U
我將資料進行換算,例如從A點至B點的搬運次數有3次,我就以一天24小時除以3,也就是每6小時發出一個搬運需求。在沒有搬運需求時車子會在軌道中隨便繞行,等到一有搬運需求,離該搬運需求最近的車子便要過去搬運。
a2 S& q. ^" F9 r/ r我的問題如下:
# Y6 P6 `4 R1 u d# d/ |# Z
8 P. k, ~/ J: O! T4 N' l5 D- S: R& K1.關於資料輸入的方面,起點的搬運時間與地點我是用Generator的物件與Method控制,終點則是用track裡的sensor控制,但上萬筆資料這樣要輸入好久,想請問各位前輩有沒有其他更好的辦法呢?" j1 ?! D2 Z/ n n+ f& E% I( O
我目前想到的寫法如下:
% P* X/ `6 C4 y(a)如果Machine1是搬運起點,放在Generator裡的Method, t7 B8 f6 W p% ~) ?
is
+ g @* V% e- K" Y3 ndo
/ Z! D# f# r% C" xif Machine1.occupied and transporter.empty then
3 K& v P0 m6 l" @; ^) I if Machine1.out=1 then
( O) F/ O) z& K' |# ]' m transporter.stop;' G1 ^0 O" V% e8 m k
wait 30;
! _: A4 y, n) q' c6 H Machine1.cont.move(transporter);
* y" t( {, C9 Q5 I% `+ O9 ~7 V4 R transporter.destination:=Machine56;3 i+ `8 a0 C) {# z+ X/ q
Machine1.out:= Machine1.out+1;7 S3 i, K( h( V1 w# s+ _, m
transporter.continue;
/ Y1 K" U8 _. P elseif Machine1.out=2 then2 _) ]$ I+ p2 X0 h+ v/ k
transporter.stop;
' \! L$ y8 B7 |( I9 { wait 30;
& o2 g2 f7 w. j0 t+ n2 ~' P Machine1.cont.move(transporter);
2 t7 A# H0 e* T* x2 b. M transporter.destination:=Machine76;9 r0 V2 O0 |8 O5 n( C0 e
Machine1.out:= Machine1.out+1;
, h) b8 V2 U( c1 Y: j5 g transporter.continue;
$ |' H' {$ b8 ]/ R8 y9 Rend;0 o5 N0 h9 }7 w! P/ `
end;
+ H$ S f& }; o) _& ?0 n/ {% A5 jend;0 u p( \# l. R7 L; K9 c
% ]8 v+ M: n6 P) l! m% X: L L1 c0 m3 W- s6 f! y
(a) 如果Machine1是搬運終點,放在track的Sensor裡的Method3 _0 C3 _: C9 w+ s; ?: H
is- Z5 t$ u( S& I9 ^* p
do/ L$ t0 l7 q1 z
if transporter.occupied and transporter.destination= Machine1 then
- Q5 i" q9 l7 Y transporter.stop; W3 ]6 \. }( F" T, N7 K! {
wait 30;
, o' B# y( F: b( [$ U% S0 {( w transporter.cont.move(Machine1);
% R& ]% Q& R6 { transporter.destination:=VOID;3 `% t1 L/ N. S1 ?- p
Machine1.put:= Machine1.put+1;
1 K6 a0 ^4 }$ g8 m transporter.continue;
9 M: ?9 T6 D; _" J# o- w* V: Wend;' ?; L. l, U+ v6 @4 {
" V: Y! c1 z8 o ~3 D2.當有搬運需求發出時,如何去找系統中離該搬運需求最近且有空的車子?
9 I& t. A2 ^8 }: _& ]
" T* a/ c' t# L2 @3.請問該如何讓車子在起點至終點的路途中車速從0開始漸增至最大速度,然後快到終點時再慢慢減到0呢?' _, E2 o& E! q/ o) |6 g; M
; ^ G9 G. L$ n9 P
4.我想讓車子搬運的路徑是走「最短路徑」,我使用transporter.destination:=xxxxx,讓車子知道他該去的目的地,但沒辦法使它走最短路徑,請問這該如何處理呢?
+ d3 o6 y5 j( u- ?* Z @, c7 w
7 P+ M2 |" S3 Y. c5.當有兩台車同時到十字路口時,一台有搬運東西,一台沒有,如何讓沒有搬運東西的車停下來,讓有搬東西的車先通過後再繼續前進呢?- M9 k* ]/ z( H V8 k3 z
- c4 b& |, A3 ?5 m0 b3 [5 a) @1 g$ Z6 h
- B- a- e, E* W& v$ o2 ~! q- t: v# G( X3 H, l% Q( B
以上麻煩各位為我解答了,非常感謝!!!!!
# \8 O. p% ^2 \4 |( D! j* f* h! _- v6 I- S3 T" }- N
y4 M& O) b4 N( b5 @0 m
$ {6 q$ }9 z) y: ~+ d0 x
# j+ f3 _. h! |2 H: a6 [# [4 f |
|