|
|
本帖最后由 qqball0908 于 2010-8-7 13:58 编辑 / D- s; O! ~4 m6 k3 ?* A
6 d3 @6 ?# M: v: N5 N9 z" X各位前輩好
9 j `% R7 x- q5 ?我是eM-Plant的新手,目前因為研究而需要建一個半導體廠搬運系統的model,有一些問題想向各位請教。* B/ i, z/ o' h/ a* ^1 O1 K9 c
我目前有上萬筆(一天的量)車子搬運的起點至終點的資料,我需要將這些資料全部輸入到我的model裡,目的是要研究這一天當中哪條路容易塞車。& p6 K$ o- q; H$ Z5 B
我將資料進行換算,例如從A點至B點的搬運次數有3次,我就以一天24小時除以3,也就是每6小時發出一個搬運需求。在沒有搬運需求時車子會在軌道中隨便繞行,等到一有搬運需求,離該搬運需求最近的車子便要過去搬運。
3 J6 }. g. ]5 _1 c4 n! m; p我的問題如下:/ s; w1 E0 I, ~" `' [' E) u+ l
' e0 Q# u4 J1 j( b8 N! A1.關於資料輸入的方面,起點的搬運時間與地點我是用Generator的物件與Method控制,終點則是用track裡的sensor控制,但上萬筆資料這樣要輸入好久,想請問各位前輩有沒有其他更好的辦法呢? l" X( @6 |" r5 M
我目前想到的寫法如下:
& m& J+ j$ N* f# p(a)如果Machine1是搬運起點,放在Generator裡的Method4 E5 D; D* Z. }
is
3 C! i) K* z) {7 Ldo
| @7 N/ g% s, j/ h% c. Q+ yif Machine1.occupied and transporter.empty then& r3 j! c8 p0 i1 T1 l8 f4 _) ?
if Machine1.out=1 then5 |2 o; x( q8 g0 O' q
transporter.stop;8 U4 i1 n& A' u8 S) {, d7 @0 u4 r
wait 30;
3 ^% ~2 Q! G" x& j2 `" L Machine1.cont.move(transporter);; b) k. w1 d- ^/ D: z! q6 B' z
transporter.destination:=Machine56;
" G9 }. S6 d- W& F" j( L: c Machine1.out:= Machine1.out+1;: |5 D( u J5 S
transporter.continue;. I( T" m7 g @, g# v
elseif Machine1.out=2 then1 M8 r# W8 d$ k* O0 u) x$ n# H
transporter.stop;
- A% d9 ~6 c7 z' I wait 30;% h7 y( b6 }; w6 N
Machine1.cont.move(transporter);
2 @9 V, K9 ]2 y- E# s4 p- Z- l transporter.destination:=Machine76;
5 x3 i* h1 [6 p# i1 `0 J% u. c Machine1.out:= Machine1.out+1;
/ i0 F; j8 w1 Z1 V$ K s transporter.continue;
5 F, ]- B3 w, iend;
Q! G# g Z8 s. q: uend;/ l9 h7 E$ d: P" m9 T3 D
end;
: `$ B, z% Q% v$ N& p$ S$ G+ d6 z4 }! l6 w
, E5 F# s( X1 k! P1 ?2 v
(a) 如果Machine1是搬運終點,放在track的Sensor裡的Method
$ \# {0 m/ E6 X/ c6 C* s1 ?5 {+ f3 Dis3 X! a2 U2 Y# \' Q- Q
do
- a% L) s$ o! V6 J b0 jif transporter.occupied and transporter.destination= Machine1 then
" t7 Y8 m5 n, I. ^5 |/ \4 m | transporter.stop;
" O# x j/ E1 o wait 30;, f- ~; x% k9 H2 g
transporter.cont.move(Machine1);
& z8 c) ?! C: d5 y1 k: @# d transporter.destination:=VOID;
0 a( T w$ C5 `% L2 |) j. ] Machine1.put:= Machine1.put+1;7 w9 N' K9 ^: z7 b; T) v2 J
transporter.continue;
+ p! }8 q M! l4 H, ~end;
$ `1 D/ l W$ U6 h0 P* O- H( r
7 Z4 {, i7 {4 N& c2.當有搬運需求發出時,如何去找系統中離該搬運需求最近且有空的車子?
9 _& Q% s( k0 s R" }' V+ J
: U9 N @: f& J3 ~3.請問該如何讓車子在起點至終點的路途中車速從0開始漸增至最大速度,然後快到終點時再慢慢減到0呢?4 \; [9 \, b+ X$ y. D
3 w5 l- H" G! V9 ? z% B1 j! a
4.我想讓車子搬運的路徑是走「最短路徑」,我使用transporter.destination:=xxxxx,讓車子知道他該去的目的地,但沒辦法使它走最短路徑,請問這該如何處理呢?$ o. A% T7 G6 U" m
& u: w4 ~' n u5.當有兩台車同時到十字路口時,一台有搬運東西,一台沒有,如何讓沒有搬運東西的車停下來,讓有搬東西的車先通過後再繼續前進呢?
3 d* `, m- O( q1 M) D' S
5 m- m3 X V# i9 Q% E3 g* h
2 V+ f$ ~! a p8 U6 m6 y: z7 z4 C
$ T: |1 G* J4 P
+ O4 b4 Z( F8 a7 x% x" L) { H以上麻煩各位為我解答了,非常感謝!!!!!6 x; r, g$ i0 x3 d! o: u
5 X& f" p) O. B: [$ [7 e: S( i, f% u
) Y9 @8 N; L+ j4 U) w" ^8 Z; B- l* S# w
- J j+ `9 ^2 a" O' v5 S9 U
|
|