對(duì)于數(shù)控機(jī)床,最常見(jiàn)也是最難解決的問(wèn)題就是由于錯(cuò)誤設(shè)定NC參數(shù)而引起的機(jī)床異常,這種錯(cuò)誤通常是由誤操作引起,很難發(fā)覺(jué),機(jī)床也沒(méi)有任何報(bào)警,但運(yùn)行時(shí)卻會(huì)表現(xiàn)異常。數(shù)控系統(tǒng)的NC參數(shù)通常多至4千~8千,如何從如此眾多的參數(shù)中找到設(shè)定錯(cuò)誤的參數(shù)就變得十分棘手?;谶@種情況,可以巧妙利用Excel強(qiáng)大的數(shù)據(jù)處理能力,來(lái)對(duì)NC參數(shù)進(jìn)行診斷。
1. 導(dǎo)入NC參數(shù)
想要診斷NC參數(shù),首先是要將NC參數(shù)的輸出文件導(dǎo)入Exce中,可以使用“導(dǎo)入數(shù)據(jù)”功能,選擇數(shù)據(jù)來(lái)源是文本即可。
對(duì)應(yīng)程序代碼如下:
filename2 = Application.GetOpen Filename(“(i5)NC參數(shù)文件(文本文件) ,*.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導(dǎo)入NC參數(shù)文件后部分參數(shù)如表1所示。
2. 參數(shù)診斷
為了更加方便地診斷參數(shù),需要將所有的軸參數(shù)、主軸參數(shù)和通道參數(shù)進(jìn)行分別提取,放在不同列中,便于分類進(jìn)行診斷,這里使用Excel自有的函數(shù)功能即可實(shí)現(xiàn)。
首先,提取各軸及通道參數(shù),如提取X軸數(shù)據(jù)為
=IFERROR(IF(SEARCH ( “ A ” ,A3,1)>1,MID (A3,SEARCH(“A1”,A3)+3,SEARCH( “ A2 ” ,A3 )-3-SEARCH( “ A1 ” , A3)),””),””)
提取參數(shù)后部分如表2所示。
將提取的參數(shù)進(jìn)行匯總比較,軸參數(shù)分類成X軸參數(shù)、Y軸參數(shù)、Z軸參數(shù)、四軸參數(shù)、主軸參數(shù)及通道參數(shù),在這里將通道參數(shù)及主軸參數(shù)匯總到B軸參數(shù)列表中,X軸參數(shù)匯總公式
IF(A2=””,””,IF(LOOKUP(A2,Sheet1!C:C,Sheet1!D:D)<>””,LOOKU
P(A2,Sheet1!C:C,Sheet1!D:D),”非軸參數(shù)”))
Y軸參數(shù)匯總公式
=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參數(shù)”,IF(ISNUMBER(MATCH(A2,Sheet7!E:E,0)),”主軸參數(shù)”,”通用參數(shù)”))))
Z軸參數(shù)匯總公式
=IF(A2=””,””,IF(LOOKUP(A2,Sheet1!C:C,Sheet1!F:F)<>””,LOOKUP
(A2,Sheet1!C:C,Sheet1!F:F),”→”))
四軸、主軸及通道參數(shù)匯總公式
=IF(A2=””,””,IF(B2=”非軸參數(shù)”,MID(LOOKUP(A2,Sheet1!C:C,Sh
eet1!H:H),2,15),LOOKUP(A2,Sheet1!C:C,Sheet1!G:G)))
參數(shù)匯總后如表3所示。
在比較參數(shù)時(shí)遇到如下問(wèn)題:不同型號(hào)的機(jī)床電動(dòng)機(jī)不同,意味著參數(shù)不同,不可簡(jiǎn)單進(jìn)行參數(shù)比較,需要將待診斷的NC參數(shù)文件的電動(dòng)機(jī)參數(shù)進(jìn)行提取、模糊匹配、注入以及再比較。也就是說(shuō),通過(guò)模糊匹配調(diào)出待診斷NC參數(shù)文件中真實(shí)的電動(dòng)機(jī)代碼,再?gòu)臉?biāo)準(zhǔn)庫(kù)中調(diào)出相應(yīng)的電動(dòng)機(jī)參數(shù)注入到標(biāo)準(zhǔn)NC參數(shù)列表中,然后與待診斷NC參數(shù)文件進(jìn)行比較,電動(dòng)機(jī)參數(shù)一致后,在診斷時(shí)受到的干擾就大大減少了。
電動(dòng)機(jī)固有參數(shù),顧名思義就是指電動(dòng)機(jī)的特征參數(shù),絕大部分都是只讀參數(shù)。根據(jù)電動(dòng)機(jī)固有參數(shù)的參數(shù)值就可以確定電動(dòng)機(jī)的具體型號(hào)。筆者做過(guò)統(tǒng)計(jì),伺服軸的參數(shù)是101個(gè),主軸參數(shù)是69個(gè)。
很多時(shí)候,電動(dòng)機(jī)代碼參數(shù)與實(shí)際電動(dòng)機(jī)并不一致,所以要利用電動(dòng)機(jī)固有參數(shù)進(jìn)行模糊匹配,匹配度最高的即是真實(shí)電動(dòng)機(jī)代碼。
由于電動(dòng)機(jī)固有參數(shù)有一小部分是可以修改的,所以這里要用到模糊匹配方法找到待診斷的NC參數(shù)文件中電動(dòng)機(jī)的真實(shí)代碼。本文所用到的模糊匹配屬于一維模糊匹配,方法很簡(jiǎn)單,是將所有的電動(dòng)機(jī)參數(shù)文件匯總,然后逐組進(jìn)行調(diào)用并與待診斷的NC參數(shù)文件中電動(dòng)機(jī)固有參數(shù)進(jìn)行比較,然后將匹配率最高的電動(dòng)機(jī)代碼返回給標(biāo)準(zhǔn)NC參數(shù)文件。
通過(guò)模糊匹配的方法獲取到待診斷NC參數(shù)文件的真實(shí)電動(dòng)機(jī)代碼,然后再將匯總的電動(dòng)機(jī)參數(shù)調(diào)用出來(lái)注入到已經(jīng)提取到的標(biāo)準(zhǔn)NC參數(shù)列表中。這樣一來(lái),待診斷NC參數(shù)文件與標(biāo)準(zhǔn)NC參數(shù)文件電動(dòng)機(jī)方面的參數(shù)就是一致的了,如果待診斷的NC參數(shù)文件與標(biāo)準(zhǔn)電動(dòng)機(jī)參數(shù)不一致,則用紫色對(duì)參數(shù)進(jìn)行標(biāo)注,作為特別提醒予以重點(diǎn)關(guān)注。
之后,將有問(wèn)題的NC參數(shù)文件同標(biāo)準(zhǔn)參數(shù)文件進(jìn)行比較,即可找到異常參數(shù),將不同的參數(shù)標(biāo)記成數(shù)字255,255是紅色的數(shù)字代碼,然后進(jìn)行單獨(dú)提取。如X軸參數(shù)比較公式
=IF(B2=F2,””,IF(OR(F2=””, F2=”無(wú)此參數(shù)”),IFERROR(IF (VALUE(B2)=0,” “,255),””),255))
比較參數(shù)后如表4所示。
最后將提取出來(lái)的異常參數(shù)根據(jù)參數(shù)重要性進(jìn)行歸類并標(biāo)示顏色,方便以后在界面上進(jìn)行標(biāo)識(shí)。顏色標(biāo)識(shí)歸類的公式為:
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,””))))))
根據(jù)參數(shù)的重要性將異常參數(shù)定義成不同數(shù)值,分別為49152、65535、16711935及16776960。再根據(jù)不同軸數(shù)、不同NC型號(hào)建立相應(yīng)的標(biāo)準(zhǔn)NC參數(shù)庫(kù),在診斷NC參數(shù)文件時(shí)就可以進(jìn)行相應(yīng)選擇并調(diào)用與之相同的NC參數(shù)進(jìn)行比較診斷了。
3. 診斷界面
在Excel的開(kāi)發(fā)選項(xiàng)中提供了VB界面,方便將數(shù)據(jù)以界面的方式展現(xiàn)出來(lái)。在Excel界面下,按Alt+F11,顯示VBA編程頁(yè)面??梢愿鶕?jù)實(shí)際功能進(jìn)行頁(yè)面設(shè)計(jì)及功能定義。設(shè)計(jì)功能界面按鈕如圖1所示。
設(shè)計(jì)好診斷界面后,將Excel中的數(shù)據(jù)導(dǎo)入到界面中,并根據(jù)參數(shù)重要性進(jìn)行顏色上的區(qū)分顯示如表5所示。
由于異常參數(shù)的重要性是根據(jù)顏色的不同來(lái)確定的,所以在查找問(wèn)題參數(shù)時(shí),可以根據(jù)顏色來(lái)進(jìn)行,在這里將綠色標(biāo)識(shí)的參數(shù)號(hào)定義為對(duì)機(jī)床無(wú)影響參數(shù),黃色為優(yōu)化參數(shù),藍(lán)色為有影響參數(shù),紫色為電動(dòng)機(jī)固有參數(shù)。優(yōu)先考慮的順序?yàn)樽仙?、藍(lán)色、黃色,綠色不考慮。如圖2所示。
為更加方便查找問(wèn)題,可以將診斷結(jié)果進(jìn)行過(guò)濾。當(dāng)主軸出現(xiàn)問(wèn)題時(shí),只看主軸部分的異常參數(shù),當(dāng)伺服軸出現(xiàn)問(wèn)題時(shí),只看伺服軸部分參數(shù),這樣更加方便快捷。為驗(yàn)證Excel處理數(shù)據(jù)所需要的時(shí)間,在程序的首行和末行添加上時(shí)間功能,顯示結(jié)果如圖3所示。
僅需7s就能輕松診斷出異常的NC參數(shù),其效率要遠(yuǎn)遠(yuǎn)高于操作人員手動(dòng)查詢效率。
4. 結(jié)語(yǔ)
本文將Excel的VBA應(yīng)用到FANUC的NC數(shù)據(jù)處理上,使得機(jī)床調(diào)試更加方便快捷,極大地提高了效率。由于數(shù)控系統(tǒng)的版本和機(jī)床制造廠家的設(shè)置不同,切莫生搬硬套文中的導(dǎo)入方法和函數(shù)公式,要參照機(jī)床說(shuō)明書(shū)的具體要求導(dǎo)出數(shù)據(jù)表格,正確利用Excel的自動(dòng)處理功能來(lái)診斷NC參數(shù)。
-
NC
+關(guān)注
關(guān)注
0文章
20瀏覽量
14065 -
Excel
+關(guān)注
關(guān)注
4文章
218瀏覽量
55518 -
Fanuc
+關(guān)注
關(guān)注
18文章
117瀏覽量
36645
原文標(biāo)題:基于Excel的FANUC系統(tǒng)參數(shù)診斷
文章出處:【微信號(hào):indRobot,微信公眾號(hào):工業(yè)機(jī)器人】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論