设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4418|回复: 0

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

[复制链接]
发表于 2014-12-17 14:24:26 | 显示全部楼层 |阅读模式
本帖最后由 soso001 于 2014-12-17 14:53 编辑 0 v* p8 Q1 l& @% y0 W5 p

' O6 @) g/ M, q0 @不好意思,打错了个字母,呵呵呵!: M) ~$ \% G3 I: @4 w& o: ~
大家好,本人em-plant新人,在看《生产系统仿真》第六章时,按书上的例子,写了段method,和书上是一样的,但总是提示
! w& F8 i) d# [“行19中错误,循环计数器必须为整数类型的局部变量”,但我的全局变量是 integer 类型啊,不知道怎么回事,求帮助!, `9 L4 o6 k2 P5 L; B
is
% t. L  \) j* T0 q" e5 A  q        j,k,nstep,c, scheduleteps,mincomptime:integer;
( F0 _4 A0 C. y: d3 ]        M:string;
. J: }" i, S- ?8 @7 y9 F* w9 J8 E        selecTab:table[integer,integer,integer,string];! |; Q* i& J3 ~4 m" m9 h. G
do
1 n& Y( x2 P2 W3 {0 _# f/ r        initorders;9 x: A/ q/ S$ K6 p, n. V7 u/ l
        7 u4 k- G% D; W7 _! s
        scheduledorders.delete;+ p9 X- l# L) G; T6 r
        seletTab.create;* `; R, L, }: J1 C3 X  H6 q
        3 d! h9 [7 [. E, e: n5 `  Z$ w# K4 c
        orders.initialize({2,1}..{2,*},0);( A; j" K2 X# B. H, A( ?
        orders.initialize({4,1}..{4,*},0);% k- Q! ]: ^& @( {$ M$ x$ t# q% [9 V
        for j:=1 to numorders loop7 b4 j5 U( [) {- {2 ?) J
                orders[5,j]:=orders[1,j][2,1];* Q! K* H9 k/ I, D! u# {: R* K7 y
        next;  C  X; w4 I  c( ?- |1 H
        occres.initialize({1,1}..{1,*},0);
5 _2 T; A. Y: u/ W% w       
3 W' {" W7 U' x. u3 T, X        --XUNHUAN
+ B% i  `3 p9 I2 W% I' `& Z. ]        for scheduledsteps:=1 to numsteps loop --
5 R4 I. x/ E7 c& W# E                selectab.delete;
1 M+ v) C; J4 b  E7 Q5 A                k:=1;
8 I0 K/ n- }  k                for j:=1 to numorders loop
" Y( N3 X1 B; }3 e                        ! k, u! i4 J* H  x0 H, Z1 T6 z
                        nstep:=orders[2,j]+1;
" [. u$ o1 V! |                        if nstep<=orders[3,j] then/ I8 ^. ?: B; l0 k/ l3 x( J: ?
                                selectab.writerow(1,k,j orders[4,j],orders[5,j],orders[1,j][1,nstep];$ C  z, m  P8 {1 Q# L$ E
                                k:=k+1;2 n& a/ @/ j9 o2 T
                                       
" ^1 n3 f4 K- B, W" o2 w                        end;
7 {9 E$ e' \7 z* {* q. D) D9 O9 Y                next;1 k6 N; m3 s6 t. H. b: p" W
                mincomptime:=selecttab.min({3,1}..{3,*});
% L/ V/ ~2 T/ k; |- H                  ?* L' F  `7 e
                from j:=1 until j>selectab.ydim loop# Q0 f6 @6 O3 y, M) X
                       
( \1 B) `6 O3 y                        if selectab[2,j]<mincomptime then) o# S9 r+ S7 Z, o
                                j:=j+1;
/ n6 u" f# C7 d5 U                        else
4 ?) \( Y7 m; g' D- S' D, e                                selecttab.cutrow(j);
" {+ Q5 E" L0 R; R& Q                        end;6 s5 `+ s. ~) s0 M% T
                end;
% t& H$ X* D* w( m' o               
& |) i/ r( b3 S1 r                j:=selectionrule(selecttab);
6 K0 @% c$ `. Z1 ^- f4 h( K3 T- M: t% ~               
5 z5 F, a0 L3 a  a                nstep;+orders[2.j]+1;
0 ]) T5 |; |5 @+ M, Q                orders[2,j]:=nstep;% s8 B# G% ^2 K
                m:=orders[1,j][1,nstep];
+ l0 h2 T( j) Q* v9 |* |( A5 {                c:=orders[5,j]
" T) }1 U" v6 @. [6 z6 N( x8 Y                occres[1,m]:=c;; N  ]# o" i5 y: f! Q
                6 g/ C# b1 b; m! [) ^
                --jieguo:start,end,res,job,step
" y+ M. ~& W7 L- l! P/ q) X1 f0 p                scheduledorders.writerow(1,scheduledorders,orders[4,j],c,m,j,nstep);
& `5 Y! \5 }) z: W                for k:=1 to numorders loop
% N5 \, ?4 o  F8 l" M% C                        nstep:=orders[2,k]+1;6 ]$ G' L6 k- M3 Z* \0 _* O
                       
' h( v8 R3 I# m8 L( t! _( f( v                        if nstep<=orders[3,k] and orders[1,k][1,nstep]=m8 M3 @* U+ S7 R6 o# A/ l' j3 D
                           --6 n8 S9 V! V, r7 W+ `9 [7 p3 Z
                        then& [& v$ |7 E( }4 |
                                orders[4,k]:=max(c,orders[4,k]);
9 O! W+ o0 Z" C, h# `4 D                                --
: [+ t- l* Z1 b# G) z8 u! h                                orders[5,k]:=orders[4,k]+orders[1,k][s,nstep];" O5 c8 G* u# U1 [- R: i
                                --$ p$ {: _7 I, W  E& U8 l: e9 f9 u$ b
                        end;$ }1 b0 |4 |) z$ W* @+ X
                next;, y' l! E* b" |# _
                nstep:=orders[2,j]+1:* j; i! Y9 q# o: i4 M- M; p
                if nstep<=orders[3,j]0 Z. H1 i! {$ l
                   . y% C" H/ }( @7 Q7 |
                then
1 D7 d5 _' l% F                        orders[4,j]:=max(c,occres[1,orders[1,j][1,nstep]]);
% q6 E3 S. p6 C                        orders[5,j]:=orders[4,j]+orders[1,j][2,nstep];
. j+ r' ^- ^( X+ x                end;5 V2 n# i3 i( ~# j; T
        next;
1 f0 G  J, X. J  h& E       
7 o% W+ |5 }: L) {% C- C2 `7 ]% I        print"ready.duration of the schedule:",scheduledorders.max({2,1}..{2,*});
/ E: G& G( P7 m, N: d        mygantt;
  _% J7 }$ Z, \' |, _( f. j( w/ v        ens;# I4 C$ M' P  |  j0 \# W
            
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-8 07:53 , Processed in 0.020788 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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