對于數控機床,最常見也是最難解決的問題就是由于錯誤設定NC參數而引起的機床異常,這種錯誤通常是由誤操作引起,很難發覺,機床也沒有任何報警,但運行時卻會表現異常。數控系統的NC參數通常多至4千~8千,如何從如此眾多的參數中找到設定錯誤的參數就變得十分棘手。基于這種情況,可以巧妙利用Excel強大的數據處理能力,來對NC參數進行診斷。
1. 導入NC參數
想要診斷NC參數,首先是要將NC參數的輸出文件導入Exce中,可以使用“導入數據”功能,選擇數據來源是文本即可。
對應程序代碼如下:
filename2 = Application.GetOpen Filename(“(i5)NC參數文件(文本文件) ,*.txt”)
If ?lename2 = False Then Exit Sub
If ?lename1 = ?lename2 Then
MsgBox “選擇的是同一文件”,vbInformation, “提示”
Exit Sub
End If
i = 1
Dim TextObj
Application.ScreenUpdating = False
Set fs = CreateObject(“Scripting. _FileSystemObject”)
Set TextObj = fs.OpenTextFile (?lename2)
Do While Not TextObj.AtEndOfLine
txtline = Trim(TextObj.ReadLine)
If InStr(1, txtline, “:”) > 0 Then
Cells(i, 3) = Mid(txtline, 1, InStr(1, txtline, “:”) - 1)
Cells(i, 4) = Mid(txtline, InStr(1, txtline, “:”) + 1, Len(txtline))
Else
Cells(i, 3) = txtline
End If
i = i + 1
Loop
Set fs = Nothing
Application.ScreenUpdating = True
Excel導入NC參數文件后部分參數如表1所示。
2. 參數診斷
為了更加方便地診斷參數,需要將所有的軸參數、主軸參數和通道參數進行分別提取,放在不同列中,便于分類進行診斷,這里使用Excel自有的函數功能即可實現。
首先,提取各軸及通道參數,如提取X軸數據為
=IFERROR(IF(SEARCH ( “ A ” ,A3,1)>1,MID (A3,SEARCH(“A1”,A3)+3,SEARCH( “ A2 ” ,A3 )-3-SEARCH( “ A1 ” , A3)),””),””)
提取參數后部分如表2所示。
將提取的參數進行匯總比較,軸參數分類成X軸參數、Y軸參數、Z軸參數、四軸參數、主軸參數及通道參數,在這里將通道參數及主軸參數匯總到B軸參數列表中,X軸參數匯總公式
IF(A2=””,””,IF(LOOKUP(A2,Sheet1!C:C,Sheet1!D:D)<>””,LOOKU
P(A2,Sheet1!C:C,Sheet1!D:D),”非軸參數”))
Y軸參數匯總公式
=IF(A2=””,””,IF(LOOKUP(A2,Sheet1!C:C,Sheet1!E:E)<>””
LOOKUP(A2,Sheet1!C:C,Sheet1!E:E),IF(ISNUMBER(MATCH(A2,Sheet7
!D:D,0)),”M參數”,IF(ISNUMBER(MATCH(A2,Sheet7!E:E,0)),”主軸參數”,”通用參數”))))
Z軸參數匯總公式
=IF(A2=””,””,IF(LOOKUP(A2,Sheet1!C:C,Sheet1!F:F)<>””,LOOKUP
(A2,Sheet1!C:C,Sheet1!F:F),”→”))
四軸、主軸及通道參數匯總公式
=IF(A2=””,””,IF(B2=”非軸參數”,MID(LOOKUP(A2,Sheet1!C:C,Sh
eet1!H:H),2,15),LOOKUP(A2,Sheet1!C:C,Sheet1!G:G)))
參數匯總后如表3所示。
在比較參數時遇到如下問題:不同型號的機床電動機不同,意味著參數不同,不可簡單進行參數比較,需要將待診斷的NC參數文件的電動機參數進行提取、模糊匹配、注入以及再比較。也就是說,通過模糊匹配調出待診斷NC參數文件中真實的電動機代碼,再從標準庫中調出相應的電動機參數注入到標準NC參數列表中,然后與待診斷NC參數文件進行比較,電動機參數一致后,在診斷時受到的干擾就大大減少了。
電動機固有參數,顧名思義就是指電動機的特征參數,絕大部分都是只讀參數。根據電動機固有參數的參數值就可以確定電動機的具體型號。筆者做過統計,伺服軸的參數是101個,主軸參數是69個。
很多時候,電動機代碼參數與實際電動機并不一致,所以要利用電動機固有參數進行模糊匹配,匹配度最高的即是真實電動機代碼。
由于電動機固有參數有一小部分是可以修改的,所以這里要用到模糊匹配方法找到待診斷的NC參數文件中電動機的真實代碼。本文所用到的模糊匹配屬于一維模糊匹配,方法很簡單,是將所有的電動機參數文件匯總,然后逐組進行調用并與待診斷的NC參數文件中電動機固有參數進行比較,然后將匹配率最高的電動機代碼返回給標準NC參數文件。
通過模糊匹配的方法獲取到待診斷NC參數文件的真實電動機代碼,然后再將匯總的電動機參數調用出來注入到已經提取到的標準NC參數列表中。這樣一來,待診斷NC參數文件與標準NC參數文件電動機方面的參數就是一致的了,如果待診斷的NC參數文件與標準電動機參數不一致,則用紫色對參數進行標注,作為特別提醒予以重點關注。
之后,將有問題的NC參數文件同標準參數文件進行比較,即可找到異常參數,將不同的參數標記成數字255,255是紅色的數字代碼,然后進行單獨提取。如X軸參數比較公式
=IF(B2=F2,””,IF(OR(F2=””, F2=”無此參數”),IFERROR(IF (VALUE(B2)=0,” “,255),””),255))
比較參數后如表4所示。
最后將提取出來的異常參數根據參數重要性進行歸類并標示顏色,方便以后在界面上進行標識。顏色標識歸類的公式為:
IF(N2=49152,””,IF(ISNUMBER(MATCH(A2,Sheet8!N:N,0)),49152,IF(ISNUMBER(MATCH(A2,Sheet8!O:O0)),65535,IF(ISNUMBER(MATCH(A2Sheet8!P:P,0)),16776960,IF(ISNUMBER(MATCH(A2,Sheet8!Q:Q,0)),16711935,IF(ISNUMBER(MATCH(A2,Sheet8!R:R,0)),255,””))))))
根據參數的重要性將異常參數定義成不同數值,分別為49152、65535、16711935及16776960。再根據不同軸數、不同NC型號建立相應的標準NC參數庫,在診斷NC參數文件時就可以進行相應選擇并調用與之相同的NC參數進行比較診斷了。
3. 診斷界面
在Excel的開發選項中提供了VB界面,方便將數據以界面的方式展現出來。在Excel界面下,按Alt+F11,顯示VBA編程頁面。可以根據實際功能進行頁面設計及功能定義。設計功能界面按鈕如圖1所示。
設計好診斷界面后,將Excel中的數據導入到界面中,并根據參數重要性進行顏色上的區分顯示如表5所示。
由于異常參數的重要性是根據顏色的不同來確定的,所以在查找問題參數時,可以根據顏色來進行,在這里將綠色標識的參數號定義為對機床無影響參數,黃色為優化參數,藍色為有影響參數,紫色為電動機固有參數。優先考慮的順序為紫色、藍色、黃色,綠色不考慮。如圖2所示。
為更加方便查找問題,可以將診斷結果進行過濾。當主軸出現問題時,只看主軸部分的異常參數,當伺服軸出現問題時,只看伺服軸部分參數,這樣更加方便快捷。為驗證Excel處理數據所需要的時間,在程序的首行和末行添加上時間功能,顯示結果如圖3所示。
僅需7s就能輕松診斷出異常的NC參數,其效率要遠遠高于操作人員手動查詢效率。
4. 結語
本文將Excel的VBA應用到FANUC的NC數據處理上,使得機床調試更加方便快捷,極大地提高了效率。由于數控系統的版本和機床制造廠家的設置不同,切莫生搬硬套文中的導入方法和函數公式,要參照機床說明書的具體要求導出數據表格,正確利用Excel的自動處理功能來診斷NC參數。
-
NC
+關注
關注
0文章
20瀏覽量
14088 -
Excel
+關注
關注
4文章
219瀏覽量
55545 -
Fanuc
+關注
關注
18文章
117瀏覽量
36669
原文標題:基于Excel的FANUC系統參數診斷
文章出處:【微信號:indRobot,微信公眾號:工業機器人】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論