设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3160|回复: 0

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

[复制链接]
发表于 2014-12-17 14:24:26 | 显示全部楼层 |阅读模式
本帖最后由 soso001 于 2014-12-17 14:53 编辑 / a4 W; K+ f$ y5 P7 l( W5 v9 A  Y

/ S0 s  }5 x# i2 U$ @5 K4 c不好意思,打错了个字母,呵呵呵!2 z- D# Q7 v9 t3 t
大家好,本人em-plant新人,在看《生产系统仿真》第六章时,按书上的例子,写了段method,和书上是一样的,但总是提示0 I3 K  u. g+ X! G
“行19中错误,循环计数器必须为整数类型的局部变量”,但我的全局变量是 integer 类型啊,不知道怎么回事,求帮助!+ `  Y: b6 ]! c. m1 ]
is
/ _) H( z, W8 s) Y8 L        j,k,nstep,c, scheduleteps,mincomptime:integer;
; R" _! q, u0 e( D        M:string;
' j' Z; }/ B9 ]( D9 g        selecTab:table[integer,integer,integer,string];# N- p2 J* R8 T, y8 d7 q( k2 a. v
do" t* {1 H1 D: l
        initorders;
* k" W* w# n. M9 b" K3 A       
* X) M- U2 X, h7 e/ e        scheduledorders.delete;
) P  i1 H+ H5 S( N" C! O+ z        seletTab.create;
6 l- n' Q) a2 L9 W3 c$ B  S8 l       
' Y2 o7 v* u2 [        orders.initialize({2,1}..{2,*},0);1 t4 W- s& o2 c* E, d
        orders.initialize({4,1}..{4,*},0);
' c% @$ a  S( o" S3 Y7 F( i* y        for j:=1 to numorders loop
$ e5 g% ]1 |4 x) o                orders[5,j]:=orders[1,j][2,1];
! e& K& r" {8 U  D        next;
7 F$ I* c5 A, X+ \        occres.initialize({1,1}..{1,*},0);* j8 z1 e$ k! X) s. M6 o( A
       
- z0 d' w- n& |4 R& r1 V        --XUNHUAN
( @" U  ^; u8 p3 h2 T* }        for scheduledsteps:=1 to numsteps loop --
5 G& g) a% l$ C2 r. y                selectab.delete;
$ U7 Z6 _& j3 Z. D) `  E) _                k:=1;
  W$ B+ f! o' f, N, A" g8 b                for j:=1 to numorders loop6 |" q. M" ~0 X- u
                       
" U$ h2 t' _9 }2 H' @: X6 J" U                        nstep:=orders[2,j]+1;* g% [. ~- Y) z
                        if nstep<=orders[3,j] then2 h0 o5 ~9 @& E" U+ a
                                selectab.writerow(1,k,j orders[4,j],orders[5,j],orders[1,j][1,nstep];9 Q  n! Y- y, x0 p
                                k:=k+1;* f8 R' ]& M3 d5 I/ O3 ~8 s
                                       
8 z% n2 O* u0 I8 Y4 I                        end;
2 e7 m# Q0 t  n2 l7 i                next;
; M% }$ B) [2 S% N3 _                mincomptime:=selecttab.min({3,1}..{3,*});
4 |& H2 D: c6 ~- _; V4 C                  f, z% V$ \; O0 E- ?& v- O5 r
                from j:=1 until j>selectab.ydim loop. j3 G: s& h, b! V; Q
                        6 F) R8 }4 P8 x' t! V1 o" o
                        if selectab[2,j]<mincomptime then
; j) q3 u/ a( k2 y$ f                                j:=j+1;
# y' y% c! H3 R& M) n                        else8 ~7 N& c; R2 S: q7 d5 F5 b) E
                                selecttab.cutrow(j);
$ O# p: j' j2 m3 _                        end;
- N, _! ~* I2 n$ f) ~                end;
7 l) l, Z$ ?$ I- T4 ^, {% n: w                * _& e1 j1 P9 }2 E! u  R
                j:=selectionrule(selecttab);* j% @) P5 x3 S/ n! Y3 i
                ; K- N: Z6 a) j9 a, V! r4 ]9 x1 N
                nstep;+orders[2.j]+1;
% ^2 h- v. _9 p! ]9 A1 ^$ A; w                orders[2,j]:=nstep;2 N. u' g! o7 y- D1 v& I
                m:=orders[1,j][1,nstep];
6 Z5 t$ u& ]  u" j+ f% h                c:=orders[5,j]( i3 v3 p3 y" \5 `* `" b8 f
                occres[1,m]:=c;- c2 J& I/ X1 D6 N
               
' r$ u6 S9 u" a2 J3 D. m. d7 P# g, M                --jieguo:start,end,res,job,step
9 }6 w6 c/ V8 |6 o' P1 {: }                scheduledorders.writerow(1,scheduledorders,orders[4,j],c,m,j,nstep);
2 g3 F+ I  w) T4 G* S9 ]3 D' }                for k:=1 to numorders loop8 M6 F* U& n5 a+ `
                        nstep:=orders[2,k]+1;
  r; o0 f7 \2 i  u' V                        4 T; F9 \8 P( a0 Y  Q& `1 \4 `
                        if nstep<=orders[3,k] and orders[1,k][1,nstep]=m
5 V, Q5 k' }" N0 u% u, H& Y                           --
5 ]# v3 w+ Q/ b                        then
6 p' j# a# N/ \& K) m1 U                                orders[4,k]:=max(c,orders[4,k]);
7 ^# b  o: ]! C7 _" C3 |                                --  r1 d+ z0 I$ J. P) z
                                orders[5,k]:=orders[4,k]+orders[1,k][s,nstep];
* E! F" X8 m0 S9 ?& K- r                                --$ I2 ?: |6 w( @) u1 C/ z
                        end;: f# w: }; `7 E* ~, V
                next;
8 O3 J9 U' N* u0 a                nstep:=orders[2,j]+1:" I/ ?+ o) `# o
                if nstep<=orders[3,j]
( P/ ~) g+ u  E) }: A3 M9 X, B                  
8 ^+ W  t+ Z/ l( b                then+ h/ [" k: C; v" M
                        orders[4,j]:=max(c,occres[1,orders[1,j][1,nstep]]);$ `& l' {3 M$ ]4 _
                        orders[5,j]:=orders[4,j]+orders[1,j][2,nstep];
# m/ k# u1 g: s' p7 D* r- M                end;
# e* E9 g$ g4 h2 D        next;
7 Y- G' K; K% u/ }/ V       
: M, L$ O) f0 j& \6 H+ h        print"ready.duration of the schedule:",scheduledorders.max({2,1}..{2,*});* M$ e& @2 `! \& k7 J
        mygantt;& C1 J& }! s9 r% L, N4 S
        ens;, \) U" q" o. i' B: I$ S! z
            
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-8-18 17:05 , Processed in 0.016349 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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