|
本帖最后由 qqball0908 于 2010-8-7 13:58 编辑
1 `/ V, H7 `! H. g6 C$ ~) Y8 R/ h4 I- t4 ^
各位前輩好
( X+ I$ q% p- X! B. y- T我是eM-Plant的新手,目前因為研究而需要建一個半導體廠搬運系統的model,有一些問題想向各位請教。
F2 C" j6 I! D; T我目前有上萬筆(一天的量)車子搬運的起點至終點的資料,我需要將這些資料全部輸入到我的model裡,目的是要研究這一天當中哪條路容易塞車。
: H+ R# W# w6 b% c8 Z! G4 Q' K我將資料進行換算,例如從A點至B點的搬運次數有3次,我就以一天24小時除以3,也就是每6小時發出一個搬運需求。在沒有搬運需求時車子會在軌道中隨便繞行,等到一有搬運需求,離該搬運需求最近的車子便要過去搬運。
# w: E: g" _' I+ @3 \我的問題如下:
. S. ^3 \- s8 z$ h6 }: \$ I( e# Z3 \8 Z, _7 i+ y9 X1 w
1.關於資料輸入的方面,起點的搬運時間與地點我是用Generator的物件與Method控制,終點則是用track裡的sensor控制,但上萬筆資料這樣要輸入好久,想請問各位前輩有沒有其他更好的辦法呢?. s& I7 j' A3 c" O
我目前想到的寫法如下:
- x K0 j- q n(a)如果Machine1是搬運起點,放在Generator裡的Method( b& U- ^" c. ~( S: p9 L
is$ y& Y. c$ v! l/ v
do4 l, b, M' L% F4 t% d% B# Y
if Machine1.occupied and transporter.empty then+ c9 B' D+ g/ }$ f' D- w0 L
if Machine1.out=1 then
* _( F1 J; d/ b( i( q* V transporter.stop;
2 U0 n H. ]3 U$ j7 l( p% ^3 C- X! |3 L wait 30;
( v$ E9 s5 d4 \ f& s" c2 d6 z Machine1.cont.move(transporter);
9 ]8 h- G, g6 n- A3 _$ h transporter.destination:=Machine56;" k0 A5 d# M Z$ F
Machine1.out:= Machine1.out+1;+ h8 D0 }5 x- k
transporter.continue;
0 [( ?9 k3 D6 U4 d elseif Machine1.out=2 then+ ]! J& o' T7 c9 k2 R9 F
transporter.stop;8 b! x% D$ |4 p
wait 30;
6 |( S3 U) y% F! M( H Machine1.cont.move(transporter);
+ D8 z3 Y* A' n+ _$ G p transporter.destination:=Machine76;: D1 s# {" ^5 n8 s3 R5 N- X5 [, T
Machine1.out:= Machine1.out+1;0 @$ v; T j* M, G5 O
transporter.continue;
1 E6 `9 O" a- qend;
/ t( `2 H) }4 i0 \; y1 _2 _: Yend;
' d! ?& n* P. |) Jend;: w ]: o% @; r) r$ @
$ m& m0 _: k9 q! W8 i D
, g9 ?8 Z5 u; z4 n) y% }8 b(a) 如果Machine1是搬運終點,放在track的Sensor裡的Method
& z: Y! j/ N9 [* x; C& pis- f7 @& }& K: q
do6 q: a/ j+ Q- ^
if transporter.occupied and transporter.destination= Machine1 then) M4 @( c4 O: ~9 p
transporter.stop;+ |6 U: L7 a4 S) {2 [8 G
wait 30;; Y/ l1 q# N) I- d. c# S8 j6 ~
transporter.cont.move(Machine1);" g+ g& P6 ^: i# L
transporter.destination:=VOID;9 W4 ?' s7 B5 M$ l$ g
Machine1.put:= Machine1.put+1;
6 L) `, m# N! _! H; O) \ transporter.continue;4 m4 E, k; Y0 s# Z3 v
end;
2 w) R9 H \; \$ C3 W9 {$ i2 G9 T( t Q( V. b6 R! J. r% W0 p9 d
2.當有搬運需求發出時,如何去找系統中離該搬運需求最近且有空的車子?5 o J3 B8 d& M- P2 l% s, F+ K
4 F6 F2 w6 P- {8 X& v0 \6 r& k3.請問該如何讓車子在起點至終點的路途中車速從0開始漸增至最大速度,然後快到終點時再慢慢減到0呢?5 {+ v, ] `% j- E3 w2 o
. d+ Y& f1 n2 ?& W5 u
4.我想讓車子搬運的路徑是走「最短路徑」,我使用transporter.destination:=xxxxx,讓車子知道他該去的目的地,但沒辦法使它走最短路徑,請問這該如何處理呢?, V4 L- J4 W# ?4 q
5 S/ {, F0 s% x1 R4 S8 B! s
5.當有兩台車同時到十字路口時,一台有搬運東西,一台沒有,如何讓沒有搬運東西的車停下來,讓有搬東西的車先通過後再繼續前進呢?
; U: P1 d9 W, J u1 _& O$ f" }! Z# \8 b% l0 F3 W8 j
! t, n. e" M/ M# W) x
& k; M/ ^; p! S X5 Q u# D
% _# V# r3 I0 X# M/ |9 z以上麻煩各位為我解答了,非常感謝!!!!!
) |. I* Z* d" P! H7 |
$ g+ m% j" F: p* k; W+ p) u' Q: i2 O- U( n: |0 z8 s
3 A+ b& o9 |. j, ~4 o" q
7 h/ n1 v3 N% S1 r" I9 @5 m |
|