|
|
本帖最后由 qqball0908 于 2010-8-7 13:58 编辑
: |) ^9 z2 F' X% } n" F6 U
3 C- r" ~8 h2 [各位前輩好+ z+ r( F/ V+ e; {
我是eM-Plant的新手,目前因為研究而需要建一個半導體廠搬運系統的model,有一些問題想向各位請教。( G1 z- p, X% z% y3 k5 D
我目前有上萬筆(一天的量)車子搬運的起點至終點的資料,我需要將這些資料全部輸入到我的model裡,目的是要研究這一天當中哪條路容易塞車。
+ B: c8 C3 X5 `2 s6 H7 ?8 y* d我將資料進行換算,例如從A點至B點的搬運次數有3次,我就以一天24小時除以3,也就是每6小時發出一個搬運需求。在沒有搬運需求時車子會在軌道中隨便繞行,等到一有搬運需求,離該搬運需求最近的車子便要過去搬運。6 z/ i/ F. R# j3 |' r& ?
我的問題如下:/ c8 U( [ R, @
+ a5 m1 P9 K' Z$ N G: r+ f9 K
1.關於資料輸入的方面,起點的搬運時間與地點我是用Generator的物件與Method控制,終點則是用track裡的sensor控制,但上萬筆資料這樣要輸入好久,想請問各位前輩有沒有其他更好的辦法呢?
" W. `) Z0 U0 V$ b我目前想到的寫法如下:
+ J, M5 D2 P# O2 V5 ?+ U(a)如果Machine1是搬運起點,放在Generator裡的Method
9 L! D7 m0 m' e n9 y. l+ d$ S! W6 M) bis
* W4 J" ]! v% Ado0 `6 X" }6 U8 R" ?
if Machine1.occupied and transporter.empty then
2 _! l$ }; J: ~3 j" d8 P if Machine1.out=1 then
/ h$ S, K" r2 c/ [0 B transporter.stop; d- k h7 R: j6 h2 }7 ~' F
wait 30;# b1 ^' ?: k2 |) Y' E2 X$ s8 R/ x
Machine1.cont.move(transporter);
7 f# x6 N: D5 i: h# B4 K% w$ m transporter.destination:=Machine56;
Q: P/ X5 _5 \9 ^% f o Machine1.out:= Machine1.out+1;
, P( K9 W$ ~6 S% @. v7 g transporter.continue;
; f; K6 Z+ i7 Y0 i b' w6 m elseif Machine1.out=2 then
+ n" m2 {$ m: d2 w1 ^" l4 K4 z transporter.stop;" ]4 U& O- d5 }% b
wait 30;
: x/ v" G' f+ {0 H% B( m Machine1.cont.move(transporter);9 }, L$ |( b( j' G- T
transporter.destination:=Machine76;6 X% I- Z% a( Y% }3 c% W% ~" [
Machine1.out:= Machine1.out+1;5 S( L% ]/ ~: ^# a
transporter.continue;5 x+ C4 p! q0 q$ J
end;
8 p9 e4 H$ I7 \. @: U9 y: a1 {end;
/ [# V( O8 n# N/ C! H! f; f, s: vend;
( G( c1 q3 ^! U: x6 U+ `# @2 C& G; y. i
! {% j O; d0 d- ~
(a) 如果Machine1是搬運終點,放在track的Sensor裡的Method5 w5 j- f7 g! w
is. U9 ]1 v- |. |; Q1 K( g
do
( \7 `+ ]; Y6 J; h& H/ Qif transporter.occupied and transporter.destination= Machine1 then
( H3 n' a6 g- y4 B transporter.stop;: B Y# s) O& C* n3 \+ b$ h
wait 30;5 J8 x% g7 F8 X" Y5 q
transporter.cont.move(Machine1);: o. R. C5 M* S; c
transporter.destination:=VOID;% i6 u! O: b8 j& A6 E
Machine1.put:= Machine1.put+1;
6 Y0 _9 L# |1 t, b transporter.continue;
- O7 ^' t- R' @6 ~8 t7 d; uend;
+ ^$ h. d% E8 H+ y$ p1 Y/ x0 c0 W9 @) v' Y# g
2.當有搬運需求發出時,如何去找系統中離該搬運需求最近且有空的車子?
+ s3 P# \' n0 z8 Q7 t; I- [: i3 J0 [; B9 ?
3.請問該如何讓車子在起點至終點的路途中車速從0開始漸增至最大速度,然後快到終點時再慢慢減到0呢?
6 {3 K3 A. F6 }. s
0 U$ T& a" m \) U1 X 4.我想讓車子搬運的路徑是走「最短路徑」,我使用transporter.destination:=xxxxx,讓車子知道他該去的目的地,但沒辦法使它走最短路徑,請問這該如何處理呢?
+ e: L) d/ q% A9 R6 G8 U! ~( e) p$ b& S. a' P; j
5.當有兩台車同時到十字路口時,一台有搬運東西,一台沒有,如何讓沒有搬運東西的車停下來,讓有搬東西的車先通過後再繼續前進呢?& U3 [/ U2 P9 C+ F$ w- a1 k/ V m" H
$ [0 B5 v( Y# T7 r6 P
5 x6 J2 ]3 H* }: B& @- d, y" E5 p, B- _) u' J& L3 p
" P" E- d- R3 V; \& q以上麻煩各位為我解答了,非常感謝!!!!!
! q( p; I. @$ G t; M+ C2 K) r6 e% n( E v) H
# E( o: b; O5 L* K
1 U: ^1 t* R; k1 T5 A: A3 {( K8 g# v, F8 \# P5 Z; ]( y
|
|