资源预览内容
第1页 / 共64页
第2页 / 共64页
第3页 / 共64页
第4页 / 共64页
第5页 / 共64页
第6页 / 共64页
第7页 / 共64页
第8页 / 共64页
第9页 / 共64页
第10页 / 共64页
亲,该文档总共64页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
数控加工中宏程序的编制方法数控加工中宏程序的编制方法FANUC宏程序简介 在数控编程中,宏程序编程灵活、高效、快捷。宏程序不仅可以实现象子程序那样,对编制相同加工操作的程序非常有用,还可以完成子程序无法实现的特殊功能,例如,型腔加工宏程序、固定加工循环宏程序、球面加工宏程序、锥面加工宏程序等。 数控加工中宏程序的编制方法FANUC宏程序特殊用法 宏程序还可以实现系统参数的控制,如,坐标系的读写、刀具偏置的读写、时间信息的读写、倍率开关的控制等。 数控加工中宏程序的编制方法SIEMENS参数编程 与FANUC类似,但功能要弱一些。变量以“R”开始,如:R0、R1、R99。不包含系统变量,系统变量以 “$”开头。数控加工中宏程序的编制方法FANUC宏程序的构成 1) 包含变量2) 包含算术或逻辑运算(=)的程序段3) 包含控制语句(例如:GOTO,DO ,END)的程序段4) 包含宏程序调用指令(G65,G66, G67或其他G代码,M代码调用宏程 序)的程序段数控加工中宏程序的编制方法FANUC宏程序的变量 FANUC数控系统变量表示形式为# 后跟14位数字,变量种类有四种:变量号变量类型功能#0空变量该变量总是空, 没有任何值能赋给该变量数控加工中宏程序的编制方法FANUC宏程序的变量 变量号变量类型功能#1#33局部变量局部变量只能用在宏程序中存储数据,例如运算结果。当断电时局部变量被初始化为空,调用宏程序时自变量对局部变量赋值。数控加工中宏程序的编制方法FANUC宏程序的变量 变量号变量类型功能#100#199#500#999公共变量 公共变量在不同的宏程序中的意义相同当断电时变量#100 #199初始化为空变量 #500 #999 的数据保存即使断电也不丢失数控加工中宏程序的编制方法FANUC宏程序的变量 变量号变量类型功能#1000系统变量 系统变量用于读和写CNC 运行时各种数据的变化例如刀具的当前位置和补偿值等数控加工中宏程序的编制方法刀具补偿存储器C的系统变量当偏置组数小于等于200时,也可以用#2001#2400补偿号 刀具长度补偿(H) 刀具半径补偿(D) 几何补偿磨损补偿几何补偿磨损补偿123:200:400 #11001(#2201)#11002(#2202)#11003(#2203):#11200(#2400):#11400 #10001(#2001)#10002(#2002)#10003(#2003):#10200(#2200):#11400#13001#13002#13003:#13200:#13400#12001#12002#12003:#12200:#12400数控加工中宏程序的编制方法刀具补偿存储器C用G10指令进行设定P:刀具补偿号R:绝对值指令(G90)方式时的刀具补偿值。增量值指令(G91)方式时的刀具补偿值为该值与指定的刀具补偿号的值相加。H代码的几何补偿值G10L10P R ;D代码的几何补偿值G10L12P R ;H代码的磨损补偿值G10L11P R ;D代码的磨损补偿值G10L13P R ;数控加工中宏程序的编制方法自动运行控制的系统变量#3003单程序段辅助功能的完成0有效等待1无效等待2有效不等待3无效不等待数控加工中宏程序的编制方法自动运行控制的系统变量#3004进给暂停进给速度倍率准确停止0有效有效有效1无效有效有效2有效无效有效3无效无效有效4有效有效无效5无效有效无效6有效无效无效7无效无效无效数控加工中宏程序的编制方法攻丝加工循环数控加工中宏程序的编制方法工件原点偏移值的系统变量#5201:#5204第1轴外部工件零点偏移值:第4轴外部工件零点偏移值 #5221 :#5224第1轴G54工件零点偏移值:第4轴G54工件零点偏移值 #5241 :#5244第1轴G55工件零点偏移值:第4轴G55工件零点偏移值 数控加工中宏程序的编制方法工件原点偏移值的系统变量#5261:#5264 第1轴G56工件零点偏移值:第4轴G56工件零点偏移值#5281 :#5284第1轴G57工件零点偏移值:第4轴G57工件零点偏移值 #5301 :#5304第1轴G58工件零点偏移值:第4轴G58工件零点偏移值 数控加工中宏程序的编制方法工件原点偏移值的系统变量#5321:#5324 第1轴G59工件零点偏移值:第4轴G59工件零点偏移值#7001 :#7004第1轴工件零点偏移值(G54.1P1):第4轴工件零点偏移值(G54.1P1) #7021 :#7024第1轴工件零点偏移值(G54.1P2):第4轴工件零点偏移值(G54.1P2) 数控加工中宏程序的编制方法工件原点偏移值的系统变量#7041 :#7044第1轴工件零点偏移值(G54.1P3):第4轴工件零点偏移值(G54.1P3) #7061 :#7064第1轴工件零点偏移值(G54.1P4):第4轴工件零点偏移值(G54.1P4) #7941 :#7944第1轴工件零点偏移值(G54.1P48):第4轴工件零点偏移值(G54.1P48) 数控加工中宏程序的编制方法工件原点偏移值的系统变量轴功能变量号第一轴 外部工件零点偏移#2500#5201G54工件零点偏移#2501#5221G55工件零点偏移#2502#5241G56工件零点偏移#2503#5261G57工件零点偏移#2504#5281G58工件零点偏移#2505#5301G59工件零点偏移 #2506#5321 数控加工中宏程序的编制方法工件原点偏移值的系统变量轴功能变量号第二轴 外部工件零点偏移#2600#5202G54工件零点偏移#2601#5222G55工件零点偏移#2602#5242G56工件零点偏移#2603#5262G57工件零点偏移#2604#5282G58工件零点偏移#2605#5302G59工件零点偏移 #2606#5322 数控加工中宏程序的编制方法工件原点偏移值的系统变量轴功能变量号第三轴 外部工件零点偏移#2700#5203G54工件零点偏移#2701#5223G55工件零点偏移#2702#5243G56工件零点偏移#2703#5263G57工件零点偏移#2704#5283G58工件零点偏移#2705#5303G59工件零点偏移 #2706#5323 数控加工中宏程序的编制方法工件原点偏移值的系统变量轴功能变量号第四轴 外部工件零点偏移#2800#5204G54工件零点偏移#2801#5224G55工件零点偏移#2802#5244G56工件零点偏移#2803#5264G57工件零点偏移#2804#5284G58工件零点偏移#2805#5304G59工件零点偏移 #2806#5324 数控加工中宏程序的编制方法用G10改变工件坐标系零点偏移值 格式:G10L2PpIP ;P=0:外部工件零点偏移值P=1:工件坐标系G54的零点偏移值P=2:工件坐标系G55的零点偏移值P=3:工件坐标系G56的零点偏移值P=4:工件坐标系G57的零点偏移值P=5:工件坐标系G58的零点偏移值P=6:工件坐标系G59的零点偏移值IP: 对于绝对值指令(G90),为每个轴的工件零点偏移值。对于增量值指令(G91),为每个轴加到设定的工件零点偏移值。数控加工中宏程序的编制方法FANUC宏程序运算符功能格式备注定义#i=#j加法#i=#j+#k减法#i =#j- #k乘法#i =#j*#k除法#i=#j/#k数控加工中宏程序的编制方法FANUC宏程序运算符功能格式备注正弦#i=SIN#j角度以度指定,如9030表示为90.5度 反正弦#i=ASIN#j余弦#i=COS#j反余弦#i=ACOS#j正切#i=TAN#j反正切 #i=ATAN#j 数控加工中宏程序的编制方法FANUC宏程序运算符功能格式备注平方根#i=SQRT#j绝对值#i=ABS#j舍入#i=ROUND#j上取整#i=FIX#j下取整#i=FUP#j自然对数#i=LN#j指数函数 #i=EXP#j 数控加工中宏程序的编制方法FANUC宏程序运算符功能格式备注或#i=#j OR #k逻辑运算一位一位的按二进制数执行 异或#i=#j XOR #k与 #i=#j AND #k 从BCD转为BIN#i=BIN#j用于与PMC的信号交换 从BIN转为BCD #i=BCD#j 数控加工中宏程序的编制方法FANUC宏程序的转移和循环 无条件转移:GOTOn (n为顺序号,199999)例:GOTO10为转移到N10程序段 数控加工中宏程序的编制方法FANUC宏程序的转移和循环 条件转移:(IF语句)IF 条件表达式 GOTOn 当指定的条件表达式满足时,转移到标有顺序号n的程序段,如果指定的条件表达式不满足时,执行下个程序段数控加工中宏程序的编制方法FANUC宏程序的转移和循环 条件转移:(IF语句)IF 条件表达式 GOTOn 数控加工中宏程序的编制方法FANUC宏程序的转移和循环 IF 条件表达式 THEN当指定的条件表达式满足时,执行预先决定的宏程序语句。例:IF #1EQ #2 THEN #3=0;数控加工中宏程序的编制方法FANUC宏程序循环WHILE 条件表达式 Dom; (m=1,2,3) 注:循环允许嵌套,最多3层,但不允许交叉;条件不满足条件满足 ENDm数控加工中宏程序的编制方法FANUC宏程序循环 数控加工中宏程序的编制方法FANUC宏程序循环 数控加工中宏程序的编制方法FANUC宏程序循环 数控加工中宏程序的编制方法FANUC宏程序的条件表达式运算符 运算符含义EQ等于NE不等于GT大于GE大于或等于LT小于LE小于或等于数控加工中宏程序的编制方法FANUC宏程序的调用非模态调用G65:格式: G65PpLl其中 p:要调用的程序号 L:调用次数(默认为1) 自变量:数据传递到宏程序数控加工中宏程序的编制方法FANUC宏程序的调用模态调用(G66):G66PpLl;程序点G67;(取消模态)其中 p:要调用的程序号 L:调用次数(默认为1) 自变量:数据传递到宏程序数控加工中宏程序的编制方法FANUC宏程序的调用数控加工中宏程序的编制方法FANUC宏程序的调用自变量指定数控加工中宏程序的编制方法FANUC宏程序的G代码调用程序号参数号O90106050O90116051O90126052O90136053O90146054O90156055O90166056O90176057O90186058O90196059数控加工中宏程序的编制方法FANUC宏程序的G代码调用数控加工中宏程序的编制方法FANUC宏程序的M代码调用程序号参数号O90206080O90216081O90226082O90236083O90246084O90256085O90266086O90276087O90286088O90296089数控加工中宏程序的编制方法FANUC宏程序中刀具半径补偿 数控加工中宏程序的编制方法SIEMENS参数编程 格式:Rn (n的缺省取值范围为0-99)例如:R1 R2 R99数控加工中宏程序的编制方法SIEMENS参数编程中的数学运算符 数控加工中宏程序的编制方法SIEMENS参数编程中的数学运算符 数控加工中宏程序的编制方法SIEMENS参数编程中的比较或逻辑运算符 数控加工中宏程序的编制方法SIEMENS参数编程示例 数控加工中宏程序的编制方法SIEMENS参数编程程序跳转 无条件跳转GOTOB LABEL (向后跳转,向程序头跳转)GOTOF LABEL (向前跳转,向程序尾跳转)LABEL 为程序段标示数控加工中宏程序的编制方法SIEMENS参数编程程序跳转 条件跳转 IF 表达式 GOTOB LABEL (向后跳转,向程序头跳转) IF 表达式 GOTOF LABEL(向前跳转,向程序尾跳转)LABEL 为程序段标示数控加工中宏程序的编制方法SIEMENS参数编程程序跳转 IF R1R2 GOTOF MARKE1如果R1大于R2,那么跳跃到MARKE1 R7=(R8+R9)*743 GOTOB MARKE1 作为条件的复合表达式IF R10 GOTOF MARK1允许确定一个变量(INT,REAL,BOOL或CHAR)。如果变量值为0(=FALSE),条件就不能满足;对于所有其他值,条件为TRUE IF R1=0 GOTOF MARKE1 IF R1=1 GOTOF MARKE2 同一程序段中的几个条件 数控加工中宏程序的编制方法宏程序示例 采用20R4铣刀加工SR30的球,已知球心坐标为(X0Y0Z-5.)数控加工中宏程序的编制方法宏程序示例 数控加工中宏程序的编制方法宏程序示例 分析:铣球程序一般采用自动编程来实现,但是,利用宏程序强大的功能同样也可以实现,而且程序更加简洁。编程思路:铣球可以认为是多个铣圆的组合。排刀分布:有两种方案,一是按Z向分布,二是按圆心角分布。从保证表面质量来看,最佳方案为按圆心角分布。数控加工中宏程序的编制方法宏程序示例 圆弧起点计算,从X正向开始起刀。刀具根部R4的圆心在XZ平面的运动轨迹为与R30等距的圆R34(见图示中红色轨迹),刀尖点上4mm处的轨迹(即褐色轨迹)为红色轨迹沿X正向平移6毫米,刀尖点坐标为褐色轨迹沿Z轴向下平移4mm(即绿色轨迹)。起始角度=ARCSIN(5+4)/34)=15.349起始位置X值=34*COS(15.349)+6=38.787起始位置Z值=0 (通用表达式=34*sin(15.349)-5-4)数控加工中宏程序的编制方法宏程序示例 变量定义: #1为圆心角,范围由(15.349,90) #2为刀尖中心X值,=34*COS#1+6 #3为刀尖中心Z值,=34*SIN#1-5-4数控加工中宏程序的编制方法宏程序示例 FANUCSIEMENSM03S3000;G00G90G54Z100.;#1=15.349X50.Y0;Z10.;WHILE#1 LE 90 DO1;#2=34*COS#1+6;#3=34*SIN#1-5-4;G01Z#3F900;X#2;G02X#2Y0I-#2J0;#1=#1+1;END1;G00Z100.;M30;M03S3000;G00G90G54Z100.;R1=15.349X50.Y0;Z10.;LABEL:R2=34*COS(R1)+6;R3=34*SIN(R1)-5-4;G01Z=R3F900;X=R2;G02X=R2Y0I=-R2J0;R1=R1+1;IF R1=90 GOTOB LABELG00Z100.;M30;数控加工中宏程序的编制方法宏程序示例 用20R10铣刀加工轮廓处R5圆角 数控加工中宏程序的编制方法宏程序示例 G00X2.5Y26.664G01G41D01X-8.991Y2.023G03X2.5Y-3.336I11.491J9.641X32.969Y-.208I0.J150.G02X44.955Y-10.952I2.031J-9.792G03Y-49.048I199.09J-19.048G02X33.452Y-59.88I-9.955J-.952G03X-28.452I-30.952J-197.59G02X-39.922Y-48.75I-1.548J9.88G03Y-11.25I-148.823J18.75G02X-27.969Y-.208I9.922J1.25G03X2.5Y-3.336I30.469J146.872X13.991Y2.023I0.J15.G40G01X2.5Y26.664下面为铣外形的一段程序,采用刀具半径补偿数控加工中宏程序的编制方法宏程序示例 编程思路:利用G10指令修改刀具半径偏置值来实现倒圆角。G10格式为G10L12P1R ,其中,P1表示修改D01,R后为刀具半径偏置值。设定倒角的圆心角为变量#1,取值范围为0-90设定#2为刀具半径偏置值,取值=COS#1*15-5设定#3为Z值,取值=SIN#1*5+10-5-10数控加工中宏程序的编制方法宏程序示例 M03S3000G00G90G54Z100.#1=0X2.5Y26.64Z5.WHILE #1 LE 90 DO1#2= COS#1*15-5#3= SIN#1*5+10-5-10G10L12P1R#2G01Z#3F900G00X2.5Y26.664G01G41D01X-8.991Y2.023G03X2.5Y-3.336I11.491J9.641X32.969Y-.208I0.J150.G02X44.955Y-10.952I2.031J-9.792G03Y-49.048I199.09J-19.048G02X33.452Y-59.88I-9.955J-.952G03X-28.452I-30.952J-197.59G02X-39.922Y-48.75I-1.548J9.88G03Y-11.25I-148.823J18.75G02X-27.969Y-.208I9.922J1.25G03X2.5Y-3.336I30.469J146.872X13.991Y2.023I0.J15.G40G01X2.5Y26.664#1=#1+5END1G00Z100.M30数控加工中宏程序的编制方法宏程序示例(铣圆) #1=圆心坐标X值#2=圆心坐标Y值#3=园孔最终Z值#4=圆孔直径#5=刀具直径#6=#4+#5/4 (进刀半径)#7=#3+50 (进刀高度)#8=#1+#4/2-#6(进刀圆弧起点X值)#9=#2-#6 (进刀圆弧起点Y值)#10=#1+#4/2 (铣圆起点X值)#11=-#4/2 (I矢量)#12=#2+#6(退刀圆弧Y值)M03S1000G00G90G54G43H01Z100.X#1Y#2Z#7 G01Z#3 F100G41D02X#8Y#9G03X#10Y#2R#6G03X#10Y#2I#11J0G03X#8Y#12R#6G01G40X#1Y#2G00Z100.M30数控加工中宏程序的编制方法宏程序示例(铣球) #1=球心坐标X值#2=球心坐标Y值#3=球孔最终Z值#4=球的半径#5=球的高度#6=Z向排刀增量#7=刀具直径#8=刀具圆角#9=#4+#5/2+2#10=0M03S1000G00G90G54G43H01Z100.G00X#9Y#2Z50.N20 G01Z#10F100#12=#4+#8*#4+#8#13=#10-#3+#8*#10-#3+#8#11=SQRT#12-#13+#7/2-#8G01X#1+#11Y#2G03I-#11J0#10=#10+#6IF #10 LE #5 GOTO 20G00Z100.M30数控加工中宏程序的编制方法
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号