设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4711|回复: 4

[求助] 求教:transporter 运量不固定如何编程

  [复制链接]
发表于 2014-10-8 20:31:26 | 显示全部楼层 |阅读模式
遇见一个难题,请教各位高手。
: @' e3 |) B$ |7 ]6 w- n( l, C$ O2 t& t) H3 z, ?5 ~: B& p5 ?. c
使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。
% ~! R1 B+ t8 J! Y6 J8 @  k  Q
2 A# b* n  ^, Y  @, X9 G7 Q! ^& ]  K需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。
7 b) U9 d( e' E* o7 D/ p9 d$ z8 u2 h2 u- P, z
is( p6 f$ w0 d6 B2 y6 C
        i,m: integer; -- 整数变量- u2 T7 A9 ?$ `2 Y! C9 F
        Name:string; -- 字符串变量
2 X, j- o. H! ], B7 O8 i        Obj:Object; -- 对象类型变量
6 D7 S  L! t0 Y2 N) F1 a# f/ g, R' A  f; D  o0 F) v
do
  ]9 g) U& }# }        m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型" X- Q0 _9 W* ~; e5 G& J. c" M: W8 P
        Name := sprint("BA", m);  -- 生产线名称
9 P( W- c- r6 [) {        Obj := str_to_obj(Name);  -- 转换成对象变量! t% i; C3 A3 I' t; @
   1 A% S" Z' T- H' j) M/ Z. ?
        FOR i:=1 to 100 LOOP+ D7 [3 @" F3 S# g- s) P
                    waituntil OBJ.occupied prio 1;+ Q4 L' S4 K. y5 e' U
                 OBJ.cont.move(@);       
" {4 R- T6 c% I1 ~# h        * z/ l' e. n' `2 ], G4 k& ]! W/ d
        NEXT;& C& f) P0 L& N. Q6 z8 j: F
                @.backwards:=false;
7 o( J7 B0 \8 }end;
" V: E" h' l& ?6 T+ N9 `
发表于 2014-10-9 15:03:23 | 显示全部楼层
FOR i:=1 to 100 LOOP, 这里肯定要变化啊。
, I- U) Q: F5 \: R需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量,不太明白。
发表于 2014-10-10 10:43:12 | 显示全部楼层
函数主体 缺少对source物料的数量判断/ U% n, N3 ]* ?( \
if numberMus = 100 or numberMus > 100 then% \# s# G. m- F9 D. {7 n$ g) l/ W0 A
       vehicle takes 100 units.
1 b; b3 u% C; Q7 belseif numberMus < 100 then
# H3 A! m6 I# k9 W9 ?' G$ V+ ~0 s% l       vehicle takes really number of units.
4 R1 Q. c% ^3 |; yend;
8 ?( p* P+ v! Q1 p1 h" m$ D5 J% [- P" Y$ w/ Z
希望帮到你

点评

解答不错,关键最后一次的数量是多少如何确定。  发表于 2014-10-12 07:57
 楼主| 发表于 2014-10-12 19:19:59 | 显示全部楼层
多谢各位! + y9 X5 u' Z9 n

9 V  k4 b3 v8 b. N, R
 楼主| 发表于 2014-10-12 19:20:50 | 显示全部楼层
dongshui8558 发表于 2014-10-9 15:03
! V0 }0 l- @* X3 q; @+ x: x: dFOR i:=1 to 100 LOOP, 这里肯定要变化啊。
7 y/ Y9 h5 B; D* @, N, K# d& Y需要说明的是,A点的运输量不是固定的,因为有两台并联的机器, ...
, K6 I0 W  J, ]  b5 O
多谢您提供的方法!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-21 12:18 , Processed in 0.017518 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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