CN116308052B - 一种仓储管理系统及其控制方法 - Google Patents
一种仓储管理系统及其控制方法 Download PDFInfo
- Publication number
- CN116308052B CN116308052B CN202310277188.3A CN202310277188A CN116308052B CN 116308052 B CN116308052 B CN 116308052B CN 202310277188 A CN202310277188 A CN 202310277188A CN 116308052 B CN116308052 B CN 116308052B
- Authority
- CN
- China
- Prior art keywords
- data
- task
- warehousing
- module
- warehouse
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 80
- 238000003860 storage Methods 0.000 claims abstract description 147
- 238000004364 calculation method Methods 0.000 claims abstract description 78
- 230000006854 communication Effects 0.000 claims description 139
- 238000004891 communication Methods 0.000 claims description 136
- 230000003993 interaction Effects 0.000 claims description 17
- 238000012544 monitoring process Methods 0.000 claims description 16
- 230000000670 limiting effect Effects 0.000 claims description 2
- 238000004422 calculation algorithm Methods 0.000 abstract description 5
- 238000007726 management method Methods 0.000 description 98
- 230000008569 process Effects 0.000 description 31
- 238000012384 transportation and delivery Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 238000011161 development Methods 0.000 description 9
- 230000007717 exclusion Effects 0.000 description 9
- 230000001360 synchronised effect Effects 0.000 description 9
- 238000009826 distribution Methods 0.000 description 8
- 238000004519 manufacturing process Methods 0.000 description 8
- 239000000243 solution Substances 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000010354 integration Effects 0.000 description 5
- 230000009191 jumping Effects 0.000 description 5
- 230000002829 reductive effect Effects 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 230000008520 organization Effects 0.000 description 4
- 238000013439 planning Methods 0.000 description 4
- 238000012216 screening Methods 0.000 description 4
- 238000002347 injection Methods 0.000 description 3
- 239000007924 injection Substances 0.000 description 3
- 230000008521 reorganization Effects 0.000 description 3
- 238000012163 sequencing technique Methods 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/087—Inventory or stock management, e.g. order filling, procurement or balancing against orders
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Data Mining & Analysis (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例提供了一种仓储管理系统及其控制方法,可以解决仓储场景中缺少管理算法及仓储设备之间难以互联互通的问题,并尽可能地提高仓储管理的执行效率。本申请实施例方法包括:获取决策子系统中的单据数据及仓储数据,并将单据数据发送至操作终端子系统;触发与单据数据对应的仓储操作数据,并将仓储操作数据转发至决策子系统;根据仓储操作数据及仓储数据进行决策计算,以确定仓储管理系统的仓储任务数据,并将仓储任务数据传输至队列子系统;调整仓储任务数据中仓储作业任务的初始队列,以确定仓储作业任务的目标队列,并生成仓储任务数据的目标仓储任务;将目标仓储任务分发至执行设备,以使得执行设备根据目标队列执行目标仓储任务。
Description
技术领域
本申请实施例涉及边缘计算技术领域,尤其涉及一种仓储管理系统及其控制方法。
背景技术
仓储是企业的供应链体系中最重要的一个环节,随着产业的不断发展和企业的不断壮大,仓储作业和管理已不断向复杂化、多样化和智能化发展,对仓储的要求也不断提高,传统的仓储手段已无法满足企业发展的要求。
从实际现状来看,在大型的、复杂的仓储场景下,仓储出入库作业存在任务多、目标多、约束多等极其复杂的特性,是典型的多约束求最优化解问题。而现行的仓储的管理,一般由企业资源规划(ERP,enterprise resource planning)系统或仓库管理系统系统(WMS,warehouse management system)进行管理,这类系统只能实现出入库单据的管理,只能实现非常有限的单据级数字化管理,无法针对上述复杂的出入库作业进行智能的任务决策,帮助用户迅速推荐出最佳的作业任务顺序和方式,更无法实现程序闭环。以上问题,不仅在效率方面大大增加了企业的管理成本,还可能会引发作业错误,导致企业产生经济损失。
发明内容
本申请实施例提供了一种仓储管理系统及其控制方法,可以解决仓储场景中缺少管理算法及仓储设备之间难以互联互通的问题,并尽可能地提高仓储管理的执行效率。
本申请实施例第一方面提供了一种仓储管理系统,包括:两两相互通讯连接的决策子系统、队列子系统及操作终端子系统;
所述决策子系统包括第一通讯模块、决策引擎模块及任务管理模块,所述第一通讯模块、所述决策引擎模块及所述任务管理模块之间相互通讯连接;
其中,所述第一通讯模块用于建立所述决策子系统与所述队列子系统之间的第一通讯链路,并通过所述第一通讯链路与所述决策引擎模块进行仓储数据的数据交互,以及建立所述决策子系统与所述操作终端子系统之间的第二通讯链路,并通过所述第二通讯链路与所述任务管理模块进行所述仓储数据的数据交互;
所述决策引擎模块,用于确定所述仓储管理系统的仓储任务数据,并将所述仓储任务数据转发至所述任务管理模块或所述第一通讯模块;
所述任务管理模块,用于存储所述仓储任务数据,以使得所述队列子系统根据所述仓储任务数据执行对应的仓储作业任务;
所述队列子系统包括相互通信连接的任务队列模块、任务执行模块、设备状态监测模块、第二通讯模块及设备数据接口模块;
其中,所述第二通讯模块用于建立所述队列子系统与所述操作终端子系统的第三通信链路,并通过所述第三通讯链路与所述操作终端子系统进行数据交互;
所述设备状态监测模块,用于监测执行设备的运行状态,并根据所述运行状态判断所述执行设备是否满足触发条件;
所述任务队列模块,用于调整所述仓储任务数据中的所述仓储作业任务的队列排序,以生成目标仓储任务;
所述任务执行模块,用于获取所述目标仓储任务,并当所述执行设备满足所述触发条件时,分发所述目标仓储任务至所述执行设备;
所述设备接口模块,用于与所述执行设备进行数据交互,并将所述目标仓储任务发送至所述执行设备,以使得所述执行设备执行与所述目标仓储任务关联的仓储任务;
所述操作终端子系统包括相互通信连接的第三通讯模块及单据列表模块;
其中,所述第三通讯模块分别根据所述第二通讯链路及所述第三通讯链路与所述决策子系统及所述队列子系统进行所述仓储数据的数据交互;
所述单据列表模块,用于根据所述仓储数据进行仓储作业操作,以产生与仓储作业操作相对应的仓储操作数据,以使得所述决策引擎模块根据所述仓储操作数据确定所述仓储任务数据。
可选地,还包括设备控制系统,所述设备控制系统至少包括所述执行设备及通讯接口模块,其中所述执行设备与所述通讯接口模块通讯连接;
所述通讯接口模块,用于建立所述设备控制系统与所述队列子系统的第四通信链路,并通过所述第四通信链路与所述队列子系统进行数据交互;
所述执行设备,用于通过所述第四通信链路,将所述执行设备的所述运行状态发送至所述队列子系统、所述操作终端子系统及所述决策子系统,以使得所述队列子系统、所述操作终端子系统及所述决策子系统根据所述运行状态调整仓储作业操作及与所述仓储作业操作对应的仓储任务。
可选地,所述决策子系统至少还包括相互通讯连接仓储初始化模块、约束组模块、产品模块、策略组模块、容器模块或流转设备模块中的一种或多种;其中,
所述仓储初始化模块,用于定义所述仓储管理系统中仓储的仓储类型数据及与所述仓储类型数据对应的仓储设备数据;
所述容器模块,用于定义于所述仓储作业任务中的容器的仓储容器类型及与所述仓储容器类型对应的产品的仓储产品类型;
所述产品模块,用于定义所述仓储产品类型的产品规格数据;
所述流转设备模块,用于定义于所述仓储作业任务中,对所述容器执行仓储任务的设备的仓储设备类型及设备参数数据;
所述约束组模块,用于定义所述决策引擎模块的约束条件,以使得所述决策引擎模块根据所述约束条件确定所述仓储任务数据;
所述策略组模块,用于定义所述决策引擎模块的目标分配结果,以使得所述决策引擎模块根据所述目标分配结果确定所述仓储任务数据;
其中,所述仓储数据至少包括所述仓储类型数据、所述仓储设备数据、所述仓储容器类型、所述仓储产品类型、所述产品规格数据、仓储设备类型、设备参数数据、约束条件或所述目标输出结果中的一种或多种。
可选地,所述决策子系统还包括相互通讯连接的作业单据模块或仓库实况模块中的一种或多种;
所述作业单据模块,用于创建与所述仓储任务数据对应的单据数据,以确定所述仓储管理系统中产品或容器的数量条件数据;
所述仓库实况模块,用于存储容器或产品的库存数量数据,并将所述库存数量数据进行展示,其中所述库存数量数据包括所述容器的库存数量数据或所述产品的库存数量数据。
可选地,所述队列子系统还包括第一日志管理模块,所述第一日志管理模块与所述队列子系统中的所有模块相互通信连接;
所述第一日志管理模块,用于根据所述目标仓储任务,记录对应于所述目标仓储任务的执行记录数据。
可选地,所述操作终端子系统还包括第二日志管理模块,所述第二日志管理模块与所述操作终端子系统中的所有模块相互通信连接;
所述第二日志管理模块,用于记录所述单据列表模块根据所述仓储操作数据生成的执行记录数据。
本申请实施例第二方面提供了一种仓储管理系统的控制方法,所述仓储管理系统包括两两相互通讯连接的决策子系统、队列子系统及操作终端子系统,所述方法包括:
获取所述决策子系统中的单据数据及仓储数据,并将所述单据数据发送至所述操作终端子系统;
触发与所述单据数据对应的仓储操作数据,并将所述仓储操作数据转发至所述决策子系统;
根据所述仓储操作数据及所述仓储数据进行决策计算,以确定所述仓储管理系统的仓储任务数据,并将所述仓储任务数据传输至所述队列子系统;
调整所述仓储任务数据中仓储作业任务的初始队列,以确定所述仓储作业任务的目标队列,并生成所述仓储任务数据的目标仓储任务;
将所述目标仓储任务分发至执行设备,以使得所述执行设备根据所述目标队列执行所述目标仓储任务。
本申请实施例第二方面提供的控制方法用于控制第一方面所述的仓储管理系统。
从以上技术方案可以看出,本申请实施例具有以下优点:本申请实施例提出的一种仓储管理系统,包括两两相互通讯连接的决策子系统、队列子系统及操作终端子系统。本申请实施例中的仓储管理系统,将复杂的系统运算屏蔽在决策子系统、队列子系统中,简单的用户操作体现在操作终端子系统中,使得用户能够以极简单的操作,实现极复杂仓储作业。同时,各个子系统之间的通讯连接,能够实现仓储任务的智能闭环,并实现仓储作业操作的可追溯以及可优化,尽可能的减小企业的管理成本以及运营成本。
此外,本发明还针对仓储管理系统提供了相应的控制方法,进一步使得上述系统更具有实用性,该方法具有相应的优点。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本申请实施例公开的一种仓储管理系统的结构示意图;
图2为本申请实施例公开的一种决策系统的结构示意图;
图3为本申请实施例公开的一种队列系统的结构示意图;
图4为本申请实施例公开的一种操作终端系统的结构示意图;
图5为本申请实施例公开的一种仓储管理系统的控制方法的流程示意图;
图6为本申请实施例公开的另一种仓储管理系统的控制方法的流程示意图;
图7为本申请实施例公开的一种决策系统中决策计算的流程示意图;
图8为本申请实施例公开的一种队列任务的组织图;
图9为本申请实施例公开的一种仓储管理系统的交互示意图。
具体实施方式
传统的仓储手段一般指货物存储部分根据被存储对象的形态和特点使用大面积的堆场或者立体式货架作为载体对货物进行存储,其流转部分通过人工或叉车等手段实现,数据方面通过账本或简单的电子表格系统进行管理。整体而言效率低,出错率高并且对人力、场地的消耗都比较大,造成企业管理成本、人员成本的上升。现已逐步向自动化、智能化的仓储发展。自动化、智能化的仓储手段一般指将传统平层存储的货架向垂直方向增加储位,减少占地面积换取更多的存储空间,将货物置于托盘、料箱等容器上,再借助升降机、垛机、叉车等装备对货物执行出库或入库作业。又或者采用堆场的方式,直接在平整的地面对已装置在托盘、料箱的货物进行堆叠,实现更高密度的存储。对于大型产业,一般还会配备物流自动化线,对货物进行流转,以减少人员的投入。
从实际现状来看,在大型的、复杂的仓储场景下,立库和自动化的引入虽然在一定程度上解决了面积和容量的问题,即比起传统方式更少的面积实现更多的存储空间。但仓储出入库作业存在任务多、目标多、约束多等极其复杂的特性,是典型的多约束求最优化解问题。而现行的仓储的管理,一般由ERP系统或WMS系统进行管理,这类系统只能实现出入库单据的管理,只能实现非常有限的单据级数字化管理,无法针对上述复杂的出入库作业进行智能的任务决策,帮助用户迅速推荐出最佳的作业任务顺序和方式,更无法基于决策实现智能闭环。在缺少智能闭环的前提下信息系统的数据环节与自动化设备的执行环节脱钩,事实上还是通过人工进行决策,进而引发下列问题:
一、区域管理不清晰,货物堆放混乱,没有进行分区管理,导致库位不够摆放,货品查找困难;
二、出入库作业单据通过人工进行录入产生,不仅工作量大,还极容易出现错误,导致出入库货物错误;
三、其货物存储位置、库存数量等记录均由出入库单据计算得到,在单据录入有错的情况下,导致账实不一致;
四、出入库作业应当放在哪个存储位置或者从哪个存储位置进行获取,全靠人工决定,效率低下。
五、经过一段时间的仓储作业后,已用存储位置与未用存储位置零星交错,大大提高了仓储位置计算的难度和耗时。
以上问题,不仅在效率方面大大增加了企业的管理成本,还可能会引发作业错误,导致企业产生经济损失。从上述内容可以明显看出,导致问题的产生的根本原因是:信息化层面缺少智能的出入库决策算法,导致无法采取最优出入库策略;自动化层面无法与信息化打通,全自动执行信息化所产生的策略以及将必须信息反馈给信息化修正策略,从而大量依赖人员参与操作。这些问题在仓库货品储量大、品类规格多、出入库任务繁杂的场景下尤其明显。
鉴于在上述中所指出的问题,本发明旨在发明一种仓储任务决策方法和系统,即本申请实施例所公开的一种仓储管理系统及其控制方法,使仓储在执行任务时,能够基于不同维度的策略,决策出最优的作业任务方式;并且经决策计算而产生的作业任务,能够与仓库中配置的自动化设备的控制系统建立交互响应,使自动化设备能够接收、解析、执行出入库任务,并将执行的情况反馈回决策系统中,作进一步的决策调整及数据追溯。本发明所指的仓储任务指:入库、出库、库存整理三种任务,分别代表了仓储管理中的库存增加、库存减少、库存内部转移三种状态。通过该发明,将解决信息化层面缺少智能的出入库决策算法,导致无法采取最优出入库策略;自动化层面无法与信息化打通,全自动执行信息化所产生的策略以及将必须信息反馈给信息化修正策略的技术缺陷或难点。从而解决仓储场景中出入库作业低效、系统库存数据与实际库存数量不一致所引发的一系列企业管理问题。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参阅图1,图1为本申请实施例公开的一种仓储管理系统的结构示意图。
本发明具体是提供一种基于边缘计算技术,用于实现仓储作业智能化决策及执行的系统及其控制方法。其中,该仓储管理系统包括了子系统1、子系统2、子系统3及设备控制系统。其中,子系统1对应的是任务决策子系统101,即上述中所描述的决策子系统,子系统2对应的是任务队列子系统102,即上述中所描述的队列子系统,子系统3对应的是操作终端子系统103,即上述中所描述的操作终端子系统。其中,决策子系统101、队列子系统102及操作终端子系统103之间两两相互通信连接,且其中的通讯连接方式于图1中所展示的方式为通讯1。设备控制系统104与队列子系统102相互通信连接,且其中的通讯连接方式于图2中所展示的方式为通讯2。
需要说明的是,决策子系统101、队列子系统102及操作终端子系统103为本仓储管理系统的主要组成部分,设备控制系统104为仓储流转设备本身所具有的成熟系统,本仓储管理系统旨在与之集成,使得流程设备能够接收并执行由决策系统所计算的仓储任务,同时能够反馈任务的执行状态。同时,本仓储管理系统所公开的技术适用于立体仓库(有固定货架)和物流堆场(无固定货架)两种场景,并且货物在库中的存放需符合两个以上的约束。事实上约束越多,本发明的优势将更加明显。尤其适合仓储作业需要进一步与上层信息化系统(如ERP、WMS、制造执行系统(MES,manufacturing execution system)或算法、数据处理程序等)双向交互需求的场景。同时,设备控制系统104在本发明中指参与仓储流转的自动化设备,如堆垛机、传送装置、天车等设备。具体此处不对自动化设备所包含的内容进行限制。
对于图1而言,在整个仓储作业过程中,主要执行需求获取、任务决策、任务分发、任务执行与反馈四大环节,分别通过上述三套子系统实现。任务决策子系统101(简称“决策系统”),实现需求获取,任务决策,任务分发。任务队列子系统102(简称“队列系统”),实现任务执行与反馈。操作终端子系统103(简称“操作终端”),实现面向用户操作的人机界面程序。
还需要说明的是,关于图1中通讯1与通讯2是两种不同的通讯过程及方式,其区别如下,通讯1:指决策子系统101、队列子系统102及操作终端子系统103之间的通讯过程及方式,该通讯方式在本发明中固定不变。通讯2:指队列子系统102与设备控制系统104的通讯过程及方式,该通讯方式与设备控制系统104的具体选择有关系,因此在本发明中不固定,根据实际情况进行配置或开发。
后续对于通讯1及通讯2的具体说明将在后续单独章节中进行说明。
请参阅图2,图2为本申请实施例公开的一种决策系统的结构示意图。不难理解的是,图2中所描述的决策系统即为图1中的决策子系统101。为方便理解和描述,后续对于决策子系统101的描述将以决策系统进行详细描述,后续不再对此进行赘述。以下将对决策系统进行详细描述。
决策系统用于实现基于多个目标、多个约束,通过边缘计算技术计算出最优解并生成具体仓储任务的实现子系统。与本发明另一构成部分队列系统组成不可分割的关系。在本发明中,仓储任务分为三种类型:入库任务、出库任务和整理任务,分别对应库存增加,库存减少,库存不变三种情况。决策系统由若干模块构成,主要包括:仓储初始化模块、容器模块、产品模块、流转设备模块、约束组模块、策略组模块、作业单据模块、任务管理模块、决策引擎模块、仓库实况模块、系统外部接口模块或第一通讯模块等。不难理解的是,决策系统中的各个模块相互通讯连接,具体此处不做赘述。具体可参阅图2。
其中,图2有若干模块以虚线框分组并标注为基础配置模块,其含义表示框中所列模块为系统正式运行仓储任务决策前需要预先配置完成的模块,并非表示框中所列模块之间构成了一个实际存在于系统的“基础配置模块”。在其中一个具体的实施例中,基础配置模块至少包括仓储初始化模块、容器模块、产品模块、流转设备模块、约束组模块及策略组模块。以下将对决策系统中的各个模块进行详细描述。
(1)仓储初始化模块,用于定义当前仓储的类型及相关信息,即当前仓储为立库还是堆场。如当前仓储类型为立库,则进一步设定该仓储的:组别、序号、行、列、纵深、区域划分、设备位置等信息,以及定义可存储区域、不可存储区域等;如当前仓储类型为堆场,则进一步设定该仓储的:面积、高度、出入库口、堆垛间距、设备位置等信息,以及定义可存储区域、不可存储区域等。此模块为本发明中关键的基础数据之一,在其中一个具体的实施例中,在任务决策之前需要预先定义。
(2)容器模块,用于定义产品存放、流转过程中,用于盛放产品的装载物。可定义项目包括容器尺寸、容积、承重等。根据主流的仓储实践,定义支持分为托盘和料筐两类,其中托盘一般用于盛放带有规则立方体的、刚性外箱的产品,其特点是在存储物品时,托盘可以直接堆叠在产品之上;料筐一般用于盛放带有不规则形状或软性包装的产品,其特点是在存储物品时,料筐堆叠在料筐之上。此模块为本发明中关键的基础数据之一,在其中一个具体的实施例中,在任务决策之前需要预先定义上述所描述的产品及容器。具体的,容器为本发明中仓储作业直接作业对象,产品为间接作业对象。
(3)产品模块,用于定义仓储存储对象,可定义项包括产品尺寸、重量、存放要求、生产日期、有效日期等。在本发明中,此模块为本发明中可选的基础数据,如后续进行任务决策时,产品不产生任何约束或参与策略,可以不定义产品;如任务决策时,产品产生约束(如某些产品不允许存放在某区域),或参与策略(产品具有生产日期,仓储作业时需要按先进先出策略进行作业),则需要对产品进行定义。本发明着重应用于产品存在约束或参与策略的情况。
(4)流转设备模块,用于定义仓储作业中,对容器进行流转的自动化设备。可定义项包括设备类型(AGV小车、堆垛机、天车、传送带)、设备负载、设备数量、设备位于仓储初始化模块所在的位置及其移动方式、归零位置等,以及设备所使用的通讯协议、数据定义等信息。此模块为本发明中关键的基础数据之一,在其中一个具体的实施例中,在任务决策之前需要预先定义。该模块决定了后续决策任务是否能够自动执行并反馈状态。本发明中,所支持的流转设备,其行走路径均为按直角坐标系方式移动所产生的路径。当然,在其他实施例中,也可以实现其他方式的转向移动等,具体此处不做赘述。
(5)约束组模块,用于定义后续决策引擎进行仓储任务决策时,参与决策计算的对象之间的互斥条件,即不允许达到的状态或不允许出现的条件;或配对条件,即必须达到的状态或必须出现的条件。本发明将上述对象与关系称为约束。约束越多,决策计算将越复杂。在本发明中,约束对象和关系包括:1、容器、产品约束:定义容器与产品之间的配对或互斥关系,如某类产品必须存放于某类托盘中;某类产品不能存放于某类容器中。2、仓储、容器约束:定义仓储与容器之间的配对或互斥关系,如某储位不能存放某类托盘;储位最多可存放的容器重量;储位最多可存放的容器高度。注:容器重量、高度等因素,是已包含容器和托盘的重量、高度,建立容器与产品约束时,已自动进行计算和记录。3、仓储、设备约束:定义仓储与流转设备之间的配对或互斥关系,如某设备在仓储中的可移动范围、不可移动范围等。4、设备、容器约束:定义设备与容器之间的配对或互斥关系,如某类设备只能搬运某类容器,某类设备不能搬运某类容器,设备不能搬运超过自身最大搬运尺寸或最大载重的托盘等。
不难理解的是,上述约束对象为本发明所默认含涵盖的绝对约束对象,在其中一个具体的实现方式下,其约束关系通过脚本编写约束表达式实现,约束对象中所有的属性(或称“字段”)均可获取并应用于脚本编辑中。定义好的约束组数据将在决策引擎模块进行任务决策计算时直接引用。此模块为本发明中关键的基础数据之一,在任务决策之前需要预先定义。需要说明的是,如果某仓储场景下,出现上述未涉及的约束对象和约束关系,也可以参照与本系统默认约束对象和关系的方式进行开发,其方式为:开发所需的约束对象对应的数据模块进行基础数据的定义,在约束组模块中添加该模块作为约束对象。用户通过脚本编写约束表达式,定义该新增约束对象与其它约束对象的配对或互斥关系。
(6)策略组模块,用于定义后续决策引擎进行仓储任务决策时,决策计算的目标。策略组模块和上述的约束组模块分别构成了决策引擎的目标和约束两大计算对象,通过策略组确定计算目标,约束组去除符合目标但不符合约束的结果。策略组模块根据仓储作业类型的不同,各有区别,具体的,
1、入库策略:指仓储执行入库任务时,所应用的储位计算策略。a)出库优先:以出库口为原点,将容器放置在离出库口最近的储位。b)路径最短:以当前流转设备为原点,将容器放置在离当前设备最近的储位。c)耗时最短:以当前流转设备为原点,将容器放置在所有路径中,耗时最短的任务所对应的储位中。d)最大容积:以第一个容器放置储位为原点,将容器放置在距离原点最近的储位中。
2、出库策略:指仓储执行出库任务时,所应用的储位计算策略。a)先进先出:以出库产品为索引,在实时库存记录中筛选所有相同产品的储位,并根据产品生产日期或入库日期进行排序,日期最小所在储位确定为出库目标储位。b)后进先出:以出库产品为索引,在实时库存记录中筛选所有相同产品的储位,并根据产品生产日期或入库日期进行排序,日期最大所在储位确定为出库目标储位。c)路径最短:以出库产品为索引,在实时库存记录中筛选所有相同产品的储位,并以当前流转设备为原点,计算所有储位距离设备的距离,距离最小的储位确定为出库目标储位。d)耗时最短:以出库产品为索引,在实时库存记录中筛选所有相同产品的储位,并以当前流转设备为原点,计算所有储位距离设备的距离及任务耗时,耗时最小的任务对应的储位确定为出库目标储位。
3、整理策略:指仓储执行整理任务时,所应用的储位计算策略。a)最大空间利用率:计算当前仓储状态下,存储密度最高的存储区域,以此为中心,将其余储位的容器移动至该存储区域的可用储位,使得剩余可用储位最多。b)品类相同:将当前仓储状态下,所有相同产品,相同品类进行合并存储到相同储位或区域。c)订单相同:将当前仓储状态下,所有产品按其需求来源订单,放置在相同储位或区域。
需要说明的是,策略组模块仅是对系统内所支持的决策策略进行定义而并非具体的决策过程,具体的决策过程将在后续模块“决策引擎模块”执行任务决策时,才会进行实际的、具体的计算。与“约束组模块”类似,当在实际的仓储应用场景下,如果出现系统未定义的策略,也可参照系统默认给出的策略组的定义方式,按实际需要实现的策略通过开发进行定义和创建,添加到策略组模块中,并在后续“决策引擎模块”执行任务决策时进行引用。
(7)作业单据模块,用于创建仓储作业中出库作业涉及的单据数据,单据分为:库存整理单、入库单、出库单三种类型。其中库存整理、入库两个类型的单据由“操作终端系统”的操作数据自动生成,出库单由系统后台(即本模块)进行创建,单据数据中主要包含产品,数量的需求,也可能附带一些其它要求(如指定日期,批次等)。本发明所包括的作业单据模块中的出库单数据来源支持在系统内直接创建单据,也支持通过系统外部接口与第三方系统(如ERP,MES系统)进行集成,实现无人化作业。出库单还具体包含以下子模块:出库单子模块,记录出库所需的产品编号、数量及指定要求条件,可支持的要求及条件为:批次,条件:包含、不包含、等于、不等于;或,生产日期,条件:大于,大于等于,等于,小于等于,小于,不等于;或,入库日期,条件:大于,大于等于,等于,小于等于,小于,不等于;或,出库波次:用于将多张出库单合并为同一波次,出库时作为一个整体进行决策,所记录的出库数据,支持的条件要求与出库单相同。
需要说明的方式,出库作业为人为创建本模块单据数据发起或第三方系统数据发起的任务,因此需要出库单数据是出库作业的前置数据;而入库单和库存整理单为根据“操作终端系统”的数据自动生成本模块的单据数据,因此执行相关作业时,不需要对应单据作为前置数据。针对作业单据,本发明需要强调一个概念:作业单据不等于等同于作业任务。作业单据所列明的是本单据所涉及的产品及数量,具体仓库自动流转设备执行多少次,进行什么动作,行走什么路径,是需要根据当前仓储的情况、设备的情况、目标的不同、约束的不同进行计算后,方能得到为满足此需要,设备最终需要执行的任务,即:作业单据需要经过决策引擎模块计算才能生成作业任务。
(8)决策引擎模块,用于对具体的仓储入库、出库、整理作业,根据上述的仓储初始化模块、容器模块、产品模块、流转设备模块、约束组模块、策略组模块进行决策计算,计算得出满足作业目标及约束的设备任务。各类作业的决策目标,见策略组模块的相关说明,后续将对此进行详细说明。
(9)任务管理模块,用于维护多次执行“决策引擎模块”所描述的计算过程结果,此模块中的任务数据即后续流转设备执行具体自动化仓储作业的任务队列,作为“队列系统”的任务数据源,具体后续将对此进行详细描述。
(10)仓库实况模块,用于维护仓储经过一系列作业后,实时的库存情况。该模块所维护的数据包括产品、容器在仓储的各位储位的数量。并提供可视化的方式供用户查询数据,根据仓储类型的不同,分别提供仓位透视图(仓储类型=立库)、堆叠图(仓储类型=堆场)两种模式。仓库实况模块更重要的意义是为了减少“决策引擎模块”中的决策计算耗时,相当于对各产品在各储位上的库存作了预计算。仓储实况的计算时机为流转设备执行仓储自动化作业任务结束并向“决策系统”反馈完成状态时进行计算。各类型仓储作业对实时库存的影响为:入库作业增加库存数量并变更储位、出库作业减少库存数量并变更储位、整理作业不影响库存数量仅变更储位。
(11)系统外部接口模块,当出库单数据存在于第三方系统时,用于与第三方系统建立数据交通道获取出库作业数据,获取的数据将自动转换为本发明所述系统“出库单模块”中约定格式数据,供后续模块使用。由于本发明已在“出库单模块”提供系统内创建出库单的功能模块,因此该模块在实际应用中为可选模块,仅涉及第三方系统数据交换时使用。外部接口模块根据实际需要,支持适配不同的主流开发语言(要求该语言支持网络编程,绝大多数主流开发语言均支持),如Java,Golang,Python,Swift,TypeScript等,具体此处不做赘述。
(12)第一通讯模块,用于建立本发明所包含的决策系统、队列系统以及操作终端之间的通讯链路。主要实现:决策系统所生成的仓储自动化作业任务下发到队列系统,以及队列系统对任务执行状态的反馈。在运行时,决策系统所生成的仓储自动化作业任务按系统预先约定的格式进行格式化,已格式化的数据通过系统所使用的通信协议,传输到队列系统中后进行校验、原始数据的提取和识别。队列系统产生的任务执行状态的反馈按系统预先约定的格式进行格式化,已格式化的数据通过系统所使用的通信协议,传输到决策系统中后进行校验、原始数据的提取和识别,最终实现数据的利用。决策系统接收来自操作终端的操作反馈,触发决策引擎模块后续计算执行,以及生成作业单据模块的相关数据。由图1可以看出,第一通讯模块通过建立第一通讯链路与队列系统的第二通讯模块构建通讯连接,通过建立第二通讯链路与操作终端系统的第三通讯模块构建通讯连接。对应的,第一通讯链路及第二通讯链路均为通讯1。
请参阅图3,图3为本申请实施例公开的一种队列系统的结构示意图。不难理解的是,图3中所描述的队列系统即为图1中的队列子系统102。为方便理解和描述,后续对于队列子系统102的描述将以队列系统进行详细描述,后续不再对此进行赘述。以下将对队列系统进行详细描述。
队列系统,与本发明另外两个构成部分决策系统、操作终端系统共同使用,用于实现接收来自决策系统智能计算的仓储自动化作业任务,形成仓储自动化作业队列,并依次提取一个任务,将任务分发到对应的自动化设备执行,以及接收任务执行的反馈并同步到决策系统中。其中,队列系统由若干子模块构成,主要包括:任务队列模块、任务执行模块、设备状态监测、日志管理模块、第二通讯模块、设备数据接口模块等。具体可参阅图3,下面将对队列系统所包含的模块进行详细描述。
(1)第二通讯模块,与决策系统中的第一通讯模块功能类似,与队列系统、操作终端系统配对工作,用于建立决策系统、队列系统、操作终端系统之间的通讯,主要实现:队列系统获取由决策系统所生成的仓储自动化作业任务,以及队列系统中任务执行模块对上述任务执行状态的反馈。在运行时,决策系统所生成的仓储自动化作业任务按系统预先约定的格式进行格式化,已格式化的数据通过系统所使用的通信协议,传输到任务系统中,任务系统获取后进行校验、原始数据的提取和识别。以及,队列系统中任务执行模块所产生的任务执行状态的反馈按系统预先约定的格式进行格式化,已格式化的数据通过系统所使用的通信协议,经本模块传输到决策系统中后进行校验、原始数据的提取和识别,最终实现数据的利用。还有,下发来自队列系统的任务数据到操作终端,以及将操作终端系统中的操作数据反馈至队列系统中,触发作业的执行。不难理解的是,仓储数据可以包含上述中所描述的数据。
(2)设备接口模块,用于建立与设备控制系统(如:AGV小车、堆垛机、天车、传送带等执行设备)的数据交换通道,实现队列系统与设备间的通讯。进一步地,设备接口模块与任务执行模块、通讯模块、设备状态监测模块进行系统内部数据交换,分别实现将决策系统下发的仓储自动化作业任务(目标仓储任务)分发到自动化设备执行、将任务执行反馈结果同步到决策系统、以及实时监测自动化设备运行状态等功能,相关内容将在下面的章节逐项展开说明。本模块对执行设备使用的通用开放工业协议进行预置集成,如:Modbus TCP,Socket(TCP/UDP),串口通讯(RS485/232/422)。系统应用时,如仓储自动化设备(执行设备)支持预置集成的工业协议,则进行配置即可实现队列系统与设备之间的互联。配置主要包括:接口配置(访问地址、端口等)以及数据配置(数据地址表);如仓储自动化设备提供的数据交换接口不在预置集成的工业协议范围内,也可以根据本发明所规划的架构进行协议集成,同时开放接口配置、数据配置,使得该设备接口模块成为本系统中的预置集成方式。同时,还与设备控制系统的通讯接口构建通讯连接,其中,该通讯连接即为上述中所描述的通讯2。
(3)设备状态监测模块,用于监控每个设备的运行状态,包含:就绪、任务执行中、警告、故障等,以及执行中的任务数据,包括任务分组ID,任务ID,产品ID,数量等。其中,设备状态通过设备接口模块获取。该模块将在后续仓储自动化作业任务分发至对应设备,该设备是否能执行该任务时,起判断作用。作业任务的生成、分发及执行,后续将对此进行详细描述。
(4)任务队列模块,用于从决策系统中获取经智能计算产生的仓储自动化作业任务数据,重新组织为若干任务队列,并结合设备状态监测模块、任务执行模块将自动化作业任务出队并视情况分发至对应自动化设备进行执行。如本发明决策系统中决策引擎模块的说明,决策引擎模块的输出数据为仓储自动化作业任务数据集合,是一个具有n个元素的列表型数据结构。该数据结构在本任务队列模块将进行重组。
(5)任务执行模块,用于从任务队列模块中订阅经过重新分组排序的仓储自动化任务数据集合,按顺序分发给对应的执行设备进行任务的执行,并将执行的状态反馈回决策系统中。任务分发的过程为:根据订阅到的任务数据集合中设备的数量创建等量的线程,使得不同设备能够并行执行任务;然后为每一个任务组ID,通过设备状态监测模块判断当前设备是否处于就绪状态,如果处于就绪状态,则依次将该任务组ID所关联的任务ID进行出列操作;如果处于非就绪状态,则该任务组ID下所有任务都不执行;将下一个任务组ID置于队首,当前任务组置于队列第二位;对于每一个出列的任务ID,根据每条任务ID所对应的数据,通过设备接口模块将数据传到对应的设备中,由设备执行相关内容;设备执行任务的状态最后通过设备接口模块反馈回任务执行模块中,直至任务执行完毕,设备再次处理就绪状态时,执行下一个任务ID,最终将所有任务执行完毕。此时,处理过程中的任务可理解为中间仓储任务。
(6)日志管理模块,用于队列系统从接收来自决策系统计算的仓储自动化任务数据,到任务数据重新整理,创建执行线程,到任务执行状态的全过程中的事件记录,供后续排除故障使用。即记录对应操作终端上的作业单据的执行记录。不难理解的方式,该日志管理模块为上述中所描述的第一日志管理模块。为方便理解和描述,后续将以第一日志管理模块进行描述。
请参阅图4,图4为本申请实施例公开的一种操作终端系统的结构示意图。不难理解的是,图4中所描述的操作终端系统即为图1中的操作终端子系统103。为方便理解和描述,后续对于操作终端子系统103的描述将以操作终端系统进行详细描述,后续不再对此进行赘述。以下将对操作终端系统进行详细描述。
操作终端系统,与本发明另外两个构成部分决策系统、队列系统共同使用,可实现,触发决策系统进行任务决策计算,形成仓储自动化作业任务;或,触发队列系统分发仓储自动化任务到设备执行;或,反馈操作结果到决策系统、队列系统,等功能。操作终端系统由若干子模块构成,主要包括:通讯模块、单据列表模块、日志管理模块等。具体请参阅图4,以下将对操作终端系统中的各个模块进行详细描述。
(1)第三通讯模块,与决策系统中的第一通讯模块、队列系统中的第二通讯砌块功能类似,同时,与决策系统、队列系统中的第一通讯模块、第二通讯模块配对工作,用于建立决策系统、队列系统、操作终端系统之间的通讯。即上述中所描述通讯1。同时,主要实现:从决策系统中获取单据作业模块中的出库单数据;触发决策系统对作业单据的决策计算;以及接收来自队列系统的任务数据(仓储任务数据),并将操作终端系统中的操作数据(仓储作业操作)反馈至队列系统中。
(2)单据列表模块,用于同步来自决策系统的出库单以及在操作终端上创建入库单、库存整理单,三者共同构成与决策系统中(7)作业单据模块类似的数据。其中:
1、出库单:同步数据后,每一单出库单数据附加操作响应“出库”,当执行出库操作时,触发决策系统中决策引擎模块执行任务决策计算,随后将决策结果同步至队列模块,完成后续操作。另外,也可以根据实际需要,将响应操作区分为“计算后直接出库”和“计算、出库单独操作”两种模式,分别对应操作终端系统一次性触发决策系统进行决策计算以及队列系统进行任务分发执行,和操作终端系统触发决策系统进行决策计算后仍需要操作终端系统再次触发队列系统进行任务分发执行,两种模式核心逻辑完全相同。
2、库存整理单:用户选择整理目标后即可触发决策系统和队列系统工作,类似出库单一样可分为两种模式。整理目标即任务决策系统中策略组模块中关于库存整理的相关说明。决策完成后将在决策系统的作业单据模块中自动生成相应的库存整理单记录。注:库存整理不涉及具体的产品、数量数据。
3、入库单:用户录入入库产品及数量数据后,触发决策系统和队列系统工作,类似出库单一样可分为两种模式,但一般而言针对仓储场景,入库作业将采用决策系统和队列系统连续工作的模式。决策完成后将在决策系统的作业单据模块中自动生成相应的入库单记录。注:入库单涉及具体的产品、数量数据(即设备数量数据)。
(3)日志管理模块,用于操作终端从接收来自决策系统计算的出库单数据,到触发执行出库任务、入库任务、库存整理任务,到反馈任务执行状态的全过程中的事件记录,供后续排除故障使用。即记录对应仓储任务的执行记录。不难理解的是,该日志管理模块为上述中所描述的第二日志管理模块。为方便理解和描述,后续将以第二日志管理模块进行描述。
对于图2至图4所描述的各个功能模块,可以知道的是,本发明首先根据仓储自动化作业整体的流程,将系统合理划分为:终端操作,任务决策计算、任务接收执行三大版块,并分别对应一套子系统。三套子系统内部根据所负责的逻辑功能进一步划分为不同的系统功能模块,三套子系统之间通过内部的通讯模块建立系统间通讯,部分子系统再通过对外接口的能力建立与第三方设备(如仓储自动化设备)或第三方系统(如ERP/MES系统)的通讯,最终实现三套子系统联同第三方设备、第三方系统的闭环协同工作,实现仓储场景自动化和信息化的深度结合,实现仓储场景的智能化。另外,以系统架构的角度来看,可也可将终端操作操作视为“前端”,任务决策计算、任务接收执行视为“后端”,前端负责提供用户与系统的人机交互,后端负责复杂的任务计算及任务分发执行等核心逻辑和功能,是一种“微服务务化”的设计思想。
请参阅图5,图5为本申请实施例公开的一种仓储管理系统的控制方法的流程示意图。主要描述图1至图4中控制各个系统及其模块的方法,包括步骤501-步骤505。为方便理解和描述,后续不对仓储管理系统中的各个模块的功能进行详细介绍。
501、获取决策子系统中的单据数据及仓储数据,并将单据数据发送至操作终端子系统。
由于仓储管理系统主要负责是入库、出库及库存整理的过程,因此,便需要获取到此时仓储作业中的单据数据及仓储数据,其中,单据数据可参阅图2中对于作业单据模块的描述,具体此处不做赘述。在其中一个具体的实施例中,可以通过系统外部接口模块,获取到第三方系统中的出库作业单据,即单据数据。
对应的,仓储数据则可以理解为,仓储管理系统中产品或容器的数量,类型等,或者是仓储的类型及其相关信息等,具体此处不做赘述。具体可参阅图2中基础配置模块的配置数据等。
当获取到仓储数据及单据数据后,便会将仓储数据和单据数据转发至操作终端系统中的单据列表模块。
502、触发与单据数据对应的仓储操作数据,并将仓储操作数据转发至决策子系统。
当操作终端系统获取到该单据数据后,用户便可以在操作终端系统的单据列表模块上进行作业操作(入库、出库或库存整理),从而触发与该单据数据对应的仓储操作数据。此时仓储操作数据便会通过第三通讯模块传递到决策系统的第一通讯模块,即决策系统中。
在其中一个具体的实施例中,该仓储操作数据可以是基于该作业操作的操作信号,对应的,该操作信号可以理解为用户于单据列表模块上选择仓储作业中的一种后所生成的信号,该信号可以包括此时仓储的仓储数据或其他数据,具体此处不做限制。
503、根据仓储操作数据及仓储数据进行决策计算,以确定仓储管理系统的仓储任务数据,并将仓储任务数据传输至队列子系统。
当仓储操作数据同步到决策系统后,决策系统中的决策引擎模块便可以进行决策计算,从而确定出当前存储管理系统的仓储任务数据。
在其中一个具体的实施例中,决策系统中的决策引擎模块可以根据仓储操作数据及仓储数据触发仓储自动化任务的决策计算,在计算过程中,可以引用基础模块中所配置的数据。对应的,决策引擎模块的计算结果即为仓储任务数据。然后,仓储任务数据此时会同步到队列系统,具体的,决策系统可以通过第一通讯模块将仓储任务数据传输至队列系统。
在另外一个具体的实施例中,仓储任务数据还会同步到决策系统的任务管理模块,并进行数据留存。具体此处不做赘述。
504、调整仓储任务数据中仓储作业任务的初始队列,以确定仓储作业任务的目标队列,并生成仓储任务数据的目标仓储任务。
仓储任务数据同步到队列系统后,队列系统会对该仓储任务数据分队重组,从而确定出仓储作业任务的目标队列。不难理解的是,此时的仓储任务数据的数据结构是一种具有n个元素的列表型数据结构,后续将对此进行详细描述。
此时,队列系统中的任务队列模块会对该仓储任务数据进行分队重组,不难理解的是,调整之前的仓储作业任务的队列为初始队列。分队重组后,便可以确定出仓储作业任务的目标队列,从而,便可以确定出此时仓储作业任务的任务执行顺序,即目标仓储任务。具体的,后续将对任务队列模块进行详细描述。
506、将目标仓储任务分发至执行设备,以使得执行设备根据目标队列执行目标仓储任务。
当确定好目标仓储任务字符,任务系统会将该目标仓储任务派发至自动化设备,即设备控制系统。不难理解的是,设备控制系统所操控的设备即为上述中所描述的执行设备,具体包括AGV小车、堆垛机、天车或传送带等自动化设备。具体此处不对自动化设备所包含的内容进行限制,后续也不再对此进行赘述。
当设备控制系统获取到该目标仓储任务后,便可以实现具体任务的执行。
在另外一个具体的实施例中,队列系统可以通过设备接口模块将目标仓储任务分发至设备控制系统,具体此处不做赘述。
通过本实施例提出的一种仓储管理系统的控制方法,可以根据仓储管理系统中的单据数据及仓储数据,并结合用户的操作信号,自主决策出不同的仓储作业需求,从而形成对应的仓储任务,以便于自动化设备执行该仓储任务,减少了在管理仓储过程中的运营成本,同时,也能实现各个系统之间的协同工作,提高了使用效率。
为方便对本申请实施例公开的一种控制方法进行详细描述,请参阅图6,图6为本申请实施例公开的另一种仓储管理系统的控制方法的流程示意图。包括步骤601-步骤613。
601、配置仓储管理系统的仓储配置数据及单据数据,并将仓储配置数据录入至决策子系统,以生成仓储数据。
基于图2中对于决策系统中基础配置模块的介绍可知,在对仓储作业任务进行决策之前,可以预先配置或定义此时仓储管理系统的仓储配置数据。具体的,仓储配置数据可参阅图2中对于基础配置模块的介绍,具体包括仓储初始化模块、容器模块、产品模块、流转设备模块、约束组模块及策略组模块中的一个或多个,具体此处不做赘述。其中的单据数据,可参阅图2中决策系统中的作业单据模块,具体此处不做赘述。
当配置好仓储配置数据及单据数据后,便可以将仓储配置数据录入决策系统,从而生成仓储数据。不难理解的是,仓储数据还可以包括其他数据,例如,历史的仓储作业数据等,具体此处不对仓储数据所包含的内容进行限制,后续也不再对此进行赘述。
602、触发与单据数据对应的仓储操作数据,并将仓储操作数据转发至决策子系统。
本实施例中步骤602与前述图5中步骤502类似,具体此处不做赘述。
603、加载仓储操作数据及仓储数据。
当决策系统中存在仓储作业,即单据数据(入库、出库或整理中的任意一种),便可以触发决策引擎模块,此时,决策引擎模块根据仓储操作数据(即上述中的入库、出库或整理操作等),加载仓储管理系统中预先配置的产品或容器的数量条件数据及设备数量数据等,具体可参阅上述中基础配置模块所配置的数据。其中,数量条件数据可以理解为指定要求的条件。
在其中一个具体的实施例中,可以将该数据的集合进行标记,从而形成一个具有n个元素的列表型数据结构,以便于后续进行决策计算和遍历。不难理解的是,该列表型数据结构所对应的数据为作业数据,即数量条件数据及设备数据数据的集合形式。后续将对此进行详细描述。
604、遍历仓储操作数据及仓储数据,并判断所有仓储操作数据及仓储数据是否遍历完成。若是,执行步骤607;若否,执行步骤605。
此时,决策引擎模块会对作业数据(数据条件数据或设备数量数据等)进行遍历,每次遍历都是从该作业数据中取出1项数据,并进行标记,在其中一个具体的实施例中,标记可以理解为函数运行中的[i],i为遍历的次数,每次遍历结束并判定遍历继续执行时,i数量加1,同时i为大于或等于0的整数。
然后,判断所有的作业数据是否遍历完成,具体的,可依据i的数值是否是否满足所有作业数据的个数等。不难理解的是,该个数与遍历次数对应。若满足该作业数据的项目个数,则确定遍历完成,执行步骤607;若不满足项目个数,则确定遍历未完成,执行步骤605。换言之,计算或遍历的次数主要取决于“还存在多少作业数据还需要计算”。
605、确定仓储操作数据的仓储作业类型,并加载与仓储作业类型对应的约束策略数据,及仓储数据中的数量条件数据与设备数量数据。
在任意一项作业数据的遍历过程中,具体的,由于每种类型的每项作业都会预先在仓储管理系统中分配作业目标,该作业目标可以理解为策略组模块所列举的策略名称(对应期望任务能够符合某种结果),以及约束组模块所列举的约束条件(对应限制任务不能出现某种结果),具体此处不做赘述。此时,便可以根据仓储操作数据中的配置数据,确定每项作业的数量条件数据与设备数量数据。其中,数量条件数据与设备数量数据可以理解为在仓储场景下产品、产品数据等。
与此相关的,还可以理解为上述中所加载的各类数据,即基础配置模块(仓储初始化模块、容器模块、产品模块、流转设备模块、策略组模块及约束组模块等)配置的模块数据。其中,约束策略模块包括策略组模块所对应的策略名称(具体策略)以及约束组模块所对应的约束条件等。
606、根据约束策略数据、数量条件数据及设备数量数据对仓储操作数据进行计算,以获取与仓储操作数据对应的任务结果数据,直至所有仓储操作数据遍历完成。执行步骤604。
根据上述步骤所加载的约束策略数据、数量条件数据及设备数量数据,计算作业数据的目标储位,即确定出对应该项作业数据的任务结果数据。然后执行步骤604。
在其中一个具体的实施例中,根据策略的不同,可能存在多次计算并得到多个结果。单次计算结束后,计算结果保留。且若存在多次计算,则反复根据策略组中指定的计算方式(步骤605所加载的策略),进入递归计算,以计算出目标储位。直到在一次计算周期中,仅存在单次计算。
在另外一个具体的实施例中,还需要多上述中所形成的多个结果进行比较及选择,其结果选择方式为上述中加载的策略所对应的结果选择方法,仅保留每项作业数据中判断为最优的结果,即任务结果数据。
在另外一个具体的实施例中,目标储位可以理解为产品或容器的规格,尺寸等。具体此处不对目标储位进行详细赘述。
607、将所有任务结果数据进行组合,以生成任务结果集。
该步骤即表示所有的作业数据(数量条件数据及设备数量数据)已全部遍历完成,此时,将步骤606中所生成的所有最优的结果,即任务结果数据,进行重新组合,从而生成最优结果结合,即任务结果集。不难理解的是,该任务结果集是一个具有n个元素的列表型的数据结构。
608、遍历任务结果集,以判断所有任务结果数据是否遍历完成。若否,执行步骤609;若是,执行步骤610。
对上述的任务结果集(即结果集)进行遍历,每次遍历从该任务结果集中取出1项数据,并进行标记。标记可以理解为函数运行中的[i],i为遍历的次数,每次遍历结束并判定遍历继续执行时,i数量加1,同时i为大于或等于0的整数。
然后,判断该任务结果集中的所有任务结果数据是否全部遍历完成。若遍历完成,则执行步骤610;若未遍历完成,则执行步骤609。
609、确定满足当前正在遍历的任务结果数据的待执行设备,将待执行设备与任务结果数据进行组合,以生成与待执行设备组合的任务结果数据,并将与待执行设备组合的任务结果数据置于任务结果集。执行步骤608。
在对任务结果集进行遍历的过程中,根据任务结果集中的每一项结果(任务结果数据),确定满足该结果的流转设备,并将该流转设备进行组合,从而生成新的任务数据。不难理解的是,该流转设备即为上述中所描述的待执行设备,不难理解的是,待执行设备则是指待执行该任务的设备。而新的任务结果数据即为上述中所描述的与待执行设备组合的任务结果数据。
在其中一个具体的实施例中,新的任务结果数据是一个元组型的数据结构。其上会对应单个任务的识别信息及相关的作业数量等。
在生成新的任务结果数据后,多个新的任务数据会形成新的任务数据集合,换言之,也可以理解为一种任务结果集,不过该任务结果集所包含的内容主要是新的任务结果数据。而并非是最开始任务结果集中的任务结果数据。
不难理解的是,该步骤需要到所有的任务结果数据遍历完成。即需要反复执行步骤608。
在另外一个具体的实施例中,待执行设备执行任务的时间,或是否空闲才能执行,此为队列系统中“任务执行模块”中所描述的内容,具体此处不做赘述。
610、输出仓储任务数据。
当所有的数据遍历完成,并逐项分配了流转设备,且形成新的任务结果集,则将其输出。不难理解的是,该任务结果集中所包含的数据即为上述中所描述的仓储任务数据。
在其中一个具体的实施例中,任务数据集合是一个具有n个元素的列表型数据结构,后续将对此进行详细赘述。
综上所述,步骤602-步骤610主要是决策引擎模块所执行的计算过程。请参阅图7,图7为本申请实施例公开的一种决策系统中决策计算的流程示意图。结合步骤602-步骤610,以及图7,在其中一个具体的实施例中,决策引擎模块可细分为15个步骤。
具体的,第0步:表示决策引擎进入就绪状态;
第1步:在系统中存在仓储作业,即:入库、出库、整理中的任意一种时,触发决策引擎启动。此步骤是决策计算过程的起点;
第2步:决策引擎加载触发本次决策计算的作业数据(主要加载的数据为:产品,数量,指定要求条件),将该作数据的集合标记为Transaction,Transaction是一个具有n个元素的列表型数据结构,每个元素的数据结构为元组,其结构如下:
[(TransactionID0,TimeStamp0,ProductID0,Quantity0,Filter0),
(TransactionID1,TimeStamp1,ProductID1,Quantity1,Filter1),
(TransactionID2,TimeStamp2,ProductID2,Quantity2,Filter2),
……
(TransactionIDN,TimeStampN,ProductIDN,QuantityN,FilterN)]
每个元组的数据分表示作业的ID,作业时间,产品的ID,作业的数量,该作业指定要求条件。
第3步:对作业数据Transaction进行遍历,每次遍历从Transaction中取出1项数据,标记为Transaction[i],其中i为遍历的次数,每次遍历结束并判定遍历继续执行时,i数量加1;
第4步:判断是否已对Transaction遍历完成,如果是,跳转至第10步;如果否,跳转至第5步;
第5步:对每项作业Transaction[i]进行目标识别,每种类型的每项作业都会在系统中分配预先分配目标,其目标的可选项为本章节(6)策略组模块所列举的策略名称;
第6步:图中所示6.1,6.2,6.3为同时执行的步骤,分别对应:根据第5步所识别的策略名称加载对应的策略,加载系统预先定义的约束组数据,加载系统中预先定义的基础配置模块数据(即:仓储初始化模块、容器模块、产品模块、流转设备模块)。以上数据将作为:计算方法和计算条件,代入决策计算过程;
第7步:根据第6步所加载的策略所指定的计算方法以及第6步所加载的计算条件,计算作业Transaction[i]所的目标储位,根据策略的不同,可能存在多次计算并得到多个结果。单次计算结束后,计算结果保留,进入第8步判断是否需要继续计算;
第8步:该步骤判断是否需要多次计算,如果需要则跳转回第7步,进入递归计算;如不再需要计算则进入第9步;
第9步:此步骤对第7,第8步所形成的多个结果进行结果比较、选择,其结果选择方式为第5步所加载的策略对应的结果选择方法,仅保留每Trancation[i]中被判断为最优的结果;
第10步:作业数据Transaction遍历完毕,将Transaction[0]至Transaction[n]所产生的最优结果进行重新组合,生成最优结果集合ResultSet。ResultSet是一个具有n个元素的列表型的数据结构,其结构为:
[(TargetPosition0,Quantity0),(TargetPosition1,Quantity1),
(TargetPosition2,Quantity2),……(TargetPositionN,QuantityN)]
其中,下角标0……N,表示该集合存在N组数据,TargetPosition为目标储位坐标,是一个元组型的数据结构,其结构为:(GroupID,Index,Row,Column,Depth),其中当仓储类型为立库时,GroupID为区域ID,Index为货架序号,Row为行序号,Column为列序号,Depth为纵深序号。当仓储类型为堆场时,GroupID为区域ID,Index为空值,Row为区域X坐标,Column为区域Y坐标,Depth为区域Z坐标。Quantity为在目标储位上所需要作业的数量,为浮点型数据结构。
第11步:对结果集数据ResultSet进行遍历,每次遍历从ResultSet中取出1项数据,标记为ResultSet[i],其中i为遍历的次数,每次遍历结束并判定遍历继续执行时,i数量加1;
第12步:判断是否已对ResultSet遍历完成,如果是,跳转至第14步;如果否,跳转至第13步;
第13步:根据结果集数据中的每一项结果ResultSet[i],与满足该结果的流转设备进行组合,生成新的任务数据TempTask,TempTask是一个元组型的数据结构,其结构为:(TaskID,TaskGroupID,DeviceID,(GroupID,Index,Row,Column,Depth),Quantity),分别代表单个任务的ID号,任务分组的ID号,流转设备的ID号,目标储位的坐标,目标储位上需要作业的数量。
第14步:ResultSet中的所有数据遍历完成,并逐项分配了流转设备ID形成新的任务数据集合Task,Task是一个具有n个元素的列表型数据结构,每项元素均为第13步所述的TempTask数据,Task结构如下:
[(TaskID0,TaskGroupID0,DeviceID0,(GroupID0,Index0,Row0,Column0,Depth0),Quantity0),
(TaskID1,TaskGroupID1,DeviceID1,(GroupID1,Index1,Row1,Column1,Depth1),Quantity1),
(TaskID2,TaskGroupID2,DeviceID2,(GroupID2,Index2,Row2,Column2,Depth2),Quantity2),
……
(TaskIDN,TaskGroupIDN,DeviceIDN,(GroupIDN,IndexN,RowN,ColumnN,DepthN),QuantityN)]
然后将任务集合Task,即将仓储任务数据输出至任务管理模块进行存储,以及通过第一通讯模块将仓储任务数据输出至任务队列模块。
第15步:决策结束。
611、调整仓储任务数据中仓储作业任务的初始队列,以确定仓储作业任务的目标队列,并生成仓储任务数据的目标仓储任务。
当上述中的决策引擎模块计算完毕后,会生成仓储自动化任务数据集,即仓储作业任务,其中,不同作业任务之间存在队列,即初始队列。任务队列模块会根据该初始队列进行分队重组,也就是确定任务执行顺序。
在其中一个具体的实施例中,决策引擎模块计算完成后,会将该仓储作业任务转发至队列系统,同时也会将该结果同步到任务管理模块进行数据留存。
在另外一个具体的实施例中,在任务队列模块对初始队列进行调整的过程中,还可以通过设备接口模块及设备状态监控模块获取到仓储自动化设备的状态数据(即上述中描述的执行设备的运行状态),并根据该状态数据从而确定每个自动化设备执行任务的顺序。从而生成目标仓储任务。
具体的,请参阅图8,图8为本申请实施例公开的一种队列任务的组织图。不难理解的是,该组织图即为任务队列模块中仓储任务数据的分组组合。
决策引擎模块的输出数据为仓储自动化作业任务数据集合,是一个具有n个元素的列表型数据结构。该数据结构在本模块将进行重组。遍历仓储自动化作业任务数据集合,按相同的设备ID(即步骤610中所述的DeviceID)的任务数据进行分组,分为N个队列,每个队列内的任务数据都具有相同的设备ID,每个队列之间的设备ID均不相同,并且列表不要求顺序(图8以中括号表示)。每个队列包含了该设备ID下的所有任务数据。对每个已按设备ID分开的队列再进行分组、排序:按相同的任务分组ID(即步骤610中所述的TaskGroupID)的任务数据进行分组,分为N组,每组的任务数据都具有相同的任务分组ID,每个分组之间的任务分组ID均不相同,同时分组按任务分组ID大小的升序排列,该分组有顺序要求(图8以花括号表示)。该分组包含了某一设备ID下的所有任务分组及所有任务数据。对每个已按任务分组ID排序的分组,按任务ID(即步骤610中所述的TaskID)进行升序排序(图8以花括号表示)。最终将任务队列模块接收到的仓储自动化作业任务数据集合,重新整理为若干个以设备ID分开的队列,同时队列内的数据再进一步按任务分组ID分组、排序,再按任务ID排序。每个队列的结构如图8虚线框中的内容所示。
612、将目标仓储任务分发至执行设备,以使得执行设备根据目标队列执行目标仓储任务。
基于步骤611所获取的目标仓储任务,任务系统会将目标仓储任务分发至自动化设备,即设备控制系统的执行设备。从而使得执行设备根据目标队列执行目标仓储任务。具体的,可以通过设备接口模块将自动化任务分发至设备控制系统的通讯接口模块中,实现具体任务的执行。
613、确定执行设备的实时运行状态,并将实时运行状态发送至队列子系统、决策子系统及操作终端子系统,以使得队列子系统、决策子系统及操作终端子系统根据实时运行状态调整仓储作业操作及与仓储作业操作对应的仓储任务。
执行设备在执行目标仓储任务的过程中,会实时反馈任务执行状态。
在其中一个具体的实施例中,设备控制系统中的自动化设备(执行设备)的实时状态反馈,可以经以下路径反馈至操作三套系统(队列系统、决策系统及操作终端系统)中。
经队列设备接口模块反馈到任务执行模块及第二通讯模块,从而队列系统可以根据该实时运行状态调整仓储作业操作及对应的仓储任务。
经队列系统第二通讯模块反馈到操作终端系统的单据列表模块及决策系统的第一通讯模块,从而,操作终端系统后续便可以根据该实时运行状态调整库存中的数据,具体可参阅对于单据列表模块的描述。
经决策系统第一通讯模块反馈到决策系统的任务管理模块,从而任务管理模块可以存储该实时运行状态,并在后续任务决策系统中调用该实时运行状态,以便确定执行设备的运行状态是否正常等,然后决策出新的仓储任务数据。
本实施例通过上述的控制方法控制仓储管理系统中的各个功能模块,基于高内聚、低耦合以及分布式的思想,结合仓储作业的领域特点,将其划分为规划、执行、人机交互三个部分,并据此将本发明所述的方法和系统设计为决策系统、队列系统、操作终端系统三大版块,将复杂的系统运算在决策系统、队列系统中,简单的用户操作体现在操作终端中,使得用户能够以极简单的操作,实现极复杂仓储作业。同时,结合多约束求最优解思想,提供一种多约束仓储作业场景下,仓储作业自动决策计算的方法和工具。
由此,使得该人工难以计算、计算耗时的工作能够快速地、自动的实现,降低人力劳动,提供更优结果。该自动决策计算过程能够考虑多种约束和多种目标,实现不同情况的仓储作业,系统均能自动适配。该自动决策计算所涉及的约束和目标,提供了一种数据化描述手段,使得该系统能够在不进行二次开发的情况下,能够扩充更多约束、目标,使得系统在具体应用场景时有更高的灵活性。该自动决策计算不仅计算出仓储出库、入库、整理的位置,还进一步地将其分解为自动化设备执行的控制任务,使得该系统既具备规划性,还具备执行性,此部分在复杂仓储场景下,人工几乎难以实现。
再有,结合自动化、信息化、工业互联思想,提供一种任务队列方法和工具,实现由决策系统计算的设备作业任务能够准确、高效地与设备进行交互,驱动设备自动执行仓储作业任务,实现“智能决策-任务执行-执行反馈-优化决策”的智能闭环,即信息化、自动化、智能化的深度融合。
同时,通过本发明技术的引入,进一步的,还能解决或缓解当前仓储领域下依靠人工作业所产生的以下问题,提升企业在仓储环节的执行效率,降低投入成本,并使得仓储作业可追溯、可优化。1、区域管理不清晰,货物堆放混乱,仓储库存利用率低,货品查找困难;2、作业单据通过人工进行录入产生,工作量大,极容易出现错误,导致货品混乱、账实不符;3、仓储入库、出库库位人工查询决定,效率低下,储位分配缺少综合考虑;4、经过一段时间仓储作业后,已用储位与未用储位位置零星交错,大大增加后续作业时选择储位的计算难度及时间消耗。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
请参阅图9,图9为本申请实施例公开的一种仓储管理系统的交互示意图。不难理解的是,图9中所描述的各个模块及通讯方式可参阅图1至图8中对于各个模块及其模块功能的描述,具体此处不进行赘述。
在其中一个具体的实施例中,
步骤1:获取第三方系统作业单据。通过系统外部接口模块,获取第三方系统中的出库作业单据。此步骤为非必须步骤,仅在本发明应用时有获取第三方系统数据需求时使用。如获取第三方系统数据需求,则跳过此步骤,直接从“步骤2”开始使用本技术发明。见图9流程图标记为1的箭头,非必需步骤标记为虚线。
步骤2:同步决策系统中的单据数据至操作终端系统。作业单据模块数据通过决策系统第一通讯模块,与操作终端第三通讯模块建立链接,将作业单据数据传输到操作终端单据列表模块,经数据组织后呈现给用户,并等待用户进行操作触发后续流程。该步骤为并行的异步并行步骤,即步骤2执行后将直接进入步骤3,进入步骤3后,步骤2仍可继续重复执行。见图9流程图标记为2、3、4的箭头。
步骤3:操作终端系统的操作信号同步至决策系统。用户在操作终端单据列表模块进行作业操作(入库、出库、库存整理),操作信号经操作终端第三通讯模块传递到决策系统第一通讯模块。见图9流程图标记为5、6的箭头;
步骤4:操作终端系统触发决策系统进行决策计算。决策系统第一通讯模块将步骤3的操作数据同步到决策引擎中,触发仓储自动化任务的决策计算,计算过程将引用本发明中所列举的基础配置模块。见图9流程图标记为7的箭头。
步骤5:决策计算结果同步到队列系统。决策引擎模块计算完毕,生成仓储自动化任务数据集,一方面直接将结果同步到任务管理模块进行数据留存,另一方面通过决策系统第一通讯模块将结果传输到队列系统中。见图9流程图标记为8(共2条)、9的箭头。
步骤6:队列系统对决策计算结果分队重组。队列系统中的任务队列模块从获取来自决策系统中决策引擎模块的计算结果,对结果数据进行分队重组;见图9流程图标记为10的箭头。
步骤7:任务系统确定任务执行顺序。任务执行模块一方面从任务队列模块中获取已分队重组的作业任务数据,另一方面通过设备状态监控模块、设备接口模块获取仓储自动化设备的状态数据,确定每个自动化设备执行任务的顺序。见图9流程图标记为11箭头(共4条)。
步骤8:任务系统分发任务至自动化设备。任务执行模块根据步骤7已确定的任务顺序,经设备接口模块将自动化任务分发至设备控制系统的通讯接口模块中,实现具体任务的执行。见图9流程图标记为12、13的箭头。
步骤9:设备实时反馈任务执行状态。步骤8自动化设备执行任务的实时状态反馈,经以下路径反馈至操作三套子系统中。
1、经队列设备接口模块反馈到任务执行模块及第二通讯模块,见图9流程图标记为15的箭头(共2条)。
2、经队列系统第二通讯模块反馈到操作终端单据列表模块及决策系统第一通讯模块,见图9流程图标记为16、17(共2条)的箭头。
3、经决策系统第一通讯模块反馈到决策系统任务管理模块,见图9流程图标记为18的箭头。
最后,步骤9执行完成后,将回到步骤3等待用户操作,如获得用户操作后将如上述步骤依次从步骤3执行到步骤9;如未能获得用户操作,将停留在步骤3并处于就绪状态。
基于上述描述的仓储管理系统的交互方式,以及图1至图8中对本申请实施例公开的仓储管理系统的描述,可清楚的了解到,本申请实施例具有如下亮点:1、决策过程适配多个目标(如:先进先出、后进先出、最大容积、最短路径、出库优先、时间最短等),及多个约束(容器与产品的配对与互斥关系、容器与库位的配对与互斥关系、设备与库位的配对与互斥关系、设备与容器的配对与互斥关系等);实现快速决策复杂任务。2、决策的任务能够解析为流转设备(垛机、流转产线)的执行信号,直接将决策转化为设备行为;实现信息化与自动化的联动,减少仓储作业过程的人员参与。3、设备执行任务过程中实时的状态监测与反馈;实现更精细的任务管理。4、适配立体仓库、堆场两种目标、约束截然不同的仓储管理场景,通过数据特性将两种不同的场景映射为相似的决策过程,实现更广泛的适用性。5、出入库任务来源(即需求)既支持与第三方管理系统(如ERP、WMS)对接,也支持手工在本发明所述的系统中创建;实现深度更深的系统数据联动,减少仓储作业过程的人员参与。6、将决策计算过程和用户操作进行分离,将复杂的计算过程隐藏起来,仅通过人机界面程序面向用户,极大简化了仓储自动化作业的操作难度。等等,具体此处不再赘述。
若方案涉及敏感信息(如用户信息、企业信息),则应当说明针对敏感信息的收集、使用和处理需要遵守相关国家和地区的法律法规和标准,且需要在相应主体(如用户或企业等)许可或同意的情况下进行。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、系统、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、系统、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、系统、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的仓储管理系统及其控制方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的系统及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (7)
1.一种仓储管理系统,其特征在于,包括:两两相互通讯连接的决策子系统、队列子系统及操作终端子系统;
所述决策子系统包括第一通讯模块、决策引擎模块及任务管理模块,所述第一通讯模块、所述决策引擎模块及所述任务管理模块之间相互通讯连接;
其中,所述第一通讯模块用于建立所述决策子系统与所述队列子系统之间的第一通讯链路,并通过所述第一通讯链路与所述决策引擎模块进行仓储数据的数据交互,以及建立所述决策子系统与所述操作终端子系统之间的第二通讯链路,并通过所述第二通讯链路与所述任务管理模块进行所述仓储数据的数据交互;
所述决策引擎模块,用于确定所述仓储管理系统的仓储任务数据,并将所述仓储任务数据转发至所述任务管理模块或所述第一通讯模块;
所述任务管理模块,用于存储所述仓储任务数据,以使得所述队列子系统根据所述仓储任务数据执行对应的仓储作业任务;
所述队列子系统包括相互通信连接的任务队列模块、任务执行模块、设备状态监测模块、第二通讯模块及设备数据接口模块;
其中,所述第二通讯模块用于建立所述队列子系统与所述操作终端子系统的第三通信链路,并通过所述第三通讯链路与所述操作终端子系统进行数据交互;
所述设备状态监测模块,用于监测执行设备的运行状态,并根据所述运行状态判断所述执行设备是否满足触发条件;
所述任务队列模块,用于调整所述仓储任务数据中的所述仓储作业任务的队列排序,以生成目标仓储任务;
所述任务执行模块,用于获取所述目标仓储任务,并当所述执行设备满足所述触发条件时,分发所述目标仓储任务至所述执行设备;
所述设备接口模块,用于与所述执行设备进行数据交互,并将所述目标仓储任务发送至所述执行设备,以使得所述执行设备执行与所述目标仓储任务关联的仓储任务;
所述操作终端子系统包括相互通信连接的第三通讯模块及单据列表模块;
其中,所述第三通讯模块分别根据所述第二通讯链路及所述第三通讯链路与所述决策子系统及所述队列子系统进行所述仓储数据的数据交互;
所述单据列表模块,用于根据所述仓储数据进行仓储作业操作,以产生与仓储作业操作相对应的仓储操作数据,以使得所述决策引擎模块根据所述仓储操作数据确定所述仓储任务数据;
所述仓储管理系统还包括设备控制系统,所述设备控制系统至少包括所述执行设备及通讯接口模块,其中所述执行设备与所述通讯接口模块通讯连接;
所述通讯接口模块,用于建立所述设备控制系统与所述队列子系统的第四通信链路,并通过所述第四通信链路与所述队列子系统进行数据交互;
所述执行设备,用于通过所述第四通信链路,将所述执行设备的所述运行状态发送至所述队列子系统、所述操作终端子系统及所述决策子系统,以使得所述队列子系统、所述操作终端子系统及所述决策子系统根据所述运行状态调整仓储作业操作及与所述仓储作业操作对应的仓储任务;
所述决策引擎模块,还用于根据所述仓储操作数据及所述仓储数据进行决策计算,以确定所述仓储管理系统的所述仓储任务数据;
所述决策引擎模块,还用于进行任务决策计算,以根据所述仓储操作数据确定所述仓储任务数据,并将所述仓储任务数据同步至所述任务队列模块;
所述决策引擎模块,还用于根据所述仓储操作数据确定所述仓储操作数据的仓储作业类型,并加载与所述仓储作业类型对应的约束策略数据,及所述仓储数据中的数量条件数据与设备数量数据对所述作业数据进行计算,直至所述仓储操作数据遍历完成。
2.根据权利要求1所述的仓储管理系统,其特征在于,所述决策子系统至少还包括相互通讯连接仓储初始化模块、约束组模块、产品模块、策略组模块、容器模块或流转设备模块中的一种或多种;其中,
所述仓储初始化模块,用于定义所述仓储管理系统中仓储的仓储类型数据及与所述仓储类型数据对应的仓储设备数据;
所述容器模块,用于定义于所述仓储作业任务中的容器的仓储容器类型及与所述仓储容器类型对应的产品的仓储产品类型;
所述产品模块,用于定义所述仓储产品类型的产品规格数据;
所述流转设备模块,用于定义于所述仓储作业任务中,对所述容器执行仓储任务的设备的仓储设备类型及设备参数数据;
所述约束组模块,用于定义所述决策引擎模块的约束条件,以使得所述决策引擎模块根据所述约束条件确定所述仓储任务数据;
所述策略组模块,用于定义所述决策引擎模块的目标分配结果,以使得所述决策引擎模块根据所述目标分配结果确定所述仓储任务数据;
其中,所述仓储数据至少包括所述仓储类型数据、所述仓储设备数据、所述仓储容器类型、所述仓储产品类型、所述产品规格数据、仓储设备类型、设备参数数据、约束条件或所述目标输出结果中的一种或多种。
3.根据权利要求1所述的仓储管理系统,其特征在于,所述决策子系统还包括相互通讯连接的作业单据模块或仓库实况模块中的一种或多种;
所述作业单据模块,用于创建与所述仓储任务数据对应的单据数据,以确定所述仓储管理系统中产品或容器的数量条件数据;
所述仓库实况模块,用于存储容器或产品的库存数量数据,并将所述库存数量数据进行展示,其中所述库存数量数据包括所述容器的库存数量数据或所述产品的库存数量数据。
4.根据权利要求1所述的仓储管理系统,其特征在于,所述队列子系统还包括第一日志管理模块,所述第一日志管理模块与所述队列子系统中的所有模块相互通信连接;
所述第一日志管理模块,用于根据所述目标仓储任务,记录对应于所述目标仓储任务的执行记录数据。
5.根据权利要求1所述的仓储管理系统,其特征在于,所述操作终端子系统还包括第二日志管理模块,所述第二日志管理模块与所述操作终端子系统中的所有模块相互通信连接;
所述第二日志管理模块,用于记录所述单据列表模块根据所述仓储操作数据生成的执行记录数据。
6.一种仓储管理系统的控制方法,其特征在于,用于控制如权利要求1-5中任一项所述的仓储管理系统,所述仓储管理系统包括两两相互通讯连接的决策子系统、队列子系统及操作终端子系统,所述方法包括:
获取所述决策子系统中的单据数据及仓储数据,并将所述单据数据发送至所述操作终端子系统;
所述获取所述决策子系统中仓储数据包括:
配置所述仓储管理系统的仓储配置数据;
将所述仓储配置数据录入至所述决策子系统,以生成所述仓储数据;
触发与所述单据数据对应的仓储操作数据,并将所述仓储操作数据转发至所述决策子系统;
根据所述仓储操作数据及所述仓储数据进行决策计算,以确定所述仓储管理系统的仓储任务数据,并将所述仓储任务数据传输至所述队列子系统;
所述根据所述仓储操作数据及所述仓储数据进行决策计算,以确定所述仓储管理系统的仓储任务数据包括:
加载所述仓储操作数据及所述仓储数据;
遍历所述仓储操作数据及所述仓储数据,并判断所有所述仓储操作数据及所述仓储数据是否遍历完成;
调整所述仓储任务数据中仓储作业任务的初始队列,以确定所述仓储作业任务的目标队列,并生成所述仓储任务数据的目标仓储任务;
将所述目标仓储任务分发至执行设备,以使得所述执行设备根据所述目标队列执行所述目标仓储任务;
所述将所述目标仓储任务分发至执行设备,以使得所述执行设备根据所述目标队列执行所述目标仓储任务之后,所述方法还包括:
确定所述执行设备的实时运行状态;
将所述实时运行状态发送至所述队列子系统、所述决策子系统及所述操作终端子系统,以使得所述队列子系统、所述决策子系统及所述操作终端子系统根据所述实时运行状态调整仓储作业操作及与所述仓储作业操作对应的仓储任务。
7.根据权利要求6所述的控制方法,其特征在于,所述根据所述仓储操作数据及所述仓储数据进行决策计算,以确定所述仓储管理系统的仓储任务数据,所述方法还包括:
若所有所述仓储操作数据及所述仓储数据未遍历完成,确定所述仓储操作数据的仓储作业类型,并加载与所述仓储作业类型对应的约束策略数据,及所述仓储数据中的数量条件数据与设备数量数据;其中,所述约束策略数据包括约束条件数据及目标分配结果,用于限制所述仓储任务数据的预设结果;
根据所述约束策略数据、所述数量条件数据及所述设备数量数据对所述仓储操作数据进行计算,以获取与所述仓储操作数据对应的任务结果数据,直至所有所述仓储操作数据遍历完成;
若所有所述仓储操作数据及所述仓储数据遍历完成,将所有所述任务结果数据进行组合,以生成任务结果集;
遍历所述任务结果集,以判断所有所述任务结果数据是否遍历完成;
若所有所述任务结果数据未遍历完成,确定满足当前正在遍历的所述任务结果数据的待执行设备,将所述待执行设备与所述任务结果数据进行组合,以生成与所述待执行设备组合的任务结果数据,并将与所述待执行设备组合的任务结果数据置于所述任务结果集,并执行所述遍历所述任务结果集,以判断所有所述任务结果数据是否遍历完成的步骤;
若所有所述任务结果数据遍历完成,输出所述仓储任务数据;其中,所述仓储任务数据至少包括与所述待执行设备对应的任务结果数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310277188.3A CN116308052B (zh) | 2023-03-21 | 2023-03-21 | 一种仓储管理系统及其控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310277188.3A CN116308052B (zh) | 2023-03-21 | 2023-03-21 | 一种仓储管理系统及其控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116308052A CN116308052A (zh) | 2023-06-23 |
CN116308052B true CN116308052B (zh) | 2023-12-12 |
Family
ID=86830213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310277188.3A Active CN116308052B (zh) | 2023-03-21 | 2023-03-21 | 一种仓储管理系统及其控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116308052B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130082528A (ko) * | 2011-12-07 | 2013-07-22 | 삼성에스디에스 주식회사 | 창고 관리 시스템 및 창고 관리 방법 |
CN107977815A (zh) * | 2017-12-01 | 2018-05-01 | 广东安捷供应链管理股份有限公司 | 仓储管理系统及方法 |
CN110286673A (zh) * | 2019-05-23 | 2019-09-27 | 北京京东尚科信息技术有限公司 | 仓储任务处理方法、装置、仓储系统以及存储介质 |
CN111126926A (zh) * | 2020-01-20 | 2020-05-08 | 安吉智能物联技术有限公司 | 一种仓储管理方法 |
CN111258741A (zh) * | 2020-02-14 | 2020-06-09 | 江苏苏宁物流有限公司 | 仓库任务执行的方法、分布式服务器集群及计算机设备 |
CN113011822A (zh) * | 2021-03-30 | 2021-06-22 | 苏州市昊帛云天信息科技有限公司 | 云wms仓储管理系统 |
CN114004571A (zh) * | 2021-12-30 | 2022-02-01 | 南京冠帝仓储设备有限公司 | 一种智能化立体仓储货架货位分配系统及其方法 |
CN115115194A (zh) * | 2022-06-15 | 2022-09-27 | 华珂智成(武汉)科技有限公司 | 一种自动化立体仓库的作业任务调度方法及系统 |
-
2023
- 2023-03-21 CN CN202310277188.3A patent/CN116308052B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130082528A (ko) * | 2011-12-07 | 2013-07-22 | 삼성에스디에스 주식회사 | 창고 관리 시스템 및 창고 관리 방법 |
CN107977815A (zh) * | 2017-12-01 | 2018-05-01 | 广东安捷供应链管理股份有限公司 | 仓储管理系统及方法 |
CN110286673A (zh) * | 2019-05-23 | 2019-09-27 | 北京京东尚科信息技术有限公司 | 仓储任务处理方法、装置、仓储系统以及存储介质 |
CN111126926A (zh) * | 2020-01-20 | 2020-05-08 | 安吉智能物联技术有限公司 | 一种仓储管理方法 |
CN111258741A (zh) * | 2020-02-14 | 2020-06-09 | 江苏苏宁物流有限公司 | 仓库任务执行的方法、分布式服务器集群及计算机设备 |
CN113011822A (zh) * | 2021-03-30 | 2021-06-22 | 苏州市昊帛云天信息科技有限公司 | 云wms仓储管理系统 |
CN114004571A (zh) * | 2021-12-30 | 2022-02-01 | 南京冠帝仓储设备有限公司 | 一种智能化立体仓储货架货位分配系统及其方法 |
CN115115194A (zh) * | 2022-06-15 | 2022-09-27 | 华珂智成(武汉)科技有限公司 | 一种自动化立体仓库的作业任务调度方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN116308052A (zh) | 2023-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111091328B (zh) | 一种仓储入库管理方法和管理装置 | |
CN108891838B (zh) | 订单处理方法、装置、电子设备以及计算机可读存储介质 | |
WO2020006010A1 (en) | Automated warehouse system and method for optimized batch picking | |
CN107555056A (zh) | 料箱存储拣选系统和储分一体化系统 | |
CN111311160A (zh) | 汽车零部件仓库智能化运作的方法 | |
CN107787295A (zh) | 智慧仓储链系统 | |
CN105404985A (zh) | 仓库管理方法 | |
CN109383969B (zh) | 一种汽车零部件货到人的方法 | |
CN108906637A (zh) | 物流分拣方法及终端设备 | |
CN111661532B (zh) | 存储容器整理方法、装置、设备和存储介质 | |
CN113968445B (zh) | 一种轻小件高速分拣控制方法、系统及装置 | |
CN109625748A (zh) | 仓储调度系统及方法 | |
CN112184116B (zh) | 一种基于agv机器人的仓储系统及其管理方法 | |
CN115689452B (zh) | 一种钻头库存计划管理方法 | |
Man et al. | Bi-objective optimization for a two-depot automated storage/retrieval system | |
CN116308052B (zh) | 一种仓储管理系统及其控制方法 | |
CN110525858A (zh) | 一种卷烟辅料配盘入库方法及系统 | |
CN117406737A (zh) | 一种车间无人化分拣与配送方法及系统 | |
CN111874506A (zh) | 基于立体库的生产方法及系统 | |
CN110880089A (zh) | 基于知识图谱的仓库空间分配方法及系统 | |
CN110689202A (zh) | 一种基于混合智能算法的物资托盘配送车辆调度方法 | |
Mallah et al. | Modeling the bulk port belt-conveyor routing problem considering interactions with storage spaces and loading operations | |
CN112070438B (zh) | 一种基于配置分层的物料配送方法和系统 | |
CN115258507A (zh) | 仓储系统及其控制方法、装置、电子设备和存储介质 | |
CN113034081A (zh) | 一种基于agv小车的产品运输方法、系统和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |