管具螺纹在线检测系统的设计
2013-03-24王瑞
王 瑞
(江苏油田钻井处,江苏扬州 225202)
1 管具螺纹加工机床
管具螺纹加工机床是一种自动化程度较高的专用机床,机床由动力部件、传动单元、工作机构和控制装置四个系统组成。本系统所采用管具螺纹加工机床采用内装式同轴电动机驱动机床主轴,电主轴带有内置编码器,通过大小齿轮减速传动到夹具,夹具用以夹紧管具并带动其发生旋转运动,刀架本身具有换刀功能,工作台负责刀架地进给运动,自动送料装置提供管具的自动装卸功能,采用直流电机驱动轴向和径向进给,与传统的旋转伺服电机+滚珠丝杠副进给相比,其取消了动力部分与工作台之间的传动环节,具有快速响应能力强、传动刚度高、定位精度好、加工效率高等特点。
控制系统选用SKY2000N型开放式数控系统,该控制系统主要由IPC、PMAC控制器、I/0数据接口、伺服控制系统组成。
电主轴进行旋转运动时,内置编码器根据相应指令发出脉冲信号送至数控系统作为进给运动的脉冲源,再经过相应的计算处理后发给伺服系统,使进给量与主轴转数保持相应的比例,通过改变电主轴的旋转方向便可加工出左旋螺纹和右旋螺纹。
2 在线检测系统组成
管具螺纹加工质量要求高,所开发的在线检测系统应具有高速数据采集能力以及高效的数据处理能力,检测系统由硬件部分、检测软件、反馈控制三部分组成。硬件构成主要包括位移传感器、A/D转换板,用于实现螺纹轮廓数据的采集功能;检测软件负责对所采集的数据进行相应处理;反馈控制负责将处理后的数据与数控系统进行连接,进行相应的误差补偿以指导进一步的加工。
系统工作原理是:通过位移传感器测量螺纹轮廓数据,通过模数转换板将采集到的模拟量转换为计算机能识别的数字量,然后由检测软件对转换后的数据进行相应的处理,最后通过反馈控制部分将处理所得的误差数据传送到控制系统以指导进一步的加工,确保管具螺纹的加工精度。
3 硬件组成
在线检测系统从设计方面看应避免复杂,占据尽量小的空间,同时应尽量提高安全可靠性,以便适应现场环境中的各种干扰因素。
3.1 位移传感器
位移传感器用于采集螺纹外径轮廓数据转并将其转换为相应的电信号。它的种类有:小位移测量,通常用电容式、电感式、涡流式、差动变压器式等;大位移测量,通常用磁栅、光栅、感应同步器等。本系统选用光栅尺位移传感器。
3.2 模数转换板
本系统选用PMAC控制器的附件ACC-36P模数转换板,其J1接口与PMAC控制器的JEXP接口通过扁平电缆连接,J4接口进行模拟信号的接收,本系统需用到J4接口中的三个针脚:1针脚为模拟输入1通道,18针脚为+12V电源输出,19针脚为公共地。
4 软件设计
本系统选用Visual C++6.0编程语言作为软件开发工具,其中包括四个模块组成部分,即数据采集模块、数据处理模块、图形显示模块和数据管理模块。
4.1 数据采集模块
该模块是用于控制位移传感器以完成对螺纹轮廓数据的测量,并向主机传送所采集的数据。
首先要架构起模数转换板和控制系统之间的信息交流途径,将模数转换板所采集的数据导入至PMAC运动控制器的缓存中,该功能通过编写相应的PLC程序实现。
为了保证测量具有较高的精度,应采集到足够的数据信息。本系统基于直线电机编码器的位置信号以触发对数据的采集。
通过PMAC控制系统中的I变量来设置相应的编码器,再把该编码器位置触发控制函数导入至相应程序中以实现对管具螺纹数据的采集。
通过相应的程序将通过位移传感器所采集到的经过模数转换板处理后的数字量导入到系统的数组measuredata中,以便对数据进行再一步的处理。
4.2 数据处理模块
该模块负责对数组measuredata中的数据进行误差计算、标度变换。
由于受到硬件条件的制约和现场环境的影响,测量数据会产生一定的误差,为了尽可能的减小误差,本系统对螺纹轮廓数据进行多次采样,然后取其平均值。
计算机处理的是数字量,要进行相应的标度变换处理,以得到实际的位移值,可将measuredata中的数据代入相应公式计算出实际的位移量,然后再将计算出的数据送入measurement数组中。
4.3 图形显示模块
该模块的作用是显示测量数据、误差数据、测量图形、误差图形。
该模块的程序设计都在CMyView中OnDraw(CDC*pDC)中完成,需用到MoveTo函数、TextOut函数、LineTo函数、SetPixel函数、CreatePen函数。具体代码如下:
CDC*pDC=GetDC*(); // 得到设备环境
pDC->MoveTo(100,200);
pDC->Moveto(300,200);
...//画出坐标系
pDC->TextOut(100,205."180");
...// 输出图形文本
int i;
POINT p; //定义点的坐标值
for(i=0;i<1024;i++) //设置坐标点数量
{ p.x=i; //横坐标值
p.y=measuredata[i]; //纵坐标值
pDC->SetPixel(p,RGB(0,0,0,));
//画点,坐标位置为p,颜色为黑色
}
4.4 数据管理模块
该模块的作用是存储相应的数据。
程序中所用到的数据并不会存储在相关介质中,而是随着程序的运行结束而从内存中消失,因此要将所处理的数据保存起来。本系统将数据保存为文本格式。存储过程为:打开文件、读写文件、关闭文件。通过fstream类成员函数打开文件;使用put()函数写入数据;通过<对象名>.close()函数关闭文件。
measuredata数组中的元素写入到measuredata文件中的程序如下所示:
#include"stdafx.h"
#include<fstream.h> //fstream 类头文件
#include<iostream.h>
int main()
{
fstream writefile("measuredata.txt",ios::out);
//定义文件流类fstream的一个对象writefile,并在当前路径下建立并打开文件"measuredata.txt"
if(!writefile) //判断该文件是否打开
{
cout<<"measuredata.txt 文件没有打开 !"<<endl;
return 0;
}
for(int i=0;measuredata[i]!=' ';i++)
writefile.put(measuredata[i]); //利用put函数把measuredata数组中的数据依序记在文件中
writefile.close(); //关闭文件
}
measuredata中的数据通过该程序读入到measuredata.txt文本文件中,最后得到的文本文件会通过新建或者覆盖完成。
5 结语
设计了管具螺纹加工机床在线检测系统,能够对管具螺纹轮廓进行在线测量,并能进行误差补偿,实现了加工检测一体化,提升了加工制造自动化程度,提高了管具螺纹加工机床的生产效率和加工精度。
[1]靳宣强,姜秀丽,胡祯.浅析数控机床在线检测技术.现代制造技术与装备,2009.3
[2]詹红霞,侯思颖,陶永红,等.Visual C++程序设计教程.北京:清华大学出版社,2007.12