RM新时代网站-首页

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

將Excel的VBA應(yīng)用到FANUC的NC數(shù)據(jù)處理來(lái)診斷NC參數(shù)

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

對(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ù)。


聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • NC
    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)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    有關(guān)VBA的一些編程總結(jié)

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

    TwinCAT NC PTP的控制周期

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

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

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

    Excel 2010VBA編程與實(shí)踐

    主要介紹了Excel 2010VBA的編程知識(shí),與部分實(shí)際案例。
    發(fā)表于 11-20 16:14 ?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相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有NC7ST08的引腳圖、接線圖、封裝手冊(cè)、中文資料、英文資料,NC7ST0
    發(fā)表于 04-18 21:23

    NC7ST32 TinyLogic HST 2輸入或門

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

    NC7ST04 TinyLogic HST反相器

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

    NC7SP32 TinyLogic ULP 2輸入或門

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

    NC7SP08 TinyLogic ULP 2輸入 與 門

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

    NC7SP157 與門

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

    NC7NZ04 TinyLogic UHS反相器

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

    NC7S32 TinyLogic HS 2輸入或門

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

    NC7WP32 TinyLogic ULP 2輸入或門

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

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

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