|
本帖最后由 qqball0908 于 2010-8-7 13:58 编辑 1 Z! R2 T9 o: @4 g: K
) }5 y) j. l5 M; J) Z- v M
各位前輩好
6 _, s5 i( {, t# h/ Z% Z我是eM-Plant的新手,目前因為研究而需要建一個半導體廠搬運系統的model,有一些問題想向各位請教。
. U3 O1 q5 c- ]$ ~* T0 u! F0 Y我目前有上萬筆(一天的量)車子搬運的起點至終點的資料,我需要將這些資料全部輸入到我的model裡,目的是要研究這一天當中哪條路容易塞車。
; o( ~6 U6 p. w! @' X. P; b4 D我將資料進行換算,例如從A點至B點的搬運次數有3次,我就以一天24小時除以3,也就是每6小時發出一個搬運需求。在沒有搬運需求時車子會在軌道中隨便繞行,等到一有搬運需求,離該搬運需求最近的車子便要過去搬運。. T' Y+ K. r" p! ^
我的問題如下:
; t9 M; H3 D b) d6 T$ e
0 s. _7 o+ c6 V1.關於資料輸入的方面,起點的搬運時間與地點我是用Generator的物件與Method控制,終點則是用track裡的sensor控制,但上萬筆資料這樣要輸入好久,想請問各位前輩有沒有其他更好的辦法呢?* S7 \& @9 j `8 z5 m
我目前想到的寫法如下:" K+ `+ i! K' [3 m! w! u9 n
(a)如果Machine1是搬運起點,放在Generator裡的Method/ H) ~( g' ~ V p
is
/ \7 L: B+ n# S# ]2 e. Hdo- m+ W5 z: c0 s1 @
if Machine1.occupied and transporter.empty then
' w; e9 P/ [, Y/ n% q if Machine1.out=1 then% v a2 x6 j& \9 R+ Z5 L* E& G) V
transporter.stop;
. Y1 g$ {6 T# l, ?/ g6 \, w wait 30;: w, d5 n& z0 _
Machine1.cont.move(transporter);9 Y3 w; A- n# s0 r* s5 U' Z
transporter.destination:=Machine56;) c. \: n6 {. b- c: K
Machine1.out:= Machine1.out+1;7 q! @: o5 R3 E8 w1 N$ }; c
transporter.continue;4 A3 K0 K( k) h, B% j
elseif Machine1.out=2 then$ q. |; Z+ @: t# _! O
transporter.stop;
* [7 L# d4 h3 t) Y* } wait 30;/ @+ x& T# E6 @: H
Machine1.cont.move(transporter);; [7 O2 C0 J; |. p$ w. l1 c8 Y" U
transporter.destination:=Machine76;
' s+ f+ e: b; _ Machine1.out:= Machine1.out+1;
, b* C2 ]6 P- U. Z, ~$ E transporter.continue;
9 ^! D% P, L# j0 {1 I) Eend;5 @- i7 o& r+ S6 L4 q$ u% h" n2 {
end;
; M2 }# Q" x- b, v0 kend;
; H( |7 G$ B5 J& l! _& V) z$ F5 j8 K( j) s+ d3 ^
* v2 f1 T1 i3 w8 \
(a) 如果Machine1是搬運終點,放在track的Sensor裡的Method
0 Q6 Z! x- r: a2 O- W1 N; nis( e) _: q3 T6 w ~' B) i
do
- s$ l. L9 F& l7 G9 j0 d5 j9 {if transporter.occupied and transporter.destination= Machine1 then* S% K7 h. X' ~& Q/ `7 e: u
transporter.stop;! H4 M. N& B6 g; T) _
wait 30;; a# P) X& w: y6 k1 H1 p
transporter.cont.move(Machine1);. t3 Q( V* I0 B6 m
transporter.destination:=VOID;: e J3 ~- g* y. Q
Machine1.put:= Machine1.put+1;/ y: p J8 `* s! n8 D
transporter.continue;
' I" M1 ]8 K4 f) g$ Dend;
. L0 p% k6 E- w. Z ?- g6 g7 G
" |6 y/ M' O: C8 Y' t, c# ^5 q- h0 I2.當有搬運需求發出時,如何去找系統中離該搬運需求最近且有空的車子?
! f# F: y' ~* Y" _) u
( I0 X/ T1 J7 d" G. {' O P3.請問該如何讓車子在起點至終點的路途中車速從0開始漸增至最大速度,然後快到終點時再慢慢減到0呢?$ Q5 C2 B" c# }- Y
$ f3 v) y% ~$ }, }! ?
4.我想讓車子搬運的路徑是走「最短路徑」,我使用transporter.destination:=xxxxx,讓車子知道他該去的目的地,但沒辦法使它走最短路徑,請問這該如何處理呢?: ~ u4 ^6 \9 W& F6 W
; z6 O0 E6 l/ B, ~9 o$ G5.當有兩台車同時到十字路口時,一台有搬運東西,一台沒有,如何讓沒有搬運東西的車停下來,讓有搬東西的車先通過後再繼續前進呢?
: `0 H$ e# G& u) L/ c
1 b: l* c( r4 U( x
& Y0 \1 a4 m U# }- l) H {3 G% r; X; M+ u
9 L2 l) p3 w( l* l- c& S; ^/ L
以上麻煩各位為我解答了,非常感謝!!!!!
* [% d5 P$ f: g* | y% X! ~) S+ u- N/ M2 ]3 R; K8 B& c* ?7 G0 \* O
) ~4 m8 O9 P" L; [
4 R& J z% V' g4 {& z5 @
% G/ x& h8 c' k" w; s- [+ j$ B' _
|
|