设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4472|回复: 4

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

  [复制链接]
发表于 2014-10-8 20:31:26 | 显示全部楼层 |阅读模式
遇见一个难题,请教各位高手。# K/ |3 u1 L9 F/ c, Z" L! t
, B' s+ W/ \9 w1 M$ `+ O
使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。, F1 H; X6 ?' @7 _2 r

- L4 @% t" f2 Y& Y% l5 f需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。
# J' q9 }. G- D( I! j9 W0 Z) u8 q
9 ], j1 h, g9 F' A. G/ k2 J' e is
$ _  O! G1 s: o: l        i,m: integer; -- 整数变量: Q3 J) V6 u* m' L9 f# P% s9 C
        Name:string; -- 字符串变量
6 J- l7 Y# m3 Y( c9 d4 u+ |6 q9 w        Obj:Object; -- 对象类型变量2 c$ ], h* c+ |/ _0 l: e3 c

  ~8 q2 E; t2 A' D7 g9 ado( q8 K; [6 i# K, q; W4 H
        m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型4 j. Y  ]. i* ^6 Q* ]6 @; Z. T; r
        Name := sprint("BA", m);  -- 生产线名称6 J4 Y1 Z8 }) v8 ?
        Obj := str_to_obj(Name);  -- 转换成对象变量
4 n5 _/ ^4 Y( f   
3 Y8 Q8 a9 k- f, S/ n        FOR i:=1 to 100 LOOP
( g# e- H% w1 B+ Y1 e                    waituntil OBJ.occupied prio 1;1 M; `; H6 i7 m- I  _3 P/ g
                 OBJ.cont.move(@);       
* M$ e1 p  f- H( h$ j8 K       
. G% F' j! D  h. b# a        NEXT;
+ c* v9 [8 }- Y2 U/ O, R9 j( H                @.backwards:=false;
; Q, j4 U3 o* F7 E2 _/ e# x. Oend;
/ W5 y3 E' J. w; V# k" Z* K0 T. W
发表于 2014-10-9 15:03:23 | 显示全部楼层
FOR i:=1 to 100 LOOP, 这里肯定要变化啊。% ~' o4 s. f" B9 {1 o7 E
需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量,不太明白。
发表于 2014-10-10 10:43:12 | 显示全部楼层
函数主体 缺少对source物料的数量判断
$ n; U' L/ d7 {! h1 Fif numberMus = 100 or numberMus > 100 then
; {% Y  T4 [. R( v  T8 s2 q' A8 J) l5 [       vehicle takes 100 units.- H5 @+ z2 H6 ?% Y6 F
elseif numberMus < 100 then" I% ?2 R8 @* X" J- B
       vehicle takes really number of units.( z- z% r) z7 J  h4 @2 Y1 p
end;- S9 H' {  A: o7 r) T7 x* \( W

1 j- K$ {# W1 |1 n, B希望帮到你

点评

解答不错,关键最后一次的数量是多少如何确定。  发表于 2014-10-12 07:57
 楼主| 发表于 2014-10-12 19:19:59 | 显示全部楼层
多谢各位!
; a( J7 B+ A( N7 ^1 g% h  f- Z/ \: n
 楼主| 发表于 2014-10-12 19:20:50 | 显示全部楼层
dongshui8558 发表于 2014-10-9 15:03
2 z: _1 N* d/ Y5 T+ N4 \, I+ \0 HFOR i:=1 to 100 LOOP, 这里肯定要变化啊。
" D: W' b# M  ^1 W8 ]. \6 t需要说明的是,A点的运输量不是固定的,因为有两台并联的机器, ...

1 K* V% {" t6 v4 z* e" q9 S7 p) o多谢您提供的方法!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-12 18:38 , Processed in 0.027320 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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