基于VB的數(shù)控圖形仿真系統(tǒng)開發(fā)
數(shù)控機(jī)床的應(yīng)用越來越......
數(shù)控機(jī)床的應(yīng)用越來越廣泛,數(shù)控加工的整個(gè)過程是通過NC加工程序來控制的。無論手工編程或是自動(dòng)編程所得到的程序都會(huì)存在一定的錯(cuò)誤
本文有[www.0574-laser.com]提供,請(qǐng)及時(shí)關(guān)注[www.0574-laser.com]提供的內(nèi)容
,傳統(tǒng)方法常采用試切法來驗(yàn)證程序是否正確。若能對(duì)NC程序進(jìn)行仿真,在計(jì)算機(jī)屏幕上以圖形方式模擬NC加工過程,查出程序中的錯(cuò)誤并加
以修改,可以節(jié)省大量費(fèi)用和時(shí)間。因此,采用NC圖形仿真系統(tǒng)進(jìn)行NC代碼效驗(yàn),提高了編程效率。
1 開發(fā)平臺(tái)
操作系統(tǒng)本系統(tǒng)在PC機(jī)上運(yùn)行,選用當(dāng)今流行的Windows98或與之兼容的WindowsNT作為軟件開發(fā)和運(yùn)行的操作系統(tǒng)。
開發(fā)工具本軟件采用Microsoft公司的通用軟件開發(fā)平臺(tái)Visual Basic,該軟件支持可視化編程和面向?qū)ο蠹夹g(shù)。
本文有[www.0574-laser.com]提供,請(qǐng)及時(shí)關(guān)注[www.0574-laser.com]提供的內(nèi)容
2 界面設(shè)計(jì)
界面是用戶與應(yīng)用程序進(jìn)行交互時(shí)的可視部分,在VB程序設(shè)計(jì)中,利用窗體設(shè)計(jì)器進(jìn)行窗體設(shè)計(jì)可以得到很好的界面。NC圖形仿真系統(tǒng)的界面
主要包括:標(biāo)題欄、菜單欄、工具欄、NC程序編輯區(qū)和繪圖區(qū),可分別通過VB程序中的菜單編輯器,Toolbar與Imagelist控件、Richtextbox
等控件進(jìn)行創(chuàng)建,繪圖區(qū)用picture-scale()函數(shù)建立。
菜單介紹。菜單項(xiàng)“文件”主要包括打開、創(chuàng)建、保存、另存、打印子菜單,完成對(duì)NC加工程序的輸入及輸出?!熬庉嫛敝饕ㄐ薷?、刪除
、插入、列表等,可對(duì)NC加工程序進(jìn)行編輯。點(diǎn)擊“運(yùn)行”菜單,出現(xiàn)對(duì)話框,詢問控制機(jī)型及圖形輸出是工件輪廓還是刀心軌跡(同時(shí)輸入
刀具半徑),點(diǎn)擊確定后便在繪圖區(qū)繪圖。菜單項(xiàng)“設(shè)置”主要包括字體、顏色設(shè)置,用于NC程序字體選擇及輪廓圖形、刀心軌跡的區(qū)分。菜
單項(xiàng)“查看”則主要包括放大、縮小,可對(duì)圖形中的細(xì)節(jié)進(jìn)行查看。
工具欄。工具欄給用戶提供了一個(gè)直觀的圖形界面,用戶可通過它直接使用應(yīng)用程序中最常見的功能和命令。
3 圖形仿真程序總體設(shè)計(jì)
NC加工程序通過“文件”菜單輸入到計(jì)算機(jī)后,經(jīng)過編輯即可選擇運(yùn)行:在有關(guān)信息輸入后,進(jìn)入圖形仿真程序。其主流程如圖1所示。
圖1 圖形仿真程序總體設(shè)計(jì)流程圖
圖2 NC程序信息處理流程圖
4 關(guān)鍵技術(shù)的處理
NC程序信息識(shí)別
本模塊通過對(duì)NC程序的第一次預(yù)處理,取得NC程序中的各種信息,其處理流程如圖2所示。方法是逐條查找程序段中的各個(gè)字地址位置,并取
出其后的數(shù)字,賦給相應(yīng)的數(shù)組單元。為了便于處理,采用多個(gè)一維數(shù)組:而對(duì)于多組G指令的NC程序,要采用二維數(shù)組G(N,4)。在處理完一
條程序段后,要對(duì)有續(xù)效性的指令進(jìn)行處理,如G、F、M、S等指令,方法是:具有續(xù)效性的,若在本程序段末出現(xiàn),則令其等于上段相應(yīng)指令
。
刀心軌跡計(jì)算
編程員在編制NC程序時(shí),若按輪廓編程,則在仿真前要進(jìn)行刀具中心軌跡的計(jì)算,以實(shí)現(xiàn)刀具半徑的自動(dòng)補(bǔ)償。系統(tǒng)在提取NC程序信息后,已
將輪廓信息,存放在有關(guān)數(shù)組中,刀心軌跡的計(jì)算需根據(jù)工件輪廓數(shù)據(jù)、刀具半徑、刀偏信息及控制機(jī)的刀補(bǔ)形式(B刀補(bǔ)、C刀補(bǔ))進(jìn)行詳細(xì)計(jì)
算。刀具補(bǔ)償過程分為刀補(bǔ)建立、刀補(bǔ)進(jìn)行、刀補(bǔ)撤消3個(gè)步驟。下面以C刀補(bǔ)為例介紹刀心軌跡的計(jì)算方法。
刀補(bǔ)建立
刀補(bǔ)建立過程中的刀具中心運(yùn)動(dòng)軌跡由切入程序段形成。切入程序段是由起刀點(diǎn)到切入零件輪廓并形成刀具半徑補(bǔ)償?shù)某绦蚨?,該程序段只?br>
是直線段。切入程序段的拐角過渡軌跡(下程序段為直線)如圖3所示。其中,O表示起刀點(diǎn),S表示切入程序段刀具中心軌跡終點(diǎn),A表示程序軌
跡的轉(zhuǎn)折點(diǎn)。建立刀補(bǔ)的計(jì)算公式為
左刀補(bǔ):
Xr=-r× Y ,Yr=r× X
(X2+Y2) (X2+Y2)
右刀補(bǔ):
Xr=r× Y ,Yr=-r× X
(X2+Y2) (X2+Y2)
Xr=r×Y(X2+Y2),Yr=-r×X(X2+Y2)其中Xr,Yr為直線刀偏分量。先按照公式求出Xr、Yr,再根據(jù)A點(diǎn)的坐標(biāo)即可求出S點(diǎn)的坐標(biāo)。
下程序段為圓弧的刀偏分量Xr,Yr的計(jì)算公式,類似于直線的。
圖3 直線段的拐角過渡軌跡
刀補(bǔ)注銷
刀補(bǔ)注銷與刀補(bǔ)建立類似,刀具中心的運(yùn)動(dòng)軌跡由刀具注銷程序段形成,注銷程序段也只能是直線。其是刀補(bǔ)建立的逆過程。
刀補(bǔ)進(jìn)行
轉(zhuǎn)接類型及判別。一般數(shù)控機(jī)床的控制裝置所能控制的輪廓軌跡包括直線和圓弧,對(duì)于這種數(shù)控系統(tǒng)轉(zhuǎn)接方式只有以下四種轉(zhuǎn)接方式:直線接
直線,直線接圓弧,圓弧接直線,圓弧接圓弧。
若相臨程序段的下段編程矢量與X軸正向的夾角為a2,本段編程矢量與X軸正向的夾角為a2,兩者之差為矢量夾角a。根據(jù)a 角的正弦值和余弦
值以及刀補(bǔ)信息(G41/G42)可將過渡形式分為縮短型、伸長(zhǎng)型、插入型等三種形式。
圖4 直線接直線轉(zhuǎn)接點(diǎn)的計(jì)算
轉(zhuǎn)接點(diǎn)的計(jì)算。轉(zhuǎn)接點(diǎn)的計(jì)算一般有兩種方法:一種是解聯(lián)立方程組,一種是利用平面解析幾何求解。本系統(tǒng)采用矢量求解,如圖4,目的是
避開復(fù)雜的求解和唯一解的判別過程,并簡(jiǎn)化了計(jì)算,直接由本程序段的起點(diǎn)和終點(diǎn)計(jì)算,只求出矢量端點(diǎn)而非求出整個(gè)矢量,因此,該方法
更為簡(jiǎn)單。
圖4所示為縮短型直線接直線,轉(zhuǎn)接交點(diǎn)在第一象限左刀補(bǔ)的情況。利用幾何方法可算出無論A點(diǎn)在哪一個(gè)象限,對(duì)于左刀補(bǔ),AC 在X,Y 軸上
的投影ACX,ACY均為: ACX=-r sina1+sina2 ,ACY=r cosa1+cosa2
1+cosa 1+cosa
對(duì)于右刀補(bǔ)只須把刀具半徑取負(fù)值即可。
本程序段刀心軌跡為SC,則C點(diǎn)的坐標(biāo)值為
CX=AX+ACX,CY=AY+ACY
5 結(jié)論
本文介紹了NC程序圖形仿真設(shè)計(jì)的具體方法及關(guān)鍵技術(shù),該系統(tǒng)可以針對(duì)不同的NC程序進(jìn)行快速、直觀、正確的驗(yàn)證,操作簡(jiǎn)單、方便,提高
了機(jī)床的工作效率。同時(shí),該系統(tǒng)還可用于學(xué)生教學(xué)及培訓(xùn)等。