发那科系统变量详解
发那科用户宏程序资料知识讲解

2
3
一、变量
1、变量
使用用户宏程序时,数值可以直接指定或用 变量指定。当用变量时,变量值可用程序或用 MDI面板上的操作改变。
#1=#2+100;
G01 X#1 F300;
2、变量的表示
计算机允许使用变量名,用户宏程序不行。 变量用变量符号(#)和后面的变量号指定。
表达式可以用于指定变量号。此时,表达式 必须封闭在括号中。
6
被引用变量的值根据地址的最小设定单位自 动地舍入。
例如: G00 X#1, 以1/1000mm的单位执行时, CNC把12.3456赋值给变量#1,实际指令值为 G00 X12.346;。
改变引用变量的值的符号,要把负号(一)放 在#的前面。
例如:G00 X-#1;
当引用未定义的变量时,变量及地址字都被 忽略。
②ARCCOS #I=ACOS[#j] 取值范围
180°~0°
26
3π/2 π
π/2
-1 0 1
π/2 -1
01 -π/2
π π/2 -1 0 1
27
③ ARCTAN #i=ATAN[#j]/[#K]; 取值范围 当No.6004.0=0时 :0°~360° No.6004.0=1时 :-180°~180°
●在NC语句地址中,ROUND函数根据地值得最小设 定单位指定四舍五入。
例如 #1=1.2345;
#2=2.3456;
G00 G91 X-#1;
G01 X-#2 F300;
G00 X[#1+#2];
1.2345+2.3456=3.5801=3.580不返回到初始位置
或 G00 X-[ROUND[#1]+ROUND[#2]]
发那克系统中宏程序的变量

发那克系统中宏程序的变量在发那克系统中宏程序的变量分为两大类一。
一般变量。
又分为3种。
1;#1~#33普通变量。
是可以程序中引如的,可以在程序中用字母对其赋值。
赋值的方法两种,字母对应的方式和ABCIJKIJKIJK方式。
程序执行结束后,此变量中的值会自动消去。
2;#100~#149中间变量。
一般用于中间计算。
程序执行结束后,此变量中的值不会自动消去,但关机再开时,不被保存。
3。
#500~#531保持变量。
一般用于功能程序的常量指定。
可以保存。
关机再开不会消去。
二。
系统变量系统变量是对应系统功能的变量值。
他们的位址是固定对应的,FANUC基本上所有系统都可以通用。
系统变量可以与PMC读入,输出部分信号,可以读取系统时间日期,可以输出报警,可以记忆所执行过的代码状态,可以设定系统的一些基本设置,可以设定坐标系,刀补,磨耗值,可以自行设定固定循环中的执行状态。
#1000~#1136等变量是对应PMC进行信号的读入输出,如果要进行功能性的控制的话,当然PMC要对应这些信号。
#3000是报警输出。
例:#3000=15(data error),执行的话,如果是O系统,会显示515 DATA ERROR的报警,在16 18以及I系列,则显示3015 DATA ERROR ,括号中最多25个字符。
#3006是信息的输出。
#2001~#2099对应加工中心,即M系列系统的刀具长度补正,可以读出和输入。
在16 18等高版本系统中,既可以使用#2001~#2099,也可以用#10001~#10999。
这是在使用刀长补正A的时候的情况。
如果是刀长补正B的话,则#2201~#2400或#11001~#11200是形状补正号码,#2001~#2200或#10001~#10200是磨耗补正号码。
这是加工中心即M系列系统的情况,如果是车床,又有不同如果是刀具补正C的话,#2201~#2400是刀长补正的形状值,#2001~#2200是刀长补正的磨耗值,#13001~#13999是刀半径补正的形状值,#12001~#12999是刀具半径补正的磨耗值。
FANUC常用系统参数说明

FANUC常用系统参数说明1. OVC (Override Control):这个参数用于控制机器人运动速度的缩放比例。
该参数的值范围为0到200,其中0表示机器人停止,100表示机器人以原始程序定义的速度运动,200表示机器人以两倍于原始程序定义的速度运动。
2. PS1 (Teach Pendant Safety Override):该参数用于控制示教器(Teach Pendant)上的安全逻辑。
它决定了是否允许通过示教器来调整机器人的速度和动作。
它的值范围为0到255,其中0表示不允许示教器调整速度和动作,255表示允许示教器完全控制机器人。
3. SV (Servo Gain):该参数用于调整伺服驱动器的增益。
伺服驱动器负责控制机器人的关节运动,而SV参数的值决定了伺服驱动器对应速度指令的响应速度。
较高的SV值可以提供更快的响应和更高的机器人速度,但可能会导致控制系统不稳定。
4. VS (Velocity Scale):该参数用于控制机器人的运动速度。
它的值范围为0到100,其中0表示机器人停止,100表示机器人以原始程序定义的速度运动。
通过调整VS参数可以在不改变原始程序的情况下控制机器人的速度。
5. PR (Position Register):该参数用于存储和管理机器人的位置信息。
每个位置寄存器可以存储机器人的关节角度或笛卡尔坐标。
通过使用PR参数,可以方便地在程序中使用和管理机器人的位置信息。
6. CN (Control Mode):该参数用于控制机器人的动作模式。
它的值决定了机器人是在手动模式下操作还是在自动模式下运行程序。
手动模式下,操作员可以通过示教器来控制机器人的运动;而在自动模式下,机器人会根据预定义的程序自动执行。
7. ITP (Interlocking Program):该参数用于设置并行操作的机器人之间的同步。
当多个机器人同时进行复杂的协作任务时,ITP参数可以确保它们之间的运动同步。
发那科参数大全讲解

发那科系统参数总表[1]系统参数不正确也会使系统报警。
另外,工作中常常遇到工作台不能回到零点、位置显示值不对或是用MDI键盘不能输入刀偏量等数值,这些故障往往和参数值有关,因此维修时若确认PMC 信号或连线无误,应检查有关参数。
一.16系统类参数0:OFF 1:ON1. SETTING 参数(与设定相关的参数)参数号符号意义 16-T 16-M0000/0 TVC 代码竖向校验 O:不进行 1:进行0000/1 ISO EIA/ISO代码 O:EIA代码 1:ISO代码0000/2 INI MDI方式公/英制 O:米制 1:英制0000/5 SEQ 自动加顺序号 O:不进行 1:进行0002/0 RDG 远程诊断 O不进行 1进行0002/7 SJZ 手动参考位置返回 0参考位置未确定时,使用减速挡块进行参考位置返回,参考位置已经确定时,与减速挡块无关,用快速移动定位到参考位置。
1只用减速挡块进行参考位置返回。
0012/0 MIRx 各轴镜像的设定 0关闭 1开启0012/4 AIC 轴命令的移动距离 0依照指定的地址 1总为增量命令0012/7 RMVx 各轴的受控轴拆除设定 0不拆除受控轴 1拆除受控轴3216 自动加程序段号时程序段号的间隔 O 12.RS232C口参数0020 此参数用于设定与连接在哪个接口上的输入输出设备之间进行数据的输入输出。
0,1 RS-232-C串行端口1 2 RS-232-C串行接口2 3 遥控缓冲器接口 4 存储卡接口 5 数据服务器接口 10 DNC1/DNC2接口,OSI因特网 12 DNC1接口#20021 前台输入设备的设定0022 后台输入设备的设定0023 后台输出设备的设定(前台与后台同时使用不同的输入输出设备时,作为后台的设备可设定的数值只有0-3。
如果使用了正在使用的输入输出设备,将发生报警P/S 233或BP/S233,同时,注意设定值0和1表示相同的输入输出设备。
发那科系统变量详解

第二节变量普通的加工程序直接数字标注G代码和移动距离,例如G55和X55.0,用定制宏指令时,可以直接用数字或使用变量。
当使用变量号时可通过程序或MDI操作改变变量值,例如:变量的表示:当标注一个变量时在符号(#)的后面标注变量号,例如:#1表达式可以用来当变量号,但表达式必须放在括号里,例如:#[#33-2+#4]。
变量的类型:变量的取值范围:局部变量和公共变量可以取:0、-1047到-10-29和+10-29到+1047范围内的任意值如果计算无结果会P/S警报器报警。
小数点的使用:在程序中给变量进行赋值时,可以省略小数点。
例如:#1=100;意义就是;变量#1的实际值是100.000。
变量的使用:在程序中要使用一个变量值,在地址语句后面标注变量号即可,当用表达式标注变量时表达式要放在括号里,例如:G02 I[#1+#18]F#9;在1/1000mm的增量系统中被使用的变量值的小数点后面第四位会被四舍五入。
例如:#1=500.123678;那么当执行G00X#1时实际的命令会被翻译成G00X500.124;当使用了一个没有定义的变量时,该变量会被忽略。
例如#1=0;#2的是空,那么当运行G00X#1Y#2;时其结果是G00X0;未定义的变量:当没有给变量定义值时,该变量称为“空”变量。
变量#0永远是空变量。
它不能写,但能读。
比如:当使用了一个没有定义的变量时,该变量会被忽略。
除非用<空>代替否则<空>等于0。
当用在条件表达式时:只在EQ和NE时<空>才不等同于0变量不能不使用的情况:程序号、顺序号、选择快的跳跃不能使用变量。
例如:O#2;/#3G00Z300.0;N#9Y1000.0;这种情况都是不可以的使用变量的。
第三节系统变量可以用系统变量读和写CNC内部的数据,如当前的工件坐标系中的位置和刀具偏置数据。
有些系统变量只能读。
系统变量对编写自动化程序和通用程序十分重要。
(完整版)FANUC变量对照表

表1 宏调用时所传递的字段参数名与当前宏局部变量对照表系统变量#FANUC Oi 系统变量一览表1000~#1015,#1032 ——是指接口输入变量#1100~#1115,#1132,#1133——是指输出变量#10001~#10400,#11001!11400——是指刀具长度补偿值#12001~#12400,#13001~#13400——是指刀具半径补偿值#2001~#2400——是指刀具长度与半径补偿值(偏置组数能小于等于200时)#3000——是指报警#3001,#3002——是指时钟#3003,#3004——是指循环运行控制#3005——是指设定数据(SETTING值)公式在数控铣削加工过程中通常采用参数方程式进行编程。
椭圆的参数方程:x=acosα,y=bsinα双曲线的参数方程:x=asecα,y=btanα 7 p( E# {* k3 ]抛物线参数方程的一种形式:x=2pt2,y=2pt 8 F. _5 }: S, c圆的参数方程:x=rcosα,y=rsinα直线的参数方程:x=x0+tcosα,y=y2+tsinα , h$ P6 v4 ^( }1 c5 H/ o; f( k+ V根据笛卡尔右手定则,在数控铣床上平面主要是X0Y平面上加工工件,所以上述公式主要以X、Y、α、t作为变量,其中a、b、r是常数。
- p5 t0 B$ T U% _& H* W2 运算符与表达式(1)算术运算符:+,-,*,/(2)条件运算符:EQ(=),NE(≠),GT(>),GE(≥),LT(<=),LE(≤)(3)逻辑运算符:AND,OR,NOT(4)函数:SIN,COS,TAN,ATAN,A TAN2,ABS,INT,SIGN,SQRT,EXP(5)表达式:用运算符连接起来的常数,宏变量构成表达式。
fanuc机器人常用变量
fanuc机器人常用变量Fanuc机器人常用的变量包括系统变量和用户变量。
系统变量是由系统定义的,用于控制机器人的运动和操作,而用户变量则是用户可以自定义的变量,用于存储数据和控制程序流程。
下面我将从系统变量和用户变量两个方面进行详细介绍。
首先是系统变量,Fanuc机器人常用的系统变量包括:1. PR[1]-PR[9]: 用于存储程序号,可用于程序之间的调用和跳转。
2. R[1]-R[9]: 用于存储常用的数值数据,例如位置坐标、速度、加速度等。
3. LR[1]-LR[9]: 用于存储长数据,例如字符串或数组。
4. CR[1]-CR[9]: 用于存储循环计数器的数值。
5. SR[1]-SR[9]: 用于存储系统状态和报警信息。
6. PR[100]-PR[199]: 用于存储系统参数,例如速度、加速度、减速度等。
7. TRIGGER[1]-TRIGGER[9]: 用于存储触发器状态,可用于触发程序执行。
其次是用户变量,Fanuc机器人允许用户定义的变量包括:1. P[1]-P[9]: 用于存储用户自定义的程序号,可用于程序之间的调用和跳转。
2. R[10]-R[99]: 用于存储用户自定义的数值数据。
3. LR[10]-LR[99]: 用于存储用户自定义的长数据,例如字符串或数组。
4. CR[10]-CR[99]: 用于存储用户自定义的循环计数器的数值。
5. PR[200]-PR[999]: 用于存储用户自定义的系统参数,例如速度、加速度、减速度等。
这些变量可以在Fanuc机器人的程序中被引用和修改,用于实现复杂的控制逻辑和数据存储。
通过合理地使用这些变量,用户可以灵活地控制机器人的运动和操作,实现各种自动化任务。
同时,需要注意的是,在使用这些变量时,应当遵循Fanuc机器人的编程规范和最佳实践,以确保程序的稳定性和可维护性。
Fanuc系统宏程序变量
Fanuc系统宏程序变量系统变量用于读和写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%,而不管机床操作面板上的进给速度倍率开关的设置。
·当准确停止检测无效时,即使那些不执行切削的程序段也不进行准确停止检测(位置检测)SETTING 值:SETTING 值可用变量读和写。
二进制数转换为十进制数。
镜像使用外部开关或SETTING 操作设置的各轴镜像状态可以通过输出信号(镜像检测信号)读出。
可以检测当前的镜像状态(见III—4.6 节)。
Fanuc系统宏程序变量
Fanuc系统宏程序变量
刀具补偿值:用系统变量可以读和写刀具补偿值。
可使用的变量数取决于刀补数,是否区分外形补偿和磨损补偿以及是否区分刀长补偿和刀尖补偿。
当偏置组数小于等于200 时,也可使用#2001~#2400。
例:
当执行#1=#4002;时,在#1 中得到的值是17,18 或19。
对于不能使用的G 代码组,如果指定系统变量读取相应的模态信息,则发出P/S 报警。
当前位置位置信息:不能写,只能读
·第1 位代表轴号(从1 到3)。
·变量#5081~#5083 存储的刀具长度补偿值是当前的执行值,不是后面程序段的处理值。
·在G31(跳转功能)程序段中跳转信号接通时的刀具位置储存在变量#5061 到#5063 中。
当G31 程序段中的跳转信号未接通时,这些变量中储存指定程序段的终点值。
·移动期间不能读是指由于缓冲(预读)功能的原因,不能读期望值。
工件坐标系补偿值:工件零点偏移值的系统变量(工件零点偏移值)。
FANUC系统宏程序编程的变量,简单实用
FANUC系统宏程序编程的变量,简单实用点击上方,关注我哈普通加工程序直接用数值指定G代码和移动距离;例如,GO1和X100.0。
使用用户宏程序时,数值可以直接指定或用变量指定。
当用变量时,变量值可用程序或用MDI面板上的操作改变。
普通加工程序直接用数值指定G代码和移动距离;例如,GO1和X100.0。
使用用户宏程序时,数值可以直接指定或用变量指定。
当用变量时,变量值可用程序或用MDI面板上的操作改变。
#1=#2+100G01 X#1 F300说明:变量的表示计算机允许使用变量名,用户宏程序不行。
变量用变量符号(#)和后面的变量号指定。
例如:#1表达式可以用于指定变量号。
此时,表达式必须封闭在括号中。
例如:#[#1+#2-12]变量的类型变量根据变量号可以分成四种类型1.变量号:#0变量类型:空变量功能:该变量总是空,没有值能赋给该变量。
2.变量号:#1-#33变量类型:局部变量功能:局部变量只能用在宏程序中存储数据,例如,运算结果.当断电时,局部变量被初始化为空.调用宏程序时,自变量对局部变量赋值。
3.变量号:#100-#199、#500-#999变量类型:公共变量功能:公共变量在不同的宏程序中的意义相同.当断电时,变量#100-#199初始化为空.变量#500-#999的数据保存,即使断电也不丢失。
4.变量号:#1000 变量类型:系统变量功能:系统变量用于读和写CNC运行时各种数据的变化,例如,刀具的当前位置和补偿值。
变量值的范围局部变量和公共变量可以有0值或下面范围中的值: -1047到-10-29或-10-2到-10474.变量号:#1000变量类型:系统变量功能:系统变量用于读和写CNC运行时各种数据的变化,例如,刀具的当前位置和补偿值。
变量值的范围局部变量和公共变量可以有0值或下面范围中的值:-1047到-10-29或-10-2到-1047如果计算结果超出有效范围,则发出P/S报警NO.111.小数点的省略当在程序中定义变量值时,小数点可以省略。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二节变量
普通的加工程序直接数字标注G代码和移动距离,例如G55和X55.0,用定制宏指令时,可以直接用数字或使用变量。
当使用变量号时可通过程序或MDI 操作改变变量值,例如:
变量的表示:当标注一个变量时在符号(#)的后面标注变量号,例如:#1表达式可以用来当变量号,但表达式必须放在括号里,例如:#[#33-2+#4]。
变量的类型:
变量的取值围:局部变量和公共变量可以取:
0、-1047到-10-29和+10-29到+1047范围内的任意值
如果计算无结果会P/S警报器报警。
小数点的使用:在程序中给变量进行赋值时,可以省略小数点。
例如:#1=100;意义就是;变量#1的实际值是100.000。
变量的使用:在程序中要使用一个变量值,在地址语句后面标注变量号即可,当用表达式标注变量时表达式要放在括号里,例如:G02 I[#1+#18]F#9;
在1/1000mm的增量系统中被使用的变量值的小数点后面第四位会被四舍五入。
例如:#1=500.123678;那么当执行G00X#1时实际的命令会被翻译成
G00X500.124;
当使用了一个没有定义的变量时,该变量会被忽略。
例如#1=0;#2的是空,那么当运行G00X#1Y#2;时其结果是G00X0;
未定义的变量:当没有给变量定义值时,该变量称为“空”变量。
变量#0永远是空变量。
它不能写,但能读。
比如:
当使用了一个没有定义的变量时,该变量会被忽略。
除非用<空>代替否则<空>等于0。
当用在条件表达式时:只在EQ和NE时<空>才不等同于0
变量不能不使用的情况:程序号、顺序号、选择快的跳跃不能使用变量。
例如:O#2;/#3G00Z300.0;N#9Y1000.0;这种情况都是不可以的使用变量的。
第三节系统变量
可以用系统变量读和写CNC部的数据,如当前的工件坐标系中的位置和刀具偏置数据。
有些系统变量只能读。
系统变量对编写自动化程序和通用程序十分重要。
关于界面信号的变量:
关于刀具偏置值的变量:用系统变量可以读和写刀具补偿值,可用的变量数目取决于偏置对数目,是在几何偏置和磨损偏置之间做区分,以及是否在刀具长度补偿值和半径补偿值之间作区分,当偏置对数目不大于200时,变量#2001到#2400也可以使用。
刀具偏置储存器C的系统变量
在应用宏程序编写加工程序时将会有以下形式的描述:
#1=#13001 此时把1号刀的半径补偿值赋值给变量#1,若1刀的直径80mm 那么此时#1=5.0
#2=#12001 此时把1号刀的半径磨损值赋值给变量#2,若1刀的半径磨损0.15那么此时#2=0.15
关于宏报警的系统变量:
例如:#3000=6(TOOL NOT FOUND)报警信息显示为“3006 TOOL NOT FOUND”(没有找到刀具)
#3000=15(D fu zhi cuo wu) 报警信息显示为“3015 D fu zhi cuo wu”
(D赋值错误)
以上都可以使用。
关于模态信息的系统变量:
例如:当执行#1=#4014;时,#1中的值是54、55、56、57、58或59。
关于当前位置信息的系统变量:此系统变量不可以写,但可以读。
关于工件坐标系偏置值的系统变量:此系统变量可以读写。
下列变量也可以使用:
例如:#1=#2501;那么这时#1等于G54坐标系中的第一轴的数据#2501=-1500.0;那么这时G54坐标系中的第一轴偏置值为-1500.0。