设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2604|回复: 0

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

[复制链接]
发表于 2014-12-17 14:24:26 | 显示全部楼层 |阅读模式
本帖最后由 soso001 于 2014-12-17 14:53 编辑
. H4 ^6 v7 |* t% G4 G3 U
2 ?* Y+ n4 l4 G不好意思,打错了个字母,呵呵呵!
( g% s3 O" K6 P* c/ r3 G5 t大家好,本人em-plant新人,在看《生产系统仿真》第六章时,按书上的例子,写了段method,和书上是一样的,但总是提示3 A6 n) R+ F" b! B
“行19中错误,循环计数器必须为整数类型的局部变量”,但我的全局变量是 integer 类型啊,不知道怎么回事,求帮助!
5 e. ~7 O$ y, {0 {is
  x. F0 C' J7 Z( t) i5 l8 E        j,k,nstep,c, scheduleteps,mincomptime:integer;
# T" j8 [0 ~3 W. b3 \6 M0 i        M:string;
* z4 U0 A* `9 G        selecTab:table[integer,integer,integer,string];$ ~# J/ g$ f6 I! \' ^6 s4 Q/ i
do( k  k/ r$ m" y. n5 ?$ |
        initorders;3 Z/ [# j3 w0 [
        4 l9 K# x& R& r8 l( ]7 M
        scheduledorders.delete;
1 }7 B  ]/ U; v        seletTab.create;4 \% n' D9 p8 Y/ N) a( F5 w
        : M" u3 i2 a, {) q# V
        orders.initialize({2,1}..{2,*},0);
$ r8 l* q+ L8 V/ D8 i- _        orders.initialize({4,1}..{4,*},0);
# _; Z3 y7 \& i        for j:=1 to numorders loop: h" n6 R8 s: h. R" b$ ]# x4 ~; X' n
                orders[5,j]:=orders[1,j][2,1];
0 R$ j: m9 |. z+ t9 a. w        next;
  h, N( w  `: C, I        occres.initialize({1,1}..{1,*},0);& a8 f3 R0 p6 J( y
       
# X. B7 O) c  C( Q        --XUNHUAN7 Q4 L/ }& H9 [/ Z* O6 d8 b
        for scheduledsteps:=1 to numsteps loop --
; a" G2 L$ F+ K9 o9 I0 p* H0 J                selectab.delete;
' I0 E4 y9 F) V; l5 z8 y% c                k:=1;
  J0 L1 `( j. t                for j:=1 to numorders loop! W7 E( \4 G# t, _
                       
  |& R, e0 _% h0 ^8 p( N                        nstep:=orders[2,j]+1;5 e/ W/ A1 M/ {8 {+ q; e
                        if nstep<=orders[3,j] then
7 A3 F$ o3 T2 o; y6 Z: C                                selectab.writerow(1,k,j orders[4,j],orders[5,j],orders[1,j][1,nstep];
+ P" H( |, w! x' P                                k:=k+1;$ N0 l3 D! ^, R1 T2 F1 U
                                        & w5 j% b  [; h2 M& Z5 Z
                        end;/ j; o0 M1 Z; _/ p0 A& ?7 p/ `  W
                next;/ y0 h" t8 B$ _4 g
                mincomptime:=selecttab.min({3,1}..{3,*});
# z3 v0 R0 p/ F* [               
/ w& M* A; T. ^; t. V( w2 ^% Q                from j:=1 until j>selectab.ydim loop( D2 C) b5 {& g- ~7 A% ^+ {+ f
                       
0 M9 W' Y  d6 _* r3 t                        if selectab[2,j]<mincomptime then5 A9 p5 P7 M* W: c8 ?9 u7 u& P( Y
                                j:=j+1;
4 C) Q$ U! ~2 M0 N9 ^9 O$ i. Y  [                        else
% \9 u# x8 q  _7 x: |* z                                selecttab.cutrow(j);
# ?9 E* S& j" b8 m3 ]) b                        end;9 M3 g+ h) ^$ X- `& Q: P
                end;5 F: [4 v- Q! z; c, m3 c
               
* s- F1 o3 O9 k  t' Y+ e6 p                j:=selectionrule(selecttab);
$ J; p: V& J( y1 Z" }3 ]7 W                $ y6 r  O% U* Y3 I9 V' U. ?( [7 y
                nstep;+orders[2.j]+1;
0 f2 ^, ~8 ]4 p& C                orders[2,j]:=nstep;
  I9 Q7 [* l# J1 {                m:=orders[1,j][1,nstep];
+ V, \. }" q6 y0 G( o                c:=orders[5,j]" p  X1 H9 q  d/ ^
                occres[1,m]:=c;. V% B/ h* ?) |9 }) {; o
                  z% Q0 x7 J( r& L
                --jieguo:start,end,res,job,step4 p. l/ H: V( Z6 v' \% _' H* M* v
                scheduledorders.writerow(1,scheduledorders,orders[4,j],c,m,j,nstep);- @1 y; I3 s/ N6 p1 m* p
                for k:=1 to numorders loop, E0 G5 f  H9 L1 M
                        nstep:=orders[2,k]+1;5 c$ e& \9 u- o/ Q
                        % B- G# r, k5 N! N4 h1 B9 h. n
                        if nstep<=orders[3,k] and orders[1,k][1,nstep]=m/ I$ W( ]. A' {
                           --3 k7 ]- V# X% l; J% U6 a& C
                        then$ e" b7 X1 X0 w/ t5 U
                                orders[4,k]:=max(c,orders[4,k]);
) g- T8 c  S( t% g8 u1 w                                --
. B/ P/ s/ ]8 [5 T, i                                orders[5,k]:=orders[4,k]+orders[1,k][s,nstep];
- Z0 n. ]- q, _, |8 v# ?7 V; s                                --
2 d  A- s5 H/ M& A7 m4 _                        end;; u0 M8 `, @8 e& E" }$ V2 e
                next;
7 |) q7 i8 [8 j( Z$ C- h  b1 G                nstep:=orders[2,j]+1:1 L1 r6 C( H" t6 b) Y
                if nstep<=orders[3,j]$ R2 c  M& a, A* ?- `0 v
                  
8 C2 m0 A) M3 q                then
! y. [# @" _9 [7 F; _                        orders[4,j]:=max(c,occres[1,orders[1,j][1,nstep]]);
* x9 `* h8 G! |2 I                        orders[5,j]:=orders[4,j]+orders[1,j][2,nstep];
, E& v# C0 k; L9 \* s                end;
; B( v9 c4 l# P% R* y7 B1 H        next;% Z+ O  m8 u/ A/ n/ J5 |
        " W  z7 O8 |0 X0 T$ f
        print"ready.duration of the schedule:",scheduledorders.max({2,1}..{2,*});, e! b! s% _4 U+ v) L8 [1 P" D- r( V
        mygantt;, Y2 [; y  S' C
        ens;
9 T6 K8 N# z9 [8 k: D1 [3 `            
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-2-19 07:03 , Processed in 0.013918 second(s), 17 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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