欢迎来到天天文库
浏览记录
ID:12330739
大小:120.00 KB
页数:4页
时间:2018-07-16
《fanuc用户宏程序学习教程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、用户宏程序宏程序是指含有变量的子程序,在程序中调用用户宏程序的那条指令叫做用户宏指令(这里用G65)1、变量用一个可赋值的代号代替具体的坐标值,这个代号称为变量。变量分为系统变量、全局变量和局部变量三类,它们的性质和用途个不相同。(1)系统变量是固定用途的变量,它的值决定了系统的状态。FANUC中的系统变量为#1000~#1005、#1032、#3000等。(2)全局变量是指在主程序内和由主程序调用的各用户宏程序内公用的变量。FANUC中的全局变量有60个,它们分两组,一组是#100~#149;另一组是#500~#509。(3)局部变量是仅局限于在用户宏程序内使用的变量
2、。同一个局部变量在不同的宏程序内的值是不通用的。FANUC中的局部变量有33个,分别为#1~#33。表1FANUC系统中局部变量赋值(部分)对照表赋值代号变量号赋值代号变量号赋值代号变量号A#1E#8T#20B#2F#9U#21C#3H#11V#22I#4M#13W#23J#5Q#17X#24K#6R#18Y#25D#7S#19Z#262、变量的演算(1)加减型运算加减型运算包括加、减、逻辑加和排它的逻辑加。分别用以下四个形式表达:#i=#j+#k#i=#j-#k#i=#jOR#k#i=#jXOR#k式中,i、j、k为变量;+、-、OR、XOR称为为演算子。(2)乘除型
3、运算乘除型运算包括乘、除和逻辑乘。分别用以下形式表达:#i=#j*#k#i=#j/#k#i=#jAND#k4.变量的赋值由于系统变量的赋值情况比较复杂,这里只介绍公共变量和局部变量的赋值。变量的赋值方式可分为直接和间接两种。(1)直接赋值例:#1=115(表示将变量115赋值于#1变量)#100=#2(表示将变量#2的即时值赋于变量#100)(2)间接赋值间接赋值就是用演算式赋值,即把演算式内演算的结果赋给某个变量。在演算式中有自变量代号,自变量每得到一个即时值,相应就得到一个演算结果,该结果就赋值给变量,该变量也叫应变量。5.转向语句转向语句分为无条件转向语句和条件转
4、向语句两种。(1)无条件转向语句程序段格式:GOTON;其中N后面的数值为程序段号。例如:GOTO55;表示无条件转向执行N55程序段,而不论N55程序段在转向语句之前还是之后。(2)条件转向语句条件转向语句一般由判断条件式和转向目标两部分构成。程序段格式:IF[aGTb]GOTOc;表示为“如果a>b,那么转向执行第Nc句程序段”。a和b可以是数值、变量或含有数值及变量的算式,c是转向目标的程序段。大于、等于、大于等于、小于等于分别用GT、EQ、GE、LE表示。三、用户宏程序的应用下面就以椭圆为例,介绍宏程序间接赋值法的应用。1、椭圆的中心偏离工件原点一个Z向距离如下
5、图是一个椭圆,椭圆的中心偏离工件原点一个Z向距离W=40,欲车削1/4椭圆(图中粗线部分)的回转轮廓线,要求在数控程序中用任意一点D的Z值(用#3号变量指定)来表达该点的X值(用#5号变量指定),由此可知,这里是以Z作为自变量,以X作为应变量。根据椭圆的方程即可以写出自变量Z与应变量X之间的关系表达式。那么,如果我们在Z向分段,以0.5mm为一个步距给Z赋值,就可以得到相应的一个X值。然后把所得各个点的坐标值用直线插补方式来逼近,就可以得到椭圆的近似轨迹。步距取的越小,所得的轨迹就越接近椭圆。如下图所示椭圆方程为:(式中X为半径值)根据公式可得:(式中X值为直径值)用宏
6、参数间接赋值情况为:#1=40(长半轴);#2=24(短半轴);#3=40(起点A的Z坐标);#6=8(终点B的Z坐标);#7=0.5(Z变量步距);#5=X(应变量)则演算式为:#5=[#2+#2]*SQRT[1—[#3*#3]/[#1*#1]]2、编制数控加工程序分析编程时存在的问题(1)由于工件坐标系和椭圆的坐标系不重合,Z向偏离的距离为W=40,所以在编程时,直线插补中点的Z坐标需要进行相应的坐标变换。变换公式为:Z=#3-40;(2)假定毛坯直径为Ф50。则可得该椭圆加工的最大切削余量为50(用#100全局变量指定),选定粗车循环时每刀切削双边余量2mm,留精
7、加工余量1mm。(3)由于椭圆上最高点的直径为48,而粗车循环时,可能存在空走刀情况,所以可用宏程序条件转向语句限制空走刀,即:如果计算得到X值大于等于48,则不加工椭圆,返回重新判断计算。编程如下:(FANUC-0i系统)O0001;(主程序)N10G97G99;(设定主轴转速为r/min,进给量为mm/r)N20T0101S800M03;(选1号粗车外圆刀,主轴800r/min,正转)N30G00X100Z100;(快速进刀到换刀点)N40G00X52Z2;(快速进刀到循环加工起点)N50#100=50;(设置最大切削余量为50)N6
此文档下载收益归作者所有