设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5234|回复: 4

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

  [复制链接]
发表于 2014-10-8 20:31:26 | 显示全部楼层 |阅读模式
遇见一个难题,请教各位高手。
- `! @/ }! y* J# j# x" m3 d% R7 B8 g/ Z. _
使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。
$ e3 `: s! n- N0 |& d
5 Q& _9 ?4 m. u8 K( b) m需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。
' @0 e  t2 V$ g" |6 B
" t( ?$ t" I; E7 E is
2 z, q" }0 c+ G. `        i,m: integer; -- 整数变量
* k/ T3 X' M$ Q( h4 M        Name:string; -- 字符串变量
, r3 I/ E8 e' L        Obj:Object; -- 对象类型变量( e: s; a! U' B$ n9 k. N/ @9 W; [
4 S3 {2 E- H! r7 J6 i$ _* S
do
3 A) Z% _3 b+ F5 P& ^! _        m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型1 D4 ~" D# c3 x6 s9 G: H
        Name := sprint("BA", m);  -- 生产线名称. X( W; u. ]) Q/ |" I
        Obj := str_to_obj(Name);  -- 转换成对象变量) |- {- f' q2 i+ n3 q
     E( _6 s0 f! A5 i
        FOR i:=1 to 100 LOOP
2 a" ~) k" |% k" u                    waituntil OBJ.occupied prio 1;
  h$ r2 A' Z8 ~5 q/ Z; M, @) O                 OBJ.cont.move(@);       
: \5 l- x. M' J- \        ' s$ N5 ^" Z/ `: `: s
        NEXT;2 [; [4 m% C$ s" j5 w) {. r0 O) r
                @.backwards:=false;) c) n1 n' T  i9 P: _+ ^2 `  {
end;
$ z/ n0 G6 x4 m# U6 U
发表于 2014-10-9 15:03:23 | 显示全部楼层
FOR i:=1 to 100 LOOP, 这里肯定要变化啊。0 F) `: Y1 y) k0 n3 k; C# {
需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量,不太明白。
发表于 2014-10-10 10:43:12 | 显示全部楼层
函数主体 缺少对source物料的数量判断
0 c. T( Z' r" e8 W5 w$ t( U6 iif numberMus = 100 or numberMus > 100 then
; e( U; {" {5 y6 O  R3 Q       vehicle takes 100 units.4 ~: X6 e& d+ \& y: T
elseif numberMus < 100 then: R' q8 Q4 d/ u& `4 R/ ]
       vehicle takes really number of units.
9 O+ Q+ O* G2 M0 g* [, iend;% d) S) D: j9 O
8 K; `: ^2 K; ~8 P- f. I7 f
希望帮到你

点评

解答不错,关键最后一次的数量是多少如何确定。  发表于 2014-10-12 07:57
 楼主| 发表于 2014-10-12 19:19:59 | 显示全部楼层
多谢各位! 7 e2 e% Q3 ^: N. v& u

; E! j& x5 a) B9 o4 @/ R4 x- G9 Q
 楼主| 发表于 2014-10-12 19:20:50 | 显示全部楼层
dongshui8558 发表于 2014-10-9 15:03
: l$ |. }5 H; o5 s, c0 V9 EFOR i:=1 to 100 LOOP, 这里肯定要变化啊。* r# s$ I. f7 J8 d7 L; `
需要说明的是,A点的运输量不是固定的,因为有两台并联的机器, ...

2 A; N7 |6 x2 l: P8 u9 I+ G+ k+ ~% m多谢您提供的方法!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-22 02:25 , Processed in 0.023700 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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