1 变量概述
一个普通的零件加工程序指定G码并直接用数字值表示移动的距离,例:G100 X100.0。而利用用户宏,既可以直接使用数字值也可以使用变量号。当使用变量号时,变量值既可以由程序改变,也可以用MDI面板改变。
#1=#2+100G01 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) | 公共变量 | 公共变量可在不同的宏程序间共享。关闭电源时变量#100~#149被初始化成“空”,而变量#500~#531保持数据。公共变量#150~#199和#532~#999可以选用,但是当这些变量被使用时,纸带长度减少了8.5米。 |
#1000~ | 系统变量 | 系统变量用于读写各种NC数据项,如当前位置、刀具补偿值。 |
引用变量:
为了在程序中引用变量,指定一个字地址其后跟一个变量号。当用表达式指定一个变量时,须用方括号括起来。例:G01 X[#1+#2] F#3。引用的变量值根据地址的最小输入增量自动进行四舍五入。例:G00 X#1;其中#1值为12.3456,CNC最小输入增量1/1000mm,则实际命令为G00 X12.346。为了将引用的变量值的符号取反,在#号前加“—”号。 例:G00 X—#1;当引用一个未定义的变量时,忽略变量及引用变量的地址。例:#1=0 ,#2=“空”, 则G00 X#1 Y#2;的执行结果是G00 X0;
显示变量值:
1)按键 OFFSET 显示刀具补偿页面
2)按软键[MACRO]显示宏变量页面
3)按NO.键后,输入一个变量号,然后按INPUT键,将光标移到输入的变量号的位置。
☆当变量值空白时,变量为空。
☆********表示溢出(即变量的绝对值大于99999999或小于0.0000001)。
注意:
程序号、顺序号、任选段跳跃号不能使用变量。例:变量不能用于下列方法
O#1;
/#2G00 X100.0;
N#3 Y200.0;
2系统变量
系统变量能用来读写内部NC数据,如刀具补偿值和当前位置数据。然而,注意:有些系统变量是只读变量。对于扩展自动化操作和一般的程序,系统变量是必须的。
刀具补偿值:
使用这类系统变量可以读写刀具补偿值。可用的变量数取决于能使用的补偿对数,当补偿对数不大于200时,可以用变量#2001~#2400。
用于刀具补偿内存A的系统变量
补偿号 | 系统变量 |
1 :200 | #10001(#2001) :#10200(#2200) |
用于刀具补偿内存B的系统变量
补偿号 | 几何补偿 | 磨损补偿 |
1 :200 | #11001(#2201) :#11200(#2400) | #10001(#2001) :#10200(#2200) |
宏报警:
用于宏报警的系统变量:
变量号 | 功能 |
#3000 | 当#3000中有0~99间的某一值时,NC停止并显示报警信息。报警信息不超过26个字符, |
例:#3000=1(TOOL NOT FOUND);
报警屏幕显示“3001 TOOL NOT FOUND。”
时间信息:
时间信息可以读写。
用于时间信息的系统变量:
变量号 | 功能 |
#3001 | 这个变量是一个以1毫秒为增量一直记数的记时器,上电或达到65535毫秒时复值为0。 |
#3002 | 这个变量是一个以1小时为增量、当循环启动灯亮时记数的记时器,电源关闭后记时器值依然保持,达到1145324.612小时时复值为0。 |
#3011 | 这个变量用于读当前年/月/日数据,该数据以十进制数显示。例:March 28,1993表示成19930328。 |
#3012 | 这个变量用于读当前时/分/秒数据,该数据以十进制数显示。例:下午3点34分56秒表示成153456。 |
自动操作控制:
自动操作的控制状态可以改变。
自动操作控制的系统变量#3003
#3003 | 单段 | 辅助功能的完成 |
0 | 使能 | 要等待 |
1 | 无效 | 要等待 |
2 | 使能 | 不要等待 |
3 | 无效 | 不要等待 |
☆上电时该变量值为0。
☆当不能执行单段停止时,单段停止操作不能执行,即使单段开关有效。
☆当没有指定是否等待辅助功能(M、S、T)完成时,在辅助功能完成之前,程序执行到下一段,定位完成信号DEN不发出。
自动操作控制的系统变量#3004
#3004 | 进给保持 | 进给倍率 | 精确停止 |
0 | 使能 | 使能 | 使能 |
1 | 无效 | 使能 | 使能 |
2 | 使能 | 无效 | 使能 |
3 | 无效 | 无效 | 使能 |
4 | 使能 | 使能 | 无效 |
5 | 无效 | 使能 | 无效 |
6 | 使能 | 无效 | 无效 |
7 | 无效 | 无效 | 无效 |
☆上电时该变量值为0。
☆当不能执行进给保持时:
进给保持按钮按下并保持时,机床以单段停止方式停止,但单段方式若因变量#3003而无效时,不执行单段停止操作。
进给保持按钮按下又释放时,进给保持灯亮,但机床不停止;程序继续进行,机床停在最先含有进给保持使能的段。
☆当进给倍率无效时,倍率定在100%,忽略机床操作面板上的倍率开关。
☆当精确停止无效时不执行精确停止检查(定位检查),即使是包含有不执行切削的段。
设定:
设定变量#3005可以读写,并且二进制值转换成十进制。
#3005 | |||||||||||||||
设定 | #15 | #14 | #13 | #12 | #11 | #10 | #9 | #8 | |||||||
TAPE | REV4 | ||||||||||||||
#7 | #6 | #5 | #4 | #3 | #2 | #1 | #0 | ||||||||
设定 | SEQ | ABS | INCH | ISO | TVON | REVY | REVX | ||||||||
REVX:X—轴镜象on/offREVY:Y—轴镜象 on/offTVON:TV 检查 on/offISO: 输出码EIA/ISOINCH: 公制/英制输入ABS: 相对值/绝对值编程SEQ: 顺序号自动插入on/offREV4: 第四轴镜象on/offTAPE: F10/11 纸带格式 on/off |
零件数:
需要加工的零件数变量#3902和已加工的零件数变量#3901可以被读写。见下表:
变量号 | 功能 |
#3901 | 已加工的零件数 |
#3902 | 需要加工的零件数 |
注:不能使用负数。
模信息:
段中指定的模信息可以读出。见下表:
变量号 | 功能 | |
#4001 | G00,G01,G02,G03,G33 | (01组) |
#4002 | G17,G18,G19 | (02组) |
#4003 | G90,G91 | (03组) |
#4004 | (04组) | |
#4005 | G94,G95 | (05组) |
#4006 | G20,G21 | (06组) |
#4007 | G40,G41,G42 | (07组) |
#4008 | G43,G44,G49 | (08组) |
#4009 | G73,G74,G76,G80~G89 | (09组) |
#4010 | G98,G99 | (10组) |
#4011 | G50,G51 | (11组) |
#4012 | G65,G66,G67 | (12组) |
#4014 | G54~G59 | (14组) |
#4015 | G61~G64 | (15组) |
#4016 | G68,G69 | (16组) |
: | : | |
#4022 | (22组) | |
#4102 | B码 | |
#4107 | D码 | |
#4109 | F码 | |
#4111 | H码 | |
#4113 | M码 | |
#4114 | 顺序号 | |
#4115 | 程序号 | |
#4119 | S码 | |
#4120 | T码 |
例:当执行#1=#4001时,#1=0,1,2,3或33
当前位置:
位置信息变量不能写只能读。见下表:
变量号 | 位置信息 | 坐标系 | 刀具补偿值 | 移动期间的读操作 |
#5001~#5004 | 段结束点 | 工件坐标系 | 不包括 | 使能 |
#5021~#5024 | 当前位置 | 机床坐标系 | 包括 | 无效 |
#5041~#5044 | 当前位置 | 工件坐标系 | ||
#5061~#5064 | 跳段信号位置 | 使能 | ||
#5081~#5084 | 刀偏值 | 无效 | ||
#5101~#5104 | 偏差的伺服位置 |
☆首位数(从1~ 4)分别代表轴号,数1代表X轴,数2代表Y轴,数3代表Z轴,数4代表第四轴。
☆执行当前的刀偏值,而不是立即执行保持在变量#5081~#5088里的值。
☆在含有G31(跳段)的段中发出跳段信号时,刀具的位置保持在变量#5061~#5068里,如果不发出跳段信号,指定段的结束点位置保持在这些变量中。
☆移动期间读变量无效时,表示由于缓冲(准备)区忙,所希望的值不能读。
工件坐标系补偿值(工件零点偏置值):
工件零点偏置值变量可以读写,见下表:
变量号 | 功能 |
#5201~#5204 | 第一轴外部工件零点偏置值~第四轴外部工件零点偏置值 |
#5221~#5224 | 第一轴G54工件零点偏置值~第四轴G54工件零点偏置值 |
#5241~#5244 | 第一轴G55工件零点偏置值~第四轴G55工件零点偏置值 |
#5261~#5264 | 第一轴G56工件零点偏置值~第四轴G56工件零点偏置值 |
#5281~#5284 | 第一轴G57工件零点偏置值~第四轴G57工件零点偏置值 |
#5301~#5304 | 第一轴G58工件零点偏置值~第四轴G58工件零点偏置值 |
#5321~#5324 | 第一轴G59工件零点偏置值~第四轴G59工件零点偏置值 |
#7001~#7004 | 第一轴工件零点偏置值(G54P1)~第四轴工件零点偏置值 |
#7021~#7024 | 第一轴工件零点偏置值(G54P2)~第四轴工件零点偏置值 |
: | |
#7941~#7944 | 第一轴工件零点偏置值(G54P48)~第四轴工件零点偏置值 |
注:对于工件坐标系,变量#5201~#5328是可选变量。
对于附加的48工件坐标系,变量#7001~#7948(G54P1~G54P48) 是可选变量。
原创文章,作者:智造研习社,如若转载,请注明出处:https://www.sfqosk.com/index.php/2024/11/30/148/