999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于VC的逐點比較空間直線插補算法改進與仿真

2015-09-13 11:44:46趙慶志
制造業自動化 2015年19期
關鍵詞:區域功能

王 選,趙慶志

(山東理工大學 機械工程學院,淄博 255049)

0 引言

數控機床加工各種形狀的零件輪廓時,必須控制刀具相對于工件以給定的速度沿指定的路徑運動,這一功能稱為插補。絕大多數機床數控系統都具有平面直線和圓弧插補功能,很少具有三維空間插補功能。但在實際生產中,特別是在銑床、鏜床等三坐標機床的加工中,經常要求加工空間圖形,特別是空間直線,所以經濟型數控機床的插補系統應具有空間直線插補等功能。

1 基于基礎坐標空間直線插補算法

傳統的逐點比較空間直線插補包括偏差判別、坐標進給、新點偏差計算和終點判別4個步驟,該算法在坐標進給時不考慮進給后插補誤差的大小而直接決定進給坐標,致使插補誤差比較大[1~4]。在前人研究的基礎上,引進基礎坐標[5]的概念,提出了一種基于基礎坐標的逐點比較空間直線插補算法,以實現機床X、Y、Z三軸聯動功能且有效地提高了空間直線插補速度與精度。

1.1 三維空間24區域劃分

在三維空間中,第一象限劃分為三個區域的方法[6]如下:利用過原點O的平面AOE,BOE,COE將第一象限空間為三個正四錐型的區域,即X≥Y、X≥Z區域1,Y>X、Y≥Z區域2,Z>X、Z>Y區域3,如圖1所示。這三個平面中AOE垂直平面XOY并且與X軸、Y軸的夾角為45°,BOE垂直平面YOZ并且與Y軸、Z軸的夾角為45°,COE垂直平面XOZ并且與X軸、Z軸的夾角為45°。其他每個象限劃分區域方法同第一象限相同,三維空間總共分割為24個區域。

圖1 第一象限劃分為三個區域

1.2 插補公式推導

如圖2(a)所示,設要加工區域1以O(0,0,0)為原點,以E(Xe,Ye,Ze)為終點的OE空間直線段,Xe≥Ye,Xe≥Ze,且Xe,Ye,Ze均為正值,X坐標為基礎坐標。

通過文獻[7]得知,每次單獨進給X坐標、Y坐標或Z坐標叫做基礎坐標進給,同時進給兩個坐標或三個坐標及以上叫做聯合坐標進給。圖2(b)中的直線為OE在XOY坐標平面內的投影,當基礎坐標+X進給時,得出新偏差值為:

圖2 三維空間坐標系

當聯合坐標+X、+Y進給時,得出新偏差值為:

空間直線OE在XOZ坐標平面內投影如圖2(c)所示,同樣當基礎坐標+X進給時,得出新偏差值為:

當聯合坐標+X、+Z進給時,得出新偏差值為:

有了上述4個平面偏差計算公式,現在關鍵是如何將其運用到空間直線的偏差判別和計算,以決定下一步進給的走向。下面規定:

1)若|Fy|>|Fxy|,|Fz|>|Fxz|,則沿X軸、Y軸和Z軸方向進給脈沖,令Fxy值賦給Fv,Fxz值賦給Fz;

2)若|Fy|>|Fxy|,|Fz|≤|Fxz|,則沿X軸和Y軸方向進給脈沖,令Fxy值賦給Fy,Fz值賦給Fxz;

3)若|Fy|≤|Fxy|,|Fz|>|Fxz,則沿X軸和Z軸方向進給脈沖,令Fy值賦給Fxy,Fxy的值賦給Fz;

4)若|Fy|≤|Fxy|,|Fz|≤|Fxz|,則沿X軸方向進給脈沖,令Fy值賦給Fxy,Fz值賦給Fxz。

以上規定適用于xe≥ye且xe≥ze區域,三維空間插補偏差判別與計算如表1所示。

2 改進后空間直線插程序設計

空間直線插補程序設計的基本思想是:程序開始時,根據向量的坐標運算法[8]判斷空間直線所在的象限,然后根據基礎坐標判別進入各自的區域進行插補運算,最后進行判終處理及返回到相應的象限。空間直線插補程序中直線所在象限判別與基礎坐標判別方法比較簡單。下面對空間直線插補過程[9]進行詳細介紹,以第一象限區域1為例,X為基礎坐標,初始插補偏差均為0。插補流程圖如圖3所示,其他區域與此相似。

圖3 區域1插補流程

VC++6.0軟件采用面向對象的機理設計程序,適用于開發各類應用系統。現在以VC++6.0軟件為程序開發平臺,對空間直線插補進行仿真[10]。

界面設計如圖4所示。繪圖區域尺寸為300×300,操作者可以在編輯框中設置直線坐標和步長的任意大小,單擊繪制空間直線等按鈕可實現相應功能。

圖4 界面設計

VC++6.0軟件設計程序需要大量映射函數,下面介紹實現各功能的函數。

void CBaseLineDlg::OnBtnDrawzuobiao(),該函數實現繪制空間坐標系功能。

void CBaseLineDlg::OnBtnDrawline(),該函數實現繪制空間直線功能。因為空間直線有X、Y、Z三個坐標值,但是該空間直線在VC++中要以二維平面的形式繪制出來,所以設計編寫程序時運用到正等軸側變換矩陣T=[0.7071,0,-0.4082,0;-0.7071,0,-0.4082,0;0,0,0.8165,0;0,0,0,1]。插補過程程序也運用正等軸測變換矩陣,下文不再詳述。

void CBaseLineDlg::OnBtnClear(),該函數實現清屏功能。

void CBaseLineDlg::OnBtnClose(),該函數實現退出功能。

void CBaseLineDlg::OnBtnChabuline()

{ UpdateData();

if(m_originx==m_endx && m_originy==m_endy

&& m_originz==m_endz)

AfxMessageBox(“請輸入坐標不同的兩點!”);

if(m_step==0)

AfxMessageBox(“請輸入插補步長!”);

//判斷空間直線所在象限

chax=m_endx-m_originx;

chay=m_endy-m_originy;

chaz=m_endz-m_originz;

if(chax>=0)

{ if(chay>=0)

{if(chaz>=0) Chabu1();

else Chabu5();}

else

{if(chaz>=0) Chabu2();

Else Chabu6();}}

else

{if(chay>=0)

{if(chaz>=0) Chabu4();

else Chabu8();}

else

{if(chaz>=0) Chabu3();

else Chabu7();}}}

該函數實現判別空間直線所在象限的功能,插補過程功能需調用Chabu1()等函數。

void CBaseLineDlg::Chabu1()

{//定義插補過程中變量

float drawx,drawy;

float Fx,Fy,Fz,Fxy,Fxz,Fyx,Fyz,Fzx,Fzy;

int Nx,Ny,Nz;

//運用正等軸側變換矩陣求得X、Y繪制坐標

drawx=7.071*m_originx-7.071*m_originy;

drawy=-4.082*m_originx-4.082*m_originy

+8.165*m_originz;

pDC->MoveTo(drawx,drawy);

//第一象限X坐標為基礎坐標

if(abs(chax)>=abs(chay) &&

abs(chax)>=abs(chaz))

{ Fy=0;Fz=0;Fxy=0;Fxz=0;Nx=abs(chax);

while(Nx>=m_step)

{Fy=Fy-abs(chay)*m_step;

Fz=Fz-abs(chaz)*m_step;

Fxy=Fxy-(abs(chay)-abs(chax))*m_step;

Fxz=Fxz-(abs(chaz)-abs(chax))*m_step;

if(abs(Fxy)<=abs(Fy) && abs(Fxz)<=abs(Fz))

{ Fy=Fxy; Fz=Fxz;

m_originx=m_originx+m_step;

m_originy=m_originy+m_step;

m_originz=m_originz+m_step;}

else if(abs(Fxy)<=abs(Fy) &&abs(Fxz)>abs(Fz))

{ Fy=Fxy;Fxz=Fz;

m_originx=m_originx+m_step;

m_originy=m_originy+m_step;}

else if(abs(Fxy)>abs(Fy) &&abs(Fxz)>abs(Fz))

{ Fxy=Fy;Fxz=Fz;

m_originx=m_originx+m_step;}

else

{ Fxy=Fy;Fz=Fxz;

m_originx=m_originx+m_step;

m_originz=m_originz+m_step; }

drawx=7.071*m_originx-7.071*m_originy;

drawy=-4.082*m_originx-4.082*m_originy

+8.165*m_originz;

pDC->LineTo(drawx,drawy);

Nx=Nx-m_step;Sleep(100);}

//第一象限Y坐標為基礎坐標和第一象限Z坐標為//基礎坐標插補程序省略}

3 改進后空間直線插補實例與仿真

現加工區域1內以坐標原點O(0,0,0),E(6,5,3)為終點的空間直線段OE。利用改進后的插補算法進行插補計算如表2所示。

表2 空間直線插補過程

通過上述實例數據可以看出:優化后的逐點比較法空間直線插補的總步長插補次數為6,大大提高了插補速度;優化后的逐點比較法空間直線插補的最大偏差|F|=3,有效地提高了插補精度。

為了驗證上述算法的正確性,利用VC++6.0軟件編寫插補程序源代碼,模擬仿真空間直線插補過程,以實現空間直線插補功能如圖5所示。

圖5 插補實例仿真

4 結束語

基于基礎坐標概念的逐點比較空間直線插補方法運用了新的插補公式,插補思路更加清晰,插補信息清晰明了;該方法中避免了有關文獻所述方法中涉及的導數計算、有可能出現斜率無窮大、計算麻煩等缺點;空間直線的插補步數等于其基礎坐標的絕對值,終點判別一目了然且提高了插補速度;插補過程中的最大偏差大大減小了,有效地提高了逐點比較空間直線插補精度。該算法可以實現串聯機床三軸聯動、六軸并聯機床六軸聯動功能,進一步提高了數控系統的插補速度,有效地提高了逐點比較空間直線插補精度和刀具半徑補償精度。

[1] 席港港,趙慶志,王軍,田曉文.傳統逐點比較法直線插補方法的改進[J].山東理工大學學報,2012,(1):67-69.

[2] 李占斌,萬長慶.實現數控機床三軸聯動的逐點比較法[J].機床與液壓,2004,(7):64-65,22.

[3] 高有行.對逐點比較法的改進算法[J].西安電子科技大學學報,1998,25(3):299-303.

[4] 范希營,郭永環.提高數控系統基準脈沖直線插補速度及精度的研究[J].制造技術與機床,2010,(3):89-91.

[5] 王敏.差分插補方法及其在數控線切割機中的應用(一)[J].電加工與模具,1981,(4):16-22.

[6] 趙慶志,席港港.基于基礎坐標概念的逐點比較法圓弧插補原理及其應用[J].制造業自動化,2012,34(21):69-71,84.

[7] 逄啟壽,馮羽生.基于C語言的數控直線逐點比較法的程序實現[J].制造業自動化,2009,31(6):54-56.

[8] 聶建成,吳竹溪,肖潔,吳鐵軍.基于直線插補的進給方向判斷新算法[J].組合機床與自動化加工技術,2009,(10):12-14.

[9] 葉秀云,朱文,田剛.一種簡捷的快速直線插補新算法[J].組合機床與自動化加工技術,2005,(7):28-30.

[10] 楊代華,陳志輝.基于實時操作系統μC/OS—II的數控系統研制[J].制造技術與機床,2007,(12):20-23.

猜你喜歡
區域功能
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
永久基本農田集中區域“禁廢”
今日農業(2021年9期)2021-11-26 07:41:24
分割區域
關于非首都功能疏解的幾點思考
懷孕了,凝血功能怎么變?
媽媽寶寶(2017年2期)2017-02-21 01:21:24
“簡直”和“幾乎”的表達功能
關于四色猜想
分區域
基于嚴重區域的多PCC點暫降頻次估計
電測與儀表(2015年5期)2015-04-09 11:30:52
中西醫結合治療甲狀腺功能亢進癥31例
主站蜘蛛池模板: 天天综合亚洲| 久久不卡国产精品无码| vvvv98国产成人综合青青| 国产精品xxx| 四虎永久在线视频| 国产激爽大片高清在线观看| 青青操视频免费观看| 无码专区国产精品一区| 欧日韩在线不卡视频| 日韩大片免费观看视频播放| 亚洲国产午夜精华无码福利| 亚洲第一区欧美国产综合| 亚洲人成影院午夜网站| 久久精品人人做人人爽97| 国产在线一区视频| 中文字幕 91| 囯产av无码片毛片一级| 国产传媒一区二区三区四区五区| 小13箩利洗澡无码视频免费网站| 97人妻精品专区久久久久| 99精品热视频这里只有精品7| 欧美激情一区二区三区成人| 99久久成人国产精品免费| av手机版在线播放| 日韩专区第一页| 亚洲色图欧美在线| 国产精品hd在线播放| 97免费在线观看视频| 亚洲第一黄色网址| 香港一级毛片免费看| 精品综合久久久久久97| 久久黄色影院| 72种姿势欧美久久久久大黄蕉| 秋霞午夜国产精品成人片| 小说区 亚洲 自拍 另类| 国产精品免费电影| 国产日本欧美亚洲精品视| 青青草原国产一区二区| 国产第八页| 亚洲精品制服丝袜二区| 9啪在线视频| 免费日韩在线视频| 美女免费精品高清毛片在线视| 激情综合五月网| 人禽伦免费交视频网页播放| 国内精品九九久久久精品| 国产一区成人| 污网站在线观看视频| 无码中文字幕乱码免费2| 国产成人精品日本亚洲77美色| 中文国产成人久久精品小说| 国产真实乱子伦视频播放| 97色伦色在线综合视频| 亚洲av片在线免费观看| 嫩草国产在线| 在线观看免费国产| 97se亚洲| 国产精品美乳| 国产后式a一视频| 波多野结衣一区二区三区四区视频 | 理论片一区| 3D动漫精品啪啪一区二区下载| 久久不卡国产精品无码| 日韩一级二级三级| 爱做久久久久久| 亚洲女同欧美在线| 亚洲人网站| 午夜精品久久久久久久99热下载 | 亚洲bt欧美bt精品| 欧美精品影院| 国产成人综合亚洲欧美在| 国产欧美精品一区二区| 久久精品视频一| 亚洲无码精品在线播放 | 久久国产亚洲偷自| 亚洲精品综合一二三区在线| 亚洲AV无码乱码在线观看代蜜桃| 国产在线观看第二页| 欧美视频在线观看第一页| 中文字幕乱码中文乱码51精品| 9丨情侣偷在线精品国产| 视频一本大道香蕉久在线播放 |