设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3292|回复: 0

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

[复制链接]
发表于 2014-12-17 14:24:26 | 显示全部楼层 |阅读模式
本帖最后由 soso001 于 2014-12-17 14:53 编辑
, U9 k" ^; L4 J8 Y
2 m" U  Z/ e- \, U! x, @不好意思,打错了个字母,呵呵呵!  {0 U" P2 ?+ y$ \- F9 q9 q( c
大家好,本人em-plant新人,在看《生产系统仿真》第六章时,按书上的例子,写了段method,和书上是一样的,但总是提示
0 a7 p* _/ y8 ], ]“行19中错误,循环计数器必须为整数类型的局部变量”,但我的全局变量是 integer 类型啊,不知道怎么回事,求帮助!  W/ f2 E7 h# s7 O! T8 `- \
is" t# f1 j  v% g3 c# e% r& [
        j,k,nstep,c, scheduleteps,mincomptime:integer;
6 [1 {9 L: @4 }) I2 I7 s$ T        M:string;
, m1 s; [: O0 _0 A; r        selecTab:table[integer,integer,integer,string];
1 H7 j& R: W# O% J5 qdo
  p) P- ^% O0 L2 ?. J$ I        initorders;
! i1 X+ Y/ E. n1 E1 o       
1 i* w3 D6 a# A1 C; B7 f# ^        scheduledorders.delete;
) N% ~% Y' [- a        seletTab.create;4 b( ]* d2 W- v; C7 }3 |4 X* z2 K
          K7 q5 \+ R, l* D( k% `' D, y' T
        orders.initialize({2,1}..{2,*},0);' f9 z) G3 L5 L/ K1 i  i& X* s
        orders.initialize({4,1}..{4,*},0);% I9 T8 M0 w) J% K' c) k8 ?9 A
        for j:=1 to numorders loop' y7 s* m) E$ j& G, W2 f: P
                orders[5,j]:=orders[1,j][2,1];
2 n) u$ ~% ?1 i+ ^9 u  T! L        next;8 R0 q; a2 ?& _+ w- T4 |
        occres.initialize({1,1}..{1,*},0);% x4 ~, Y9 i9 [5 K( x$ k7 o
        1 S( r0 o/ T+ {0 u; q0 D
        --XUNHUAN. ~! H$ O8 _- e5 \$ D; e5 i
        for scheduledsteps:=1 to numsteps loop --
5 r; ]) r" Z# J# w! I                selectab.delete;
& S8 O/ d- K, [0 V; n- n                k:=1;2 q, C- j0 ]& w) U
                for j:=1 to numorders loop' l1 d2 h9 W- T3 p( B1 Z: _8 _9 F8 A
                        5 Z9 v* c! U4 o
                        nstep:=orders[2,j]+1;
( F5 ?% c$ @! q* j: E7 X6 _7 ^                        if nstep<=orders[3,j] then! c3 `3 ~- k3 ?9 g
                                selectab.writerow(1,k,j orders[4,j],orders[5,j],orders[1,j][1,nstep];
! K2 \. d. ~( n4 y- S/ i0 r                                k:=k+1;' M; _2 @- i9 ~" j# t& X9 R: Y  o- @
                                       
% H. X& }1 X, p' t7 t                        end;$ S% i7 I) g; h( x) _; \
                next;
8 u0 P3 i0 j7 n: y+ c0 p& Y                mincomptime:=selecttab.min({3,1}..{3,*});
9 A% U& Q7 D9 M8 Q               
0 M! K3 V; A7 l9 r) D: m5 \                from j:=1 until j>selectab.ydim loop; ^5 I) X7 y1 F  I: L' m; u3 m) ?
                        7 H7 A7 s( S6 r0 D
                        if selectab[2,j]<mincomptime then8 A7 m" D! \- E+ u4 o/ _& O2 v3 O; n
                                j:=j+1;; S9 ^* k) W, o0 V
                        else
) Q1 ~- h5 n, E9 Q" A, T                                selecttab.cutrow(j);
  e+ e3 U) k& g" s7 _2 W- I                        end;
  C( o8 j9 G7 ?. B5 Y                end;
- t! r( U& i4 p                6 s  @) b5 X) Y
                j:=selectionrule(selecttab);$ Y: f' d; i/ S3 h- V
               
9 ^! q7 |! j- T! z# H                nstep;+orders[2.j]+1;2 z& I. @' [5 }2 z
                orders[2,j]:=nstep;
9 U/ ?1 d: W$ U2 z                m:=orders[1,j][1,nstep];) N+ ?/ W, _$ S
                c:=orders[5,j]
% X7 |! H# ~2 C                occres[1,m]:=c;
. y: X5 w2 A" \! t, x               
$ F& |, N5 t( E0 m5 f                --jieguo:start,end,res,job,step
2 |+ j# Q2 O6 Z, D0 X* F; u                scheduledorders.writerow(1,scheduledorders,orders[4,j],c,m,j,nstep);3 m1 M/ U* B  m' F/ e
                for k:=1 to numorders loop- p5 m  [/ ?/ R! K- E1 q
                        nstep:=orders[2,k]+1;
( x5 v9 B' d# y: h                        & H4 R1 K; K$ k3 B( H  E$ ]# e
                        if nstep<=orders[3,k] and orders[1,k][1,nstep]=m
( |. z5 R) a' o9 `- W/ }                           --
9 r- c/ U$ G/ S6 w0 C4 {" q                        then
$ u  R: N6 f3 H8 b; h3 \" N' d- l2 p                                orders[4,k]:=max(c,orders[4,k]);
  B& A2 `" f& n9 P* Z' q                                --
2 @% x% Q! m; ]+ L                                orders[5,k]:=orders[4,k]+orders[1,k][s,nstep];+ R* _  X- Q5 E2 i: @
                                --9 E! u1 M+ Q. l  O$ Z
                        end;
8 m' H( w; T8 M                next;# Y# I, y5 q9 r  j* x
                nstep:=orders[2,j]+1:0 x/ A2 s0 b+ y/ g# `
                if nstep<=orders[3,j]
! Z0 t* D/ c- }7 p, I: v7 n% R                   " x  z( ^1 ]4 M9 e# G: \: V. s
                then! G2 G- Y& C1 C% y9 S  J
                        orders[4,j]:=max(c,occres[1,orders[1,j][1,nstep]]);
) M9 q7 I3 _2 O8 v  I                        orders[5,j]:=orders[4,j]+orders[1,j][2,nstep];
& }/ f( j+ I" x                end;
$ o- E" Z% _1 q/ y3 N        next;* z8 y4 O0 T5 F1 _( s. q
       
2 ^2 X8 a" [9 i- T: ^        print"ready.duration of the schedule:",scheduledorders.max({2,1}..{2,*});
8 J  N6 x9 a& _  I% `# t        mygantt;3 c. j& ]: \/ h7 ]) S! @: l
        ens;
0 P; t2 v4 B, S5 R6 M9 c+ @            
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-9-14 09:34 , Processed in 0.014914 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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