宏程序编程教学中新教学思路的运用
宏程序编程教学中新教学思路的运用
姓名:林万里 单位:华东石油技师学院
【摘要】目前在数控车高级工技能鉴定或数控技能比赛中,经常出现宏程序编程的应用,这些内容在很多书籍和文章中也讲解的较多,但如何在实际教学中让我们的学生能够尽快理解和掌握其编程的方法,这是我们作为数控教师所面临的问题,本文将根据本人多年的教学总结,以椭圆为例对数控车宏程序编程的关键难点的教学思路进行介绍。
【关键字】 数控车 宏程序编程 教学思路
引言
宏程序的编程应该说对于目前经常接触数控编程的人来说,可能都会觉得这是个老生常谈的事情了,实际编程加工也不会给我们造成多大的困难,但是对于我们技工院校的学生来说,特别是初中毕业就读五年制的学生来说,他们毕业之前要面临高级工的技能鉴定,由于其数学底子薄弱,因此宏程序的编程对它们来说是一个很大的难点。而往往它们所面临的难点主要表现在:曲线拟合原理不容易理解;自变量的选择不合理;如何把标准曲线方程坐标系中的宏程序转换成工件坐标系中的宏程序,尤其第三个问题更为突出,那么如何在教学中让学生更好的掌握宏程序编程的方法,下面以图1中椭圆曲线为例,谈一谈FANUC系统宏程序编程的教学思路。
宏程序编程的原理和其中存在的关键难题
宏程序实现编程加工的原理
由于数控车床中没有椭圆曲线的插补功能,若要加工椭圆轮廓,只能将椭圆曲线的某一个坐标等分出若干点,通过椭圆曲线的函数关系就能求出对应于每一等分点的另一坐标值,这样理想的椭圆曲线上就找到若干个点,即节点,然后利用G01的直线插补指令以刀具的进给方向将节点按顺序通过直线段来替代,这种方法称为拟合(如图1所示)。但替代的直线与理想的椭圆轮廓间存在一定误差,即拟合误差。
若该误差大于零件形状精度的要求,则加工出的形状不能符合要求。
为能保证在形状上接近理想的椭圆曲线,将Z轴等分点的数量增多,对应椭圆函数关系求得的节点数目也将随之增多,这样拟合出的直线段就将趋近于理想的椭圆曲线,当密化到一定程度时,其替代的直线轮廓就能满足形状上的要求。由于宏程序可以定义变量并赋值,也可进行运算及条件判断,构成循环转移,这样就可对那些能用数学函数关系表达的曲线进行连续的“拟合”处理,从而实现编程加工。
2.存在的关键难题
图1所示工件的部分轮廓由椭圆组成,毛坯为φ50mm的铝棒。选用的机床为FANUC0i系统的CK-6140型数控车床。考虑到零件轮廓较复杂,为了便于分析,我们将椭圆曲线单独列出,取椭圆中心为坐标原点。根据右手笛卡尔直角坐标系的确定原则,选择与主轴平行的轴为z轴;垂直于Z轴,平行与横向滑板移动方向的轴为X轴。并可得出椭圆的数学方程为:
分析方程,发现数学方程中的坐标系与数控编程坐标系存在不一致。关键难题如下:
(1)原点位置不一致。数控车床中,工件原点通常选择在工件的右端面,即图1中的XOZ坐标系;数学方程中,坐标原点选择在了椭圆对称中心位置,即图中X’O’Z’坐标系。
(2)X坐标取值不一致。为了测量方便,数控车床在程序编制过程中,X坐标通常取直径值,即直径编程;而数学方程里面取得是半径值,即数学里面的坐标。
三、宏程序编程的教学思路
1.数学方程中的宏程序编制
先把非圆曲线从零件图中孤立出来进行分析,先在坐标系X’O’Z里面进行编程
(1)确定自变量:一般情况下,非圆曲线中的X和Z坐标的其中一个都可以定义为自变量,但是一般情况下,我们选取变化范围较大作为自变量,并且要考虑函数表达式在宏程序中书写的方便。按照此原则,如图1所示,我们取Z轴方向作为自变量。
(2)确定自变量的变化范围:根据刀具的进给方向,从右向左进行加工时,自变量z(即#1)的变化区间应为[0≤z≤40] ,从中就能明确自变量z(即#1)的变化趋势是从z=40向z=0变化,而自变量z(即#1)的初值应赋为40, (宏程序书写格式为#1=40)循环条件为自变量z≥0,宏程序书写格式为#1GE0。
(3)将数学方程进行转化:将方程转化为以Z为自变量,X为因变量的数学表达式,从而得到X的坐标,并且用FANUC系统的表达方式进行表达;即(若X取#2)#2=24*SQRT[1-#1*#1/1600].
(4)合理选择自变量z的变化步长:通过宏程序中的变量赋值,可以将自变量按变化趋势以一定的步长关系构成新值,而步长值的大小决定了拟合线段的数量,步长值越小,则拟合线段数量越多,得到的轨迹就越趋近于理想曲线,精度越高,但运算量也越大,这就要求CNC具有较强的数据处理能力,如运算速度较慢的CNC则会出现不正常的处理而破坏加工,所以步长值应根据形状精度和机床的实际情况合理选择。宏程序书写格式为#1=#1- 0.5。
(5) 使用条件转移的循环语句控制程序的流向,形成宏程序的循环,即构成自变量的不断变化,对应求出新的因变量,获得拟合处理中需要的节点坐标,就能对构成椭圆曲线的节点进行连续的直线拟合处理,从而实现椭圆曲线的编程加工。宏程序书写格式为IF[#1GE0]GOTO20。
(6) 直线拟合G01指令中的X和Z应为编程坐标系中的坐标值,而根据定义的变量及函数关系求算出的节点坐标为椭圆曲线坐标,要通过表达式将曲线坐标转化成编程坐标,这样刀具才能走出正确的路线实现加工。
按照以上思路,所编制出宏程序如下:
O0001
M44
T0101
S800 M03
……
#1=40
N10 #2=24*SQRT[1-#1*#1/1600].
G01 X[2*#2] Z#1
#1=#1-0.5
IF [#1GE0] GOTO 10
……
M30
2.进行坐标点的转换:选取某一具体坐标点进行分析转换
上面所编制的宏程序只是在坐标系X’O’Z里面进行的,而我们在实际编程加工时是在坐标系XOZ坐标系进行,那么如何进行坐标变换,才能得到我们的实际加工程序呢?下面我们可以通过在椭圆上选取任意某一具体的坐标点来进行分析,如我们选取图1中A点,由图中可知,A点在坐标系X’O’Z’里面的坐标是X为AH长度,Z为AI长度,而A点在坐标系XOZ里面的坐标为:X为AK长度,Z为负的AE,那么他们之间存在什么关系呢?仔细看图,会发现AK=42-AH,AE=(97-53.18)-AI,但是由于AE为负值,所以AE=AI-43.82,
那么用变量表达为#3=42-#2,#4=#1-43.82,同样由于X方向为直径量,因此#3=2*[42-#2].所以,最终的加工程序为:
O0002
M44
T0101
S800 M03
……
#1=40
N10 #2=24*SQRT[1-#1*#1/1600].
#3=2*[42-#2]
#4=#1-42
G01 X#3 Z#4
#1=#1-0.5
IF [#1GE0] GOTO 10
……
M30
三、结束语
根据以上教学思路分析,宏程序编程教学必须要抓住以下几点关键要素:
(1) 宏程序编写的基础是建立正确的数学模型,对于非圆曲线的函数关系一定要清楚,合理选定自变量并正确写出因变量表达式。
(2)根据零件图,找出非圆曲线自变量的取值范围,这一步很重要,由于我们在给自变量赋初始值时和条件判定跳转时都需要用到此取值范围。
(3)数控车里面宏程序编程时要注意需不需要进行坐标系转换,图1所示轮廓的编程原点设为右端面中心处,而一般我们第一步编制宏程序是在数学函数标准方程下的坐标系系里面进行的。
(4)对于自变量的步长值要合理选择,粗加工可取大值,虽然误差相对较大,但可有效提高粗加工效率;在精加工时为保证精度应取较小步长值。
(5) 本文所述宏程序为非圆曲线精加工程序,可将其套用在固定循环指令G73中实现加工。
(6)经实践验证,笔者描述的宏程序编写模式及编程思路可应于多数的非圆曲线编程。
【参考文献】:
[1] 赵太平. 数控车削编程与加工技术[M]. 北京理工大学出版社, 2006.
[2] 谢晓红. 数控车削编程与加工技术[M]. 电子工业出版社,2005.
[3] 沈春根,等.数控车宏程序编程实例精讲[M]. 机械工业出版社出版,2012.
宏程序编程教学中新教学思路的运用.doc