宏程序编程.doc
文本预览下载声明
用户宏程序
虽然子程序对编制相同加工操作的程序非常有用,但用户宏程序由于允许使用变量、算术和逻辑运算及条件转移,使得编制相同加工操作的程序更方便,更容易。可将相同加工操作编为通用程序,如型腔加工宏程序和固定加工循环宏程序。使用时,加工程序可用一条简单指
令调出用户宏程序,和调用子程序完全一样。
一、变量
普通加工程序直接用数值指定G代码和移动距离;例如,G01和X100。
使用用户宏程序时,数值可以直接指定或用变量指定。当用变量时,变量值可用程序或用MDI面板上的操作改变。
#1=#2+100;
G01 X#1 F300;
说明:
1、变量的表示
计算机允许使用变量名,用户宏程序不行。变量用变量符号(#)和后面的变量号指定。
例如:#1
表达式可以用于指定变量号。此时,表达式必须封闭在括号中。
例如:#[#1+#2-12]
2、变量的类型
变量根据变量号可以分成四种类型。
变量号 变量类型 功能 #0 空变量 该变量总是空,没有值能赋给该变量。 #1--#33 局部变量 局部变量只能用在宏程序中存储数据,例如,运算结果。当断电时,局部变量被初始化为空。调用宏程序时,自变量对局部变量赋值。 #100--#199
#500--#999 公共变量 公共变量在不同的宏程序中的意义相同。当断电时,变量#100一#199初始化为空。变量#500一一#999的数据保存,即使断电也不丢失。 #1000—— 系统变量 系统变量用于读和写CNC运行时各
3、变量值的表示范围
局部变量和公共变量可以有0值或下面范围中的值:
-1047至-10-29 或 10-29到1047
如果计算结果超出有效范围,则发出P/S报警No.111。
4、小数点的省略
当在程序中定义变量值时,小数点可以省略。
例:当定义#1=123;变量#1的实际值是123.000;
5、变量的引用
为在程序中使用变量值,指定后跟变量号的地址。当用表达式指定变
量时,要把表达式放在括号中。
例如:G01X[#1+#2]F#3;
被引用变量的值根据地址的最小设定单位自动地舍入。
例如:
当G00X#1;以1/1000mm的单位执行时,CNC把12.3456赋值给
变量#1,实际指令值为G00X12.346;
改变引用变量的值的符号,要把负号(一)放在#的前面。
例如:GOOX-#1;
当引用未定义的变量时,变量及地址字都被忽略。
例如:
当变量#1的值是0,并且变量#2的值是空时,G00X#1 Y#2的执行结果为G00X0;。
6、 未定义的变量
当变量值未定义时,这样的变量成为“空”变量。变量#0总是空变量。
它不能写,只能读。
(a)引用
当引用一个未定义的变量时,地址本身也被忽略。
当#1=空 当#1=0 G90X100Y#1
G90X100 G90X100Y#1
G90X100Y0 (b)运算
当#1=空 当#1=0 #2= #1
#2=空 #2= #l
#2=0 #2= #1*5
#2=0 #2= #1*5
#2=0 #2= #1+#1
#2=0 #2= #1+#1
#2=0 (c)条件表达式
EQ和NE中的空不同于0。
当#1=空 当#1=0 #1EQ#0
成立 #1EQ#0
不成立 #1 NE#0
成立 #1 NE#0
不成立 #1 GE#0
成立 #1 GE#0
不成立 #1 GT#0
不成立 #1 GT#0
不成立
7、 限制
程序号,顺序号和任选程序段跳转号不能使用变量。
例:
下面情况不能使用变量:
O#1;
/#2G00X100;
N#3Y200;
二、算术和逻辑运算
下表中列出的运算可以在变量中执行。运算符右边的表达式可包含常量和/或由函数或运算符组成的变量。表达式中的变量#J和#k可以用常数赋值。左边的变量也可以用表达式赋值。
算术和逻辑运算
功能 格式 备注 定义 #i= #J 加法
减法
乘法
除法 #i= #J+#k;
#i= #J-#k;
#i= #J*#k;
#i= #J/#k; 正弦
反正弦
余弦
反余弦
正切
反正切 #i=SIN[#J];
#i=ASIN[#J];
#i=COS[#J];
#i=ACOS[#J];
#i=TAN[#J];
#i=ATAN[#J]; 角度以度指定.90·30,表示为90.5度 平方根
绝对值
舍入
上取整
下取整
自然对数
指数函数 #i=SQRT[#J]
显示全部