设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4435|回复: 4

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

  [复制链接]
发表于 2014-10-8 20:31:26 | 显示全部楼层 |阅读模式
遇见一个难题,请教各位高手。
' z. P- ~; `& e6 h$ V/ I1 `- D) Z5 y  N7 B
使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。# N& o4 u' i/ ]: K. u# \- P! F
% [% }* G- G5 [
需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。% D3 @& Y  f' k' W7 `& {" f
1 s6 ?, U* ^% O8 z) }
is0 C$ c7 H  \7 Y" b) d
        i,m: integer; -- 整数变量
4 `: ~" H8 F3 J! M" \3 H3 U& w% M' V        Name:string; -- 字符串变量
! k6 i4 a8 S2 O- P9 u6 M# w: \+ L        Obj:Object; -- 对象类型变量2 |' d7 L4 }5 G/ O3 q8 F( c

( z2 `/ x3 A5 k: \. J; J; Sdo) t7 G0 J/ \  g6 m: b9 y
        m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型( X; ], |' e0 N/ w. X7 ^& V
        Name := sprint("BA", m);  -- 生产线名称
$ V  _  Z; ?1 z8 P        Obj := str_to_obj(Name);  -- 转换成对象变量
. Z/ `  u1 H9 G, N! T" w( V" x$ U   
9 U, b, z& i( N! l& T$ r2 Y        FOR i:=1 to 100 LOOP/ j" d* M( w1 f# h
                    waituntil OBJ.occupied prio 1;
2 G) D# G& k: F4 G6 V. a% V+ U                 OBJ.cont.move(@);        , p" e/ U* x( t6 C8 m0 l+ A* J
        ) v! N' U! K9 Q- ?
        NEXT;
+ b, U7 V; p3 `& k4 Z# r% j                @.backwards:=false;
; U2 V& d3 K) p) Q" [5 V, b' cend;* M4 p4 Q) S+ W+ h2 r! A' l
发表于 2014-10-9 15:03:23 | 显示全部楼层
FOR i:=1 to 100 LOOP, 这里肯定要变化啊。! I* j# j! L0 r( H8 u
需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量,不太明白。
发表于 2014-10-10 10:43:12 | 显示全部楼层
函数主体 缺少对source物料的数量判断% ~2 k% R7 y, P
if numberMus = 100 or numberMus > 100 then. _  ^( t, H  ~3 Q6 R% c
       vehicle takes 100 units.
- I9 t% t/ s6 f+ Celseif numberMus < 100 then' {: v- f& E! K/ n
       vehicle takes really number of units.
: ?2 d+ B7 R6 z* }end;
# Z# U% i9 U+ G9 E6 }+ T0 n- w( P0 e& G9 E
希望帮到你

点评

解答不错,关键最后一次的数量是多少如何确定。  发表于 2014-10-12 07:57
 楼主| 发表于 2014-10-12 19:19:59 | 显示全部楼层
多谢各位! ( ~, g, f3 A1 Z& G/ P+ v

& w* ~7 q% |4 `& d
 楼主| 发表于 2014-10-12 19:20:50 | 显示全部楼层
dongshui8558 发表于 2014-10-9 15:03 0 L+ T. k* i6 Z, S* F9 w; S
FOR i:=1 to 100 LOOP, 这里肯定要变化啊。7 F+ ?7 x; }8 K& i4 a' M
需要说明的是,A点的运输量不是固定的,因为有两台并联的机器, ...

& C! ~% j9 H; ~: f# M' g. m# R! C- j多谢您提供的方法!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-5 21:50 , Processed in 0.026187 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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