0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

將Excel的VBA應用到FANUC的NC數(shù)據(jù)處理來診斷NC參數(shù)

工業(yè)機器人 ? 2017-12-21 18:00 ? 次閱讀

對于數(shù)控機床,最常見也是最難解決的問題就是由于錯誤設定NC參數(shù)而引起的機床異常,這種錯誤通常是由誤操作引起,很難發(fā)覺,機床也沒有任何報警,但運行時卻會表現(xiàn)異常。數(shù)控系統(tǒng)的NC參數(shù)通常多至4千~8千,如何從如此眾多的參數(shù)中找到設定錯誤的參數(shù)就變得十分棘手?;谶@種情況,可以巧妙利用Excel強大的數(shù)據(jù)處理能力,來對NC參數(shù)進行診斷。

1. 導入NC參數(shù)

想要診斷NC參數(shù),首先是要將NC參數(shù)的輸出文件導入Exce中,可以使用“導入數(shù)據(jù)”功能,選擇數(shù)據(jù)來源是文本即可。

對應程序代碼如下:

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導入NC參數(shù)文件后部分參數(shù)如表1所示。

2. 參數(shù)診斷

為了更加方便地診斷參數(shù),需要將所有的軸參數(shù)、主軸參數(shù)和通道參數(shù)進行分別提取,放在不同列中,便于分類進行診斷,這里使用Excel自有的函數(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ù)進行匯總比較,軸參數(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ù)不同,不可簡單進行參數(shù)比較,需要將待診斷的NC參數(shù)文件的電動機參數(shù)進行提取、模糊匹配、注入以及再比較。也就是說,通過模糊匹配調(diào)出待診斷NC參數(shù)文件中真實的電動機代碼,再從標準庫中調(diào)出相應的電動機參數(shù)注入到標準NC參數(shù)列表中,然后與待診斷NC參數(shù)文件進行比較,電動機參數(shù)一致后,在診斷時受到的干擾就大大減少了。

電動機固有參數(shù),顧名思義就是指電動機的特征參數(shù),絕大部分都是只讀參數(shù)。根據(jù)電動機固有參數(shù)的參數(shù)值就可以確定電動機的具體型號。筆者做過統(tǒng)計,伺服軸的參數(shù)是101個,主軸參數(shù)是69個。

很多時候,電動機代碼參數(shù)與實際電動機并不一致,所以要利用電動機固有參數(shù)進行模糊匹配,匹配度最高的即是真實電動機代碼。

由于電動機固有參數(shù)有一小部分是可以修改的,所以這里要用到模糊匹配方法找到待診斷的NC參數(shù)文件中電動機的真實代碼。本文所用到的模糊匹配屬于一維模糊匹配,方法很簡單,是將所有的電動機參數(shù)文件匯總,然后逐組進行調(diào)用并與待診斷的NC參數(shù)文件中電動機固有參數(shù)進行比較,然后將匹配率最高的電動機代碼返回給標準NC參數(shù)文件。

通過模糊匹配的方法獲取到待診斷NC參數(shù)文件的真實電動機代碼,然后再將匯總的電動機參數(shù)調(diào)用出來注入到已經(jīng)提取到的標準NC參數(shù)列表中。這樣一來,待診斷NC參數(shù)文件與標準NC參數(shù)文件電動機方面的參數(shù)就是一致的了,如果待診斷的NC參數(shù)文件與標準電動機參數(shù)不一致,則用紫色對參數(shù)進行標注,作為特別提醒予以重點關注。

之后,將有問題的NC參數(shù)文件同標準參數(shù)文件進行比較,即可找到異常參數(shù),將不同的參數(shù)標記成數(shù)字255,255是紅色的數(shù)字代碼,然后進行單獨提取。如X軸參數(shù)比較公式

=IF(B2=F2,””,IF(OR(F2=””, F2=”無此參數(shù)”),IFERROR(IF (VALUE(B2)=0,” “,255),””),255))

比較參數(shù)后如表4所示。

最后將提取出來的異常參數(shù)根據(jù)參數(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型號建立相應的標準NC參數(shù)庫,在診斷NC參數(shù)文件時就可以進行相應選擇并調(diào)用與之相同的NC參數(shù)進行比較診斷了。

3. 診斷界面

在Excel的開發(fā)選項中提供了VB界面,方便將數(shù)據(jù)以界面的方式展現(xiàn)出來。在Excel界面下,按Alt+F11,顯示VBA編程頁面??梢愿鶕?jù)實際功能進行頁面設計及功能定義。設計功能界面按鈕如圖1所示。

設計好診斷界面后,將Excel中的數(shù)據(jù)導入到界面中,并根據(jù)參數(shù)重要性進行顏色上的區(qū)分顯示如表5所示。

由于異常參數(shù)的重要性是根據(jù)顏色的不同來確定的,所以在查找問題參數(shù)時,可以根據(jù)顏色來進行,在這里將綠色標識的參數(shù)號定義為對機床無影響參數(shù),黃色為優(yōu)化參數(shù),藍色為有影響參數(shù),紫色為電動機固有參數(shù)。優(yōu)先考慮的順序為紫色、藍色、黃色,綠色不考慮。如圖2所示。

為更加方便查找問題,可以將診斷結果進行過濾。當主軸出現(xiàn)問題時,只看主軸部分的異常參數(shù),當伺服軸出現(xiàn)問題時,只看伺服軸部分參數(shù),這樣更加方便快捷。為驗證Excel處理數(shù)據(jù)所需要的時間,在程序的首行和末行添加上時間功能,顯示結果如圖3所示。

僅需7s就能輕松診斷出異常的NC參數(shù),其效率要遠遠高于操作人員手動查詢效率。

4. 結語

本文將Excel的VBA應用到FANUC的NC數(shù)據(jù)處理上,使得機床調(diào)試更加方便快捷,極大地提高了效率。由于數(shù)控系統(tǒng)的版本和機床制造廠家的設置不同,切莫生搬硬套文中的導入方法和函數(shù)公式,要參照機床說明書的具體要求導出數(shù)據(jù)表格,正確利用Excel的自動處理功能來診斷NC參數(shù)。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • NC
    NC
    +關注

    關注

    0

    文章

    20

    瀏覽量

    14047
  • Excel
    +關注

    關注

    4

    文章

    217

    瀏覽量

    55424
  • Fanuc
    +關注

    關注

    18

    文章

    117

    瀏覽量

    36573

原文標題:基于Excel的FANUC系統(tǒng)參數(shù)診斷

文章出處:【微信號:indRobot,微信公眾號:工業(yè)機器人】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    有關VBA的一些編程總結

    這幾天在做一個數(shù)據(jù)處理,文件是EXCEL格式的,本來想用PATHON或C++做,但時間關系,本來就沒有想到要做成多復雜,只是簡單的做必要的數(shù)據(jù)處理。因此,使用了
    發(fā)表于 06-28 13:59

    TwinCAT NC PTP的控制周期

    1.TwinCAT NC PTP的控制周期通常說的NC周期,是指軌跡規(guī)劃和PID運算的周期,是NC與伺服驅動器交換數(shù)據(jù)的周期,目標位置、當前位置、控制字、狀態(tài)字都以這個頻率更新。在Tw
    發(fā)表于 09-01 07:07

    VBA在多Excel工作薄數(shù)據(jù)匯總的應用

    利用Excel進行數(shù)據(jù)處理分析時,常需要對大量獨立的具有相同表結構的原始工作薄中的數(shù)據(jù)進行匯總合并到一個工作薄的指定工作表中。通過VBA編程調(diào)用Ex
    發(fā)表于 05-24 15:37 ?0次下載

    excel vba代碼 示例講解

    excel vba代碼 示例講解
    發(fā)表于 09-07 09:36 ?25次下載
    <b class='flag-5'>excel</b> <b class='flag-5'>vba</b>代碼 示例講解

    NC7ST08 TinyLogic HST 2輸入AND門

    電子發(fā)燒友網(wǎng)為你提供()NC7ST08相關產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有NC7ST08的引腳圖、接線圖、封裝手冊、中文資料、英文資料,NC7ST0
    發(fā)表于 04-18 21:23

    NC7ST32 TinyLogic HST 2輸入或門

    電子發(fā)燒友網(wǎng)為你提供()NC7ST32相關產(chǎn)品參數(shù)數(shù)據(jù)手冊,更有NC7ST32的引腳圖、接線圖、封裝手冊、中文資料、英文資料,NC7ST3
    發(fā)表于 04-18 21:23

    NC7ST04 TinyLogic HST反相器

    電子發(fā)燒友網(wǎng)為你提供()NC7ST04相關產(chǎn)品參數(shù)數(shù)據(jù)手冊,更有NC7ST04的引腳圖、接線圖、封裝手冊、中文資料、英文資料,NC7ST0
    發(fā)表于 04-18 21:22

    NC7SP32 TinyLogic ULP 2輸入或門

    電子發(fā)燒友網(wǎng)為你提供()NC7SP32相關產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有NC7SP32的引腳圖、接線圖、封裝手冊、中文資料、英文資料,NC7SP3
    發(fā)表于 04-18 21:15

    NC7SP08 TinyLogic ULP 2輸入 與 門

    電子發(fā)燒友網(wǎng)為你提供()NC7SP08相關產(chǎn)品參數(shù)數(shù)據(jù)手冊,更有NC7SP08的引腳圖、接線圖、封裝手冊、中文資料、英文資料,NC7SP0
    發(fā)表于 04-18 21:15

    NC7SP157 與門

    電子發(fā)燒友網(wǎng)為你提供()NC7SP157相關產(chǎn)品參數(shù)數(shù)據(jù)手冊,更有NC7SP157的引腳圖、接線圖、封裝手冊、中文資料、英文資料,NC7S
    發(fā)表于 04-18 21:15

    NC7NZ04 TinyLogic UHS反相器

    電子發(fā)燒友網(wǎng)為你提供()NC7NZ04相關產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有NC7NZ04的引腳圖、接線圖、封裝手冊、中文資料、英文資料,NC7NZ0
    發(fā)表于 04-18 18:59

    NC7S32 TinyLogic HS 2輸入或門

    電子發(fā)燒友網(wǎng)為你提供ON Semiconductor(ti)NC7S32相關產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有NC7S32的引腳圖、接線圖、封裝手冊、中文資料、英文資料,
    發(fā)表于 08-02 11:02

    NC7WP32 TinyLogic ULP 2輸入或門

    電子發(fā)燒友網(wǎng)為你提供ON Semiconductor(ti)NC7WP32相關產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有NC7WP32的引腳圖、接線圖、封裝手冊、中文資料、英文資料,
    發(fā)表于 08-02 11:02

    NC7SZ32 TinyLogic UHS 2輸入或門

    電子發(fā)燒友網(wǎng)為你提供ON Semiconductor(ti)NC7SZ32相關產(chǎn)品參數(shù)數(shù)據(jù)手冊,更有NC7SZ32的引腳圖、接線圖、封裝手冊、中文資料、英文資料,
    發(fā)表于 08-02 08:02

    接觸器no和nc分別代表什么_接觸器no和nc有什么用

    本文首先闡述了接觸器no和nc的定義,其次介紹了接觸器no和nc的作用,最后介紹了接觸器上的NO和NC的區(qū)分方法。
    的頭像 發(fā)表于 03-11 14:00 ?18.5w次閱讀