王 瑞
(江蘇油田鉆井處,江蘇揚州 225202)
管具螺紋加工機床是一種自動化程度較高的專用機床,機床由動力部件、傳動單元、工作機構(gòu)和控制裝置四個系統(tǒng)組成。本系統(tǒng)所采用管具螺紋加工機床采用內(nèi)裝式同軸電動機驅(qū)動機床主軸,電主軸帶有內(nèi)置編碼器,通過大小齒輪減速傳動到夾具,夾具用以夾緊管具并帶動其發(fā)生旋轉(zhuǎn)運動,刀架本身具有換刀功能,工作臺負責刀架地進給運動,自動送料裝置提供管具的自動裝卸功能,采用直流電機驅(qū)動軸向和徑向進給,與傳統(tǒng)的旋轉(zhuǎn)伺服電機+滾珠絲杠副進給相比,其取消了動力部分與工作臺之間的傳動環(huán)節(jié),具有快速響應能力強、傳動剛度高、定位精度好、加工效率高等特點。
控制系統(tǒng)選用SKY2000N型開放式數(shù)控系統(tǒng),該控制系統(tǒng)主要由IPC、PMAC控制器、I/0數(shù)據(jù)接口、伺服控制系統(tǒng)組成。
電主軸進行旋轉(zhuǎn)運動時,內(nèi)置編碼器根據(jù)相應指令發(fā)出脈沖信號送至數(shù)控系統(tǒng)作為進給運動的脈沖源,再經(jīng)過相應的計算處理后發(fā)給伺服系統(tǒng),使進給量與主軸轉(zhuǎn)數(shù)保持相應的比例,通過改變電主軸的旋轉(zhuǎn)方向便可加工出左旋螺紋和右旋螺紋。
管具螺紋加工質(zhì)量要求高,所開發(fā)的在線檢測系統(tǒng)應具有高速數(shù)據(jù)采集能力以及高效的數(shù)據(jù)處理能力,檢測系統(tǒng)由硬件部分、檢測軟件、反饋控制三部分組成。硬件構(gòu)成主要包括位移傳感器、A/D轉(zhuǎn)換板,用于實現(xiàn)螺紋輪廓數(shù)據(jù)的采集功能;檢測軟件負責對所采集的數(shù)據(jù)進行相應處理;反饋控制負責將處理后的數(shù)據(jù)與數(shù)控系統(tǒng)進行連接,進行相應的誤差補償以指導進一步的加工。
系統(tǒng)工作原理是:通過位移傳感器測量螺紋輪廓數(shù)據(jù),通過模數(shù)轉(zhuǎn)換板將采集到的模擬量轉(zhuǎn)換為計算機能識別的數(shù)字量,然后由檢測軟件對轉(zhuǎn)換后的數(shù)據(jù)進行相應的處理,最后通過反饋控制部分將處理所得的誤差數(shù)據(jù)傳送到控制系統(tǒng)以指導進一步的加工,確保管具螺紋的加工精度。
在線檢測系統(tǒng)從設計方面看應避免復雜,占據(jù)盡量小的空間,同時應盡量提高安全可靠性,以便適應現(xiàn)場環(huán)境中的各種干擾因素。
位移傳感器用于采集螺紋外徑輪廓數(shù)據(jù)轉(zhuǎn)并將其轉(zhuǎn)換為相應的電信號。它的種類有:小位移測量,通常用電容式、電感式、渦流式、差動變壓器式等;大位移測量,通常用磁柵、光柵、感應同步器等。本系統(tǒng)選用光柵尺位移傳感器。
本系統(tǒng)選用PMAC控制器的附件ACC-36P模數(shù)轉(zhuǎn)換板,其J1接口與PMAC控制器的JEXP接口通過扁平電纜連接,J4接口進行模擬信號的接收,本系統(tǒng)需用到J4接口中的三個針腳:1針腳為模擬輸入1通道,18針腳為+12V電源輸出,19針腳為公共地。
本系統(tǒng)選用Visual C++6.0編程語言作為軟件開發(fā)工具,其中包括四個模塊組成部分,即數(shù)據(jù)采集模塊、數(shù)據(jù)處理模塊、圖形顯示模塊和數(shù)據(jù)管理模塊。
該模塊是用于控制位移傳感器以完成對螺紋輪廓數(shù)據(jù)的測量,并向主機傳送所采集的數(shù)據(jù)。
首先要架構(gòu)起模數(shù)轉(zhuǎn)換板和控制系統(tǒng)之間的信息交流途徑,將模數(shù)轉(zhuǎn)換板所采集的數(shù)據(jù)導入至PMAC運動控制器的緩存中,該功能通過編寫相應的PLC程序?qū)崿F(xiàn)。
為了保證測量具有較高的精度,應采集到足夠的數(shù)據(jù)信息。本系統(tǒng)基于直線電機編碼器的位置信號以觸發(fā)對數(shù)據(jù)的采集。
通過PMAC控制系統(tǒng)中的I變量來設置相應的編碼器,再把該編碼器位置觸發(fā)控制函數(shù)導入至相應程序中以實現(xiàn)對管具螺紋數(shù)據(jù)的采集。
通過相應的程序?qū)⑼ㄟ^位移傳感器所采集到的經(jīng)過模數(shù)轉(zhuǎn)換板處理后的數(shù)字量導入到系統(tǒng)的數(shù)組measuredata中,以便對數(shù)據(jù)進行再一步的處理。
該模塊負責對數(shù)組measuredata中的數(shù)據(jù)進行誤差計算、標度變換。
由于受到硬件條件的制約和現(xiàn)場環(huán)境的影響,測量數(shù)據(jù)會產(chǎn)生一定的誤差,為了盡可能的減小誤差,本系統(tǒng)對螺紋輪廓數(shù)據(jù)進行多次采樣,然后取其平均值。
計算機處理的是數(shù)字量,要進行相應的標度變換處理,以得到實際的位移值,可將measuredata中的數(shù)據(jù)代入相應公式計算出實際的位移量,然后再將計算出的數(shù)據(jù)送入measurement數(shù)組中。
該模塊的作用是顯示測量數(shù)據(jù)、誤差數(shù)據(jù)、測量圖形、誤差圖形。
該模塊的程序設計都在CMyView中OnDraw(CDC*pDC)中完成,需用到MoveTo函數(shù)、TextOut函數(shù)、LineTo函數(shù)、SetPixel函數(shù)、CreatePen函數(shù)。具體代碼如下:
CDC*pDC=GetDC*(); // 得到設備環(huán)境
pDC->MoveTo(100,200);
pDC->Moveto(300,200);
...//畫出坐標系
pDC->TextOut(100,205."180");
...// 輸出圖形文本
int i;
POINT p; //定義點的坐標值
for(i=0;i<1024;i++) //設置坐標點數(shù)量
{ p.x=i; //橫坐標值
p.y=measuredata[i]; //縱坐標值
pDC->SetPixel(p,RGB(0,0,0,));
//畫點,坐標位置為p,顏色為黑色
}
該模塊的作用是存儲相應的數(shù)據(jù)。
程序中所用到的數(shù)據(jù)并不會存儲在相關(guān)介質(zhì)中,而是隨著程序的運行結(jié)束而從內(nèi)存中消失,因此要將所處理的數(shù)據(jù)保存起來。本系統(tǒng)將數(shù)據(jù)保存為文本格式。存儲過程為:打開文件、讀寫文件、關(guān)閉文件。通過fstream類成員函數(shù)打開文件;使用put()函數(shù)寫入數(shù)據(jù);通過<對象名>.close()函數(shù)關(guān)閉文件。
measuredata數(shù)組中的元素寫入到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]!=' 吐鲁番市| 商河县| 满城县| 佛冈县| 马山县| 广饶县| 义乌市| 尼勒克县| 南雄市| 商水县| 高清| 郸城县| 顺平县| 南城县| 重庆市| 鄂伦春自治旗| 大庆市| 苍溪县| 泊头市| 上虞市| 津市市| 巩留县| 桦甸市| 汉沽区| 宁陕县| 保靖县| 阿尔山市| 高雄县| 凯里市| 团风县| 阳信县| 扎赉特旗| 琼结县| 永嘉县| 清原| 高密市| 杂多县| 永吉县| 宣城市| 郧西县| 大邑县|