设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5706|回复: 4

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

  [复制链接]
发表于 2014-10-8 20:31:26 | 显示全部楼层 |阅读模式
遇见一个难题,请教各位高手。
! n* I" b+ p) L  K5 r& [
" m- |, i8 b+ L9 o使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。9 {. A& J. {( i; r7 o# V

. `+ M1 e" E2 {# p( H! }$ K3 ~+ l需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。
( s5 H# S! w! x& t, B
* `# A3 S% k4 E* z  W1 W5 q5 H( ] is
% n; ]" O( L; h  @; L* ]2 t! o        i,m: integer; -- 整数变量
7 l# A* P0 \- r        Name:string; -- 字符串变量
' h) J4 a* L; J, O3 J6 I3 n        Obj:Object; -- 对象类型变量
$ M5 M. a" Q% e" q  m: l- h4 k! I
do; U1 E6 M; t, R4 y. }2 j
        m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型
) E0 q# W1 z8 C) r0 D% |& U1 k* G        Name := sprint("BA", m);  -- 生产线名称8 n' a1 g' A. \% u
        Obj := str_to_obj(Name);  -- 转换成对象变量
1 `5 w4 ~0 V0 T' G" f9 U9 h   . n0 e) m% g- L2 Z) E" d
        FOR i:=1 to 100 LOOP& y2 l1 M6 B7 J4 B
                    waituntil OBJ.occupied prio 1;# {" a: u+ G5 p' P" m0 I
                 OBJ.cont.move(@);       
& q8 x9 ^7 K+ O        * N6 i8 t" m, c8 u5 g
        NEXT;
9 P% ?2 d- r1 z) S, @                @.backwards:=false;9 v3 A$ t- E1 [3 g; k+ ~
end;* S- Y/ a+ Q+ V4 G
发表于 2014-10-9 15:03:23 | 显示全部楼层
FOR i:=1 to 100 LOOP, 这里肯定要变化啊。3 Y$ y$ J0 ]3 X4 {& J
需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量,不太明白。
发表于 2014-10-10 10:43:12 | 显示全部楼层
函数主体 缺少对source物料的数量判断% P0 P2 e1 n- {
if numberMus = 100 or numberMus > 100 then8 V9 J6 }. O$ W- R
       vehicle takes 100 units.
6 W  h: x* X! f1 n, s: c5 o5 Celseif numberMus < 100 then
/ h1 R# w7 V0 h2 e1 p       vehicle takes really number of units., M$ ?' p" ^* l1 I" J; k6 ~- U6 F
end;
! Q% P- M3 k: B; U! ?6 f: x- z  ^1 a9 I( b; ?. U$ }
希望帮到你

点评

解答不错,关键最后一次的数量是多少如何确定。  发表于 2014-10-12 07:57
 楼主| 发表于 2014-10-12 19:19:59 | 显示全部楼层
多谢各位!
+ u+ h5 F- E- J0 F  _/ G6 ]
/ k) r0 w* E% S
 楼主| 发表于 2014-10-12 19:20:50 | 显示全部楼层
dongshui8558 发表于 2014-10-9 15:03 - g  L4 B1 R# [" B
FOR i:=1 to 100 LOOP, 这里肯定要变化啊。! v5 b% _% `1 ^/ o
需要说明的是,A点的运输量不是固定的,因为有两台并联的机器, ...
5 R8 M% \! S# h8 E/ J* c
多谢您提供的方法!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-6 09:56 , Processed in 0.023252 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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