设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2170|回复: 0

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

[复制链接]
发表于 2014-12-17 14:24:26 | 显示全部楼层 |阅读模式
本帖最后由 soso001 于 2014-12-17 14:53 编辑
9 x6 N# o' ?1 o( w" C# [
. P! a0 w5 ?, K8 v4 j2 H不好意思,打错了个字母,呵呵呵!
, M7 `. A! _1 [% i. f. o大家好,本人em-plant新人,在看《生产系统仿真》第六章时,按书上的例子,写了段method,和书上是一样的,但总是提示
; c0 g; _) g& J0 }' u“行19中错误,循环计数器必须为整数类型的局部变量”,但我的全局变量是 integer 类型啊,不知道怎么回事,求帮助!" J3 ~% Y+ G- |1 y  ^
is; q+ L5 P$ x/ w7 n% G
        j,k,nstep,c, scheduleteps,mincomptime:integer;
+ R, B* V9 }0 ^9 Z" K7 v1 P        M:string;3 d/ W; U2 R& E6 K- {
        selecTab:table[integer,integer,integer,string];
2 e' ^, E4 v  P* c  Vdo' A3 m. P, z# q# q
        initorders;: v* d, s+ ~+ Y1 \& B  h% u$ ?
       
0 D6 c3 c# P) U# ~: N8 V% _9 _        scheduledorders.delete;; p. S3 Z) [. a8 E3 M
        seletTab.create;. U7 O) R# Z: I2 H! r6 r: X! c
       
2 ~& m: o. I% M        orders.initialize({2,1}..{2,*},0);
! U- {7 t. \$ r% J  X/ M/ Y2 D        orders.initialize({4,1}..{4,*},0);, \* ~; [! U+ d
        for j:=1 to numorders loop
" d/ F9 J* f; [. A                orders[5,j]:=orders[1,j][2,1];) i4 g( y% l+ |4 }* }
        next;
4 l" P/ c' [9 A/ F. e+ ^* O4 X) i        occres.initialize({1,1}..{1,*},0);7 g* R* r# H% r/ L
        0 ^# K5 M# V4 }3 v1 |$ I6 c
        --XUNHUAN7 l% [( L7 S. ]9 b, ~; M* \0 Z0 U
        for scheduledsteps:=1 to numsteps loop --
! \1 r$ E* h  a: H" y7 y. @0 l( X                selectab.delete;4 u( |- P% V% j
                k:=1;% p! `7 f6 e' m6 x& D( u2 d
                for j:=1 to numorders loop
2 H! g. w/ g# ~# t4 c  w                       
& J# ]  F2 ^) e' A# e4 U                        nstep:=orders[2,j]+1;: \' _! M; f! q/ O. [4 U
                        if nstep<=orders[3,j] then
. n4 ]7 n) x" Z$ j                                selectab.writerow(1,k,j orders[4,j],orders[5,j],orders[1,j][1,nstep];6 r+ p" P0 K! P* j
                                k:=k+1;& V, Z& }. y4 Z* w+ G6 O+ f
                                       
0 g7 E7 _8 y% U- a3 n( x/ {                        end;
0 H4 m# e. s. _$ _% e5 A$ o4 W                next;
2 I/ E' \4 E; v& _+ j                mincomptime:=selecttab.min({3,1}..{3,*});4 v/ d1 H. d  H% K( H8 ^: q. }) I6 h
               
8 u. j3 S# n+ ?/ F$ F/ @                from j:=1 until j>selectab.ydim loop
" m. I5 d! M" b' @' C                        1 N7 Y1 V# ]8 S; I+ _  I" c. W7 l  |' G
                        if selectab[2,j]<mincomptime then$ a" |4 W' {8 c, d* |( k
                                j:=j+1;
; Q: @4 `  E0 A                        else9 h4 d# U/ e0 [/ @. R9 |/ P7 m
                                selecttab.cutrow(j);
  N; d6 K5 \! X; _                        end;
8 A( w0 K4 V/ @% K7 r6 `  w! _                end;
1 K  j. K. L$ a3 `% E               
' Q0 z% ^/ B9 R, Z' K                j:=selectionrule(selecttab);
# s! A1 \( e$ X* u               
: ~  b; a, K6 V$ m! c0 L                nstep;+orders[2.j]+1;
) j& r7 \$ N3 k6 s2 |                orders[2,j]:=nstep;4 k) j) h& }% g, X# j% |4 O# v  e% B
                m:=orders[1,j][1,nstep];% R) g& r; ^1 s# \" U1 w- W
                c:=orders[5,j]) k1 `5 a  M6 W; W5 H8 W
                occres[1,m]:=c;6 p- z" s6 L4 Y% S. q" z
               
" ^  _7 u1 ~  ~  X: x9 p+ z                --jieguo:start,end,res,job,step
; J! o+ O1 o1 Q7 z$ Q  r1 g( r                scheduledorders.writerow(1,scheduledorders,orders[4,j],c,m,j,nstep);% n9 L" y3 j2 l$ M3 n6 K
                for k:=1 to numorders loop% |2 k4 C% Z, S
                        nstep:=orders[2,k]+1;) e2 R/ Y" e6 ?' Y4 y% }: F- j
                       
% @6 w9 N0 `5 b1 k) l                        if nstep<=orders[3,k] and orders[1,k][1,nstep]=m
9 {2 ^1 v( G: [) H$ v* `                           --1 G9 E  I. @/ B0 e, H
                        then
" T$ T, q5 P( [, J' k! l* v                                orders[4,k]:=max(c,orders[4,k]);0 ]6 [! k5 M( P% x' t
                                --
+ ?  z( B$ k0 B, W                                orders[5,k]:=orders[4,k]+orders[1,k][s,nstep];
. k2 k9 x# t, i. f( N' c4 N/ q- `) b                                --2 V3 X9 E! j# Q. s7 P1 ~
                        end;+ m+ h4 G$ c2 z" \0 [" y  L. y
                next;8 ]6 r2 R' a6 e" v$ P  o. z7 M& {
                nstep:=orders[2,j]+1:; T/ E& ]  W$ Y* L
                if nstep<=orders[3,j]$ j* z* ?0 a: O% o8 A
                   4 o1 t; ^0 }6 @
                then
1 r8 Y; k2 H. l# B! C' e# ]0 e) A                        orders[4,j]:=max(c,occres[1,orders[1,j][1,nstep]]);
1 Q6 V8 p9 \- {! H  P4 }! s0 Q                        orders[5,j]:=orders[4,j]+orders[1,j][2,nstep];% O0 C( Z- A& D2 b
                end;
3 V2 ]4 b* W- @  o; r. E        next;
+ q4 k$ \0 f1 d1 b6 u7 g+ n, E       
+ A1 J; _4 M; U$ j# n. a8 @        print"ready.duration of the schedule:",scheduledorders.max({2,1}..{2,*});2 s4 z# R! J  h6 |
        mygantt;. Z. |( R0 }  `* r; v. U! E
        ens;6 h) u7 L3 @$ G/ K, L5 p
            
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-6-16 23:54 , Processed in 0.021898 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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