设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2601|回复: 0

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

[复制链接]
发表于 2014-12-17 14:24:26 | 显示全部楼层 |阅读模式
本帖最后由 soso001 于 2014-12-17 14:53 编辑
' U! l2 E- A% h5 I/ X
" \; ]/ @/ N3 P+ c不好意思,打错了个字母,呵呵呵!
' u, y- Q) o9 N& g7 W" V: ^大家好,本人em-plant新人,在看《生产系统仿真》第六章时,按书上的例子,写了段method,和书上是一样的,但总是提示
: w7 n5 U( v! f“行19中错误,循环计数器必须为整数类型的局部变量”,但我的全局变量是 integer 类型啊,不知道怎么回事,求帮助!
) o" ^  W' j1 ~" N3 {" Q/ Nis
" x+ _, |0 _: D        j,k,nstep,c, scheduleteps,mincomptime:integer;
4 j# E6 D) C5 [0 ^! q        M:string;
# D: X, g1 M0 y( z, W6 ?: o        selecTab:table[integer,integer,integer,string];
; X7 F! J/ z* t) X0 H9 v( Q) X6 u, odo" K4 P  O' F/ K: ~# T& G
        initorders;0 G; M' V3 D8 c) X
       
0 q' w; {9 J2 @; ^) M$ l: }/ M- l        scheduledorders.delete;
! H( q* x2 y* D" b0 J5 S        seletTab.create;
1 v( B# W4 W) u( R$ o        ! y; w% N- J0 e# ^/ s+ A
        orders.initialize({2,1}..{2,*},0);; t& C4 o  Z$ X& J
        orders.initialize({4,1}..{4,*},0);
% @" x( [& ?2 d3 I0 T2 Z4 ~& _        for j:=1 to numorders loop5 o+ d( N! {  K: K
                orders[5,j]:=orders[1,j][2,1];3 X/ \. f0 r$ [
        next;
2 t- G( z/ E# L8 x        occres.initialize({1,1}..{1,*},0);
' @. p/ u# ~/ X& b, Y       
) S4 {2 N, R$ v. E5 b9 S3 N        --XUNHUAN8 b5 Y) g* \/ ^6 B
        for scheduledsteps:=1 to numsteps loop --
4 {3 O: x' F- j1 k) @+ t0 u                selectab.delete;, a1 f6 v( }& L" A0 [! d4 N" m( R- C
                k:=1;0 Y( q9 M% b- }* a
                for j:=1 to numorders loop
4 f  \; \% b4 G                       
6 Y. {7 v% o  M9 E5 q; h4 \2 n                        nstep:=orders[2,j]+1;& K; {0 l1 e  T/ a2 L
                        if nstep<=orders[3,j] then# p! s! q6 }6 i& i% E
                                selectab.writerow(1,k,j orders[4,j],orders[5,j],orders[1,j][1,nstep];
# m' b0 Y. T6 |1 r7 {                                k:=k+1;$ N& k+ T6 g  T  ~, ^% O
                                        $ H! D1 _+ c+ y9 U# b- d* n. Z
                        end;9 B. \- ^5 q: S8 @' B7 w
                next;
9 e$ H2 b! D- j& y4 e, S/ G2 I. H. y                mincomptime:=selecttab.min({3,1}..{3,*});3 C: h3 f" b; s. k% _' a
                . ~; t  P4 c% i& A- Q: Y
                from j:=1 until j>selectab.ydim loop" |$ m8 a) A2 s' ]1 B
                        + a- G3 C0 i3 ~- S; l2 @# U
                        if selectab[2,j]<mincomptime then& b( D( B- q9 v2 N
                                j:=j+1;
3 \$ s) A( K, B. f                        else
6 J: ?' V* L' ^* D; S( E                                selecttab.cutrow(j);% ]. B( ^6 c2 R$ h: L1 z. i; z
                        end;' S1 A: W* p9 y3 W: O: K; g
                end;
5 |8 K" L% F- B9 k& E3 Q& _; D               
" {. o" `+ a8 i1 s                j:=selectionrule(selecttab);; m" V2 x# m) S9 ^* g( B6 D& [
                ) O8 S* c: g" k" L; ]5 z
                nstep;+orders[2.j]+1;
5 j5 I: x2 A: d0 u                orders[2,j]:=nstep;
) R- M3 }8 k  ?                m:=orders[1,j][1,nstep];
" t# ]6 N% @  @4 \5 c                c:=orders[5,j]
) f! b- g, A( w, b                occres[1,m]:=c;6 I9 @' t$ I  \# K! a# k
                " \$ {" m- B7 e7 n
                --jieguo:start,end,res,job,step
8 }6 N9 u% F  r- E( N, |                scheduledorders.writerow(1,scheduledorders,orders[4,j],c,m,j,nstep);2 ?9 i$ m0 W9 W$ q9 W; I$ r
                for k:=1 to numorders loop
/ E# k6 b0 _9 {6 a5 Q0 F, v6 p$ L7 {# d5 r                        nstep:=orders[2,k]+1;" a* N) g+ \8 @+ e: L
                        7 o0 b; W" H6 u. B
                        if nstep<=orders[3,k] and orders[1,k][1,nstep]=m
" r2 E2 H% B4 u                           --7 x1 X/ w* ~" ~  B  J6 m4 k
                        then, l( @6 B& P7 D4 H1 A1 j
                                orders[4,k]:=max(c,orders[4,k]);
7 L* w  \* h' Z( Q  K& |  m                                --
/ D3 L! f1 }! [8 G- x3 u                                orders[5,k]:=orders[4,k]+orders[1,k][s,nstep];6 t# o& s( y' G8 k
                                --
  @0 n- Z9 O5 Z                        end;9 K3 a. g7 r  V2 H
                next;' r( r* z; Q# C5 O
                nstep:=orders[2,j]+1:
* ?5 P. @5 A, ?                if nstep<=orders[3,j]" o( N0 C& Z" d: y
                   6 T$ i' D1 A- c9 }. e% q! x
                then3 e# _9 a' L7 g- ~7 C3 v0 n4 H
                        orders[4,j]:=max(c,occres[1,orders[1,j][1,nstep]]);
# O9 T" c2 F7 v- U7 F                        orders[5,j]:=orders[4,j]+orders[1,j][2,nstep];8 N% ?7 G7 V8 E' c
                end;
+ X0 i  y- V' J+ _* z! f        next;
/ a$ Q& T: k* j" X- X2 q        % I7 k+ O! J' `: D$ g
        print"ready.duration of the schedule:",scheduledorders.max({2,1}..{2,*});9 H- |& h8 m8 M- n) i& H
        mygantt;& Z' w" r; A! A% @& ]9 q
        ens;" I) b# c. x& s6 N# o2 T
            
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-2-19 06:17 , Processed in 0.014209 second(s), 17 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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