APP下载

基于Vue+Spring Boot的数控机床监控系统的设计与实现

2023-05-30杨佳淼袁艺超赵联昌夏冬

电脑知识与技术 2023年3期
关键词:监控系统数控机床

杨佳淼 袁艺超 赵联昌 夏冬

关键词:Vue;Spring Boot;数控机床;监控系统

中图分类号:TP311.5 文献标识码:A

文章编号:1009-3044(2023)03-0089-04

1 引言

智能制造和工业4.0的核心是实现制造过程的信息化、网络化、智能化,而数控机床是智能制造单元以及智能化生产线中的核心设备[1],其运行状态的好坏直接影响着产品质量和加工效率。对于生产线来说,一台设备故障往往影响整个生产线的正常运转。数控机床作为一种复杂机电产品,价格高昂,维修成本高,通过以太网实现对机床的远程监控,可以实时掌握机床的运行状态,以及加工过程中的关键参数的变化趋势,当机床发生故障时可及时告知设备维护人员处理机床发生的故障,从而提高机床的使用效率,提升加工产品质量[2]。

随着Web技术、物联网技术的快速发展,使得實现多种类不同通信协议数控机床的监控成为可能。本文针对市场上使用率较高的西门子、力士乐、华中数控系统,采用目前流行的开发框架Vue 和SpringBoot,以及第三方组件库Element UI、Echarts、DataV等,开发出前后端分离的机床监控系统,包括数据采集、数据存储、Web用户操作界面,用户只需要通过浏览器就可实现对系统的访问。

2 系统功能需求

系统需能实现如下功能。

2.1 权限管理

系统的使用人员可以分为系统管理员、设备管理员、设备维护人员、生产管理人员等,不同的人员应能设置查看系统中与其自身职责相关的功能。授权的用户可以通过浏览器访问系统。

2.2 机床数据采集展示功能

需要实时采集机床运行过程中的数据,能够灵活设置需要采集的参数,并对采集到的数据进行存储,便于后续的分析研究。同时系统可以显示监测的数据以及趋势图、报警记录及统计报表、机床效率等。

2.3 故障维修经验的存储

需建立故障维修经验库,设备维护人员需要把工作过程中习得的经验进行线上存储。

3 系统功能模块介绍

机床监控系统主要包括系统管理、基础数据、机床监控、故障诊断、数据分析。模块结构如图1所示。

3.1 系统管理

由系统管理员对这些模块的数据进行初始化,包括录入使用系统的用户信息、角色信息、部门信息等,为每个用户分配角色,对不同的角色划分不同的功能模块权限,使不同类型的管理人员使用与自身职能相对应的功能模块。通过管理员添加并激活的用户才有权登录系统。配置管理用于设置上传图片的路径。

3.2 基础数据基础数据

包括机床信息模块、参数设置模块。机床信息模块用于对系统中管理的机床信息进行初始化,包括机床编号、型号、名称、IP地址、通信协议、端口、机床图片等,其中通信协议主要包含OPCUA、OPCDA、Nc-Link、Modbus。在参数设置模块中对每台机床需要采集的参数进行灵活设置。

3.3 机床监控机床监控

包括监控中心模块、事件中心模块、历史数据查询模块。监控中心模块可查看机床的基本信息、当前的加工数量、机床当前的状态以及详细的运行参数。事件中心模块可以记录机床开机、关机、故障等事件。历史数据查询模块可以查看采集机床的历史数据,并可以将数据绘制成曲线图,从而直观地查看数据的变化趋势。

3.4 故障诊断

故障诊断包括故障信息模块、维修信息模块、故障案例检索模块。通过建立故障库、维修经验库,设备维护人员在遇到自己难以解决的机床故障时,可以在系统中进行查询,帮助其快速定位问题发生的原因以及故障的解决办法,提高工作效率。同时方便设备维护人员进行经验知识的分享,不会因为人员流动造成维修经验的流失。

3.5 数据分析

数据分析可以统计机床OEE以及故障统计报表。通过OEE及故障统计报表,管理人员可以直观地看出影响生产效率的瓶颈工序,对综合利用率低以及容易发生故障的设备及时进行维护和检修,从而提高生产效率,降低因停机造成的损失。

4 系统实现

系统采用B/S架构,前后端分离技术进行开发,前端采用Vue框架,后端采用Spring Boot框架。

4.1 采用的Vue框架和Spring Boot 框架介绍

Vue是一套用于构建用户界面的渐进式的Js框架,只关注视图层,采用自底向上增量开发的设计,Vue框架采用MVVM模式,实现数据的双向绑定,能将后端传递的数据转化成所看到的页面,也能将所看到的页面转化成后端的数据。它与Angular Js、React框架相比,Vue更加简单,运行速度更快,易于与第三方库整合[3]。

Spring Boot是由Pivotal团队提供的框架,其设计目的是简化Spring应用的初始搭建以及开发过程。SpringBoot遵循“约定优于配置”的原则,可以极大地简化Spring配置流程,从而使开发人员不再需要自定义样板化的配置,让开发人员更加专注于系统业务的实现[4]。

4.2 开发环境

开发工具:Eclipse;开发环境:Windows7;Web服务器:Apache-tomcat-8.5.51、JDK 1.8.0_192;数据库:MySQL 5.7.17。

4.3 数据采集程序开发

机床实时数据是由监控系统中的数据采集程序完成。在Spring Boot 中需要引入OPCUA、OPCDA、Nc-Link、Modbus相关协议的jar包,与机床通信时调用jar包中对应的通信接口函数。下面以西门子数控系统的OPCUA通信协议为例,数据采集程序步骤如图2所示。

进行机床数据采集时,首先在系统机床信息模块中,手动开启连接选项,系统才会进行机床连接与数据读取。关闭连接选项后,系统会断开连接停止数据采集。

建立连接:根据获取的机床信息,通过getEnd?points(String endpointUrl)获取OPC UA的服务端节点,设置OPCUA的连接配置,创建OPCUA 客户端opcUaClient,然后利用connect().get()进行连接。

读取数据:调用read?Values ( double maxAge,TimestampsToReturn time?stampsToReturn, List nodeIds)进行数据读取。在调用该方法前,需要将机床采集的参数添加到List中。

断开连接:调用dis?connect().get()断开系统与机床的连接。

4.4 界面程序开发

在Vue 中引入Ele?ment UI、Echarts、DataV组件进行界面开发,ElementUI 是基于Vue 的一个UI组件庫,该库中包含了丰富的网页端组件,不需要开发人员对常用的按钮、输入框、下拉框、表格、树等组件进行二次封装,只需要对属性进行简单配置就能满足使用需求,方便程序员进行页面快速布局和开发,整个UI风格简约、实用,同时极大地提高了开发者的效率,是一个非常受欢迎的组件库。Echarts和DataV提供了丰富的折线图、柱状图、饼图、边框等数据可视化图表,方便程序开发人员构建大屏数据展示页面,并且兼容当前大部分的主流浏览器[5]。如图3 所示,监控中心界面可以查看机床基本信息、当前的状态以及加工数量。

通过点击单台机床图片进入到单台机床监控界面,如图4所示,可以查看单台机床详细的运行参数,例如主轴转速、主轴倍率、进给轴倍率、主轴电流、跟随误差等实时数据。

如图5所示,维修信息界面可以查看与机床故障相对应的维修办法。

4.5 后端程序开发

后端程序采用三层结构设计,分为Controller层、Service层、Dao层。Controller层是控制层,负责接收前端发来的http 请求以及参数,调用Service 层中的方法,并接收方法返回值,传递数据给前端。Service层是服务层,主要负责处理业务逻辑,调用Dao层中的方法,接收方法返回值,传递数据给Controller层。Dao层是数据持久层,该层负责对数据库表进行增、删、改、查操作,返回数据给Service层。这使程序结构非常清晰,实现了程序的高度解耦。下面以监控中心模块中获取机床信息、状态为例。

1) Controller层负责接收前端请求,调用service层getAllList()方法,并将结果返回给前端

@GetMapping(value="/allList")

public Object getAllList(){

List> list=machineInfoService.

getAllList();

return Rets.success(list);

}

2) Service层调用调用Dao层getAllList()方法,并将结果返回上层

public List> getAllList() {

return machineInfoRepository.getAllList();

}

3) Dao层负责从数据库查询并将结果返回给上层

@Query(nativeQuery = true,value = "select mi.id as

id,mi.code as code, "+

"mi.name as name,mi.pictrue as pictrue," +

" mi.ip as ip,mi.isopcua as connect,mi.status as sta?

tus,"+

" mi. process_count as processCount, fi. real_file_

name as img"+

" from machine_info mi LEFT JOIN t_sys_file_info

fi on mi.pictrue=fi.id")

List> getAllList();

4.6 前后端的数据交互

前后端交互通过JSON(JavaScript Object Notation)格式的数据。JSON是一种轻量级的数据交换格式,完全独立于编程语言,结构简洁,数据存储空间小、数据冗余少且传输速度快[6],可以在不同语言之间进行数据交换。监控中心界面向后端发送请求,后端返回给前端机床信息、机床图片信息、加工数量及当前状态等JSON格式的数据,最终由前端程序接收并对数据进行展示。如图6所示,通过浏览器的开发者工具查看后端返回的JSON格式数据。

5 结束语

1) 本文提出基于Vue+Spring Boot的数控机床监控系统,为机床监控系统的研发提供了一套切实可行的方法。系统上线后,经现场验证,运行稳定可靠。

2) 系统实现了OPCUA、OPCDA、Nc-Link、Modbus协议的通信,进行此类设备通信时,无需再做二次开发。连接新设备时,只需通过机床信息模块和参数设置模块手动录入相关信息就可实现设备数据采集、存储、展示。

3) 该系统实现对机床数据的实时采集存储,为将来实现设备的预测性维护提供数据支撑。

4) 采用前后端分离的模式开发机床监控系统,前端界面和后端程序可同步开发,提升了系统开发效率,缩短了系统开发周期。后端采用三层结构设计有利于系统的更新和维护工作。

猜你喜欢

监控系统数控机床
数控机床的节能应用
高档数控机床数据采集应用
数控机床电气系统的故障诊断与维修
PLC在数控机床中应用