基于LabVIEW的零件尺寸公差检测仪
2012-10-12蔡伟义
吴 韧,蔡伟义
WU Ren, CAI Wei-yi
(南京林业大学 汽车及交通工程学院,南京 210037)
0 引言
尺寸公差是机械零件生产制造中的重要检测项目。传统人工检测速度慢和效率低,使用专用检测设备成本高,并且难以实现通用性。基于LabVIEW的零件尺寸公差检测仪,将尺寸公差检测仪虚拟化,通过传感器、信号采集板和PC机完成整个测量工作,操作方便快捷、显示直观、精度高且容易实现通用性。LabVIEW和数据采集板卡相配合,能构成整套复杂的测试测量系统,但由于数据采集板卡价格昂贵且安装不方便,本文使用单片机作为前端数据采集系统,将采集数据通过单片机串口发送至PC机,在LabVIEW平台上完成数据的分析、显示和人机交互[1]。
1 下位机系统设计
1.1 硬件设计部分
下位机系统主要包括单片机、电源模块、信号输入及调理模块、串口发送模块等。单片机采用Atmel公司生产的ATmega16型8位处理器。传感器检测零件尺寸,输出电压信号为-5V~+5V,输入调理模块将信号隔离并抬高至0V~+10V,经电阻分压后接入单片机。单片机使用自带的10位ADC将调理好的电压信号进行模数转换,并将转化后的结果通过串口发送模块发送至上位机,MAX232芯片完成TTL和RS-232的电平转换[2]。
1.2 软件设计部分
下位机的程序主要包括三个部分:模块初始化子程序、A/D转换子程序和串口发送子程序。软件流程图如图1所示。由于本例中需要不停的采集传感器信号并通过串口向PC机发送实时数据,故自行设计了简单的应用层通讯协议,将数据按帧格式发送,通过LabVIEW程序寻找帧头,以实现数据的可靠交付传输。串口数据帧格式如图2所示。
图1 下位机软件流程图
图2 串口数据帧格式
2 上位机系统设计
2.1 LabVIEW串口模块
采用LabVIEW的VISA(Virtual Instrument Software Architecture)串行通讯子VI来开发串行通信模块。主要包括VISA Configure Serial Port.vi:将指定的串口按特定设置初始化,包括波特率、数据格式等。VISA Write.vi:将写入缓冲区的数据写入指定的设备或接口中。VISA Read.vi:从指定的设备或接口中读取指定数量的字节,并将数据返回至读取缓冲区。VISA Close.vi:将打开的串口关闭[3,4]。由于在LabVIEW平台中串行通信数据是以字符串为格式,故将串口得到的数据通过字符串至字节数组转换控件转换成十六进制数组。为了满足自行制定的应用层协议,在LabVIEW串口接受子模块中,加入了由搜索一维数组(Search 1D Array)和while循环构成的数据帧的解析功能模块,由此寻找出数据帧帧头,最终提取出传感器电压信号的数字量,具体程序如图3所示[5]。
图3 串口模块程序图
2.2 按键输入模块
LabVIEW按键模块完成对六个按键的监测和识别,不同按键相组合,实现不同的功能,主要有标准上下公差的设定、分辨率的设定和设置密码等。功能状态通过模拟6位8段数码管的字符串控件显示。设计时将按键封装成簇,当有按键按下后,簇的值将发生改变,同时触发事件结构,在事件结构中完成按键的识别和按键指令的编写。按键识别通过将簇结构转化成数组,再搜索数组中数据的值来实现。不同的按键激活不同的case结构,在case结构中完成按键功能的编写。由于按键所需实现的功能较多,故使用了基于状态机的编程思路,即按键内部的逻辑通过引入状态标志来转换,状态标志和数码管控件通过移位寄存器传递至下一个循环。具体程序如图4所示。
图4 按键输入模块程序图
2.3 灯光柱显示模块
灯光柱显示模块使用布尔数组模拟了一百个三色LED灯,通过灯光柱高度的变化,实时的显示了传感器所测得零件的尺寸和设定的标准尺寸的偏差:中间位置为零刻度,表示无偏差;往上往下分别表示为上偏差和下偏差。同时,通过灯光柱颜色的改变,直观的反映了零件是否符合公差要求:当灯光柱为绿色时,表示符合;为黄色时,说明所测零件尺寸已接近最大公差值,表示警告;为红色时,说明所测零件尺寸已超出最大公差值,表示不符合。颜色的改变可通过调用布尔数组的颜色属性节点来完成。LabVIEW公式节点(Formula Node)完成了通过LabVIEW串口通信模块得到的传感器电压值和按键模块输入的标准尺寸值的比较计算,公式节点中使用C语言编程,将计算结果用状态标识符返回,来控制case结构的跳转,实现对灯光柱的控制。子模块程序框图如图5所示[6]。
图5 等光柱显示模块程序图
3 系统测试和结果
系统上电复位后,即可通过LabVIEW界面中的按键输入模块输入标准零件的尺寸,当参数设置完成后,系统自动进入测量状态。此时,将待测零件置于传感器测量的规定位置,传感器便测出了该零件的实际尺寸,以电压值的方式传送至下位机信号调理系统,该系统将所测信号通过串口发送至上位机LabVIEW软件,最终以灯光柱的方式给出测试结果。显示界面如图6所示。
图6 前面板显示界面
4 结束语
通过LabVIEW软件将零件尺寸公差测试仪虚拟化,运用PC机强大的运算能力完成工业测试测量。它的优点是:1)LabVIEW所使用的G语言方便快捷,便于项目初期定型和快速研发,提高了开发效率;2)使用软件作为测试手段,可以减少昂贵的专用设备投资,同时降低了设备维护成本,使经济效益大为提高;3)软件便于维护升级,为仪器功能扩展提供了广阔的空间。同时,虚拟仪器也面临着一些问题和不足,诸如系统精度、抗干扰能力等。在后续研究中,尝试把互联网络通讯引入系统,即通过TCP/IP协议,把数据传送至Internet网或另一台计算机。这样,工程技术人员即使不在控制现场,也可以通过网络随时了解现场的控制系统运行情况和系统参数的实时变化,并可根据具体情况通过网络在客户计算机上对在控制现场运行于服务器计算机的控制系统发出命令,及时调整现场控制系统运行状况,从而达到远程控制的目的[7]。可使测试系统更加灵活方便,检测仪产品更具有竞争力。
[1]于祯,王秀清.基于LabVIEW与单片机串口的信号处理的研究[J].天津科技大学学报,2004:35-38.
[2]马潮.AVR单片机嵌入式系统原理与应用实践[M].北京:航空航天大学出版社,2009:13-14.
[3]杨乐平,李海涛,赵勇,等.LabVIEW高级程序设计[M].北京:清华大学出版社,2003:326-336.
[4]陈锡辉,张银宏.LabVIEW8.20程序设计从入门到精通[M].北京:清华大学出版社,2007:296-302.
[5]郑雁阶,黄惟公,张丹.基于LabVIEW与USB接口的实时数据采集系统[J].电子技术,2009:77-79.
[6]祁宁,陈庆官.运用LabVIEW编程模拟PIC单片机A/D转换[J].微计算机信息,2009:117-118.
[7]阎世栋.在虚拟仪器LabVIEW平台中串行通信模块的应用[J].国外电子测量技术,2004:39-40.