57
8.用户宏B功能
辑软件包、固定循环程序。
57
使用子程序编程可以重复同样的操作,简化程序的书写工作,但是用户宏B提供了更丰富的编程功能,它允许使用变量、算术和逻辑操作及条件分支,使得用户可以自行编
8.1变量
8.1.1 变量概述
一个普通的零件加工程序指定G码并直接用数字值表示移动的距离,例:G100 X100.0。而利用用户宏,既可以直接使用数字值也可以使用变量号。当使用变量号时,变量值既可以由程序改变,也可以用MDI面板改变。
#1=#2+100 G01 X#1 F300 变量书写规格: 能。
例:#1
也可以用表达式指定变量号,这时表达式要用方括号括起来。例:#[#1+#2—12] 变量值的范围:
当指定一个变量时,在#后指定变量号。个人计算机允许赋名给变量,宏没有此功
地方变量和公共变量可以有值0和在下述范围内的值:
-1047~-10—19;10—29~1047,如果计算结果无效,发出111号报警。
忽略小数点:
在程序中定义变量时,可以忽略小数点。例:当#1=123被定义时,变量#1的实际值为123.000。 未定义的变量:
当变量的值未定义时,这样的一个变量被看作“空”变量,变量#0总是“空”变量,是一个只读变量。 变量的类型: 变量号 #0 #1~#33
变量类型 功能 “空” 这个变量总是空的,不能赋值。 源时,地方变量被初始化成“空”。宏调用时,自变量分配给地方变量。 地方变量 地方变量只能在宏中使用,以保持操作的结果,关闭电根据变量号将变量分为四类,见下表:
#100~#149(#199) 公共变量 公共变量可在不同的宏程序间共享。关闭电源时变量#500~#531(#999) 57
#100~#149被初始化成“空”,而变量#500~#531保持数据。公共变量#150~#199和#532~#999可以选用,但是当这些变量被使用时,纸带长度减少了8.5米。 #1000~ 系统变量 系统变量用于读写各种NC数据项,如当前位置、刀具补偿值。 引用变量:
为了在程序中引用变量,指定一个字地址其后跟一个变量号。当用表达式指定一个变量时,须用方括号括起来。例:G01 X[#1+#2] F#3。引用的变量值根据地址的最小输入G00 X#1;CNC最小输入增量1/1000mm,增量自动进行四舍五入。例:其中#1值为12.3456,则实际命令为G00 X12.346。为了将引用的变量值的符号取反,在#号前加“—”号。 例:G00 X—#1;当引用一个未定义的变量时,忽略变量及引用变量的地址。例:#1=0 ,#2=“空”, 则G00 X#1 Y#2;的执行结果是G00 X0; 显示变量值:
1)按键
MENU
OFFSET 显示刀具补偿页面
2)按软键[MACRO]显示宏变量页面
3)按NO.键后,输入一个变量号,然后按INPUT键,将光标移到输入的变量号的位置。
☆当变量值空白时,变量为空。
☆********表示溢出(即变量的绝对值大于99999999或小于0.0000001)。
注意:
程序号、顺序号、任选段跳跃号不能使用变量。例:变量不能用于下列方法
O#1; /#2G00 X100.0; N#3 Y200.0;
8.1.2系统变量
系统变量能用来读写内部NC数据,如刀具补偿值和当前位置数据。然而,注意:有些系统变量是只读变量。对于扩展自动化操作和一般的程序,系统变量是必须的。 刀具补偿值:
使用这类系统变量可以读写刀具补偿值。可用的变量数取决于能使用的补偿对数,当补偿对数不大于200时,可以用变量#2001~#2400。
用于刀具补偿内存A的系统变量 补偿号 系统变量
1 : 200 #10001(#2001) : #10200(#2200) 用于刀具补偿内存B的系统变量 补偿号 1 : 200 宏报警:
用于宏报警的系统变量: 变量号 #3000
功能 当#3000中有0~99间的某一值时,NC停止并显示报警信息。报警信息不超过26个字符, 例:#3000=1(TOOL NOT FOUND); 报警屏幕显示“3001 TOOL NOT FOUND。”
时间信息:
时间信息可以读写。
#3001 #3002 用于时间信息的系统变量: 变量号 功能 这个变量是一个以1毫秒为增量一直记数的记时器,上电或达到65535毫秒时复值为0。 这个变量是一个以1小时为增量、当循环启动灯亮时记数的记时器,电源关闭后记时器值依然保持,达到1145324.612小时时复值为0。 #3011 #3012
自动操作控制:
自动操作的控制状态可以改变。
#3003 0 1
自动操作控制的系统变量#3003 单段 使能 无效 辅助功能的完成 要等待 要等待 这个变量用于读当前年/月/日数据,该数据以十进制数显示。例:March 28,1993表示成19930328。 这个变量用于读当前时/分/秒数据,该数据以十进制数显示。例:下午3点34分56秒表示成153456。 几何补偿 #11001(#2201) : #11200(#2400) 磨损补偿 #10001(#2001) : #10200(#2200) 57
2 3 使能 无效 不要等待 不要等待 57
☆上电时该变量值为0。
☆当不能执行单段停止时,单段停止操作不能执行,即使单段开关有效。 ☆当没有指定是否等待辅助功能(M、S、T)完成时,在辅助功能完成之前,程序执行到下一段,定位完成信号DEN不发出。
自动操作控制的系统变量#3004
#3004 0 1 2 3 4 5 6 7
☆上电时该变量值为0。 ☆当不能执行进给保持时:
进给保持按钮按下并保持时,机床以单段停止方式停止,但单段方式若因变量#3003而无效时,不执行单段停止操作。
进给保持按钮按下又释放时,进给保持灯亮,但机床不停止;程序继续进行,机床停在最先含有进给保持使能的段。
☆当进给倍率无效时,倍率定在100%,忽略机床操作面板上的倍率开关。 ☆当精确停止无效时不执行精确停止检查(定位检查),即使是包含有不执行切削的段。
进给保持 使能 无效 使能 无效 使能 无效 使能 无效 进给倍率 使能 使能 无效 无效 使能 使能 无效 无效 精确停止 使能 使能 使能 使能 无效 无效 无效 无效