数控车宏程序培训教程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
宏程序培训教程
Fanuc系统
铣削类
周为鑫
09年9月
宏程序的定义:
宏程序简言之就是:宏编程,它是一种零件的编程方法,该方法是在标准CNC编程方式的基础上附加控制特征,以使功能更强大、更具有灵活性。
宏程序的应用
1、凡是复杂有规律的零件比较适合使用宏程序,例如复杂的二次曲线。
2、相似零件组、偏执控制、定制固定循环、专用G代码和M代码、非标准刀具的运动、报警信息产生、检测和测量、各种捷径和应用。
宏程序与标准CNC编程的区别标准编程宏程序编程
使用定值编程使用变量代替定
值
定值之间不可以运
算变量之间可以运
算
程序是按照顺序执
行程序可以任意跳
转
什么是变量?
变量是不断变化的数据的存储单元,它可以储存某些
给定的数值,当给变量赋值时就相当于把数值存入
变量中,方便以后使用。
储存到变量的中数称之为定义值或定义变量。
给变量储存数值的过程称之为赋值。
标准CNC编程都是跟一个确定的数值,在程序中直观、简单、易懂,宏程序编程不直接用定值,而是用一
个变量符号代替数值,当需要这个数值时就直接把
这个变量写在程序里面,起到一个等价交换的作用。例如:#1=100
G01 X#1 F90. #1就是起到等价连接作用
变量的基础知识
变量的表示:变量符号+变量号
Fanuc、哈斯、三菱、马扎克日系类都是用: #西门子802s、802Dsl、840D、810D都是用:R PA系统使用:P
海德汉系统使用:Q
# i(i=0、1、2、3、4、5……)
#0 #1 #2 #3 #4……
拓展:表达式也可以用于指定变量号,此时表达
式必须封闭在括号内
例如# [ #1+ #2 –12 ]
括号的要求:西门子用小括号()
Fanuc 用中括号[ ]
变量的类型:根据变量号可以分成4种类型
变量号变量类型功能作用
#0空变量总是为空,没有值能赋予它#1~#33局部变量只能在程序中储存,一旦断电时
清空,再次调用时,赋值有效
#100~#199 #500~#999公共变量
在不同的程序中意义相同,断电
时100-199清空,500-999数据保
存,即使断电也不丢失
#1000 ~系统变量系统变量用于读和写CNC各种数
据,例如刀具、刀补、坐标
变量的应用
1、在程序中定义变量值时,整数情况时小数点可
以省略。#1=123 实际是#1=123.000
2、在程序中指定变量号即可直接引用其变量值。
#1=123 G01 X#1 F20 实际就是X123
3、当用表达式指定变量时,要把表达式放在括号
中。G01 X [ [ #1+#2 ] * 2 ] F100. 表达式计算产生的结果由系统根据地址最小设定单位自动四舍五入。
4、改变应用变量的值的符号时,要把(-)负号
写在#的前面#1=10 G01 X-#1 F100.
5、引用未被赋值的变量时,变量及地址字都被或
略
以下情况要引起注意:
1冒号字符:冒号字符不允许出现2分号字符;分号字符不允许出现30是中性值+0或-0是无法识别的4数值前面的0可以忽略#1=003 与#1=3是一样的5程序号不能使用变量O#1 不允许出现
6段号不能使用变量N#1 不允许出现
7单个变量的括号可以
省略
#[7] 就写成#7
8一个变量不能直接
替代另外一个变量
##7 或#[#7]是错误的
9如果预先已经定义了#7和#9,那么下面的嵌套式正确的,#101=FIX[[#9*100]/[3.14*7]]
变量的运算
功能变量符号#举例
定义、转换、赋值#1=#2#1=2 #2=#1加法#1+#2#1=#2+#3
减法#1-#2#1=#2-#3
乘法#1*#2#1=#2*#3
除法#1/#2#1=#2/#3四则混合运算[[#1+#2]/[#3-#4]]*#6+#8/#9
功能变量符号#举例
正弦#1=SIN[#2]#1=30 #2=SIN[#1]反正弦#1=ASIN[#2]#1=0.5 #2=ASIN[#1]余弦#1=COS[#2]#1=60 #2=COS[#1]反余弦#1=ACOS[#2]#1=0.5 #2=ACOS[#1]正切#1=TAN[#2]#1=45 #2=TAN[#1]余切#1=1/TAN[#2]#1=45 #2=1/TAN[#1]
功能变量符号#举例
平方根SQRT
#2=3 #3=4
#1=SQRT[#2*#2+#3*#3]
平方*#1=#2*#2
绝对值ABS简写AB#1=-10 #2=ABS[#1]
舍入ROUND
简写RO
#1=6.5133 #2=ROUND[#1]
上取整FIX 简写FI#1=1.234 #2=FIX[#1] 1下取整FUP#1=1.234 #2=FUP[#1] 2
变量的表达式
运算符含义具体示例
EQ等于IF[#1EQ#2]GOTO10 NE不等于IF[#1NE#2]GOTO10 GT 大于IF[#1GT#2]GOTO10 GE大于等于IF[#1GE#2]GOTO10 LT小于IF[#1LT#2]GOTO10 LE小于等于IF[#1LE#2]GOTO10