用户宏程序课件.ppt
《用户宏程序课件.ppt》由会员分享,可在线阅读,更多相关《用户宏程序课件.ppt(111页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、关于用户宏程序第1页,此课件共111页哦第一部分:用户宏程序编程第一部分:用户宏程序编程一、宏程序应用概述一、宏程序应用概述 定定义义:用用户户宏宏程程序序是是“除除了了使使用用通通常常的的CNC指指令令外外,还还可可以以使使用用带带变量的变量的CNC指令,进行变量运算,使用跳转、循环指令等指令,进行变量运算,使用跳转、循环指令等”具有某种功能的一组命令,象数控加工程序一样存储在内存中。具有某种功能的一组命令,象数控加工程序一样存储在内存中。存存储储的的这这组组命命令令称称为为用用户户宏宏程程序序主主体体(简简称称宏宏程程序序),用用户户宏宏程序可以被程序可以被“调用宏程序的指令调用宏程序的指
2、令”调用调用。可以作为主程序、子程序。可以作为主程序、子程序。调用宏程序调用宏程序 指令指令具有某种具有某种功能的一功能的一组命令组命令 O0001;0001;G65P9010R50.0L2;G65P9010R50.0L2;M30;M30;O9010;9010;#1=#18/2;#1=#18/2;G01X#1 Z#1 F0.3;G01X#1 Z#1 F0.3;G02X#1 Z-#1 R#1;G02X#1 Z-#1 R#1;M99M99;加工程序用户宏程序第2页,此课件共111页哦(一)宏程序与普通程序的对比(一)宏程序与普通程序的对比 一一般般意意义义上上的的数数控控编编程程(普普通通程程序序
3、),是是使使用用数数控控系系统统给给定定的的指指令令代代码码进进行行编编程程。每每个个代代码码的的功功能能固固定定,只只要要按按规规定定使使用用即即可可。为为了了扩扩展展编编程程功功能能,FANUCFANUC数数控控系系统统厂厂家家在在一一般般指指令令代代码码功功能能基基础础上上,又又提提供供了用户宏程序功能,简称宏程序。区别如下:了用户宏程序功能,简称宏程序。区别如下:普通程序使用常量,常量之间不能运算,程序只能顺序执普通程序使用常量,常量之间不能运算,程序只能顺序执 行不能跳转,程序没有通用性;行不能跳转,程序没有通用性;宏程序可以使用变量(可以赋值),变量之间可以运算,宏程序可以使用变量
4、(可以赋值),变量之间可以运算,程序运行可以跳转,程序具有通用性。程序运行可以跳转,程序具有通用性。第3页,此课件共111页哦(二)宏程序与(二)宏程序与CAD/CAMCAD/CAM软件生成的程序对比软件生成的程序对比 宏宏程程序序短短小小精精悍悍,任任何何数数控控加加工工只只要要能能够够用用宏宏程程序序完完整整表表达达,即即使使再再复复杂杂,其其程程序序也也比比较较精精炼炼篇篇幅幅小小,优优化化后后的的宏宏程程序序段段数数很很少少超超过过6060行行,这这对对于于一一般般数数控控装装置置的的程程序序存存储储空空间间为为128KB128KB、256KB256KB标标准准配配置置来来说说,都都能
5、能容容纳纳下下任任何何复复杂杂的的宏宏程程序序。不不需需要要考考虑虑因因程程序序较较长长进行在线加工时,数控系统与外部电脑的传输率不够问题。进行在线加工时,数控系统与外部电脑的传输率不够问题。CAD/CAMCAD/CAM软软件件生生成成的的程程序序通通常常都都比比较较大大,因因为为其其生生成成刀刀具具轨轨迹迹的的原原理理采采用直线(微线段)逼近曲线曲面,所以不但程序长,而且存在逼近误差。用直线(微线段)逼近曲线曲面,所以不但程序长,而且存在逼近误差。(三)用户宏程序与一般子程序对比(三)用户宏程序与一般子程序对比 子程序可用于同一操作的重复执行,用户宏程序具子程序可用于同一操作的重复执行,用户
6、宏程序具有此功能,有此功能,还允许使用变量、算术和逻辑操作、条件转移等,也可以扩展还允许使用变量、算术和逻辑操作、条件转移等,也可以扩展 一般程序,如凹槽循环和用户定义的循环。加工程序可以调用一般程序,如凹槽循环和用户定义的循环。加工程序可以调用 带有简单命令的用户宏程序。带有简单命令的用户宏程序。第4页,此课件共111页哦FANUC 数控系统具有用户宏程序功能数控系统具有用户宏程序功能。宏程序的最大特点:宏程序的最大特点:在宏程序中,除了使用通常的在宏程序中,除了使用通常的CNC指令外,还可以使用带指令外,还可以使用带 变量的变量的CNC指令,进行赋值、变量运算,使用跳转、循环指令,进行赋值
7、、变量运算,使用跳转、循环 指令等指令。指令等指令。根据宏程序功能范围的不同分为:根据宏程序功能范围的不同分为:用户宏程序用户宏程序A 用户宏程序用户宏程序B 现代现代FANUC系统已不分系统已不分“用户宏程序用户宏程序A”和和“用户宏程序用户宏程序 B”,取消了宏程序取消了宏程序A,统称为用户宏程序,统称为用户宏程序。第5页,此课件共111页哦二、基础理论二、基础理论2.1变量概念变量概念 普通加工程序用数值指定普通加工程序用数值指定G代码和位移距离代码和位移距离例如:例如:G01和和X100.0。使用宏程序时,数值可以直接指定,而且可用变量指定代使用宏程序时,数值可以直接指定,而且可用变量
8、指定代码和位移等,变量值可以用程序或用码和位移等,变量值可以用程序或用MDI方式设定或修改。方式设定或修改。例如:例如:#1=#2+100;G01X#1F500;G#3,#3=02第6页,此课件共111页哦2.2 2.2 变量的表示变量的表示 一一般般计计算算机机程程序序语语言言允允许许使使用用变变量量名名,用用户户宏宏程程序序则则不不行行。用用户户宏宏程程序序的的变变量量需需用用变变量量符符号号“#”和和其其后后的的变变量量号号指指定定,变变量量号号可可以以直直接接用用数数值或表达式表示,其格式为:值或表达式表示,其格式为:i(i=1、2、3、)。例例如如,#12,102,1006等等。用用
9、表表达达式式指指定定变变量量号号时时,表表达达式式必必须须放在括号内。例如,放在括号内。例如,#1+#2-12。变变量量可可以以代代替替宏宏程程序序中中地地址址后后面面的的数数值值,变变量量的的值值可可由由调调用用用用户户宏宏程程序序的的指指令令给给宏宏程程序序主主体体赋赋值值,或或者者在在执执行行宏宏程程序序主主体体时时由由得得出出的的计计算算值值决决定。使用复数个变量时,可由变量号决定定。使用复数个变量时,可由变量号决定。2.2.1 2.2.1 变量的引用变量的引用 1.1.变量可被引用为代替宏程序中地址后面的数值变量可被引用为代替宏程序中地址后面的数值 如如 F F103103,表表示示
10、进进给给速速度度由由变变量量103103的的值值指指定定,当当103=1.5103=1.5时时,与与F1.5F1.5指令的相同。又如,指令的相同。又如,G G130130,当,当130=3130=3时,与时,与G03G03指令相同;指令相同;第7页,此课件共111页哦 2.2.变量可被引用为指定意义变量可被引用为指定意义,如如:位移、代码等。位移、代码等。如如G00Z-G00Z-100100,表表示示刀刀具具在在-Z-Z方方向向快快速速定定位位到到变变量量100100指指定定的的位位置置,当当100=250100=250时,与时,与G00Z-250.0G00Z-250.0指令的相同;指令的相同
11、;此此外外,用用变变量量j j代代替替变变量量号号码码i i时时,不不能能用用j j表表示示,而而用用9j9j。当当110=120110=120(110110为为j j,120120为为变变量量号号码码),120=500120=500时时,则则为为9110=5009110=500。地地址址O,N不不能能引引用用变变量量,即即不不能能使使用用O100100,N N120120。变变量值可以显示,可以用量值可以显示,可以用MDIMDI键设定。键设定。3.3.自变量赋值(指定)自变量赋值(指定)在在宏宏程程序序中中给给使使用用的的变变量量所所赋赋予予的的实实际际值值叫叫做做自自变变量量赋赋值值。自自
12、变变量量由由地地址址和和后后面面的的数数字字指指定定。除除O之之外外的的地地址址均均可可指指定定自自变变量量,自自变变量量的的地地址址和和变变量量号号必必须须一一一一对对应应。例例如如自自变变量量的的地地址址I I、J J、K K与与宏宏程程序序内的变量一一对应内的变量一一对应 赋值:赋值:直接指定、调用宏程序指令传送、表达式指定直接指定、调用宏程序指令传送、表达式指定 此外自变量还有标志号,如指定自变量标志为此外自变量还有标志号,如指定自变量标志为1 1,否则为,否则为0 0。自变量被指定,变为指定值,否则变为下述情况:自变量被指定,变为指定值,否则变为下述情况:参照参照CNCCNC指令,指
13、定的自变量地址无效。指令,指定的自变量地址无效。参照运算指令和转移指令。参照运算指令和转移指令。第8页,此课件共111页哦2.2.2 2.2.2 变量的类型变量的类型 按变量号、使用范围和功能,变量分为四种类型,见表按变量号、使用范围和功能,变量分为四种类型,见表1 1。表表1 1 变量类型变量类型变量号变量号变量类型变量类型功能功能#0#0总是空总是空(空变量)(空变量)这个变量总是空,没有值赋予该变量这个变量总是空,没有值赋予该变量。#1#1#33#33局部变量局部变量局部变量只能在宏程序中存储数据,例如:局部变量只能在宏程序中存储数据,例如:运算结果。断电时,局部变量清除(初始化运算结果
14、。断电时,局部变量清除(初始化为空)。可以在程序中对其赋值。为空)。可以在程序中对其赋值。#100#100#149#149(#199#199)#500#500#531#531(#999#999)公共变量公共变量公共变量在不同的宏程序中的意义相同,公共变量在不同的宏程序中的意义相同,即公共变量对于主程序和从这些主程序调用即公共变量对于主程序和从这些主程序调用的每个宏程序来说是公用的。的每个宏程序来说是公用的。断电时,断电时,#100#100#199#199清除(初始化为空)清除(初始化为空)通电时复位到通电时复位到“0 0”。而。而#500#500#999#999数据,数据,即使在断电时,也不清
15、除。即使在断电时,也不清除。#1000#1000以上以上系统变量系统变量系统变量用于读和写系统变量用于读和写CNCCNC运行时各种数据变运行时各种数据变化。例如,刀具当前位置和补偿等化。例如,刀具当前位置和补偿等。第9页,此课件共111页哦注:公共变量注:公共变量#150#150 到到#199#199 及及#532#532 到到#999#999 是随意的(可选择是随意的(可选择)2.2.3 2.2.3 变量值的范围变量值的范围 局部变量和公共变量的值可以是局部变量和公共变量的值可以是0 0或以下范围中的值:或以下范围中的值:-10-104747-10-102929 0 0 +10 +10-29
16、-29+10+104747 如果计算结果超出有效范围,则触发程序错误如果计算结果超出有效范围,则触发程序错误P/SP/S,报警报警NO.111.111。2.2.4 2.2.4 小数点的省略小数点的省略 当在程序中定义变量值时,整数值的小数点可以省略。当在程序中定义变量值时,整数值的小数点可以省略。例如:例如:#1=123#1=123,变量,变量#1#1的实际值是的实际值是123.000123.000。第10页,此课件共111页哦2.2.5 2.2.5 变量使用时注意的问题变量使用时注意的问题 在程序中使用变量时,应指定变量号地址。在程序中使用变量时,应指定变量号地址。当当用用表表达达式式指指定
17、定变变量量时时,必必须须把把表表达达式式放放在在括括号号中中,例例如如:G01 G01 X#11+#22 F#3X#11+#22 F#3。被被引引用用变变量量的的值值根根据据地地址址的的最最小小设设定定单单位位自自动动的的四四舍舍五五入入。例例如如:当当G00 G00 X#11X#11,以以1/1000mm1/1000mm的的单单位位执执行行赋赋值值12.345612.3456时时,CNCCNC把把12.345612.3456赋赋值值给给变量变量#11#11,实际指令值为,实际指令值为G00X12.346G00X12.346。改改变变引引用用变变量量的的值值的的符符号号,要要把把“-”号号放放
18、在在#的的前前面面,例例如如:G00XG00X-#11#11。当当引引用用未未定定义义的的变变量量时时,变变量量及及地地址址都都被被忽忽略略。例例如如:当当变变量量#11#11的值是的值是0 0,并且变量并且变量#22#22的值是空时的值是空时,G00X#11Y#22G00X#11Y#22的执行结果是的执行结果是G00X0G00X0。所所谓谓“变变量量的的值值是是0 0”与与“变变量量的的值值是是空空”是是二二个个完完全全不不同同的的概概念念,可以这样理解:可以这样理解:“变量的值是变量的值是0 0”相当于相当于“变量的数值等于变量的数值等于0 0”,“变变量量的的值值是是空空”意意味味着着“
19、变变量量所所对对应应的的地地址址不不存存在在,不不生生效效”,未定义。未定义。第11页,此课件共111页哦 不不能能用用的的变变量量地地址址符符号号有有:程程序序号号O,顺顺序序号号N,任任选选程程序序段段挑挑转转号号 /。例如以下情况不能使用变量:例如以下情况不能使用变量:O#11#11;/O#22G00X100.0#22G00X100.0;N#33Y200.0N#33Y200.0;使使用用ISOISO代代码码编编程程时时,用用“#”代代码码表表示示变变量量,若若用用EIAEIA代代码码,则则应应用用“”代码代替代码代替“#”代码,因为代码,因为EIAEIA代码中没有代码中没有“#”代码代码
20、2.3 2.3 系统变量系统变量 空空变变量量、局局部部变变量量和和公公共共变变量量的的意意义义见见表表1 1功功能能说说明明部部分分,不不再再赘赘述。下面介绍系统变量。述。下面介绍系统变量。系系统统变变量量用用于于读读和和写写CNCCNC内内部部数数据据,例例如如,刀刀具具偏偏置置值值和和当当前前位位置置数数据据。无无论论用用户户宏宏程程序序A A或或用用户户宏宏程程序序B B,系系统统变变量量的的用用法法都都是是固固定定的的,而且某些系统变量为只读,用户必须严格按照规定使用。而且某些系统变量为只读,用户必须严格按照规定使用。系系统统变变量量是是自自动动控控制制和和调调用用加加工工程程序序开
21、开发发的的基基础础。系系统统变变量量的的内内容容见表见表2 2。第12页,此课件共111页哦表表2 FANUC 0i2 FANUC 0i系统变量一览表系统变量一览表 变量号变量号 含义含义#1000#1000#1015#1015,#1032#1032 接口输入变量接口输入变量#1100#1100#1115#1115,#1132#1132,#1133#1133 接口输出变量接口输出变量#10001#10001#10400#10400,#11001#11001#11400#11400 刀具长度补偿值刀具长度补偿值#12001#12001#12400#12400,#13001#13001#13400
22、#13400 刀具半径补偿值刀具半径补偿值#2001#2001#2400#2400 刀具长度与半径补偿值(位置组数刀具长度与半径补偿值(位置组数 200200时)时)#3000#3000 报警报警#3001#3001,#3002#3002 时钟时钟#3003#3003,#3004#3004 循环运行控制循环运行控制#3005#3005 设定数据(设定数据(SETTINGSETTING值)值)#3006#3006 停止和显示信息停止和显示信息#3007#3007 镜像像#3011#3011,#3012#3012 日期和时间日期和时间#3901#3901,#3902#3902 零件数零件数#400
23、1#4001#4120#4120,#4130#4130 模态信息模态信息#5001#5001#5104#5104 位置信息位置信息#5201#5201#5324#5324 工件坐标系补偿值(工件零点偏移值)工件坐标系补偿值(工件零点偏移值)#7001#7001#7944#7944 扩展工件坐标系补偿值(工件零点偏扩展工件坐标系补偿值(工件零点偏 移值移值)第13页,此课件共111页哦下面对系统变量进行说明下面对系统变量进行说明2.3.1 2.3.1 接口(输入输出)信号接口(输入输出)信号接口信号是可编程机床控制器(PMC)和用户宏程序之间交换的信号,具体内容见表3。表3 FANUC 0i 接
24、口信号的系统变量 变量号 功能#1000#1000#1015#1015 把16位信号从PMC送到用户宏程序。变量#1000#1000#1032#1032#1015#1015用于按位读取信号;变量#1032#1032用于一 次读取一个16位信号#1100#1100#1115#1115 输出:把16位信号从用户宏程序送到PMC。变量#1100#1100#1132#1132#1115#1115用于按位写信号;变量#1132#1132用于一次 写一个16位信号#1133#1133 变量#1133#1133用于从用户宏程序一次写一个32位 信号送到PMC。#1133#1133的值为从-99999999到
25、 +99999999注:只有使用FANUC PMC时,才能使用上表中的变量。在运算中,系统变量#1000#1000#1015#1015和#1032不能用作左边的项。下面对系统变量进行说明下面对系统变量进行说明2.3.1 2.3.1 接口(输入输出)信号接口(输入输出)信号接口信号是可编程机床控制器(PMC)和用户宏程序之间交换的信号,具体内容见表3。表3 FANUC 0i 接口信号的系统变量 变量号 功能#1000#1000#1015#1015 把16位信号从PMC送到用户宏程序。变量#1000#1000#1032#1032#1015#1015用于按位读取信号;变量#1032#1032用于一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 用户 程序 课件
限制150内