|
|
本帖最后由 qqball0908 于 2010-8-7 13:58 编辑 " _! z8 j8 `/ j; Q+ e( n6 T: N7 C- y
3 @ \2 I" T* n
各位前輩好- K4 r- ?6 {% M# V; l9 D* R
我是eM-Plant的新手,目前因為研究而需要建一個半導體廠搬運系統的model,有一些問題想向各位請教。
% ]" B r/ X" p" ?* O7 `我目前有上萬筆(一天的量)車子搬運的起點至終點的資料,我需要將這些資料全部輸入到我的model裡,目的是要研究這一天當中哪條路容易塞車。& c6 q2 D% a7 [) K; O
我將資料進行換算,例如從A點至B點的搬運次數有3次,我就以一天24小時除以3,也就是每6小時發出一個搬運需求。在沒有搬運需求時車子會在軌道中隨便繞行,等到一有搬運需求,離該搬運需求最近的車子便要過去搬運。
4 ]+ T. V$ ~& D) j I我的問題如下:) _4 E7 V4 S, T- [
0 t, i% {$ J1 c/ t
1.關於資料輸入的方面,起點的搬運時間與地點我是用Generator的物件與Method控制,終點則是用track裡的sensor控制,但上萬筆資料這樣要輸入好久,想請問各位前輩有沒有其他更好的辦法呢?/ m7 u+ t7 {' c! b7 a; y
我目前想到的寫法如下:0 b" {. x H* r
(a)如果Machine1是搬運起點,放在Generator裡的Method% t9 x8 p: D U4 B& Q; }
is
6 K* F8 o% y6 F. T- Sdo; D' q+ j' A# h
if Machine1.occupied and transporter.empty then
: g/ O8 ^# ?! o' ` if Machine1.out=1 then
3 s, v: q; w- @4 J$ ` transporter.stop;7 j o0 T8 f0 F
wait 30;
: B& [0 Z O0 V. x; H Machine1.cont.move(transporter);: N! B. d, j& L/ {1 M
transporter.destination:=Machine56;+ A$ J) D8 f! ^, `) G4 R
Machine1.out:= Machine1.out+1;
- U$ Y$ n: C" ^ x7 r! ]( f: u transporter.continue;
/ F/ A. A, q( m" Y8 ?: E! R) P elseif Machine1.out=2 then2 R4 |& x; n( B: W p
transporter.stop;
9 l$ A9 Z- v6 @" _3 ^; P2 ~. a wait 30;/ C1 f+ K& M# h9 Q, F9 Z `' C7 A: q
Machine1.cont.move(transporter);2 l: T b7 V0 J2 `/ |, d* Q, n
transporter.destination:=Machine76;
8 H( P3 {5 h* g8 q Machine1.out:= Machine1.out+1;7 U2 \8 I; S5 P3 ?
transporter.continue;
* G2 Q H9 i; [ b' Wend;
& I( }- x3 C# }& F7 `; [end;3 h1 H1 m" B8 \9 A8 W
end;
- ]! [) F2 |# f, p7 t3 |/ ]* q
- ~4 _7 f8 l' E& v' @) P8 ^' e' x
(a) 如果Machine1是搬運終點,放在track的Sensor裡的Method4 v% ]+ B) E9 p% I* a
is
) S( Q! V h- b6 Pdo
/ P- Q! W/ x$ {2 o- g) U) L$ ^3 Sif transporter.occupied and transporter.destination= Machine1 then
0 ?3 V4 H C2 ~$ `1 s. R# R! K# V transporter.stop;' n2 ?+ `) A4 s0 L# [& l; D5 E1 p
wait 30;, W. A; A% s7 g m# ^3 S) o5 F
transporter.cont.move(Machine1);6 J/ P l' ] _) r$ b+ \- y4 g
transporter.destination:=VOID;
, ^. U/ F, q S6 q: L% s6 B Machine1.put:= Machine1.put+1;
, B2 P3 l& X1 K, Y; m transporter.continue;
3 d, t. q" h9 ?# aend;' }2 v/ U4 g9 l" i6 w
/ H! L% Z- n: c2.當有搬運需求發出時,如何去找系統中離該搬運需求最近且有空的車子?
+ I" ~* U/ L, c/ c: J, M2 j
/ i0 M( X9 e x: a- I; A4 y3.請問該如何讓車子在起點至終點的路途中車速從0開始漸增至最大速度,然後快到終點時再慢慢減到0呢?
4 N3 t% N( C; D* o$ h. O. y! i
1 X; p" T+ q% ?8 o# b5 H; b 4.我想讓車子搬運的路徑是走「最短路徑」,我使用transporter.destination:=xxxxx,讓車子知道他該去的目的地,但沒辦法使它走最短路徑,請問這該如何處理呢?4 Y; z1 x3 G% S
, B$ j9 T" X% E2 c: {8 F6 V9 X6 a
5.當有兩台車同時到十字路口時,一台有搬運東西,一台沒有,如何讓沒有搬運東西的車停下來,讓有搬東西的車先通過後再繼續前進呢?8 s2 B9 X, s2 e" K& b
I) e* F/ n! r# K& J. S+ ?# J' W8 \4 _6 ^, o) ^9 d3 h: G
" }. }7 G% O7 F5 k2 R% {, A9 e: A& i$ }! t" M- a
以上麻煩各位為我解答了,非常感謝!!!!!
7 }/ q8 x( K$ a5 s6 _( S: }
' ~1 q) Z! `% z0 K) ?8 }5 n
6 A$ {3 @+ N' {1 |0 O9 n
# g5 \9 J: A5 z' J5 B8 D3 K0 ^! H- P
; L1 Q" I* g6 D9 v |
|