设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3872|回复: 0

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

[复制链接]
发表于 2014-12-17 14:24:26 | 显示全部楼层 |阅读模式
本帖最后由 soso001 于 2014-12-17 14:53 编辑
- r% Y; E  ?1 f  p" |6 D" \7 c; ^* F4 Y3 @2 }
不好意思,打错了个字母,呵呵呵!
. R: s* n$ F  L$ ]% c6 h1 W大家好,本人em-plant新人,在看《生产系统仿真》第六章时,按书上的例子,写了段method,和书上是一样的,但总是提示3 }- ^9 w* n# ?- [
“行19中错误,循环计数器必须为整数类型的局部变量”,但我的全局变量是 integer 类型啊,不知道怎么回事,求帮助!. P+ G! ]# T$ X$ Q% x, M4 \6 E
is4 x1 v& S) c( W( y
        j,k,nstep,c, scheduleteps,mincomptime:integer;3 o2 @, {8 P# ^5 N& n# y; S
        M:string;& C" k( C8 B6 q
        selecTab:table[integer,integer,integer,string];; U: k1 F% C' h# r; z5 e7 d" N
do
7 `7 c; m1 \# Z$ j        initorders;, p- q3 j# B$ h5 F5 J9 u1 `2 k! f- C0 D! w
       
5 Z- {- q: b  b6 F        scheduledorders.delete;
2 e$ t) A, \; f. C% q' f% J        seletTab.create;
2 _: v7 v' E( E/ Z        9 n* W# n5 g& T& Z" D4 P; x3 a
        orders.initialize({2,1}..{2,*},0);
' \9 l. C- q: H3 J% V        orders.initialize({4,1}..{4,*},0);$ P* s6 t( g/ u( _8 m( i9 g* F
        for j:=1 to numorders loop# i2 B( f8 m  @( L
                orders[5,j]:=orders[1,j][2,1];
6 j6 K0 j' G! f7 B7 d( y        next;
* \3 z! h$ W) A        occres.initialize({1,1}..{1,*},0);" ?, \! z( s1 v5 `6 q% P# p
        2 }0 d( R4 m' g
        --XUNHUAN$ t9 e/ ~; y, \- l  v
        for scheduledsteps:=1 to numsteps loop --0 T) ~6 E( c: ]+ C) p
                selectab.delete;
2 S: ]/ q+ N2 n$ U$ P: q4 W                k:=1;
& i, I1 z7 X" d' _( [' n) J                for j:=1 to numorders loop$ X# e: A0 Q- ^
                        4 N* [, p: H& r( X
                        nstep:=orders[2,j]+1;
  @  q1 T6 C3 c; P( F; h7 A                        if nstep<=orders[3,j] then
! c) E6 z6 G! q- T  T4 V9 P1 w4 j                                selectab.writerow(1,k,j orders[4,j],orders[5,j],orders[1,j][1,nstep];& b1 ~1 l( t$ `9 n9 o  a
                                k:=k+1;
1 q2 n/ L0 a  h  |                                       
- _5 U4 e5 a) {$ B  I% W7 M                        end;
+ W2 J  V  l& \" v                next;
9 M+ ~, c' h; `                mincomptime:=selecttab.min({3,1}..{3,*});
, D3 B3 @% T; {# ^# ?! B  J4 Q               
# S# D: b( c, P* @9 P% w$ k' X                from j:=1 until j>selectab.ydim loop
! s6 H: y+ Z0 _# ^                        9 p3 P2 u" n+ f
                        if selectab[2,j]<mincomptime then& T- H5 }/ l, h/ X$ e- r/ A6 i
                                j:=j+1;3 b7 z! p1 n, Y5 w1 T+ G+ K# [
                        else
/ c$ u' P( T$ R6 Y" |& y: c                                selecttab.cutrow(j);
+ f7 h: q: J) S) O2 h- s* t                        end;% w7 j" B; J' f$ F1 w
                end;
# i; f# I/ X' O+ i( D! Z6 A" @, I7 i                1 ^+ q+ I# m4 l; L, n% D
                j:=selectionrule(selecttab);
; L8 b+ v" O) o% I( c" I               
2 v  f3 d" m. H/ e. A                nstep;+orders[2.j]+1;
1 Z" N+ ^& |/ f- I( b+ _% O, \                orders[2,j]:=nstep;2 Y5 z; ^+ ?9 i2 i# U3 l. q
                m:=orders[1,j][1,nstep];3 u& Y) p4 Q% _* `% F; X4 a. y* [
                c:=orders[5,j]' F7 g2 B  b0 O) h
                occres[1,m]:=c;( ~- Q0 u1 V4 ]3 z6 C5 X: }
               
: H* d2 l1 n& }4 Z                --jieguo:start,end,res,job,step
. W, ]8 Y! z& r# E; V- b                scheduledorders.writerow(1,scheduledorders,orders[4,j],c,m,j,nstep);
! R/ e: V. m+ D. w                for k:=1 to numorders loop6 y0 G9 g. B# s# R' Y& h* p2 B
                        nstep:=orders[2,k]+1;
( W4 N: N/ e; Q& I& B; m6 @8 n                       
9 H- H8 e5 A, A0 P4 n+ u                        if nstep<=orders[3,k] and orders[1,k][1,nstep]=m
, ]# \- c! R# u7 `' K4 {2 ?                           --8 L) T$ l/ j# W
                        then
% F; o" P& X' H& K* [                                orders[4,k]:=max(c,orders[4,k]);
# t  g7 Y7 P! a: ~( \; G                                --
( K! z/ ^" m; r9 z# A3 f6 b                                orders[5,k]:=orders[4,k]+orders[1,k][s,nstep];* v$ x2 y) x6 O' O0 r; x% c
                                --) N% t# G0 k+ X
                        end;
6 u/ I* l6 w3 N. v                next;
* Z! h5 S0 s* N* V8 H+ ]                nstep:=orders[2,j]+1:* |& L# t7 s' |: M% y
                if nstep<=orders[3,j]
& e! k* C- A. @! W                  
/ V2 q! U5 e+ B$ V# |/ N                then) d6 D' f9 ?1 y/ w6 Y
                        orders[4,j]:=max(c,occres[1,orders[1,j][1,nstep]]);
/ {7 W* D4 i& {: x                        orders[5,j]:=orders[4,j]+orders[1,j][2,nstep];
" @! X( a4 P6 q* j8 B5 ~1 I/ Q                end;
( n% F' g4 N. i& s5 H        next;7 x0 X, Z( _" ^! v( n' A! ~
          Z9 M# e- K+ E
        print"ready.duration of the schedule:",scheduledorders.max({2,1}..{2,*});' }6 g! c: [5 ?: B
        mygantt;, f% _( p' k! [
        ens;
7 y8 v+ j" C/ w9 t6 g- b; O            
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-7 03:40 , Processed in 0.019121 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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