?

基于Vue+Spring Boot的數控機床監控系統的設計與實現

2023-05-30 16:51楊佳淼袁藝超趙聯昌夏冬
電腦知識與技術 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在數控機床中應用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合