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