|
|
本帖最后由 qqball0908 于 2010-8-7 13:58 编辑 $ ~% N" h6 @ r
# r; @& ]% {1 \; u各位前輩好
: d! O- g% @7 o3 ]我是eM-Plant的新手,目前因為研究而需要建一個半導體廠搬運系統的model,有一些問題想向各位請教。0 n. [& T' C, z' G+ ]
我目前有上萬筆(一天的量)車子搬運的起點至終點的資料,我需要將這些資料全部輸入到我的model裡,目的是要研究這一天當中哪條路容易塞車。 j; E( {- F n/ p
我將資料進行換算,例如從A點至B點的搬運次數有3次,我就以一天24小時除以3,也就是每6小時發出一個搬運需求。在沒有搬運需求時車子會在軌道中隨便繞行,等到一有搬運需求,離該搬運需求最近的車子便要過去搬運。
3 z6 _* `( V; T! a+ ~. b) f" k我的問題如下:
! p$ }. @/ H3 o, t
( x0 i6 L. P8 B; h a" [1.關於資料輸入的方面,起點的搬運時間與地點我是用Generator的物件與Method控制,終點則是用track裡的sensor控制,但上萬筆資料這樣要輸入好久,想請問各位前輩有沒有其他更好的辦法呢?4 p( O; m0 W7 ]2 D
我目前想到的寫法如下:
# i9 A# v; b1 d" B2 T(a)如果Machine1是搬運起點,放在Generator裡的Method4 k! w% f5 K+ @( _" E6 e+ I
is7 R) A! I: p% i0 a
do
g3 G9 |0 o6 dif Machine1.occupied and transporter.empty then
% x) B" E" g) T9 m' m if Machine1.out=1 then( o) @0 B7 ]) p6 s( T
transporter.stop;( x& h, C# r9 S y
wait 30;& f% d2 {+ A/ U/ O. V
Machine1.cont.move(transporter);
8 n4 i6 C7 m2 j8 z transporter.destination:=Machine56;- X, x9 K( z% u% h! C7 i! d
Machine1.out:= Machine1.out+1;
! A0 Z! |. z. k transporter.continue;/ G6 L! }' U- V7 O$ Q" s, C
elseif Machine1.out=2 then+ v/ v+ y/ u* |7 a( _% B
transporter.stop;
% c: w0 E+ \+ l- \ wait 30;
" M0 l1 h+ \3 t Machine1.cont.move(transporter);. @3 o H( w# ~- Z+ Z; t
transporter.destination:=Machine76;& A" E1 r. I1 W1 Q% p2 J0 b
Machine1.out:= Machine1.out+1;
4 }' o) i- M! f" }$ v; i+ N7 k2 z transporter.continue;/ N* y2 R" Y2 D+ ~3 _/ j/ M
end;& U% S$ d! N: G% [
end;; t: Y- j( G* P9 @! H
end;5 U8 O3 l8 t x F2 o0 |
* a/ \% ^; }# B; O! O
6 K8 E @, ?- p4 B: V j3 z9 l(a) 如果Machine1是搬運終點,放在track的Sensor裡的Method
9 W+ M1 m$ W; r+ D1 gis
- [6 ~& z9 H0 m0 T* Y( C3 `" pdo
/ A7 ` L1 G; f! t1 @8 Aif transporter.occupied and transporter.destination= Machine1 then0 W( V. F; Y3 Z7 P+ g4 o
transporter.stop;+ t; Q( ?. z9 w+ Y3 Y, s: {+ `
wait 30;% b8 `+ s) O+ R4 |3 _
transporter.cont.move(Machine1);# {9 h7 h0 ~2 \7 X- d
transporter.destination:=VOID;) x# {7 I$ p W
Machine1.put:= Machine1.put+1;7 j5 K% U1 c: D* ]3 X, ]# N! m
transporter.continue;
8 t* X# \" ?* j; s+ ^' I; |/ zend;
, h& n+ ~2 F. z0 A3 A9 U- I/ J4 X& R0 ?! M( ]1 I: p" L" }! I
2.當有搬運需求發出時,如何去找系統中離該搬運需求最近且有空的車子?
: y o) @: x9 u/ C( x; n4 U; G6 }/ D3 l4 b( _) n- @$ d
3.請問該如何讓車子在起點至終點的路途中車速從0開始漸增至最大速度,然後快到終點時再慢慢減到0呢?& |. @; t3 L# h w) k. Y3 c
0 J, }. v# J% ^3 H; Y5 ~; ~0 u 4.我想讓車子搬運的路徑是走「最短路徑」,我使用transporter.destination:=xxxxx,讓車子知道他該去的目的地,但沒辦法使它走最短路徑,請問這該如何處理呢?, }7 s9 n3 V1 z7 b) x
: W' z0 ~9 Y2 J9 _# \5.當有兩台車同時到十字路口時,一台有搬運東西,一台沒有,如何讓沒有搬運東西的車停下來,讓有搬東西的車先通過後再繼續前進呢?
) |; U6 K9 `! I( V9 S3 _
+ _) f$ y2 G) J# b- ~7 W' a
' l: y; i, n, {" q
: ]8 J. {6 u, e! ]0 l
7 q. P1 n' N, G% m8 D9 w2 \* ^以上麻煩各位為我解答了,非常感謝!!!!!2 f+ ]6 Y* B: u. {, Q
5 g8 {" x& v# x& f) q' e5 e
. c/ @, `. f6 i
2 z- o8 y# ]/ W+ ?
3 {: d. T1 g4 l9 X" q0 M+ g
|
|