Flexsim-查找货架上指定货格的货物案例

Flexsim-查找货架上指定货格的货物案例


前言

函数帮助:
rackgetitembybaylevel(obj rack, num bay, num level, num itemrank);
rackgetbayofitem(ojb rack,obj item);
rackgetlevelofitem(ojb rack,obj item);


一、模型搭建

在这里插入图片描述
如图所示,有一个发生器(Source1)和货架(Rack1)。此时有两个操作员需要搬运指定货格中的item前往暂存区(Queue1)。两个操作员搬运的方法不同。

前提:在Rack1的OnEntry触发里,写入以下代码,以便观察item的货格:

/**Custom Code*/
Object current = ownerobject(c);
Object item = param(1);
int port = param(2);
int bay = param(3);
int level = param(4);
int row=rackgetbayofitem(current,item);//等同于当前页面的int bay = param(3);
int col=rackgetlevelofitem(current,item);//等同于当前页面的int level = param(4);
item.labels.assert("row").value=row;
item.labels.assert("col").value=col;
if (true) 
{
	string listName = "item_List";
	List(listName).push(item,0);
}

1.Operator1

在这里插入图片描述
在“random”中使用随机数,随机生成第几行,第几列。
使用objectexits()函数判断第几行,第几列中是否存在item;
使用rackgetitembybaylevel()函数定义item;

2.Operator2

在这里插入图片描述
与Operator1不同的地方在于:使用了pull from list 去定义item,代替了rackgetitembybaylevel();

query(WHERE row==puller.row and col==puller.col)

上面的代码是写在pull from list>Query/Object/Array;


总结

其实还有很多方法可以实现操作员去取指定货格的货物,上面的两种方案只是参考。

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值