程秀全,林海新,程思竹,肖刚锋,刘铭光
(1.广州民航职业技术学院 飞机维修工程学院,广东 广州 510403;2.华南理工大学 机械与汽车工程学院,广东 广州 510640)
电极加工是模具加工前的重要环节[1],主要以人工为基础的传统电极加工信息管理效率低,给企业的生产过程和成本带来了负面影响。当前针对电极加工的信息管理系统的研究,国内尚处于起步阶段。李欢等[2]针对某企业生产实际,基于射频识别(RFID)技术结合B/S架构软件和数据库研究了模具电极的整个生命周期的信息管理系统;刘扬等[3]利用Access 数据库和.net 开发技术研发了C/S 结构的辅助电极的信息管理系统;CHEN Z L 等[4]分析了利用RFID 技术对模具生产整个流程的信息管理方案;WANG B 等[5]针对某模具企业,研究了基于RFID技术的模具制造整个流程的信息管理系统;尹健磊等[6]研究了基于PowerMILL 的模具零件电极自动编程管理系统;王伟驎等[7]针对模具的生产管理研究了基于RFID 技术的射出成形车间模具管理系统;徐炜[8]针对模具生产过程研究了一种基于MES 的电极管理系统;ZENG H 等[9]构建了一套模具电火花加工自动化电极检定管理系统。对于模具及电极的自动化、智能化生产,目前也有学者进行了相关的研究,如张平等[10]研究了一种柔性自动化生产在模具零件加工中的应用方案。
以上研究主要集中在电极层面或模具制造层面对电极的整个生命周期或模具加工生产信息进行管理,而对其子模块的电极加工的管理方案,特别是对电极加工程序的获取并没有进行深入的优化。以下结合某模具企业的实际需求,探索RFID技术在电极加工程序获取以及电极信息、加工参数等信息管理中的应用方案,设计一套配合RFID 技术的快速信息获取并对其进行有效管理的软件系统。
对于电极的数控加工,首先要得到相应的加工程序。在快速获取电极加工信息方面,系统应根据电极ID 来获取相应电极、加工程序及加工参数等信息。同时,为了兼容加工中程序文件并未完全匹配相应加工设备的情况,系统还需提供一种在线预览编辑加工程序后下载程序文件的获取方式。
由于系统的所有信息都存储在服务器的数据库中,针对后续新增的电极,系统应当具备信息的导入以及程序文件的上传功能,对于一些已弃用的电极,系统应提供信息的删除功能。同时,对于存储在数据库中需要修改的信息,系统还需提供信息的修改功能。此外,系统还应具备在信息安全方面的功能,如权限控制、操作日志记录等。
综上所述,在程序的获取以及信息的管理方面,系统的功能应包括程序下载、信息管理及信息安全等方面的功能,如图1所示。
图1 电极信息管理系统结构
当前较流行的优秀数据库有Oracle、MySQL、SQL Server 等,Oracle 数据库费用昂贵,故不选择。与MySQL 相比,SQL Server拥有更好的读写性能、数据可靠性、易用性等优势,因此选用SQL Server 数据库软件。
一个软件包含客户端和服务器两大部分,软件的结构主要分为C/S(客户端/服务器)结构和B/S(浏览器/服务器)结构。由于B/S 架构的软件是通过浏览器和服务器请求相应的操作,开发、维护成本低、分布性强。开发的系统中每次传输的数据量不大,在加工应用中分布范围较广,同时RFID 读写器也有对通用浏览器内核支持的信息传输协议,因此选择更适用的B/S架构软件。
B/S 架构的软件开发包括前端浏览器网页开发和后端服务器开发,前端浏览器网页开发技术通常用html 做元素生成,用css 做页面美化,用javascript(简称js)实现页面的动态效果。较前端开发而言,后端服务器开发有很多选择,此处选用生态链比较成熟的Java 编程语言,通过Java 官网提供的JDBC接口实现服务器与数据库的连接通信。对于软件前端网页和后端服务器的通信,主要有jsp(同步通信)和Ajax(异步通信)2 种方式,为了降低软件的耦合度,便于软件系统的维护开发,选用Ajax技术。
电极加工信息主要包括电极加工信息、加工程序信息、加工参数信息和用户信息,表创建SQL 代码见DatabaseDesign.sql 文件中创建电极信息表注释标记代码。
(1)电极加工信息:如电极ID、材料、尺寸、Z 轴高度、所属模具零件编号、火花位、库存量、存放位置、是否属于自动化生产等,相应数据如表1 所示。由于电极ID 唯一,应设置字段数据唯一约束,而其他字段信息不可缺少,创建表时应设置非空约束。
(2)电极加工程序信息:如电极ID、程序文件存储路径、加工预计耗时、程序导入时间、程序编制人员等,相应数据如表2 所示。其中电极ID 必须保证存放于电极信息表的id字段,故需将电极ID 字段设置为电极信息表中id字段的外键,让两表相关联。
表1 电极加工信息表
表2 电极加工程序信息表
(3)电极加工参数信息:如工序信息、加工余量、切削用量(切削速度、进给量、背吃刀量)、加工坐标等,相应数据如表3 所示。表中的每一条信息只是电极加工的其中一道工序参数信息,每个电极的加工参数信息包括表中电极ID 相同的所有记录信息,并且是通过工序号进行工序的先后排序,为了与电极信息关联需要将电极ID 设置为电极表中id字段的外键并且不能让其数值唯一。
表3 电极加工参数信息表
(4)系统用户信息:如用户姓名、用户所属部门、用于登录的账号、用于登录的密码等,相应数据如表4所示。
表4 用户信息表
B/S 软件开发大多采用三层架构的形式,即表示层、业务逻辑层、数据访问层,每层分工明确。可降低软件的耦合度,有利于软件的维护。现采用该架构,系统整体结构如图2所示。
图2 软件系统整体结构
系统的工作流程为:浏览器网页获取生产请求的参数,然后根据不同的参数访问不同服务器请求路径下的资源,服务器对相关参数进行处理后,用处理后的参数访问后台数据库,从后台数据库获取相对应数据后,获取网页请求的资源并返回浏览器,最后将资源展示在浏览器网页。
系统主要包括模具电极信息管理、模具电极加工程序下载、信息安全三方面的主要功能,因此系统对于3 个模块功能提供了导航菜单及二级子菜单,如图3所示。
图3 功能模块导航菜单条
3.3.1 电极加工程序下载功能服务器端开发
通过电极ID 查询数据库获取程序文件的存放路径(url),然后通过IO 类读取程序内容,将其设置为附件处理的形式回写给浏览器,根据请求的不同分为单个文件下载和多个文件下载。
对于程序的预览编辑后下载,先通过电极ID 调用直接下载获取程序内容,然后将其用html 的文本形式回写给浏览器,前端接收并显示到指定区域,在编辑完成后按文件形式返回给浏览器。
3.3.2 电极加工信息管理功能服务器端开发
信息导入:借助于apache的fileUpload工具将数据和文件进行封装后存入数据库和服务器指定文件夹中。
信息删除:信息删除涉及电极、程序、加工参数以及程序文件,需要将删除的电极信息、程序信息、加工参数信息、文件归结到同一事务中处理。
信息修改:通过设置信息显示表格中的数据可编辑,从而提供信息的修改功能。
信息查询:利用满二叉树的数据结构与反射技术实现查询。
3.3.3 信息安全功能服务器端开发
登录验证主要通过简单的校验账号密码是否正确。操作日志主要借助logback 工具包对一些程序的下载、信息的操作进行日志记录并生成日志文件。
通过RFID 读写器读取存储在与电极绑定的电子标签中的电极唯一ID 编号,然后RFID 读写器通过无线系统将电极ID 数据格式转换后发送给模具电极加工信息管理系统的浏览器客户端。客户端接收电极ID 之后向服务器端发出下载该电极ID 对应的加工程序的请求,服务器端根据电极ID 查询数据库中对应的加工程序文件所在的路径,并根据该路径读取电极文件返回给浏览器客户端,完成电极加工程序的自动下载,下载流程如图4 所示。所开发的模具电极信息管理系统页面如图5所示。
图4 电极加工程序自动下载流程
图5 系统主页面
针对某模具企业电极加工信息管理的实际需求,完成模具电极信息管理系统开发。在探索RFID技术应用于制造生产的基础上,基于数据库和软件编程技术开发了一套电极加工信息管理软件,所开发的管理系统能在电极加工中较快地获取电极加工程序,对生产加工中的电极、程序以及加工参数信息进行有效集中管理。该系统具有一定的实用性,并能在有效提升企业模具电极信息管理水平的同时保证管理系统的安全性。