设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4936|回复: 4

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

  [复制链接]
发表于 2014-10-8 20:31:26 | 显示全部楼层 |阅读模式
遇见一个难题,请教各位高手。
! T) a4 |) A4 X7 w7 ^" ^* v. m' G# D6 Y0 J$ U
使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。- K- D4 W% S3 r0 a* q9 n/ T

2 |3 d9 b/ t1 U; K) r4 a需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。
) `2 P- ~) Z9 I* b, m" a2 K1 p6 W6 e8 `9 G  O0 Q1 Y+ `
is1 }, w7 O* z$ ]$ c: J
        i,m: integer; -- 整数变量, l. V4 R6 t1 }+ B" J/ l
        Name:string; -- 字符串变量9 E3 K' c! b) e" Z! V& a9 Y7 e
        Obj:Object; -- 对象类型变量% V: @0 `" m" ~$ f% k. n) Q
4 _& y- t& h7 o  |: c- H
do
  o" P2 R4 F' t9 D4 n" ?        m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型
& _6 s  C3 e) W) i. a2 E5 M        Name := sprint("BA", m);  -- 生产线名称
/ |9 C- `3 t) U. j6 o        Obj := str_to_obj(Name);  -- 转换成对象变量; M9 c$ y6 J3 {$ N* `" C; Y* [
   
+ K9 S1 o. k5 {        FOR i:=1 to 100 LOOP0 F1 E. P7 G: O" {5 u& P
                    waituntil OBJ.occupied prio 1;! e$ @7 O4 b; {* W3 T6 h% o
                 OBJ.cont.move(@);        & j) f  d9 e. G/ g* b6 j
       
2 }1 F3 X9 ]- V, r2 w        NEXT;
& ]- D) K4 h; v: m- B1 W                @.backwards:=false;
' C$ H2 a4 X) E8 `end;( b! ~; H# w/ i2 p. r! {3 n
发表于 2014-10-9 15:03:23 | 显示全部楼层
FOR i:=1 to 100 LOOP, 这里肯定要变化啊。
$ i8 A; @: L# P7 B- ?需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量,不太明白。
发表于 2014-10-10 10:43:12 | 显示全部楼层
函数主体 缺少对source物料的数量判断
, q1 a$ U! g$ F0 h% n: {6 A. _; uif numberMus = 100 or numberMus > 100 then( I6 Q$ `+ d7 }/ r4 D8 c8 h
       vehicle takes 100 units.8 W6 }' [' j3 M
elseif numberMus < 100 then
2 }* L1 {$ l/ i0 `  g       vehicle takes really number of units.
: O3 g  G( I) u' G! I' J# ]end;
2 B4 t, O" K) `
3 Z9 g8 E$ V2 M. I( |希望帮到你

点评

解答不错,关键最后一次的数量是多少如何确定。  发表于 2014-10-12 07:57
 楼主| 发表于 2014-10-12 19:19:59 | 显示全部楼层
多谢各位! : I7 e5 _2 H8 r5 ]8 k7 P5 U
  U  @! q/ {8 p! U; B# ?+ T
 楼主| 发表于 2014-10-12 19:20:50 | 显示全部楼层
dongshui8558 发表于 2014-10-9 15:03
. L$ _1 S0 j3 y" _: dFOR i:=1 to 100 LOOP, 这里肯定要变化啊。
, k+ c2 U: i7 [  P( S需要说明的是,A点的运输量不是固定的,因为有两台并联的机器, ...

. B) G( h8 p7 ~9 \1 B多谢您提供的方法!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-30 21:20 , Processed in 0.019368 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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