设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2943|回复: 0

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

[复制链接]
发表于 2014-12-17 14:24:26 | 显示全部楼层 |阅读模式
本帖最后由 soso001 于 2014-12-17 14:53 编辑
1 M" z! O3 t$ i% s
) ]; g" P' C& H( R3 a& d4 j# S% }不好意思,打错了个字母,呵呵呵!
  K8 O% `# `' j1 y  Q大家好,本人em-plant新人,在看《生产系统仿真》第六章时,按书上的例子,写了段method,和书上是一样的,但总是提示
3 K' @5 i+ X2 `, R9 {% I“行19中错误,循环计数器必须为整数类型的局部变量”,但我的全局变量是 integer 类型啊,不知道怎么回事,求帮助!1 }* G; R* [  n5 _- k
is9 B3 j- [+ h% v4 c' u( G! a+ C
        j,k,nstep,c, scheduleteps,mincomptime:integer;) A6 q  Y4 p- Y# b
        M:string;+ a7 k$ j. i2 F1 ]; w
        selecTab:table[integer,integer,integer,string];
2 a# u! ~3 B- Z( ydo
- s3 f3 R4 t5 y( ]7 J        initorders;
6 M( n% x% {1 ?0 L8 C5 _/ M2 E       
, V5 U5 W$ B8 \/ U" [0 b- d6 d8 j        scheduledorders.delete;% E! _4 g. ], S; ^' W) L5 U( ]# P
        seletTab.create;
" A+ ?- C. V/ a! I6 T/ u       
0 i) X. ^# h5 S/ u        orders.initialize({2,1}..{2,*},0);3 c+ r, K  L* p! C$ j
        orders.initialize({4,1}..{4,*},0);
: ?. ~* d  t0 Y" Q        for j:=1 to numorders loop
7 T3 C6 @# p! j' B. a4 i9 n# m                orders[5,j]:=orders[1,j][2,1];
; s" m/ S* C, J$ a        next;! o1 j% v: I0 D
        occres.initialize({1,1}..{1,*},0);/ ]) i4 q3 O( M
       
% _& ^* |/ E0 f: Z7 J+ e        --XUNHUAN: B9 Z4 l  `# _! N- n
        for scheduledsteps:=1 to numsteps loop --
/ K8 c% C1 V( H7 r                selectab.delete;
( g$ T4 x2 }# L. M                k:=1;. g) D0 M0 x+ ]* m+ ~8 O. P
                for j:=1 to numorders loop/ L% {" h+ A% _: T- S; c6 K' |; ?" @( `( g
                        + t: I+ L4 P  W- S: Q  T$ n! v" |
                        nstep:=orders[2,j]+1;
& R/ c+ I! q. w4 S7 z# D                        if nstep<=orders[3,j] then2 |6 Q& u0 d5 ~( }4 i+ k4 B
                                selectab.writerow(1,k,j orders[4,j],orders[5,j],orders[1,j][1,nstep];
; [1 @- }8 W* D3 i  Q                                k:=k+1;
1 ?/ J" {, w8 h/ x                                       
, I" O& n, c4 E2 g& M# o2 K                        end;
8 f' |9 }! j3 d2 ]8 Q6 d& k1 @                next;# i3 d' F# I! x& _% {
                mincomptime:=selecttab.min({3,1}..{3,*});
$ C& u- _; X) [4 x$ G                ! n. F' z7 y8 Z! v0 S: w
                from j:=1 until j>selectab.ydim loop
9 ^) h+ J1 ]5 z8 {                       
* T+ W1 ~# ^# D3 V7 W& b                        if selectab[2,j]<mincomptime then
: x) _5 W- w# H0 F& k                                j:=j+1;  I6 z$ H$ ]' H8 }" `! Y
                        else$ W$ K2 W) O/ @" Q* x
                                selecttab.cutrow(j);& F/ r2 O: b, I9 ?: G; P
                        end;
8 D& h. s1 y+ C' x& L) r                end;
! P/ H* y8 x. \3 ?! V                ! @2 u: {  r# y. x) j6 @2 R
                j:=selectionrule(selecttab);) f, I9 W4 \  J. w8 Y8 A
                / E8 A: c8 I1 t( a
                nstep;+orders[2.j]+1;9 [! h; ~  S( m4 C
                orders[2,j]:=nstep;! Y0 l0 p5 _$ M) d" w) D! S
                m:=orders[1,j][1,nstep];! [# _4 x+ Z5 i# J  d% b. \5 j2 h  H
                c:=orders[5,j]
  Q1 o1 o) v! D& e' H; @                occres[1,m]:=c;
* Y$ S9 G+ \& B/ U- [- C7 J0 m               
8 I9 u) _( T) Z( G- w" f7 A5 l                --jieguo:start,end,res,job,step
7 i' E9 g* f0 _3 o) L1 O0 g+ F* R                scheduledorders.writerow(1,scheduledorders,orders[4,j],c,m,j,nstep);4 M6 R0 P* P) f) K1 I* P, d
                for k:=1 to numorders loop
, e) L$ E5 P, w" r5 a                        nstep:=orders[2,k]+1;, x$ W* L+ S8 K8 r3 c% ^
                        1 h4 V) ?" R& }6 U
                        if nstep<=orders[3,k] and orders[1,k][1,nstep]=m
' b. X' u% ?' S                           --
8 v( D7 m) }2 n                        then4 V4 L! L% H* d' z& b  e
                                orders[4,k]:=max(c,orders[4,k]);
! N" S; Q/ k% N                                --
0 k9 z- ^3 V. R( W5 O" ~3 a% f) A: d2 E4 Y                                orders[5,k]:=orders[4,k]+orders[1,k][s,nstep];, W5 x6 J- C6 L
                                --! B9 b4 F$ y# L# V% ~' J
                        end;" _; e, ?. y7 Z: X; E/ k! }9 o
                next;' g% X5 t/ P& ?" P$ r$ C% Y/ H
                nstep:=orders[2,j]+1:7 {# i  Y* {& |8 o2 d7 x
                if nstep<=orders[3,j]
9 L/ }) A0 n( b  U; L! `5 L                   4 R7 @7 ^0 N0 r- w. }
                then
9 Y% q7 L: k8 `2 v& t8 T  H                        orders[4,j]:=max(c,occres[1,orders[1,j][1,nstep]]);
! `' W: `! n' j+ B. u                        orders[5,j]:=orders[4,j]+orders[1,j][2,nstep];& ^6 i  ]/ c! o1 g  m# Y
                end;
; R) F+ g9 Z7 h        next;2 \1 E3 |/ ]" j3 C3 F" l, {6 _# t
        , F. P& w5 L8 ]' x) s' I2 t
        print"ready.duration of the schedule:",scheduledorders.max({2,1}..{2,*});
+ z8 |. T$ v) U/ |' I% {        mygantt;$ ?2 e# W; P; \0 r9 G# v' C  C
        ens;  W$ d  B. Z  Y$ e4 F! ^# \0 ?
            
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-3 17:21 , Processed in 0.020317 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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