设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4168|回复: 0

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

[复制链接]
发表于 2014-12-17 14:24:26 | 显示全部楼层 |阅读模式
本帖最后由 soso001 于 2014-12-17 14:53 编辑
. ]- Y3 h0 z+ z; N' p: K7 b- _. b% T
不好意思,打错了个字母,呵呵呵!( K/ h9 R4 \' C2 H! i! O3 W7 f- R
大家好,本人em-plant新人,在看《生产系统仿真》第六章时,按书上的例子,写了段method,和书上是一样的,但总是提示, j' Z- ?+ p) e) u* W  `% @
“行19中错误,循环计数器必须为整数类型的局部变量”,但我的全局变量是 integer 类型啊,不知道怎么回事,求帮助!
7 O0 f4 l$ x5 P. Ois
; H) X9 q  W8 r6 U+ d        j,k,nstep,c, scheduleteps,mincomptime:integer;. h; d3 V: v4 g$ A6 I
        M:string;8 w  M* Y& L) c5 a- l
        selecTab:table[integer,integer,integer,string];
' Y8 I- \# h" Q) c* p! ]$ Wdo  M0 q5 `/ F, f& n3 k8 w
        initorders;+ C" B  x' `7 q7 T
        9 n! C/ F) R8 s1 f$ ]7 o5 ?  [
        scheduledorders.delete;1 u: v. u; _$ }7 n4 B, A
        seletTab.create;
% _* i! |/ ~$ {5 f% Y       
/ f( Q+ p% P0 W1 t        orders.initialize({2,1}..{2,*},0);- f1 N- l7 s" f7 N' e4 s
        orders.initialize({4,1}..{4,*},0);8 r/ A% Q* u+ j7 L6 F  N8 B' T0 a; W4 B
        for j:=1 to numorders loop3 M. G- x# J- \$ T9 D( ~/ l
                orders[5,j]:=orders[1,j][2,1];$ W( S, y/ u& }
        next;
: g- s- ?( Z, Q6 \6 c" z' \3 `        occres.initialize({1,1}..{1,*},0);. a+ t) |, v9 H1 [2 \- Y, l
        0 D5 m/ R  H& Y/ C) ]
        --XUNHUAN- |- M2 I2 r( d5 y, ~7 Q
        for scheduledsteps:=1 to numsteps loop --+ W" R4 w- W$ y4 W1 j9 Q
                selectab.delete;
7 {6 N& k6 g6 Y                k:=1;; Q& N* ~. \3 \) F4 y3 j
                for j:=1 to numorders loop9 ^. o0 L- e1 @' r- c. `. ~
                       
8 \7 h: |2 J$ y& X3 g                        nstep:=orders[2,j]+1;3 t3 K7 c! K* k% a* u/ ]! Q) l
                        if nstep<=orders[3,j] then2 i" T1 B2 ~- N, ^' ~9 n$ _- M
                                selectab.writerow(1,k,j orders[4,j],orders[5,j],orders[1,j][1,nstep];
' L3 }- K( q9 k3 `5 J                                k:=k+1;
; }9 R7 I8 T8 \- b6 D+ M" B" X0 J                                       
* Q  u8 Y$ c7 U  Q) i/ X                        end;
6 [( v( a  \* G5 k0 R2 _; }% {$ x                next;
5 r$ w$ _, e8 M7 R                mincomptime:=selecttab.min({3,1}..{3,*});
0 q- e5 H2 n2 t2 |1 ~) Y5 t                - x/ U& R/ e1 u: u1 F2 p- ]. m
                from j:=1 until j>selectab.ydim loop
$ X3 w) y  O# u+ u6 O1 e                       
" r" r9 M) w& ~. d                        if selectab[2,j]<mincomptime then8 c. b7 M' ?' P% w& M# `3 y. }
                                j:=j+1;( d" i/ ?) L8 x4 l7 G9 `/ {$ `
                        else$ S% c4 R: r" b
                                selecttab.cutrow(j);
7 G& q  Y7 Z& B1 }; Q+ |                        end;
2 m8 ~5 V* d" J& e/ Q                end;9 G4 p- h) ?- n7 Q" Q
               
+ N7 g. W/ p; k                j:=selectionrule(selecttab);
- D+ ~) k5 p( o' t               
/ D) ]4 r6 C; b                nstep;+orders[2.j]+1;* ]$ W, Z1 j: {7 D$ G1 o% D7 J$ k5 _
                orders[2,j]:=nstep;2 Q3 S7 D6 E# I  p
                m:=orders[1,j][1,nstep];! W9 e, t$ [7 p
                c:=orders[5,j]; {7 q# ~* [1 G* i4 G0 E, m
                occres[1,m]:=c;
+ q( m! O! Y, j2 Y$ g3 u3 u  }3 D6 O                & n! q, P# z1 J
                --jieguo:start,end,res,job,step
# p( N4 ~* J, i  S2 g                scheduledorders.writerow(1,scheduledorders,orders[4,j],c,m,j,nstep);
: L- O9 J, U3 P' T: z                for k:=1 to numorders loop
* j8 Z' }+ R, d                        nstep:=orders[2,k]+1;: u& r8 `* T9 u
                       
% @! ^) c0 b( p7 B( P/ C                        if nstep<=orders[3,k] and orders[1,k][1,nstep]=m2 q- |% ^" C$ ~* N7 t3 r6 Q
                           --
) E+ h! S- b1 ~0 g; H( ?7 v                        then; w" q0 U7 |. N  h+ \4 f, |
                                orders[4,k]:=max(c,orders[4,k]);3 s( ]/ a4 l$ p
                                --
/ D3 v9 ^  o  K: s" c4 u                                orders[5,k]:=orders[4,k]+orders[1,k][s,nstep];" {; }0 C9 L7 K! |5 y8 p
                                --& D* N* q0 s% W
                        end;
' J) B$ l7 H' I                next;
4 B; H$ S8 Z& u) |$ N6 T                nstep:=orders[2,j]+1:
# O* @: l1 M# i8 `  d' @1 d) h                if nstep<=orders[3,j]
; [3 {8 O4 {1 T8 H8 S                  
( a2 S; e+ e9 U3 z3 l( W7 c                then: L0 }" Y; F2 o: [* T3 N
                        orders[4,j]:=max(c,occres[1,orders[1,j][1,nstep]]);1 k8 P: w1 J& c
                        orders[5,j]:=orders[4,j]+orders[1,j][2,nstep];' v0 C8 F& P( v" {! t  \
                end;
/ E8 X+ s1 c  Z" m  g        next;
0 n: a- r. l1 l( F        - Y6 F$ f! o& F, Y1 ]- O! z
        print"ready.duration of the schedule:",scheduledorders.max({2,1}..{2,*});
' m: Q! S" L9 u; g        mygantt;" n3 W0 c, q$ Q- {8 q9 U+ K/ Q4 Z
        ens;1 @" T% d& h, b$ T  e3 W. h* c  j
            
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-14 16:33 , Processed in 0.015673 second(s), 17 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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