智慧仓储管理监控系统的可视化设计与实现
2022-07-07刘亚菲王玉龙陈俭新
刘亚菲 王玉龙 陈俭新
(中国船舶集团公司第七一三研究所 河南省郑州市 450015)
1 引言
随着智慧仓储管理监控系统中各设备信息化、智能化以及机电一体化的快速发展,仓储管理人员能够获取到越来越多的人员信息、物资信息、设备信息以及作业过程信息等。在这个庞大的信息体系当中,仅用单一的图表或文字无法清晰表达多维度数据之间的关系,管理人员需要依靠经验,并且具备较强的数据分析能力,才能进行正确的数据解读和管理监控。同时,在仓库、物资及相关出入库作业较为复杂的情况下,通过数据表格传达的信息相对割裂、关联性较弱,管理人员无法同时对多点、多仓、多货的仓储系统进行直观高效的管理监控。
可视化技术是利用计算机图形学和图像处理技术,将分散的数据转换成直观的图形或图像,并进行交互处理的理论、方法和技术。大多数人对视觉的响应远胜于文本,大脑处理视觉信息的速度约为文本的6万倍,数据可视化正是利用人类天生的技能,来提高数据处理的能力和效率。通过数据可视化设计,能够将海量信息汇集到一个平台,根据数据之间的关系将信息表示成易于用户理解的图形图像,并对其进行高效的数据统计和分析。因此,本文运用C++编程语言以及Qt开发框架,结合可视化技术,设计并实现了一种智慧仓储管理监控系统可视化架构。
2 可视化设计架构
本文通过对智慧仓储管理监控系统进行颗粒度分析、元素提取、场景分类、管理监控需求等方面进行深入分析,构建了一种智慧仓储管理监控系统可视化设计架构,如图1所示。本架构由数据支撑体系、图形部件库、信息集成场景和信息智能化应用四个部分组成。
图1:智慧仓储管理监控系统可视化设计架构
3 功能设计与实现
3.1 数据支撑体系
3.1.1 功能概述
本文通过对仓储管理监控系统进行颗粒度分析,提取出该系统涉及的数据元素,并对这些基本元素的物理参数和逻辑参数进行总结和分类,分析各个数据元素的结构以及它们之间的关系,从而形成一套智慧仓储管理监控系统的数据支撑体系。数据模型的建立流程如图2所示。
图2:数据模型建立流程
3.1.2 功能实现
智慧仓储管理监控系统各元素数据模型的建立过程如下。
(1)确定数据及其相关过程:基于仓储管理监控系统的使用需求和业务逻辑,明确仓储管理人员需要感知的信息并落实到实体,例如人员、仓库、物资、包装物、叉车、货架、电梯等,并对这些实体进行概念建模;
(2)定义数据:将各个实体细化成具体的表,定义数据的类型、大小和默认值等,不断完善表结构内容,对实体进行逻辑建模。例如包装物与货架相关表结构如图3所示。
图3:包装物与货架相关表结构
通过包装物类型数据表,可以获取每种包装物的长、宽、高、重量等物理参数;通过货架信息及货架放置区域轮廓表,可以获取每种货架能够贮存的包装物类型、货架层数以及货架的摆放位置信息;
(3)数据完整性检查:根据仓储管理监控系统的业务规则,在具体建模过程中对数据进行验证检查,不断完善和修正,以防关键性参数发生缺漏;
(4)定义操作过程:通过数据库工具将创建的各个数据库对象生成相应的SQL代码,同时根据不同的业务需求,对数据进行合并或拆分,并在操作过程中进行安全检查和数据备份;
(5)选择数据存储技术:根据业务逻辑将实体与实体之间的关系进行数据库层次的逻辑化,进而生成仓储管理监控系统的物理模型。
3.2 图形部件库
3.2.1 功能概述
基于各个实体对象的数据模型和接口,本文结合图形学知识,运用Qt的图形绘制QPainter类,将各个实体对象自定义成二维图形项,构建了一个用于管理大量图形项的可视化部件库,主要包括仓库、物资、包装物、叉车、货架、电梯等部件。
3.2.2 功能实现
QPainter类具有绘图所需的画笔(QPen)、画刷(QBrush)、字体(QFont),以及一系列能够针对不同形状、不同参数的绘制函数,因此,本文通过重载QWidget::paintEvent()函数,进行各个图形部件的绘制,具体流程如下:
(1)根据各个实体对象的图形化部件特点,确定参数对象(包括绘图类型、对象轮廓坐标集合、角度等);
(2)将参数对象存入适当的数据集合中(例如链表等);
(3)在QWidget::paintEvent()函数中遍历数据集合;
(4)根据参数对象进行图形绘制和更新。
3.3 信息集成场景
3.3.1 功能概述
在智慧仓储管理监控系统中,不同的实体对象之间可能存在一定的关联,无法单独割裂而存在。因此,为了消除信息孤岛,减少仓储管理人员对数据的理解成本,本文通过可视化信息集成,运用Qt的图形化视图框架(TheGraphic View Framework),将相关联的图形化部件集成在同一个图形化场景模型中,为仓储管理人员提供多个场景模型的图形化信息展示。
3.3.2 功能实现
Qt具有良好的封装机制、高度模块化以及扩展性,具备丰富的应用程序接口。其中,图形化视图框架提供了一个基于图形项的图元管理与交互平台,主要由场景(QGraphicsScene类)、视图(QGraphicsView类)和图元(QGraphicsItem类)三个部分组成。
其中,场景是用于存储和管理图元对象的容器,能够将事件传播到每一个图形项;视图用于将场景中的内容可视化,是整个图形化视图框架的对外交互接口,可以连接多个视图到同一个场景来为相同的数据集提供多个视口;图元即图形项,是场景中最基本的元件,能够存储自定义的数据。图形视图框架中的事件都是先由视图进行接收,然后传递给场景,再由场景传递给相应的图形项,如图4所示。
图4:图形化视图框架的事件传递
因此,通过图形化视图框架,可以管理大量的二维图形项,并且实现与图形项之间的交互。针对智慧仓储管理监控系统,本文主要设计了三种信息集成场景模型。
(1)库存管理模型:以单个仓库为背景,将贮存区域、物资、电梯口等图元集成在库存管理模型中,实现物资大小、物资数量、物资分布、库位大小、库位数量、库位分布以及库位占用情况等信息的可视化;
(2)出入库模型:以仓储厂房剖面为背景,将仓库、电梯通道、叉车、物资等图元集成在出入库模型中,实现物资出入库进度等信息的可视化;
(3)运输作业模型:以货物装车区为背景,将物资、叉车、货车、物资存放区等图元集成在运输作业模型中,实现物资分配情况、物资转运及装车进度等信息的可视化。
3.4 信息智能化应用
3.4.1 功能概述
“全局性的东西,不能脱离局部而独立”,针对智慧仓储管理系统的特点,本文设计了两种图形化展示方式:全局浏览、局部浏览。通过全局浏览,用户可以从宏观角度查看集成化模型的信息,掌握集成化模型的整体态势;通过局部浏览,用户可以获取各个对象的具体细节和状态,例如具体的库存摆放和运输装货进度等。
同一个实体的物理数据可能具备多种展现方式,根据集成化场景的应用需求,以及智能化无人化装备快速发展的趋势,我们可以获取到越来越多的设备数据和中间过程数据。因此本文通过运用Qt-3D模块,给用户提供多样化的数据接口和立体化展现形式。
同时本文根据仓储管理需求,设计了多样化的数据统计分析模块,让仓储管理人员能够根据自己的需要利用数据统计分析的手段提炼出有效的数据价值。
3.4.2 功能实现
(1)全局/局部浏览。在自定义控件中,可以直接获取到鼠标事件,因此自定义控件可以根据获取到的鼠标事件发出相应的信号,通过监听该控件,即可对其进行放大、缩小、平移、旋转等操作。
(2)数据三维展示。OpenGL是一个跨平台、用于渲染3D图形的标准API,具有较好的兼容性,支持不同操作系统之间的共享和移植,对硬件设备没有特殊限制,对用户来讲十分便利。本文利用Qt开发框架中的QtOpenGL模块,通过继承QGLWidget类、重新实现该类的三个虚函数,其用法如表1所示,来执行典型的OpenGL任务。
表1:QGLWidget中三个虚函数的用法
(3)数据智能分析。数据可视化具备多种类型的图表,例如饼图、折线图、柱状图、散点图、树图等,常用图表的作用如表2所示。
表2:常用图表的作用
本文利用可视化展示手段,分析智慧仓储管理监控系统的数据分析需求,设计了数据智能分析模块,其流程图如图5所示。
图5:数据智能分析模块流程图
本文将常用的仓储数据分析模型录入数据智能分析模块,根据使用需求将其通过特定的图表类型输出。若系统内不包含仓储管理人员所需的数据分析模型,可以通过新增模型来构建新的数据分析模型,新增模型的主要参数包括:待分析的数据参数、数据分析公式、输出结果的图表类型等。
4 结束语
通过本文设计的智慧仓储管理监控系统可视化架构,不仅能将孤立的数据用直观的图形化方式展示,而且对数据进行了智能化统计和分析。
另外,本可视化架构具有较强的扩充性和应用推广性。在扩充性方面,可依据不同的厂房结构和出入库流程,进行图形控件库和集成化场景的扩充和定制,形成一套完备的智慧仓储管理监控系统可视化平台;在应用推广方面,通过不同数据模型的构建,本文提出的可视化架构可应用于仓储物流管理、机场行李调度、自动停车装置、大楼电梯运行监控等多元化场景。
综上,本文提出的可视化架构能够辅助仓储管理人员更加全面地掌握系统动态、及时发现异常信息并加以控制、减少仓储管理人员的数据统计工作量,为进一步提高仓储管理效率奠定了坚实基础。