老鹰 发表于 2013-10-31 23:16:37

车床虚拟加工系统实现方法研究

引言 
虚拟制造(Virtual Manufacturing VM)技术是虚拟
显示技术与计算机仿真技术在制造领域的综合发展和
应用。VM 的实质是“计算中的制造”,即在计算机中
借助建模与仿真技术及时地完成制造全过程的模拟和
示范,并预测评价产品性能和产品的可制造性。数控
(NC)车削程序的编制过程与工艺过程相似,都具有经
验性和动态性,在程序编制过程中经常发生错误。为
此,在数控机床上加工零件之前一般要进行数控程序
(NC 代码)校验,并进行首件试切。但这种传统的试切
方法来检验刀具路径既费时又费力。随着数控编程技
术的发展,人们采用视觉检查 NC 刀具轨迹的二维线
框图,这种方法主要依赖于程序员对易错区选择的判
断和对该区域复杂的刀具轨迹线框图的理解程度,一
般的用户无法判断其正确性。通过数控加工三维几何
仿真能够使 NC 编程人员和机床操作者通过图形显示
进行干涉和碰撞检查,校验数控程序,故可以大大减
少上述情况的发生,提高数控编程效率和质量。
1 系统总体结构 
由于OpenGL适用于多种硬件平台及操作系统,其
图形库能够制作出高质量的三维图形和高质量的动画
效果。因而整个虚拟加工的3D显示引擎选用OpenGL来
实现。考虑到Visual C++功能强大,开发出的系统执
行效率高,且便于控制OpenGL,因而选用Visual C++
作为整个虚拟加工系统的开发工具。通过对数控车床
及其加工过程进行仿真,动态显示产品加工过程和结
果,以实现产品零件的虚拟加工,并验证NC程序的正
确性。
图1为系统的设计流程图。 
2 系统功能实现 
2.1 NC程序编译 
由于虚拟加工系统主要用于工业培训及NC代码的
正确性检查,故要求系统能够在加工之前通知操作人
员NC程序中是否存在语法错误,上下程序段间的逻辑
关系是否正确等,故选用编译方式而不是解释方式来
对NC程序进行编码。根据编译原理的思想,构造出
NC程序编译模块,对NC程序进行语法和词法检查。
比如检查地址符字母是否大写,上下程序段之间的逻
辑关系是否正确,圆弧的终点、圆心、半径值等是否
匹配,子程序调用时子程序号是否正确,程序开始字
符,程序号,程序主体,程序结束代码和程序结束字
符等是否完整等等。通过词法和语法检查指出错误发
生的位置,给出错误的原因。使得虚拟加工系统能够
辅助用户学习NC程序的编制。 
2.2虚拟车床本体的搭建 
在数控加工几何仿真系统中,首先要建立虚拟加
工环境,实现虚拟数控机床。由于机床是由许多零部
件组成,结构较为复杂,用OpenGL函数进行造型工作
量太大,故先在CAD软件Pro/E中造型出数控机床各个
零部件,将其导出成标准的三维数据格式STL,在程序
中直接读取STL文件,并将其装配起来。在绘制机床时
利用了OpenGL显示列表技术,将每个零部件都生成一
个OpenGL的显示列表,这样可以大幅度提高重绘效率,
满足实时绘制的要求。图2为虚拟车床的效果图。 
2.3 数控加工过程仿真实现 
数控车床的毛坯常用棒料或铸锻件,加工余量较
大,但加工的零件形状较为简单,一般都是回转体零
件。为了避免材料切除过程中毛坯与刀具运动形成扫
掠体之间耗时的布尔运算,将毛坯沿 Z 向进行离散,
将毛坯离散成单位高度的小圆柱,每个小圆柱称为一
个薄片,每个薄片的厚度根据精度和显示效果的要求
来确定,精度越高,切的越薄。每个薄片的数据结构
如下:
struct PieceCylinder
{
double m_dZSt;///////起始 Z 坐标
double m_dZEd;//////结束 Z 坐标
double m_dROutSt;////外圆起点半径值
double m_dROutEd;///外圆终点半径值
double m_dInSt;///内圆起点半径值
double m_dInEd;////内圆终点半径值
BOOL m_bIsDelete;//////该部分薄片是否被切除
PiesCylinder* m_pNext;/////下一个薄片数据
};
由于车削加工的回转体常常有内孔,车削时也可
能进行镗孔和钻孔操作,因而每个薄片不但要记录所
在位置的外圆半径,还要记录内孔的半径。为了光滑
的显示加工的复杂回转面,如圆弧面、双曲面等,每
个薄片在 Z 轴方向分为起点和终点。其起点和终点处
外圆、内孔的半径根据加工中的刀路轨迹单独计算和
存储。
在车削加工过程中,一方面工件绕其自身的回转
轴高速旋转,另一方面刀具在工件的轴平面内沿 X 轴、
Z 轴运动,并逐渐从工件上切除多元的材料,加工出
所需的外形,每一步刀具所扫掠出的均是一个多边形。
根据每一步的插补指令,求解出该步刀具所扫掠出的
多边形。将刀具扫掠出的多边形和离散后的工件模型
求交,并相应修改工件上所有和刀具扫掠多边形相交
部分的半径值。将修改半径后的工件重新绘制出来,
即可完成仿真过程的实时绘制。
3 运行实例 
为了验证系统的仿真效果,进行了两个加工实例
研究。由于固定循环的实现比较有代表性,故这里选
用固定循环来进行研究。程序O1234是G71外圆粗车固
定循环里面包含G70的精车循环,程序O1235是G72端
面车削固定循环,图3为G71精车后的效果图。图4为
G72粗车过程中截图。
O1234
S1200M3
T0101
G50X100Z50
G0X80Z5
G71U3R0.2
G71P00Q60U0.2W0.1F200
N00G0X6Z1
N10G1X10Z-3
N20G1W-15
N30G2U30W-15R15
N40G1W-30
N50G3U30W-15R15
N50G1U10W-10
N60G1W-70
N70G0X100Z50
G0X30Z5
G70P10Q60
G0X120Z20
M30
O1235;G72横向切削复合循环
S1200M3
T0101
G50X50Z50
G0X32Z5
G72U2R0.2
G72P10Q50U0.2W0.1F200;呼叫子程序
N10G0X80Z-80
N20G1X60Z-70F100
N30W8
N40G3X30W15R15
N50G1X18Z2
N60G0X100Z50
G0X30Z5
G70P10Q50
G0X100Z50
M30
4 结论 
详细介绍了车床虚拟加工系统的一种实现方法,
并采用这种方法实现了车床虚拟加工系统。该虚拟加
工系统可广泛应用于真实加工前进行仿真试切,在工
业培训、数控教学等行业中,具有广泛的应用前景。
data/attachment/forum/old/8/1.GIF
data/attachment/forum/old/8/3.JPG
data/attachment/forum/old/8/4.JPG
data/attachment/forum/old/8/2.JPG
页: [1]
查看完整版本: 车床虚拟加工系统实现方法研究