设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5169|回复: 4

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

  [复制链接]
发表于 2014-10-8 20:31:26 | 显示全部楼层 |阅读模式
遇见一个难题,请教各位高手。
- t* F$ \9 L4 n, q$ t" z9 T, a$ |' R: D
使用transporter将物料从A点运送到B点,通常情况下,每次运输100件,但是运输几次后,剩余的产品不够100件(例如订单总数是220件,第一次运输100件,第二次运输100件,第三次只有 20件可以运了),当运行到第三次的时候,仿真就停滞了,无法继续下去。不知道如何修改程序(我现在的程序如下)。- y4 z# o% t  Z5 o- u& [
; z4 @: e" k8 j: p2 H
需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量。) I. }# I, Q0 U$ G$ A- E1 c
; ^$ T1 K" \! o! Q- Q
is
7 k  Z# E' n/ g; J6 P        i,m: integer; -- 整数变量
% B9 y) q  _$ L/ o3 G2 L1 e        Name:string; -- 字符串变量+ l9 w/ ]/ n" F( T7 X
        Obj:Object; -- 对象类型变量* H! U% s# B, q% v6 }

+ V" E/ I9 B1 b: Y4 qdo
1 A9 t- @: |: G9 C& |8 a0 O        m := str_to_num(omit(?.Name,1,1)); -- 先取Drain*后面的数字,在转换成整数类型7 l0 R- }9 I, d1 P9 {* W
        Name := sprint("BA", m);  -- 生产线名称
7 \) q1 e7 \, j% r% ^        Obj := str_to_obj(Name);  -- 转换成对象变量
( i& L* C# L: U1 Q     Z4 x, b1 R1 q! E- l( @
        FOR i:=1 to 100 LOOP
* b  g3 Y6 Y5 q% Q                    waituntil OBJ.occupied prio 1;7 v& y7 T9 L( G! w7 q
                 OBJ.cont.move(@);        5 r1 z3 Z- A# }" y4 `( B
       
7 d% b( y* u/ q2 D, z6 R# y) g        NEXT;
  F' U* K* D7 t7 e* A                @.backwards:=false;
' @  F5 O; E: s; X7 f; qend;5 [7 ]$ z0 Y5 o7 T: d' f% G
发表于 2014-10-9 15:03:23 | 显示全部楼层
FOR i:=1 to 100 LOOP, 这里肯定要变化啊。
2 ~: w. g) R# |0 M. V2 s# v需要说明的是,A点的运输量不是固定的,因为有两台并联的机器,因此我无法通过表格直接得出已运送量和未运送量,不太明白。
发表于 2014-10-10 10:43:12 | 显示全部楼层
函数主体 缺少对source物料的数量判断, p& Q0 F) T/ q' {; |- d! `1 `' \
if numberMus = 100 or numberMus > 100 then& |! j, O9 P) y. Q/ x
       vehicle takes 100 units.# ^$ A% I5 H+ N' W. v4 S
elseif numberMus < 100 then
, G0 h: J- z+ V4 r' o/ m       vehicle takes really number of units.
& ?2 D) D( I: X4 p/ {end;3 H9 Y9 q7 t  R" u8 q7 h
- J3 |9 l. v0 }
希望帮到你

点评

解答不错,关键最后一次的数量是多少如何确定。  发表于 2014-10-12 07:57
 楼主| 发表于 2014-10-12 19:19:59 | 显示全部楼层
多谢各位! 5 i2 _" C* K$ [1 V2 q) l  J

7 E1 L8 B0 r( Z% J7 S. Z
 楼主| 发表于 2014-10-12 19:20:50 | 显示全部楼层
dongshui8558 发表于 2014-10-9 15:03 6 u& [. G  T5 i7 o( P. q: K) y
FOR i:=1 to 100 LOOP, 这里肯定要变化啊。
! j6 j+ E9 V" O需要说明的是,A点的运输量不是固定的,因为有两台并联的机器, ...
2 Y' Y$ J) Y' s7 m- |; G. W
多谢您提供的方法!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-4 11:50 , Processed in 0.023781 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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