最新发那科系统变量详解.docx
《最新发那科系统变量详解.docx》由会员分享,可在线阅读,更多相关《最新发那科系统变量详解.docx(12页珍藏版)》请在冰豆网上搜索。
最新发那科系统变量详解
发那科系统变量详解
第二节变量
普通的加工程序直接数字标注G代码和移动距离,例如G55和X55.0,用定制宏指令时,可以直接用数字或使用变量。
当使用变量号时可通过程序或MDI操作改变变量值,例如:
#33=#1+10.5
G01X#1F500
变量的表示:
当标注一个变量时在符号(#)的后面标注变量号,例如:
#1表达式可以用来当变量号,但表达式必须放在括号里,例如:
#[#33-2+#4]。
变量的类型:
变量号
变量类型
功能
#0
总是0
此变量永远是0,不能给它赋值。
#1-#33
局部变量
局部变量只在一个宏指令中保存数据,当切断电源时局部变量被清空。
调用宏指令时要给局部变量制定自变量。
#100-#149
#500-#531
公共变量
不同的的宏程序可以共享共用的变量。
当切断电源时,变量#100-#149被清空。
变量#500-#531在切断电源是能保持数据。
#1000以后的
系统变量
系统变量是可以用来读和写各种NC数据项的,如当前的工件坐标系中的位置和刀具偏置数据。
变量的取值范围:
局部变量和公共变量可以取:
如果计算无结果会P/S警报器报警。
小数点的使用:
在程序中给变量进行赋值时,可以省略小数点。
例如:
#1=100;意义就是;变量#1的实际值是100.000。
变量的使用:
在程序中要使用一个变量值,在地址语句后面标注变量号即可,当用表达式标注变量时表达式要放在括号里,例如:
G02I[#1+#18]F#9;
在1/1000mm的增量系统中被使用的变量值的小数点后面第四位会被四舍五入。
例如:
#1=500.123678;那么当执行G00X#1时实际的命令会被翻译成G00X500.124;
当使用了一个没有定义的变量时,该变量会被忽略。
例如#1=0;#2的是空,那么当运行G00X#1Y#2;时其结果是G00X0;
未定义的变量:
当没有给变量定义值时,该变量称为“空”变量。
变量#0永远是空变量。
它不能写,但能读。
比如:
当使用了一个没有定义的变量时,该变量会被忽略。
除非用<空>代替否则<空>等于0。
当#1=<空>时
当#1=0时
G00X10Y#1
G00X10
G00X10Y#1
G00X10Y0
#2=#1
#2=<空>
#2=#1
#2=0
#2=#1*10.5
#2=0
#2=#1*10.5
#2=0
#2=#1+#1
#2=0
#2=#1+#1
#2=0
当用在条件表达式时:
只在EQ和NE时<空>才不等同于0
当#1=<空>时
当#1=0时
#1EQ#0
确定
#1EQ#0
不确定
#1NE#0
确定
#1NE#0
不确定
#1GE#0
确定
#1GE#0
确定
#1GT#0
不确定
#1GT#0
不确定
变量不能不使用的情况:
程序号、顺序号、选择快的跳跃不能使用变量。
例如:
O#2;/#3G00Z300.0;N#9Y1000.0;这种情况都是不可以的使用变量的。
第三节系统变量
可以用系统变量读和写CNC内部的数据,如当前的工件坐标系中的位置和刀具偏置数据。
有些系统变量只能读。
系统变量对编写自动化程序和通用程序十分重要。
关于界面信号的变量:
变量号
功能
#1000-#1015
#1032
把16位信号从PMC送的用户宏程序,变量#1000到#1015用来逐位读信号,变量#1032用来一次读信号全部16位。
,
#1100-#1115
#1132
把16位信号从用户宏程序送的PMC,变量#1100到#1115用来逐位写信号,变量#1132用来一次写一个信号的全部16位。
#1133
变量#1133从宏程序一次写信号的全部16位送给PMC。
注意:
变量#1133可用值位-99999999到+99999999
关于刀具偏置值的变量:
用系统变量可以读和写刀具补偿值,可用的变量数目取决于偏置对数目,是在几何偏置和磨损偏置之间做区分,以及是否在刀具长度补偿值和半径补偿值之间作区分,当偏置对数目不大于200时,变量#2001到#2400也可以使用。
刀具偏置储存器C的系统变量
偏置号
刀具长度补偿(H)
刀具半径补偿(D)
几何补偿
磨损补偿
几何补偿
磨损补偿
1
:
200
:
999
#11001(#2201)
:
#11201(#2400)
:
#11999
#10001(#2001)
:
#10201(#2200)
:
#10999
#13001
:
:
;
#13999
#12001
:
:
;
#12999
在应用宏程序编写加工程序时将会有以下形式的描述:
#1=#13001此时把1号刀的半径补偿值赋值给变量#1,若1刀的直径80mm那么此时#1=5.0
#2=#12001此时把1号刀的半径磨损值赋值给变量#2,若1刀的半径磨损0.15那么此时#2=0.15
关于宏报警的系统变量:
变量号
功能
#3000
当一个0-200的值赋值给#3000时,CNC会停止并报警。
在一个表达式的后面跟着一条不超过26个字符的报警信息。
将3000与被赋予#3000的值相加变成报警号和报警信息一起在屏幕上显示出来。
例如:
#3000=6(TOOLNOTFOUND)报警信息显示为“3006TOOLNOTFOUND”(没有找到刀具)
#3000=15(Dfuzhicuowu)报警信息显示为“3015Dfuzhicuowu”
(D赋值错误)
以上都可以使用。
关于模态信息的系统变量:
变量号
功能
#4001
#4002
#4003
#4004
#4005
#4006
#4007
#4008
#4009
#4010
#4011
#4012
#4013
#4014
#4015
#4016
:
#4022
#4102
#4107
#4109
#4111
#4113
#4114
#4115
#4119
#4120
#4130
G00,G01,G03,G33(01组)
G17,G18,G19(02组)
G90,G91(03组)
(04组)
G94,G95(05组)
G20,G21(06组)
G40,G41,G42(07组)
G43,G44,G49(08组)
G73,G74,G76,G80-G89(09组)
G98,G99(10组)
G50,G51(11组)
G65,G66,G67(12组)
G96,G97(13组)
G54-G59(14组)
G61-G64(15组)
G68,G69(16组)
:
:
(22组)
B码
D码
F码
H码
M码
顺序号
程序号
S码
T码
P码(实际选择的附加工件坐标系号)
例如:
当执行#1=#4014;时,#1中的值是54、55、56、57、58或59。
关于当前位置信息的系统变量:
此系统变量不可以写,但可以读。
变量号
位置信息
坐标系
刀具补偿值
运动期间的读操作
#5001-#5008
程序块的终点
工件坐标系
不包括
能
#5021-#5028
当前的位置
机床坐标系
包括
不能
#5041-#5068
当前位置
工件坐标系
#5061-#5068
跳跃信号位置
能
#5081-#5088
刀具长度补偿值
不能
#5101-#5108
伺服位置偏差值
关于工件坐标系偏置值的系统变量:
此系统变量可以读写。
变量号
功能
#5201
:
#5208
第1轴外部工件零点偏置值
:
第8轴外部工件零点偏置值
#5221
:
#5228
第1轴G54工件零点偏置值
:
第8轴G54工件零点偏置值
#5241
:
#5248
第1轴G55工件零点偏置值
:
第8轴G55工件零点偏置值
#5261
:
#5268
第1轴G56工件零点偏置值
:
第8轴G56工件零点偏置值
#5281
:
#5288
第1轴G57工件零点偏置值
:
第8轴G57工件零点偏置值
#5301
:
#5308
第1轴G58工件零点偏置值
:
第8轴G58工件零点偏置值
#5321
:
#5328
第1轴G59工件零点偏置值
:
第8轴G59工件零点偏置值
#7001
:
#7008
第1轴工件零点偏置值(G54.1P1)
:
第8轴工件零点偏置值
#7021
:
#7028
第1轴工件零点偏置值(G54.1P2)
:
第8轴工件零点偏置值
:
#7941
:
#7948
第1轴工件零点偏置值(G54.1P48)
:
第8轴工件零点偏置值
#14001
:
#14008
第1轴工件零点偏置值(G54.1P1)
:
第8轴工件零点偏置值
#14021
:
#14028
第1轴工件零点偏置值(G54.1P)
:
第8轴工件零点偏置值
:
#19980
:
#19988
第1轴工件零点偏置值(G54.1P300)
:
第8轴工件零点偏置值
下列变量也可以使用:
轴
功能
变量号
第1轴
外部工件零点偏置
G54工件零点偏置
G55工件零点偏置
G56工件零点偏置
G57工件零点偏置
G58工件零点偏置
G59工件零点偏置
#2500
#2501
#2502
#2503
#2504
#2505
#2506
#5201
#5221
#5241
#5261
#5281
#5301
#5321
第2轴
外部工件零点偏置
G54工件零点偏置
G55工件零点偏置
G56工件零点偏置
G57工件零点偏置
G58工件零点偏置
G59工件零点偏置
#2600
#2601
#2602
#2603
#2604
#2605
#2606
#5202
#5222
#5242
#5262
#5282
#5302
#5322
第3轴
外部工件零点偏置
G54工件零点偏置
G55工件零点偏置
G56工件零点偏置
G57工件零点偏置
G58工件零点偏置
G59工件零点偏置
#2700
#2701
#2702
#2703
#2704
#2705
#2706
#5203
#5223
#5243
#5263
#5283
#5303
#5323
第4轴
外部工件零点偏置
G54工件零点偏置
G55工件零点偏置
G56工件零点偏置
G57工件零点偏置
G58工件零点偏置
G59工件零点偏置
#2800
#2801
#2802
#2803
#2804
#2805
#2806
#5204
#5224
#5244
#5264
#5284
#5304
#5324
例如:
#1=#2501;那么这时#1等于G54坐标系中的第一轴的数据
#2501=-1500.0;那么这时G54坐标系中的第一轴偏置值为-1500.0