1、非圆公式曲线加工非圆公式曲线加工宏程序法(宏程序法(FANUC0i系统)系统)数控车仿真训练数控车仿真训练椭圆曲线一、非圆公式曲线的加工方法一、非圆公式曲线的加工方法1.1.非圆公式曲面的加工特点非圆公式曲面的加工特点2.2.非规则曲面的编程方法非规则曲面的编程方法(1 1)自动编程法)自动编程法(2 2)宏程序法)宏程序法 宏程序的编程加工,一般是采用厂方所提供的宏宏程序的编程加工,一般是采用厂方所提供的宏程序程序(或用户自行开发的宏程序或用户自行开发的宏程序)通过对变量进行赋值及通过对变量进行赋值及处理后完成程序的加工任务。处理后完成程序的加工任务。普通加工程序直接用数值指定代码和移动距离
2、;普通加工程序直接用数值指定代码和移动距离;例如,例如,G01X100.0Z2.0G01X100.0Z2.0。使用用户宏程序时,数值可以直接指定或用变量指使用用户宏程序时,数值可以直接指定或用变量指定。当用变量时,变量值可用程序或用定。当用变量时,变量值可用程序或用MDI MDI 面板上的操面板上的操作改变。作改变。二、宏程序编程二、宏程序编程、变量的表示、变量的表示 一个变量由符号一个变量由符号“#”和变量序号组成,如:和变量序号组成,如:#i#i(i=1(i=1,2 2,3 3,),此外,变量还可以用表达式进行表,此外,变量还可以用表达式进行表示,但其表达式必须全部写入方括号示,但其表达式
3、必须全部写入方括号“”中。中。例:例:#100#100,#500#500,#5#5,#1+#2+10#1+#2+10;、变量的引用、变量的引用 将跟随在地址符后的数值用变量来代替的过程称为将跟随在地址符后的数值用变量来代替的过程称为引用变量。同样,引用变量也可以采用表达式。引用变量。同样,引用变量也可以采用表达式。例:例:G01 X#100 Y-#101 F#101+#103G01 X#100 Y-#101 F#101+#103;当当#100=100.0#100=100.0、#101=50.0#101=50.0、#103=80.0#103=80.0时,上例即时,上例即表示为:表示为:G0l X
4、l00.0 Y-50.0 F130G0l Xl00.0 Y-50.0 F130;3 3、宏变量的类型、宏变量的类型根据变量号,宏变量可分成四种类型,如表根据变量号,宏变量可分成四种类型,如表1 1所示。所示。表1 变量的类型变量号变量类型功 能#0空变量空变量该变量总是空,没有值能赋给该变量。该变量总是空,没有值能赋给该变量。#1#33局部变量局部变量局部变量只能用在宏程序中存储数据,例局部变量只能用在宏程序中存储数据,例如,运算结果。当断电时,局部变量被初如,运算结果。当断电时,局部变量被初始化为空。调用宏程序时,自变量对局部始化为空。调用宏程序时,自变量对局部变量赋值。变量赋值。#100#
5、199#500#999全局变量全局变量公共变量在不同的宏程序中的意义相同。公共变量在不同的宏程序中的意义相同。当断电时,变量当断电时,变量#100#199 初始化为空,初始化为空,变量变量#500#999 的数据保存,即使断电也的数据保存,即使断电也不丢失。不丢失。#1000#9999系统变量系统变量系统变量用于读和写系统变量用于读和写CNC 运行时的各种运行时的各种数据,例如,刀具的当前位置和补偿值。数据,例如,刀具的当前位置和补偿值。、算术和逻辑运算(见表、算术和逻辑运算(见表2 2)表2 算术和逻辑运算函数函数格格 式式备备 注注赋值赋值#i=#j求和求和求差求差乘积乘积求商求商#i=#
6、j#k#i=#j#k#i=#j#k#i=#j#k正弦正弦余弦余弦正切正切反正切反正切#i=SIN#j#i=COS#j#i=TAN#j#i=ATAN#J/#k角度用十进制度表示。角度用十进制度表示。9030表示为表示为90.5 度。度。平方根平方根绝对值绝对值四舍五入四舍五入向下取整向下取整 向上取整向上取整#i=SQRT#j#i=ABS#j#i=ROUND#j#i=FIX#j#i=FUP#j或或OR异或异或XOR与与AND#I=#J OR#K#I=#J XOR#K#I=#J逻辑运算用二进制数按位操作逻辑运算用二进制数按位操作十十二进制转换二进制转换二二十进制转换十进制转换#I=BIN#J#I=
7、BCD#J用于转换发送到用于转换发送到PMC的信号或从的信号或从PMC 接收的接收的信号信号、宏程序指令、宏程序指令(1 1)无条件转移)无条件转移 格式:格式:GOTO n;nGOTO n;n(转移到的程序段)顺序号(转移到的程序段)顺序号 例:例:GOTO1;GOTO1;GOTO#10;GOTO#10;(2 2)条件分支)条件分支IFIF语句语句 在在IFIF后指定一条件,当条件满足时,转移到顺序号为后指定一条件,当条件满足时,转移到顺序号为n n的的程序段,不满足则执行下一程序段。程序段,不满足则执行下一程序段。格式:格式:IF IF 表达式表达式 GOTOn;GOTOn;;Nn Nn;
8、n n:顺序号:顺序号(1(199999)99999)例:例:O0002(O0002(宏程序宏程序)N5 IF#3GT90.0GOTO10;N5 IF#3GT90.0GOTO10;GOTO5;GOTO5;N10 M99;N10 M99;条件表达式条件表达式 条件表达式由两变量或一变量一常数中间夹比较运算条件表达式由两变量或一变量一常数中间夹比较运算符组成,条件表达式必需包含在一对方括号内。条件表达符组成,条件表达式必需包含在一对方括号内。条件表达式可直接用变量代替。式可直接用变量代替。比较运算符比较运算符 比较运算符由两个字母组成,用于比较两个值,来判比较运算符由两个字母组成,用于比较两个值,
9、来判断它们是相等,或一个值比另一个小或大。注意不能用不断它们是相等,或一个值比另一个小或大。注意不能用不等号(见表等号(见表3 3)。)。表表3 3 比较运算符比较运算符运算符运算符含含 义义EQEQ相等相等equal to(=)equal to(=)NENE不等于不等于not equal to()not equal to()GTGT大于大于Greater than()Greater than()GEGE大于等于大于等于greater than or equal to()greater than or equal to()LTLT小于小于less than()less than()LELE小于
10、等于小于等于less than or equal to()less than or equal to()(3 3)循环语句)循环语句 在在WHILE WHILE 后指定一条件表达式,当条件满足时,执行后指定一条件表达式,当条件满足时,执行WHILEWHILE到到ENDEND之间的程序,之间的程序,(然后返回到然后返回到WHILE WHILE 重新判断条重新判断条件件,),)不满足则执行不满足则执行ENDEND后的下一程序段。后的下一程序段。格式:格式:WHILE WHILE 条件表达式条件表达式DODOm m;END ENDm m;例:例:O0002O0002 WHILE#3LE90.0DO2
11、;WHILE#3LE90.0DO2;END 2;END 2;M99;M99;6 6、宏程序使用格式、宏程序使用格式7 7、宏程序使用方法、宏程序使用方法(1 1)非模态调用(单纯调用)非模态调用(单纯调用)非模态调用指一次性调用宏主体,即宏程序只在一个程序段非模态调用指一次性调用宏主体,即宏程序只在一个程序段内有效。格式:内有效。格式:G65 PG65 P(宏程序号)(宏程序号)L L(重复次数)(重复次数)一个引数是一个字母,对应于宏程序中变量的地址,引数后一个引数是一个字母,对应于宏程序中变量的地址,引数后边的数值赋给宏程序中对应的变量,同一语句可以有多个引数。边的数值赋给宏程序中对应的变
12、量,同一语句可以有多个引数。O0001;(主程序);(主程序)G65 P7000 L2 X100.0 Y100.0 Z-12.0 R-7.0F80.0;G00 X-200.0 Y100.0;M30;O7000;(子程序);(子程序)G91 G00 X#24 Y#25 Z0;G01 Z#26 F#9;#100=#18+#26;G00 Z-#100;M99;引数引数(自变量)(自变量)变量变量引数引数(自变量)(自变量)变量变量引数引数(自变量)(自变量)变量变量引数引数(自变量)(自变量)变量变量A#1H#11R#18X#24B#2I#4S#19Y#25C#3J#5T#20Z#26D#7K#6U
13、#21E#8M#13V#22F#9Q#17W#23表4 变量引数赋值方法(2 2)模态调用)模态调用 模态调用功能近似固定循环的续效作用,在调用后,机床在指定的多模态调用功能近似固定循环的续效作用,在调用后,机床在指定的多个位置循环执行宏程序。用个位置循环执行宏程序。用G67G67指令取消模态调用。格式:指令取消模态调用。格式:G66 PG66 P(宏程序号)(宏程序号)L L(重复次数)(重复次数);此时机床不动;此时机床不动 X_Y_;X_Y_;机床在这些点开始加工机床在这些点开始加工 X_Y_;X_Y_;G67 G67;停止宏程序调用;停止宏程序调用三、宏程序编程实例三、宏程序编程实例
14、加工如图加工如图1 1所示椭圆零件。毛坯尺寸所示椭圆零件。毛坯尺寸 62mm62mm棒料,棒料,材料为材料为45#45#钢。钢。图图1 11 1、椭圆参数方程、椭圆参数方程12222bxaz式中:式中:a a长轴半径;长轴半径;b b短轴半径短轴半径。以以X X为自变量,可求得为自变量,可求得Z Z值。经推导得:值。经推导得:2221bxaz计算方法一:计算方法一:2 2、零件分析、零件分析图图1 1 中:中:2256.2160062511600 xxz2540ba程序内容程序内容程序注释程序注释G28U0W0N1G0G40G97G99S500M3T11X60.Z0.5G90X50.5Z-39
15、.8F0.2G0X50.0#1=25.0N10 IF#1LT0 GOTO 20#2=SQRT1600.-2.56*#1*#1G90X2*#1+0.5Z#2-40.+0.2#1=#1-1.5GOTO 10第一工步:粗加工第一工步:粗加工加工起始点加工起始点单循环加工单循环加工短轴半径短轴半径如果如果#1#1小于小于0 0,则执行,则执行N20N20语句语句每次切削长轴坐标点计算每次切削长轴坐标点计算短轴留量短轴留量1.51.5,长轴留量,长轴留量0.20.21.51.5为切削深度为切削深度返回返回N10N10语句语句程序内容程序内容程序注释程序注释N20 S1200G0Z0X0#1=0WHILE
16、#1LT25.DO2#2=SQRTABS1600.-2.56*#1*#1G01X2*#1Z#2-40.#1=#1+0.1END2G01Z-60.0X61.0G28U0W0M05M30第二工步:精加工第二工步:精加工主轴转速为主轴转速为12001200当当#1#1小于小于2525时执行下一条时执行下一条语句,否则执行语句,否则执行end2end2后的后的语句。语句。增量值为增量值为0.10.11 1、椭圆参数方程、椭圆参数方程cossin2aZbX式中:式中:a a长轴半径;长轴半径;b b短轴半径短轴半径。以以 为自变量,可求得为自变量,可求得X X和和Z Z值。值。计算方法二:计算方法二:2
17、 2、零件分析、零件分析图图1 1 中:中:2540ba900cos40sin252式中ZX程序内容程序内容程序注释程序注释G28U0W0N1G0G40G97G99S500M3T11X60.Z0.5G90X50.5Z-39.8F0.2G0X50.0#1=40.0#2=25.0#3=90.0N10 IF#3LT0 GOTO 20#24=2*#2*sin#3#26=#1*cos#3G90X#24+0.5Z#26-#1+0.2#3=#3-1.0GOTO 10第一工步:粗加工第一工步:粗加工加工起始点加工起始点单循环加工单循环加工长轴半径长轴半径短轴半径短轴半径起始转角起始转角如果转角小于如果转角小于
18、0 0,则执行,则执行N20N20语句语句每次切削坐标点每次切削坐标点X X值值每次切削坐标点每次切削坐标点Z Z值值短轴留量短轴留量1.51.5,长轴留量,长轴留量0.20.2转角增量值为转角增量值为1 1度度返回返回N10N10语句语句程序内容程序内容程序注释程序注释N20 S1200G0Z0X0#3=0WHILE#3LT90.DO1#24=2*#2*sin#3#26=#1*cos#3G01X#24Z#26-#1#3=#3+0.1END1G01Z-60.0X61.0G28U0W0M05M30第二工步:精加工第二工步:精加工主轴转速为主轴转速为12001200当转角小于当转角小于9090度时执行下一条度时执行下一条语句,否则执行语句,否则执行end1end1后的语句。后的语句。增量值为增量值为0.10.1四、巩固练习四、巩固练习1 1、毛坯尺寸为、毛坯尺寸为5555棒料,材料为棒料,材料为45#45#钢,试车削如图钢,试车削如图2 2所示零件。所示零件。椭圆曲线图图2 2谢谢观看!2020