设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2915|回复: 0

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

[复制链接]
发表于 2014-12-17 14:24:26 | 显示全部楼层 |阅读模式
本帖最后由 soso001 于 2014-12-17 14:53 编辑 9 g: q: s5 C0 g8 ], M9 K
" r* l  }; s7 f* I" c% |
不好意思,打错了个字母,呵呵呵!
% M% f" b* n+ E. O) D( n大家好,本人em-plant新人,在看《生产系统仿真》第六章时,按书上的例子,写了段method,和书上是一样的,但总是提示1 E7 W3 u9 h: N" l, r; {
“行19中错误,循环计数器必须为整数类型的局部变量”,但我的全局变量是 integer 类型啊,不知道怎么回事,求帮助!  s6 x: x  }2 d! ]* W, a
is
/ Q" k3 Z+ T( V1 f4 x        j,k,nstep,c, scheduleteps,mincomptime:integer;
& [) \6 n# O- L( o0 O# r+ f) D        M:string;
. W% a* ^$ |& t6 C- M; B        selecTab:table[integer,integer,integer,string];
; r; a1 C3 E2 `" s& ^do+ b' H9 O8 [; R, L; X3 O$ @0 j- C6 o
        initorders;
$ W9 [9 d% ~) E8 _. e        . t2 T: x) ^+ M% M! x) G
        scheduledorders.delete;
! s( S8 f+ B1 o2 N        seletTab.create;
5 Q$ A$ M5 {' u8 u( O       
, A' r2 A3 s+ y- b5 O' l4 i% C        orders.initialize({2,1}..{2,*},0);4 C% e9 o4 c& d5 X' G
        orders.initialize({4,1}..{4,*},0);: x* E& W1 p; M% d' U7 Q' ?
        for j:=1 to numorders loop
' r$ U# l, j* c- S" U  j  e                orders[5,j]:=orders[1,j][2,1];6 C5 a3 w; n. k
        next;
0 Q5 }8 z& ^9 j9 P        occres.initialize({1,1}..{1,*},0);* ~7 {" V. c- D% @, K
       
$ A. u+ b9 d% K" j2 _        --XUNHUAN
7 J4 y) G4 i7 a5 D& q# }: C) U4 B        for scheduledsteps:=1 to numsteps loop --
4 l. ?+ l) [4 S                selectab.delete;
* a4 a- J4 w! t1 \                k:=1;
1 O. d% Q2 \5 i! l9 G                for j:=1 to numorders loop8 Q& p% E& {+ t& o% M: {% L
                       
1 C; t1 a: R& s& Q0 a                        nstep:=orders[2,j]+1;
5 J1 u' _7 r7 C, @                        if nstep<=orders[3,j] then- N6 U2 \  P1 w0 P' V8 |7 A- @, v
                                selectab.writerow(1,k,j orders[4,j],orders[5,j],orders[1,j][1,nstep];
4 L3 I7 K& a  {& S) O) A                                k:=k+1;
& H  p- t+ J* n& D6 Q. z% R                                       
2 H6 y) @8 @: y! N1 o                        end;# p6 d7 z) ^( \9 B, E! ?
                next;
7 i0 C1 B0 e2 ~! q/ C* T( P                mincomptime:=selecttab.min({3,1}..{3,*});
( t1 ^* H0 Z! V2 g                3 [4 k) P7 I. a1 f" L% {
                from j:=1 until j>selectab.ydim loop
7 H  |/ J1 u( I; w2 @                       
8 }. a1 N! v$ |) E/ Z" R. t# V                        if selectab[2,j]<mincomptime then
; B. P8 {& k6 t0 x( c+ {2 B                                j:=j+1;7 u  Q. M- P8 ]- ^( Z9 f
                        else4 C$ t1 B. o% Q1 Y9 w* C# G+ o
                                selecttab.cutrow(j);% K5 q' d; S: B! {. K" b/ _
                        end;' Z/ F8 [; r8 H& E* i/ x. R) b
                end;1 A8 }6 d0 c5 _; r$ R' P* l
                & ?6 T& [$ n0 e  j, m/ k
                j:=selectionrule(selecttab);5 R( O* B# v. I* D9 L- l$ g; ]; j
               
$ S/ f8 J5 I6 p1 _                nstep;+orders[2.j]+1;
/ W7 `3 F$ X0 R                orders[2,j]:=nstep;- {  D' Z+ u3 d: p4 e6 c8 X* u
                m:=orders[1,j][1,nstep];7 |9 m) y8 t' h  N; o& i5 q
                c:=orders[5,j]
. B' c7 j( z# a1 K( S. j/ g                occres[1,m]:=c;
& \- }% Z7 v) [               
) d& n% K/ y5 |7 s                --jieguo:start,end,res,job,step
- o& G4 g$ {! u5 A4 j                scheduledorders.writerow(1,scheduledorders,orders[4,j],c,m,j,nstep);  F* d1 u3 D0 O' C
                for k:=1 to numorders loop
# S; ^* w+ |. k0 O6 F7 D5 l                        nstep:=orders[2,k]+1;
5 q4 Z' S$ S# v& J% a0 g& d                        5 H: e) T! X  q8 l
                        if nstep<=orders[3,k] and orders[1,k][1,nstep]=m* L+ N6 a" }: ~2 `& J2 E
                           --
* s2 }0 h$ y! ], j/ J                        then
" N' l7 q/ a. u( H, Q                                orders[4,k]:=max(c,orders[4,k]);. E" P: ]* S; |. l
                                --
0 Z7 G5 u3 Q  [* t                                orders[5,k]:=orders[4,k]+orders[1,k][s,nstep];
1 e9 C; H: s: }3 J  k                                --. E( \: w$ s( }8 h7 X
                        end;+ Z8 |% q2 Z+ O( m
                next;
7 s2 x+ }# a" q  ]  Q9 Z. ^                nstep:=orders[2,j]+1:) g! i- n7 a: f) A/ H0 m+ V% g0 O
                if nstep<=orders[3,j]
6 y" w5 y% t6 U" l: n9 S5 r                   - A" t; M. h; m, `' E* m& S
                then% [. ~/ ?9 S  g! Y7 ~+ C
                        orders[4,j]:=max(c,occres[1,orders[1,j][1,nstep]]);0 y) s' J( K2 Y! r: Q
                        orders[5,j]:=orders[4,j]+orders[1,j][2,nstep];
5 v) t8 o9 l1 M9 A                end;
1 U3 a: u+ b5 J3 Y/ _1 t/ w        next;. `. p0 X' \* D
        & Z" k* v5 D8 t' Z- J
        print"ready.duration of the schedule:",scheduledorders.max({2,1}..{2,*});
! E* w- k; c- m! s4 d2 S        mygantt;
6 s8 J- G# h2 w9 |* A5 `$ a        ens;. B, l# O5 B; Z7 H& ]. W. a
            
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-4-19 18:16 , Processed in 0.017720 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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