设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5148|回复: 4

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

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

$ |2 P- Z# M$ \0 b2 S需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。8 `7 {. d1 p3 l

- F6 G, O: Q% d, a' @ is' }/ e, S: n( f/ L
        i,m: integer; -- 整数变量5 n: n" b# e. h& l2 d$ b
        Name:string; -- 字符串变量9 a& L- |/ G6 j7 K" u, Y
        Obj:Object; -- 对象类型变量
- `  C3 ?. V$ F8 V3 s# I8 u
% T  h% D. O8 X& Q2 ?4 l( Edo
. x9 J% |$ [+ Z" A/ T% K5 j8 Y/ e        m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型
3 O9 p6 z$ A7 Y- M% d  L$ u/ E        Name := sprint("BA", m);  -- 生产线名称
! C2 m. ]' ]0 R' o' m/ V        Obj := str_to_obj(Name);  -- 转换成对象变量
6 r2 C$ r. t- B1 f- L  u   
% Z9 r2 i& |) T) z        FOR i:=1 to 100 LOOP
# f1 f) p& G: R$ I& d5 b+ \- J) c                    waituntil OBJ.occupied prio 1;
2 P0 a( i* l. y. j/ G2 h. m+ i                 OBJ.cont.move(@);        3 f' G5 S0 ], h8 S3 K/ B/ P% W
       
  ?- Z  f5 ~3 F. `( ]! b. _( q        NEXT;
# `( a% o/ u4 A4 z0 U- t' X                @.backwards:=false;
1 U1 D5 o0 a# t: h+ S6 b+ lend;4 l6 P1 c  g4 u
发表于 2014-10-9 15:03:23 | 显示全部楼层
FOR i:=1 to 100 LOOP, 这里肯定要变化啊。2 C4 z1 c) \. G0 ?, `  [3 m
需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量,不太明白。
发表于 2014-10-10 10:43:12 | 显示全部楼层
函数主体 缺少对source物料的数量判断
& ^  Q* p: h# dif numberMus = 100 or numberMus > 100 then9 \4 f" G2 J, f
       vehicle takes 100 units.5 y5 B7 ]6 t' L* s2 f0 W
elseif numberMus < 100 then
6 k! ?, t! U6 y8 }. R       vehicle takes really number of units.
1 k. i! b, J; |' w6 [end;
1 G0 ]3 W- m4 i& [- v6 @' j" G$ M9 s9 r5 U6 _
希望帮到你

点评

解答不错,关键最后一次的数量是多少如何确定。  发表于 2014-10-12 07:57
 楼主| 发表于 2014-10-12 19:19:59 | 显示全部楼层
多谢各位! 5 M( n6 R8 P7 [, f

2 Y: P) o# H9 R0 d
 楼主| 发表于 2014-10-12 19:20:50 | 显示全部楼层
dongshui8558 发表于 2014-10-9 15:03
7 j6 q$ R7 V9 k, G8 V# yFOR i:=1 to 100 LOOP, 这里肯定要变化啊。; e2 g# j  m! u7 b
需要说明的是,A点的运输量不是固定的,因为有两台并联的机器, ...
6 L$ W1 F! C" D; W: \6 @+ B
多谢您提供的方法!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-29 22:27 , Processed in 0.017445 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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