|
|
本帖最后由 qqball0908 于 2010-8-7 13:58 编辑
1 R0 q, k- d/ |6 w+ j9 m0 ]; V
各位前輩好$ z9 }* A1 ?: ?
我是eM-Plant的新手,目前因為研究而需要建一個半導體廠搬運系統的model,有一些問題想向各位請教。9 O4 h+ l% l% \' m' s
我目前有上萬筆(一天的量)車子搬運的起點至終點的資料,我需要將這些資料全部輸入到我的model裡,目的是要研究這一天當中哪條路容易塞車。
9 I; |6 _: E: X' S# Y+ W0 p我將資料進行換算,例如從A點至B點的搬運次數有3次,我就以一天24小時除以3,也就是每6小時發出一個搬運需求。在沒有搬運需求時車子會在軌道中隨便繞行,等到一有搬運需求,離該搬運需求最近的車子便要過去搬運。
5 B$ n& v6 ?; C1 l& s, |# r我的問題如下:; o/ A( m1 ^; _. Z4 Y- a
7 V/ I, s, o0 A( {/ a" n1.關於資料輸入的方面,起點的搬運時間與地點我是用Generator的物件與Method控制,終點則是用track裡的sensor控制,但上萬筆資料這樣要輸入好久,想請問各位前輩有沒有其他更好的辦法呢?% {- l1 a5 K8 V( i4 F1 Y
我目前想到的寫法如下:+ w5 ^( Y* `- w o$ M" Q
(a)如果Machine1是搬運起點,放在Generator裡的Method9 v5 n3 t8 i* }0 O: G, u4 b
is
1 k- K; d( M$ c4 ddo. o# }6 C1 ~* r+ \7 t
if Machine1.occupied and transporter.empty then$ H: W; U3 s" Y( e! u2 E. O" {6 {
if Machine1.out=1 then9 s2 i- F$ @9 M p! \! {1 @8 Q8 e l6 J
transporter.stop;
' c) X2 H$ d3 L+ O) r2 A0 r% ^ wait 30;
7 i9 i9 u9 x- q Machine1.cont.move(transporter);
' D' W' z2 `0 A* D transporter.destination:=Machine56;
, ]9 W9 w* S+ \" R3 A# X Machine1.out:= Machine1.out+1;
- W9 M$ T5 ], n0 ^ N9 H S g transporter.continue;
) L7 e L7 _" u: X elseif Machine1.out=2 then s$ C5 P$ P6 n* N8 w8 z, C
transporter.stop;* ~! l% ^( U a, g1 Y3 f
wait 30;7 I/ U% K/ ], H. T; B E& p
Machine1.cont.move(transporter);: B. O: B5 B( v5 @. ]7 L
transporter.destination:=Machine76;4 L, P1 Q1 j% y& Z0 }" y, u# ?
Machine1.out:= Machine1.out+1;
6 w! { q9 A+ g- [/ W5 W transporter.continue;
! L1 U- c* a' Jend;/ W) ^; A+ Q8 n$ a/ |
end;0 h) A: q5 q; V: B% t
end;% z. h- V6 M; M
$ h& w$ C* K% j M9 O6 D# F# F$ k7 b j, A
(a) 如果Machine1是搬運終點,放在track的Sensor裡的Method" l$ F( X9 l! a8 b. ?
is6 C" F7 c- ], `$ y
do
3 e1 D( d5 m# |, f) aif transporter.occupied and transporter.destination= Machine1 then3 T4 L0 a( H* q& E5 f
transporter.stop;1 n7 g5 A1 K ]
wait 30;$ H9 f' i) L8 J. `
transporter.cont.move(Machine1);
8 m( M T# [; S! R+ ?4 `4 }, z6 g transporter.destination:=VOID;
- M7 [' G2 z6 P- u- i3 _) P8 B Machine1.put:= Machine1.put+1;
4 G: {; ^7 J% Q: e: D transporter.continue;/ M" r$ u! E7 N: n V+ ?
end;
2 P( m; G s% _# N) u& s1 S8 n0 ~1 [7 i1 A/ s
2.當有搬運需求發出時,如何去找系統中離該搬運需求最近且有空的車子?7 f: P, ?- [0 D$ T: m- P
' E8 r" Q5 g& m( X5 ^- j) ~9 h3.請問該如何讓車子在起點至終點的路途中車速從0開始漸增至最大速度,然後快到終點時再慢慢減到0呢?" }, i- v$ ?$ Z2 D* }
( h& `. f2 o3 ^0 t7 Y& Z/ s 4.我想讓車子搬運的路徑是走「最短路徑」,我使用transporter.destination:=xxxxx,讓車子知道他該去的目的地,但沒辦法使它走最短路徑,請問這該如何處理呢?
; k. }5 C; {* S6 N
+ A0 r5 k: c* j E5.當有兩台車同時到十字路口時,一台有搬運東西,一台沒有,如何讓沒有搬運東西的車停下來,讓有搬東西的車先通過後再繼續前進呢?
$ E, j( n/ a8 O' o) S
9 k h; x# P# B& C% R5 Y0 ?, @2 `7 Y ?, E# u" I
6 z9 q ^6 P/ D; Z+ G0 n$ g8 f4 s2 L1 r- O* _
以上麻煩各位為我解答了,非常感謝!!!!!
. K, N3 f o% x# o0 y4 ]5 \9 O- ]# X0 _5 x
4 r1 G) f; N" n) o6 _2 ^
# {* T' c% X9 h& ^7 Q) k4 k( A
% j5 F3 O+ v) D |
|