服务热线: 13472705338
新闻中心 news center

煤矿智能仓储系统研究与设计

伴随互联网、大数据、人工智能技术的迅猛发展,煤矿智能化相关技术与装备水平也在显著提升。同时,随着煤矿智能化程度...
联系我们 contact us
新闻中心
您当前的位置:首页 > 新闻中心 > 智能化仓储中箱式缓存...

智能化仓储中箱式缓存区调度算法的设计与应用

信息来源: 发布时间:2021-12-15 点击数:

随着物流技术和工业生产的快速发展, 现代企业对物料搬运和贮存提出了更高的要求, 仓储方式也逐渐发生改变, 从最初人力手工作业的简单堆积, 到通过叉车等简单设备的仓库式存储, 发展到如今的采用高位叉车、堆垛机、无人导引小车、箱式输送线、拆/码垛机器人等自动化设备的立体仓库存储。智能化立体仓库系统 (Intelligent Stereoscopic Warehouse System, ISWS) , 是一种新型的仓储技术, 是物料搬运和仓储科学中的一门综合科学技术工程。它是以先进的计算机控制技术为主要技术支持, 以高层立体货架和托盘系统为主要手段对货物进行存储, 以自动化搬运设备为基础, 能够适应现代化大批量生产、存储和物资流通的需要, 并且在沟通物流信息、衔接产需、进行科学储备和企业经营决策等方面也起到了特殊的作用。

智能化立体仓库软件系统, 主要包括管理及调度系统, 而调度系统关乎整个系统的自动化程度和成本支出。在现代企业的生产-存储-销售链条中, 产品品种众多, 批次严格, 传统的边生产边存储的方式已经不能满足实际需求。本文以国药集团致君 (深圳) 坪山药业智能化立体仓库为基础, 探讨调度系统开发与实现中采用箱式缓存道的方法解决产品分品种分批次存储问题。

1 相关工作

美国学者J.A.White将仓储中自动化技术的发展分为5个阶段[1]:人工仓储→机械化仓储→自动化仓储→集成化仓储→智能自动化仓储。随着计算机智能化技术的快速发展, 智能自动化仓储成为自动化技术的主要发展方向和研究重点。

国内外许多研究学者针对智能化立体仓库的调度问题进行了大量的研究, 并取得了不少的研究成果。在国内, 田国会等利用计算机仿真技术分别使用Petri网、时态逻辑、模拟退火、遗传算法、神经网络等方法对调度优化问题进行了研究[2,3,4,5];常发亮等通过对物资配送中心的库存管理与布局优化的研究提出了货位的布局策略以及优化算法[6];周奇才提出立体仓库运行控制的优化准则[7], 分析确定仓库系统控制的优化控制数学模型, 并运用有关原理, 提出仓库巷道堆垛机及出入库系统货箱运行的优化控制程序。徐香玲等通过归纳ISWS作业调度的相关原则, 建立了专家系统知识库, 并对专家系统在ISWS调度中的应用可行性进行了分析研究[8]。李诗珍, 李振等也分别通过不同的研究方法对调度优化问题进行了深入的分析与研究[9,10,11,12,13,14,15,16,17,18,19]

在国外, 美国学者Linn.R.将专家系统的思想应用到立体仓库的控制中[20];Kim.Byung等提出了一种基于调度和控制系统的混合智能Agent结构, 并将其应用于ISWS的货位拣选问题[21];Donald.Tepas提出了用一种知识信息系统来辅助决策立体仓库中的调度问题并得到了应用[22];N.Mishra等对批量订单调度问题进行了研究[23]。P.H.Koo等对不同的调度规则对堆垛机的运行时间的影响进行了分析研究[24]。S.R.Nenad通过提出了一种基于时间窗的调度方法对仓库的调度问题进行了分析研究[25]。J.M.belenguer采用分支定界的方法对有一定约束条件的路径规划问题进行求解[26]

尽管国内外的研究学者对智能化立体仓库的研究的侧重点不同, 但是其主要的研究内容主要还是集中在对堆垛机的拣选作业的优化和入库货位选择优化方面, 对除堆垛机外的设备进行研究的较少。其实, 在整个调度系统中针对物料如何合理入出库的前期设计对效率的提高至关重要, 箱式缓存道就是为了解决如何合理集中分配设备资源的问题而被提出。如何根据实际的情况设计出一个尽量减少优化复杂性的调度方式仍是一个重要的课题。因本实例是深圳国药一致药业立体仓库, 该公司集药品的生产、存储及销售于一体, 生产车间在打包完药品成品后会直接将药品放在箱式输送线, 药品经过输送线运送到仓库进行存储。由于车间会同时生产不同品种不同批次的药品, 而为了提高仓库货架的利用率, 将在一个托盘上码垛一定多的药品进行存放, 所以不同批次不同产品的药品在进入仓库时不能立即进行码垛入库, 需要先进行分别积放, 等积放一定的数量后才可进行机器人码垛入库。箱式缓存道就是为了能够使药品进行分品种分批次积放而设计。

2 箱式缓存区系统描述

深圳国药一致药业的生产车间共有三层, 其中二层和三层分别有一道输送线与仓库部分相连接, 所以本系统的箱式缓存区分为上、下两层, 分别有三层车间和二层车间相连接, 并且上、下两层通过再检区相连接。上层和下层缓存区各有9条缓存道。

上层和下层缓存区俯视图如图1所示, 再检区俯视图如图2所示。

图1 上、下层缓存道俯视图

图1 上、下层缓存道俯视图  下载原图


图2 再检区俯视图

图2 再检区俯视图  下载原图


从生产车间输送过来的成品外箱上都贴有惟一标识该成品各种信息的药品电子监管码, 该电子监管码为一维Code128条码。

如图2所示, 箱式缓存区共设有5个条码扫描器, 其中上层和下层分别设有2个, 再检区设有1个。为了加快箱子进入缓存区的节奏, 默认三楼车间输送过来的箱子优先进入上层缓存道, 二楼车间运输过来的箱子优先进入下层缓存道, 只有上层或下层的缓存道已经积放满后才考虑进行换层存放。现以下层缓存道为例描述箱子入缓存道流程, 如图3所示。

3 系统原则及算法

本系统中箱式缓存区的作用主要就是对药品成品进行分品种分批次缓存积放, 由于缓存道的数量已经确定而生产车间的生产产品的品种数量并不能确定, 所以为了尽可能地合理利用缓存道, 对箱式缓存区的调度要求应具备以下几点:

(1) 按照成品批次分配缓存道, 即不同产品不同批次的成品分配不同的缓存道。

图3 箱式缓存道分道流程

图3 箱式缓存道分道流程  下载原图


(2) 按照生产车间与上下层缓存道对应原则优先分道, 即二层车间的成品优先分配下层缓存道, 三层车间的成品优先分配上层缓存道, 以此减少成品的换层时间, 加快成品缓存的节奏。

(3) 如果同品种同批次的产品占用两条以上的缓存道, 那么优先分配给数量多的缓存道使其优先达到满托盘数缓存道。

(4) 对于同品种同批次的缓存道可以实现缓存道的同时释放及同时进入, 尽量减少缓存道的占用, 提高缓存道的利用率。

(5) 为了减少异常产品占用缓存道, 只对异常产品开放第九道缓存道。

(6) 如果缓存道全满, 提示释放, 暂停输送机上产品调度。

(7) 如果当前产品可用缓存道满, 并且后续产品有可用缓存道, 对当前产品进行循环换层处理 (大批量产品的效率要求) 。

根据系统提出的调度原则以及在实际应用中成品入缓存道的情况, 提出以下算法:

Step1:设ai表示缓存道号, a=1表示下层缓存道, a=2表示上层缓存道, 并且令xai (a=1, 2, i=1, 2, …, 9) 表示ai缓存道的状态, xai∈{0, 1}, 0表示ai缓存道未绑定产品批号信息, 1表示ai缓存道已绑定产品批号信息。Nai表示缓存道ai内箱子的数量, Oai表示缓存道ai剩余需要释放的数量, Fai表示缓存道ai满托盘的数量, Fai的取值根据缓存道内产品的不同取值不同, 不同产品的满道数量在入缓存道前应该维护进数据库, 转到Step2。

Step2:箱子通过箱线进入缓存道之前有一个换层区域, 这里通过条码扫描器验证条码, 如果条码扫描器扫到条码, 将条码上传给调度系统, 系统根据条码提供的产品批号信息查询该条码扫描器所在层的缓存道的产品批号绑定信息, 若存在ai缓存道绑定了此产品批号信息且未满 ( (Nai+Oai) <Fai) 则获得缓存道号ai并将该缓存道的数量加1, 即Nai= (Nai+1) , 若与箱子当前层不符则下发换层指令, 箱子进入再检区, 转到Step4;若没有缓存道绑定此产品批号信息, 转到Step3;如果条码扫描器扫描条码失败, 则下发换层指令使箱子进入再检区, 转到Step4。

Step3:若, 系统遍历条码扫描器所在层的缓存道 (默认为下层) , 判断x1j (j=1, 2, …, 9) 是否有x1j=0, 若存在则获得该缓存道号x1j, 绑定产品信息, 设置x1j=1, 并将改道数量加1, 即N1j= (N1j+1) , 转至Step5;若该层没有满足的空缓存道则下发换层命令, 进入再检区, 转到Step4。

Step4:换线再检区, 条码扫描器扫描条码, 若扫描成功, 将条码上传调度系统, 系统获得条码提供的产品批号信息, 依次遍历上层和下层缓存道绑定信息, 尝试获取绑定该批号信息且未满的缓存道号ai, 若获得且缓存道号为下层, 则下发换层下层命令, 转至Step2;若为上层, 则下发换层上层命令。如果没有获取符合条件的, 则遍历依次遍历下层和上层缓存道, 获得空缓存道号ai, 若为下层, 则下发换层下层命令, 转到Step2;若为上层, 则下发换层上层命令。若没有找到符合上面两个条件的缓存道则下发换层下层指令, 是箱子进入循环状态直到找到符合条件的缓存道。如果扫描条码失败, 下发剔除指令将此箱送至剔除位由人工进行后续处理, 转至Step7。

Step5:箱子进入缓存道前也需要进行扫码, 调度系统获得条码信息后查询当前层的产品批号绑定信息进行分道, 并将分道号迅速发送给箱线PLC控制器, PLC控制器根据分道号将箱子进行分道缓存, 转至Step6。

Step6:调度系统实时监测缓存道与机器人状态, 若存在机器人空闲且缓存区存在可释放缓存道, 则下发释放指令, 释放缓存道箱子进入码垛箱线, 同时将产品批号信息以及释放数量和箱型信息与码垛机器人信息进行绑定, 同时更新该释放缓存道的数量信息, 如果释放条件为满足一托盘释放时, 数量更新情况为Nai= (Nai-Fai) , Oai=Fai, 若释放条件为产品结批释放, 则数量更新情况为Nai=0, Oai=Nai, 其中Oai的值是调度系统实时监控缓存道的释放情况逐一递减直到为0, 当缓存道Nai=Oai=0, 则表明该缓存道为空缓存道, 应清空绑定情况, Xai=0, 转至Step7。

Step7:结束。

4 系统实现

国药集团致君 (深圳) 坪山药业立体仓库智能调度系统采用Delphi语言开发, 其开发平台为Borland Delphi 2010。在搭建本系统的开发环境与运行环境时, 还涉及到一些其他的通信软件与技术, 比如OPC技术、Delhpi多线程机制等。在整个系统设计的过程中, 充分考虑了各种异常情况, 并进行相应的处理。实践表明, 智能化立体仓库箱式缓存道调度系统的研究与实现是成功的, 如表1所示。

  

表1 管理及调度系统部分功能和性能与目前部分厂家对比  下载原图



表1 管理及调度系统部分功能和性能与目前部分厂家对比

5 结论

本文主要对箱式缓存区系统进行描述, 并提出了一种对成品合理分配缓存道的算法, 实现了对不同产品不同批次进行分配缓存存放, 在分配缓存道方面实现同批次同缓存道的边进边出, 大大减少了同批次产品进入不同缓存道情况, 并大大提高了缓存道的利用率。在实际使用中效果良好。本智能化立体仓库较一般的智能化立体仓库增加了箱式缓存道。在对不同产品或同产品不同批号进行分道缓存时如何减少对缓存道的占用, 在箱子的分配上如何保证缓存道分配的准确性都是系统研究的重点。在缓存道的调度分配算法中, 采用持续换层的方法处理极端情况下缓存道不够用的异常, 但是在箱子进行上下层换道过程中, 由于不能保证硬件的绝对正确性, 比如条码扫描器, 可能出现抖动从而被多次触发, 对同一个箱子多次扫码, 现在只是在每个箱子扫码完毕后增加延时处理信号, 在逻辑上还不能完全避免扫码异常这个问题。在实际的生产过程中, 需充分考虑各种情况, 才能避免不必要的错误。

上海阳合仓储管理
官方二维码

版权所有©:阳合仓储 公司地址:上海市嘉定区南翔嘉美路428号 联系电话:134-7270-5338 沪公网安备 31011402008347号 沪ICP备14036201号-1