|
|
本帖最后由 qqball0908 于 2010-8-7 13:58 编辑
) x1 A+ l4 j. y5 W$ @4 I, \9 ]! \, f6 V* x0 _$ C1 i' P1 T2 o
各位前輩好
( C7 f* O1 ^2 i7 @+ M$ T# `我是eM-Plant的新手,目前因為研究而需要建一個半導體廠搬運系統的model,有一些問題想向各位請教。
% f9 Y. e f8 p我目前有上萬筆(一天的量)車子搬運的起點至終點的資料,我需要將這些資料全部輸入到我的model裡,目的是要研究這一天當中哪條路容易塞車。4 A! v: f; b1 u: e5 `
我將資料進行換算,例如從A點至B點的搬運次數有3次,我就以一天24小時除以3,也就是每6小時發出一個搬運需求。在沒有搬運需求時車子會在軌道中隨便繞行,等到一有搬運需求,離該搬運需求最近的車子便要過去搬運。$ c# `1 n7 W% I- i& v7 k
我的問題如下:
& L ^' b/ }& w+ k) D- J8 K7 ^9 e4 |
4 |- R: A0 ^& @& W b5 P3 i/ J1.關於資料輸入的方面,起點的搬運時間與地點我是用Generator的物件與Method控制,終點則是用track裡的sensor控制,但上萬筆資料這樣要輸入好久,想請問各位前輩有沒有其他更好的辦法呢?( T% z& T( W0 y- F6 B
我目前想到的寫法如下:" P; W6 Z2 {- _7 W; a$ l- L
(a)如果Machine1是搬運起點,放在Generator裡的Method" W- V9 H$ x) V2 g4 q2 E4 G+ A
is( t4 _, b$ {2 k, g- Z; x8 E" J
do. u) D9 y) ?5 `: F5 q' A
if Machine1.occupied and transporter.empty then
& k/ b' C5 c. e if Machine1.out=1 then
: p1 r5 y- R m3 G6 g transporter.stop;
$ {! q. m$ A- P' s# B wait 30;
, O/ m+ i: h0 u5 i Machine1.cont.move(transporter);! v- B9 x6 v' J
transporter.destination:=Machine56;$ [% u) q, l9 r# h* D" a' s7 _
Machine1.out:= Machine1.out+1;
& T' {) E( [0 | transporter.continue;
# A/ g# `2 Z8 p& _( B: e1 _4 l elseif Machine1.out=2 then
$ \. @7 `( L# v3 F: M0 u transporter.stop;
/ X [7 \6 N8 q M5 F wait 30;
5 ~5 k+ L z! a: w" {6 e: X5 ] Machine1.cont.move(transporter);9 t: ]4 P d! \
transporter.destination:=Machine76;. U+ F; X8 Z) I4 E# I& O8 T
Machine1.out:= Machine1.out+1;7 {8 |- _2 H" T; V. I* j
transporter.continue;
) N/ k2 w. O7 _% K% |3 u) cend;. I* x/ K0 v$ t0 c0 k
end;6 S2 j" L. o& Y, d; a3 J
end;
/ z* T) [+ C W7 p& q5 s9 ?- V6 S2 t9 H7 Z: a" L
% ?4 E$ _& {" w. i2 `) k
(a) 如果Machine1是搬運終點,放在track的Sensor裡的Method/ ]& O0 ]' x9 y, w+ a* ~ w# w
is3 {7 ^, L+ ?9 s7 O* E+ ?
do
- N2 F. z: t6 M V3 lif transporter.occupied and transporter.destination= Machine1 then
6 j# s* v6 P \# S transporter.stop;) h" T1 u- u( K) J$ ?; T
wait 30;
( u% o( a8 ]0 C2 Q$ J4 e8 Z8 Q transporter.cont.move(Machine1);
3 O' @( B$ c; F) a$ } transporter.destination:=VOID;
2 h, u0 M m- i4 M! ^# W6 X Machine1.put:= Machine1.put+1; X X+ a1 T( f% [( O; U
transporter.continue;- ^5 W7 ?/ f+ U& e0 [
end;, ]; r' [7 b( q
0 m: w8 [4 O9 }% ^( {/ [
2.當有搬運需求發出時,如何去找系統中離該搬運需求最近且有空的車子?
8 x1 S1 J1 v& k7 |% U9 O0 j( z8 i( O- H, e6 {/ c
3.請問該如何讓車子在起點至終點的路途中車速從0開始漸增至最大速度,然後快到終點時再慢慢減到0呢?4 X$ k' u$ }$ ^; o* m W' [
2 _9 l6 N: Q8 ]7 f1 a
4.我想讓車子搬運的路徑是走「最短路徑」,我使用transporter.destination:=xxxxx,讓車子知道他該去的目的地,但沒辦法使它走最短路徑,請問這該如何處理呢?
4 D# h# n5 p W; m2 \
! P! U/ W- D' J- w v3 O5.當有兩台車同時到十字路口時,一台有搬運東西,一台沒有,如何讓沒有搬運東西的車停下來,讓有搬東西的車先通過後再繼續前進呢?
& ]( x/ X# G" T
: o! g% n- b# S) E- g) ?/ Q$ _. \% h- B) O
8 x2 `! w1 `/ ^ Z
& F" \! e, X8 v6 U- ?以上麻煩各位為我解答了,非常感謝!!!!!
! j! U) U+ S. V6 e! [, l) I$ ~9 I$ h' f# U( Z$ e
9 U. J* A) z$ e! [, O
3 N Q8 o( \' r4 z7 x0 M
% l0 S* O7 c M9 M |
|