设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3287|回复: 4

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

  [复制链接]
发表于 2014-10-8 20:31:26 | 显示全部楼层 |阅读模式
遇见一个难题,请教各位高手。6 U6 y$ D+ Y5 g4 @2 b2 z8 x
3 K! r, k7 W" [0 Z$ y5 n5 U1 N" d
使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。5 e8 @* \. e/ ^7 C: N8 }
2 v4 ]- @' v  m# U( h
需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。) ]6 N) p0 Q8 x+ o# |. ~) Y

( E1 {( S# P, u7 F1 S; l  |, _ is
% [7 F" x0 p5 |2 G5 E4 E; f        i,m: integer; -- 整数变量
/ n  g+ j2 ~) q0 C* p        Name:string; -- 字符串变量2 H5 W: |. r- v
        Obj:Object; -- 对象类型变量! ^% _( z. H8 T, {' w" w$ u6 Y5 s& ?
2 y, e% g  k( d* N' U" d) |
do
) r$ n) P! \5 p0 a0 F- l- w        m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型
+ W5 t/ E$ q6 l7 p5 o6 X' n# ?7 I- ^        Name := sprint("BA", m);  -- 生产线名称7 `9 r( G3 o# B0 D" x
        Obj := str_to_obj(Name);  -- 转换成对象变量
. E. M; B9 N# N3 y   
1 `# z5 k$ |  y; q- f2 i        FOR i:=1 to 100 LOOP
. F8 ~0 a3 U9 a, W4 T$ D1 }( y                    waituntil OBJ.occupied prio 1;! \9 e$ M& L' Y. r$ ?5 j& Z  B( ^
                 OBJ.cont.move(@);          X! ~9 G3 I- t: z' s  l% a
       
  i# P/ h! T2 O        NEXT;
4 }) S4 i. M, d: N                @.backwards:=false;
8 k2 t1 X4 G2 i9 N& }7 l1 ]0 {9 N  ?end;; q9 s  e# G% n
发表于 2014-10-9 15:03:23 | 显示全部楼层
FOR i:=1 to 100 LOOP, 这里肯定要变化啊。
" T5 F& r! T8 P! _! V+ W需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量,不太明白。
发表于 2014-10-10 10:43:12 | 显示全部楼层
函数主体 缺少对source物料的数量判断( o6 a/ X6 `3 A, [, |
if numberMus = 100 or numberMus > 100 then
. {  e  C: t% f5 ~8 ~       vehicle takes 100 units.
5 o) E' K# i" e2 }4 _& ?. zelseif numberMus < 100 then- s8 c+ p* b$ x3 j: Z9 n+ P
       vehicle takes really number of units.
3 r9 a& B2 _5 i1 q- H7 w. Fend;, w# Q/ E1 ~/ y, ^5 L3 ~! Q
, c6 `  c4 q, _8 m
希望帮到你

点评

解答不错,关键最后一次的数量是多少如何确定。  发表于 2014-10-12 07:57
 楼主| 发表于 2014-10-12 19:19:59 | 显示全部楼层
多谢各位!
, Y/ ]6 v8 v# V, ]+ Z- T6 B- F
2 `# q' ^, ~5 z) C
 楼主| 发表于 2014-10-12 19:20:50 | 显示全部楼层
dongshui8558 发表于 2014-10-9 15:03 ; }% E" y% J2 q1 |' M" J% l) r
FOR i:=1 to 100 LOOP, 这里肯定要变化啊。- i3 H4 v6 t* ^3 w# X
需要说明的是,A点的运输量不是固定的,因为有两台并联的机器, ...
2 F& }1 S' N" P' ~0 M
多谢您提供的方法!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-19 23:27 , Processed in 0.025060 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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