设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3291|回复: 0

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

[复制链接]
发表于 2014-12-17 14:24:26 | 显示全部楼层 |阅读模式
本帖最后由 soso001 于 2014-12-17 14:53 编辑 ) B: T; S8 s5 [* x, k# ^
0 C1 u4 T1 i$ {6 [7 Z, x
不好意思,打错了个字母,呵呵呵!
, ~  z- @! j& J1 w" k0 o大家好,本人em-plant新人,在看《生产系统仿真》第六章时,按书上的例子,写了段method,和书上是一样的,但总是提示
9 p; ~9 |, B. y# l. x“行19中错误,循环计数器必须为整数类型的局部变量”,但我的全局变量是 integer 类型啊,不知道怎么回事,求帮助!
8 d- ?. D1 j, ~( Z9 t8 _: z+ q* qis0 K0 g! l( B" u  {" m; L1 [# @1 ?# J
        j,k,nstep,c, scheduleteps,mincomptime:integer;
' \0 V. I3 K  ~        M:string;
% |5 B, w' n/ m& t$ G0 z& q        selecTab:table[integer,integer,integer,string];
* M6 [8 s/ t" Q! _6 j% V- \do- O5 q' W0 k3 q
        initorders;
; t& Y7 j- _0 t+ @  U       
) \( B. N# Y* Q        scheduledorders.delete;
" A% k* R/ V, j5 Z; s        seletTab.create;
3 f( r% I& r, X- m$ u  K) X' j       
8 {4 [4 L9 P2 A; h& S        orders.initialize({2,1}..{2,*},0);
  B" X6 F+ r4 L: t! e4 @        orders.initialize({4,1}..{4,*},0);
1 g8 ~& v, H6 Z8 F. b! |3 ?        for j:=1 to numorders loop
1 I+ Z/ X+ w' O* b. H; V                orders[5,j]:=orders[1,j][2,1];. d5 g* s: e8 X7 T* A3 U
        next;
" q$ N/ t* o7 o3 Y. k        occres.initialize({1,1}..{1,*},0);
/ u+ s3 M9 H1 t( B       
8 R' X0 Q* @9 G0 c2 B. D        --XUNHUAN- ~3 ~' p" {' l5 ~* S2 y
        for scheduledsteps:=1 to numsteps loop --
& H' N1 ]' m) i' P/ {* X                selectab.delete;6 A6 ]4 w3 \* m( r/ h
                k:=1;$ j" }" P. r1 V" [) G
                for j:=1 to numorders loop
2 M; L! e* v1 U7 r/ m( u) [                       
; X( _5 P: V+ H$ {. g/ R                        nstep:=orders[2,j]+1;3 T  s$ {2 q. Y; y6 B& q
                        if nstep<=orders[3,j] then7 |" e. k8 s6 C9 c' s6 @/ c9 D
                                selectab.writerow(1,k,j orders[4,j],orders[5,j],orders[1,j][1,nstep];
  q$ `5 [, X. P: V                                k:=k+1;
& O! u  l/ L/ T' H, ~3 c- D  K                                        + J; b0 W% U3 U6 [) u9 V: H
                        end;
( z, _! Y) F" X" ^+ i" p                next;
3 T7 ]3 l  S& m7 |. G* v                mincomptime:=selecttab.min({3,1}..{3,*});
. ^" @1 i  B5 C4 Q/ F) N9 d8 L               
: s/ {" H9 h2 N- Q8 G) ?                from j:=1 until j>selectab.ydim loop: v0 r' e" Z+ t6 D' a" V
                       
1 ]1 |9 o, U1 M! Y1 a, T8 C8 m                        if selectab[2,j]<mincomptime then0 p9 p$ E2 W* O* D; b
                                j:=j+1;) G8 N" y/ R( l& u1 U
                        else2 d/ N2 {/ N% z6 e2 q. K
                                selecttab.cutrow(j);
2 u3 }5 C- o0 Z5 O                        end;
, X' g0 {) v  h* K                end;! ~( d/ |4 C; w) y1 ~
                  X7 \$ Q' W8 M5 B; V! B% x$ f
                j:=selectionrule(selecttab);" h) S5 }" n8 Q/ ~  J
               
2 U/ M+ T- G, T( S1 V                nstep;+orders[2.j]+1;
$ t: d/ |1 `7 Z% z% l8 E+ n) Y" W( @9 z                orders[2,j]:=nstep;
$ m* I) {  E0 r$ L                m:=orders[1,j][1,nstep];
4 i1 y; c# E2 \5 @2 w                c:=orders[5,j]
, p" O7 M) ?/ P4 @6 {' ?                occres[1,m]:=c;6 E# v$ B, b' p9 w0 D8 ^" z
                # V% s3 |# ~* s3 d8 I, q
                --jieguo:start,end,res,job,step
; `& t. Z, ?: K& l  c2 S                scheduledorders.writerow(1,scheduledorders,orders[4,j],c,m,j,nstep);2 s$ S: J" k( ~+ X
                for k:=1 to numorders loop
" R& [2 I* d0 Q6 {, v0 B                        nstep:=orders[2,k]+1;
2 G% T2 W% s$ Z5 N7 Z6 F                       
. D. z8 E' ?  q                        if nstep<=orders[3,k] and orders[1,k][1,nstep]=m. r/ |, n# `& }3 i; @
                           --
: E. f9 B* L& F5 @9 D% H/ `- X                        then
% u$ w! X. z/ g3 |                                orders[4,k]:=max(c,orders[4,k]);
8 u/ [+ g! u4 n. T" l                                --
  M! ?$ F% L* Y$ c  I& S) v) o% U; Q2 |                                orders[5,k]:=orders[4,k]+orders[1,k][s,nstep];
# G' |9 M( a; @4 `                                --
6 U% q- V4 L$ J2 d! `' V4 K                        end;
6 w+ l; s1 G* V8 e" N4 w                next;. o6 v1 t0 h( k; F/ S( ~$ T3 D& v
                nstep:=orders[2,j]+1:
' U( [( u8 S9 E" X) o  E& Q                if nstep<=orders[3,j]" |9 Y# o8 |( Q3 s
                  
( q, u- n. i8 m. c# T+ G                then
9 ]) T- f/ x; Y, w- d                        orders[4,j]:=max(c,occres[1,orders[1,j][1,nstep]]);
) z# L' L# [7 B( y7 i: r& {3 {                        orders[5,j]:=orders[4,j]+orders[1,j][2,nstep];
; o8 b9 |# W0 s, P                end;, O1 a  a, E8 ]& Y2 H- n* M
        next;
3 q% L& X' U, Y- E        / y6 q2 ~4 y; K4 Z! U9 h) c
        print"ready.duration of the schedule:",scheduledorders.max({2,1}..{2,*});5 N5 q- j5 Y' I7 S6 a8 h" \
        mygantt;
1 M0 y2 y# S+ ~' w6 ]        ens;0 ?% @% p; k  S; `
            
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-9-14 04:45 , Processed in 7.422233 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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