温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
基于
Vue
Spring_
机床
监控
系统
设计
实现
杨佳淼
工程应用本栏目责任编辑:梁书Computer Knowledge and Technology电脑知识与技术第19卷第3期(2023年1月)第19卷第3期(2023年1月)基于Vue+Spring Boot的数控机床监控系统的设计与实现杨佳淼,袁艺超,赵联昌,夏冬(秦川机床工具集团股份公司,陕西 宝鸡 721009)摘要:随着Web技术的快速发展,越来越多的计算机技术被应用在工业软件研发领域。该文对基于Vue+Spring Boot框架开发的数控机床监控系统进行了阐述。该系统解决了无法远程实时获取和记录多种通信协议机床运行参数、无法实时掌握参数的变化趋势等问题,同时在Vue框架中引入第三方组件库开发出美观的操作界面及数据展示界面。该系统在车间上线应用,实现了数控机床装备的透明化管理,为实现生产设备的精细化管理奠定基础。关键词:Vue;Spring Boot;数控机床;监控系统中图分类号:TP311.5文献标识码:A文章编号:1009-3044(2023)03-0089-04开放科学(资源服务)标识码(OSID):1 引言智能制造和工业4.0的核心是实现制造过程的信息化、网络化、智能化,而数控机床是智能制造单元以及智能化生产线中的核心设备1,其运行状态的好坏直接影响着产品质量和加工效率。对于生产线来说,一台设备故障往往影响整个生产线的正常运转。数控机床作为一种复杂机电产品,价格高昂,维修成本高,通过以太网实现对机床的远程监控,可以实时掌握机床的运行状态,以及加工过程中的关键参数的变化趋势,当机床发生故障时可及时告知设备维护人员处理机床发生的故障,从而提高机床的使用效率,提升加工产品质量2。随着Web技术、物联网技术的快速发展,使得实现多种类不同通信协议数控机床的监控成为可能。本文针对市场上使用率较高的西门子、力士乐、华中数控系统,采用目前流行的开发框架 Vue 和 SpringBoot,以及第三方组件库 Element UI、Echarts、DataV等,开发出前后端分离的机床监控系统,包括数据采集、数据存储、Web用户操作界面,用户只需要通过浏览器就可实现对系统的访问。2 系统功能需求系统需能实现如下功能。2.1 权限管理系统的使用人员可以分为系统管理员、设备管理员、设备维护人员、生产管理人员等,不同的人员应能设置查看系统中与其自身职责相关的功能。授权的用户可以通过浏览器访问系统。2.2 机床数据采集展示功能需要实时采集机床运行过程中的数据,能够灵活设置需要采集的参数,并对采集到的数据进行存储,便于后续的分析研究。同时系统可以显示监测的数据以及趋势图、报警记录及统计报表、机床效率等。2.3 故障维修经验的存储需建立故障维修经验库,设备维护人员需要把工作过程中习得的经验进行线上存储。3 系统功能模块介绍机床监控系统主要包括系统管理、基础数据、机床监控、故障诊断、数据分析。模块结构如图1所示。3.1 系统管理由系统管理员对这些模块的数据进行初始化,包括录入使用系统的用户信息、角色信息、部门信息等,为每个用户分配角色,对不同的角色划分不同的功能模块权限,使不同类型的管理人员使用与自身职能相对应的功能模块。通过管理员添加并激活的用户才有权登录系统。配置管理用于设置上传图片的路径。收稿日期:2022-08-25基金项目:2021年产业技术基础公共服务平台项目:建设机床装备数控互联平台及大数据中心及应用平台(项目编号:2021-0171-1-1)作者简介:杨佳淼(1991),男,陕西宝鸡人,软件设计师,硕士,研究方向为机床监控系统及车间生产线软件开发;袁艺超(1990),女,陕西渭南人,助理工程师,学士,研究方向为软件开发;赵联昌(1975),男,陕西咸阳人,系统集成项目管理工程师,学士,研究方向为智能制造类工业软件研发;夏冬(1985),男,陕西渭南人,工程师,学士,研究方向为软件开发。E-mail:http:/Tel:+86-551-65690963 65690964ISSN 1009-3044Computer Knowledge and Technology电脑知识与技术Vol.19,No.3,January202389DOI:10.14004/ki.ckt.2023.0143本栏目责任编辑:梁书工程应用Computer Knowledge and Technology电脑知识与技术第19卷第3期(2023年1月)第19卷第3期(2023年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所示。获取需要采集机床的信息判断连接选项是否开启判断是否连接读取数据数据存储结束开始是否是否建立连接断开连接判断是否连接是否图2 数据采集流程图进行机床数据采集时,首先在系统机床信息模块中,手动开启连接选项,系统才会进行机床连接与数据读取。关闭连接选项后,系统会断开连接停止数据采集。机床监控系统系统管理基础数据机床监控故障诊断数据分析用户管理角色管理部门管理配置管理机床信息监控中心事件中心历史数据查询故障信息维修信息故障案例检索OEE分析报警统计参数设置图1 模块结构图90工程应用本栏目责任编辑:梁书Computer Knowledge and Technology电脑知识与技术第19卷第3期(2023年1月)第19卷第3期(2023年1月)建立连接:根据获取的机床信息,通过getEndpoints(StringendpointUrl)获取OPC UA的服务端节点,设置OPCUA的连接配置,创建 OPCUA 客户端opcUaClient,然 后 利 用connect().get()进行连接。读取数据:调用readValues(double maxAge,TimestampsToReturn timestampsToReturn,List nodeIds)进行数据读取。在调用该方法前,需要将机床采集的参数添加到List中。断开连接:调用 disconnect().get()断开系统与机床的连接。4.4 界面程序开发在 Vue 中 引 入 Element UI、Echarts、DataV组件进行界面开发,ElementUI 是基于 Vue 的一个 UI组件库,该库中包含了丰富的网页端组件,不需要开发人员对常用的按钮、输入框、下拉框、表格、树等组件进行二次封装,只需要对属性进行简单配置就能满足使用需求,方便程序员进行页面快速布局和开发,整个UI风格简约、实用,同时极大地提高了开发者的效率,是一个非常受欢迎的组件库。Echarts和DataV提供了丰富的折线图、柱状图、饼图、边框等数据可视化图表,方便程序开发人员构建大屏数据展示页面,并且兼容当前大部分的主流浏览器5。如图3 所示,监控中心界面可以查看机床基本信息、当前的状态以及加工数量。通过点击单台机床图片进入到单台机床监控界面,如图4所示,可以查看单台机床详细的运行参数,例如主轴转速、主轴倍率、进给轴倍率、主轴电流、跟随误差等实时数据。图3 监控中心界面图图4 单台机床监控界面图图5 维修信息界面图91本栏目责任编辑:梁书工程应用Computer Knowledge and Technology电脑知识与技术第19卷第3期(2023年1月)第19卷第3期(2023年1月)如图5所示,维修信息界面可以查看与机床故障相对应的维修办法。4.5 后端程序开发后端程序采用三层结构设计,分为Controller层、Service层、Dao层。Controller层是控制层,负责接收前端发来的http请求以及参数,调用Service 层中的方法,并接收方法返回值,传递数据给前端。Service层是服务层,主要负责处理业务逻辑,调用Dao层中的方法,接收方法返回值,传递数据给Controller层。Dao层是数据持久层,该层负责对数据库表进行增、删、改、查操作,返回数据给Service层。这使程序结构非常清晰,实现了程序的高度解耦。下面以监控中心模块中获取机床信息、状态为例。1)Controller层负责接收前端请求,调用service层getAllList()方法,并将结果返回给前端GetMapping(value=/allList)public Object getAllList()ListMap list=machineInfoService.getAllList();return Rets.success(list);2)Service层调用调用Dao层getAllList()方法,并将结果返回上层public ListMap getAllList()return machineInfoRepository.getAllList();3)Dao层负责从数据库查询并将结果返回给上层Query(nativeQuery=true,value=select mi.id asid,mi.code as code,+mi.name as name,mi.pictrue as pictrue,+mi.ip as ip,mi.isopcua as connect,mi.status as status,+mi.process_count as processCount,fi.real_file_name as img+f