设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5685|回复: 4

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

  [复制链接]
发表于 2014-10-8 20:31:26 | 显示全部楼层 |阅读模式
遇见一个难题,请教各位高手。
0 I" G/ }, p( O/ H' Z1 b2 N/ f7 x6 K1 g! [$ d
使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。
$ F( Q2 S) E6 w: f5 o+ Z$ y& F, ?, G; A
需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。# S9 U* K) {$ ?7 b0 s2 n
2 V! Z- f) ^1 S! J2 {- @# ]
is. R6 s8 e8 G, a/ i5 X" C& N
        i,m: integer; -- 整数变量
* V2 P6 z( y$ `- @- p        Name:string; -- 字符串变量2 {" e' b  {' L: N$ m
        Obj:Object; -- 对象类型变量) t% P4 N) i# _. R' d$ I6 V* B4 H/ o

4 y7 B, J/ l# a" b8 r1 X4 rdo
0 ~. P% |' _3 c+ i! m9 d4 [        m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型
0 W  _  @' w+ }! s: h        Name := sprint("BA", m);  -- 生产线名称/ u% g( U0 t8 ~# p2 M4 {
        Obj := str_to_obj(Name);  -- 转换成对象变量
3 K' S. c2 c) m; c( G   
5 w6 Y3 S3 ?0 v8 a4 c$ z  R( z/ D        FOR i:=1 to 100 LOOP
9 a# I! k: z& [5 P% r                    waituntil OBJ.occupied prio 1;  ]0 v8 Q% e, W
                 OBJ.cont.move(@);       
: z0 C9 _! S+ ]. \* h       
* I8 O" v* R$ L) {; a5 E8 ^% y; T: |        NEXT;/ O9 A9 ^  Q$ v9 N
                @.backwards:=false;! l+ U! |- I2 v% d
end;0 A9 V. f6 n  H
发表于 2014-10-9 15:03:23 | 显示全部楼层
FOR i:=1 to 100 LOOP, 这里肯定要变化啊。1 _  X+ r, \8 D+ e! o9 Y; |
需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量,不太明白。
发表于 2014-10-10 10:43:12 | 显示全部楼层
函数主体 缺少对source物料的数量判断; y& a  H2 `9 r" o
if numberMus = 100 or numberMus > 100 then9 s/ B6 }+ t& F8 X# Y  C
       vehicle takes 100 units.2 ?# {: x4 g: t! ]0 F& E, i1 W
elseif numberMus < 100 then
' V; C/ O9 P- B; l  f       vehicle takes really number of units.
" T8 @' E' T# h; |9 R* M- D( Bend;0 o4 l/ c- W# Z! W0 E" y  S: [/ H- o
  d# K% Y; E& U  A! I& H0 m
希望帮到你

点评

解答不错,关键最后一次的数量是多少如何确定。  发表于 2014-10-12 07:57
 楼主| 发表于 2014-10-12 19:19:59 | 显示全部楼层
多谢各位!
7 H. I( W1 j) |1 M
5 O4 R  |' g* E' v
 楼主| 发表于 2014-10-12 19:20:50 | 显示全部楼层
dongshui8558 发表于 2014-10-9 15:03 ' X7 M# e! D. @7 R# `/ {" _
FOR i:=1 to 100 LOOP, 这里肯定要变化啊。
- x, ]+ t1 |% S+ a, k. E需要说明的是,A点的运输量不是固定的,因为有两台并联的机器, ...

  {( P8 e. _7 o: j3 n% C5 H多谢您提供的方法!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-2 04:44 , Processed in 0.022610 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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