您好,欢迎访问三七文档
变量编程实例与技巧用户宏程序HNC-21T数控系统宏指令编程SIEMNS802D数控系统宏指令编程FANUC0i-MC数控系统宏指令编程变量编程简介变量编程是指在程序中用变量表述一个地址的数字值。而在程序中对变量赋值,可以在程序几个相似的地方使用。变量编程与普通编程的区别在于:变量编程中可以使用变量,可以给变量赋值,变量之间可以运算,程序运行可以跳转:而在普通编程中,只可指定常量,常量之间不可以运算,程序只能按顺序执行,不能跳转,功能固定。变量编程的特点1.高效2.经济3.应用范围广4.有利于解决编程软件带来的问题a.在线加工程序的传输速率与机床的节拍不协调。b.加工效率高%O1234(1111.CUT,08/06/00,00:41:53)N10G50S1000N12G00G97S600T0000N14M03N16M08N18G00X166.009Z119.476N20G00Z100.707N22G00X111.414N24G01X-3.414F5.000N26G01X-2.000Z100.000N28G03X12.006Z99.045R26.148F100.000N30G03X25.030Z96.419R31.380N32G03X37.502Z92.181R37.162N34G03X48.245Z86.977R52.737N36G03X59.440Z79.732R63.257N38G03X68.724Z71.890R89.536N40G03X78.849Z60.709R105.053N42G03X86.627Z49.099R140.934N44G03X94.276Z32.474R159.038N46G03X98.624Z15.571R191.394N48G03X99.658Z7.292R196.930N50G03X100.000Z-1.000R201.010N52G01X101.414Z-0.293F20.000N54G01X111.414N56G00X166.009N58G00Z119.476N60M09N62M30HNC-21T数控系统宏指令编程基础知识1、宏变量与常量.宏变量宏变量的表示:变量可以用“#”号和紧跟其后的序号来表示:#I(I=1,2,3,……)例如:#5,#109,#200宏变量的引用:将其跟随在一个地址后的数值用一个变量来代替,即引入了变量:例如:对与F[#103]如#103=50时,则为F50;对与Z[-#110]如#110=100时,则为Z-100;对G[#130]如#130=3时,则为G03;宏变量的类型:1)、公共变量:全局变量(#50-#199)和局部变量(#0-#49)。2)、系统变量:有固定用途的变量,他决定系统的状态。HNC-21T数控系统宏指令编程基础知识2、常量:PI:圆周率,TRUE:条件成立,FALSE:条件不成立。运算符与表达式1、算术运算符:+,-,*,/。2、条件运算符:EQ(=)、NE(=/)、GT(〉)、LT(〈)、LE(〈=)。3、逻辑运算符AND、(与)OR、(或)(NOT(非)4、函数SIN(正玄)、CON(余玄)、TAN(正切)、ATAN(反正切)、ABS(绝对值)、INT(取整)、SQRT(平方根)、EXP(指数)。HNC-21T数控系统宏指令编程基础知识语句表达式1、负值语句格式:宏变量=常数或表达式把常数或表达式的值送给一个宏变量称为赋值。例如:#2=175/SQRT[2]*COS[55*PI180];#3=124.0;2、条件判别语句IFELSEENDIF格式(i);IF条件表达式….条件成立(真)ELSE….条件成立(假)ENDIFHNC-21T数控系统宏指令编程基础知识2.循环语句WHILE,ENDW格式:1)WHILE条件表达式(循环体)ENDW说明:在这种循环结构中,当条件成立时,则重复执行循环体语句,直至条件全部满足后,跳出循环体。2)WHILE条件表达式(循环体1)WHILE条件表达式(循环体2)ENDWENDW说明:这种循环结构称为嵌套,嵌套调用的深度最多可以有九层,每一层子程序都有自己独立的局部变量(变量个数为50)。当前局部变量为#0-#49,第一层局部变量为#200-#249,第二层局部变量为#250-#299,第三层局部变量#300-#349,依此类推。HNC-21T数控系统宏指令编程基础知识宏程序调用指令1.宏程序的调用格式2.宏程序/子程序调用的参数传递规则1.宏程序的调用格式:M98P(宏程序名)L(调用次数)变量赋值G65指令的功能和参数与M98相同。在HNC-21M系统中固定循环指令是采用宏程序方法实现的,固定循环宏程序定义G73,G74,G76,G80,G81,G82。2.宏程序/子程序调用的参数传递规则。G代码在调用宏(子程序或固定循环,下同)时,系统会将当前程序段各字段(A~Z共26字段,如果没有定义则为零)的内容拷贝到宏执行时的局部变量#0-#25,同时拷贝调用宏时当前通道九个轴的绝对位置(机床绝对坐标)到宏执行时的局部变量#30-#38。调用一般子程序时,不保存系统模态值,即子程序可修改系统模态并保持有效;而调用固定循环时,保存系统模态值,即固定循环子程序不修改系统模态。下表列出了宏当前局部变量#0~#38所对应的宏调用者传递的字段参数名宏当前局部变量宏调用时传递的字段名或系统变量宏当前局部变量宏调用时传递的字段名或系统变量#0A#20U#1B#21V#2C#22W#3D#23X#4E#24Y#5F#25Z#6G#26固定循环指令初始平面Z模态值#7H#27不用#8I#28不用#9J#29不用#10K#30调用子程序时轴0的绝对坐标#11L#31调用子程序时轴1的绝对坐标#12M#32调用子程序时轴2的绝对坐标#13N#33调用子程序时轴3的绝对坐标#14O#34调用子程序时轴4的绝对坐标#15P#35调用子程序时轴5的绝对坐标#16Q#36调用子程序时轴6的绝对坐标#17R#37调用子程序时轴7的绝对坐标#18S#38调用子程序时轴8的绝对坐标#19T当前局部变量宏调用时所传递的字段宏程序调用M98P(宏程序名)L(调用次数)变量赋值M98P0001L0005A1.0B2.0C10D12E14F16G17;#0=1.0#1=2.0#2=10.0#3=12.0#4=14.0#5=16.0#6=17.0变量编程实例一、非圆锥曲线类零件数控车削的宏程序编程实例1.抛物线类宏程序编程例1:在数控车床上加工如图1示抛物线形状零件,抛物线的开口为34.42mm,抛物线的方程为:X*X=-10Z,试编制此零件加工程序。抛物线类宏程序编程1.工艺设计:(1).工件坐标系建立在抛物线的顶点,零件的外圆先用复合循环进行粗、精加工,然后再对抛物线进行加工。(2).刀具选择:1#刀:外圆粗车刀;2#刀:外圆粗车刀;(3).切削用量:粗加工:S:600r/minF:0.25mm/r;精加工:S:100r/minF:0.1mm/r;精加工余量:05mm。抛物线类宏程序编程加工程序:O0001%1T0101S600M3G0X80Z80G71U1.5P1Q2R1X0.5F130G0X80Z8080Z80T0202S1000N1G0X34.42Z1G1Z-29.614F90X48X50W-1Z-47N2G1X72G0X80Z80S600T0101M98P10X0Z0Q5V17.2K0.1F100G0X80Z80M30O10G0X[#23]Z[#2+5]G1Z[#25]F[#9]WHILE#23LE#21#23=#23+#10#25=-[#23*#23]/[#16*2]G1X[2*#23]Z[#25]F#5ENDWM99抛物线类宏程序编程例2:用宏程序编制如图所示零件加工程序。抛物线方程:抛物线B=-A2/2在B区间[12,32]程序示例:%0342N1T0101N2G00X20.5Z3N3#11=12;B坐标初值N4#10=SQRT[2*[#11]];A坐标初值N5M03S600N6WHILE#10LE8N7G90G01X[2*#10]Z[-[#11-12]]F500N8#10=#10+0.08N9#11=#10*#10/2N10ENDWN11G01X16Z-32N12Z-40N13G00X20.5Z3M05N14M30抛物线类宏程序编程例3.用宏程序编制如图所示零件加工程序。%0342T0101M03S600G00X35Z3G01X18F100Z-8#11=12;Z坐标初值#10=SQRT[2*[#11]]G01X[2*[#10+3]]WHILE#11LE32#10=SQRT[2*[#11]]G90G01X[2*[#10+3]]Z[-[#11-4]]F500#11=#11+0.06ENDWG01X22Z-28Z-30M09M30抛物线类宏程序编程例4.如图零件是一种光学仪器零件,它的轮廓线是抛物线,表达式为:y=4*sqrt[x]简图如下:工件坐标系设在抛物线顶点。用#101变量表示x,用#100变量表示z.两者的关系用函数哟表达式y=4*sqrt[x]确定,即#101=4*sqrt[#100]。程序如下:M8G40G50S200T0101M3G0X30Z16#100=14.0625抛物线顶点到工件右端面的距离WHILE#100gT[0.390625]#101=2*4*sqrt[#100]G1X[#101]Z[#100]F0.12切削起点#100=#100-0.03每次切削量ENDWG0Z20M9G40G0X50Z50M30抛物线类宏程序编程例5.抛物线旋转轮廓的车削加工技巧O4T0101S600M3G0X30Z0G1X1F60Z1X12.36G1Z0G3X20.36W-4R4G1Z-10.18#100=5.14WHILE#100GT[-7.84]#101=-0.1*[#100*#100]#102=-[#100]*[sin[pi]]+[#101*[cos[pi/18]]]#103=[[#100]*[cos[pi/18]]]+[#101*[sin[pi/18]]]#104=[14*2]+[[#102]*[2]]#105=#103-15G1X[#104]Z[#105]F100#100=#100-0.3*[PI/180]ENDWG2X20.27Z-31.33R5.32G1X28Z-34.44Z-40G0X50Z50M30抛物线类宏程序编程例6.使用宏程序功能编写粗精加工程序技巧图示零件(1).零件图分析与编程技巧:毛坯直径为ø50mm,总长为:102mm,材料为45号钢棒料。该零件编程难点在抛物线编程上。已知抛物线方程:x*x=-22.09z。用公共变量#100、#101编程。#101变量作为x轴变量:#100变量作为z轴变量;加工抛物面时,抛物线方成原点与共件零点重合.本例题利用循环语句(while语句)编写出粗、精加工程序,相当与G71语句功能。加工效率较高,有一定特色,(加工左端程序省略)。O7T0101M3S800G0X50Z5#101=23.5(#100为X轴变量初时值23.5)#102=1.5(#102为x方向的步距值变量,设为1.5)#103=0While#101gt#103#101=#101-#102#104=[#101*#101\[22.09]](计算z变量)G01Z2F1(Z方向进给退回加工起点)G42X[2*#101]F0.2(X方向进给)G01Z[-[#104]+[0.52]
本文标题:宏程序实例与技巧
链接地址:https://www.777doc.com/doc-3203435 .html