使用b宏
b类宏程序中的变量与a类宏程序中的变量大致相同,但略有不同。主要区别如下:
(1)变量的表示: B类宏程序除可采用A类宏程序的交量表示方法外,还可以用表达式表示,但表 达式必须封闭在方括号“[ ]”中。程序的圆括号“( )”用于注释。
例# [#1+#2+10] 当#1=10, #2=100时, 该变量表示#120。
(2)变量的引用,引用变量也可以用表达式表示。
例G01 X [#100-30.0] Y-#101 F [#101+#103]
当#100=100时、#101=50、 #103=80时,上式即表示为G01 X70.0 Y-50.0 F130
(3)变量的种类:B类与A类宏程序的变量种类相同
2.变量的赋值
(1)直接賦值:变量可以在操作面板上用MID方式直接赋值,也可在程序中以等式方式赋值,在等号左边不能用表达式。
例#100=100.0; #100 =30.0+20.0
(2)引数賦值宏程序以子程序方式出现,所用的变量可在宏调用时赋值。如下所示: :
例G65 P1000 X100.0 Y30.0 Z20.0 F 100.0
此处的X、Y、Z不代表坐标字,F也不代表进给字,而是对应与宏程序中的变量号,变量的具体数值由引数后的数值决定;引用宏程序体中的变量对应关系有两种,见表2-4-2及表2-4-3.此两种方法可以混用,其中G、L、N、O、P不能作为引数替变量赋值。
例:变量赋值方法1
G65P0030 A50.0 140.0 J100.0 K0 120 J10.0 K40.0
经赋值后#1=50.0, #4=40.0, #5=100.0,#6=0,#7-20.0, #8-10.0, #9=40.0。
变量赋值方法2
G65 P0O20 A50.0 X40.0 F 100
经赋值后#1=50.0, #24=40.0,#9=100.0。
变量的赋值方法1、2混合
G65 P0030 A50.0 D40.0 1100.0 K0 120.0
经赋值后,120.0与D40.0同时分配给变量#7,则后一个#7有效,所以变量#7=20.0,其余同上。
采用赋值后前面A类宏程序例题精加工程序可改写成如下形式:
0010 (主程序)
.........
G65 P0210X28.0Z-20. 0 A20.0BO R20.0 (赋值后, 24=28. 0, #26=-20.0, #1=20. 0, #2=0, #18=20. 0)
.....
0210; (精加工宏程序)
N1000 G01Z#26;
X#24
GO2 X#24 Y0 1-#24 J0;
#2=#2+0.1;
#1=SQRT[#18*#18-#2*#2]
#24=#1+8.0;
#26=-20.0+#2;
IP[#26 LB 0]GOTO 1000
G01Z20;
GO1X0.0 Y40.0;
M99;
3.运算指令
B类宏程序的运算指令与A类宏程序的运算指令有很大区别,它的运算类似于数学运算,用各种数学符号来表示。常用运算指令见表2-4-4.
宏程序计算说明如下
(1) 函数SINcos等的角度单位是度,分和秒要换算成带小数点的度。如9o" 30' 表示90.5"。 而30º18'表示30.3"。
(2)宏程序数学运算计算的次序依次为:函数运算(SIN COS ATAN等),乘和除运算(*、/、 AND 等),加和减运算(+、-、OR、XOR等)
例#1=#2+#3*SIN[#4]:
运算次数为:
①函数SIN[ # ]4
②乘和除运算3*SIN[ #4]
③加和减运算#2+#3*SIN[#4]
(3)函数中的括号用于改变运算次序,函数中的括号允许嵌套使用,但最多只允许嵌套5级。 例#1=SIN[[[#2+#3]*4+#5]/ #6]
(4) CNC处理数值取整运算时,若操作产生的整数大于原数时为上取整,反之则为下取整。例设#1=1.2; #2=-1.2.
执行3=FUP[#1]时, 2. 0赋给#3;执行#3=FIX[#1]时,1.0赋給#3;执行#3=FUP[#2]时, -2. 0赋给#3;执行#3=FIX[#2]时,-1.0赋给#3:
控制指令:控制指令到控制程序流向的作用。
(1)分支语句
格式一GOTOn:
例GOTO 1000
格式一所示无条件转移语句,当执行该程序时,无条件转移到N1000程序段执行。
格式二IF[条件表达式]GOTOn;
例IF[ #1 GT #100]G0T01000
格式二所示有条件转移语句,如果条件成立,则转到N程序段执行,如果条件不成立,则执行下一句程序。条件式的种类见表2-4-5.
(2)循环指令
WHILE[条件式]DOm (m=1、2、3.)。
......
ENDm;
当条件式满足时,就循环执行WHILE与END之间的程序段m次,当条件不满足时,就执行ENDm的下一个程序段。
三、编程实例与练习课题
例1用B类宏程序编写如图2-4-3所示椭圆凸台加工程序。
00020; (主程序)
G90 G80 G40 G21 G17 G94; (程 序初始化)
G91 G28 Z0. 0;
G90 G54;
GOO X40.0 YO. 0;
G43 Z20. 0 H01;
S600 MO3;
G01 Z0. 0 F200;
M98 P0120 L9; (去余量, Z向分层切削,每次切深2mm)
G90 G01 Z20. 0;
GO1 X40.0 YO;
M98 P0220; (调用宏程序,加工椭圆锥台)
G91 G28 Z0. 0;
M05;
M30;
00120;(粗加工去余量子程序)
G91 G01 Z-2.0;
G90;
#103=360; (角度变量赋初值)
N100 #104=18.0 * cos [# 103]; (X 坐标值变量)
#105=24.0 * SIN[#103]; (Y 坐标值变量)
G41 G01 X#104 Y#105 D01;
#103=#103-1.0; (角度每次增量为-1° )
IF [#103 GE 0.0] GOTO 100: (如果角度大于等于0°,则返回执行循环。)
G40 G01 X40.0 YO;
M99;
00220 (精加工椭圆锥子程序)
#110=0; (刀尖到底平面高度,见图2)
#111=-18.0; (刀尖Z坐标值)
#101=18.O; (短半轴半径)
#102=24.O; (长半轴半径)
N200#103-360.0; (角度变量)
G01 Z#111 F100;
N300#104=#101 * COS [#103]; (刀尖X坐标值)
#105=#102 * SIN [#103]; (刀尖Y坐标值)
G41 G01 X#104 Y#105 DO1;
#103=#103-1.0;
IF [#103 GE 0.0] GOTO 300; (循环加工椭圆)
G40 G01 X40.0 YO;
#110=#110+0.1;
#111=#111+0.1; (刀尖Z坐标值)
#101=18.0-#110*TAN [30. 0]; (短半轴半径变量)
#102=24.0-#110*TAN [30. 0]; (长半轴半径变量)
IF [#111 LE O.0] GOTO 200; (循环加工椭圆锥台)
M99;
本资料来源于网络,如有侵权,请联系删除~~~~
1.《105度的正弦值专题之B宏与A宏变量的方法》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《105度的正弦值专题之B宏与A宏变量的方法》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/shehui/2029271.html