设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4709|回复: 4

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

  [复制链接]
发表于 2014-10-8 20:31:26 | 显示全部楼层 |阅读模式
遇见一个难题,请教各位高手。& Y, K& I8 N" p* L

. t- B3 L- N+ F* W5 V使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。+ g% ~4 Y; @  y* h2 D& Z' z: k

0 v3 ]0 X+ j% F) m) j需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。  A' P$ B; s& C6 L0 l+ |

9 ?- s9 K1 @$ C* E* x' z is; v' G3 Y2 Q5 q% S& G' G5 f" y; i
        i,m: integer; -- 整数变量
) D" O+ V# h5 m        Name:string; -- 字符串变量
$ b! d( {+ G3 n9 Z4 G        Obj:Object; -- 对象类型变量/ T5 x! w1 J; w: `3 w$ g' S
5 [: z" d; [, u, \! L& w6 F% G' d
do
* ~* g+ T6 ^: J2 b% J. [* U9 G9 w        m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型8 G/ ]! j6 f+ X1 z. Z' ?9 b6 x
        Name := sprint("BA", m);  -- 生产线名称' C: i3 V8 K! p1 O& D* O
        Obj := str_to_obj(Name);  -- 转换成对象变量
/ t9 y; S- P. e$ T, {# Y   
9 M3 [1 }8 q$ s( U  y: J6 C        FOR i:=1 to 100 LOOP
) l; z. o1 _5 r0 c9 W% n, Y' Z                    waituntil OBJ.occupied prio 1;
% @/ h& R' y: x                 OBJ.cont.move(@);       
; b2 q" C9 x* J; O7 B: |; B        9 G) f" T" x7 v: \
        NEXT;7 a" P9 ?4 X+ c; S: b
                @.backwards:=false;
7 M4 ~9 X5 V$ v0 j/ s% Z9 ~end;: p3 @$ l* l# Q2 z, g5 Q
发表于 2014-10-9 15:03:23 | 显示全部楼层
FOR i:=1 to 100 LOOP, 这里肯定要变化啊。4 p* U+ L; k: C1 [) i+ `
需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量,不太明白。
发表于 2014-10-10 10:43:12 | 显示全部楼层
函数主体 缺少对source物料的数量判断
: m" i: T# h! V( k+ jif numberMus = 100 or numberMus > 100 then4 E; l! a- F8 _9 L+ q- f
       vehicle takes 100 units.* A9 B! j5 x) d4 k# L' k0 ~! S# X
elseif numberMus < 100 then
$ ~7 I  I2 q! f       vehicle takes really number of units.
6 N; ~" o/ F1 qend;: J1 q, C4 w' a8 ^

% r3 M. U8 C% H) T希望帮到你

点评

解答不错,关键最后一次的数量是多少如何确定。  发表于 2014-10-12 07:57
 楼主| 发表于 2014-10-12 19:19:59 | 显示全部楼层
多谢各位!
# s: a8 |/ U9 N
; M& @7 e% e1 x; ^
 楼主| 发表于 2014-10-12 19:20:50 | 显示全部楼层
dongshui8558 发表于 2014-10-9 15:03
" a/ u5 m6 {. F" y) P# ?FOR i:=1 to 100 LOOP, 这里肯定要变化啊。+ m7 k! \% U* L- T6 ^3 C/ f3 ^
需要说明的是,A点的运输量不是固定的,因为有两台并联的机器, ...
% K  A) i1 D$ s' ?  k+ w$ v: b0 ^
多谢您提供的方法!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-21 10:35 , Processed in 0.018715 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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