|
本帖最后由 qqball0908 于 2010-8-7 13:58 编辑 . F7 a* `$ a% [0 B. ?+ f* A
; f" L# @' q! j' S8 G% ]
各位前輩好
$ l, Q0 F5 q) G% o5 @我是eM-Plant的新手,目前因為研究而需要建一個半導體廠搬運系統的model,有一些問題想向各位請教。+ ]2 W, I8 c& {4 `
我目前有上萬筆(一天的量)車子搬運的起點至終點的資料,我需要將這些資料全部輸入到我的model裡,目的是要研究這一天當中哪條路容易塞車。% t% d0 y4 e( D; ~
我將資料進行換算,例如從A點至B點的搬運次數有3次,我就以一天24小時除以3,也就是每6小時發出一個搬運需求。在沒有搬運需求時車子會在軌道中隨便繞行,等到一有搬運需求,離該搬運需求最近的車子便要過去搬運。
, I4 S5 [" U0 v8 A$ |8 P+ k5 o我的問題如下:1 }" a4 Y6 ^# x# z- C5 d
& s3 j5 b( I0 v& f5 x# a
1.關於資料輸入的方面,起點的搬運時間與地點我是用Generator的物件與Method控制,終點則是用track裡的sensor控制,但上萬筆資料這樣要輸入好久,想請問各位前輩有沒有其他更好的辦法呢?
, Z' b5 ]7 f9 O7 u. ?+ z我目前想到的寫法如下:
9 p W% Q) v9 \# E; X, s(a)如果Machine1是搬運起點,放在Generator裡的Method' P( `2 f6 p) t1 y. d
is0 c; ]1 \& B, H" `' \4 o. V6 R
do
# E" V+ x* j5 _5 _8 Z, }( l2 uif Machine1.occupied and transporter.empty then! b6 B- u( Y$ s* ^. R- Y
if Machine1.out=1 then! m/ E. V5 D1 i2 Q* ~
transporter.stop;
; Z4 v1 R6 |) o4 j. S wait 30;! J1 Q. S/ `7 Q6 B
Machine1.cont.move(transporter);$ p; \* V9 S6 r5 I
transporter.destination:=Machine56;
6 s! G' U# x- h2 C+ }! Y1 ^ Machine1.out:= Machine1.out+1;
4 z, \6 }/ \ j P' `# e transporter.continue;1 G: V7 Q/ V! Y Q" L i
elseif Machine1.out=2 then
8 N3 }+ Y: P# ^ u3 R& v# m transporter.stop;2 [" T% ]- _9 I* D' X
wait 30;
^6 d, r# G9 [) H Machine1.cont.move(transporter);' R! u. o5 i5 r _% {
transporter.destination:=Machine76;" C7 B3 R4 Y% E1 T, Y
Machine1.out:= Machine1.out+1;3 L) d+ {7 D$ n# [0 H
transporter.continue;
/ I! t$ c! S( K5 gend;8 V4 B. q3 X- K# N- Z# H( h4 h
end;
3 q+ l0 U' g! m; z* X" Uend;6 F* ~& C2 M7 M+ }& ^6 ^" B' @" R2 U
1 s: b" d" H9 Y7 t5 t
# p; I/ f( N) B8 ]- \(a) 如果Machine1是搬運終點,放在track的Sensor裡的Method( E q/ R7 M! h: I
is# D2 E: ~/ y$ ]5 ~1 I9 i) s2 o7 Y }
do
C. f2 y7 b# xif transporter.occupied and transporter.destination= Machine1 then5 K- b4 `6 D; ]5 Q. v: g
transporter.stop;
+ o2 b7 v( g7 m( Y0 L& R8 t& i wait 30;$ B/ q3 [& U/ f3 t3 _) J
transporter.cont.move(Machine1);
2 v Y0 o3 m" u# Z# w4 J* e! R transporter.destination:=VOID;
4 O& K5 h+ C5 o0 ~ Machine1.put:= Machine1.put+1;7 V: H$ i. Q7 s& O& ?6 }$ ]- h* ]
transporter.continue;4 f8 g* A2 F `' W( c( H) l6 ]& n: |
end;- J3 V2 T1 ]) b( i" y% ]
/ h0 W' Q$ ?: c! ~8 _6 n# L
2.當有搬運需求發出時,如何去找系統中離該搬運需求最近且有空的車子?
$ M2 F! g5 o% L
% ~. v9 o6 V- S7 w3.請問該如何讓車子在起點至終點的路途中車速從0開始漸增至最大速度,然後快到終點時再慢慢減到0呢?
+ B5 T: B! S( _: x) H6 R; m
N7 {1 x( B9 D" t( T! K 4.我想讓車子搬運的路徑是走「最短路徑」,我使用transporter.destination:=xxxxx,讓車子知道他該去的目的地,但沒辦法使它走最短路徑,請問這該如何處理呢?* u% n! V% e, E8 J: T+ e
2 T' D* V2 t' M1 Q5 D
5.當有兩台車同時到十字路口時,一台有搬運東西,一台沒有,如何讓沒有搬運東西的車停下來,讓有搬東西的車先通過後再繼續前進呢?
6 a' A6 B- l* K: u1 n! J& \# E
. b D7 |* h1 A0 d1 p
5 v/ q: u$ U* r$ W0 S8 m1 Y! B+ |. z4 \; o
% C! F* o2 E* Q以上麻煩各位為我解答了,非常感謝!!!!!9 r0 N9 a9 o' [ H
) U: z; R2 K5 E4 [
& V: G7 D, M4 w/ ]5 [+ s
! R% f% h' q; P9 U$ ]% k
8 C, [/ D" S/ s: e" i4 Y: Q/ X |
|