国产亚洲另类无码专区|欧美激情一区免费观看|亚洲中文无码线在线观看|国产免费无码网站在线观看|四虎亚洲精品私库av在线|手机看片日韩高清1024|亚洲国产精品自在拍在线播放|亚洲国产二区三区久久全集观看

立即咨詢

首頁 走心機知識 文章詳情

數(shù)控機床遠程監(jiān)控平臺開發(fā)和實現(xiàn)

來源:互聯(lián)網(wǎng)   作者:機床世界    發(fā)表時間:2019-01-22    瀏覽量:6697




0 引言
     
數(shù)控系統(tǒng)的網(wǎng)絡監(jiān)控,通常以網(wǎng)絡為媒介,實現(xiàn)數(shù)控系統(tǒng)與系統(tǒng)外的其它控制系統(tǒng)或計算機的通訊。計算機等上位機通過網(wǎng)絡來實現(xiàn)對數(shù)控設(shè)備的遠程控制和無人化操作、遠程加工程序的傳輸、遠程診斷和遠程維修服務、技術(shù)服務。


網(wǎng)絡化數(shù)控裝備是近年來的一個新亮點。國外的一些著名數(shù)控機床和數(shù)控系統(tǒng)制造公司推出了相關(guān)的概念和樣機,例如德國西門子(Siemens)公司展出的Open Manufacturing Environment(開放制造環(huán)境,簡稱OME),日本山崎馬扎克(Mazak)公司展出的“Cyber Production Center”(智能生產(chǎn)控制中心,簡稱CPC)等,反映了數(shù)控機床加工向網(wǎng)絡化方向發(fā)展的動向。國內(nèi)在網(wǎng)絡化數(shù)控裝備方面的研究也取得了一定的進展。武漢華中數(shù)控股份有限公司研制開發(fā)的華中世紀星(HNC-21M)銑削數(shù)控裝置就是具有網(wǎng)絡功能的數(shù)控產(chǎn)品,可以利用以太網(wǎng)實現(xiàn)網(wǎng)絡通信。


本文主要設(shè)計了一款遠程監(jiān)控平臺,實現(xiàn)PC 機與DNC-11數(shù)控系統(tǒng)間的網(wǎng)絡通訊,實現(xiàn)機床加工狀態(tài)、機床參數(shù)及故障診斷等多信息交互和融合,使操作人員能通過PC機上的人機界面監(jiān)控數(shù)控機床的運行狀態(tài),查閱其加工歷史信息或進行相關(guān)故障診斷,為未來數(shù)控機床網(wǎng)絡化管理、物聯(lián)網(wǎng)建設(shè)等提供良好的平臺服務。


1 監(jiān)控平臺總體結(jié)構(gòu)設(shè)計
  
遠程監(jiān)控平臺是由一臺PC機、一個集線器、若干個DNC-11數(shù)控系統(tǒng)連接機床而成,形成一個星形的拓撲結(jié)構(gòu)。遠程監(jiān)控平臺的總體結(jié)構(gòu)如圖1所示。



本平臺是客戶機/服務器模式,即C/S模式。特殊之處在于客戶端與服務器之間是一對多的關(guān)系,即一個客戶端可與多個服務器之間進行通訊。


PC 機作為客戶端,用戶通過操作HMI(即人機界面)向服務器端發(fā)起通訊請求和服務請求,并通過自定義的數(shù)據(jù)包格式完成機床狀態(tài)信息和控制信息的交互,最終圖形化、數(shù)字化地顯示在HMI上。DNC-11為服務器端,在接到客戶端請求后提供相應的服務。DNC-11是帶有網(wǎng)絡功能的數(shù)控系統(tǒng),能夠提供基于TCP/IP協(xié)議的網(wǎng)絡通訊服務,可以將數(shù)控系統(tǒng)的運行狀態(tài)數(shù)據(jù)采集后周期上傳,也可以接收控制指令進行相關(guān)的控制動作。
  
本平臺采用上下位機的結(jié)構(gòu),將實時性要求高的任務分配給下位機,將實時性要求不高的任務分配給上位機PC。PC端運行監(jiān)控平臺應用程序,通過通訊服務接口與DNC-11等進行網(wǎng)絡通訊,實現(xiàn)顯示監(jiān)測結(jié)果、圖形及機床加工軌跡,遠程發(fā)送控制指令,修改設(shè)置機床參數(shù)等功能。
 
2 監(jiān)控平臺應用軟件的設(shè)計
   
遠程監(jiān)控平臺應用程序的總體結(jié)構(gòu)包括設(shè)備層、數(shù)據(jù)通訊服務層、核心功能層和應用訪問層。軟件分層結(jié)構(gòu)如圖2所示。軟件的開發(fā)實現(xiàn)主要集中在數(shù)據(jù)通訊服務層和核心功能層。



數(shù)據(jù)通訊服務層主要提供參數(shù)服務、命令服務和文件服務等。參數(shù)服務是為上層提供讀取/修改DNC-11 的參數(shù)數(shù)據(jù)的服務。命令服務是為上層提供遠程控制的服務,將命令組裝成相應命令報文,通過以太網(wǎng)向DNC-11傳輸,DNC-11會根據(jù)解析報文后得到的操作命令來執(zhí)行用戶需要的控制操作。文件服務是向上層提供加工程序的傳輸,加工程序目錄的選擇,系統(tǒng)文件的卸載及加載,加工程序的選擇等服務。
   
核心功能層將具體實現(xiàn)的功能劃分為三類:設(shè)備管理、實時監(jiān)測和在線測試。設(shè)備管理具體包括數(shù)控機床的參數(shù)管理,數(shù)控機床的遠程控制,數(shù)控機床的加工程序管理,數(shù)控機床設(shè)備信息管理等。實時監(jiān)測主要指數(shù)控機床運行狀態(tài)監(jiān)測,各軸狀態(tài)監(jiān)測,PLC狀態(tài)監(jiān)測,以及數(shù)控機床關(guān)鍵部位監(jiān)測等。在線測試包括數(shù)控機床故障模擬測試等。


3 網(wǎng)絡通訊接口的設(shè)計
   
在本文設(shè)計的監(jiān)控平臺中,網(wǎng)絡通信作為數(shù)據(jù)傳輸唯一通道,是整個監(jiān)控平臺的信息支撐。監(jiān)控平臺對通訊接口設(shè)計的功能需求主要有:通訊資源的初始化和釋放;網(wǎng)絡連接的處理;網(wǎng)絡狀態(tài)的判斷;數(shù)據(jù)的接收和發(fā)送。
   
遠程監(jiān)控平臺是基于TCP/IP網(wǎng)絡協(xié)議開發(fā)的。在TCP/IP的四層模型中,傳輸層定義了兩個端到端協(xié)議:傳輸控制協(xié)議TCP和用戶數(shù)據(jù)報協(xié)議UDP。在數(shù)據(jù)完整性和準確性要求較高的場合,采用TCP協(xié)議;在實時性要求較高且數(shù)據(jù)完整性要求較低的場合,采用UDP協(xié)議。UDP通信不需要建立連接,并且沒有數(shù)據(jù)確認和重傳機制,因此實時性較高。但在數(shù)控機床遠程監(jiān)控平臺的通訊中,各功能模塊對數(shù)據(jù)完整性的要求較高,因而采用TCP傳輸協(xié)議開發(fā)。
  
Windows Sockets是從Berkeley Sockets擴展而來的,定義了TCP/IP網(wǎng)絡最為通用的API,以動態(tài)鏈接庫的形式提供給用戶使用。Socket的出現(xiàn),使用戶可以很方便的訪問TCP /IP,從而開發(fā)各種網(wǎng)絡應用程序。Windows Sockets與協(xié)議無關(guān)并向下兼容,可以使用任何底層傳輸協(xié)議提供的通信能力,來為上層應用程序完成網(wǎng)絡數(shù)據(jù)通信,而不必關(guān)心底層網(wǎng)絡鏈路的通信情況,能真正實現(xiàn)底層網(wǎng)絡通信對應用程序的透明。
  
Windows Sockets主要支持三種套接字類型,分別為:流式套接字(SOCK_STREAM)、數(shù)據(jù)報式套接字(SOCK_DGRAM)、原始式套接字(SOCK_RAM)。
  
根據(jù)采用的通訊協(xié)議,并考慮到對通信可靠性和正確性的要求較高,本監(jiān)控平臺選用流式套接字來實現(xiàn)網(wǎng)絡通訊?;贑lient /Server模式的流式套接字通訊過程如圖3 所示。 



InitializeEngine是通訊資源初始化接口,Uninitialize Engine是通訊資源釋放接口。通訊資源的初始化和釋放主要是通訊端口分配釋放、IP地址和遠端IP 地址的賦值、變量的初始化、套接字的加載和緩沖區(qū)的分配等。
   
StateLoop是網(wǎng)絡連接處理接口。網(wǎng)絡的連接狀態(tài)有三種:未連接、等待連接和正在連接。網(wǎng)絡連接處理是根據(jù)不同的連接狀態(tài),客戶端和服務器端執(zhí)行相應的操作。
   
IsConnected是網(wǎng)絡連接狀態(tài)判斷接口。連接狀態(tài)的判斷就是通過變量的當前值返回網(wǎng)絡連接的狀態(tài)。
   
Send 和Receive是發(fā)送/接收數(shù)據(jù)接口。數(shù)據(jù)的收發(fā)就是調(diào)用socket API來接收和發(fā)送數(shù)據(jù)??蛻舳耸且粚Χ嗟?,要將接收的數(shù)據(jù)根據(jù)不同的設(shè)備號存入不同的緩沖區(qū);服務器端超過設(shè)定的時間未發(fā)送成功則進行重發(fā)。
   
平臺中作為客戶端的PC機能夠同時與多臺在線服務器端進行網(wǎng)絡連接,因而采用多線程技術(shù),對每臺設(shè)備開一條獨立的通信線程。通信線程中調(diào)用相應的通訊接口,通過檢測標識位,滿足條件時發(fā)送緩存中已寫入的數(shù)據(jù),并當接收到的數(shù)據(jù)包長度大于零時,調(diào)用數(shù)據(jù)包的解析函數(shù),將解析出來的有效數(shù)據(jù)傳遞給HMI 或者存儲到相應數(shù)據(jù)緩存區(qū)。在成功完成通訊的基礎(chǔ)上,實現(xiàn)參數(shù)的發(fā)送和接收需要考慮的是參數(shù)信息的存取、維護,以及數(shù)據(jù)包的組包和解析。 


4 HMI功能實現(xiàn)
   
根據(jù)對數(shù)據(jù)通訊服務層和核心功能層的分析,遠程監(jiān)控平臺人機界面要實現(xiàn)的功能有參數(shù)服務功能、命令服務功能、文件服務功能等。各功能實現(xiàn)的流程類似,采用的具體方法存在差異,本文主要介紹參數(shù)服務功能的實現(xiàn)。
   
運行應用程序,進入監(jiān)控平臺,添加數(shù)控設(shè)備后初始化的界面如圖4所示。 



一對多的客戶端,能同時顯示和操作多個數(shù)控設(shè)備的監(jiān)控界面,雙擊需要監(jiān)控的數(shù)控設(shè)備,即能彈出對應數(shù)控設(shè)備的監(jiān)控界面,如圖5所示。 



每臺數(shù)控設(shè)備的參數(shù)管理界面主要顯示的是參數(shù)號、參數(shù)名和參數(shù)值等,其中參數(shù)號與參數(shù)名不支持用戶修改,參數(shù)值為用戶的編輯項,因而參數(shù)的顯示可使用兩個靜態(tài)文本控件和一個編輯框控件。但由于上述顯示方式中存在問題及不足,在人機界面的開發(fā)中,使用繼承自CListCtrl類的CReportCtrl類,在列表控件已有的功能基礎(chǔ)上封裝數(shù)據(jù)項的編輯功能,并提供一些操作的函數(shù)接口。使用列表控件顯示參數(shù)的界面如圖6所示。 



從圖中可以看出,使用列表形式顯示的參數(shù)可以方便的添加、刪除等,并且能盡可能多的顯示參數(shù)信息,界面的美觀性也得到提高。
  
CReportCtrl 類中的SetEditable 函數(shù),可以改變進行修改操作的布爾型標志變量的值,能方便的實現(xiàn)編輯操作只對參數(shù)值對應列有效。CReportCtrl類中在編輯功能完成時,會向列表控件所在的父窗口發(fā)送一條消息,代碼如下:
  
GetParent()- > SendMessage(WM_EDIT_COMMITTED,
(WPARAM)m_ptEdittingx,(LPARAM)m_ptEdittingy);
  
在父窗口中捕獲WM_EDIT_COMMITTED消息,在對應的響應函數(shù)中編寫代碼,將編輯的參數(shù)值寫到緩存中,等待發(fā)送。在響應函數(shù)中可以編寫任意參數(shù)值的寫緩存操作,因此在代碼量上有縮減,代碼重復率下降。


5 結(jié)束語
   
本文介紹的機床遠程監(jiān)控平臺采用windows環(huán)境PC上位機,通過socket流式套接字與linux環(huán)境的下位機進行網(wǎng)絡數(shù)據(jù)交互,圖形化、數(shù)字化地處理和顯示數(shù)控系統(tǒng)的參數(shù)及狀態(tài)等信息,實現(xiàn)了遠程控制和遠程監(jiān)測等功能,解決了數(shù)控機床狀態(tài)以及故障等信息的遠程傳輸問題,為實現(xiàn)數(shù)控機床的無人化操作與監(jiān)控提供了基礎(chǔ)。