1、宏程序宏程序什么是宏程序?数控程序中含有变量的程序称为宏程序宏程序由于允许使用变量、算术和逻辑运算以及条件转移等使得编制相同的加工程序更简便。宏程序主要用于编写二次曲线加工程序和加工类似零件以及其它特殊场合什么是变量?相对于常量而言,变量就是指可以根据用户的需要随时变化的量变量的表示方法: 变量符号(#)变量号 如:#1 #100 变量号可用表达式来代替表示 如:#1+2 表达式必须封闭在 内 变量的使用1、在地址符后面直接指定变量号或公式格式:#I#I公式例:F#1 设#1100 则为F100 Z#2 设#2200 则为Z200 X#3+TAN#42、变量号可以用变量代替 例:#10 设#1
2、010 则为#103、程序号、顺序号和程序跳转号不能使用变量 例:O#1 /#2 G00 X100 N#3 Z1004、地址符引用的变量号所对应的变量都有具体的数值范围 例:#10150 则M#10是不允许的5、#0为空变量,没有定义变量值的变量都是空变量6、程序定义变量值时可省略小数点 例:#123150 变量值的范围局部变量和公共变量可以为0或下面范围中的值10471029或10291047 变量的引用在地址符后指定变量号即可引用其变量值。 如:G01 X#1 F0.1当用表达式指定变量时,要把表达式放在括号中。如:G01 X#1+#2 F#3被引用变量的值根据地址的最小设定单位自动地舍入
3、 如:系统的最小输入增量为1/1000mm 时 #112.3456 当指定G01 X#1时,实际指令值为G01 X12.346引用空变量时,地址本身也被忽略变量的分类根据变量号分类 系统变量系统变量用于读和写NC 内部数据,系统变量是自动控制和通用程序开发的基础。1、接口信号接口信号是可编程机床控制器(PMC)和用户宏程序之间交换的信号。2、刀具补偿值用系统变量可以读和写刀具补偿值3、宏程序报警算术和逻辑运算包含定义,加、减、乘、除、三角函数计算 、开平方、逻辑运算等等表中列出的运算可以在变量中执行。运算符右边的表达式可包含常量或由函数或运算符组成的变量。表达式中的变量#j 和#k 可以用常数
4、替换。左边的变量也可以用表达式赋值。 逻辑运算:等于:EQ 格式: #j EQ #k不等于:NE 格式: #j NE #k大于:GT 格式: #j GT #k小于:LT 格式: #j LT #k大于等于:GE 格式: #j GE #k小于等于:LE 格式: #j LE #k算术与逻辑运算指令的缩写 程序中指令函数时,函数名的前二个字符可以用于指定该函数 例如: ROUNDRO FIXFI 运算次序 函数 乘和除运算(*、/、AND) 加和减运算(+、-、OR、XOR括号嵌套 括号用于改变运算次序。括号可以使用5 级,包括函数内部使用的括号。当超过5 级时,出现P/S 报警No.118。宏程序语
5、句和NC 语句 下面的程序段为宏程序语句:包含算术或逻辑运算(=)的程序段。包含控制语句(例如,GOTO,DO,END)的程序段。包含宏程序调用指令(例如,用G65,G66,G67 或其它G 代码,M代码调用宏程序)的程序段。除了宏程序语句以外的任何程序段都为NC 语句。使用GOTO语句和IF语句可以改变控制的流向。有三中转移和循环可供使用。 GOTO无条件转移 IF条件转移 WHILE当型循环1、无条件转移 GOTO n; n为顺序 例如:GOTO 1; GOTO #10;2、条件转移 IF GOTO n例如: IF #1 GT 10 GOTO 2 程序 N2 G00 G91 X10.0 I
6、F THEN 例如: IF #1 EQ #2 THEN #3=03、当型循环 WHILE DO m; 程序 ; END m; 程序;说明: m=1,2,3,可以多次使用。 最多嵌套三层。 省略WHILE,则产生从DO 到END的无限循环。 WHILE比GOTO 处理快。标号可以多次使用:WHILE DO 1; 程序;END1; WHILE DO 1; 程序;END1;可以嵌套3层:WHILE DO 1; WHILE DO 2; WHILE DO 3; 程序; END3; END2; END1;可以跳到循环外边:WHILE DO 1; IF GOTOn;END1;NnDO的范围不能交叉:WHIL
7、E DO 1; 程序;WHILE DO 2; END1; 程序;END2;转移不能进入循环区:IF GOTO n; WHILE DO 1;N1;END1;变量的赋值(对应)关系1程序中的地址在宏程序体中的变量程序中的地址在宏程序体中的变量A#1Q#17B#2R#18C#3S#19D#7T#20E#8U#21F#9V#22H#11W#23I#4X#24J#5Y#25K#6Z#26M#13程序中的地址在宏程序体中的变量程序中的地址在宏程序体中的变量程序中的地址在宏程序体中的变量A#1J4#14K8#27B#2K4#15I9#28C#3I5#16J9#29I1#4J5#17K9#30J1#5K5#1
8、8I10#31K1#6I6#19J10#32I2#7J6#2K10#33J2#8K6#21K2#9I7#22I3#10J7#23J3#11K7#24K3#12I8#25I4#13J8#26自变量指定、混合使用 CNC 内部自动识别自变量指定和自变量指定。如果自变量指定和自变量指定混合指定,后指定的自变量类型有效。 G65 A1.0 B2.0 I-3.0 I4.0 D5.0 P1000变量:#1:1.0 #2:2.0 #4:-3.0 #7:4.0 #7:5.0精加工走刀路线描述O0001T0101 M03 S800 G00 X33 Z2 快速定位至起刀点X0到达向零点#1=15自变量初始化WHI
9、LE#1GE0 DO1当自变量大于等于0执行DO1至END1循环#2=10*SQRT15*15#1*#1/15因变量计算(椭圆方程)G01 X2*#2Z#1-15 F0.1直线插补方式到达目标点#1=#10.3到达目标点后自变量作递减计算END1如果自变量值小于0则循环到此结束执行下面程序G01 W-5X28W-15X33G00 X100 Z100M30精加工走刀路线描述O0002T0101 M03 S800G00 X33 Z2G00 X0#1=0自变量初始化为0(与轴的夹角)WHILE#1LE144 DO1当夹角小于等于144执行循环#2=14*SIN#1因变量计算(方向)#3=20*COS
10、#1因变量计算(方向)G01 X2*#2 Z#3-20 F0.1直线插补方式到达目标点#1=#1+1自变量递增1END1当夹角大于144结束循环,程序往下执行G01 Z-40精加工走刀路线描述O0002T0101 M03 S800G00 X33 Z2#115.6自变量初始化WHILE#1GE-15.6 DO1当自变量大于等于-15.6执行循环#2=16*SQRT20*20#1*#1/20因变量计算G01 X2*#2 Z#115.6 F0.1插补方式到达目标点#1=#1-0.4自变量递减END1当自变量小于-15.6就跳出循环,程序往下执行G01 W-8精加工走刀路线描述O0002T0101 M03 S800G00 X33 Z2#144/28Z向起点赋值#210*SQRT20*20#1*#1/20计算X向起点坐标G00 X2*17.15#2快速定位至起点直径#3=#1自变量赋值WHILE#3GE-#1DO1当自变量大于等于-#1执行循环#4=10*SQRT20*20#3*#3/20因变量计算G01 X2*17.15#4 Z#322 F0.1插补方式到达目标点#3=#3-0.4自变量递减END1当自变量小于-#1,跳出循环G01W-8
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1