大直径工件在线检测系统的设计与实现
2015-03-11DesignandRealizationoftheOnlineDetectionSystem
Design and Realization of the Online Detection System
for Large Diameter Work Pieces
代永俊 李钦奉 苏世杰 钱慧洁
(江苏科技大学机械工程学院,江苏 镇江 212003)
大直径工件在线检测系统的设计与实现
Design and Realization of the Online Detection System
for Large Diameter Work Pieces
代永俊李钦奉苏世杰钱慧洁
(江苏科技大学机械工程学院,江苏 镇江212003)
摘要:针对大直径工件的几何误差和外部尺寸的检测,采用Microsoft Visual Studio.Net 2010为开发平台,设计了大直径工件在线检测系统。通过计算机、传感器以及数控立车三者之间相互通信以及不同测量项目对应数控程序的自动生成,实现固定在数控立车刀架上的高精度激光位移传感器的数据采集。测量结束后调用Matlab优化工具箱模块对测量数据进行处理,从而保证了计算结果的准确性。经实际应用得出,该套检测系统可应用于大直径工件的多项目测量,实现了在线检测的功能,具有较高精度。
关键词:大直径工件在线检测Matlab优化检测系统
Abstract:For detecting the geometric error and external dimensions for large diameter work pieces, with Microsoft Visual Studio.Net 2010 as the developing platform, the online detection system for large diameter work pieces is designed. Through achieving the inter-communication among computer, sensor, and CNC vertical lathe, and automatic generation of NC program in different measurement project, thus the data acquisition of high precision laser displacement sensor fixed on the turret of vertical lathe is implemented. After measurement completed, the measured data are processed by calling Matlab optimization toolbox module, to ensure the accuracy of the calculation results. The practical application shows that the detection system can be applied in multiple project measurement of large diameter work pieces, it implements online detection and offers higher accuracy.
Keywords:Large diameter work piecesOnline detectionMatlab optimizationDetection system
0引言
目前,工业上对于工件检测大多是通过品质检测人员使用传统的测量方法来完成。随着大型机械设备向着复杂化、精密化方向发展,对于这些设备所需要的大尺寸工件的检测要求也越来越严格。采用人工进行大直径工件品质检测存在着不足,主要体现在检测效率低、检测一致性差、检测结果容易受检测人员的主观因素影响。特别是当大直径工件在移至专用检测工作台时,不仅会产生二次定位误差,而且效率低,甚至可能对工件造成损坏[1]。随着工业控制技术的迅速发展,工业自动化控制技术和非接触检测技术越来越成熟。与传统的品质检测相比,自动控制和非接触检测技术具有诸多优势,可以做到实时在线、非接触、无损和高精度的检测,省时省力,并可以避免测量过程中检测人员主观因素造成的错误。对于工件的在线检测系统开发,国内一些专家学者也做过研究。刘川、季洪彪开发了中小型金属工件在线检测系统[2];冯占军、王磊等研究了基于激光传感器的工件外径尺寸检测系统[3];贲春雨、郑宇等研究了大尺寸直径非接触光电检测系统[4]。上述研究的系统都存在一定的局限性。
本文开发了一种大直径工件在线检测系统。该系统将数控立车、高精度激光传感器以及计算机串联在一起,并融合了Matlab的计算,不仅能够完成大直径工件的多种检测项目,还能使整个系统达到实时在线、非接触检测。
1检测系统的硬件设计
大直径工件在线检测系统硬件原理图如图1所示,主要由以下部分组成。
① 数控立车,如图2所示,实现加工、检测的基础,测量过程中大直径工件与激光位移传感器的运动都是由机床本体驱动的。
② 激光位移传感器,采用的是KEYENCE开发的CMOS激光位移传感器IL-065,它的测量范围为20 mm,基准距离为65 mm,显示分辨率为2 μm,检测性能稳定。
③ 数控系统,采用西门子802d SL数控系统,使用DIN 或ISO标准编程,具有如下优点:易于操作使用、高可靠性、适用于工业环境、控制系统结构紧凑、布线简单、抗干扰能力强、模块化设计可根据需求提供各种组合[5]。
④ 计算机,作为整个系统的载体,与数控立车、激光位移传感器进行通信,完成发送或获取有效数据。
图1 在线检测系统硬件原理图
图2 数控立车简图
2检测系统软件设计及开发
2.1 系统总体结构
大直径工件在线检测系统的设计目标如下。
① 实现测量参数管理,主要包括待加工工件的种类及尺寸参数、数控立车参数以及传感器参数。对这些参数建立数据库,为后续检测做准备。
② 实现测量项目管理,需要对加工工件外部尺寸和几何公差进行检测,将其进行统一管理,方便生成数控测量程序。
③ 实现数控程序管理,根据输入的工件测量参数、测量项目自动生成数控测量程序,为发送模块做好数据准备。数控程序发送模块包括串口设置和测量程序发送两部分。前者主要设置与机床进行串口通信的基本参数,后者负责将生成的测量文件通过串口传输至数控系统。
④ 系统数据库,保存采集得到的数据文件、数据处理结果、相应的测量参数以及数控程序。
根据上述目标设计的控制系统总体结构如图3所示。
图3 在线检测系统总体结构
根据在线检测系统的结构,系统的具体流程如图4所示。
图4 系统流程图
2.2 数控程序生成
数控程序的生成是整个在线检测系统的关键部分。对于不同的测量项目和测量参数,数控程序会有所不同,但是由于不同测量项目的数控程序格式一致,可能会有相同的部分。根据这种情况,在线检测系统在处理数控程序生成时,将程序分成程序头、主程序、程序尾三部分进行处理,最后将三个部分合并,形成总的数控程序。对于三部分程序分别建立三个模板文件,保存至相应目录,模板文件中有可替换的关键字,在生成数控程序时,根据测量项目和测量参数调用模板文件并将关键字替换,生成相应的数控程序。
不同的工件和不同的测量项目,测量的起始点会有所不同,对于程序头模板,将起始坐标作为关键字并替换生成新的程序头文件。在起始点坐标确定后,根据不同的测量项目,传感器移动方向、移动距离、停顿时间以及M指令是一个重复的过程,可以通过循环程序将上述各关键字进行替换,生成新的主程序文件。最后在整个工件测量完成时,传感器停放位置等作为关键字进行替换,完成新的程序尾文件。由此,将三个新文件在另一个文件里合并,整个数控程序完成。下面给出主程序模板文件。
G04U%time%
∥停顿时间
M56M
∥指令执行
X%coordinatex%Y%coordinatey%Z%coordinatez%
∥传感器移动坐标
2.3 系统各部分通信
系统通信主要包括三部分,分别是计算机与传感器、计算机与数控系统以及传感器与数控系统。以下具体介绍三部分通信的内容。
传感器控制器的接触端子与数控立车的PLC某一继电器触点连接,数控系统需要在内部PLC增加特殊的M指令。该M指令执行时,控制PLC的某一输出继电器触点闭合。在数控程序运动到指定的待测点时,便执行M指令。当该M指令执行时,数控系统即通过内部PLC对应的输出继电器触点向传感器控制器发出触发信号,控制传感器即进行一次采样,如图5所示。
图5 M指令的执行过程
传感器控制器的控制端子通过RS-232转USB与计算机进行连接。为了能将传感器采集的数据发送给Microsoft Visual Studio.Net 2010编写的系统控制软件中,使用Microsoft Visual Studio.Net 2010提供的串口通信控件SerialPort。在程序中将SerialPort的各个参数设置成与传感器和计算机之间连接的串口的各个参数相同,这样就完成了两者之间的通信。在完成通信后,SerialPort需要发送一串特定的字符串,才能完成对传感器的测量数据进行提取,具体程序如下。
SerialPort1.RtsEnable = True
∥启用请求发送
SerialPort1.DtrEnable = True
∥True接就绪
tmpByte(0) = 83
tmpByte(1) = 82
…
tmpByte(10) = 10
SerialPort1.Write(tmpByte, 0, 10)
∥发指令
本文采用的数控立车的数控系统为西门子802d SL,数控系统与计算机之间进行数据通信是在线检测的基础[6]。同样,用RS-232转USB将数控立车与计算机进行硬件连接,在程序中继续添加SerialPort控件并进行相应的参数设置。由于生成的数控程序不能直接发送,需要将数控程序转化为ASCII码才能发送,具体通程序如下。
SerialPort2.RtsEnable = True
∥启用请求发送
SerialPort2.DtrEnable = True
∥接就绪
NC =System.IO.File.ReadAllText(…)
∥读取数控程序
NCAsc = AsciiStringToHexString(NC)
∥生成数控程序的ASCII码
n =Len(NCAsc) / 2 - 1
ReDimtmpByte(n)
Fori = 0 To n
tmpByte(i) = Mid(NCAsc, i * 2 + 1, 2)
Next
SerialPort2.Write(tmpByte, 0, 10)
∥发指令
2.4 联合Matlab进行数据处理
在线检测系统利用Microsoft Visual Studio.Net 2010进行编程。但是由于在线检测的过程中采集的数据比较多,其数学计算能力不强,编程复杂,对程序设计人员要求高,开发效率低,故联合对数据处理能力较强的Matlab进行混合编程。为了使混合编程方法能够脱离Matlab运行环境,也能够供其他编程语言调用,本文采用生成COM组件的方法供Microsoft Visual Studio.NET 2010调用。此方法生成过程简单,并且便于模块化[7]。
利用Matlab的优化工具箱,可以求解线性规划、非线性规划和多目标规划问题[8]。该优化方法可以应用于本系统所采集到数据的大量计算,得出相应测量项目。在本系统测量项目的M函数编写完成后,利用deploytool命令生成工程名为fun.prj、类名为funClass、函数名为myfun的通用COM组件。当函数编译正确后,会在相对路径的distrib文件出现后缀名为.dll的文件,至此COM组件就已成功生成。此时,在Microsoft Visual Studio.Net 2010编写的系统控制软件中,将之前生成的.dll文件添加引用,这样COM组件就添加到程序中。
Microsoft Visual Studio.Net 2010在调用组件函数时需要通过程序声明,才能完成调用,简单的声明调用程序如下:
Dim function As New funNative.funclass
∥声明组件
…
fval=function.myfun(x,y)
∥调用组件
3应用实例
以某型大直径缸套的检测为例,说明该系统的实用性和快捷性。
① 参数输入。某型缸套的具体测量部分关键参数输入如表1所示。
表1 测量参数输入
② 数控程序的发送。在线检测系统会根据测量参数自动生成数控测量程序,此时需要将数控程序发送给数控立车。由于数控系统一般遵循“接收数据方先做好准备”的原则,点击数控系统面板上的Program Manager键,系统界面切换到程序管理界面,在此界面上按下读入键,系统进入接收等待状态。此时,在系统控制软件的界面按发送键,即可完成数控程序的传输。
③ 数据采集。在数控程序发送完成后,便可以开始运行程序。在运行的过程中系统控制软件会自动读取测量数据并实时显示。
④ 数据处理。在所有数据采集完成后,系统控制软件将测量数据进行简单的处理,然后通过Matlab进行计算,最后在系统控制软件中显示计算结果,并保存生成报表。
4结束语
本文研究的检测系统对大直径工件多项目进行了在线、非接触测量,通过将数控系统、激光传感器及其控制器以及计算机融为一体,完成了整个系统的实现。在实现过程中,通过采用Microsoft Visual Studio.Net 2010和Matlab混合编程,大幅提高了系统对采集数据进行处理的计算精度。该系统具有操作简单快捷、结构简单、成本低、现场运行可靠等特点,理论上对于测量大直径工件的尺寸不受限制。
参考文献
[1] 孙佳,张镭.大直径工件的测量方法[J].机械与电子2006(3):13-16.
[2] 刘川,季洪彪.中小型金属工件在线检测系统的设计[J].机械制造与研究,2012,41(3):9-11.
[3] 冯占军,王磊.基于激光传感器的工件外径尺寸检测系统[J].电子测量与仪器学报,2007,21(6):82-85.
[4] 贲春雨,郑宇.大尺寸直径非接触光电检测系统研究[J].仪器仪表学报,2006,27(1):71-74.
[5] 张建维.802D.sl数控系统多主轴技术在立磨中的应用[J].机械工程师,2014(3):133-134.
[6] 朱传福,赵娟.PC与SIEMENS数控系统通信技术[J].机床电气,2010(6):8-11.
[7] 施金花,王斌.MATLAB与VB.NET混合编程方法在伺服机构动态测试中的应用[J].机电工程技术,2013,42(4):73-76.
[8] 戴彧虹,刘新为.线性与非线性规划算法与理论[J].运筹学学报,2014(1):69-92.
中图分类号:TH73;TP273+.5
文献标志码:A
DOI:10.16086/j.cnki.issn1000-0380.201507021
修改稿收到日期:2015-01-09。
第一作者代永俊(1990-),男,现为江苏科技大学机械电子工程专业在读硕士研究生;主要从事先进制造系统及其适能技术方面的研究。