设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4058|回复: 0

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

[复制链接]
发表于 2014-12-17 14:24:26 | 显示全部楼层 |阅读模式
本帖最后由 soso001 于 2014-12-17 14:53 编辑
$ a3 S2 f+ g5 t$ I) f
! s7 g" I8 G- V7 W- A% T6 O不好意思,打错了个字母,呵呵呵!$ L/ o. f( d: z$ M
大家好,本人em-plant新人,在看《生产系统仿真》第六章时,按书上的例子,写了段method,和书上是一样的,但总是提示
& L6 g' x7 |# A1 A0 B3 W“行19中错误,循环计数器必须为整数类型的局部变量”,但我的全局变量是 integer 类型啊,不知道怎么回事,求帮助!
4 ?  S+ d& _8 r) H6 \is
8 k8 ~) p8 Z5 A: @' C        j,k,nstep,c, scheduleteps,mincomptime:integer;
  l8 ?2 z# a. T: f' ~$ ~- |- W' e; e        M:string;" m1 w" h" s, V1 W7 `
        selecTab:table[integer,integer,integer,string];0 \/ t$ @6 u( _( F9 C
do4 y# }/ h+ W/ D& W0 F$ O; v
        initorders;% Q" y* p5 o( U9 D5 h. K
       
3 f* |: k/ K* ?0 ~4 I9 @+ m        scheduledorders.delete;; _8 u# I6 `! W5 Q2 L* f
        seletTab.create;
+ ?; g  h3 E  Z: L' X; V! F% i, l# R        - O( u+ C* S( |8 G4 B  {
        orders.initialize({2,1}..{2,*},0);2 b( M+ V# X' B- U1 D  ]& }
        orders.initialize({4,1}..{4,*},0);
5 |% B2 H9 _* ]        for j:=1 to numorders loop" g$ E) C( ~2 ]1 Y& l$ U; \
                orders[5,j]:=orders[1,j][2,1];
  H+ Q; O( y" w! a: u        next;
2 W# m( Z/ D9 h4 \        occres.initialize({1,1}..{1,*},0);9 `# L. D" E: w1 w" C6 a
       
# f! }; m5 ~# D7 p3 A, ?        --XUNHUAN/ h! I( ?* @; F' t
        for scheduledsteps:=1 to numsteps loop --
# `* m) T& `! t1 P                selectab.delete;
! ]0 j. |& }. R5 q% i                k:=1;
4 ^; h% q! Y8 f- t                for j:=1 to numorders loop
7 I2 K( ?  C: b3 O& F                          M4 _& e  l! B' r6 }6 e  r
                        nstep:=orders[2,j]+1;. c- `. ^/ @; T, B$ i2 y0 H
                        if nstep<=orders[3,j] then+ B; C" y- {% ~/ h# {
                                selectab.writerow(1,k,j orders[4,j],orders[5,j],orders[1,j][1,nstep];
9 f! }" G3 @, ^+ P                                k:=k+1;+ T( J# ]  u! z! ]6 A9 b
                                        8 C. n2 P+ O5 m; S% K! |7 x3 Y: Q
                        end;
# e$ F, P# A( A. f7 L' P% a1 h) N                next;. C1 H$ t2 \6 a! b
                mincomptime:=selecttab.min({3,1}..{3,*});% d$ ]; z+ k, W1 v0 V
               
: W" E0 }$ A" R% O$ m! A% h                from j:=1 until j>selectab.ydim loop
4 Q* a9 ]) [: ^% h7 u& R( [                        4 c1 h+ t; O: r
                        if selectab[2,j]<mincomptime then( }; u1 v9 K8 [3 f; b0 n! V
                                j:=j+1;
1 A" A0 S5 j& J0 r# G0 M5 @                        else
* K. P( [  o% `& L" M& ]2 g                                selecttab.cutrow(j);- t' ~% H( T' u! X  q
                        end;7 c7 U# {+ r, ^; L6 i4 O8 Y
                end;* s4 P, f3 t' `6 u3 t" h; R
               
9 W7 E6 H& R9 I2 ~$ |                j:=selectionrule(selecttab);/ _( x5 F3 W: T# |0 v* U
               
. I# W3 D. v1 D( e# s                nstep;+orders[2.j]+1;* U/ h: E6 @: j7 m% M( y& {
                orders[2,j]:=nstep;( K' U; C0 a& V7 S4 ]: g) J
                m:=orders[1,j][1,nstep];4 V; ?% T, e4 c+ {5 c! H* T" f0 t# v
                c:=orders[5,j]) Y$ X* g# [& g  d6 _& N2 t- Z
                occres[1,m]:=c;
# B- \1 t  C, h; e                , v* P$ J7 m% w2 i, j  F  l: e. `
                --jieguo:start,end,res,job,step
$ S% ~* `$ t1 b- ^1 v& ^' H                scheduledorders.writerow(1,scheduledorders,orders[4,j],c,m,j,nstep);
, B! I. j3 K9 m# c2 z3 d3 ?                for k:=1 to numorders loop0 N0 V6 A/ Y1 n1 g
                        nstep:=orders[2,k]+1;
9 ~8 v7 H/ S0 I$ G                        % _( M. w" e1 G0 C+ p; W
                        if nstep<=orders[3,k] and orders[1,k][1,nstep]=m
/ Z5 S1 i% X9 _! b2 z4 J                           --# w1 }4 P# s+ q4 z; R4 S4 ]: K. E
                        then3 u  X5 o4 }8 V9 J# O4 v
                                orders[4,k]:=max(c,orders[4,k]);
7 `3 z" w: @) d: i7 `! K4 z                                --; m: |, t# `8 b
                                orders[5,k]:=orders[4,k]+orders[1,k][s,nstep];$ X2 a0 K$ J2 ~7 r5 U0 B
                                --( a8 D4 {5 z. ^- \7 f3 j+ w
                        end;6 M3 O6 E4 \, J: G- t( D) Z
                next;4 L0 G/ ~# D% P  {. _/ \
                nstep:=orders[2,j]+1:  A! i9 f4 T7 u- K
                if nstep<=orders[3,j]
' g& P$ P, h4 H+ {9 o+ |- k5 \/ S                   1 [. ^5 T' h; p+ G
                then
7 B# G7 s! Y- p( G                        orders[4,j]:=max(c,occres[1,orders[1,j][1,nstep]]);
2 `# q1 @2 n* |8 B. Y                        orders[5,j]:=orders[4,j]+orders[1,j][2,nstep];5 u; V1 k1 A0 g( y+ t) {
                end;
$ p2 a7 l+ L: h! v. Y& X        next;
) [8 x2 P3 R' q) `+ j        ! t+ d& B: N+ V* C
        print"ready.duration of the schedule:",scheduledorders.max({2,1}..{2,*});( H; R. _# n. h9 i8 W7 M! A4 V6 u
        mygantt;" F+ ^* z: ?( H1 c2 Y' d
        ens;! |: O! A5 F- A/ w' l6 c4 s4 C
            
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-29 20:08 , Processed in 0.052321 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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