基于DRF的车辆制造数字化工艺管理系统设计与实现
2021-11-26邓杰
邓杰
(200093 上海市 上海理工大学 机械工程学院)
0 引言
在工业4.0 的变革热潮中,传统制造业数字化生产已经迫在眉睫。传统制造业必须要抓住机遇,转型升级[1]。用计算机技术辅助生产,以智能制造为目标,从而提高企业的资源配置,优化成本,提高效率。做到生产数字化,制造智能化,品质可控化。
本文针对某汽车生产企业车身总装车间提出的需求,开发了一套基于DRF 的车辆工艺管理系统,使企业的生产数字信息化。通过对企业工艺部门的调研以及企业提供的需求文件,发现企业虽然在汽车制造方面大多采用现代化的工业机器人,但是在工艺管理方面依然采用手工工艺卡片记录工艺信息,再一层层往上提交审核,造成生产效率低下,浪费大量人力,而且不便于生产信息管理和随时追溯查看有关问题信息。
1 系统需求分析
1.1 功能需求
通过对企业的实地调查,分析企业的需求,明确软件系统需要实现的主要功能。软件系统在需求分析及模块设计阶段都充分参考了企业的实际生产工作,在保证系统的可靠性、安全性、可扩展性的基础上,尽可能满足用户在使用中操作简单便捷、流程效率高的需求。
基于需求,分解出四大系统模块,分别为基础信息模块、问题信息模块、工艺流程模块、质量检测模块。
(1)基础信息模块:主要负责存储公司人员信息,相应的人员所属的部门、职位,以及每个员工负责的工段与工位。可使生产信息追溯到具体的人员。
(2)问题信息模块:用来记录工艺流程中的各种问题,自动生成各种问题表单。提交者需要对问题进行相应的描述,如有必要可以提交问题所对应的实际图片,然后通过上级审批,研究整改方案。整改表单会记录整改的每一个参数,以及整改后的实际情况,是否整改到位合格,整改后也需要上级领导审批。有的整改信息都会保存进数据库,方便以后遇到同样问题时进行借鉴。
(3)工艺流程模块:主要处理焊接工艺、涂胶工艺、紧固工艺3 种工艺。包括工艺基本参数,使用设备的基本参数。
(4)质量检测模块:检测质量是否合格,以及质量所对应的等级。分为焊接校对、涂胶校对、紧固校对,如果不合格需要具体明确不合格的缺陷类型。
1.2 性能需求
工艺部门是制造业企业的核心部门,指导着整个企业的生产规划,因此本工艺系统对系统运行的数据一致性与响应速度、稳定性、兼容性、安全性有较高的要求。
(1)数据一致性与响应速度
在工艺系统运行的过程中,会涉及到多个子公司的工艺部门的生产数据和工艺数据,如若系统不能保证有较快的响应速度,则会导致工作人员在操作时候看到的数据是滞后而不是时时的,若系统的响应速度快且数据一致,则下游部门也可以及时反馈有关数据问题。
(2)稳定性
本工艺系统将会在公司内长时间运行,如若系统的服务器不能正常工作,或者因为有关人员误操作而导致宕机,将会对公司造成无法估量的经济损失,所以在系统设计的过程中要充分考虑系统架构的影响,且尽量保证系统细节上的编码具有鲁棒性和可靠性[2]。
(3)兼容性
考虑到系统的兼容性,采用B/S 结构模式,避免了系统在设备和操作系统兼容性问题,只需通过前端代码解决浏览器兼容性的问题即可[3]。
(4)安全性
工艺部门涉及到大量的工艺数据,这些数据可以说是零件制造的核心所在,所以系统的访问安全性最为重要。由于B/S 网络结构模式在数据安全问题上有着天然的不足,因此需要更加注重系统在用户登录认证以及权限管理模块的设计。
2 系统总体设计
在整体需求基础上,将各个模块进行细化,拆分为如图1 所示的系统模块设计。
图1 系统功能模块设计图Fig.1 System function module design
2.1 系统功能模块设计
工艺系统目前共有4 个模块,分别为基础信息、问题处理、工艺流程、质量检测。
(1)基础信息应用模块包括公司部门信息、职位信息、工位信息、工段信息、员工的基本信息,以及部门、职位、工段、工位、员工所属关系。
(2)问题处理应用模块主要是记录汽车缺陷类型以及相应的负责人、整改方法等问题的相关数据信息。
(3)工艺流程应用模块首先要处理以前的数据,通过用户上传工艺卡片将对应的字段数据自动读入进MySQL 数据库中。其次将采用工艺系统填写参数的数据存进数据库,方便以后进行操作。
(4)质量检测应用模块负责记录每次处理完之后的质量情况,以及相对应的负责人等质量信息。
2.2 用户权限设计
系统服务于企业的工艺管理部门,使用者主要是工艺部门的工艺工程师以及质检部门的质量检测工程师,且根据工艺师的职能不同,系统需要设置各个部门组的管理人员。系统通过数据库管理员账号为每个员工创建账户,将每个用户按照实际所在的组(工作部门)分配系统权限,即各个组管理员有权限可以将员工拉进自己的组中,不同的组对应着不同的权限,从而自由灵活地根据需求绑定权限,使人员效率利用最大化。
在本系统中的3 类用户:
(1)Database Administrator(数据库管理员),负责数据库的数据管理,包括定期的数据维护、系统维护,以及创建新员工账户并初始化权限等。
(2)Manager 级别主要包括Product Manager(产品经理,PM)和Engagement Manager (项目经理,EM)
(3)Engineer 级别主要包括Process Engineer(工艺工程师,PE)和Quality Engineer(质量工程师,QE)。
2.3 数据导入、导出设计
数据导入功能是指将工程师手动填写的工艺卡片导入数据库,并且能够通过工艺编号自动判断此工艺在原本的数据库中是否已经存在。如果存在,则将此类工艺的版本号进行自动升级加以操作;如果不存在,则在数据库中新建此类工艺字段数据。
质量检测工程师需要上传质量检测时存在的对应问题的图片,以及重新整改过后合格零件的图片。
数据导出功能是指将工艺卡片或者图片导出,或者质检问题图片方便现场实施,并可以在浏览器中直接打印。
导入与导出在工艺工程师和质量检测工程师的操作场合都有涉及,因此把这个功能剥离出来单独设计封装。系统通过前端页面上传文件,利用AJAX 框架技术进行异步上传文件,导入文件数据以文件流的形式,要通过浏览器自身提供的FormData 将文件内容插入进去,最后利用XMLHttpRequest 提交[5]。在后端,代码程序通过文件后缀检查如xlsx 以及常见的图片格式进行简单的文件过滤,判断文件是否为系统支持的类型。最后系统通过后端编写的解析代码对文件流中的数据进行相对应的解析,将解析好的数据存储在服务器的文件系统或写入所对应的数据库表单中。
系统文件导出有2 种:一种是直接将页面表单打印,另一种是生成Excel 导出。用户点击前端界面相应的按钮组件,向后端发送对应的URL请求,则后端首先会将相应的数据内容解析成文件流形式,然后保存在服务器的文件系统中,最后将文件的URI 通过AJAX 返回发送至前端浏览器[6],供用户下载或者打印。导入导出模块业务流程如图2 所示。
图2 导入导出模块业务图Fig.2 Import and export module service
3 系统功能的实现
3.1 系统界面
系统界面参照了许多同类型管理系统布局,给出了如图3 的设计,满足企业对系统页面的简洁朴素的要求。
图3 系统界面效果图Fig.3 System interface
工艺管理系统界面主要分为3 个部分:导航栏、用户区、信息区。上方导航栏采用二级导航,当鼠标移动或点击每个模块时候,每个模块的子标题会显示出来。简单快捷帮助用户导航;右上方用户区显示了登录用户账户的基本信息以及当前时间等;信息区展现了每个模块所需要展现的相关信息。
3.2 登录验证实现
系统登录直接使用Django REST framework 自带的登录验证组件。用户在登录界面中输入用户名和密码,数据通过加密发送给后端,后端通过到用户表中查询验证是否正确。登录验证流程如图4 所示。
图4 登录验证流程图Fig.4 Login verification flow chart
3.3 数据导入实现
由于自动和手动的文件格式不同,内容也有所差距,这就给读取数据造成些许麻烦,因此要求工程师需要在界面中选择界面的相对应选项,然后上传文件,填入界面如图5 所示,后端会根据前端传回来的参数选择使用相对应的函数,自动读取文件中的数据并填入数据库中。
图5 数据导入页面Fig.5 Data import page
4 结语
Django Rest framework 作为简单、快速开发的Web 框架代表,利用模块化的思想降低系统耦合度,同时前后端分离开发,采用Nginx 进行反向代理,提升系统开发速度。本系统的设计基本实现了企业的目前的需求。对车辆制造的工艺数据进行数字化、智能化管理,大大提升了企业的工艺部门的工作效率。