|
|
本帖最后由 qqball0908 于 2010-8-7 13:58 编辑
& s( z% \1 {0 k f0 q3 g; y: m7 I% Q& \: n
各位前輩好+ X% Q% I, \* G2 H
我是eM-Plant的新手,目前因為研究而需要建一個半導體廠搬運系統的model,有一些問題想向各位請教。
- B! p& I2 I( T. ?我目前有上萬筆(一天的量)車子搬運的起點至終點的資料,我需要將這些資料全部輸入到我的model裡,目的是要研究這一天當中哪條路容易塞車。6 p4 Y+ n2 G8 t6 d) \
我將資料進行換算,例如從A點至B點的搬運次數有3次,我就以一天24小時除以3,也就是每6小時發出一個搬運需求。在沒有搬運需求時車子會在軌道中隨便繞行,等到一有搬運需求,離該搬運需求最近的車子便要過去搬運。
) t' P- i: ]7 [0 @; u7 c我的問題如下:
, S4 W9 K: A Q; s5 `$ t, v | a g$ o& U# J9 j
1.關於資料輸入的方面,起點的搬運時間與地點我是用Generator的物件與Method控制,終點則是用track裡的sensor控制,但上萬筆資料這樣要輸入好久,想請問各位前輩有沒有其他更好的辦法呢?
% T6 p3 D* w, O* G2 B我目前想到的寫法如下:) J4 w- e% x" H% K
(a)如果Machine1是搬運起點,放在Generator裡的Method
6 R; w( ]- C7 V$ ?/ K- Xis& o, ~$ _4 W, R% k1 p( a
do
7 |* c, q6 h7 G1 Uif Machine1.occupied and transporter.empty then
9 E# C) v8 Q8 g$ l if Machine1.out=1 then
, R# p$ C* U, Q7 _ transporter.stop;. @ U4 K: P# w: l2 t3 m$ m& Y
wait 30;
& C8 l0 H4 q% }6 d Machine1.cont.move(transporter);
& T- [7 g8 D7 u+ m/ ^# T) S transporter.destination:=Machine56;
* V: W6 r, Q5 B0 [4 K2 q% H Machine1.out:= Machine1.out+1;7 C5 B9 D) X _: E n2 z6 ]9 K
transporter.continue;4 H* x6 ?: F% B! c
elseif Machine1.out=2 then* K3 B, j. H# p2 ^
transporter.stop;
. p! ^: u5 X0 M3 _& E! l wait 30;
; Y/ Q! @9 b2 P7 G4 H: e; | Machine1.cont.move(transporter);$ p& q4 r4 h" o/ g
transporter.destination:=Machine76;
2 p0 F1 o9 g3 }* ^ Machine1.out:= Machine1.out+1;/ S x/ X- c2 L) {/ x3 `- b# }
transporter.continue;2 R+ P' X }* q( g) q' n7 @0 K
end;$ R* a: U/ h6 }# R6 `% D7 X' j( \
end;
8 g X; r8 `% G z. ?& g8 u. Tend;+ z/ s2 N& x7 `
+ K$ O$ Z" t( g- `1 @6 A8 f
9 c6 S+ o0 N7 ?0 A' a, V5 O(a) 如果Machine1是搬運終點,放在track的Sensor裡的Method* B! J! A: b: n3 d+ s7 a
is' E* t5 Q! R- o: @% _( G
do9 H8 z+ f& M1 d- Q
if transporter.occupied and transporter.destination= Machine1 then) x/ R& S, u, |1 B! V, e
transporter.stop;$ O9 F; h6 [1 ?, o
wait 30;: w$ S' {; \6 B& T
transporter.cont.move(Machine1);
/ H0 K% Q. P- U transporter.destination:=VOID;
2 l# o, \6 u _0 K7 e! E Machine1.put:= Machine1.put+1;
) @* A) r n+ J& \$ g' [1 c: I. A transporter.continue;
) C2 \) C6 R dend;
4 j' ?5 K0 F+ }0 I8 z
" w4 p( B' I Q$ \$ d6 F2.當有搬運需求發出時,如何去找系統中離該搬運需求最近且有空的車子?* |3 s# O' {; H- f
- d9 [4 U, z) C
3.請問該如何讓車子在起點至終點的路途中車速從0開始漸增至最大速度,然後快到終點時再慢慢減到0呢?% K# _ E: v. f% L
! H7 @; X5 }; S% D1 H/ ~
4.我想讓車子搬運的路徑是走「最短路徑」,我使用transporter.destination:=xxxxx,讓車子知道他該去的目的地,但沒辦法使它走最短路徑,請問這該如何處理呢?8 W0 a7 ]1 S7 a2 {2 l3 a
4 U5 \" I+ x$ `6 [- A/ V
5.當有兩台車同時到十字路口時,一台有搬運東西,一台沒有,如何讓沒有搬運東西的車停下來,讓有搬東西的車先通過後再繼續前進呢?
# \: f7 F" R& P) c& t g$ x7 g h7 R: D& z% `
) [+ ~! C' D* \0 _
; \4 H* v1 [3 j: `! C/ b4 V
/ e# G4 t. k4 m1 I9 w- d+ }( v3 C r以上麻煩各位為我解答了,非常感謝!!!!!
3 v9 [" s) Y+ {
, f: z+ ^* R. ]$ p6 N) l1 ^1 m
: a% N" |5 e* T) ~
& a& Y# a" F* i c3 z7 a G P4 i& s/ [' f; O8 y0 F
|
|