全球FlexSim系统仿真中文论坛

标题: 三种BOX上货架的规则 [打印本页]

作者: domcylai    时间: 2012-2-28 13:43
标题: 三种BOX上货架的规则
本帖最后由 domcylai 于 2012-2-28 13:46 编辑

ABC三种货物,A类只能放在1层,B类可以放在2~5层,C类可以放在6~8层;
每种货物所放置的货格容量有限,A类货格只能放2个,B类货格只能放3个,C类货格只能放4个;
[attach]460[/attach]
附件如下:
作者: domcylai    时间: 2012-2-28 14:17
上面的模型有一个比较大的缺陷,就是如果定义的某种货物最大容量超过了实际容量就会出错,因此我修正了一下。[attach]461[/attach]
作者: 794019161    时间: 2012-2-29 20:22
首先感谢版主的分享!!   再次就是不懂rack中行列代码中的cell 1,......2.....3和flownum  与label中的有什么关系? onreset中的代码的参数是什么意思?   setlabelnum(current,"1",0);
                                                                      setlabelnum(current,"2",0);
                                                                      setlabelnum(current,"3",0);
最后求学习编这个软件代码的培训材料!!   万分感谢了!
作者: 794019161    时间: 2012-2-29 20:23
首先感谢版主的分享!!   再次就是不懂rack中行列代码中的cell 1,......2.....3和flownum  与label中的有什么关系? onreset中的代码的参数是什么意思?   setlabelnum(current,"1",0);
                                                                      setlabelnum(current,"2",0);
                                                                      setlabelnum(current,"3",0);
最后求学习编这个软件代码的培训材料!!   万分感谢了!
作者: domcylai    时间: 2012-3-1 10:34
4# 794019161


Flexsim中货架入库的规则其实很简单, 上游请求发送货物到货架 》 货架判断是否可以拉入(拉入条件) 》 可以拉入就 先判断放在哪一列(place in bay), 这个地方返回货架的某一列(这个列用一个数值表示) 》 确定列数以后,再确定 放在哪一层(返回层数) 》 都确定好了以后就触发  OnEntry ....

有趣的是,通常我们如果想要先确定层数 ,再确定列数的时候怎么办呢,  就如我的这个模型一样,在Place in bay 这个地方直接就把层数也确定了,然后将那个层数的值 放在  标签中,  再 place in level的时候直接返回那个标签值就行了。

模型中 1 2 3 标签名表示  类型1  2  3  当前容量  ,   max1 max2 ,max3  表示类型1  2  3 可以放多少个 ,   cell1  cell 2   cell 3   表示 类型1 2 3 的东西在货架中一格能放几个 ,有这些参数就确定了总共能放多少个了。    另外在OnReset 的地方,把  标签 1  2  3 清零,模型重新运行时可以重新表示当前容量,这个地方的代码另外的内容就是 “数据有效性”,学过Excel的朋友应该知道,如果超过容量了会出错,因此我附加了一些条件,使得如果输入的数据Max 错了,就不可以运行了,这样子。

如果还有不明白,就把模型多看看。
作者: 794019161    时间: 2012-3-1 15:33
嗯  说的很详细   细细品味,仔细揣摩中........   谢谢版主!
作者: 794019161    时间: 2012-3-1 15:34
嗯  说的很详细   细细品味,仔细揣摩中........   谢谢版主!
作者: 端的轻飘    时间: 2012-9-29 17:10
感谢版主
作者: eb_sun    时间: 2012-10-22 10:51
很好的学习,辛苦了
作者: zt130025    时间: 2012-10-26 15:40
谢谢
作者: zt130025    时间: 2012-10-26 16:42
请问一下lownum 数值标签,在编程当中,其什么作用,是什么意思?
为什么要设置这么一个变量
作者: superman58    时间: 2012-11-21 15:31
感谢版主,好好学习
作者: superman58    时间: 2012-11-21 15:59
楼主,请问:bays*getlabelnum(current,"cellc1")*1;bays*getlabelnum(current,"cellc2")*4;bays*getlabelnum(current,"cellc3")*3;他们乘以1、4、3是什么意思
作者: domcylai    时间: 2012-11-22 08:37
17# superman58


是一个限制条件,为了保证输入到标签的数值有效。
作者: 蓝桥书生    时间: 2013-11-17 13:15
标记
作者: 1010265352    时间: 2014-8-11 14:44
感谢感谢
作者: btd520    时间: 2015-5-21 13:24
感谢楼主分享,一直不会写这个代码 好好学习
作者: btd520    时间: 2015-5-22 14:31
谢谢分享 好好学习一下
作者: 1010265352    时间: 2015-6-3 19:58
谢谢
作者: fengkiller    时间: 2015-9-13 14:50
学习一下
作者: fengkiller    时间: 2015-9-16 21:22
谢谢楼主
作者: yuzhu    时间: 2015-12-29 15:56
好资料
作者: HelenLin    时间: 2020-12-2 20:41
太厲害了...感謝分享!
作者: 暗月梦影    时间: 2021-5-11 15:20
感谢版主
作者: mawen2020    时间: 2021-7-10 20:52
多谢分享




欢迎光临 全球FlexSim系统仿真中文论坛 (http://www.flexsimasia.com/) Powered by Discuz! X3.3