|
|
本帖最后由 qqball0908 于 2010-8-7 13:58 编辑
# N j1 ?4 a1 S: Z9 c& M9 c! H1 j' r# v s, C' f
各位前輩好% @$ ~- j6 R; j& m
我是eM-Plant的新手,目前因為研究而需要建一個半導體廠搬運系統的model,有一些問題想向各位請教。' @- C+ T8 z( J! ?, c$ X2 L
我目前有上萬筆(一天的量)車子搬運的起點至終點的資料,我需要將這些資料全部輸入到我的model裡,目的是要研究這一天當中哪條路容易塞車。+ l4 j2 E6 |; W1 V
我將資料進行換算,例如從A點至B點的搬運次數有3次,我就以一天24小時除以3,也就是每6小時發出一個搬運需求。在沒有搬運需求時車子會在軌道中隨便繞行,等到一有搬運需求,離該搬運需求最近的車子便要過去搬運。# y- O- y8 N: B" j: i/ \6 N
我的問題如下:+ Y: ~8 k/ W4 R; b
9 X8 T# T' C! ]4 |8 D/ E1.關於資料輸入的方面,起點的搬運時間與地點我是用Generator的物件與Method控制,終點則是用track裡的sensor控制,但上萬筆資料這樣要輸入好久,想請問各位前輩有沒有其他更好的辦法呢?
S! S1 i5 e& N5 D3 d. W5 n! e我目前想到的寫法如下:' ~2 D2 n3 E9 O3 }
(a)如果Machine1是搬運起點,放在Generator裡的Method ]$ ~7 Z# M6 f# k2 w& F9 @
is
. `5 K8 l% p( a# n+ o( zdo
: y# O4 S6 R, T/ n: e7 |if Machine1.occupied and transporter.empty then
& G7 M* d% p# l* [* m if Machine1.out=1 then* r- i* Y' P. p! `: v+ R6 t
transporter.stop;
- i$ Z5 Y0 o: `* K. i wait 30;/ W3 G7 N& Y% W- }/ t9 w& B
Machine1.cont.move(transporter);
6 x" s, z$ ?1 R8 L7 ~' m; p transporter.destination:=Machine56;# z) M0 \. \# W; i
Machine1.out:= Machine1.out+1;; P. d7 d) b! C! a% s* S* G4 v' y" Z8 r5 s
transporter.continue;; M* ], m2 a) b$ Z' w a
elseif Machine1.out=2 then
% `* { |# S: G9 o7 C* M/ i transporter.stop;
1 g6 \0 I1 G" v. Y wait 30;2 m" I% W( D* [/ a k
Machine1.cont.move(transporter);
; B; T3 w8 O0 `, n# p, A transporter.destination:=Machine76;
. e; H" E @: q h* _, c7 z Machine1.out:= Machine1.out+1;
# J# P- i' {: F6 \, Z4 x: i transporter.continue;& y6 Z* {2 J2 ]: I5 u$ P+ a" t W
end;- m! v S# @6 Z4 z+ L, z' o9 k/ |6 M1 {
end;
0 u" A/ R8 U2 G9 I4 @: w5 Fend;
3 ~8 x; N. p1 P. ^3 p
: `( d: B/ J$ M# r$ W! O3 r% I, A# e* _. _% d0 d M$ ^% ^+ r
(a) 如果Machine1是搬運終點,放在track的Sensor裡的Method0 Y5 L6 H1 Z6 g. o5 R/ z& t
is
7 ~; w; l3 [1 S' Ddo
( k" a X& E5 \6 Aif transporter.occupied and transporter.destination= Machine1 then0 e4 J; }* ^& x/ F; d' D6 | R! R
transporter.stop;% ^' B) N! T" S, g. C1 B* N) G
wait 30;, t* `" o! l7 m4 k+ T; t
transporter.cont.move(Machine1);
# w2 D5 Z3 U9 r2 z, Q! K6 X2 M transporter.destination:=VOID;/ `! g" r3 l% A2 U5 B z3 M
Machine1.put:= Machine1.put+1;
" E, P" I0 ], a2 Q) @7 C transporter.continue;' x" p4 W4 M: g* E
end;9 a3 J( z( g: A, L$ G$ p/ d# A# Z
) f) T J* o9 Z. D/ S3 M' V2.當有搬運需求發出時,如何去找系統中離該搬運需求最近且有空的車子?
4 ?9 E( i( S2 E$ q8 K' @% B( s+ J/ `) U) j% |2 I( Q. \
3.請問該如何讓車子在起點至終點的路途中車速從0開始漸增至最大速度,然後快到終點時再慢慢減到0呢?4 ~$ [) _' H' L& G$ a) {# O
4 o% \# T% r* d0 p 4.我想讓車子搬運的路徑是走「最短路徑」,我使用transporter.destination:=xxxxx,讓車子知道他該去的目的地,但沒辦法使它走最短路徑,請問這該如何處理呢?
% D5 _0 t" i- G( Z( p$ O: }* R6 O! X
5.當有兩台車同時到十字路口時,一台有搬運東西,一台沒有,如何讓沒有搬運東西的車停下來,讓有搬東西的車先通過後再繼續前進呢? `: r4 i( Y7 {7 R; v w4 \
5 t" Y, |; B4 T% ~$ S
5 s! M z9 p9 g
. s4 w' I4 i/ y/ t: s f
. r2 j9 F& S3 D1 |% R以上麻煩各位為我解答了,非常感謝!!!!!
8 }) z8 U+ N2 m1 Z" m3 X: Z' U. ~& z) V7 t1 j2 J
: `' K& O ~# p7 @! m* n5 e4 L
- e! C8 V. Q1 f+ ?
\/ m4 |$ {% V( X
|
|