文档详情

数控宏程序资料.pdf

发布:2025-03-08约2.73万字共68页下载文档
文本预览下载声明

君子忧道不忧贫。——孔丘

宏程序

数控程序中含有变量的程序称为宏程序。

虽然子程序对编制相同的加工程序非常有用,但用户宏程序由于允许

使用变量、算术和逻辑运算及条件转移,使得编制同样的加工程序更

简便。例如型腔加工宏程序和用户开发固定循环。使用时,加工程序

可用一条简单指令调出用户宏程序,和调用子程序完全一样。

1.1变量

普通加工程序直接用数值指定G代码和移动距离;例如,G01和X100.0。

使用用户宏程序时,数值可以直接指定或用变量指定。当用变量时,变量值可用程序

或用MDI面板操作改变。

#1=#2+100;

G01X#1F300;

说明变量的表示

一般编程方法允许对变量命名,但用户宏程序不行。变量用变量符号(#)

和后面的变量号指定。

1

君子忧道不忧贫。——孔丘

例如:#1

表达式可以用于指定变量号。此时,表达式必须封闭在括号中。

例如:#[#1+#2-12]

变量的类型

变量根据变量号可以分成四种类型。

变量值的范围

局部变量和公共变量可以为0值或下面范围中的值:

-1047到-10-29

10-29到1047

如果计算结果超出有效范围,则发出P/S报警No.111

小数点的省略当在程序中定义变量值时,小数点可以省略。

例:当定义#1=123;变量#1的实际值是123.000。

2

君子忧道不忧贫。——孔丘

变量的引用

在地址后指定变量号即可引用其变量值。当用表达式指定变量时,要把表达式放在括

号中。

例如:G01X[#1+#2]F#3;

被引用变量的值根据地址的最小设定单位自动地舍入。

例如:

当系统的最小输入增量为1/1000mm单位,指令G00X#1,并将

12.3456赋值给变量#1,实际指令值为G00X12.346;。

改变引用变量的值的符号,要把负号(—)放在#的前面。

例如:G00X—#1;

当引用未定义的变量时,变量及地址字都被忽略。

例如:

当变量#1的值是0,并且变量#2的值是空时,G00X#1Y#2的执行

结果为G00X0;。

双轨迹(双轨迹控制)的公共变量

对双轨迹控制,系统为每一轨迹都提供了单独的宏变量。但是,根

据参数No.6036和6037的设定,某些公共变量可同时用于两个轨

迹。

未定义的变量

当变量值未定义时,这样的变量成为“空”变量。变量#0总是空变量。

它不能写,只能读。

(a)引用

当引用一个未定义的变量时,地址本身也被忽略。

3

君子忧道不忧贫。——孔丘

(b)运算

除了用空赋值以外,其余情况下空与0相同。

4

君子忧道不忧贫。——孔丘

当变量值是空白时,变量是空。

5

君子忧道不忧贫。——孔丘

符号********表示溢出(当变量的绝对值大于时)或下

溢出(当变量的绝对值小于0.0000001时)。

限制程序号,顺序号和任选程序段跳转号不能使用变量。

例:

下面情况不能使用变量:

○#1;

/#2G00X100.0;

N#3Y200.0;

1.2系统变量

系统变量用于读和写NC内部数据,例如,刀具偏置值和当前位置数据。

但是,某些系统变量只能读。系统变量是自动控制和通用程序开发的基础。说明接口

信号是可编程机床控制器(PMC)和用户宏程序之间交换的信号。

刀具补偿值用系统变量可以读和写刀具补偿值。

可使用的变量数取决于刀补数,是否区分外形补偿和磨损补偿以及是否区分刀长补偿

和刀尖补偿。当偏置组数小于等于200时,也可使用#2001~#2400。

6

君子忧道不忧贫。——孔丘

显示全部
相似文档