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