文章:秒懂宏程序(一)

所有者:TerryWang(呢称); 发布时间:2020-12-20 02:36:54; 更新时间:2020-12-20 03:05:22

阅读所需积分:0; 

简介:数控程序中含有变量的程序称为宏程序。虽然子程序对编制相同的加工程序非常有用,但用户宏程序由于允许使用变量、算术和逻辑运算及条件转移,使得编制同样的加工程序更简便。例如型腔加工宏程序和用户开发固定循环。使用时,加工程序可用一条简单指令调出用户宏程序,和调用子程序完全一样。1.1 变量普通加工程序直接用数值指定G代码和移动距离;例如,G01 和X100.0。使用

数控程序中含有变量的程序称为宏程序。虽然子程序对编制相同的加工程序非常有用,但用户宏程序由于允许使用变量、算术和逻辑运算及条件转移,使得编制同样的加工程序更简便。例如型腔加工宏程序和用户开发固定循环。使用时,加工程序可用一条简单指令调出用户宏程序,和调用子程序完全一样。

 

 1.1 变量

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

使用用户宏程序时,数值可以直接指定或用变量指定。当用变量时,变量值可用程序或用MDI 面板操作改变。

#1=#2+100;

G01 X#1 F300;

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

和后面的变量号指定。

例如:#1

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

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

变量的类型.

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

变量值的范围

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

-1047 到-10-29

10-29 到1047

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

小数点的省略当在程序中定义变量值时,小数点可以省略。例:当定义#1=123;变量#1 的实际值是123.000。

变量的引用

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

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

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

例如:

当系统的最小输入增量为1/1000mm 单位,指令G00X#1,并将12.3456 赋值给变量#1,实际指令值为G00X12.346;。

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

例如:G00X—#1;

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

例如:

当变量#1 的值是0,并且变量#2 的值是空时,G00X#1 Y#2 的执行结果为G00X0;

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

对双轨迹控制,系统为每一轨迹都提供了单独的宏变量。但是,根据参数No.6036 和6037 的设定,某些公共变量可同时用于两个轨迹。

未定义的变量

当变量值未定义时,这样的变量成为“空”变量。变量#0 总是空变量。它不能写,只能读。

(a)引用

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

(b)运算

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

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

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

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

例:

下面情况不能使用变量:

○#1;/#2G00X100.0;

N#3Y200.0;

1.2 系统变量

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

但是,某些系统变量只能读。系统变量是自动控制和通用程序开发的基础。说明接口信号是可编程机床控制器(PMC)和用户宏程序之间交换的信号。

刀具补偿值用系统变量可以读和写刀具补偿值。可使用的变量数取决于刀补数,是否区分外形补偿和磨损补偿以及是否区分刀长补偿和刀尖补偿。当偏置组数小于等于200 时,也可使用#2001~#2400。

宏程序报警

例:#3000=1

(TOOL NOT FOUND)

→报警屏幕上显示“3001 TOOL NOT FOUND”(刀具未找到)

停止和信息显示程序停止执行并显示信息。

时间信息时间信息可以读和写。

自动运行控制可以改变自动运行的控制状态。

·当电源接通时,该变量的值为0。

·当单程序段停止无效时,即使单程序段开关设为ON,也不执行单程序段停止。

·当指定不等待辅助功能(M,S 和T 功能)完成时,在辅助功能完成之前,程序即执行到下一程序段。而且分配完成信号DEN 不输出。

·当电源接通时,该变量的值为0。

·当进给暂停无效时:

(1)当进给暂停按钮被按下时,机床以单段停止方式停止。但是,当用变量#3003 使单程序段方式无效时,单程序段停止不执行。

(2)当进给暂停按钮压下又松开时,进给暂停灯亮,但是,机床不停止;程序继续执行,并且机床停在进给暂停有效的第一个程序段

·当进给速度倍率无效时,倍率总为100%,而不管机床操作面板上的进给速度倍率开关的设置。

·当准确停止检测无效时,即使那些不执行切削的程序段也不进行准确停止检测(位置检测)

文章未完,下期继续更新

数控e家

https://mp.weixin.qq.com/s/QEqLDBvmbYlqhZ_TKh_r_A