设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5664|回复: 4

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

  [复制链接]
发表于 2014-10-8 20:31:26 | 显示全部楼层 |阅读模式
遇见一个难题,请教各位高手。# w% r$ Y+ j( C
1 f5 y; b/ S/ D3 ~
使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。9 D# M2 v3 m% C9 \# `5 ]

( S6 X6 M6 z/ |- S( W$ s9 ]需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。1 U7 F- c! i) Z! m2 G  }

. z7 u! h  H0 H$ u3 J is6 I( C/ c6 {3 G# m# O6 w
        i,m: integer; -- 整数变量
4 a( ^; k, k+ E; S! a: |        Name:string; -- 字符串变量0 A( W  B. t  \# M6 K* S
        Obj:Object; -- 对象类型变量
9 i6 x# Y# H2 H+ L3 f  B$ y, v- j- Y2 W' s) F* r- f$ o
do
7 c7 }0 _) D2 _        m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型
" D2 C2 t* p: C        Name := sprint("BA", m);  -- 生产线名称+ A/ j, R8 F5 X- \* R& u- k
        Obj := str_to_obj(Name);  -- 转换成对象变量+ {, o5 ]( C; M1 H" f7 `/ ]& i
   
6 j# N2 }0 l6 z7 Z, U, u        FOR i:=1 to 100 LOOP
. O0 h3 q7 `: S6 r, m1 f                    waituntil OBJ.occupied prio 1;1 R5 V7 `$ o/ K- u' L6 [5 M
                 OBJ.cont.move(@);        ! \6 B* W  t! i5 c' Y8 q' P- s. g8 P
       
% d, O7 s% ^- s6 _( S: L- c: q7 J+ w        NEXT;8 v8 A1 }; O, d7 n- x
                @.backwards:=false;. u# e! ]4 A6 N
end;: p1 ~0 ~3 t% X+ q0 F" i
发表于 2014-10-9 15:03:23 | 显示全部楼层
FOR i:=1 to 100 LOOP, 这里肯定要变化啊。
  ?0 K5 \0 L8 S5 Q' W" G  ^8 }需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量,不太明白。
发表于 2014-10-10 10:43:12 | 显示全部楼层
函数主体 缺少对source物料的数量判断. n" j1 ]- k4 r7 G
if numberMus = 100 or numberMus > 100 then
1 Z0 R2 _( A2 U/ @1 x9 R% X: p       vehicle takes 100 units.6 |' m: j. i/ f* ^
elseif numberMus < 100 then
: B- p2 `$ X- @       vehicle takes really number of units.
" d, T6 D6 ?$ z# p  U7 h0 U- P: vend;
' P* m4 |9 J6 M) w/ A& Q1 C' v& P4 o4 [- Q& w
希望帮到你

点评

解答不错,关键最后一次的数量是多少如何确定。  发表于 2014-10-12 07:57
 楼主| 发表于 2014-10-12 19:19:59 | 显示全部楼层
多谢各位! : x4 o6 Y3 I+ L# `

" y- Z2 t  @5 l, ^" C
 楼主| 发表于 2014-10-12 19:20:50 | 显示全部楼层
dongshui8558 发表于 2014-10-9 15:03
1 i1 |% g5 g# Q' f) AFOR i:=1 to 100 LOOP, 这里肯定要变化啊。9 A: a3 L, C/ K. H  z# d6 H
需要说明的是,A点的运输量不是固定的,因为有两台并联的机器, ...

) R1 P1 ]' F) L2 r' |0 e2 H9 C多谢您提供的方法!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-27 01:17 , Processed in 0.023482 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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