设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4650|回复: 4

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

  [复制链接]
发表于 2014-10-8 20:31:26 | 显示全部楼层 |阅读模式
遇见一个难题,请教各位高手。( E% F! K( Q, F9 Z3 p  d/ G* p
8 q' m3 a  X+ o
使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。! y" j6 e8 K# G" h. H
& l: y( p- G4 z
需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。; y( Z: F1 _7 s3 c% u( e
; h1 L8 |& h4 b" Q, p* z! L: r
is
$ o" U! C: v" K7 |: V3 O& y$ }        i,m: integer; -- 整数变量
" L* [" u$ Y* s& R2 R6 y# P5 t1 s        Name:string; -- 字符串变量
0 [  P2 k& F; t        Obj:Object; -- 对象类型变量/ m: l, K/ I7 \6 K& Y
/ ]* O" L# Z* z  v0 _
do% d+ t' K7 o. d. r0 `
        m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型
$ {1 O7 O  {1 `& s+ F- n- o        Name := sprint("BA", m);  -- 生产线名称
$ D1 b/ H2 X- M        Obj := str_to_obj(Name);  -- 转换成对象变量. l" \+ H/ R" I% e
   
) f3 e- A4 w/ |( ]  M; j        FOR i:=1 to 100 LOOP" ^2 F% I  j  j0 T
                    waituntil OBJ.occupied prio 1;
! `% N/ I: _0 _9 c' ~6 ~                 OBJ.cont.move(@);        + F) Z2 Y9 V0 b6 g
        0 B) U- s! E" k" l
        NEXT;
6 Q6 X( D. x* B. V3 k                @.backwards:=false;
( n4 k  C, u& Z0 Q! u- K$ g+ C# L4 aend;
0 {1 D  @  A& |# X3 _' d# P
发表于 2014-10-9 15:03:23 | 显示全部楼层
FOR i:=1 to 100 LOOP, 这里肯定要变化啊。, k0 N3 t6 i0 P& J
需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量,不太明白。
发表于 2014-10-10 10:43:12 | 显示全部楼层
函数主体 缺少对source物料的数量判断- m" P9 Y& j/ R3 m9 _0 o7 N' X
if numberMus = 100 or numberMus > 100 then
! D! y( S* H4 W5 u! h- j  V       vehicle takes 100 units.( A/ d+ T( O6 w2 w" D
elseif numberMus < 100 then$ K  |& [% _7 _* Q8 V; I
       vehicle takes really number of units.4 g5 _  U2 t# N2 N/ a; b) Y
end;  k- p8 ]! S3 Z1 \+ Q/ w

$ S$ S* E/ o8 w4 Y( X- E! I% C' ^希望帮到你

点评

解答不错,关键最后一次的数量是多少如何确定。  发表于 2014-10-12 07:57
 楼主| 发表于 2014-10-12 19:19:59 | 显示全部楼层
多谢各位! 7 F" n, _6 b9 `2 L
$ f8 j( N6 h. M, Q- \1 T0 `, S
 楼主| 发表于 2014-10-12 19:20:50 | 显示全部楼层
dongshui8558 发表于 2014-10-9 15:03 7 O6 i/ ^  t5 `  \. }4 K9 m! i
FOR i:=1 to 100 LOOP, 这里肯定要变化啊。
# j3 b/ q3 D. I9 ^( n: h; X需要说明的是,A点的运输量不是固定的,因为有两台并联的机器, ...
) l( C) k. ~! [
多谢您提供的方法!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-11 07:01 , Processed in 0.025864 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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