|
|
本帖最后由 qqball0908 于 2010-8-7 13:58 编辑
. t H. p+ d! L/ ]7 a; O) v% F4 h8 ?8 R+ H D
各位前輩好
2 ^3 V) H+ S5 w) \) A* O我是eM-Plant的新手,目前因為研究而需要建一個半導體廠搬運系統的model,有一些問題想向各位請教。
( \$ `9 s9 q. L2 n- Y0 L- _* {: ~我目前有上萬筆(一天的量)車子搬運的起點至終點的資料,我需要將這些資料全部輸入到我的model裡,目的是要研究這一天當中哪條路容易塞車。0 X* a* B3 z( V' s3 ]
我將資料進行換算,例如從A點至B點的搬運次數有3次,我就以一天24小時除以3,也就是每6小時發出一個搬運需求。在沒有搬運需求時車子會在軌道中隨便繞行,等到一有搬運需求,離該搬運需求最近的車子便要過去搬運。
2 M4 [5 i, {, n7 k( b我的問題如下:
- g/ x; E+ A4 o5 W1 R u4 ?' F0 r, n* ?" p/ ?8 `/ [
1.關於資料輸入的方面,起點的搬運時間與地點我是用Generator的物件與Method控制,終點則是用track裡的sensor控制,但上萬筆資料這樣要輸入好久,想請問各位前輩有沒有其他更好的辦法呢?' L* r$ X3 e* J" A( _6 T
我目前想到的寫法如下:' ^4 ]& [2 ~0 z- n; z5 |
(a)如果Machine1是搬運起點,放在Generator裡的Method) j# x( W3 {: }* P
is
) I: B' Q* d% _; x/ odo4 D% V/ m' D0 o' n
if Machine1.occupied and transporter.empty then
' j' H1 t1 a/ O* c; j if Machine1.out=1 then$ P/ ^! q5 h! q" U9 r1 m
transporter.stop;
5 a% E0 D, J P- Q$ ~6 D3 [ wait 30;. g! t2 T$ H, a4 m9 u% T) i s
Machine1.cont.move(transporter);
+ c3 }( g0 B% u! \5 s: v transporter.destination:=Machine56;
0 ?( H. ?/ ?9 [0 y Machine1.out:= Machine1.out+1;8 C% i- S, U0 D$ D J
transporter.continue;- Q, ]% F- p. g. y! G
elseif Machine1.out=2 then
2 d1 q( Y2 `# W+ Z transporter.stop;
8 e! [0 M7 @) _+ z6 _! @ wait 30;
; ]9 L$ A: h' ]8 ` Machine1.cont.move(transporter);$ I/ T4 S, q6 ?9 L. i( D& u; g
transporter.destination:=Machine76; z1 n$ i- K* X$ K
Machine1.out:= Machine1.out+1;
) B4 w% X- ]* B* h4 S3 }2 W4 [9 S2 _( u transporter.continue;4 B3 [+ I, m0 `' X& c! m( }
end;
2 n8 e1 X: v9 Z9 ]end;
3 E% L' _4 w/ X0 |4 k, Bend;' a7 T7 J H0 i, i
0 p1 V% r6 t* w9 B# O9 Y
7 e0 d$ |3 M3 Q9 z(a) 如果Machine1是搬運終點,放在track的Sensor裡的Method* F8 |. B5 g& D) \! X0 D
is# @/ W2 u$ i" {1 f$ m
do
! U4 R$ Y& Y: x% }% N8 L* N- _if transporter.occupied and transporter.destination= Machine1 then- o* X) k; y/ V, _1 B J
transporter.stop;
: K* w; C4 D0 \) u. V wait 30;
! X' v- M: t9 d1 g1 C' V transporter.cont.move(Machine1);2 w. v K, f! B4 S3 r$ d
transporter.destination:=VOID;+ a3 T) j8 E- f% n+ r% u
Machine1.put:= Machine1.put+1;
/ z- a9 B1 n/ c8 s6 G5 M transporter.continue;' P. J8 J5 ]9 { S0 s; L3 C
end;
; `' `. v5 w9 V# a+ R0 o, F
* \( D7 d1 m3 y# n; \! i. J) {. y2.當有搬運需求發出時,如何去找系統中離該搬運需求最近且有空的車子?. n$ W4 y- O5 C4 c+ u( Q, ]$ U7 V
3 ?" i5 N8 c' y* ]: x# b, c3.請問該如何讓車子在起點至終點的路途中車速從0開始漸增至最大速度,然後快到終點時再慢慢減到0呢?
+ [1 n4 S/ e7 T6 \+ F$ ^* ~# I |9 z
4.我想讓車子搬運的路徑是走「最短路徑」,我使用transporter.destination:=xxxxx,讓車子知道他該去的目的地,但沒辦法使它走最短路徑,請問這該如何處理呢?
" J, C! \6 Y2 B8 t& s& d; ?1 P* p) o7 ?
5.當有兩台車同時到十字路口時,一台有搬運東西,一台沒有,如何讓沒有搬運東西的車停下來,讓有搬東西的車先通過後再繼續前進呢?
7 }' L& Q' Z9 K; Y# U
8 S n& q- S; {. J' f: E
0 H3 X5 _( @& d4 u2 B. x* k0 i* U, R
5 D. _# }/ x/ u( v8 A4 p
n/ b- [ o$ F3 F" A以上麻煩各位為我解答了,非常感謝!!!!!
9 G, e W" X/ ?6 n% T
& B: c* w7 Z. I" C
+ i! x* B8 t( {* D, @; ?3 d7 d& ]3 q# r0 f2 d- |* V
& I6 I) u) `0 t: A |
|