设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2110|回复: 0

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

[复制链接]
发表于 2014-12-17 14:24:26 | 显示全部楼层 |阅读模式
本帖最后由 soso001 于 2014-12-17 14:53 编辑 , T* K" J' t: h% i4 B+ k: b) r
4 V- L9 \" ]% U# r
不好意思,打错了个字母,呵呵呵!
: q( [& P5 b4 b9 v  [" A9 w大家好,本人em-plant新人,在看《生产系统仿真》第六章时,按书上的例子,写了段method,和书上是一样的,但总是提示6 S' H% j7 K( m- Z" g  ~5 R! Z
“行19中错误,循环计数器必须为整数类型的局部变量”,但我的全局变量是 integer 类型啊,不知道怎么回事,求帮助!
$ {- k9 R7 B' B" \is
; o) I3 s+ {& K8 K1 w3 Z5 Z( ?        j,k,nstep,c, scheduleteps,mincomptime:integer;
2 g# S+ C2 O2 ~6 w) Y9 S        M:string;1 D# ]) g: [4 u
        selecTab:table[integer,integer,integer,string];
7 G+ W0 \. O+ ?do
# P5 E9 j) B4 g1 D5 V        initorders;
' Q: b% t5 i% E3 i' G- v$ ~2 W        + O+ ~, }) H5 m" d& w7 K
        scheduledorders.delete;3 \8 g* k+ H9 f: ~. J& ?3 \
        seletTab.create;, I: W; ?1 M) v3 K+ |* u
       
& M1 e' k+ ]. B  i        orders.initialize({2,1}..{2,*},0);
3 N" ^3 N, X- A0 ^; ?& d  M- p        orders.initialize({4,1}..{4,*},0);
3 ?5 p0 [5 ]3 {& h9 t3 o( r        for j:=1 to numorders loop
" I9 G) n% T6 ^. [2 v, W' H4 M  o4 C                orders[5,j]:=orders[1,j][2,1];+ i' ~7 P6 I, q. b
        next;
" W* M' ?" z9 u- d7 h* |, o        occres.initialize({1,1}..{1,*},0);
6 ~/ ?2 j# U4 d& S6 X# }       
; l) M; v9 d  R" E$ Q        --XUNHUAN
  d; ~, B3 J# s" Y, z. y, r# d  M        for scheduledsteps:=1 to numsteps loop --  J  B3 \9 T4 ~+ s) z3 z0 F
                selectab.delete;
) a% V" j' e" p0 Q' [; I* p                k:=1;% d, [4 K* t2 A5 r* k
                for j:=1 to numorders loop% O* p/ N3 c) M) s5 x
                        : H" p1 j/ P$ c8 H- h2 T
                        nstep:=orders[2,j]+1;
& h# {# @6 C4 c) z                        if nstep<=orders[3,j] then
, ^; S* f8 Y  i) W                                selectab.writerow(1,k,j orders[4,j],orders[5,j],orders[1,j][1,nstep];
& W, g9 |  Q7 h                                k:=k+1;3 o3 F" M9 F3 _0 D
                                        $ y+ v2 b5 h8 J) F5 U! F
                        end;. l7 A) x& Q* |! Y( ^7 ~
                next;
9 \( M5 O8 N. m+ e                mincomptime:=selecttab.min({3,1}..{3,*});
, I" }$ g3 L2 j" U0 R* T                / q6 {* D: u. L3 u2 B! u
                from j:=1 until j>selectab.ydim loop
4 ~0 {5 ^# ^1 i( I7 K                        / _6 p" @, k( g, `
                        if selectab[2,j]<mincomptime then# @" f+ L6 K, J  q" U0 H( P
                                j:=j+1;' d& |5 o. w& [2 @+ S
                        else
. Q8 O" y0 B3 q( v: {+ `: i7 N                                selecttab.cutrow(j);
% ^0 \0 L+ Y5 c8 o5 I                        end;
9 Q' T. y( Y. L7 z$ b1 e5 }                end;1 P! R0 g0 \( X4 }% J0 T6 }' O5 Z
                " ^; t3 i0 m) \. R9 z# p8 T
                j:=selectionrule(selecttab);
% @2 n& d: W6 ?* h( e* s               
3 Z" N5 [8 d/ s4 ~  D                nstep;+orders[2.j]+1;5 x9 V- i7 g9 T+ F& X% L8 G' Q
                orders[2,j]:=nstep;
* h- U$ c' r: s" F                m:=orders[1,j][1,nstep];
7 r, O/ t- S, [: g* T                c:=orders[5,j]
5 H2 {% p! j/ S/ E                occres[1,m]:=c;
4 ~/ L" s0 `) F  c                5 r' I6 {/ g* J- v5 d& }( Q
                --jieguo:start,end,res,job,step$ c( D5 e) b- g1 L* j0 o# {# @" F, a
                scheduledorders.writerow(1,scheduledorders,orders[4,j],c,m,j,nstep);
" D, e3 [' @) m: H7 D% D                for k:=1 to numorders loop
# I7 [3 A% C8 r# L1 f                        nstep:=orders[2,k]+1;
  a0 o# L3 |" F  f: f- G                        6 f) E, G* n, ~5 M& ]+ W9 F
                        if nstep<=orders[3,k] and orders[1,k][1,nstep]=m
% L) F  \) E" F3 P* D' m                           --. E9 m" L- z& w( `0 I- C
                        then
' |2 H3 r6 v1 t                                orders[4,k]:=max(c,orders[4,k]);
6 [8 b4 q: U" I; c1 c" v                                --" M2 }" b" S, c& ]; g% A- p9 }
                                orders[5,k]:=orders[4,k]+orders[1,k][s,nstep];6 J$ n/ A1 f9 ?3 T& g
                                --3 y  M7 E5 V5 J$ q) }) n0 j& S
                        end;- w3 O+ @9 h4 A0 Q
                next;4 X. f; c# ~. c, y! ]' d
                nstep:=orders[2,j]+1:
$ z; y, G4 ~2 U  b' R7 Y                if nstep<=orders[3,j]
7 l+ v. ~- j& e                  
3 a$ t- ~, Z4 f* d9 X5 s                then3 I# p) `7 @' n' @
                        orders[4,j]:=max(c,occres[1,orders[1,j][1,nstep]]);
3 ]! I. a' W; B5 [9 F8 R# a4 g                        orders[5,j]:=orders[4,j]+orders[1,j][2,nstep];
. ^9 O0 p2 F3 N8 i                end;
! n3 {5 l9 _9 ?        next;
3 Q* l+ u- B: o       
# M& ]. Q* Q9 B/ C( c( A        print"ready.duration of the schedule:",scheduledorders.max({2,1}..{2,*});
$ t* w+ O( g$ {1 X* A! ?        mygantt;# L" ~7 @) ^# P- J! u9 X6 L
        ens;( u' e9 E  z& C3 @( E/ |
            
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-4 17:59 , Processed in 0.012137 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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