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