《数控车床华中系统用户宏程序编程PPT课件》由会员分享,可在线阅读,更多相关《数控车床华中系统用户宏程序编程PPT课件(29页珍藏版)》请在金锄头文库上搜索。
1、用户宏程序编程在数控编程中,宏程序编程灵活、高效、快捷,是加工编程的重要补充。宏程序不仅可以实现象子程序那样,对编制相同加工操作的程序非常有用,还可以完成子程序无法实现的特殊功能,例如,型腔加工宏程序、固定加工循环宏程序、球面加工宏程序、锥面加工宏程序等。华中数控用户宏程序HNC-21/22T 、HNC-21M为用户配备了强有力的类似于高级语言的宏程序功能,用户可以使用变量进行算术运算、逻辑运算和函数的混合运算,此外宏程序还提供了循环语句、分支语句和子程序调用语句,利于编制各种复杂的零件加工程序,减少乃至免除手工编程时进行繁琐的数值计算,以及精简程序量。一、基础知识1. 1. 宏变量及常量宏变
2、量及常量v(1) 宏变量宏变量vHNC-21/22T华中世纪星数控系统变量表示形华中世纪星数控系统变量表示形式为式为# 后跟后跟14位数字,变量种类有三种:位数字,变量种类有三种:v局部变量局部变量:#0#49是在宏程序中局部使用是在宏程序中局部使用的变量,用于存放宏程序中的数据,断电时丢的变量,用于存放宏程序中的数据,断电时丢失为空。失为空。1. 1. 宏变量及常量宏变量及常量全全局局变变量量:用用户户可可以以自自由由使使用用#50#199,它它对对于于由由主主程程序序调调用用的的各各子子程程序序及及各各宏宏程程序序来来说说是是可可以以公公用用的的,可可以以人人工工赋赋值值。HNC-21/2
3、2T子子程程序序嵌嵌套套调调用用的的深深度度最最多多可可以以有有8层层,每每一一层层子子程程序序都都有自己独立的局部变量(变量个数为有自己独立的局部变量(变量个数为50)。)。系系统统变变量量:系系统统变变量量为为#1000#1199,它它能能获获取取包包含含在在机机床床处处理理器器或或NC内内存存中中的的只只读读或或读读/写写信信息息,包包括括与与机机床床处处理理器器有有关关的的交交换换参参数数、机机床床状状态态获获取取参参数、加工参数等系统信息数、加工参数等系统信息v(2) 常量常量vPI:圆周率圆周率;TRUE:条件成立条件成立(真真);FALSE:条件不成立条件不成立(假假) 2 2、
4、 运算符与表达式运算符与表达式v(1) 算术运算符:+,-,*,/v(2) 条件运算符:EQ(=),NE(), GT(),GE(),LT(),LE()v(3) 逻辑运算符:AND,OR,NOTv(4) 函数:SIN(正弦),COS(余弦),TAN(正切),ATAN(反正切),ABS(绝对值)INT(取整),SIGN(符号),SQRT(开方),EXP(指数)v(5) 表达式:用运算符连接起来的常数,宏变量构成表达式。v例如:175/SQRT2 * COS55 * PI/180 ;#3*6 GT 14 3、赋值语句、赋值语句v格式:宏变量=常数或表达式v把常数或表达式的值送给一个宏变量称为赋值。v
5、例如: #2 = 175/SQRT2 * COS55 * PI/180;v #3 = 124.0 4、 条件判别语句条件判别语句IF, ELSE,ENDIFv格式(i): 格式(ii) : vIF 条件表达式条件表达式 IF 条件表达式条件表达式v vELSE ENDIFvvENDIF5、 循环语句循环语句WHILE,ENDWv格式:格式:WHILE 条件表达式条件表达式v v ENDW6、 宏程序宏程序/子程序调用的参数传递规则子程序调用的参数传递规则vG 代码在调用宏代码在调用宏(子程序或固定循环,子程序或固定循环,下同下同)时,系统会将当前程序段各字时,系统会将当前程序段各字段段(AZ共
6、共26个字段,如果没有定义个字段,如果没有定义则为零则为零)的内容拷贝到宏执行时的局的内容拷贝到宏执行时的局部变量部变量#0 #25,同时拷贝调用宏时,同时拷贝调用宏时当前通道九个轴(轴当前通道九个轴(轴0轴轴8)的绝对)的绝对位置位置(机床绝对坐标机床绝对坐标)到宏执行时的局到宏执行时的局部变量部变量#30 #38。v宏程序的调用格式为:宏程序的调用格式为:vM98 P(宏程序名)(宏程序名)v或或G65 P(宏程序名)(宏程序名)。 7、用户宏程序编程思路、用户宏程序编程思路v%1000;长半轴、短半轴分别为;长半轴、短半轴分别为40、30的椭圆的椭圆vG54 G90 G00 Z30vM0
7、3 S800vG00 X45 Y-15 ;快速定位至下刀点;快速定位至下刀点vZ3vG01 Z-5 F100v#0=0;给角度;给角度 赋赋0初值初值vWHILE #0 LE 360;当角度;当角度 360度时,执行循环体内容度时,执行循环体内容v#1=40*COS#0*PI/180;用椭圆的标准参数方程求动点;用椭圆的标准参数方程求动点M的的X坐标值坐标值v#2=30*SIN#0*PI/180;用椭圆的标准参数方程求动点;用椭圆的标准参数方程求动点M的的Y坐标值坐标值vG01 X#1 Y#2 ;用直线插补指令加工至;用直线插补指令加工至M点,点,即用直线段逼近椭圆即用直线段逼近椭圆v#0=#
8、0+1;角度;角度 的递增步长取的递增步长取1度度 vENDWvX45 Y15;切出椭圆;切出椭圆vG00 Z30 M05vX0 Y0vM30 数控车床用户宏程序编程v用宏程序编制如图所示抛物线的精加工程序。v%3015v#10=0 ;X坐标(直径值)坐标(直径值)v#11=0 ;Z坐标坐标vT0101vM03 S600vG00 X0 Z34vWHILE #10 LE 32vG90 G64 G01 X#10 Z#11 F100v#10= #10+0.32v#9= #10/2 ;求出;求出X坐标的半径值,便于求解坐标的半径值,便于求解#11v#11= 32-#9*#9/8vENDWvG00 X8
9、0 Z100 vM05vM30 用宏指令编制椭圆部分的精加工程序v%3016;精加工椭圆程序;精加工椭圆程序vT0101vM03 S800vG00 X39 Z22v#1=60;A点的角度点的角度v#2=0;X坐标坐标v#3=0;Z坐标坐标vWHILE #1 LE 120;120是通过计算得来的是通过计算得来的B点角度点角度v#2=2*23*SIN#1*PI/180;直径编程;直径编程v#3=40*COS#1*PI/180vG64 G01 X#2 Z#3 F100v#1=#1+1;步长取;步长取1度度vENDWvG00 X100vZ100 M05vM30 用户宏程序训练数控车削加工中公式曲线宏程
10、序编程模板的应用v一、公式曲线宏程序编程模板的原理和使用步骤一、公式曲线宏程序编程模板的原理和使用步骤v1、如何选定自变量、如何选定自变量v1)公式曲线中的X和Z坐标任意一个都可以被定义为自变量 v2)一般选择变化范围大的一个作为自变量,如图1 v3)根据表达式方便情况来确定X或Z作为自变量,如图3v4)为了表达方便,在这里将和X坐标相关的变量设为#1、v#11、#12等,将和Z坐标相关的变量设为#2、#21、#22等。实际中变量的定义完全可根据个人习惯进行定义 v 2、如何确定自变量的起止点的坐标值、如何确定自变量的起止点的坐标值v如图1所示,选定椭圆线段的Z坐标为自变量#2,起点S的Z坐标
11、为Z1=8,终点T的Z坐标为Z2=-8。则自变量#2的初始值为8,终止值为-8。2、如何确定自变量的起止点的坐标值、如何确定自变量的起止点的坐标值v如图2所示,选定抛物线段的Z坐标为自变量#2,起点S的Z坐标为Z1=15.626,终点T的Z坐标为Z2=1.6。则#2的初始值为15.626,终止值为1.6。2、如何确定自变量的起止点的坐标值、如何确定自变量的起止点的坐标值v 如图3所示,选定三次曲线的X坐标为自变量#1,起点S的X坐标为X1=28.171-12=16.171,终点T的X标为X2=7.368。则#1的初始值为16.171,终止值为7.368。3、如何进行函数变换,确定因变量相对于、
12、如何进行函数变换,确定因变量相对于自变量的宏表达式自变量的宏表达式 v 如图1,Z坐标为自变量#2,则X坐标为因变量#1,那么X用Z表示为:v分别用宏变量#1、#2代替上式中的X、Z,即得因变量#1相对于自变量#2的宏表达式:v如图2,Z坐标为自变量#2,则X坐标为因变量#1,那么X用Z表示为:v分别用宏变量#1、#2代替上式中的X、Z,即得因变量#1相对于自变量#2的宏表达式:v 3、如何进行函数变换,确定因变量相对于、如何进行函数变换,确定因变量相对于自变量的宏表达式自变量的宏表达式v如图3,X坐标为自变量#1,因Z坐标为因变量#2,那么Z用X表示为:vZ=0.005*X*X*Xv分别用宏
13、变量#1、#2代替上式中的X、Z,即得因变量#2相对于自变量#1的宏表达式:v #2=0.005*#1*#1*#14、如何确定公式曲线自身坐标系原点、如何确定公式曲线自身坐标系原点对编程原点的偏移量(含正负号)对编程原点的偏移量(含正负号)v该偏移量是相对于工件坐标系而言的。v 如图1所示,椭圆线段自身原点相对于编程原点 的X轴偏移量X=15,Z轴偏移量Z=-30v如图2所示,抛物线段自身原点相对于编程原点 的X轴偏移量X=20,Z轴偏移量Z=-25.626v如图3所示,三次曲线段自身原点相对于编程原点的X轴偏移量X=28.171,Z轴偏移量Z=-39.1445、如何判别在计算工件坐标系下的、
14、如何判别在计算工件坐标系下的X坐标值坐标值(#11)时,宏变量)时,宏变量#1的正负号的正负号v1)根据编程使用的工件坐标系,确定编程轮廓为零件的下侧轮廓还是上侧轮廓:当编程使用的是X向下为正的工件坐标系(即前置式刀架),则编程轮廓为零件的下侧轮廓,当编程使用的是X向上为正的工件坐标系(即后置式刀架),则编程轮廓为零件的上侧轮廓。v2)以编程轮廓中的公式曲线自身坐标系原点为原点,绘制对应工件坐标系的X和Z坐标轴,以其Z坐标为分界线,将轮廓分为正负两种轮廓,编程轮廓在X正方向的称为正轮廓,编程轮廓在X负方向的称为负轮廓;v3)如果编程中使用的公式曲线是正轮廓,则在计算工件坐标系下的X坐标值(#1
15、1)时宏变量#1的前面应冠以正号,反之为负。 6、如何套用宏编程模板、如何套用宏编程模板v1)设Z坐标为自变量#2,X坐标为因变量#1,自变量步长为W,则公式曲线段的精加工程序宏指令编程模板如下:v#2=Z1 (给自变量#2赋值Z1:Z1是公式曲线自身坐标系下起始点的坐标值)vWHILE #2 GE Z2 (自变量#2的终止值Z2:Z2是公式曲线自身坐标系下终止点的坐标值)v#1=f(#2) (函数变换:确定因变量#1(X)相对于自变量#2(Z)的宏表达式)v#11=#1+X (计算工件坐标系下的X坐标值#11:编程中使用的是正轮廓,#1前冠以正,反之冠以负;X为公式曲线自身坐标原点相对于编程
16、原点的X轴偏移量。)v#22=#2+Z (计算工件坐标系下的Z坐标值#22:Z为公式曲线自身坐标原点相对于编程原点的Z轴偏移量)vG01 X2*#11 Z#22(直线插补,X为直径编程)v#2=#2-W (自变量以步长W变化)vENDW (循环结束) 6、如何套用宏编程模板、如何套用宏编程模板v2)设X坐标为自变量#1,Z坐标为因变量#2,自变量步长为U,则公式曲线段的精加工程序宏指令编程模板如下:v#1=X1 (给自变量#1赋值X1:X1是公式曲线自身坐标系下起始点的坐标值)vWHILE #1 GE X2 (自变量#1的终止值X2:X2是公式曲线自身坐标系下终止点的坐标值)v#2=f(#1)
17、 (函数变换:确定因变量#2(Z)相对于自变量#1(X)的宏表达式)v#11=#1+X (计算工件坐标系下的X坐标值#11:编程使用的是正轮廓,#1前冠以正,反之冠以负。X为公式曲线自身坐标原点相对于编程原点的X轴偏移量。)v#22=#2+Z (计算工件坐标系下的Z坐标值#22:Z为公式曲线自身坐标原点相对于编程原点的Z轴偏移量)vG01 X2*#11 Z#22 (直线插补,X为直径编程)v#1=#1-U (自变量以步长U变化)vENDW (循环结束)二、公式曲线宏程序编程模板的具体应用实例二、公式曲线宏程序编程模板的具体应用实例v运用以上公式曲线宏程序模板,结合粗加工循环指令,就可以快速准确
18、实现零件公式曲线轮廓的编程和加工。具体应用示例如下:v例1:如图1所示零件的外轮廓粗精加参考程序如下(设毛坯为直径25毫米的棒料):v%0001(程序头)vT0101(调用01号外圆刀及01号刀具偏置补偿)vG90 M03 S700(绝对值编程;主轴以700转/分正转)vG00 X33 Z2(快速定位到粗加工循环起点)vG71 U1 R0.5 P10 Q20 X0.6 F100(外径粗车循环)vN10 G01 X10 F60 S1000(精加工起始程序段)v Z-10v X24v Z-22(公式曲线起点)v#2=8(设Z为自变量#2,给自变量#2赋值8:Z1=8)vWHILE #2 GE -8
19、(自变量#2的终止值-8:Z2=-8)v (因变量#1: 用#1、#2代替X、Z)v#11=-#1+15(工件坐标系下的X坐标值#11:编程使用的是负轮廓,#1前冠以负;X=15)v#22=#2-30(工件坐标系下的Z坐标值#22:Z=-30)vG01 X2*#11 Z#22(直线插补,X为直径编程)v#2=#2-0.5(自变量以步长0.5变化)vENDW(循环结束)vN20 G01 Z-50(精加工终止程序段)vG00 X100 Z80(快速定位到退刀点)vM30(程序结束)v例2:如图2所示零件的外轮廓粗精加参考程序如下(设毛坯为直径33毫米的棒料):v%0002(程序头)vT0101(调
20、用01号外圆刀及01号刀具偏置补偿)vG90 M03 S700(绝对值编程;主轴以700转/分正转)vG00 X33 Z2(快速定位到粗加工循环起点)vG71 U1 R0.5 P10 Q20 X0.6 F100(外径粗车循环)vN10 G01 X10 F60 S1000(精加工起始程序段)vZ-10vX15(公式曲线起点)v#2=15.626(设Z为自变量#2,给自变量#2赋值15.626:Z1=15.626)vWHILE #2 GE 1.6(自变量#2的终止值1.6:Z2=1.6)v (因变量#1: ,用#1、#2代替X、Z)v#11=-#1+20(工件坐标系下的X坐标值#11:编程使用的是
21、负轮廓,#1前冠以负;X=20)v#22=#2-25.626(工件坐标系下的Z坐标值#22:Z=-25.626)vG01 X2*#11 Z#22(直线插补,X为直径编程)v#2=#2-0.5(自变量以步长0.5变化)vENDW(循环结束)vN20 G01 Z-35(精加工终止程序段)vG00 X100 Z80(快速定位到退刀点)vM30(程序结束)v例3:如图3所示零件的外轮廓粗精加参考程序如下(设毛坯为直径57毫米的棒料):v%0003(程序头)vT0101(调用01号外圆刀及01号刀具偏置补偿)vG90 M03 S700(绝对值编程;主轴以700转/分正转)vG00 X57 Z2(快速定位
22、到粗加工循环起点)vG71 U1 R0.5 P10 Q20 X0.6 F100(外径粗车循环)vN10 G01 X20 F60 S1000(精加工起始程序段)vZ-13vX24vZ-18(公式曲线起点)v#1=16.171(设X为自变量#1,给自变量#1赋值16.171:X1=16.171)vWHILE #1 GE 7.368(自变量#1的终止值7.368:X2=7.368)v#2=0.005*#1*#1*#1(因变量#2:,用#1、#2代替X、Z)v#11=-#1+28.171(工件坐标系下的X坐标值#11:编程使用的是负轮廓,#1前冠以负;X=28.171)v#22=#2-39.144(工件坐标系下的Z坐标值#22:Z=-39.144)vG01 X2*#11 Z#22(直线插补,X为直径编程)v#1=#1-0.5(自变量以步长0.5变化)vENDW(循环结束)vG01 X50 R2vZ-42.144 R2vX56vN20 Z-55(精加工终止程序段)vG00 X100 Z80(快速定位到退刀点)vM30(程序结束)返回返回图图1图图2返回返回图图3