|
本帖最后由 qqball0908 于 2010-8-7 13:58 编辑 9 H# X& h+ r1 {$ Z" ?% g y
4 ^0 m9 P; u" K各位前輩好7 k2 Z: ~+ Z8 C; y' O
我是eM-Plant的新手,目前因為研究而需要建一個半導體廠搬運系統的model,有一些問題想向各位請教。
/ l; @! n+ N: H0 f1 E" c% I- I# A我目前有上萬筆(一天的量)車子搬運的起點至終點的資料,我需要將這些資料全部輸入到我的model裡,目的是要研究這一天當中哪條路容易塞車。; F. ]7 g$ [9 \7 A6 |# r
我將資料進行換算,例如從A點至B點的搬運次數有3次,我就以一天24小時除以3,也就是每6小時發出一個搬運需求。在沒有搬運需求時車子會在軌道中隨便繞行,等到一有搬運需求,離該搬運需求最近的車子便要過去搬運。
' X" d& t7 z8 u, r, V) S9 T我的問題如下:! D u; N. M8 W9 D0 x) B% a
( O5 D' C5 ]5 p2 A: V- r5 D
1.關於資料輸入的方面,起點的搬運時間與地點我是用Generator的物件與Method控制,終點則是用track裡的sensor控制,但上萬筆資料這樣要輸入好久,想請問各位前輩有沒有其他更好的辦法呢?
6 L! K, w9 L6 d9 ~& G我目前想到的寫法如下:$ B3 L. m/ f+ D& `% F6 p
(a)如果Machine1是搬運起點,放在Generator裡的Method) Z6 K; w3 L: c( f9 I
is/ }) [# z# w/ Z& H; g
do( k6 U+ _6 i& v; D) P
if Machine1.occupied and transporter.empty then
r) h4 b* L% W L if Machine1.out=1 then
6 U& e f+ `4 O0 m transporter.stop;
2 X; _8 ~7 x% O& O! D1 |8 u1 R wait 30;
5 H- @8 x4 G. v; @ Machine1.cont.move(transporter);$ y7 x# f; [ p
transporter.destination:=Machine56;! `' m* v& }# h
Machine1.out:= Machine1.out+1;
& [$ |; z/ u4 }3 x! ~! N transporter.continue;
; ^" d) Q. _2 b. E elseif Machine1.out=2 then/ C7 r; X3 u4 D$ E1 g
transporter.stop;
& O) t7 \6 Y8 N. R4 w wait 30;( a* r. p, e! Y( Y; \: T' g+ R
Machine1.cont.move(transporter);
" H% A( |: Y$ G- i0 P$ V transporter.destination:=Machine76;: c5 y; o) O2 o( Y7 Y
Machine1.out:= Machine1.out+1;
- c _/ z' c' X( L transporter.continue;
+ {; `3 ^" s/ @8 Jend;
' L" H, x. g! nend;. m8 j# B# Y) I" Z) N
end;
. M2 ?# X# e0 ^' S0 g
2 A1 M; O8 h+ l( ? Y9 `5 Q" l7 Z& J
(a) 如果Machine1是搬運終點,放在track的Sensor裡的Method. A$ e% a/ ?5 ~( x) F
is
: z2 e+ ?/ R6 V# M* Ndo
1 ?- x; A0 n$ V) ^0 h1 A0 p' U( |if transporter.occupied and transporter.destination= Machine1 then6 w& {! L# V* _7 I" Q1 n" S2 @2 y
transporter.stop;' s3 q4 q3 w# f9 v, [8 ~
wait 30;
7 a) s- b# r" z0 C5 D! } transporter.cont.move(Machine1);. c, O# L9 F% l. H2 q$ z2 |
transporter.destination:=VOID;
: t% x2 n! s' n- x% N8 `- `, ^ v Machine1.put:= Machine1.put+1;
4 P3 P1 S+ H; B, P. H. E transporter.continue;
]# I- T u* g; z! ~8 qend;
- x- e, Y( f" @% m" d4 @
+ s3 Q s m `8 r' z. V2.當有搬運需求發出時,如何去找系統中離該搬運需求最近且有空的車子?
5 W( o j% c, @2 z& d5 V, C. L( L- b, T+ U5 q
3.請問該如何讓車子在起點至終點的路途中車速從0開始漸增至最大速度,然後快到終點時再慢慢減到0呢?( G2 k! K7 S l9 T
& Z) b1 _8 A1 |) g$ H- i
4.我想讓車子搬運的路徑是走「最短路徑」,我使用transporter.destination:=xxxxx,讓車子知道他該去的目的地,但沒辦法使它走最短路徑,請問這該如何處理呢?
6 o8 h& \9 a$ e/ I+ s2 m: D: v% ?9 W% o; c- R
5.當有兩台車同時到十字路口時,一台有搬運東西,一台沒有,如何讓沒有搬運東西的車停下來,讓有搬東西的車先通過後再繼續前進呢?
$ _7 x- [. I- O9 `
* `3 [; j6 m& N" O: y6 t: D# k f/ ^$ B# T
, J W0 I: p/ X- I9 V+ o6 S5 \1 Y# O0 P: [
以上麻煩各位為我解答了,非常感謝!!!!!
, F) X6 r) ]" {- G
! I5 E/ J# W; p# l9 E! g. R* R; [
9 x h, D1 ^/ w5 h. o# k t! P+ ]
* \9 T* r& i# x2 E |
|