1 / 28

数控编程技术

数控编程技术. 第七章. 主编 周平 吴有恩 副主编 冯新红 揭晓 金黎明. 第 7 章 数控宏程序. FANUC 0i 用户宏程序 FANUC 系统A类宏程序应用 FANUC 系统B类宏程序应用 SIEMENS 系统宏程序应用 华中世纪星数控系统宏程序应用. 第 7 章 数控宏程序. 7.1 FANUC 0i 用户宏程序. 7.1.1 用户宏功能.

elden
Download Presentation

数控编程技术

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 数控编程技术 第七章 主编 周平 吴有恩 副主编 冯新红 揭晓 金黎明

  2. 第7章 数控宏程序 FANUC 0i用户宏程序 FANUC系统A类宏程序应用 FANUC系统B类宏程序应用 SIEMENS系统宏程序应用 华中世纪星数控系统宏程序应用

  3. 第7章 数控宏程序 7.1 FANUC 0i用户宏程序 7.1.1 用户宏功能 • 在编程中,经常把能完成某一功能的一系列指令像子程序那样存入存储器,用一个总指令来代表它们,使用时只需要给出这个总指令就能执行其功能.所存入的一系列指令称作用户宏程序或用户宏功能主体,这个总指令称作用户宏功能指令. • 数控系统可以使用用户宏程序的功能称为用户宏功能. 7.1.2 FANUC 0i系统的用户宏程序 FANUC 0i系统提供两种用户宏程序,即用户宏程序功能A和用户宏程序功能B。用户宏程序功能A可以说是FANUC系统的标准配置功能,任何配置的FANUC系统都具备此功能,而用户宏程序功能B虽不是FANUC系统的标准配置功能,但大多数的FANUC系统也支持用户宏程序功能B。

  4. 第7章 数控宏程序 7.1 FANUC 0i用户宏程序 7.1.4 变量 • 变量用变量符号“#”和后面的变量号指定。例如:#12 • 表达式可以用于指定变量号,此时,表达式必须封闭在括号中。 • 例如:#[#1+#2-12] • 宏程序中变量的类型: • 局部变量:#1~#33 • 公共变量:#100~#149,#500~#509 • 系统变量:#1000~#5335

  5. 第7章 数控宏程序 7.2 FANUC系统A类宏程序应用 7.2.1 A类宏变量 FANUC 0i-MB系统的变量分为公共变量和系统变量两类。1)公共变量   公共变量是在主程序和主程序调用的各用户宏程序内公用的变量。也就是说,在一个宏指令中的#i与在另一个宏指令中的#i是相同的。 公共变量的序号为:#100~#131;#500~#531。其中#100~#131公共变量在电源断电后即清零,重新开机时被设置为“0”;#500~#531公共变量即使断电后,它们的值也保持不变,因此也称为保持型变量。 2)系统变量   系统变量定义为:有固定用途的变量,它的值决定系统的状态。系统变量包括刀具偏置变量,接口的输入/输出信号变量,位置信息变量等。  系统变量的序号与系统的某种状态有严格的对应关系。例如,刀具偏置变量序号为#01~#99,这些值可以用变量替换的方法加以改变,在序号1~99中,不用作刀偏量的变量可用作保持型公共变量#500~#531。  接口输入信号#1000~#1015,#1032。通过阅读这些系统变量,可以知道各输入口的情况。

  6. 第7章 数控宏程序 7.2 FANUC系统A类宏程序应用 7.2.2、宏指令G65宏指令G65可以实现丰富的宏功能,包括算术运算、逻辑运算等处理功能。  一般形式: G65 Hm P#i Q#j R#k式中: m--宏程序功能,数值范围01~99;#i--运算结果存放处的变量名;#j--被操作的第一个变量,也可以是一个常数;#k--被操作的第二个变量,也可以是一个常数。

  7. 第7章 数控宏程序 7.2 FANUC系统A类宏程序应用 7.2.3、宏功能指令 (1)算术运算指令(如下表)

  8. 第7章 数控宏程序 7.2 FANUC系统A类宏程序应用 7.2.3、宏功能指令 (2)逻辑运算指令(如下表) (3)三角函数指令(如下表)

  9. 第7章 数控宏程序 7.2 FANUC系统A类宏程序应用 7.2.3、宏功能指令 (4)控制类指令(如下表)

  10. 第7章 数控宏程序 7.2 FANUC系统A类宏程序应用 7.2.4、用户宏程序应用举例 例:用宏程序和子程序功能顺序加工圆周等分孔。设圆心在O点,它在机床坐标系中的坐标为(X0,Y0),在半径为r的圆周上均匀地钻几个等分孔,起始角度为α,孔数为n。以零件上表面为Z向零点。见右图 。 使用以下保持型变量:#502:半径r;#503:起始角度α;#504:孔数n,当n>0时,按逆时针方向加工,当n<0时,按顺时针方向加工;#505:孔底Z坐标值;#506:R平面Z坐标值;#507:F进给量。使用以下变量进行操作运算:#100:表示第i步钻第i孔的记数器;#101:记数器的最终值(为n 的绝对值);#102:第i个孔的角度位置θi的值;#103:第i个孔的X坐标值;#104:第i个孔的Y坐标值;

  11. 第7章 数控宏程序 用用户宏程序编制的钻孔子程序如下:O9010N110 G65 H01 P#100 Q0 //#100 = 0N120 G65 H22 P#101 Q#504//#101 = │#504│N130 G65 H04 P#102 Q#100 R360//#102 = #100 ×360oN140 G65 H05 P#102 Q#102 R#504 //#102 = #102 / #504N150 G65 H02 P#102 Q#503 R#102 //#102 = #503 + #102当前孔角度位置 θi =α+ (360o×i) / nN160 G65 H32 P#103 Q#502 R#102 //#103 = #502 ×COS(#102)当前孔的 X坐标N170 G65 H31 P#104 Q#502 R#102 //#104 = #502 ×SIN(#102) 当前孔的Y坐标N180 G90 G98 G81 X#103 Y#104 Z#505 R#506 F#507 //加工当前孔(返回开始平面)N190 G65 H02 P#100 Q#100 R1 //#100 = #100+1孔计数N200 G65 H84 P-130 Q#100 R#101 //当#100 < #101时,向上返回到130程序段N210 M99 //子程序结束 调用上述子程序的主程序如下:O0010N10 G54 G90 G00 X0 Y0 Z20 //进入加工坐标系N20 M98 P9010 //调用钻孔子程序,加工圆周等分孔N30 Z20 //抬刀N40 G00 G90 X0 Y0 //返回加工坐标系零点 N50 M30 程序结束设置G54:X=-400,Y=-100,Z=-50。变量#500~#507可在程序中赋值,也可由MDI方式设定。

  12. 第7章 数控宏程序 7.3 FANUC系统B类宏程序应用 • 7.3.1 基本指令 • 1、宏程序调用G65、G66 • 宏程序的非模态调用(G65) 宏程序的非模态调用是指在主程序中,宏程序可以被单个程序段单次调用。使用非模态代码G65,地址P指定的用户宏程序被调用。数据(自变量)能传递到用户宏程体中。调用指令格式: G65P(宏程序号) L(重复次数)(变量分配) 其中:G65――非模态宏程序调用指令P(宏程序号)――被调用的宏程序代号;L(重复次数)――宏程序重复运行的次数,重复次数为1时,可省略不写; (变量分配)――为宏程序中使用的变量赋值。 • 宏程序的模态调用(G66) G66指定宏程序模态调用,即执行沿移动轴移动的程序段后调用宏程序。数据(自变量)能传递到用户宏程体中。 调用指令格式: G66P(宏程序号) L(重复次数)(变量分配) 与子程序调用一样,宏程序调用包括非模态调用(G65)和模态调用(G66)都可以嵌套,一个宏程序可被另一个宏程序调用,最多可调用4重。宏程序嵌套时,局部变量也分别从0到4级嵌套,主程序是0级。

  13. 第7章 数控宏程序 7.3 FANUC系统B类宏程序应用 7.3.1 基本指令 2、变量的分配类型 使用自变量指定时,其值被赋值到相应的局部变量。所谓自变量,就是在由用户宏指令调出的宏程序本体中,可给所用变量赋予的实际值。 文字变量与数字序号变量之间的关系 上表中,文字变量为除G、L、N、O、P以外的英文字母,一般可不按字母顺序排列,但I、J、K例外;#1~#26为数字序号变量。例:G65 P1000 A1.0 B2.0I3.0则上述程序段为宏程序的非模态调用格式,其含义为:调用宏程序号为1000的宏程序运行一次,并为宏程序中的变量赋值,其中:#1为1.0,#2为2.0,#4为3.0。

  14. 第7章 数控宏程序 7.3 FANUC系统B类宏程序应用 B类宏程序的算术和逻辑运算

  15. 第7章 数控宏程序 7.3 FANUC系统B类宏程序应用 3、控制指令 控制指令可以控制用户宏程序的程序流程。 条件转移语句1 I F [ 条件表达式 ] GOTO n  当条件满足时,程序就跳转到同一程序 中语句标号为n的语句上继续执行  当条件不满足时,程序执行下一条语句 条件转移语句2 WHILE [ 条件表达式 ] DO m ... … END m 当条件满足时,从DO m到ENDm之间的程序就重复执行。    当条件不满足时,程序就执行ENDm下一条语句

  16. 第7章 数控宏程序 7.3 FANUC系统B类宏程序应用 3、控制指令 控制指令可以控制用户宏程序的程序流程。 条件转移语句1 I F [ 条件表达式 ] GOTO n  当条件满足时,程序就跳转到同一程序 中语句标号为n的语句上继续执行  当条件不满足时,程序执行下一条语句 条件转移语句2 WHILE [ 条件表达式 ] DO m ... … END m 当条件满足时,从DO m到ENDm之间的程序就重复执行。    当条件不满足时,程序就执行ENDm下一条语句

  17. 第7章 数控宏程序 7.3 FANUC系统B类宏程序应用 7.3.2 应用举例 椭圆的解析方程: 椭圆的参数方程: y b t x a

  18. 第7章 数控宏程序 7.3 FANUC系统B类宏程序应用 例1 椭圆程序 O0001 N2 #100=1 角度步长 N4 #101=0 初始角度 N6 #102=361 终止角度 N8 #103=45 长半轴 N10 #104=25 短半轴 N12 #105=-10.0 深度 N13 G90G00X[#103+20]Y0Z100.0 刀具运行到(65,0,100)的位置 N14 S1000M03 N15 G01Z[#105]F1000.0 刀具下到-10mm N16 #114=#101 赋初始值 N18 #112=#103*COS[#114] 计算X坐标值 N20 #113=#104*SIN[#114] 计算Y坐标值 N22 G01G42X[ROUND[#112]]Y[ROUND[#113]]D02F500.0 走到第一点,并运行一个步长 N24 #114=#114+#100 变量#114增加一个角度步长 N26 IF[#114LT#102]GOTO18 条件判断#114是否小于361,满足则返回18 N28 G01G40X[#103+20]Y0 取消刀具补偿,回到(65,0) N30 G90G00Z100.0M05 快速抬刀 N32 M30 程序结束

  19. 第7章 数控宏程序 7.3 FANUC系统B类宏程序应用 例2:以下图零件为例在车床上加工。该系列零件的右端面半球球径可取R15和R10,可将球径用变量表示。编程零件设在工件右端面中心,棒料Φ45。 从图中可以看出,编程所需节点,除A、D、E三点外,B、C点均与球径R有关。下面给出各节点坐标。

  20. 第7章 数控宏程序 7.3 FANUC系统B类宏程序应用 加工程序如下: O1001 T0101; G54 G90 G0 G95 M03 S800; X45 Z2 M07; #1=15; G71 U7 R1; G71 P10 Q20 U1 W0.2 F0.4 S750; N10 G0 X0 S1200; G3 X[2*#1] Z-#1 R#1 F0.15; G1 Z[-20-2*#1]; X40 Z-60; Z-100; N20 X45; G70 P10 Q20; G0 X200 Z200; M30;

  21. 第7章 数控宏程序 7.4 SIEMENS系统宏程序应用 7.4.1计算参数 SIEMENS系统宏程序应用的计算参数如下: R0~R99----可自由使用; R100~R249----加工循环传递参数(如程序中没有使用加工循环,这部分参数可自由使用); R250~R299----加工循环内部计算参数(如程序中没有使用加工循环,这部分参数可自由使用)。 7.4.2 赋值方式 为程序的地址字赋值时,在地址字之后应使用“=”,N、G、L除外。 7.4.3 控制指令 控制指令主要有: IF 条件 GOTOF 标号IF 条件 GOTOB 标号 说明: IF----如果满足条件,跳转到标号处;如果不满足条件,执行下一条指令; GOTOF----向前跳转; GOTOB----向后跳转; 标号----目标程序段的标记符。

  22. 第7章 数控宏程序 7.4 SIEMENS系统宏程序应用 7.4.4 应用举例 例:采用Φ20R4铣刀加工SR30的球,已知球心坐标为 (X0,Y0,Z-5.) 分析: 铣球程序一般采用自动编程来实现,但是,利用宏程序强大的功能同样也可以实现,而且程序更加简洁。 编程思路: 铣球可以认为是多个铣圆的组合。 排刀分布: 有两种方案,一是按Z向分布,二是按圆心角分布。从保证表面质量来看,最佳方案为按圆心角分布。

  23. 第7章 数控宏程序 7.4 SIEMENS系统宏程序应用 7.4.4 应用举例 计算: 圆弧起点计算,从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) 变量定义: R1为圆心角,范围由(15.349,90) R2为刀尖中心X值,=34*COS[#1]+6 R3为刀尖中心Z值,=34*SIN[#1]-5-4

  24. 第7章 数控宏程序 7.4 SIEMENS系统宏程序应用 7.4.4 应用举例 加工程序: M03S3000; G00G90G54Z100.; R1=15.349 X50.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 LABEL G00Z100.; M30;

  25. 第7章 数控宏程序 7.5 华中世纪星数控系统宏程序应用程序应用 7.5.1 宏变量及常量 (1)宏变量 1)公共变量:分为全局变量和局部变量。 #0~#49 当前局部变量 #50~#199 全局变量 #200~#249 0 层局部变量 #250~#299 1 层局部变量 #300~#349 2 层局部变量 #350~#399 3 层局部变量 #400~#449 4 层局部变量 #450~#499 5 层局部变量 #500~#549 6 层局部变量 #550~#599 7 层局部变量 华中数控系统可以子程序嵌套调用,调用的深度最多可以有九层。每一层子程序都有自己独立的局部变量,变量个数为50。如当前局部变量为#0~#49;第一层局部变量为#200~#249;第二层局部变量为#250~#299;依此类推。 2)系统变量:为有固定用途的变量,它的值决定系统的状态。 (2) 常量 PI: 圆周率π TRUE: 条件成立(真) FALSE: 条件不成立(假)

  26. 第7章 数控宏程序 7.5 华中世纪星数控系统宏程序应用程序应用 7.5.2 运算符与表达式 (1) 算术运算符 +, -, *, / (2) 条件运算符 EQ(=), NE(≠),GT(>) GE(≥), LT(<), LE(≤) (3) 逻辑运算符 AND, OR, NOT (4) 函数 SIN(正弦), COS(余弦), TAN(正切), ATAN(反正切) ABS(绝对值), INT(取整), SIGN(取符号), SQRT(平方根), EXP(指数) (5) 表达式 用运算符连接起来的常数宏变量构成表达式。 7.5.3 赋值语句 格式:宏变量=常数或表达式

  27. 第7章 数控宏程序 7.5 华中世纪星数控系统宏程序应用程序应用 7.5.4 条件判别语句IF, ELSE, ENDIF 格式:(i) IF 条件表达式 …条件成立(真) ELSE …条件不成立(假) ENDIF 格式:(ii) IF 条件表达式 …条件成立(真) ENDIF 指令说明:条件成立时,执行IF和ELSE间的程序或IF和ENDIF间的程序。条件不成立,执行ELSE和ENDIF间的程序或ENDIF后的程序段。 7.5.5 循环语句WHILE,ENDW 格式: WIIILE 条件表达式 …条件成立(真) ENDW 指令说明:条件成立时,执行WHILE和ENDW间的程序。条件不成立,执行ENDW的下一个程序段。

  28. 谢谢观看! 撰稿教师:周平

More Related