设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4174|回复: 4

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

  [复制链接]
发表于 2014-10-8 20:31:26 | 显示全部楼层 |阅读模式
遇见一个难题,请教各位高手。" j8 s4 Q7 t: U* `$ Z& S6 O

, K- ?: Y* \8 y' W& u使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。
3 h8 K/ C6 W6 \& n# A
6 }5 O# a4 Q/ J6 A- l; l; v# Z- w需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。
, A* n& r5 o$ o7 F+ u- L
1 j3 R* j$ p9 J, { is
; M8 z. a: i1 I, h, d4 m        i,m: integer; -- 整数变量1 I  i" j! H% `  \
        Name:string; -- 字符串变量4 L5 T% C9 E% N5 V2 q) I) ~) ^- v
        Obj:Object; -- 对象类型变量, |! C2 c& E- i7 O4 B* u, k
2 c) r* J8 C: p
do! T' B2 S8 \7 w  f  Y/ W  ]
        m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型8 W$ a8 A+ g, k$ e) S) \8 ~% W
        Name := sprint("BA", m);  -- 生产线名称5 [; |5 g. f. O
        Obj := str_to_obj(Name);  -- 转换成对象变量
& z' Z" c7 S" z0 d, n   
3 w; `- G  |4 y        FOR i:=1 to 100 LOOP
8 @6 s: j1 j* X' w8 h                    waituntil OBJ.occupied prio 1;
' t$ ~- k6 Y0 d  i  t+ n9 [; K# f                 OBJ.cont.move(@);        / d( R9 O  C4 S5 W& @% U& _
        + p$ n2 z# N4 r
        NEXT;+ {' N8 p5 f- Y4 N$ d1 u
                @.backwards:=false;9 M( p! k6 {1 J; C4 I! g
end;+ [& p- ?* N0 u1 D+ ?
发表于 2014-10-9 15:03:23 | 显示全部楼层
FOR i:=1 to 100 LOOP, 这里肯定要变化啊。
* I) k8 n( l" P需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量,不太明白。
发表于 2014-10-10 10:43:12 | 显示全部楼层
函数主体 缺少对source物料的数量判断
0 d6 e. u: S& q9 k, E+ q) ?% r5 V8 Fif numberMus = 100 or numberMus > 100 then# t7 h- W: q6 |, ?) b! B7 G
       vehicle takes 100 units.4 V; j7 a! u& Z- D& y% j0 v
elseif numberMus < 100 then
+ i% w1 `$ }$ G0 C% S. o5 y0 m       vehicle takes really number of units.
+ g+ @* B, [+ Z+ L1 A0 q: D7 fend;/ j# L$ ]: L' {$ `: y+ T
/ k; D# f/ \) ~/ b, U8 o# J
希望帮到你

点评

解答不错,关键最后一次的数量是多少如何确定。  发表于 2014-10-12 07:57
 楼主| 发表于 2014-10-12 19:19:59 | 显示全部楼层
多谢各位! . H9 R& t4 Y% M, G0 W

3 t2 `! Z, a* W' g
 楼主| 发表于 2014-10-12 19:20:50 | 显示全部楼层
dongshui8558 发表于 2014-10-9 15:03
5 g' B; ^& O7 h" `7 `0 `FOR i:=1 to 100 LOOP, 这里肯定要变化啊。$ z, }+ n: A8 r4 |# L2 C& `
需要说明的是,A点的运输量不是固定的,因为有两台并联的机器, ...
" T3 T3 s' A* M+ ^: E& ~4 G; g
多谢您提供的方法!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-9 03:47 , Processed in 0.021769 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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