全球FlexSim系统仿真中文论坛

搜索
查看: 4099|回复: 1
打印 上一主题 下一主题

新版传送带实现按百分比发送至支线

[复制链接]
跳转到指定楼层
1#
Yumaotuo 发表于 2018-4-25 14:49:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1、模型描述
有一条具有5条支线的分拣线,随机到达两种类型的产品,类型1的产品分别以50%发送至支线1和支线2,类型2的产品分别以30%,40%,40%发送至支线3、4、5。
2、模型布局:

发生器和分拣传送带A连接;分拣传送带入口处的决策点分别与支线上的决策点A连接;5条支线分别与吸收器A连接。

3、代码编写

设置两种类型的产品随机到达:
在发生器的创建触发中写入以下代码,创建两种类型的产品。
item.Type = duniform(1,2);//类型标签为1-2的随机均匀分布
item.color = Color.byNumber(item.Type);//根据类型标签值设置颜色
按类型值和相应百分比发送至下游:

在分拣传送带入口处的决策点的到达触发中写入代码
if(item.Type == 1)
{
       doublenum1 = uniform(0,100);
       if(num1<50)
       {
              conveyorsenditem(item,current.outObjects[1]);
       }
       elseif(num1<100)
       {
              conveyorsenditem(item,current.outObjects[2]);
       }
}
else
{
       doublenum2 = uniform(0,100);
       if(num2<30)
       {
              conveyorsenditem(item,current.outObjects[3]);
       }
       elseif(num2<70)
       {
              conveyorsenditem(item,current.outObjects[4]);
       }
       elseif(num2<100)
       {
              conveyorsenditem(item,current.outObjects[5]);
       }

}
新版本传送带实现分拣功能大抵跟这个模型中的代码逻辑一致,根据标签值确定去往哪个下游,然后根据随机数的取值范围设定百分比,注意设置百分比的判断语句是if和else if的组合,num取值的间隔值为该端口的百分比,最终是num<100。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
2#
WangQinqin 发表于 2018-4-25 14:53:25 | 只看该作者
好棒,感谢分享,学习学习!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|全球FlexSim系统仿真中文论坛 ( 京ICP备14043114号-2 )

GMT+8, 2025-6-28 21:31 , Processed in 0.075058 second(s), 14 queries .

Powered by Discuz! X3.3© 2001-2013 Comsenz Inc.

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