|
本帖最后由 qqball0908 于 2010-8-7 13:58 编辑 # L# d/ j9 f9 H+ w' x
8 v7 V- o* f! z各位前輩好& X: B2 H3 @, L- d* D; l# X
我是eM-Plant的新手,目前因為研究而需要建一個半導體廠搬運系統的model,有一些問題想向各位請教。" [+ f/ J- P( J, Q& p7 P
我目前有上萬筆(一天的量)車子搬運的起點至終點的資料,我需要將這些資料全部輸入到我的model裡,目的是要研究這一天當中哪條路容易塞車。" T* {" }. q P1 ~
我將資料進行換算,例如從A點至B點的搬運次數有3次,我就以一天24小時除以3,也就是每6小時發出一個搬運需求。在沒有搬運需求時車子會在軌道中隨便繞行,等到一有搬運需求,離該搬運需求最近的車子便要過去搬運。
6 T, J# U! j; F, K) E我的問題如下:6 i2 l3 F1 p- T% {5 z! _3 T
1 Z; J5 k# L( p: ]+ n6 u# f; O1.關於資料輸入的方面,起點的搬運時間與地點我是用Generator的物件與Method控制,終點則是用track裡的sensor控制,但上萬筆資料這樣要輸入好久,想請問各位前輩有沒有其他更好的辦法呢?
, B- o; J, Z5 ~9 K. O, i我目前想到的寫法如下:
6 u! ]; h: [2 N9 O3 P(a)如果Machine1是搬運起點,放在Generator裡的Method' w4 n$ T( f- | ^1 F
is! i( P }7 C! u; z- A2 o0 \1 z
do! Z' H& U( c0 Q
if Machine1.occupied and transporter.empty then6 i* D. ^. C; C: }/ A$ }+ R3 f, X
if Machine1.out=1 then) `$ o9 o$ C. U J3 Q' f: n
transporter.stop;) f8 {0 g; ]: n4 h& ?! z; X
wait 30;
+ F' t3 y7 H' ?" c' P! X Machine1.cont.move(transporter);
- n0 U/ z: E1 T8 D( D1 {5 l transporter.destination:=Machine56;
G i$ {( b5 U$ D2 D' w; k: g+ ] Machine1.out:= Machine1.out+1;7 o, S+ Y# k8 R- o1 R, h+ H# P
transporter.continue;; m X8 Y9 J! C: l9 _5 q
elseif Machine1.out=2 then
c% c! \, p2 s: T+ H transporter.stop;
0 [' N6 }2 n, G0 o7 O wait 30;, R. k6 d% L0 o/ X8 u! C4 [( \/ _0 S( \
Machine1.cont.move(transporter);% a! Q5 X5 L3 \4 i
transporter.destination:=Machine76;6 k% k o+ q" S8 K% h
Machine1.out:= Machine1.out+1;4 J9 b2 \: `: W! _" U8 E% J p+ T4 @
transporter.continue;
$ \3 s2 G7 s4 k- eend;
3 R. ~! x6 t# A% @; {- F7 hend;
: o0 V6 x3 O7 g/ Xend;
: L" L5 z$ P& x g
! j! X8 G0 y$ X! ^1 ~7 i6 a+ }* I
! ^* |6 |' S9 Z2 m(a) 如果Machine1是搬運終點,放在track的Sensor裡的Method
* I9 j$ U$ }8 Y8 Iis
# h8 g: _+ g4 `do# ?) R; h8 t+ b5 i8 m( E
if transporter.occupied and transporter.destination= Machine1 then
7 b' J1 L' }: L' G4 N# E9 M transporter.stop;- w; o# R( X/ f% c8 E+ k. w
wait 30;& j. E, M9 c: Q' W% s f4 c
transporter.cont.move(Machine1);9 J' N) \, z- |7 l; x
transporter.destination:=VOID;: x2 l2 }- q8 X9 w& H# i
Machine1.put:= Machine1.put+1;) \! C. \& c3 |
transporter.continue;
3 {- f* W5 F/ U( _: \; [; jend;
& D7 v8 m5 F- _- ~" e7 h9 J; R% U
! ~* c1 U, T1 a/ H' I$ S# G; ]2.當有搬運需求發出時,如何去找系統中離該搬運需求最近且有空的車子?
3 L6 Q8 B) g; D% A
3 k! }8 Q+ s5 k* k3.請問該如何讓車子在起點至終點的路途中車速從0開始漸增至最大速度,然後快到終點時再慢慢減到0呢?* L& q7 ]* J1 Z
* Z6 e% I. d' Y$ D( N! v$ f 4.我想讓車子搬運的路徑是走「最短路徑」,我使用transporter.destination:=xxxxx,讓車子知道他該去的目的地,但沒辦法使它走最短路徑,請問這該如何處理呢?
$ O! Q4 K0 T% |, {; Q- i1 f
/ ?4 H' N2 I% D% e' P) a# I5.當有兩台車同時到十字路口時,一台有搬運東西,一台沒有,如何讓沒有搬運東西的車停下來,讓有搬東西的車先通過後再繼續前進呢?
6 w9 z4 ^" o+ K4 `* U0 X0 Z$ H" A
& k' X3 x: K- e' H( Q
7 h W! e5 m9 o! O4 e, m
+ m+ f6 r s7 C6 Y, w5 I# f
- F+ B+ U7 o0 c T以上麻煩各位為我解答了,非常感謝!!!!!
$ G7 G; n8 G8 M2 ~& b* N F( i$ a. Y3 v: E
7 I, P4 {8 @% |5 m) D# s
. W4 v. w2 l/ u1 Z( A, r5 q: Z7 L
\8 s, K, ~5 u* t
|
|