面向传统制造业的商业智能系统的设计与应用
2020-08-10涂娟邱武胡曦
涂娟,邱武,胡曦*
(1.江汉大学人工智能学院;人工智能研究院,湖北武汉430056;2.湖北瀛通通讯线材股份有限公司,湖北咸宁437400)
0 引言
制造业是国家经济的主体,随着近些年物联网、云计算、大数据、人工智能等技术引领工业4.0的到来,为把握时代契机,抢占国家竞争力的战略制高点,我国发布了《中国制造2025》等一系列重大战略方针,推动信息化、网络化、智能化的深度融合,推动国家经济的跨越式发展,从而实现制造业“大国”向“强国”的转型升级[1-2]。管理和生产的信息化是未来企业智能制造的重要组成部分,对生产大数据的自动提取和存储依赖于数控生产设备、传感器、监控设备、生产执行系统(manufacturing execution system,MES)的普及使用[3-4]。商业智能系统作为现代企业信息化的重要方法之一,已在零售[5]、银行[6]、医疗[7]、交通[8]等行业得到广泛应用,成为企业革新经营管理、解决复杂问题的必要方法,从数据中获取商业规律和价值,加速企业提高效益。然而,我国制造企业信息化发展水平各行业间的差距明显,行业占比较低的计算机、通信等高新技术产业信息化水平较高,而行业占比高的农副食品加工、服装纺织等传统行业信息化水平低。当今我国传统制造业依然局限于大量人工生产检测工段,采用以项目为中心、按工序组织的离散制造形式,其生产大数据具有不连续、复杂、规模小等特点。同时,大多数企业缺乏科学、现代化的数据采集、管理、挖掘机制,商业智能系统在传统制造业的应用相对滞后[9-10]。
本文针对上述局限性问题,设计了一种基于Python及其相关生态库构建的商业智能系统,可满足制造业车间生产过程中手工记录的制造、检测数据的自动化分析和监测。针对其串行处理、地域局限性的不足,对系统的实际使用效果进行了数据跟踪分析,提出了基于云端的高效架构设计。
为保护企业信息,本文涉及的生产数据均经过处理,并非真实车间生产数据。
1 管理车间数据的商业智能系统
1.1 系统需求分析
1.1.1 自动核算,操作简单我国的传统制造业,尤其是劳动密集型企业存在两方面的不足:一方面,生产人员的技能水平相对较低,对现代管理软件的操作能力较弱;另一方面,工厂对提高生产力的不懈追求迫使其不断提高生产的信息化水平,对相应的生产人员提出更高的技能要求。因此,应用于制造业大数据分析的商业智能系统首先需自动核算不同类型的数据,做到完全替代低效率的手工核算,这是基本要求。其次,由于传统的商业智能系统包括ETL(extract-trans⁃form-load)技术、数据仓库、联机分析处理、数据挖掘、数据展示等技术,需要掌握相关技术的各种复杂工具软件[11],其对专业技能要求高,很难契合一线车间生产管理人员的基本情况。这就要求系统的操作流程必须简单,并且能够快速被掌握和使用。
1.1.2 同时输出数值统计和可视化分析结果现有车间生产采用原始的手工记录和核算方法,再以小白板或PPT的形式在日、周、月等会议上呈现人工分析生产数据的结果,呈现的形式仅限于简单的数值结果或统计图。此方式需要检测人员、项目文员和各级管理层,逐级重复核算、分析、汇报生产数据。效率极低、结果呈现差、数据挖掘的价值小。针对以上缺点,本系统在自动完成各级数据统计核算后,自动给出各生产层级的日、周、月等可视化分析结果,以交互式图表的方式直观呈现。
1.1.3 对关键生产指标能够监测预警本系统为了监测生产情况,对关键的生产指标给出预警,以此向生产管理人员给予决策支持,提高制造生产的管理效率和效益,而不仅是简单记录数据。
1.1.4 灵活适用于不同行业或项目制造业行业分类较多,单一行业生产形式多样,同一工厂接收的生产项目多变。同时,单一生产项目为契合不同的供应需求经常调配不同的生产工段和流水线。这对商业智能系统的灵活性提出了较高要求,其必须能适用于不同类型的行业和项目的变化。以上处理的变动对系统提出多方面要求,包括:系统使用的工具简单、应用范围广;分析流程和计算模型被各行业认可和采用;呈现的图表结果被普遍采纳。
1.2 系统设计
软件的框架如图1所示,其包括5个模块,分别是源数据、数据整理、数据库、数据分析和数据展示。其中,源数据模块主要加载每日生产记录表;数据整理模块完成数据清洗、拆分信息,对部分数据进行格式检测,最后整合每一条生产线的制造检测数据;数据库模块负责存储细化的项目生产数据;数据分析模块完成分级数据的整理合并;数据展示模块以可视化报表完成,以图表等直观的形式呈现生产的多维分析结果。
图1系统架构Fig.1 System architecture
1.2.1 源数据源数据模块负责加载每日生产记录表。在自动化分析之前,其首先将当日各生产线的制造检测数据录入生产记录表。图2为XLSX格式生产记录表,此表格形式广泛被制造业采用,具有很大的适用性。一个XLSX文件装载一个工段的数据,每一张sheet表格装载一条生产线的数据,仅需载入对应的不良项和产量数据,以及其他附加生产信息,系统将自动核算对应的不良数量及不良率。
图2生产记录表Fig.2 Table of production record
1.2.2 数据库数据库模块承担项目生产数据的存储任务。针对制造业项目灵活多变、Microsoft Office软件的普及性和易操作性、工厂生产数据的保密性、单个项目数据量相对较低等实际情况和相关需求,本系统选用XLSX本地文件作为数据库,其容量能够满足单个项目的数据存储需求。同时,数据入库存储过程中,系统自动检测各项生产数据的正确性和完整性,并报告相应的错误。
1.2.3 数据分析和展示数据分析模块完成分级数据的整理合并。综合考虑功能性和易操作性,对不同层级、维度的数据分析结果,本系统采用两种展示形式,即PDF图表格式和HTML交互式网页格式。不同于传统图表以相对静态的形式来表现数据,只能实现简单的显示、打印和数据导出功能,现代商业智能系统要求更直观的数据分析和表达方式。交互式图表使数据分析和展示尽可能动态化,实现业务分析的智能化,从而提升图表的实际价值。本系统以HTML交互式网页展示了各生产层级数据分析结果,每一层级包括日、周、月多时间维度。
2 系统实现的关键技术和方法
2.1 设计工具和方法
本系统以Python语言实现。系统的数据处理部分,比如清洗、去重、排序、合并、核算等,主要通过调用Numpy和Pandas第三方库实现,其中Pandas擅长于二维数据表的处理,对制造生产部门广泛使用的XLSX文件的读取和保存简单便捷。
本系统的可视化分析部分调用Matplotlib实现PDF图表的结果输出;调用Bokeh实现HTML交互式图表的结果输出。Matplotlib作为Python的2D绘图库,可灵活生成出版质量的图片,包括直方图、功率谱、条形图、散点图等。Bokeh生成交互式可视化Web网页的效果简洁漂亮,对大型的数据集也能够高效互动,对创建交互式的图表、控制面板及数据应用程序的过程简单快速。
2.2 分析结果展示
2.2.1 PDF图表格式PDF文件主要展示各时间维度的生产数据分析结果,根据“拉线-工段-项目”逐级按“日-周-月”维度进行可视化分析。图3展示了某“工段”级别下“日”维度的PDF分析报表。对应各生产时间段,其分析结果包括:(一天)不良数量随生产时间段变化情况;(一天)不良率随生产时间段变化情况;(一天)比较不同类型的不良数量随生产时间段变化情况;(一天)比较不同类型的不良率随生产时间段变化情况;(一天)总的产量、不良数量、不良率随生产时间段变化情况;(一天)不同因素导致的不良数量排名;含各项具体数据的生产记录表;分析表相关的其他附加信息。以堆叠图、条形图、折线图、表格、文字方式,从不同角度细化展示生产情况。
图3分析结果的PDF展示Fig.3 PDF display of analysis results
2.2.2 HTML交互式页面HTML页面展示不同生产层级在“日-周-月”时间线下的生产情况,使用交互式折线图。图4为某工段的“日-周-月”线的数据分析结果。各时间线的分析结果以文件夹的形式分别展示“产量,不良率”和“各不良项目情况(%)”。用户只需点击对应的子文件夹标签即可切换。将鼠标放在图中对应的时间节点上,则自动显示当前时间节点上所有的生产数据。为了向生产管理人员及时给予警示和预测,系统通过自动计算分析得到不良率变化最大的前4个数值,并通过不同的颜色显示出来,如图中“日线”的“各不良项目情况(%)”子图提示2019年06月28日相对上一个生产日变化最大的不良项是偏位、假焊、断铜、反线,相关生产管理人员可依此监控和调整岗位。同时,整个网页上方放置了交互式展示工具栏,用户可以自由选择工具进行放大、缩小、拖动、刷新等操作。
图4分析结果的HTML交互展示Fig.4 HTML interactive display of analysis results
3 系统的应用和改进方案
3.1 系统应用
将系统应用于某加工制造企业的实际生产,并进行跟踪监测,对其性能进行分析,结果如图5所示。其中,图5(a)展示了2019年5月到6月期间系统每日分析的报表文件总数和对应的分析总时长。在此项目上,系统每天平均分析输出29份报表文件,平均需要189 s分析时长。图5(b)展示了系统分析时长相对分析文件数量的分布情况。利用一元线性回归模型拟合,两者接近y=15.9x-278的线性关系,即除了跟计算机性能有关,系统所需的分析时长随着分析报表文件的增多而相应延长。
图5系统的性能分析Fig.5 Performance analysis of the system
3.2 系统的改进和完善
通过图5的分析结果可看出系统较好地适应了加工制造项目的灵活变化,给予数据分析和存储的更新支持,并快速给出丰富、细致、可靠的分析报表。但此系统的分析时长会随着分析报表的任务量近似线性增长,这是由于系统架构的串行处理的逻辑,因此此系统更适合一般项目级别的数据管理。同时,面对多地域多厂区分布的企业生产数据的整体分析和展示的需求,可采用基于云端的跨地域数据联结形式,如图6所示,对于分立的企业或厂区,使用当前系统能较好满足其生产数据的细化分析需求,给出PDF、HTML不同形式的报表展示,并将更新的项目数据库实时推送到云端的总数据库。企业再通过选择在线的或桌面的、商业的或个人设计的商业智能软件,帮助其定制个性化的数据分析看板,以此完成信息的纵向深度集成,展现全局生产情况。其结构可较好地克服数据量和地域限制,且实时动态更新。
图6基于云端的系统改进Fig.6 System improvement based on network cloud
4 结语
基于传统制造业的特点和需求,本文设计了一套简易型商业智能系统,系统通过了实际生产应用的验证,相较于大型商业智能系统对数字化工厂的硬性依赖,此系统简单、灵活且高效,可以规避传统制造业数控设施配备较低的短板,从而满足制造车间对数据分析、管理、监测的要求。手工数据与基于RFID(radio frequency identification)等技术的自动采集数据结合,将极大地完善制造企业的信息管理水平[12]。系统串行分析的形式限制了数据处理规模,针对更高级的跨地域生产大数据的集合分析和实时更新的需求,可使用基于云端的架构达成较低成本的实现,这将在以后的研究中更深入地进行探讨。