APP下载

基于VB 的直线度误差测量软件开发*

2015-04-24杨家荣

制造技术与机床 2015年6期
关键词:直线度合格直线

杨家荣

(上海电气集团股份有限公司中央研究院,上海 200070)

直线度误差是指直线上各点跳动或偏离此直线的程度,它是机械精度的一项重要指标,与尺寸精度、圆度和粗糙度统称为影响产品质量的4 大要素,同时也是其它形位误差如平面度、平行度的基础。机床、仪器导轨或其它窄而长的平面,为了控制其直线度误差,常在给定平面(垂直平面、水平平面)内进行检测。直线度误差的测量方法有很多,传统的方法主要是采用直尺、检测平台等一系列工具进行测量,选用适当的方法获得测量数据后,需进行数据处理,才能得到所测对象的直线度误差。这种手工计算可以获得相对精确的结果,但效率低,尤其在测点较多的情况下,严重制约了测量的效率。因此,开发和研究能够自动测量和误差评定的直线度误差测量软件具有十分重要的意义。本文利用Visual Basic(VB)软件开发了一套直线度误差测量系统,系统会自动根据采集到的数据,快速高效地进行分析,并判断产品是否合格,给出相应的测量结果提示,并将合格数据记录到数据库中,便于产品的追溯,大大提高了测量的效率和准确度。

1 直线度误差的评定方法

直线度误差的评定方法很多,根据定义:在一个理想几何形状的平面上,当被测线每个点采到的数值相对理想基准直线的变动量小于等于指定的公差值时,被测线的直线度是恰当的。为了使理想基准直线到实际被测曲线的距离是最小的可能值,应该正确定位理想基准直线。因此直线度误差就是计算实际测量曲线直线度时两条平行线的最小距离。确定最小距离必须确定参考直线,确定参考直线的方法就是评价直线度的方法。一般而言,常用的数据处理方法有两端点连线法、最小二乘法和最小区域法3 种[1]。

两端点连线法:以测得的误差曲线首尾两点的连线作为理想要素,作平行于该连线的两平行直线将被测要素包容,两平行直线间的纵坐标距离即为直线度误差。这种方法较简单,但是精度较低。

最小二乘法:以各采样点偏差值的最小二乘直线为评定基线,求得基线两侧的最远点到基线的纵坐标距离,这两者的绝对值之和为被测件的直线度误差。由于其理论成熟,算法简便,在包括直线度误差在内的形位误差评定中得到了广泛的应用。

最小区域法:其判别准则是,对于给定平面内的直线度误差,满足最小包容区域的两平行线应符合“相间准则”,即两平行直线包容被测误差折线时成“高—低—高”或“低—高—低”相间的三极点接触,两包容线间的距离即为符合最小条件的直线度误差值[2]。此方法精度最高,一般评定结果小于或等于其它两种方法。

本系统考虑到实际应用的综合性,内置了最小二乘法和最小区域法两种评定标准,实际应用中,可根据需要进行选择切换。

2 直线度误差测量软件设计

2.1 软件的功能模块组成

本系统主要由:实时数据采集模块、显示模块、参数设置模块、误差评定模块、数据存储模块以及故障检测模块组成。各功能模块分别完成以下主要任务:

实时数据采集模块:主要通过与下位PLC 之间约定的协议,进行交互通信,控制PLC 执行数据采集任务,将不同位置点处采集到的传感器数据读取到PLC中。在完成1 个周期的动作后,发送指令给PLC,进行下一轮的采集。

显示模块:将采集到的水平面和垂直面数据信息,在界面上进行显示,同时显示系统的运行状态、进度、检测结果等信息。

参数设置模块:设置产品信息,如批次、编号、班次、型号等,以及精度要求等参数。

误差评定模块:从PLC 的数据存储区中分别读取采集到的水平面和垂直面数据信息,并根据所设定的评定方法进行判断是否合格。

数据存储模块:将检测到的合格产品及不合格产品的采集到的数据写入到数据库中,便于随时查询及分析原因,同时对所检测产品可在今后实施追溯。

故障检测模块:与PLC 通讯,对PLC 中检测到的设备故障在软件系统中进行显示,辅助设备操作人员快速定位和排除系统故障。

2.2 与PLC 的通讯

VB 中提供了可与设备串口实现通讯的MSComm控件,从而实现与PLC 的通讯。在Visual Basic 所设计的工程中,单击“工程”-“部件”菜单,选择Microsoft Comm Control6.0,将其添加到所创建的工程中。

MSComm 控件有两种通信方式,查询方式和事件驱动方式。当采用事件驱动方式时,当有数据到达端口或者端口的状态发生改变时,都将触发MSComm 控件的OnComm 事件,这是处理串行端口交互作用的一种有效方法,可以捕获和处理这些通信事件,通过查询CommEvent 属性值,可以获得关于通信事件的完整信息。而采用查询法时,则是查询MSComm 控件的某些属性,如CommEvent 属性、InBufferCount 属性的值等[3-4]。系统与下位PLC 之间的通信连接采用Host Link 协议,在一次交换中传输的命令或应答的数据被称为一帧,一帧最多可包含131 个数据字符,最后以校验码及结束符结束。数据传送时的流程如图1 所示。

命令可参考具体的PLC 的编程手册[5],其基本格式如下:

测量软件发给PLC 的命令格式:

其中:起始符为@;节点为指定与测量软件通讯的PLC;命令码为两个字节的命令码,即指定读或写;正文为设置的命令参数;检验码为@开始到正文结束的所有字符的ASCII 码按位异或运算的结果;终止符表示命令的结束。

当PLC 收到测量软件发送的命令后,将做如下应答:

其中,结束码表示命令结束状态,如:00 表示正常完成;其余代码与发送命令格式意义相同。

2.3 软件的编制

系统的开发使用Visual Basic6.0,并使用Access 2007 作为数据库存储采样点的数据及相关产品信息。系统内置了最小二乘法和最小区域法两种评定标准,可根据需要在界面上通过单击进行选择切换,完成相关检测参数如规格、型号、班次等信息的设置后,单击开始检测,系统即可读取检测数据,将读取到的数据采用图形化显示,同时,利用内置的直线度误差评定算法,对该零件的直线度误差进行评定,合格数据自动记录到ACCESS 数据库中,便于产品的追溯和打印质检报告,若产品不合格,则发送相应的信号给PLC,由PLC 控制执行机构,将不合格产品输送到指定的位置,进行下一步的处理。在开发过程中,程序采用了模块化设计的思想,将上述各功能模块的功能在子程序中实现,运行过程中通过主程序调用各功能模块子程序。系统软件的流程如图2 所示。表1 所示为以一长约2.4 m 导轨为测试对象,测试间隔为200 mm,使用本测量程序检测出直线度误差,并判断是否合格。系统实际执行如图3 所示。

3 结语

本课题所开发的直线度误差测量软件,界面友好,可准确地测量和评定零件的直线度,不但可以作为零件验收是否合格的依据、并提供质检报表,同时也可以对长期积累的误差数据进行分析,找出误差产生的原因,为提高零件加工精度和装配精度提供可靠的依据。用普通测量器具进行直线度的测量,不但处理复杂,效率低,而且容易出错,不易得到精确的结果。通过本课题开发的自动测量软件,给测量工作带来了极大的便利,配合相应的执行系统,可实现检测、分拣系统的全自动化,为企业带来大量的效益。

表1 2.4 m 长导轨各点测试数据 mm

[1]王文龙.电梯导轨直线度自动检测系统的实现与性能优化[D].南京:南京理工大学,2010.

[2]王慧.计算机视觉技术在影像测量系统中的应用与研究[D].西安:西安理工大学,2008.

[3]张智杰,何芳,王玉茹.PLC 与微机的串行通讯[J].济南大学学报:自然科学版,2002,16(3):302 -303.

[4]周海涛.用VB6.0 实现三菱PLC 与微机的通讯[J].制造业自动化,2002,24(1):53 -55.

[5]OMRON CPM1/CPM1A/CPM2A/CPM2AH/CPM2C/SRM1(-V2)可编程控制器编程手册[Z].2003

猜你喜欢

直线度合格直线
长导轨直线度分段测量拼接方法研究
核燃料组件直线度、垂直度垫片矫正返修分析
画直线
基于西门子840D数控系统的直线度自动计算程序研究
基于MATLAB的直线度测量不确定度评定程序设计
画直线
不合格的洗衣工
做合格党员
你喜欢直线吗?
句子的合格与不合格