对于数控机床,最常见也是最难解决的问题就是由于错误设定NC参数而引起的机床异常,这种错误通常是由误操作引起,很难发觉,机床也没有任何报警,但运行时却会表现异常。数控系统的NC参数通常多至4千~8千,如何从如此众多的参数中找到设定错误的参数就变得十分棘手。基于这种情况,可以巧妙利用Excel强大的数据处理能力,来对NC参数进行诊断。
1. 导入NC参数
想要诊断NC参数,首先是要将NC参数的输出文件导入Exce中,可以使用“导入数据”功能,选择数据来源是文本即可。
对应程序代码如下:
filename2 = Application.GetOpen Filename(“(i5)NC参数文件(文本文件) ,*.txt”)
If filename2 = False Then Exit Sub
If filename1 = filename2 Then
MsgBox “选择的是同一文件”,vbInformation, “提示”
Exit Sub
End If
i = 1
Dim TextObj
Application.ScreenUpdating = False
Set fs = CreateObject(“Scripting. _FileSystemObject”)
Set TextObj = fs.OpenTextFile (filename2)
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浏览量
14065 -
Excel
+关注
关注
4文章
218浏览量
55517 -
Fanuc
+关注
关注
18文章
117浏览量
36645
原文标题:基于Excel的FANUC系统参数诊断
文章出处:【微信号:indRobot,微信公众号:工业机器人】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论