设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3316|回复: 4

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

  [复制链接]
发表于 2014-10-8 20:31:26 | 显示全部楼层 |阅读模式
遇见一个难题,请教各位高手。0 l9 W# P3 m# ~+ t

3 O% c' n3 B# u! T: K& G4 ~) W使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。
! ^6 B. Q% U. J, R  K! X- W1 j2 k, e
. m4 w1 d+ j- E, H: E需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。8 H- M8 y7 [6 T- E0 d# H8 ^, q- i

6 Y8 _6 c2 G$ S: p* I is
8 ~% i: ?8 ?) U6 ^  D9 M1 u        i,m: integer; -- 整数变量
; ~. y! k; \, B# t2 B. ^        Name:string; -- 字符串变量
  ^+ q1 K4 }/ B6 b* J6 Q        Obj:Object; -- 对象类型变量+ q1 i) r$ Y8 @0 C0 s8 j) [
& T# ~$ Y; p9 [- T( w6 N7 V2 T
do2 |* |' z; P0 c8 ^0 Z8 H
        m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型6 g, j. C( C3 h( l0 q
        Name := sprint("BA", m);  -- 生产线名称
( I7 h* g+ P1 B) D# K5 u7 F( W3 O        Obj := str_to_obj(Name);  -- 转换成对象变量1 b" b& G1 S2 a) S
   ) ]7 `- v: P4 L1 S. y0 L) i" j
        FOR i:=1 to 100 LOOP
* `2 A0 a) A( g/ ?% P1 e$ X                    waituntil OBJ.occupied prio 1;
9 D% d) k4 b9 j5 u$ E% N) X                 OBJ.cont.move(@);        & t* k: e5 X  _7 L' t! _7 z5 P. y
       
* m6 u( Q; X3 N: M0 i. y        NEXT;
" K( h* p2 E' c5 G% G* W  E                @.backwards:=false;& B: A& L; b, v! B- L! t5 O
end;7 i7 n/ [" m6 @# t7 A
发表于 2014-10-9 15:03:23 | 显示全部楼层
FOR i:=1 to 100 LOOP, 这里肯定要变化啊。
: c: T3 V- u& R( `  m* J需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量,不太明白。
发表于 2014-10-10 10:43:12 | 显示全部楼层
函数主体 缺少对source物料的数量判断, }( |% }8 N1 q$ O+ A- P/ P
if numberMus = 100 or numberMus > 100 then4 z3 X1 g6 ~$ b5 ?' [0 p) e
       vehicle takes 100 units.
" ~4 {5 s- A% E7 m' lelseif numberMus < 100 then! w% ]7 W4 n+ ]- Z' _
       vehicle takes really number of units.
6 y6 |. I( j% Z5 c& e( o  Z# L$ \end;2 x3 X6 i) W" j& W* e7 Z7 Y
( {. D5 {; W+ i, E! w3 Q+ _
希望帮到你

点评

解答不错,关键最后一次的数量是多少如何确定。  发表于 2014-10-12 07:57
 楼主| 发表于 2014-10-12 19:19:59 | 显示全部楼层
多谢各位! ) B5 g' O' |6 ]- v

" O9 D1 ^6 L1 y: }
 楼主| 发表于 2014-10-12 19:20:50 | 显示全部楼层
dongshui8558 发表于 2014-10-9 15:03
. @6 |) s% `5 b0 S' i4 Y0 L' h( xFOR i:=1 to 100 LOOP, 这里肯定要变化啊。
* @/ T/ p0 r. U7 ~+ p+ H需要说明的是,A点的运输量不是固定的,因为有两台并联的机器, ...

3 R# J% c8 f$ S$ z4 f! ?多谢您提供的方法!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-7-3 22:38 , Processed in 0.016841 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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