对于数控机床,最常见也是最难解决的问题就是由于错误设定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参数。
AD923/AD9639 四通道12 bit模数转换器
红米4曝唯一缺点:太便宜,雷军一个表情表达无奈!
如何减少充电桩在工作过程中对电网谐波的影响
VR购物时代即将来临 专家预计2025年将取代传统零售商铺
恩智浦为环保智能家居设备提供超低功耗无线连接
将Excel的VBA应用到FANUC的NC数据处理来诊断NC参数
SMW200A输出功率低怎么办?
光学心率传感器技术在可穿戴设备中的医疗应用
如何推动毫米波雷达传感器在物联网中的应用
单片机驱动普通直流马达(如130马达)转动为什么需要驱动电路?
数字孪生软件编辑器有哪些功能?
Cat.1模组持续火爆,美格智能再添两款行业利器!
如何选择LED显示屏从而减轻或消除摩尔纹
对数转换器电路原理图
Dialog并购Silego 交易金额达3亿美元
电路为何需要端接?介绍几种端接方式的区别及优缺点
毕马威报告:全球自动驾驶发展分析报告
一些对OpenMP进行优化的方法
深入了解不同负载均衡类型的优缺点
中科视拓上市了吗_中科视拓会借壳么