|
本帖最后由 qqball0908 于 2010-8-7 13:58 编辑
% }( Z: @3 W4 D" x P; Y; L0 a
X1 C( l* p0 i, e各位前輩好! d& W! p% V( z0 H/ l& p
我是eM-Plant的新手,目前因為研究而需要建一個半導體廠搬運系統的model,有一些問題想向各位請教。
8 ?) m- O3 x1 F- G ~$ V4 C我目前有上萬筆(一天的量)車子搬運的起點至終點的資料,我需要將這些資料全部輸入到我的model裡,目的是要研究這一天當中哪條路容易塞車。- ^8 A3 }5 E8 M5 r- Y/ G
我將資料進行換算,例如從A點至B點的搬運次數有3次,我就以一天24小時除以3,也就是每6小時發出一個搬運需求。在沒有搬運需求時車子會在軌道中隨便繞行,等到一有搬運需求,離該搬運需求最近的車子便要過去搬運。
& |( j D/ H5 M% Z我的問題如下:
( k8 o( T# F5 @" L& h* G1 L) R8 W8 p d2 p5 f, S
1.關於資料輸入的方面,起點的搬運時間與地點我是用Generator的物件與Method控制,終點則是用track裡的sensor控制,但上萬筆資料這樣要輸入好久,想請問各位前輩有沒有其他更好的辦法呢?
) y2 F/ o& q V! \1 d9 ~我目前想到的寫法如下:
* z9 e4 M2 @: A% m( \# _(a)如果Machine1是搬運起點,放在Generator裡的Method
a4 _4 i% M2 n2 wis$ Q* o+ N# d7 f* k' s
do9 E$ v. g( @2 B# h
if Machine1.occupied and transporter.empty then/ I) p9 v7 n# K. V
if Machine1.out=1 then
+ t. v1 ] {6 q1 } transporter.stop;
4 m9 g" `( \, h L5 X wait 30;
8 z% g( I& }+ c Machine1.cont.move(transporter);' D* @0 h l% Y1 i: q9 k
transporter.destination:=Machine56;5 f8 u6 r3 }* `; }0 m: Q4 R
Machine1.out:= Machine1.out+1;
4 c+ V- E# ]8 `8 s$ K ~8 ^9 b transporter.continue;
$ y h% [8 k" |7 r6 D. Z1 o elseif Machine1.out=2 then
" {( S, \: J8 N0 x5 b1 K8 a" v transporter.stop;
8 B$ P' A5 G2 Z/ N2 n wait 30;+ O& Y E. Q9 P5 O
Machine1.cont.move(transporter);2 M9 B; K. G3 l4 }3 ~4 t$ d
transporter.destination:=Machine76;
( q& N* M: D' f& L2 @% }$ G5 u Machine1.out:= Machine1.out+1;: V/ x# Z& h2 l' v/ T- G( C+ ^
transporter.continue;8 U! U# m/ y% h3 z& N N5 I% N6 P
end;2 A/ ?: t" m7 c
end;# f3 j! |% W; V g
end;
. U4 d5 P, d: q7 u8 Q6 J4 s. m) X3 p# ?5 f& @2 \
* ^& q& }+ I+ h1 ]
(a) 如果Machine1是搬運終點,放在track的Sensor裡的Method
* f5 e6 m3 `8 E C' R/ [is
# y6 K8 k8 K. p9 b6 jdo
/ ]- j: h) J5 sif transporter.occupied and transporter.destination= Machine1 then- a. U4 Q. R8 ^" P! _
transporter.stop;
7 u/ {6 i$ f# }& ~5 U wait 30;
7 \* B. }& T9 i; o transporter.cont.move(Machine1);/ S: ?- }$ ?# S' _
transporter.destination:=VOID;, l N z: f2 w3 m1 J
Machine1.put:= Machine1.put+1;; H) Q/ s* z. R8 b; N4 G8 H0 ?
transporter.continue;
2 h m& T) d8 Q1 R7 h- }2 u( eend;+ f% e5 I' A* }2 ?
( c* a0 r$ B K$ E7 {0 o1 W2.當有搬運需求發出時,如何去找系統中離該搬運需求最近且有空的車子?
& X* Z% _% [( P$ a5 @" z" {9 c3 }: o4 T, f0 h
3.請問該如何讓車子在起點至終點的路途中車速從0開始漸增至最大速度,然後快到終點時再慢慢減到0呢?% x$ D* J% t/ z# ~! l0 X/ R
- t/ B7 f9 M3 i; M M* i1 y( K 4.我想讓車子搬運的路徑是走「最短路徑」,我使用transporter.destination:=xxxxx,讓車子知道他該去的目的地,但沒辦法使它走最短路徑,請問這該如何處理呢?
2 X1 L' I. c2 H0 Q
& ?1 t5 N6 E! ]% y% S G5.當有兩台車同時到十字路口時,一台有搬運東西,一台沒有,如何讓沒有搬運東西的車停下來,讓有搬東西的車先通過後再繼續前進呢?9 J7 [+ l$ w- K5 |
5 t! ]5 H1 t! ]$ |
- m, x+ F5 }( t' t$ v) v. U
1 M9 G X' Z# _$ y4 F* ]* \9 N: R; N; r2 @
以上麻煩各位為我解答了,非常感謝!!!!!
" V2 R/ W- ~5 U0 W" L
Z/ {) i# a# \, [, F) ^6 s7 b& S
5 N2 D# M% z( D1 V2 p" v4 g: ~3 z. C, x% B) A( i: w
4 i: E- k4 v# n7 b9 H
|
|