|
本帖最后由 qqball0908 于 2010-8-7 13:58 编辑 % X9 L; l& f( ?. b) M+ T
! }6 z# K& @3 n2 p0 v, d2 ~
各位前輩好, ]' z% t- j: ~0 L8 j6 I7 i
我是eM-Plant的新手,目前因為研究而需要建一個半導體廠搬運系統的model,有一些問題想向各位請教。4 M8 y; p+ W. b( O
我目前有上萬筆(一天的量)車子搬運的起點至終點的資料,我需要將這些資料全部輸入到我的model裡,目的是要研究這一天當中哪條路容易塞車。4 X$ g+ E* f! O# D; a. {6 e; O
我將資料進行換算,例如從A點至B點的搬運次數有3次,我就以一天24小時除以3,也就是每6小時發出一個搬運需求。在沒有搬運需求時車子會在軌道中隨便繞行,等到一有搬運需求,離該搬運需求最近的車子便要過去搬運。! x4 ?' g, E7 c4 r5 |
我的問題如下:! l4 U1 ~* R* R8 Y6 @
6 h( B% l6 U$ C k _1.關於資料輸入的方面,起點的搬運時間與地點我是用Generator的物件與Method控制,終點則是用track裡的sensor控制,但上萬筆資料這樣要輸入好久,想請問各位前輩有沒有其他更好的辦法呢?# C3 E- E' S3 ]# A9 q
我目前想到的寫法如下:# n( o$ E# [& P% C% C& \
(a)如果Machine1是搬運起點,放在Generator裡的Method
3 z7 ^. k% X7 U* ] ~$ y" N* Jis
) U& M& Q! a$ T/ Q, Z; fdo
7 b/ u) Z$ }3 w7 ~2 V$ yif Machine1.occupied and transporter.empty then
3 v4 N" E* o2 v if Machine1.out=1 then6 O( ~ d/ H0 R) ?; P
transporter.stop;% i2 }; I+ A/ y" `: [. o2 G1 b; D
wait 30;
) W5 V) y: f/ b; m' V7 S Machine1.cont.move(transporter);5 W3 `" `* r* B9 w H. |
transporter.destination:=Machine56;+ {3 @( y* n& L( Z+ a4 V
Machine1.out:= Machine1.out+1;' U9 `7 D% R' T( G' u
transporter.continue;
q! `; t) V9 O elseif Machine1.out=2 then w0 x* T$ O7 w+ \) J) t" H. |+ L6 t
transporter.stop;% I' a. n5 i% m; w. _! s% b
wait 30;
# f. x% ]0 l$ ^) R Machine1.cont.move(transporter);
4 p2 @# x& M- M6 B- u- u transporter.destination:=Machine76;
W6 I: M# I( K. r4 Y; G Machine1.out:= Machine1.out+1;7 c7 {/ l+ L; ~
transporter.continue;. W# g& ^3 \5 l7 ^0 m( y0 q
end;
# ]% T7 ^, P# s; N! nend;, @4 L8 y& m, `
end;" z) {1 Y6 S+ Q. o
$ S! l7 d1 N1 N3 ~" f& i. H6 P# J+ z6 z7 P* X
(a) 如果Machine1是搬運終點,放在track的Sensor裡的Method
+ ]* Y) v) o g2 ^9 ais
3 _* A3 {; K7 b0 f/ d$ v- Pdo
( k5 d8 {) N, f+ P- i2 uif transporter.occupied and transporter.destination= Machine1 then
5 G( i, I: R( Z9 H; g! A transporter.stop;0 p6 F% i: Q: y8 S
wait 30;( h' O: Z+ Z2 O4 d
transporter.cont.move(Machine1);0 |. s# F( ~7 i9 P
transporter.destination:=VOID;
5 W' }& G! h- t$ d& S Machine1.put:= Machine1.put+1;- r% H; L; Y& W8 {! u% F3 T
transporter.continue;! \& l. a( B7 k
end;8 U+ H5 c4 L( y5 c! P0 K
& R) w! p% k$ [. I
2.當有搬運需求發出時,如何去找系統中離該搬運需求最近且有空的車子?4 q, z4 k" X" R9 w
* q8 R& E$ L- U6 y3.請問該如何讓車子在起點至終點的路途中車速從0開始漸增至最大速度,然後快到終點時再慢慢減到0呢?
: c* I R; t/ e3 H7 I0 I% g2 i" Y) a' J. l( T, n. ?
4.我想讓車子搬運的路徑是走「最短路徑」,我使用transporter.destination:=xxxxx,讓車子知道他該去的目的地,但沒辦法使它走最短路徑,請問這該如何處理呢?
* W# B6 L% |3 m1 X% q" N6 @/ u
" `4 h; S' ^- t5.當有兩台車同時到十字路口時,一台有搬運東西,一台沒有,如何讓沒有搬運東西的車停下來,讓有搬東西的車先通過後再繼續前進呢?1 g5 z0 c/ y2 ]" S r
- z" d# R) ?8 J6 R7 K
* N0 c+ I+ ~+ a/ Y$ h
, s8 B2 Q6 _4 T) t, z' t# K
) Z3 E4 L/ H! t以上麻煩各位為我解答了,非常感謝!!!!!, S3 c$ t$ I$ Y$ r# j
0 X, O( W$ s; q; {* r1 @* A7 J( \
+ M. i9 A& L! Q' Z$ N, }! B
3 h7 A" Z1 a6 i$ P1 e( j7 v1 @0 k. D' }% V, h1 X
|
|