◇ 刘 胜
(大英县中等职业技术学校 大英 629300)
【摘 要】对于初学者,精读几个有代表性的宏程序,在此基础上进行模仿,从而能够以此类推,达到独立编制宏程序的目的。本文以椭圆的圆心在不同位置为例,介绍了宏程序转移与循环语句在椭圆编程中的应用,进一步学习宏程序的基本格式,应用指令代码,以及椭圆中宏程序编程的基本思路。
【关键字】宏程序 椭圆 加工 应用
【正 文】椭圆是数控车加工中相对较难却又比较典型的非圆曲线,目前很多数控系统还没有提供完善的非圆曲线插补功能,因此在实际操作中椭圆的编程多采用变量来完成,将长半轴划分成无数小段直线或分成无数角度,然后根据椭圆标准方程与参数方程,用变量表达相应端点坐标,依据椭圆在车床坐标系的位置,求出相对的数控车床中的坐标,再按直线进行编程加工。
一、转移与循环语句
1.无条件的转移
格式: GOTO 1;
GOTO #10;
说明:直接跳转到行号为#10地址的值的位置
2.条件转移
格式: IF[<条件式>] GOTO n
说明:如果条件满足或成立,就跳转到行号为n的位置执行指令,相反就依次执行指令。
条件式:
#j EQ #k 表示= ; #j NE #k 表示≠
#j GT #k 表示>; #j LT #k 表示<
#j GE #k 表示≥ ; #j LE #k 表示≤
例1:求1到10之和 … …
#1=0 ;(将0赋给局部变量号#1,#1号地址存储值为0)
#2=1 ; (局部变量地址#2号存储的值为1)
N1 IF [#2 GT 10] GOTO 2 ;(如果#2地址的值大于10就跳到N2行去执行,相反依次执行下去.)
#1=#1+#2; (将#1和#2地址存储值进行求和并赋给#1号地址.)
#2=#2+1;(将#2地址存储值加上1的和并赋给#2号地址)
GOTO 1 ;(跳转到N1栏,继续判断)
N2
… …
3、循环语句
格式:WHILE[<条件式>]DO m;(m=1,2,3)
… … ENDm …
说明:1.当<条件>满足时,执行DOm到ENDm之间的程序段,不满足时,执行ENDm后面程序段。2.省略WHILE语句之中<条件>语句,则从DOm到ENDm之间形成死循环 。3.嵌套使用。4.EQ NE时,空和“0”不同,其他条件下,空和“0”相同。
例2:求1到10之和 … …
#1=0; #2=1;
WHILE [#2 LE 10] DO1; (当#2地址栏之中值小于等于10就执行DO1和END1之间的程序段,否则执行END1后面程序段)
#1=#1+#2; #2=#2+1;
END1;(遇到END1就跳转到WHILE栏继续判断并执行相关指令)
…
二、椭圆标准方程与参数方程
编制椭圆宏程序要熟悉椭圆标准方程和参数方程,它们均表达出了椭圆上点的坐标及两坐标之间的关系。椭圆标准方程X*X/a*a+Y*Y/b*b=1,其中a为长半轴,b为短半轴,若将X和Y用参数变量代替可改写为#1*#1/a*a+#2*#2/b*b=1,若用Ф为表示角度参数,则参数方程为X=a*cosФ,Y=b*sinФ, 根据椭圆长半轴划分成无数小段直线或分成无数角度,然后根据椭圆标准方程与参数方程,用变量表达相应端点坐标,依据椭圆在车床坐标系的位置,求出相对的数控车床中的坐标,再按直线进行编程加工。
例如:数学坐标系坐标系是X 、Y 轴,椭圆的标准方程表示为X*X/20*20+Y*Y/15*15=1 (20mm为长半轴的长,15mm为短半轴的长,椭圆的中心即为坐标系的原点),参数方程为X=20cosФ,Y=15sinФ(Ф为角度参数)。如图1
在数控车床编程坐标系中,编程坐标系是Z 、X 轴,所以在应用椭圆标准方程或参数方程时,要从X、Y轴相应转换为编程坐标系中的Z 、X轴。如上例椭圆就转变成为图2所示,在X、Z坐标系中的标准方程则:Z*Z /20*20+X*X/15*15=1,参数方程相应转换为X=15sinФ,Z=20cosФ。
注:变量编程时,注意椭圆上点的坐标在椭圆坐标系和在编程坐标系中的不同表达,两者之间的联系在于椭圆原点在编程坐标系中的值。椭圆坐标系原点在椭圆圆心,编程坐标系及原点是由编程者设定,一般编程坐标系原点均选在工件右端面与中心轴线的交点处。
三、以Ф参数(角度)为初始变量
例3:毛坯为Ф45mm×80mm的棒料,45号钢。编程原点设在右端面与中心轴线的交点上,椭圆原点在编程坐标系(0,-20)处。如图3
分析:三爪卡盘夹住左端,伸出60mm,手动车右端面,选择1号30?外圆车刀加工外轮廓。切削用量的选择:粗加工主轴转速为800r/min,进给量为0.3mm/r,精加工主轴转速为1000r/min,进给量为0.2mm。在椭圆坐标系中,其标准方程为:X2/152+Z2/202=1,;参数方程为:X=15sinФ,Z=20cosФ。从零件图上可以看出,椭圆轮廓的起点角度为0? ,终点角度为150?,所以适合采用以Ф参数(角度)为初始变量,应用参数方程来表达椭圆上点的坐标。编制程序如下。
#1=0;(角度初始值,范围0至150)
WHILE [#1 LE 150] DO1;(条件判断,#1地址中值是否小于等于150,如果小于等于150就依次执行DO1和END1之间和指令,如果大于150就跳转到END1后面的行执行)
#2=15*SIN[#1];(将15*SIN[#1]的值赋给#2,#1的值的变化将更新#2的值,#2是椭圆坐标系的坐标值)
#3=20*COS[#1]; (将20*COS[#1]的值赋给#3,#1的值的变化将更新#3的值,#3是椭圆坐标系的坐标值)
G01 X[2*#2] Z[#3-20] F0.2;(计算出椭圆上的点坐标在编程坐标系的值,并用直线插补指令完成)
#1=#1+0.1; (将角度每一次按0.1的递增后,赋给#1)
END 1;(程序遇到END1就跳到WHILE指令处再次判断条件)
G01 Z-50;N31 X46;G00 X150 Z150
M00 M03 S1000;GOO X47 Z2;G70 P30 Q31;
G00 X150 Z150; M30;
本例中,#1(角度)为初始变量,椭圆上点的X 、Z(#2 、#3)坐标是因变量,它们之间的关系由参数方程X=15sinФ,Z=20cosФ体现,即#2=15*SIN[#1],#3=20*COS[#1], 在编程坐标系中,点的坐标就表达成X[2*#2]Z[#3-20]。
四、以Z坐标为初始变量
例4:毛坯为Ф45mm×60mm的棒料,45号钢。编程原点设在右端面与中心轴线的交点上,椭圆原点在编程坐标系(0,-20)处。如图4
分析:工艺分析参见上例。零件上椭圆曲线只有右边一半,长半轴长20mm(Z轴),短半轴长15mm(X轴),其椭圆标准方程为:X2/152+Z2/202=1,参数方程为X=15sinФ,Z=20cosФ,椭圆曲线的起点Z坐标为20,终点坐标为0,设Z坐标为变量#1,根据椭圆标准方程,有X=15*SQR(152+Z2 )/20 (设为#2)。
编制程序如下:
O1235;
T0101 M03 S800;
G99 GOO X46 Z2;
G73 U17 W0 R9;
G73 P40 Q41 U0.5 W0.05 F0.3;
N40 G00 X0;
G01 Z0 F0.2;
#1=20;(Z初始值,范围为20至0)
N1 IF [#1 LT 0] GOTO 2;(如#1变量的值小于0,就直接跳到N2行去执行)
#2=15*SQRT[20*20-#1*#1]/20;
G01 X[2*#2] Z[#1-20] F0.2;
#1=#1-0.1;
GOTO 1;(遇到此指令,就跳到N1行执行)
N2 G01 W-10;
N41 X45;
G00 X150 Z150
M00
M03 S1000;
G00 X46 Z2
G70 P40 Q41;
G00 X150 Z150;
M30;
本例也可以用Ф(角度)为初始变量,应用椭圆参数方程进行编程,其中Ф的变化范围是0?~90?。读者可参考上例编写。
五、椭圆原点不在零件轴线上
例5:毛坯为Ф45mm×90mm的棒料,45号钢。编程原点设在右端面与中心轴线的交点上,椭圆原点在编程坐标系(20,-25)处,椭圆轮廓位于零件中间。如图5
图5
分析:椭圆标准方程为:X2/152+Z2/202=1,长半轴长20mm(Z轴),短半轴长15(X轴)。与前2例不同,本例中椭圆轮廓的起点不在零件右端面编程坐标系原点处,而位于零件中间部位,需计算椭圆起点坐标:从图中可得Z=16,即((58-8)/2-9=16),X =15(由椭圆标准方程X2/152+Z2/202=1得到)。终点坐标:Z=-16,X=15(SQR(20*20-(-16)*(-16))/20,Z值变化范围是(16~-16)。
所以选择Z坐标为初始变量,应用标准方程表达椭圆上点的坐标。为避免重复,下面只给出椭圆轮廓的程序段。
椭圆起点坐标Z=16,设X值为#1,#1=15*SQRT[20*20-16*16]/20;转换到编程坐标中,起点坐标X=2*[20-#1],设#2=2*[20-#1],则椭圆的起点坐标为:(#2,-9)。
编制程序如下:
O5235;
T0101 M03 S800;
G99 GOO X46 Z2;
#1=15*SQRT[20*20-16*16]/20;
#2=2*[17.5-#1];
G73 U18 W0 R9;
G73 P50 Q51 U0.5 W0.05 F0.3;
N50 G00 X[#2];
G01 Z-9 F0.1;
#3=16;(Z初始值)接WHILE [#3 GE -16] DO1;#4=15*SQRT[20*20-#3*#3]/20 G01 X[2*[17.15-#4]] Z[#3-25] F0.1;#3=#3-0.1;END 1;G01 W-9; X30 吗 W-8 N51 X45 G00 X150 Z150 M00 M03 S1000; G00 X46 Z2 G70 P50 Q51;G00 X150 Z150;M30;
本例引入了4个变量,变量#1和#2的引入是为了表达曲线起点的坐标值,变量#3和#4表达的是椭圆曲线上点的Z、X值。
通过以上几个实例,运用宏程序来完成椭圆的编程,可以用角度作为初始变量;也可以使用Z(X)坐标为初始变量; 根据椭圆曲线轮廓位置,有的于零件的最右(左) 端;有的位于零件中间部位。但不管是什么情况,运用宏程序给椭圆编程都要有以下几个的要点。①根据零件图中椭圆轮廓的形状和位置,选取合适的初始变量,角度或Z(X)坐标。②正确表达椭圆曲线上点的坐标。根据零件图上的尺寸标注,选择标准方程或参数方程表达椭圆上点的坐标。③找出(有时需计算出)椭圆原点在编程坐标系中的坐标,正确表达椭圆上的点在编程坐标系中的坐标。
【参考文献】
谭浩强 主编《C语言设计(第三版)》清华大学出版社
刘万菊 主编《数控加工工艺及编程》机械工业出版社
陈宁娟 主编《数控车削实训与考级》高等教育出版社
论文作者:◇ 刘,胜
论文发表刊物:《读写算(新课程论坛)》2013年10期(下)供稿
论文发表时间:2014-5-5
标签:椭圆论文; 坐标系论文; 方程论文; 坐标论文; 变量论文; 原点论文; 参数论文; 《读写算(新课程论坛)》2013年10期(下)供稿论文;