设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5727|回复: 4

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

  [复制链接]
发表于 2014-10-8 20:31:26 | 显示全部楼层 |阅读模式
遇见一个难题,请教各位高手。
4 C. }+ J& z# U; M2 z4 o1 V% ?5 `/ S8 X5 b: H3 B) a; j$ R
使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。
" o8 Q) W, \+ B7 o: F7 |
6 h0 v) P3 F7 B% L' q) _- p需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。1 r' i% c& m  q+ g! c

+ R1 W! g. g- }& @ is% x4 H/ }! M/ [6 i8 |3 G: K$ m
        i,m: integer; -- 整数变量; B& x; i# E4 j- \: [4 y% n! U! Z1 i/ u
        Name:string; -- 字符串变量
: @3 W! o2 K* x" T6 c& Q        Obj:Object; -- 对象类型变量
% f. V$ @4 S! v6 W. p8 N
& J  M) x: Z% \; {  u8 K3 Ydo
$ f. O2 c3 \8 _9 E; b9 p' ?5 Q        m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型$ T! \1 j( t; V' U! q2 ]
        Name := sprint("BA", m);  -- 生产线名称0 _4 S4 X' n- P# _
        Obj := str_to_obj(Name);  -- 转换成对象变量
3 j- L* b9 C4 P% O& l7 K   
. h% c; `4 b' U4 f. R        FOR i:=1 to 100 LOOP
6 {2 W+ R2 b" g, \6 x" w                    waituntil OBJ.occupied prio 1;
4 {2 R! i9 }* c0 |                 OBJ.cont.move(@);       
3 x% J6 \7 Y8 ?       
* w8 v& e5 j) L        NEXT;
  f9 O3 d; n$ m; M. y) h* f                @.backwards:=false;# O( G' k1 |( m1 O
end;1 h" M( \1 F; ]# ], \
发表于 2014-10-9 15:03:23 | 显示全部楼层
FOR i:=1 to 100 LOOP, 这里肯定要变化啊。
, x! _, y/ }( v8 }9 O8 u需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量,不太明白。
发表于 2014-10-10 10:43:12 | 显示全部楼层
函数主体 缺少对source物料的数量判断2 h! [/ L0 K+ y9 f+ a# A
if numberMus = 100 or numberMus > 100 then
5 U4 E3 g# X# E* |  t; Y; E3 `       vehicle takes 100 units.
# {& D2 J5 i2 ~0 v% W: q# y# selseif numberMus < 100 then
2 m8 D3 J( Y1 s9 i% i2 ~- B$ ?6 U/ \       vehicle takes really number of units.2 D0 [2 e1 _3 I- Z; E
end;
) Z# i  f- Y/ z6 [- e
0 r% i$ d/ f, t2 A. [% K& K$ q希望帮到你

点评

解答不错,关键最后一次的数量是多少如何确定。  发表于 2014-10-12 07:57
 楼主| 发表于 2014-10-12 19:19:59 | 显示全部楼层
多谢各位! 3 z# R# k6 Z  D; M/ X" A% R
" X( b' A1 f0 u/ W2 ?* G5 u5 a# B
 楼主| 发表于 2014-10-12 19:20:50 | 显示全部楼层
dongshui8558 发表于 2014-10-9 15:03
7 a7 A: |7 I, F/ @/ `" M' CFOR i:=1 to 100 LOOP, 这里肯定要变化啊。
3 _8 n! `0 P- V) Y! u需要说明的是,A点的运输量不是固定的,因为有两台并联的机器, ...

& e- Z# j* @3 s/ ^$ _* M! k多谢您提供的方法!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-10 13:29 , Processed in 0.019423 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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