设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3299|回复: 0

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

[复制链接]
发表于 2014-12-17 14:24:26 | 显示全部楼层 |阅读模式
本帖最后由 soso001 于 2014-12-17 14:53 编辑
8 T- y7 F5 _7 p% x8 ]; y9 Q3 y' U2 u8 j2 G
不好意思,打错了个字母,呵呵呵!
/ c" q" K$ m. W* T8 ^2 W大家好,本人em-plant新人,在看《生产系统仿真》第六章时,按书上的例子,写了段method,和书上是一样的,但总是提示
+ q  Y* f0 ?0 @“行19中错误,循环计数器必须为整数类型的局部变量”,但我的全局变量是 integer 类型啊,不知道怎么回事,求帮助!/ }8 ~6 H# n( s- K* B" W3 {* ~& W3 d
is" z- A6 s3 }' M- z, _+ ]6 o
        j,k,nstep,c, scheduleteps,mincomptime:integer;; y; Q1 @5 a- v/ ^0 C% p
        M:string;; k1 u$ A: Q) U- C5 V
        selecTab:table[integer,integer,integer,string];
5 A! @" A( S# U# {6 p: _/ b  Pdo; ?5 l3 _! ]$ A# ~$ z- x0 ~. A
        initorders;
4 H! S: {! C" [" c0 j       
3 L5 C4 i- C% E. ~+ \5 f/ m        scheduledorders.delete;; k  O. M  h& Q0 h. X! F
        seletTab.create;
/ k) M* h* h% _4 d       
6 N7 l! n, S2 r. `0 I        orders.initialize({2,1}..{2,*},0);
! R$ @0 f, F4 g. }7 a6 o2 N        orders.initialize({4,1}..{4,*},0);( y1 R* i2 t8 F5 L, H
        for j:=1 to numorders loop
0 R) H+ ~3 m. L. L5 f, Q. F                orders[5,j]:=orders[1,j][2,1];: G/ ]/ v' |, n2 e. B) ^! T1 _
        next;
# B/ S7 N6 R/ Z3 u# y        occres.initialize({1,1}..{1,*},0);
$ O  {, c0 i6 S" ^/ i) S        9 u% q% W4 l9 ~3 V& a
        --XUNHUAN2 o- [' @8 I1 A" d# x# P5 L5 l
        for scheduledsteps:=1 to numsteps loop --! u' n+ @2 O+ X( Q
                selectab.delete;6 o6 m4 K0 M3 Q) w" c
                k:=1;. }7 n7 r7 C' M9 S0 C. F
                for j:=1 to numorders loop7 B% o1 r  J6 r- B+ b& q; T
                        $ ?$ W. B; M8 n2 I" a) A
                        nstep:=orders[2,j]+1;
- ]3 Q# f: g7 S" w; l' n" ^                        if nstep<=orders[3,j] then7 C" q& o; {* _
                                selectab.writerow(1,k,j orders[4,j],orders[5,j],orders[1,j][1,nstep];
! v1 F4 z1 R  f" [9 }! x* {                                k:=k+1;% i8 H. E+ Z8 j: S: p0 o
                                        : q) F0 ?1 ^7 @: e( g
                        end;
, @' n! I2 }  H& y                next;! z4 i% J; G5 c9 v$ I
                mincomptime:=selecttab.min({3,1}..{3,*});
8 x3 j6 I% H) S- B/ t( M' P7 H) [               
' ~6 _5 z; X6 {1 Z2 P                from j:=1 until j>selectab.ydim loop0 H6 ~, `# ]5 G4 P9 K& K' A
                        ' b" @8 N; m: c( j/ e
                        if selectab[2,j]<mincomptime then
  U# X- i, f3 E# e; Q                                j:=j+1;
( g5 P& V3 h% n# Q2 E                        else* @7 b! K4 B) B# z3 Y* P( j3 l
                                selecttab.cutrow(j);
  A: k# f3 {/ ?7 p5 _; |                        end;/ n! V$ S* h& X7 Q7 d$ _% R
                end;
2 s- b& l& T4 z6 x: u& A                9 T) j3 n) _; C, J- T, r- y% s
                j:=selectionrule(selecttab);
6 P4 t# ~6 Z+ A1 N+ Q" W                7 o$ e+ U9 C) P! I
                nstep;+orders[2.j]+1;4 {. G1 P' d# v8 U8 E* k
                orders[2,j]:=nstep;  i) ]* ?/ W1 M0 _; S+ F; Z
                m:=orders[1,j][1,nstep];
7 @. L+ h2 l1 Q8 E& O" y) j                c:=orders[5,j]
9 D- I! N( S7 L' y4 X9 S/ `0 N; y# y                occres[1,m]:=c;% p% P+ s7 C+ s" T4 m, A
               
' d, }6 v. t3 g" r4 D                --jieguo:start,end,res,job,step; W# s" d' t& G0 ]
                scheduledorders.writerow(1,scheduledorders,orders[4,j],c,m,j,nstep);
/ d9 |0 }0 t% m. |( i0 m; \9 L                for k:=1 to numorders loop9 r3 l: M. H: U& Z3 A
                        nstep:=orders[2,k]+1;5 j% {5 e1 y% n- i; H) c
                       
8 @. g: a0 u: P* ~& @- r2 a& T                        if nstep<=orders[3,k] and orders[1,k][1,nstep]=m& R) S# T4 W4 C" _8 f' D
                           --
* z# L6 ]8 o9 x" S                        then
. d6 g2 Y/ H  ^" \" @/ G6 W                                orders[4,k]:=max(c,orders[4,k]);9 P/ p  j: L6 a2 M7 E+ Q# j
                                --, v, F4 m8 t& t2 b
                                orders[5,k]:=orders[4,k]+orders[1,k][s,nstep];
! R# y, V, G! A0 F+ |" \5 h$ t4 [                                --
. Y' \' L# m! ?2 m                        end;
0 i4 N6 V4 r  l, K6 d" c: g5 {                next;
) _" z& {! J  S, E( c1 O8 i: }( q                nstep:=orders[2,j]+1:
( j4 l# V: \" _& j6 F  U, f                if nstep<=orders[3,j]
9 V# N3 l, R9 h6 c+ _, f                   ( I: p( ^9 B' y$ l, H7 o
                then
0 f. N$ D4 D" a' S& }                        orders[4,j]:=max(c,occres[1,orders[1,j][1,nstep]]);; H8 d" F( F  O9 b
                        orders[5,j]:=orders[4,j]+orders[1,j][2,nstep];: p, S* Z  h# _7 a
                end;" J2 }2 s# Z- C$ i
        next;' R) ^$ C& Q6 k& B8 |
       
6 c9 _& j: w- r8 K4 w& f1 p$ e5 g        print"ready.duration of the schedule:",scheduledorders.max({2,1}..{2,*});
' w& M+ t( ~/ k& r+ M5 q        mygantt;, M0 U% `! E: _( B! ^5 C
        ens;4 v: P) J9 t1 V
            
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-9-14 22:23 , Processed in 0.021813 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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