设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5227|回复: 4

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

  [复制链接]
发表于 2014-10-8 20:31:26 | 显示全部楼层 |阅读模式
遇见一个难题,请教各位高手。3 W; H8 a* |. V
6 Y2 }* \) d8 y) B# u2 d4 }* b
使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。. F2 d7 b& r# f6 q0 C1 Z$ ]2 j8 @
- Y- B  F& D9 _' {3 q# \
需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。
. Q6 o& g% Q, ~; k3 t2 j% w" ~/ M) T( |) i& k' L4 A- F6 b/ `
is
( c1 u# S% v7 M+ H) @' l        i,m: integer; -- 整数变量
. L2 D2 }* U, |: q4 w        Name:string; -- 字符串变量
# R7 R2 _( C# j! ~/ ?        Obj:Object; -- 对象类型变量
* V/ A& a4 s) Q: X$ @5 r. j! E1 ^4 W% p5 p
do
' _+ j, i! W& O2 c        m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型, w0 E3 v5 r  y9 T( X1 G( y' x
        Name := sprint("BA", m);  -- 生产线名称
$ p# F; E+ x/ u# ?7 U0 l        Obj := str_to_obj(Name);  -- 转换成对象变量
( U. h. t/ ?, b  F: y6 |6 e/ s   6 g- \4 D$ h1 e* D2 B! o" n
        FOR i:=1 to 100 LOOP" m) r' K" v* v0 B2 f3 v6 G: V
                    waituntil OBJ.occupied prio 1;/ t2 U: I8 h7 C- c$ `. _' [
                 OBJ.cont.move(@);        - H6 g  C- |8 @1 `8 M1 ~- L
       
" q+ {! |. B# @        NEXT;
3 Y2 w5 i5 J- C6 g+ Q/ ?/ k                @.backwards:=false;. r8 p: F/ }9 a1 ^3 s8 f
end;+ Q' N3 n  h  W
发表于 2014-10-9 15:03:23 | 显示全部楼层
FOR i:=1 to 100 LOOP, 这里肯定要变化啊。3 }( `1 X3 J2 r9 a' f5 m, `
需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量,不太明白。
发表于 2014-10-10 10:43:12 | 显示全部楼层
函数主体 缺少对source物料的数量判断- J  }1 j/ d# s5 {' n7 I
if numberMus = 100 or numberMus > 100 then
* e# o. D/ s  ?, f       vehicle takes 100 units.+ z; P# M0 e1 }" @
elseif numberMus < 100 then6 l9 _7 K" A' L1 `. s$ k6 |
       vehicle takes really number of units.
0 }7 `) {* F( g* p2 [& zend;
9 L/ v' q5 t! @5 v1 z2 x
; A+ G8 \- j8 o$ W$ W希望帮到你

点评

解答不错,关键最后一次的数量是多少如何确定。  发表于 2014-10-12 07:57
 楼主| 发表于 2014-10-12 19:19:59 | 显示全部楼层
多谢各位!
/ f% T$ D, X9 B, K0 T4 F7 \) k% E
! m! R. I+ n  c0 @, C- h
 楼主| 发表于 2014-10-12 19:20:50 | 显示全部楼层
dongshui8558 发表于 2014-10-9 15:03
5 M/ t- q' U/ `, H5 N, MFOR i:=1 to 100 LOOP, 这里肯定要变化啊。$ ?: [' g3 n3 a8 w2 \
需要说明的是,A点的运输量不是固定的,因为有两台并联的机器, ...

' Y* {- @% e( N; x/ q! W0 z/ }多谢您提供的方法!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-19 23:14 , Processed in 0.024903 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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