数控机床宏程序

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

§2.4数控系统指令代码—6二.宏编程及其技术应用椭圆§2.4数控系统指令代码—6椭圆方程§2.4数控系统指令代码—6椭圆拟合算法§2.4数控系统指令代码—6用户宏程序§2.4数控系统指令代码—61.宏编程概念宏程序:含有变量的程序。宏程序的最大特点:以FANUC0i数控系统为例介绍宏指令编程§2.4数控系统指令代码—6宏程序调用示例§2.4数控系统指令代码—61.宏编程概念宏程序类型:A、B。B类程序符号直观好记FANUC0系列只有A,需用H指令§2.4数控系统指令代码—6使用方法与子程序类似,区别是在宏程序主体中,除了使用通常的CNC指令外,还可以使用变量的CNC指令,进行变量运算,宏指令可以给变量设定实际值。2.用户宏程序A§2.4数控系统指令代码—6变量1)变量的概念:变量用#和后面的数字表示,其格式为:#i(i=1,2,3…)2)变量的引用:变量可以代替宏程序中地址后面的数值。例:F#103,G00Z#100,G#130,§2.4数控系统指令代码—63)变量共四种:空变量、局部变量、公共变量和系统变量空变量:#0没有值能赋给该变量;局部变量:#1~#33,只能用于宏程序中存储数据,断电时初始化为空。公共变量(#100~#149断电时初始化为空;(#500~#531断电不丢失)§2.4数控系统指令代码—6系统变量:①刀具偏移(#1~#99、#2000~#2200)②接口输入信号(#1000~#1015、#1032)③接口输出信号(#1100~#1115、#1132、#1133)④计时信息(#3011、#3012)⑤需要零件计数和加工零件计数信息(#3901、#3902)⑥模态信息(#4001~#4120)⑦位置信息(#5001~#5083)§2.4数控系统指令代码—64)运算指令和转移指令(G65)格式:G65HmP#iQ#jR#k;其中:m=01~99,Hm表示运算指令和转移指令的功能;#i:运算结果的变量名;#j,#k:被运算的变量名,可以定为常量;例:G65H01P#100Q0;#100=0G65H02P#100Q#101R#102;#100=#101+#102G65H84P2000Q#100R#101;#100#101时,转移到N2000程序段§2.4数控系统指令代码—6G代码H代码功能定义G65H01定义,置换#i=#j″H02加法#i=#j+#k″H03减法#i=#j-#k″H04乘法#i=#j×#k″H05除法#i=#j÷#k″H22绝对值″H31正弦#i=#j·SIN(#k)″H32余弦#i=#j·COS(#k)″H84条件转移4IF#j<#k,GOTOn#i=#j§2.4数控系统指令代码—6例:在以圆心为(X0,Y0),半径为r的圆周上,始角为α加工n个等分孔。X0、Y0:螺栓孔圆周基准点的坐标值使用变量:#500,#501:基准点的坐标(X0,Y0)#502:半径(r)#503:始角(α)#504:孔的个数(n)#100:表示加工第i个孔的计数(i)#101:计数的总值=n(ie)#102:第i个孔的角度(θ1)#103,#104:第i个孔的坐标值(Xi,Yi)基准点X0,Y0rαXY第3孔第2孔第1孔第n孔§2.4数控系统指令代码—6•调出用户宏程序主体的程序O0010(主程序);•N010G65H01P#500Q10000;X=100mm•G65H01P#501Q-200000;Y=-200mm•G65H01P#502Q100000;r=100mm•G65H01P#503Q20000;α=20°•G65H01P#504Q12;n=12•N020G92X0Y0Z0;设定坐标系•N025M98P9010;调出用户宏程序•G00X0Y0;回原点•N030M02;程序结束§2.4数控系统指令代码—6基准点X0,Y0rαXY第3孔第2孔第1孔§2.4数控系统指令代码—6用户宏程序主体如下(子程序):O9010;N100G65H01P#100Q0;i=0G65H01P#101Q#504;ie=nN200G65H04P#102Q#100R360000;G65H05P#102Q#102R#504;G65H02P#102Q#503R#102;G65H32P#103Q#502R#102;G65H02P#103Q#500R#103;G65H31P#104Q#502R#102;G65H02P#104Q#501R#104;G90G00X#103Y#104;第i孔定位nii360X=X+rCOS(θi)Y=Y+rSIN(θi)§2.4数控系统指令代码—6N250…;孔加工代码(或G90G99G81X#103Y#104ZRF;)G65H01P#100Q#100R1;i=i+1G65H84P200Q#100R#101;i<ie时,转移到N200程序段N300M99;用户宏程序主体结束§2.4数控系统指令代码—6第一节变量及其运算一、宏变量在宏程序中使用的变量称为宏变量。宏变量值可在程序中修改或利用MDI面板操作进行修改。3.用户宏程序B§2.4数控系统指令代码—6二、宏变量的表示及引用(1)变量的表示•变量符号#+变量号#0~#49如:#1=#2+100;G01X#1F300;•表达式(必须封闭在括号中)如:#[#1+#2-12]3.用户宏程序B§2.4数控系统指令代码—6(2)变量的引用§2.4数控系统指令代码—6§2.4数控系统指令代码—6(3)变量的赋值直接赋值#1=10;#112=#6*cos[#100];格式:变量=常数或表达式§2.4数控系统指令代码—6直接赋值的规律:§2.4数控系统指令代码—6宏程序中自变量赋值§2.4数控系统指令代码—6变量赋值方法1§2.4数控系统指令代码—6§2.4数控系统指令代码—6变量赋值方法2§2.4数控系统指令代码—6§2.4数控系统指令代码—6§2.4数控系统指令代码—6§2.4数控系统指令代码—6§2.4数控系统指令代码—6宏程序的调用§2.4数控系统指令代码—6§2.4数控系统指令代码—6调用示例§2.4数控系统指令代码—6G65调用指令说明§2.4数控系统指令代码—6三、宏变量的类型•空变量#0•局部变量#1~#33•公共变量#100~#199#500~#999•系统变量#1000~3.用户宏程序B§2.4数控系统指令代码—6§2.4数控系统指令代码—6四、宏变量运算1、算术运算:主要是指加、减、乘、除、乘方、函数等§2.4数控系统指令代码—6§2.4数控系统指令代码—62、数学和逻辑运算:通常是指两个数值的比较或者关系。常用的运算有:EQ(等于)NE(不等于)GT(大于)GE(大于且等于)LT(小于)LE(小于且等于)AND(与)OR(或)NOT(非)§2.4数控系统指令代码—6函数格式赋值Definition#i=#j求和Sum求差difference乘积Product求商Quotient#i=#j+#k#i=#j-#k#i=#j*#k#i=#j/#k§2.4数控系统指令代码—6函数格式正弦sine余弦cosine正切tangent反正切arctangent#i=SIN[#j]#i=COS[#j]#i=TAN[#j]#i=ATAN[#J]/[#k]平方根Squareroot绝对值Absolutevalue四舍五入Roundingoff#i=SQRT[#j]#i=ABS[#J]#I=ROUND[#J]或OR异或XOR与AND#I=#JOR#K#I=#JXOR#K#I=#J§2.4数控系统指令代码—6在程序中可用GOTO语句和IF语句改变控制执行顺序。分支和循环操作共有三种类型:GOTO语句——无条件分支(转移)IF语句——条件分支;if…,then…WHILE语句——循环;while…五、分支和循环§2.4数控系统指令代码—61、无条件分支GOTO语句控制转移(分支)到顺序号n所在位置。顺序号可用表达式指定。格式:GOTOn;n—(转移到的程序段)顺序号例:GOTO1;GOTO#10;§2.4数控系统指令代码—6在IF后指定一条件,当条件满足时,转移到顺序号为n的程序段,不满足则执行下一程序段。格式:IF[表达式]GOTOn;...Nn…;条件表达式由两变量或一变量一常数中间夹比较运算符组成,条件表达式必需包含在一对方括号内。条件表达式可直接用变量代替。2、条件分支IF语句§2.4数控系统指令代码—6§2.4数控系统指令代码—6例程求1~10的和。O9500;#1=0;和#2=1;加数N1IF[#2GT10]GOTO2;相加条件#1=#1+#2;相加#2=#2+1;下一加数GOTO1返回1N2M30;结束§2.4数控系统指令代码—63、循环WHILE语句在WHILE后指定一条件表达式,当条件满足时,执行DO到END之间的程序,(然后返回到WHILE重新判断条件,)不满足则执行END后的下一程序段。格式:WHILE[条件表达式]DOm;(m=1,2,3)...ENDm;§2.4数控系统指令代码—6§2.4数控系统指令代码—6•五种情况说明:§2.4数控系统指令代码—6§2.4数控系统指令代码—6宏程序的数学基础§2.4数控系统指令代码—6常见曲线的标准方程§2.4数控系统指令代码—6例1:T02内圆车刀§2.4数控系统指令代码—6例2:加工一椭圆:椭圆长轴为100,短轴为50O100-XXY-Y50§2.4数控系统指令代码—6加工路线为O→X→Y→-X→-Y→X→O假如现在要加工内形,它的刀具轨迹如下图。§2.4数控系统指令代码—6O0001;N10G92X0Y0Z0S1200M03;确定坐标系;N20G01G41X50;图1中OX距离;N30#1=0;将角度设为自变量,赋初值为0;N40X[50*COS[#1]]Y[25*SIN[#1]]F200;XY轴联动的步距;N50#1=#1+1;自变量每次自加1;N60IF[#1LT360]GOTO40;如果变量自加后不足360度,则转到第40段执行,否则执行下一段;(40前不用加行号N)N70G00G40X0;撤消刀补,回到起点N80M30;程序结束§2.4数控系统指令代码—6说明:若要提高椭圆的加工精度,可将自变量的角度(步距)改小(如0.1°),修改程序很简单。若要将此椭圆轮廓加工多次,只需多加两循环语句。对于可以用标准的参数方程表示的曲线,如正圆、抛物线、渐开线、摆线等,宏编程技术可以方便的编制其加工程序。§2.4数控系统指令代码—6例3:在圆周上钻、镗均匀分布的孔如下图所示,在半径为R的圆周上均匀分布n个孔。§2.4数控系统指令代码—61、数学建模n个孔均匀分布,则第i个孔与编程坐标系X轴夹角为αi=360/n×(i-1)(1≤i≤n)第i个孔的孔中心在编程坐标系中X、Y值分别如下:xi=Rcosαiyi=Rsinαi§2.4数控系统指令代码—62、变量设置变量名称变量意义#1孔所在圆周半径R#2均匀分布孔总个数n#3第i个孔#4第i个孔的孔中心与编程坐标X轴夹角i#10第i个孔的孔中心X坐标值ix#11第i个孔的孔中心Y坐标值iy#6孔深度#7R平面高度§2.4数控系统指令代码—6G90G98G81X[#10]Y[#11]Z[#6]R[#7]F500#3=#3+1END1G80取消固定循环G91G28Z0退刀M05M303、宏程序#1=50#2=6孔个数;#3=1#5=3.14159/180#6=-20#7=5While#3LE#2DO1#4=360/#2*[#3-1]*#5#10=#1*COS(#4)#11=#1*SIN(#4)§2.4数控系统指令代码—6例4椭圆长轴100mm,短轴48mm,毛坯55×90mm。§2.4数控系统指令代码—6•加工工艺过程车端面粗、精车φ30、φ36和倒角调头车端面粗、精车椭圆面§2.4数控系统指令代码—6左端参考程序G00X58Z2;倒角;§2.4数控系统指令代码—6左端参考程序G00X

1 / 74
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功