|
|
本帖最后由 qqball0908 于 2010-8-7 13:58 编辑
/ N0 k5 B* l5 L6 S0 J) Z* n9 ?6 m8 k. a1 o; a# n+ @7 T* p
各位前輩好! p6 n7 F# I9 Q
我是eM-Plant的新手,目前因為研究而需要建一個半導體廠搬運系統的model,有一些問題想向各位請教。
9 Z7 a: A* y5 A* ?" U" N! t/ l我目前有上萬筆(一天的量)車子搬運的起點至終點的資料,我需要將這些資料全部輸入到我的model裡,目的是要研究這一天當中哪條路容易塞車。2 u! D( ]9 E8 e a& ?
我將資料進行換算,例如從A點至B點的搬運次數有3次,我就以一天24小時除以3,也就是每6小時發出一個搬運需求。在沒有搬運需求時車子會在軌道中隨便繞行,等到一有搬運需求,離該搬運需求最近的車子便要過去搬運。/ k' _! X! z& x, [+ D. Z) \$ L
我的問題如下:
1 A' {- O, ^: y& t, @( R. P1 Q x, F6 l; h+ K
1.關於資料輸入的方面,起點的搬運時間與地點我是用Generator的物件與Method控制,終點則是用track裡的sensor控制,但上萬筆資料這樣要輸入好久,想請問各位前輩有沒有其他更好的辦法呢?
7 N m+ h: V9 n5 l' U% h: Q4 u我目前想到的寫法如下:- H5 V% T9 `0 o4 ]. ^
(a)如果Machine1是搬運起點,放在Generator裡的Method
. `4 X' y" w1 H6 F7 B, G Pis; R4 v) R, D' D6 @' t- I& w
do
3 m, V8 a/ ?3 H4 |# uif Machine1.occupied and transporter.empty then
, f9 B o- z. L, i if Machine1.out=1 then7 R6 C5 N$ Z) Z; z
transporter.stop;( z4 N( J5 a" o1 v, ?3 @
wait 30;* q. q0 k4 D* d. t4 y4 o
Machine1.cont.move(transporter);
2 G% A( a* {2 @, z transporter.destination:=Machine56;+ w1 d" `+ o' N
Machine1.out:= Machine1.out+1;* [! W& P: n+ z9 K6 [* S) d
transporter.continue;
1 D0 | s) F q8 p- N2 n, G1 U elseif Machine1.out=2 then) y, v# G- E, Z) i& b2 i5 z
transporter.stop;
; J$ a2 v; o# Q8 y wait 30;# e! k4 a* v( M( C9 ^
Machine1.cont.move(transporter);
% y7 }5 f6 _6 l7 g5 o7 n transporter.destination:=Machine76;' X( Z5 Z4 ]. \, D
Machine1.out:= Machine1.out+1;5 l8 d: P- z8 d
transporter.continue;
" [6 R0 _! \2 g$ @% Z1 tend;
2 t/ k1 p; X. dend;3 m2 g' V9 A, I8 I
end;
6 x. f4 r3 s) Z$ p$ ^+ Q- w r; e P, q: L4 ~$ ?
2 p" G c3 s, K5 d, R
(a) 如果Machine1是搬運終點,放在track的Sensor裡的Method4 E( X& L0 e6 j* ~4 {
is& v+ F6 t! a; |4 a
do- @7 B2 ~6 g9 t
if transporter.occupied and transporter.destination= Machine1 then' C+ w) y9 c1 A- b
transporter.stop;
* r( ]) N$ c4 U2 L6 Z wait 30;
. ^- y, v1 Q6 ?) v% f% A* f1 O transporter.cont.move(Machine1);, G% ]3 A. ^$ l: Z/ s% _! I
transporter.destination:=VOID;
4 `( T0 V+ q/ t Machine1.put:= Machine1.put+1;6 E' _4 U, x: o; ^# J) R6 T
transporter.continue;
7 O) D4 h' _$ |, \: Dend;
; Z* A. @0 S$ s2 A7 A) J* K' ~2 k0 a9 e+ ?' N5 n
2.當有搬運需求發出時,如何去找系統中離該搬運需求最近且有空的車子?) A. Y+ ~2 ?8 f4 d
$ b4 V" Y9 N3 k3.請問該如何讓車子在起點至終點的路途中車速從0開始漸增至最大速度,然後快到終點時再慢慢減到0呢?
8 \& P' T. f5 }3 v2 a& R) I6 o6 w0 w9 J, g0 H: ~2 I1 z2 g8 S
4.我想讓車子搬運的路徑是走「最短路徑」,我使用transporter.destination:=xxxxx,讓車子知道他該去的目的地,但沒辦法使它走最短路徑,請問這該如何處理呢?1 d; p& P5 ~8 U' n
% D, }' l9 V9 j9 W5.當有兩台車同時到十字路口時,一台有搬運東西,一台沒有,如何讓沒有搬運東西的車停下來,讓有搬東西的車先通過後再繼續前進呢?4 x" U8 M6 t6 J/ @
( S, ?; P9 q- L7 r: t/ k: j k6 _
% C5 g2 @4 [1 n( X4 O" x5 o5 W3 E% a: n* i0 A
+ ]. g( a+ s. s; B5 k以上麻煩各位為我解答了,非常感謝!!!!!
5 h' O6 }* a$ {) l
" f, ]6 k9 e% x$ y% ^- z& ?7 Q7 H; C8 q9 I
8 v, W9 _6 h# J! D+ E. S9 O& ?+ _$ K# ]: |- [4 r* Y( q- C+ T
|
|