1加工中心(MC)编程21.综合加工技术1.1用户宏指令编程宏指令编程是指像高级语言一样,可以使用变量进行算术运算(+、-、*、/)、逻辑运算(AND、OR、NOT)和函数(SIN、COS等)混合运算的程序编写形式。在宏程序形式中,一般都提供循环、判断、分支和子程序调用的方法,可用于编制各种复杂的零件加工程序。当不具备自动编程辅助手段,数控系统的指令功能有限,但却提供宏程序功能时,熟练应用宏程序指令进行编程,可以显著地增强机床的加工能力,同时可精简程序量。3各种数控系统的宏程序格式和用法均有所不同。FANUC-3MA数控系统是使用#100、#101...等来规定变量名,用G65指令按一定的格式来设置变量和赋值。HCNC-1M数控系统也是使用#0、#1、...、#1199等作变量名,直接用#1=...、#2=...等形式设定变量和赋值。在一个程序中,宏指令和NC系统指令可混合使用,主、子程序的调用关系基本上还是和前面介绍的一样,用M98、M99指令进行。4表1FANUC-3MA系统的宏指令功能定义H代码功能定义H代码功能定义H01H02H03H04H05H11H12H13赋值、置换加法减法乘法除法逻辑或逻辑与逻辑异或#i=#j#i=#j+#k#i=#j-#k#i=#j×#k#i=#j#k#i=#j.OR.#k#i=#j.AND.#k#i=#j.XOR.#kH31H32H33H34正弦余弦正切反正切#i=#j*SIN(#k)#i=#j*COS(#k)#i=#j*TAN(#k)#i=ATAN(#j/#k)H21H22H23H24H25H26H27平方根绝对值取余数十—二进制二—十进制复合乘法复合平方根#i=#j#I=|#j|#i=#j-trunc(#j/#k)x#ktrunc()取整,小数部分舍去#i=BIN(#j)#i=BCD(#j)#i=(#Ix#j)#k#i=#j2+#k2H80H81H82H83H84H85H86H99无条件转移条件转移1条件转移2条件转移3条件转移4条件转移5条件转移6产生P/S错误GOTOnIF#j=#k,GOTOnIF#j#k,GOTOnIF#j#k,GOTOnIF#j#k,GOTOnIF#j≥#k,GOTOnIF#j≤#k,GOTOn产生P/S错误500+n5表2HCNC-1M系统的宏指令主要使用规范主要函数比较符条件判断语句格式循环语句格式SIN—正弦COS—余弦TAN—正切ATAN—反正切ABS—求绝对值INT—取整SIGN—取符号SQRT—求平方根EXP—指数函数=—EQ—NE>—GT≥—GE<—LT≤—LEIF条件表达式...(满足条件时执行的程序行)ELSE...(不满足条件时执行的程序行)...ENDIFWHILE条件表达式...(满足条件时执行的程序行)...ENDW6T-600M与HCNC-1M数控系统的宏指令基本上就和高级语言(如FOXBASE、BASIC等)一样直接采用数学表达式的形式,比较直观、容易理解。例如,在HCNC-1M系统中可直接使用如下表达式进行赋值:#2=175/SQRT[2]*COS[55*PI/180]#3=150.0等。在图4-27所示零件上需要钻6个均匀分布的孔,而且孔口要刮平。分别采用FANUC-3MA、HCNC-1M、T-600M系统宏指令编程,变量定义见表4-8。7图4-27宏指令编程图例共个孔第个孔φ200rn(Xo,Yo)XYO(X,Y)iiiirCos()X=X+iOY=Y+iOrSin()iii360in=+Y(Xi,Yi)(X0,Y0)OX共n个孔ri200)sin(rYY)cos(rXXni360ii0ii0ii个孔第+++===8表3宏变量定义变量名变量定义HCNC-1MFANUC-3MAT-600M圆形坯料圆心点的X坐标X0圆形坯料圆心点的Y坐标Y0半径(r)初始角(α)#50#51#52#53#500#501#502#503V50V51V52V53全局变量总孔数(n),逆+顺?#54#504V54执行过程中,计数指示加工的第i个孔计数器的终值(|n|=imax)圆周上第i个孔的角度(i)第i个孔的X坐标值(Xi)第i个孔的Y坐标值(Yi)#0#1#2#3#4#100#101#102#103#104V10V11V12V13V14局部变量9先来看个例子10变量普通加工程序直接用数值指定G代码和移动距离,例如:G01和X100.0使用用户宏程序时数值可以直接指定或用变量指定,当用变量时变量值可用程序或用MDI面板上的操作改变。例如:#1=#2+100;G01X#1F300;11变量的表示计算机允许使用变量名,而用户宏程序则不行。用户宏程序变量用变量符号:#和后面的变量号指定。例如:#1表达式:表达式可以用于指定变量号。此时,表达式必须封闭在括号中。例如:#[#1+#2-12]12变量的类型变量根据变量号可以分成4种类型13变量值的范围局部变量和公共变量可以有0值,或下面范围中的值-10E47到-10E-29或10E-29到10E47如果计算结果超出有效范围则发出P/S报警No.11114小数点的省略当在程序中定义变量值时,小数点可以省略.例:当定义#1=123,变量#1的实际值是123.00015变量的引用为在程序中使用变量值,指定后跟变量号的地址。当用表达式指定变量时,要把表达式放在括号中。例如:G01X[#1+#2]F#3被引用变量的值根据地址的最小设定单位自动地舍入。例如:当G00X#1;以0.001mm的单位执行时,若#1=12.3456,则实际指令值为G00X12.346;改变引用变量的值的符号要把负号放在#的前面例如:G00X-#1当引用未定义的变量时,变量及地址字都被忽略。例如:当变量#1的值是0,并且变量#2的值是空时,G00X#1Y#2;的执行结果为G00X0;16变量值的显示17限制程序号,顺序号和任选程序段跳转号不能使用变量。例:下面情况不能使用变量O#1/#2G00X100.0;N#3Y200.0;18算术和逻辑运算19续表:算术和逻辑运算20角度单位函数SIN,COS,ASIN,ACOS,TAN和ATAN的角度单位是度如:90°30ˊ表示为90.5(度)21宏程序语句和NC语句下面的程序段为宏程序语句:包含算术或逻辑运算(=)的程序段包含控制语句(例如GOTO,DO,END)的程序段包含宏程序调用指(令例如用G65,G66,G67)或其它G代码M代码调用宏程序的程序段除了宏程序语句以外的任何程序段都为NC语句22转移和循环在程序中使用GOTO语句和IF语句可以改变控制的流向有三种转移和循环操作可供使用23无条件转移(GOTO语句)GOTOn;(n:顺序号,范围:1到99999)含义:转移到标有顺序号n的程序段。例:GOTO1;GOTO#10;24条件转移(IF语句)IF[条件表达式式]GOTOn;如果指定的条件表达式满足时,转移到标有顺序号n的程序段;如果指定的条件表达式不满足,则执行下个程序段。例如:25IF[条件表达式]THEN如果条件表达式满足,执行预先决定的宏程序语句,只执行一个宏程序语句。条件表达式必须包括算符。算符插在两个变量中间或变量和常数中间,并且用括号[]封闭。表达式可以替代变量。例如:26运算符运算符由2个字母组成,用于两个值的比较以决定它们是相等,还是一个值小于或大于另一个值。注意,不能使用不等号。27典型程序下面的程序计算数值1~10的总和O9500#1=0;(存储和数变量的初值)#2=1;(被加数变量的初值)N1IF[#2GT10]GOTO2;(当被加数大于10时转移到N2)#1=#1+#2;(计算和数)#2=#2+1;(下一个被加数)GOTO1;(转到N1)N2M30;(程序结束)28循环环(WHILE语句)在WHILE后指定一个条件表达式。当指定条件满足时,执行从DO到END之间的程序;否则转到END后的程序段。29嵌套3031说明无限循环——当指定DO,而没有指定WHILE语句时,产生从DO到END的无限循环。处理时间——当在GOTO语句中有标号转移的语句时,进行顺序号检索反向检索的时间要比正向检索长,用WHILE语句实现循环可减少处理时间。未定义的变量——在使用EQ或NE的条件表达式中空和零有不同的效果。在其它形式的条件表达式中空被当作零。32典型程序下面的程序计算数值1到10的总和33宏程序调用非模态调用(G65)模态调用(G66,G67)用G代码调用宏程序用M代码调用宏程序用M代码调用子程序用T代码调用子程序34非模态调用(G65)3536模态调用(G66)一旦发出G66则指定模态调用,即指定沿移动轴移动的程序段后调用宏程序。G67取消模态调用37例1圆台倒圆角38O1061(整圆倒圆角程序,已验证。Z向刀心编程,XY轮廓编程,补刀r)#4=4.(指形刀球头半径r)#5=5.(需倒圆角半径R)#8=0(刀心与圆角中心Y向的距离)#9=30.(#6处的轮廓半径,#6=0时,#9=30)G54G90G17G40G21G80G0X0Y0;G1Z20.F3000;X40.M8;G1Z-5.M03S2000;#6=0(刀心与圆角中心连线与+X夹角,初值为0);WHILE[#6LE90.]DO1;#8=9.*SIN[#6];G90G1Z[#8-5.];#10=9.*COS[#6]-5.;G90G10L12P2R[#10];G1Y0;G42X30.D02;G3I-30.;#6=#6+2.;G91G40G1X8.;G90;END1;G90G0Z20.M9;X0Y0M30;39例2数量材料审核凸轮制图深圳市技能考核第七鉴定所图号比例451技术要求1.只铣凸轮台2.100×100外形可不铣其余6.340(1)确定工艺方案及工艺路线这里讲的工艺方案及工艺路线,不涉及数控机床加工以外的工艺方案及路线,仅确定在数控机床上的加工工艺方案及路线。选择加工物的底面作为安装基准,将其安装在夹具上。见图:41技术要求.未注尺寸公差按照-m。2.允许周边铣一四方台至98x98mm,高10mm和铣平顶面,以方便测量。3.送检前应去毛刺和清理干净。4.材料:正火,HB170其余比例审图校核制图凸轮材料黄海黄海黄海42工作台43技术要求.未注尺寸公差按照-m。2.允许周边铣一四方台至98x98mm,高10mm和铣平顶面,以方便测量。3.送检前应去毛刺和清理干净。4.材料:正火,HB170其余比例审图校核制图凸轮材料黄海黄海黄海44O1234;(粗加工主程序)N10G90G17G92X0Y0Z10.;N15G01X0Y-75.S1000M03;N20Z-5.M08;N30#1=06;(D06=35,D05=30,D04=25,D03=20,D02=15,D01=10)N40M98P1000L6;N50G90G00Z10.;N60G01G40X0Y0D#1M30;零件加工程序45O1000;(粗加工子程序,d=10.mm)G90G42G01Y-45.F100D#1;G03X11.180Y-40.R15.;G01X26.087Y-23.333;G03(X26.087)Y23.333R35.;G01X11.180Y40.;G03X0Y45.R15.;G03X0Y-45.R45.;G91G40G01Y5.;#1=#1-1;M99;46O1234;(精加工主程序)N10G90G17G92X0Y0Z10.;N15G01X-65.Y-45.F1000M03;N20Z-5M08;N30#1=1;N40M98P1000;N50G90G01Z10.F1000;N60G01X0Y0M30;47O1000;(