艾杰 羅敏 葉亮亮 楊暢暢



摘 ?要:設計一款基于云平臺的數控機床遠程狀態監控系統.系統在局域網中通過FOCAS采集機床內部運行狀態信息,使用云服務器、邊緣控制器和內網穿透技術實現局域網信息上云和PMC程序云監控.實驗結果表明,系統可提供遠程故障診斷、分析和排查等服務.用戶可在便攜式設備上,方便地查看機床加工過程的實時狀態.
關鍵詞:云平臺;遠程監控;FOCAS;內網穿透;邊緣控制器
[ ? 中圖分類號 ? ?]TP277; TP319; TP274 ? [ ? ?文獻標志碼 ? ] ?A
Remote Monitoring System of CNC Machine Tools
Based on Cloud Platform
AI Jie,LUO Min*,YE Liangliang,YANG Changchang
(School of Electrical & Information Engineering, Hubei University of Automotive Technology,
Shiyan 442002, China)
Abstract:Design a remote condition monitoring system for CNC machine tools based on cloud platform. The system collects the internal operation status information of machine tools through FOCAS in the LAN, and uses cloud server, edge controller and intranet penetration technology to realize the LAN information on the cloud and PMC program cloud monitoring. The experimental results show that the system can provide remote fault diagnosis, analysis and troubleshooting services. Users can conveniently view the real-time status of machine tool machining process on portable devices.
Key words:cloud platform; remote monitoring; focas; inner network penetration;
edge controller
數控機床作為工業生產中的重要加工設備,其主軸在加工過程中的功率、轉速等數據,對刀具切削異常判斷、刀具斷刀判斷、能耗優化研究等方面具有重要指導作用.[1]數控機床加工過程的實時監控是實現加工車間信息化和網絡化的關鍵技術之一.[2]傳統數控加工過程由于缺乏有效的實時監控,機床產生碰撞或報警后無法及時通知到位,可能會降低企業生產的效率,造成不必要的經濟損失.[3]針對數控設備的信息采集與實時監控,李飛[4]提出基于PLC的生產設備數據采集方案.吳雙玉 [5] 等利用傳感器和開放式通信接口技術,實現了制造車間設備遠程監控系統開發.鄭曉虎[6] 等基于MTConnect協議,為不同廠家的設備提供了統一的通信接口,并應用于設備監控.聞帥杰[7] 等基于OPC UA實現了數控裝備之間的互聯互通.高羅卿[8] 等使用FOCAS實現了大型精密工件在線測量與監控系統的設計,將狀態監控、車間設備信息自動化采集與工業互聯網、工業云平臺相結合,對實現工業數字化、網絡化、智能化具有重要意義.本文針對數控機床對智能監控的需求,將云平臺技術、內網穿透技術、Web服務器與多線程技術、網頁設計技術、消息隊列技術和數據庫持久化技術結合起來,利用邊緣控制器在邊緣處理數據,實現數控機床動態能耗、系統參數、位置信息、報警狀態和PMC信號等關鍵狀態信息的云監控,用戶可在便攜式設備上方便地查看機床工作過程及實時狀態.
1 系統總體設計
1.1 開發環境
FOCAS是機床與應用程序進行通信的基礎,可降低數控系統內部數據采集的成本.FOCAS(FANUC Open CNC API Specifications)位于傳輸層協議之上,它是計算機用于專門與CNC/PMC做數據交換的接口.FOCAS可在HSSB和以太網進行數據傳輸,為提高CPU的訪問效率,它采用結構體成員四字節對齊的策略,提供fwlibe1.dll和fwlibe64.dll供32或64位應用程序調用.[9]本系統使用Java語言開發了64位服務器應用程序,將其打包成.exe文件放于Windows系統直接運行.服務器程序利用JNA完成FOCAS與Java中的數據類型轉換和接口聲明工作,最終實現對CK0628數控車床信息的自動化采集.系統以配備FANUC 0i-TD數控系統的CK0628數控車床為監控目標,開發所需硬件為TL-WR842N路由器和研華AMAX-5580信息采集設備.軟件為Windows 7 64bit操作系統,JDK 1.8.0_261服務器開發環境,Node.js v14.11.0界面開發環境,Mysql 5.7數據庫,RabbitMQ 3.9.7消息隊列,Frp 0.34.1內網穿透.
1.2 總體架構
系統設計的總體架構如圖1所示,分為感知層、傳輸層和應用層.[10-12]感知層信息采集硬件設備選擇研華工業物聯網邊緣控制器AMAX-5580,AMAX-5580可運行Windows 7/10 64位操作系統,融合了PLC控制技術與PC信息化技術.它將PLC控制器、PC、網關、運動控制、I/O數據采集、現場總線協議、機器視覺、設備聯網等多領域功能集成于同一平臺,同時實現設備運動控制、機器視覺、設備預測維護、設備聯網、數據分析和優化控制.AMAX-5580可直接對接工業云平臺,在邊緣側協同遠程工業云平臺實現智能生產線控制;傳輸層選擇高速以太網進行數據傳輸,保證信息的實時性和安全性;應用層使用騰訊云輕量應用服務器作為云存儲和云計算的支撐平臺,對外提供界面訪問、消息緩存和遠程PMC程序調試等功能.采集的重要加工信息經過消息隊列緩存后被消費者消費,最終存儲到Mysql數據庫.
1.3 網絡結構
系統網絡結構如圖2所示,機床與邊緣控制器所連接的TL-WR842N路由器,通過無線橋接的方式連接到局域網網關,最終接入到互聯網.機床路由器在無線橋接的狀態下,其DHCP功能必須關閉.邊緣控制器、數控機床和機床路由器的IP地址需劃分到同一局域網網段,且三者默認網關的IP地址應為局域網網關LAN口的IP地址(一般默認為私有地址192.168.1.1).
信息監控服務器通過權限認證來保證其接口的安全性,與內網穿透軟件一起運行在邊緣控制器上,內網穿透軟件會代理云服務器特定端口的流量并將其轉發到監控服務器.Web界面置于云端Nginx服務器之上,用戶訪問界面時,會產生數據拉取請求,這些請求會被轉發給局域網中的信息監控服務器,服務器做出響應,從而實現信息上云.
2 軟件設計
2.1 監控服務器設計
監控服務器進行信息采集使用到的主要FOCAS API見表1.FOCAS Library中的接口支持多線程調用,且每一個線程利用cnc_allclibhndl3與機床創建的TCP連接都會被分配一個單獨的句柄號,該句柄號會保留到應用程序終止,除非手動釋放.此句柄號也只能被獲得它的線程使用,其他線程使用會報句柄錯誤,申請到的句柄在不用時必須釋放,否則將無法繼續分得句柄.[9]
為提高通信效率,防止服務器頻繁地與機床建立、銷毀連接,監控服務器創建了線程池,通過cnc_allclibhndl3預先建立線程與機床的TCP連接,利用Java中的ThreadLocal存儲線程獲取句柄號,讓線程池里的線程與機床進行交互,異步完成信息采集任務.此方法可解決FOCAS單線程綁定的問題,防止句柄錯誤發生,該錯誤的返回狀態碼為EW_HANDLE.
監控服務器的工作邏輯如圖3所示,信息采集請求分為后臺采集請求和用戶采集請求.服務器收到開啟后臺監控的請求后,進行后臺信息采集,通過cnc_rddynamic2獲取當前正在運行的NC程序,利用字符串處理函數提取NC程序中的進給率、刀具號等工序和工藝參數,聯合實際加工信息,一起存儲到數據庫.采集的時間頻率由服務器決定,采集過程不需要客戶端界面的參與.服務器收到其他信息獲取請求后,進行用戶采集.以位置信息為例,通過cnc_rdposition獲取位置信息,進行數據處理后以Json數據格式返回.其他信息的獲取與位置信息的獲取流程類似.客戶端界面發起請求的頻率決定了信息采集的頻率.
2.2 數據持久化方案
數據存儲為提高效率,選擇消息隊列和數據庫相結合的方案.后臺采集的信息,通過網絡傳輸到云端的消息隊列進行緩存,在云端部署消費者對此消息隊列進行監聽,將緩存的數據消費并存儲到數據庫中.數據存儲表中的主要字段如表2所示.在消費者進行消費時,數據中主軸轉速為0時的數據不會被存儲.用戶可通過這些持久化的數據查看歷史加工情況,以便還原或發現切削中的問題.
2.3 圖形面板設計
監控服務器的軟件界面是使用Vue.js框架設計的一個單頁面應用,風格參考數控機床的操作畫面.用戶登錄并連接機床后顯示該畫面,畫面切換使用嵌套路由,可通過點擊右側按鈕和畫面底部小方塊切換畫面,類似于機床上的操作.右側底部擴展面板用于封裝一些維護常用的功能,如報警清除、模式切換等功能,這些功能一般需要結合PMC編程一起實現,多使用R寄存器作為控制寄存器.圖4為系統畫面組成結構,包含了監控系統的所有子頁面的分布情況.
3 對接云平臺
3.1 云服務器配置
系統采用騰訊云輕量應用服務器作為云計算和云存儲的平臺.該云服務器以CentOS 7為操作系統,配備雙核CPU、4G運行內存和6 Mbps網絡帶寬.系統使用的所有軟件,除frp server,均使用Docker容器化部署.云服務器防火墻主要為Frp server,Mysql,RabbitMQ,Nginx等應用程序,開放對外訪問端口,也對局域網監控服務器代理端口和機床以太網TCP連接代理端口開放.
3.2 內網穿透應用
數控機床一般只能在局域網中使用客戶端軟件進行遠程連接,使用的IP地址為私有IP.內網穿透又稱NAT穿透,它可以將內網的服務安全地暴露到公網,適用于工業場景.實現內網穿透,可以選擇使用公網IP盒子或內網穿透軟件,需要公網服務器進行代理.由于邊緣控制器的存在,為了節約成本,選用內網穿透軟件frp來實現代理,其工作原理如圖5所示.
frp分為Client端和Server端,frp client通過token認證連接到frp server.在frp client的frpc.ini配置文件上可配置本地被代理的IP地址、端口號以及云端指定的代理端口,代理端口必須在防火墻中放行.配置完畢后,用戶訪問云端代理端口的流量會被轉發到局域網中被代理的IP和端口,從而實現遠程訪問.
3.3 PMC程序云監控實現
PMC程序的云監控可大大提高數控機床的遠程可維護性,借助內網穿透技術、云服務器和PMC編程軟件,可直接代理機床的以太網TCP連接端口,實現PMC程序云監控.直接進行TCP的代理是不安全的,因此,必須使用frp中的stcp(secret tcp)安全地暴露內網服務.[13]stcp以sk為密匙,只有密匙正確才能正常訪問,服務只暴露給特定用戶,不需要配置防火墻的對外開放端口.使用stcp實現PMC程序云監控分為以下步驟:
(1)客戶端上再運行一個frp client,該客戶端必須是能運行FANUC LADDER梯形圖編程軟件的臺式或筆記本電腦,用于監控機床的PMC程序.
(2)按照表3所示的基本配置和解釋,修改邊緣控制器frpc.ini與客戶端電腦frp.ini.邊緣控制器側,local_ip為局域網機床的私有IP地址,local_port為該機床在以太網上通信的TCP端口號;客戶端側,bind_addr和bind_port為實際應訪問的IP地址和端口號,server_name為注冊在frp server中需要訪問的stcp代理名.
(3)使用FANUC LADDER III連接到PMC程序,連接的Host為實際應訪問的IP地址127.0.0.1,端口號為8193.連接請求會被代理到邊緣控制器上的frp client,并最終轉發到局域網機床,從而實現PMC梯形圖程序的云監控和診斷.
4 系統應用與測試
系統測試機床部分重要狀態信息和加工能耗的監控情況.實驗結果表明,信息監控顯示的信息與機床內部信息一致,能準確反映出機床對應信息的真實情況;能耗監控主要對主軸的實際功率和轉速進行實時監測;圖表最多顯示最近的150條功率數據,可通過點擊按鈕改變監控狀態、跳轉歷史數據或開啟后臺監控并存儲加工數據.
5 結論
以FOCAS為通信基礎,提出一種基于云平臺的數控機床遠程監控方案.該方案以云平臺、內網穿透技術和邊緣控制器為主要工具,解決了加工數據無法保存、機床狀態診斷受地域因素制約等問題,方案具有以下特點:
(1)使用邊緣控制器與云平臺相結合,在邊緣側進行信息處理和信息上云,具有可靠性高、操作方便的優點,可實現設備遠程維護.
(2)利用FOCAS在以太網上與機床進行通信,可輕松擴展至多臺FANUC數控系統設備,節約了實際成本,降低了部署的復雜度.
(3)實現了手機、電腦的多端機床狀態云監控信息查看和PMC程序遠程監控及調試,提高了設備的遠程可維護性.
[參考文獻]
[1] 詹曉秋. 基于MTConnect的數控設備數據采集及刀具切削異常檢測方法研究[D]. 杭州:浙江大學, 2021.
[2] 王太勇, 喬志峰, 韓志國, 等. 高檔數控裝備的發展趨勢[J]. 中國機械工程, 2011, 22(10): 1247-1252+1259.
[3] 胡輝, 洪忠杰. 數控機床防碰撞及碰撞保護技術研究與應用[J]. 世界制造技術與裝備市場, 2022(02): 46-48+51.
[4] 李飛. 基于PLC的生產設備數據采集與遠程監控系統設計[J]. 電子技術與軟件工程, 2022(06): 223-226.
[5] 吳雙玉, 陸藝, 郭斌. 制造車間設備遠程監控系統開發[J]. 儀表技術與傳感器, 2021(06): 72-76.
[6] 鄭曉虎, 劉強, 孫鵬鵬, 等. 基于MTConnect的機床遠程多功能監控系統[J]. 組合機床與自動化加工技術, 2018(10): 80-84.
[7] 聞帥杰. 基于OPC UA的數控裝備互聯互通研究[D]. 重慶:重慶大學, 2020.
[8] 高羅卿, 冒益海, 王曉峰,等. 基于FANUC FOCAS的大型精密工件在線測量與監控系統設計[J]. 制造技術與機床, 2020(08): 122-126.
[9] 北京發那科機電有限公司. FANUC FOCAS1/2 Library[Z].
[10] 黃少華, 郭宇, 查珊珊, 等. 離散車間制造物聯網及其關鍵技術研究與應用綜述[J]. 計算機集成制造系統, 2019, 25(02): 284-302.
[11] 張帝, 汪嬋, 周小杰, 等. 井下突水監測及預警系統的設計與實現[J]. 牡丹江師范學院學報:自然科學版, 2022 (01): 47-53.
[12] 譚峰, 薛齡季軒, 姜珊, 等. 基于云平臺的棚室環境遠程監控系統[J]. 牡丹江師范學院學報:自然科學版, 2017 (02): 6-10.
[13] Frp Offical. Frp Docs[EB/OL]. https://gofrp.org/docs/, 2020(10).
編輯:琳莉