设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2425|回复: 0

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

[复制链接]
发表于 2014-12-17 14:24:26 | 显示全部楼层 |阅读模式
本帖最后由 soso001 于 2014-12-17 14:53 编辑 9 `1 P9 j; Q; c

& l9 B: B/ A/ t, o4 V不好意思,打错了个字母,呵呵呵!* a- @/ R+ K/ d; [6 p
大家好,本人em-plant新人,在看《生产系统仿真》第六章时,按书上的例子,写了段method,和书上是一样的,但总是提示
% o8 z8 I" H+ W5 s8 U  y“行19中错误,循环计数器必须为整数类型的局部变量”,但我的全局变量是 integer 类型啊,不知道怎么回事,求帮助!0 g( W4 b  k% L- ]: @; v
is+ u. G- L: S4 t' f* Q0 ~
        j,k,nstep,c, scheduleteps,mincomptime:integer;
; ?( d) _" Y+ `4 W4 _2 y8 B7 o7 V1 A        M:string;
$ M0 H+ z4 e4 N        selecTab:table[integer,integer,integer,string];  e, O5 _. p  i7 @9 ^1 V+ m0 s- R2 |; X
do( f8 B& R+ R7 l& f1 l& }2 ?1 O
        initorders;) ?/ y$ Y8 w5 W0 S0 p# E
        / u4 N7 ~0 ~. P' \  W
        scheduledorders.delete;% r) a4 g7 n5 z# \# Y4 T
        seletTab.create;  m; ~9 o) l& q1 R; s8 @* b
       
; s0 e# C" l& R$ X9 T        orders.initialize({2,1}..{2,*},0);
- e" j* `3 p: o/ [: y  E) D        orders.initialize({4,1}..{4,*},0);
# g7 i# _$ R3 W# ~$ d        for j:=1 to numorders loop- h4 W5 C) F0 P+ h, B
                orders[5,j]:=orders[1,j][2,1];! S' p3 r9 y; z% q
        next;
# F: S2 X8 f" Y. F        occres.initialize({1,1}..{1,*},0);
# f6 {% f+ ~8 y+ j2 O* {6 D        1 l3 \+ q$ y# U) a" K  a
        --XUNHUAN: `' Q' n) J+ t
        for scheduledsteps:=1 to numsteps loop --! P2 ~, f$ u: w
                selectab.delete;
, C2 |" l; }: I: f; i/ _% u                k:=1;& f+ S" @! Z2 l0 T. f
                for j:=1 to numorders loop" ^/ ?2 H. k; j# t" a
                       
) u6 K+ \2 ?  K+ G  {2 H8 D: v1 Q                        nstep:=orders[2,j]+1;& }( E6 `% ?& J
                        if nstep<=orders[3,j] then
7 S* X) ~4 f9 ]( Z' P( t                                selectab.writerow(1,k,j orders[4,j],orders[5,j],orders[1,j][1,nstep];
6 E; q3 ]9 X& e5 G; J8 ^; r                                k:=k+1;
5 {8 i# b3 ?& b+ \$ x5 s                                       
5 e5 e7 A/ P0 b, ^                        end;
1 c5 L5 v' t0 r7 o5 [                next;1 E4 }; F8 V3 |! P/ u5 o/ o( G
                mincomptime:=selecttab.min({3,1}..{3,*});
' t  B1 ~( K1 r  E) d  y) A  }               
! X& a7 [+ v  D. X7 d                from j:=1 until j>selectab.ydim loop
, W: k6 G# C. n( w$ K/ |/ l0 [1 J                        # W( F' d: V/ z7 O  M
                        if selectab[2,j]<mincomptime then
$ k# c0 O* A9 B( K0 f$ y! y. C/ M                                j:=j+1;
) K9 H% L0 g. b+ ^                        else
3 _3 S* p7 |2 F: p5 C5 g: U                                selecttab.cutrow(j);
3 W5 g" x, n$ V3 V1 a                        end;# o0 P( P9 I. }- j: V8 }: `
                end;
0 j9 M) e# s2 b: S& n               
: l7 l0 d# z6 r7 D" S! _- F                j:=selectionrule(selecttab);
  O4 G+ B$ J: W/ I3 v                ( E! k' e+ r) d0 [: @' E$ ]. e
                nstep;+orders[2.j]+1;
! \: v- ]6 P; J- @) f                orders[2,j]:=nstep;
  u* P; N9 O& c" o. `7 j# n                m:=orders[1,j][1,nstep];% H: K3 F$ u% r4 q3 w
                c:=orders[5,j]
' s9 [9 h# Z0 P& t                occres[1,m]:=c;
$ O' F, m- U8 y: E  b                5 S- l4 D9 a: {- Z
                --jieguo:start,end,res,job,step4 z$ J* [9 P2 ~" C$ m1 ^
                scheduledorders.writerow(1,scheduledorders,orders[4,j],c,m,j,nstep);+ u- e3 U3 {0 [2 w1 H' l
                for k:=1 to numorders loop" ~+ `+ H6 j1 g
                        nstep:=orders[2,k]+1;
9 b- L) F/ g. y1 e                        & Y' b3 h( Z1 |' A2 T$ Z0 @' o5 T
                        if nstep<=orders[3,k] and orders[1,k][1,nstep]=m9 b" r* [6 Q" g2 ]) Z
                           --  H% i$ T# I, D2 k
                        then' ^0 |; y  Y* P; D( [9 r8 |8 V7 y6 l
                                orders[4,k]:=max(c,orders[4,k]);- u* K, s8 V+ r" q; H: y6 Q9 ?
                                --
, B. A, @7 }6 T' u                                orders[5,k]:=orders[4,k]+orders[1,k][s,nstep];
3 i0 \# v  H  Q, I                                --* v& Y2 l& {( h0 K. q) n
                        end;
, E3 `' _( C+ _. j3 l                next;  o5 n! P& j7 C7 r: g
                nstep:=orders[2,j]+1:
+ ^. D9 u4 O- F, \5 \8 G" A                if nstep<=orders[3,j]$ S  Q& @, {$ F. y+ B7 e
                  
6 ]* Z3 N' O; E" S                then  i5 q2 o6 ^1 k8 }+ {2 x
                        orders[4,j]:=max(c,occres[1,orders[1,j][1,nstep]]);
0 v7 A, k" Q$ r3 F                        orders[5,j]:=orders[4,j]+orders[1,j][2,nstep];8 ?; Z9 T5 g* _; c" x
                end;: ^5 [( j$ n# Q
        next;
4 z* _: j/ R5 W4 x. }( }       
+ y! k% P3 N0 [+ d        print"ready.duration of the schedule:",scheduledorders.max({2,1}..{2,*});
5 N; q* Y4 T! p% w, C( j5 K        mygantt;
% ~1 c% z6 [  P* O& @! n5 N        ens;  i. Y/ ~0 [" [$ c, v( i
            
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-23 00:51 , Processed in 0.015973 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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