1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,.,*,2.4 数控系统指令代码6,二.宏编程及其技术应用,椭圆,.,椭圆方程,.,椭圆拟合算法,.,用户宏程序,.,1.宏编程概念,宏程序:含有,变量,的程序。,宏程序的最大特点:,以,FANUC 0i,数控系统为例介绍宏指令编程,.,宏程序调用示例,.,1.宏编程概念,宏程序类型:,A,、,B,。,B类程序符号直观好记,FANUC 0系列只有A,需用H指令,.,使用方法与子程序类似,区别是在宏程序主体中,除了使用通常的CNC指令外,还可以使用变量的CNC指令,进行变量运算,宏指令可以给变量设定实际值。,2.
2、用户宏程序A,.,变量,1)变量的概念:变量用和后面的数字表示,其格式为:i(i=1,2,3),2)变量的引用:变量可以代替宏程序中地址后面的数值。,例:F103,G00 Z100,G130,,.,3)变量,共四种:空变量、局部变量、公共变量和系统变量,空变量:0 没有值能赋给该变量;,局部变量:133,只能用于宏程序中存储数据,断电时初始化为空。,公共变量(100149 断电时初始化为空;,(,500531,断电不丢失),.,系统变量:,刀具偏移(199、20002200),接口输入信号(10001015、1032),接口输出信号(11001115、1132、1133),计时信息(3011、
3、3012),需要零件计数和加工零件计数信息(3901、3902),模态信息(40014120),位置信息(50015083),.,4)运算指令和转移指令(G65),格式:G65 Hm Pi Qj Rk;,其中:m=0199,Hm表示运算指令和转移指令的功能;,i:运算结果的变量名;,j,k:,被运算的变量名,可以定为常量;,例:G65 H01 P#100 Q0;#100=0,G65 H02 P#100 Q#101 R#102;#100=#101+#102,G65 H84 P2000 Q#100 R#101;,#100#101时,转移到N2000程序段,.,G代码,H代码,功 能,定 义,G65
4、H01,定义,置换,i=,j,H02,加法,i=,j+k,H03,减法,i=,j-k,H04,乘法,i=,jk,H05,除法,i=,jk,H22,绝对值,H31,正弦,i=,jSIN(k),H32,余弦,i=,jCOS(k),H84,条件转移4,IF,jk,GOTOn,i=,j,.,例:在以圆心为(X0,Y0),半径为r的圆周上,始角为加工n个等分孔。,X0、Y0:,螺栓孔圆周基准点的坐标值使用变量:,500,501:,基准点的坐标(X0,Y0),502:半径(r),503:始角(),504:孔的个数(n),100:表示加工第i个孔的计数(i),101:计数的总值=n(ie),102:第i个
5、孔的角度(1),103,104:第i个孔的坐标值(Xi,Yi),基准点X0,Y0,r,X,Y,第3孔,第2孔,第1孔,第n孔,.,调出用户宏程序主体的程序O0010(主程序);,N010 G65 H01 P500 Q10000;X=100 mm,G65 H01 P501 Q-200000;Y=-200 mm,G65 H01 P502 Q100000;r=100 mm,G65 H01 P503 Q20000;=20,G65 H01 P504 Q12;n=12,N020 G92 X0 Y0 Z0;设定坐标系,N025,M98 P9010,;,调出用户宏程序,G00 X0 Y0;回原点,N030 M
6、02;程序结束,.,基准点X0,Y0,r,X,Y,第3孔,第2孔,第1孔,.,用户宏程序主体如下(子程序):,O9010,;,N100 G65 H01 P100 Q0;i=0,G65 H01 P101 Q504;ie=n,N200 G65 H04 P102 Q100 R360000;,G65 H05 P102 Q102 R504;,G65 H02 P102 Q503 R102;,G65 H32 P103 Q502 R102;,G65 H02 P103 Q500 R103;,G65 H31 P104 Q502 R102;,G65 H02 P104 Q501 R104;,G90 G00 X103
7、Y104;第i孔定位,X=X+rCOS(i),Y=Y+rSIN(i),.,N250;,孔加工代码,(或G90 G99 G81 X103 Y104,Z R F;),G65 H01 P100 Q100 R1;i=i+1,G65 H84 P200 Q100 R101;,iie时,转移到N200程序段,N300 M99;用户宏程序主体结束,.,第一节 变量及其运算,一、宏变量,在宏程序中使用的变量称为宏变量。,宏变量值可在程序中修改或利用,MDI,面板操作进行修改。,3.用户宏程序B,.,二、宏变量的表示及引用,(,1,)变量的表示,变量符号,#+,变量号,#0,#49,如:,#1=#2+100;G0
8、1 X#1 F300;,表达式(必须封闭在括号中),如:,#1+#2-12,3.用户宏程序B,.,(2)变量的引用,.,.,(3)变量的赋值,直接赋值,#1,=,10;#112,=,#6*cos#100;,格式:变量=常数或表达式,.,直接赋值的规律:,.,宏程序中自变量赋值,.,变量赋值方法1,.,.,变量赋值方法2,.,.,.,.,.,宏程序的调用,.,.,调用示例,.,G65调用指令说明,.,三、宏变量的类型,空变量,#0,局部变量,#1#33,公共变量,#100#199#500#999,系统变量,#1000,3.用户宏程序B,.,.,四、宏变量运算,1,、算术运算,:,主要是指加、减、
9、乘、除、乘方、函数等,.,.,2,、数学和逻辑运算,:,通常是指两个数值的比较或者关系。,常用的运算有:,.,.,.,在程序中可用GOTO语句和IF语句改变控制执行顺序。,分支和循环操作共有三种类型,:,GOTO,语句,无条件分支(转移),IF,语句,条件分支,;if,then,WHILE,语句,循环;,while,五、分支和循环,.,1,、无条件分支,GOTO,语句,控制转移(分支)到顺序号,n,所在位置。,顺序号可用表达式指定,。,格式:,GOTO n;,n,(,转移到的程序段)顺序号,例:,GOTO1;,GOTO#10;,.,在IF后指定一条件,当条件满足时,转移到顺序号为n的程序段,不
10、满足则执行下一程序段。,格式:IF 表达式 GOTO n;,.,.,.,Nn;,条件表达式,由两变量或一变量一常数中间夹比较运算符组成,条件表达式必需包含在一对方括号内。条件表达式可直接用变量代替。,2、条件分支IF语句,.,.,例程 求110的和。,O9500;,#1=0;和,#2=1;加数,N1,IF#2 GT 10 GOTO,2,;相加条件,#1=#1+#2;相加,#2=#2+1;下一加数,GOTO,1,返回1,N2,M30;结束,.,3,、循环,WHILE,语句,在,WHILE,后指定一条件表达式,当条件满足时,执行,DO,到,END,之间的程序,,(,然后返回到,WHILE,重新判断
11、条件,),不满足则执行,END,后的下一程序段。,格式:,WHILE,条件表达式,DO,m,;(m,=1,2,3),.,.,.,ENDm,;,.,.,五种情况说明:,.,.,宏程序的数学基础,.,常见曲线的标准方程,.,例1:T02内圆车刀,.,例2:加工一椭圆:椭圆长轴为100,短轴为50,.,加工路线为O X Y X Y X O,假如现在要加工内形,它的刀具轨迹如下图。,.,O0001;,N10 G92 X0 Y0 Z0 S1200 M03;确定坐标系;,N20 G01 G41 X50;图1中OX距离;,N30#1=0;将角度设为自变量,赋初值为0;,N40,X50*COS#1 Y25*S
12、IN#1 F200;XY轴联动的步距;,N50,#1=#11;自变量每次自加1;,N60,IF#1LT360 GOTO,40,;如果变量自加后不足360度,则转到第40段 执行,否则执行下一段;,(40前不用加行号N),N70 G00 G40 X0;撤消刀补,回到起点,N80 M30;程序结束,.,说明:,若要提高椭圆的加工精度,可将自变量的角度(步距)改小(如,0.1,),修改程序很简单。,若要将此椭圆轮廓加工多次,只需多加两循环语句。,对于可以用标准的参数方程表示的曲线,如正圆、抛物线、渐开线、摆线等,宏编程技术可以方便的编制其加工程序。,.,例3:在圆周上钻、镗均匀分布的孔,如下图所示,
13、在半径为R的圆周上均匀分布n个孔。,.,1,、数学建模,n,个孔均匀分布,则第,i,个孔与编程坐标系,X,轴夹角为,i,=360/n,(,i,1,),(1in),第,i,个孔的孔中心在编程坐标系中,X,、,Y,值分别如下:,x,i,=,Rcos,i,y,i,=,Rsin,i,.,2,、变量设置,.,G90 G98 G81 X#10 Y#11 Z#6 R#7 F500,#3=#3+1,END1,G80 取消固定循环,G91 G28 Z0 退刀,M05,M30,3,、宏程序,#1=50,#2=6,孔个数;,#3=1,#5=3.14159/180,#6=-20,#7=5,While#3,LE,#2,DO1,#4=360/#2*#3-1*#5,#10=#1*COS(#4),#11=#1*SIN(#4),.,例4 椭圆长轴100mm,短轴 48mm,毛坯5590mm。,.,加工工艺过程,车端面,粗、精车30、36和倒角,调头车端面,粗、精车椭圆面,.,左端参考程序,G00 X58 Z2;,倒角;,.,左端参考程序,G00 X100 Z200;,M30;,.,.,椭圆粗车路线(切深,3mm,),.,椭圆精加工走刀路线(,2,次走刀),.,走刀路线控制算法,.,宏程序,.,粗精加工加工参考程序,.,思考题,.,






