设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3871|回复: 0

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

[复制链接]
发表于 2014-12-17 14:24:26 | 显示全部楼层 |阅读模式
本帖最后由 soso001 于 2014-12-17 14:53 编辑
" i' L9 m3 t9 n' D& @# e* Z% y. G
3 n, O: B5 ^/ O. H7 A4 c. D不好意思,打错了个字母,呵呵呵!
+ k8 f4 \; r; m6 \$ U( H大家好,本人em-plant新人,在看《生产系统仿真》第六章时,按书上的例子,写了段method,和书上是一样的,但总是提示
' R4 H! a( m  x“行19中错误,循环计数器必须为整数类型的局部变量”,但我的全局变量是 integer 类型啊,不知道怎么回事,求帮助!
( }& {3 F" `3 F) W7 L5 S) D* lis
) v1 v1 Q7 o0 k; H2 l* g& b        j,k,nstep,c, scheduleteps,mincomptime:integer;
' B7 q5 S/ o- W( D        M:string;
  K& W! ]7 q  I+ `, }, d        selecTab:table[integer,integer,integer,string];% I( \! u" T! U5 }: f
do! N5 U6 l9 x0 X
        initorders;
( {# ?* @6 h% b5 T0 t% ]2 ^       
  J; V5 s  l" `" c* a4 A. A        scheduledorders.delete;
: f( T( d: C- P  r- W; f; ^# Y) T        seletTab.create;
+ m$ u% D" w3 R- |1 c; |        ( h+ f# g) T7 j" a: f  o; z
        orders.initialize({2,1}..{2,*},0);6 s# Y$ m. _& Y& \: K+ m
        orders.initialize({4,1}..{4,*},0);
8 F6 i* X- Z/ m        for j:=1 to numorders loop
) E) d7 G' x( w$ A                orders[5,j]:=orders[1,j][2,1];
! B& z/ Q* e3 q        next;
( i; w8 Z. |/ V" v        occres.initialize({1,1}..{1,*},0);, @9 M8 w% d0 i$ m& p7 ~
       
! ^% I, r$ q' D: C/ A0 M- |' b        --XUNHUAN
5 ^! v2 {* J# m        for scheduledsteps:=1 to numsteps loop --
" T8 h9 I4 a' x( A                selectab.delete;1 i( B# ?3 ]$ R6 B6 V
                k:=1;
1 v* R6 L$ Z4 ]. s6 J                for j:=1 to numorders loop" u. G; c+ }/ l# }
                        / L5 H  |# Y* q. @
                        nstep:=orders[2,j]+1;; O& Z) ?0 S5 ~( Q3 Z
                        if nstep<=orders[3,j] then6 N6 ~( }$ L: {& e7 q
                                selectab.writerow(1,k,j orders[4,j],orders[5,j],orders[1,j][1,nstep];
+ G, U. m$ S5 u1 G! _& ?' k                                k:=k+1;5 d/ B% k" C) h
                                       
: Q. X  O: ^  ~- [) q! ?5 V( `                        end;
! F7 ]7 k* |: y3 p8 x                next;
+ _1 h. W( ]0 t8 I8 }                mincomptime:=selecttab.min({3,1}..{3,*});5 ?6 [: `) d% ~* B5 x+ K. a5 t5 b; k
               
; r* |; Y& R5 t                from j:=1 until j>selectab.ydim loop
& f" z+ ^6 `3 p% W6 C5 f                       
6 z6 U$ v* r, k$ w; v0 ~% b                        if selectab[2,j]<mincomptime then9 |3 e' {4 }9 ?) p: [
                                j:=j+1;, z/ a6 a4 f! c! a1 i& K4 |
                        else
0 _: H; S& R& E% M$ k# S                                selecttab.cutrow(j);
5 g6 z- t# u& Q! E  a, }2 k! w                        end;( X, s  n1 }6 Q( O
                end;
" a! G& c% E: R+ n: P               
7 K8 C( j' u+ f' z                j:=selectionrule(selecttab);
) p2 R% w: B0 C# }3 E. Z4 c  W& ~% |' P                / @1 n  {& O) B/ C/ b
                nstep;+orders[2.j]+1;
8 W; b/ T$ ~+ D                orders[2,j]:=nstep;: l/ [& g: W& w$ F) ?1 z4 {+ N
                m:=orders[1,j][1,nstep];+ Y$ R. Y% P# w- j/ E7 {0 ]8 F' e
                c:=orders[5,j]# a& d" D+ |. i- e" w) p
                occres[1,m]:=c;: k6 L6 i$ T- W! l
                4 I8 S0 M& v9 n6 ?' q
                --jieguo:start,end,res,job,step" o9 E, T! s) x+ B9 t
                scheduledorders.writerow(1,scheduledorders,orders[4,j],c,m,j,nstep);
$ e5 t7 _3 ^7 G$ o( A9 F8 U0 [                for k:=1 to numorders loop* C$ o4 R! v' A7 Y# i
                        nstep:=orders[2,k]+1;
& ]# G1 w+ i' ^3 r3 b6 c) O                       
3 x' E3 X6 T6 |                        if nstep<=orders[3,k] and orders[1,k][1,nstep]=m7 k1 n, |! L6 h; K% Y  A& a
                           --4 K! }! }, @2 b5 g5 L
                        then6 j: ~  w/ [" g% u- n
                                orders[4,k]:=max(c,orders[4,k]);
. ?5 _1 y* M7 @& H, A; T1 J                                --
$ b/ c* n9 A) {- ^                                orders[5,k]:=orders[4,k]+orders[1,k][s,nstep];7 x; F5 I- o7 a+ }2 h
                                --
" V! O" J: @& X! f+ O% m" t                        end;
; s4 t: @% w5 J4 `                next;
6 s& S! e5 r# V9 b  i2 K$ n                nstep:=orders[2,j]+1:
+ g: t% w% v2 t; q                if nstep<=orders[3,j]
! Z6 e+ p1 ?8 ~9 j                  
- X+ C* Z) D) R$ o                then
" X" ~6 E" ]4 j0 {9 {                        orders[4,j]:=max(c,occres[1,orders[1,j][1,nstep]]);; `/ j6 L% o" b; P0 i# U
                        orders[5,j]:=orders[4,j]+orders[1,j][2,nstep];7 B; @7 o3 v6 w& P* {
                end;
5 ]4 K7 K" [7 v* ]" r9 s8 Q# ~        next;
- c* \' E4 e( s       
) Q7 R  x; ]& h6 _- k& R4 b  i        print"ready.duration of the schedule:",scheduledorders.max({2,1}..{2,*});
, d9 {# K; D1 Y! G7 b        mygantt;
6 l9 K% b& Z( T        ens;
# S8 `5 Q. u  C! n            
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-6 19:28 , Processed in 0.017884 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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