设为首页收藏本站

最大的系统仿真与系统优化公益交流社区

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4432|回复: 0

[求助] 求助-生产系统仿真-第六章例子 运行错误

[复制链接]
发表于 2014-12-17 14:24:26 | 显示全部楼层 |阅读模式
本帖最后由 soso001 于 2014-12-17 14:53 编辑
" k- n% F! P! Z7 S7 n% P& F. s9 k$ E) N4 C/ w# ]4 i
不好意思,打错了个字母,呵呵呵!
9 Z" Q( U% }/ X" ]# f2 b. W- q大家好,本人em-plant新人,在看《生产系统仿真》第六章时,按书上的例子,写了段method,和书上是一样的,但总是提示
5 I) _3 B* e. y2 F“行19中错误,循环计数器必须为整数类型的局部变量”,但我的全局变量是 integer 类型啊,不知道怎么回事,求帮助!- [# X4 i; ]3 `+ g+ e
is* Z* U1 t$ r* C  R" @* d2 |+ d
        j,k,nstep,c, scheduleteps,mincomptime:integer;: s9 J/ e( x/ ^/ |! O
        M:string;
' G$ K6 d7 J  h5 D        selecTab:table[integer,integer,integer,string];
& ~' g% U2 Q0 Z5 _do
& v/ @, d& t6 D8 g5 r: }' l        initorders;. B$ a; U) |; x- t/ I# c/ M
       
7 [1 g/ E# @9 `3 w# M9 h' G, H        scheduledorders.delete;6 l, a3 u( G( f1 c% Q6 m1 t
        seletTab.create;
6 l( k2 Q3 [" P* G. X, g       
( ]) N) f) |( t5 e& |        orders.initialize({2,1}..{2,*},0);! |; y& T3 V2 o6 p) u7 D
        orders.initialize({4,1}..{4,*},0);
" f+ D# d: ~' ^- X9 i9 @6 z        for j:=1 to numorders loop' u! {( c* X/ K* j% l, @
                orders[5,j]:=orders[1,j][2,1];
* L& W4 H. U* l  c9 ^+ E* a- g$ T' l        next;
" ~( ]) H! H) h. f8 F        occres.initialize({1,1}..{1,*},0);% A$ Z! L; ]3 r: f- h4 O
       
! G& d% ~0 e! D  q* F        --XUNHUAN
7 c/ o4 h8 H; {  ?4 ~3 G" {" j* x        for scheduledsteps:=1 to numsteps loop --
. C0 A/ h: X) ]% _* u) ^1 @                selectab.delete;7 t* B& k; Q6 n2 n# t
                k:=1;9 E: w5 i: O) u5 f  s+ z+ Q
                for j:=1 to numorders loop# T* q8 Z" m. o: {, |
                       
6 T2 W! q: x4 l+ I% y: w                        nstep:=orders[2,j]+1;# W1 |: a, K- }0 L
                        if nstep<=orders[3,j] then
- A& C4 h! V9 r$ A9 s" }" ^                                selectab.writerow(1,k,j orders[4,j],orders[5,j],orders[1,j][1,nstep];
, V5 j- t' q$ Z) A7 z& G7 k8 p& W. Y                                k:=k+1;
/ w% y& l' ~" F; V  Y0 R* `4 d                                        ) C  ?- l" i( X+ t: s% N6 y1 O
                        end;: i5 E- d+ h5 H$ a" @
                next;4 }, o8 k& u' y0 l# b- T
                mincomptime:=selecttab.min({3,1}..{3,*});/ x' z5 g- c" f6 j% ?" B
                & {! Z$ ~6 G* u! T8 n
                from j:=1 until j>selectab.ydim loop
& ]4 d$ F2 F. ~  T                        & V9 ~2 q  S% ?- K( F0 [, k
                        if selectab[2,j]<mincomptime then# i# s$ B  K7 e* i
                                j:=j+1;
$ {7 ~4 n; b' y2 \: t7 V0 }                        else) ~" N; @8 t  m7 X* A
                                selecttab.cutrow(j);
" f/ o. D! ^2 c8 @& N$ e                        end;
0 Y. P; x  j$ C4 j: ~                end;
% a& u- |0 q% o               
$ k/ b. Q' f* j2 R/ ~& C                j:=selectionrule(selecttab);
, u" B1 J0 Y; P( _, z( \; e! G" d                1 ?' L% F" h: G: C- a) e# m
                nstep;+orders[2.j]+1;2 @, d9 L( q' |
                orders[2,j]:=nstep;8 A- t; L5 g0 I% K9 D
                m:=orders[1,j][1,nstep];
- ~) `3 a) H5 S6 U) }                c:=orders[5,j]
$ v6 F) L; U" a: ]; e9 R: P& ^                occres[1,m]:=c;; ~# f9 z7 [) B+ f! Z7 |( N/ _. ?- v9 @! ~
               
3 `3 y) u& `$ I( |& m                --jieguo:start,end,res,job,step
5 l% N$ p9 R8 _                scheduledorders.writerow(1,scheduledorders,orders[4,j],c,m,j,nstep);
  W" O% U1 H/ U2 C                for k:=1 to numorders loop
# B) S; x/ _9 W( W0 w% ~3 g1 d                        nstep:=orders[2,k]+1;
% h! h) f3 a% }( E2 T# f                       
3 ~. p! h) L. s5 w# A8 n7 S, W                        if nstep<=orders[3,k] and orders[1,k][1,nstep]=m( A& P& I, b8 |! [) ^
                           --
7 X2 o/ P  l2 @4 J                        then; F8 n- s& \0 C" r$ s9 x
                                orders[4,k]:=max(c,orders[4,k]);$ b/ P3 a+ ]+ r* ]# Q" I
                                --( x3 H  W. O" z( O, a  S
                                orders[5,k]:=orders[4,k]+orders[1,k][s,nstep];
$ r/ V) {9 j* q" M) Y6 J* U. w! v+ k                                --
7 M: B% m( o: _% `/ T* \9 [: \                        end;
0 `. V# R3 [; t* |! X' p6 @                next;
  r+ z& m9 G; z# L$ r                nstep:=orders[2,j]+1:- y4 Y; H& `# v  _! }3 Z# z# A
                if nstep<=orders[3,j]( Q. o8 w) h, I, u
                   ! o" D  p5 a& U& V; [
                then5 i" A; q4 @$ x  Z( \/ c
                        orders[4,j]:=max(c,occres[1,orders[1,j][1,nstep]]);% t) [8 I% M5 q* O7 ?$ t
                        orders[5,j]:=orders[4,j]+orders[1,j][2,nstep];2 ^% O, E0 |$ ]; d8 U
                end;. J( d( M# z' H8 _
        next;. S# @. K# A: X+ Z7 v1 _  c) S
       
9 L/ `  y, M8 }3 B        print"ready.duration of the schedule:",scheduledorders.max({2,1}..{2,*});
! \1 C/ G) \6 R( c& l  ?! i        mygantt;/ B4 s. ~! ~5 x4 q6 \) w- @- o1 U
        ens;
- S- v& g- M- V            
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|SimulWay 道于仿真   

GMT+8, 2026-9-13 06:19 , Processed in 0.022343 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表