張海霞
ZHANG Hai-xia
(南通紡織職業技術學院 機電系,南通 226007)
刀具磨損情況監測有多種方法,直接法有利用傳感器監測法,間接法有利用機床功率或電流監測法、聲發射監測法和放射性元素監測法[1-3]。對開放式數控系統而言,利用機床電機功率和電流進行監測基本不需要增加新硬件,相對于其它幾種方法具有明顯優勢。因為在加工條件是相同時,通過監測實際加工的電流和功率,并與標準參考加工電流、功率曲線的對比獲得之間的差別,在諸多帶來差別的影響因素中最大的變化因素是刀具的磨損,據此差別來反映刀具磨損情況,從而能實現對刀具磨損的監測。
本文以臺達變頻器為例,介紹了開放數控環境下,變頻器數據的采集、傳輸過程,以及通過VB調用Winsock控件采集機床電機功率和電流實現刀具磨損監控的具體過程,為相關企業的監控提供參考。
變頻器作為數控控制鏈中的關鍵部件,其內部信息運行與狀態息息相關,對于其數據的采集具有很重要的作用。現代變頻器多采用微計算機數字控制技術構成,并提供標準的工業RS485通訊接口和內置協議,為變頻器的計算機遠程監控管理提供了必要的基礎。以臺達VFD-M系列變頻器為例,串行通信協議采用的是ASCII(American Standard Code for Information Interchange)模式,在這種模式中每個字節的8位是由兩個ASCII碼來表示。如單字節十六進制數64Hex是由‘6’(36Hex)和‘4’(34Hex)組合而成。數據傳遞也采用的是此公司自定的通訊協議,具體如下:
協議符號的含義:

表1 臺達變頻器通訊格式表
STX:通信起始字節,ASCII碼為02Hex;
ADR(1,0):由兩個ASCII碼組成的變頻器通信地址,如ADR1=0、ADR0=1代表與地址為01的變頻器進行通信;
CMD(1,0):由兩個ASCII碼組成的一個字節命令指令,如CMD1=0,CMD0=9為讀出變頻器的狀態;
Datacharacters:為指令的具體參數或操作對象,由2N個ASCII碼組合而成,N≤26;
EXT:通信結束字節,ASCII碼為03Hex;
CHK(1,0):是由兩個ASCII碼組合成的一個校驗字節。
變頻器的每次通信都是按照表1的格式,以特定的ASCII碼作為起始標志,變頻器在接到計算機發來的命令后首先檢查信息中的起始標志,然后檢查命令中的棧地址是否與自己的棧地址相符,如果不一致,說明計算機是與其它變頻器進行通信,從而忽略該命令;如果一致,就響應該命令,將執行結果回送到計算機,并結束這次通信。按此通訊原理,可以通過命令讀出變頻器的每個設置參數和狀態信息,例如:STX(02H)010849ETX(03H)39命令可以讀取P73參數,該參數包含了變頻器目前的故障記錄。此外,VFD-M系列變頻器還提供了一個特別的命令STX(02H)0109ETX(03H) CD,變頻器將返回字符串STX(02H)0109 + 34 Data Characters + ETX(03H)+ CHK(1,0),其中34個Data Characters即34個十六進制字符包含了大部分我們要采集的數據,具體如下:
字符1-2:表示當前故障錯誤代碼,根據它可以查找當前故障含義;
字符3-4:表示當前變頻器控制面板的LED狀態;
字符5-8:表示數控系統指令頻率,為4位16進制數,轉換為10進制后除以100就能得到數控系統的指令頻率;
字符9-12:表示變頻器實際輸出頻率,轉換同上;
字符13-16:表示變頻器輸出電流,為4位16進制數,轉換為10進制后除以10就能得到變頻器的輸出電流;
字符21-24:表示變頻器輸出電壓,轉換同上。
由此可見,在應用程序中定時向變頻器發送STX(02H)0109ETX(03H) CD命令,就能夠實現對變頻器的實時數據采集,再通過應用程序中其他模塊對這些數據的調用,實現變頻器的故障診斷和遠程監測[4]。
機床狀態數據傳輸是指將客戶端監測到的數據傳輸到遠程監測診斷中心,這些數據傳輸依靠HTTP協議很難做到,因為HTTP連接是靜態的,即當客戶端提出請求時,客戶端與服務器建立起連接,當服務器完成客戶端的請求后,連接立即斷掉,這顯然不能滿足動態監測的要求,應該尋求其它協議支持。Windows操作系統為Internet提供了Winsock標準接口,可以為兩個或多個Internet節點建立連接并交換數據。Winsock接口是在應用程序和TCP/IP及硬件之間提供標準的API接口,它為不同的網絡硬件提供了標準的函數,使各個廠商所開發的不同的TCP/IP應用程序或硬件可以在相同的平臺上工作。
在使用WinSock控件時,首先會考慮使用什么協議。可以使用的協議包括TCP和UDP。兩種協議之間的重要區別在于它們的連接狀態:TCP協議控件是基于連接的協議(stream socket),與電話通信系統類似,在開始數據傳輸之前,用戶必須先建立連接;UDP協議是一種無連接協議(datagram socket),之間的通信傳輸類似于傳遞郵件:消息從一臺計算機發送到另一臺計算機時兩者之間沒有明確的連接,而單次傳輸的最大數據量則取決于具體的網絡。

圖1 遠程數據傳輸監測服務器與客戶端的連接
選擇哪一種協議是由需要創建的應用程序的功能來決定,通常可根據以下幾種情況來選擇[5]:
1)在收發數據的時候,應用程序是否需要得到客戶端或者服務器的確認信息。如果需要,則使用TCP協議,在收發數據之前先明確建立的連接。
2)數據量是否特別大(如圖像與聲音文件)。連接建立后,TCP協議將會維護連接并確保數據的完整性。顯然,這種連接需要占用更多的計算機資源。
3)數據發送是間歇的,還是在一個會話內。如果應用程序在任務完成的時候需要通知某個計算機,UDP協議則更合適。
使用兩種協議的明顯區別是在數據傳送之前是否先建立連接。在本系統中,由于對數據的準確性和實時性要求比較高,數據量不是太大,因此考慮采用TCP協議來進行數據傳輸。即使用面向連接的套接口編程技術,利用VB6.0所提供的編程環境,設計程序流程如圖1所示[6]。
1)客戶端實時監測功能實現
設計完成的界面如圖2所示。將整個服務界面分為7個區域,它們分別為:變頻器狀態、變頻器參數、變頻器故障、手動命令及返參、圖表顯示、工作效率統計和按鈕區域,圖中的由于屏幕顯示的原因,最右側的一系列按鈕及工作效率統計的區域都沒有顯示出來。圖中變頻器狀態顯示單元中運行和正傳的指示燈為綠色,其它幾個指示燈都為黑色,表示主軸正在正傳運行;電流曲線和功率曲線顯示窗口中各顯示紅色和藍色兩條曲線,綠色的柵格則是曲線有坐標參考。

圖2 變頻器監測診斷客戶端界面
機床實時監測主要包括變頻器的狀態和變頻器參數的實時顯示,中間的繪圖顯示區域則是將實時采集的數據以曲線的形式顯示出來,并實現對比功能。圖中紅色的曲線是標準參考曲線,是從實驗中的得到的理想的加工曲線,另一種是藍色曲線,這是加工實時采集數據的繪制的曲線。這兩種曲線對比,最直接反映的就是加工狀態的變化,由此推測刀具磨損情況。
變頻器在線監測診斷實現過程的部分關鍵代碼是:
(a)初始化程序:


2)服務器端遠程監測功能實現
遠程監測模塊的功能是接收客戶端傳來的數據進行顯示,使遠程診斷中心的工作人員能夠對遠程設備的運行狀態有一個直觀地認識,進而對機床狀態進行分析和故障預測,因此該功能模塊在界面設計上基本與現場監測畫面保持一致。對應于客戶端的變頻器在線監測診斷,設計出相應的變頻器遠程監測服務器端界面如圖3所示。圖中的顯示的曲線基本與客戶端同步。

圖3 變頻器監測診斷服務器端界面
變頻器遠程監測模塊的界面設計和代碼編寫均是在VB6.0 DHTML編程環境中進行,電流曲線顯示、數據處理和數據庫查詢在程序編寫與“變頻器客戶端監測診斷”類似,其部分關鍵程序代碼如下。


需要一提的是,雙方連接上后,可通過服務器或客戶端調用close方法來關閉socket連接,但是通過客戶端關閉連接,再與服務器端連接就連接不上了,必須退出重新進入才能再次連接上。因此在實際應用中,應通過服務器來關閉socket連接。
本文介紹了在開放式數控系統中,利用間接測量法對刀具磨損情況進行監控,通過采集變頻器的實時運行數據,然后與標準參考數據進行顯示與對比、分析差異,進而推測出刀具磨損狀況,間接地實現對刀具磨損情況監測。
[1]M Ebrahimi and J L Victory.Web-based machine tool cond ition monitoring,Network Intelligence:Internet-based Manufacturing.
[2]馬旭,陳捷.數控機床刀具磨損監測方法研究[J].機械,2009(36)3:70-73.
[3]歐陽惠斌.基于功率變化率的刀具磨損在線監測系統[J].儀表技術,2003(2):20-21.
[4]張承陽.基于Web的開放式數控系統遠程監測及診斷技術研究[D].南京理工大學,2005.
[5]Microsoft Corp.MSDN Library Visual Studio 6.0.HTML Help Control Version 4.74.
[6]王云霞,等.基于Internet的數控機床遠程服務系統[J].制造業自動化.2003(6).