数控车B类宏程序的简单入门

合集下载

FANUC系统数控车床B类宏程序编程应用.doc

FANUC系统数控车床B类宏程序编程应用.doc

FANUC系统数控车床B类宏程序编程应用虽然子程序对编制相同加工操作的程序非常有用,但用户宏程序由于允许使用变量、算术和逻辑运算及条件转移,使得编制相同加工操作的程序更方便,更容易。

可将相同加工操作编为通用程序,如型腔加工宏程序和固定加工循环宏程序。

使用时,加工程序可用一条简单指令调出用户宏程序,和调用子程序完全一样。

一、变量普通加工程序直接用数值指定 G代码和移动距离;例如, G100和 X100.0。

使用用户宏程序时,数值可以直接指定或用变量指定。

当用变量时,变量值可用程序或用 MDI 面板上的操作改变。

如:#2=30;#1=#2+100;G01 X#1 F0.31、变量的表示变量用变量符号(#)和后面的变量号指定。

例如:#1表达式可以用于指定变量号。

此时,表达式必须封闭在括号中。

例如:#[#1+#2-12]2、变量的类型变量根据变量号可以分成四种类型。

3、变量值的范围局部变量和公共变量可以有 0 值或下面范围中的值:-1047到-10-29 0 10-29到 1047如果计算结果超出有效范围,则发出 P/S报警No.111.4、小数点的省略当在程序中定义变量值时,小数点可以省略。

例:当定义#1=123;变量#1的实际值是 123.000。

5、变量的引用为在程序中使用变量值,指定后跟变量号的地址。

当用表达式指定变量时,要把表达式放在括号中。

例如:G01X[#1+#2]F#3;被引用变量的值根据地址的最小设定单位自动地舍入。

例如:当 G00X#1;以 1/1000mm 的单位执行时,CNC把 12.3456 赋值给变量#1,实际指令值为 G00X12.346;。

改变引用的变量值的符号,要把负号(一)放在#的前面。

例如: G00X—#1;当引用未定义的变量时,变量及地址字都被忽略。

例如:当变量#1的值是 0,并且变量#2的值是空时,G00X#1 Z#2 的执行结果为 G00X0。

6、未定义的变量(当变量值未定义时,这样的变量成为“空”变量。

数控车宏程序的入门语法

数控车宏程序的入门语法

2
降一级扣 1 分
10 超差 0.01mm 扣 1 分
2
降一级扣 1 分
10 超差 0.01mm 扣 1 分
4
螺纹 5 球面 6
7 长度
8
形位公

9
程序与工艺
10
(10 分)
11
机床操作
12
(10 分)
13
14 安全文明生产
15
Ra
IT φ25±0.05
Ra
IT M20×2
Ra
IT SR7
Ra
IT 20±0.05
《认识数控车 B 类宏程序的入门语法》
课题 授课时间
教学目标
教学重点 教学难点
学情分析
教学方法
《认识数控车 B 类宏程序的入门语法》
授课时数
2
课型
讲授
1、培养学生严谨的学习态度。
2、让学生认识数控车 B 类宏程序的入门语法。
让学生认识数控车宏程序的入门语法。
于加工一些轮廓含有椭圆、双曲线、抛物线、正弦曲线等 义、类型。 生理解宏
公式曲线的零件,以及各类大螺距螺纹等。
程序的含
2、宏程序的类型
听 教 师 讲 义,了解
提问:宏程序有哪些类型?
解。
宏程序的
讲解重点:宏程序的分为 A 类和 B 类。现在 B 类宏是
类型。
一个主流发展趋势,所以接下来我们的讲解都以 B 类宏程
Ra
IT 70±0.08
Ra
0.04 A
程序正确合理 加工工艺合理 机床操作规范 工件、刀具装夹
安全操作
机床整理
2
降一级扣 1 分
10 超差 0.01mm 扣 1 分

数控车B类宏程序的简单入门

数控车B类宏程序的简单入门

数控车B类宏程序的简单入门前言很多做数控车的朋友,看着别人都能够熟练的运用宏编程和加工,自己除了羡慕外也曾经多少次暗暗下决心决定学好宏,但苦于没有老师和实际的教材(网络中的教材大多需要有一定的基础才能看懂)一次次的被宏拒绝与门外。

我写此文的目的就是希望大家能够对宏有一个基本的了解并且能够入门。

下面我就通过一些简单的例子来引导各位进入宏的大门。

(文中的宏编程都是以GSK980TDb)宏的简单说明:学习宏就需要对宏的语法有一个简单的了解,下面就通过对宏运用实例的一些简单说明来带领大家学习宏。

简单的赋值语句●#101=300 把变量#101初始值定义为300●#102=240 把变量#102初始值定义为240●#103=#101+#102 #103的值是#101和#102的和●#104=#101-#102 #104的值是#101和#102的差●举例1:●O0001●N010 G97 恒转速●N020 G99 mm/r●N030 T0101 M03S500 调用1号刀具1号刀补●N040 #101=300 把变量#101初始值定义为300●N050 #102=240 把变量#102初始值定义为240●N060 G00 X400 Z#102 快速定位到X400 Z240的位置●N070 G00 X#101 Z0 快速定位到 X300 Z0的位置●N080G01 X-1 F0.2 切削到X-1的位置●N090 G00 X#101Z#102 快速定位到 X300 Z240的位置●N100 M30 程序结束并返回程序开始●复杂的赋值语句●N10 #101=100●N20 #101=#101-2●我想刚开始接触宏且没有接触过计算机语言的人对N20那段程序理解吧,很多人会这样理解●如果#101=#101-2 那就可以推出 0等于-2,其实这里”=”并不是等于号,而是赋值号。

●其实可以这样理解●N10#101=100 有个人的名字叫#101他的口袋里有100块钱●N20#102=140●N30#101=#101-5 #101买瓶水花掉5块钱,那么他口袋的钱就只有95块,也就是说买水前他口袋是100块,他从口袋里拿出5块钱付账,然后把身上的钱又放回袋子里,口袋里是不是就只有95块了,而口袋还是这个口袋没有变,但是钱却少了,注意是执行完这个动作。

B类宏程序编程方法与技巧

B类宏程序编程方法与技巧

B类宏程序编程方法与技巧摘要:数控加工已成为当今世界机械加工行业领先技术的代表,而数控宏程序的应用程度就更加体现出了数控加工水平的高低和对机床的利用率,直接关系到加工难度与加工效率。

本文以数控宏指令为基础,以华中数控操作系统为例,通过机械加工和无数次的宏程序的加工,总结B类宏程序编程方法与技巧。

关键词:数控;宏指令;方法与技巧;华中数控宏指令编程像高级语言一样,可以使用变量进行算术运算、逻辑运算和函数混合运算的程序编写形式,能提供循环、判断、分支和子程序调用的方法。

由于宏程序指令允许使用变量算术和逻辑运算及条件转移,可将相同加工操作编为通用程序,不仅使程序应用更加灵活,而且可大大精简程序量。

在数控加工中经常会遇到复杂轮廓的加工(如抛物线、椭圆、双曲线、半球、螺旋线等),用普通的手工编程方法处理周期长、计算量大、精度差、容易出错,难以满足生产要求。

随着数控技术的发展,先进的数控系统不仅向用户编程提供了一般的准备功能和辅助功能,而且为编程提供了扩展数控功能的手段,华中世纪星数控系统的宏程序编程,应用灵活、形式自由,具备计算机高级语言的表达式、算术和逻辑运算机类似的程序流程,使加工程序简练易懂,可实现普通编程难以实现的功能。

1. B类宏指令(华中数控)1.1 B类宏指令变量的类型B类宏是在A类宏的基础上发展起来的,随着数控技术的不断完善,在运用宏加工时就出现了一些运算问题,B类宏也就在这个前提下发展起来了,B类宏的好处在于能够经行四则运算,大大减少了宏的程序长度,大大减少了编程时间。

1.2 B类宏指令变量的赋值、算术运算和逻辑运算通常在计算机中每个变量都有其变量名,计算机允许使用变量名,但是数控系统中用户宏程序不能直接使用变量名,采用变量符号(#)和后面的变量号指定变量。

表达式可以用指定的变量号。

此时,表达式必须封闭在括号中。

2. B类宏程序的编程技巧很多人都认为宏程序比较难编写。

通过研究我找到了一种利用填充式的方法进行宏程序的编写,就算不能理解宏程序的人员也能进行编写,通过简单的数字填充来编写宏程序。

图文解说 Fanuc B类 宏程序

图文解说 Fanuc B类 宏程序
模态信息 正在处理的程序段之前的模态信息可以读出。
例: 当执行#1=#4002;时,在#1 中得到的值是 17,18 或 19。 对于不能使用的 G 代码组,如果指定系统变量读取相应的模态信息, 则发出 P/S 报警。
当前位置
位置信息不能写,只能读。
· 第 1 位代表轴号(从 1 到 3)。 · 变量#5081~#5083 存储的刀具长度补偿值是当前的执行值,不是后 面程序段的处理值。 · 在 G31(跳转功能)程序段中跳转信号接通时的刀具位置储存在变 量#5061 到#5063 中。当 G31 程序段中的跳转信号未接通时,这些 变量中储存指定程序段的终点值。
时间信息 时间信息可以读和写。
自动运行控制 可以改变自动运行的控制状态。
·当电源接通时,该变量的值为 0。 ·当单程序段停止无效时,即使单程序段开关设为 ON,也不执行单程 序段停止。 ·当指定不等待辅助功能(M,S 和 T 功能)完成时,在辅助功能完成 之前,程序即执行到下一程序段。而且分配完成信号 DEN 不输出。
例如: n 当变量#1 的值是 0,并且变量#2 的值是空时,G00X#1 Y#2 的执行 结果为 G00X0;。
双轨迹(双轨迹控制)的公Байду номын сангаас变量
对双轨迹控制,系统为每一轨迹都提供了单独的宏变量。但是,根 据参数 No.6036 和 6037 的设定,某些公共变量可同时用于两个轨 迹。
未定义的变量 当变量值未定义时,这样的变量成为“空”变量。变量#0 总是空变量。
(该计算的实际结果稍有误差,因为是以二进制执行的。) ·还应该意识到,使用条件表达式 EQ,NE,GE,GT,LE 和 LT 时可
能造成误差。
例如: IF[#1EQ#2]的运算会受 #1 和#2 的误差的影响,由此会造成错误的判

理论四、宏程序的概述(宏程序B类)

理论四、宏程序的概述(宏程序B类)

理论四、宏程序的概述(宏程序B类)(一)宏程序的基本知识一、宏程序的概述用户把实现某种功能的一组指令像子程序一样,预先存储在机床内,用一个指令代表这个存储的功能,在程序中只要指定该指令就能实现这个功能。

这一组指令称为用户宏程序基本体,简称宏程序。

代表指令称为用户程序调用指令,简称宏指令。

优点:通用性强,简单分类:宏程序A、宏程序B二、变量1、变量的表示:#后接数字或表达式eg: #1、#100、#[#4/2] (变量符号+变量号或表达式)2、变量的种类1)局部变量:#1~#33 用作计算过程量2)公共变量:#100~#149 用作定形、定位的变量3)系统变量:#200~3、变量的使用地址等(O、N、G、L、P除外)后接变量eg:G01 X#101 Y#102 F#103= G01 X-60.0 Y0 F100 (#101=-60.0 #102=0 #103=100) 说明:1)程序中使用变量值时,应指定变量号eg:#1=50.0 G01 X#1 F200;2)用表达式指定变量时,必须使用“[ ]”eg:G01 X[#11+#22] F#33;3)被引用变量的值根据地址的最小设定单位自动舍入eg:#4=12.34567G01 X#4;实际上#4=12.3464)改变引用变量的符号,要把负号放在“#”的前面eg:G00 X-#10;5)引用未定义的变量时,变量及地址被忽略eg:#11=0 #22为空值G01 X#11 Y#22;实际为G01 X0;4、变量的赋值1)直接赋值# =数值(或表达式)eg:#1=1.0 #2=2.0 #3=#1*#2 =1*2说明:等号左边不能用表达式。

#4+10.0=#3 #4=#3-10.0 2)引数赋值宏调用时,在主程序中赋值(二)宏程序算术和逻辑运算说明:1)定义转换:#i=#j eg :#1=10.0 #2=#1 ⇒ #2=10.02)加法形演算: “+”和;“-”差;#i=#jOR#k 逻辑和;#i=#jXOR#k 异或eg :3)乘法形运算: “*”乘;“/”商;“AND ”与(逻辑乘); #i=#jMOD#k 取余4)函数运算:SIN 、COS 、TAN[ ] (后面的变量必须加“[ ]”) ATAN[ ] 反正切、SQRT 平方根、ABS 绝对值、ROUND 四舍五入整数化、FIX 小数点以下舍去、FUP 小数点以下进位、LN 自然对数、EXP e xa) 角度以“度”为单位;eg :#j=90︒30'=90.5︒ SIN[#j]=SIN[90.5] #j 取值-1~1之间,否则报警。

FANUC系统数控车床B类宏程序编程应用

FANUC系统数控车床B类宏程序编程应用

FANUC系统数控车床B类宏程序编程应用虽然子程序对编制相同加工操作的程序非常有用,但用户宏程序由于允许使用变量、算术和逻辑运算及条件转移,使得编制相同加工操作的程序更方便,更容易。

可将相同加工操作编为通用程序,如型腔加工宏程序和固定加工循环宏程序。

使用时,加工程序可用一条简单指令调出用户宏程序,和调用子程序完全一样。

#1二#2+100G01 X#1 F0.3一、变量普通加工程序直接用数值指定和X100.0。

使用用户宏程序时, 当用变量时,变量值可用程序或用如:#2=30;G代码和移动距离;例如,G100数值可以直接指定或用变量指定。

MDI面板上的操作改变。

1、变量的表示变量用变量符号(#)和后面的变量号指定。

例如:#1表达式可以用于指定变量号。

此时,表达式必须封闭在括号中例如:#[#1+#2-12]2、变量的类型变量根据变量号可以分成四种类型3、变量值的范围局部变量和公共变量可以有0值或下面范围中的值:-10 47到-10-290 10 -29到10 47如果计算结果超出有效范围,则发出P/S报警No.111.4、小数点的省略当在程序中定义变量值时,小数点可以省略。

例:当定义#仁123;变量#1的实际值是123.000。

5、变量的引用为在程序中使用变量值,指定后跟变量号的地址。

当用表达式指定变量时,要把表达式放在括号中。

例如:G01X[#1+#2]F#3;被引用变量的值根据地址的最小设定单位自动地舍入。

例如:当G00X#1; 以 1/1000mm的单位执行时,CNC把12.3456赋值给变量#1,实际指令值为G00X12.346;。

改变引用的变量值的符号,要把负号(一)放在#的前面。

例如:G00X— #1;当引用未定义的变量时,变量及地址字都被忽略。

例如:当变量#1的值是0 ,并且变量#2的值是空时,G00X#1 Z#2 的执行结果为G00X0。

6、未定义的变量(当变量值未定义时,这样的变量成为“空”变量。

数控宏程序编程入门自学

数控宏程序编程入门自学

数控宏程序编程入门自学数控宏程序编程是数控加工中的一种重要的编程方式,也是数控编程研究的一个重要方向。

相较于手动编程,宏程序编程具有编程简单,编程效率高,重复利用性强等优点。

对于想要学习和掌握数控加工技术的人来说,学习宏程序编程是必不可少的一步。

本文将分享一些入门自学数控宏程序编程的方法和步骤。

一、了解数控宏程序编程首先,想要学好数控宏程序编程,需要了解数控宏程序编程的基本概念和知识点。

比如,数控宏程序是什么,宏定义和调用的语法规则是怎样的,如何在宏程序中加入不同的数控指令等。

除此之外,还应了解编程软件的使用方法,包括软件的安装、打开方式、编写程序时的操作步骤以及如何输出程序等。

二、系统学习编程语言数控宏程序编程的语言通常是基于ISO标准的G代码,因此,为了能够顺利学习和掌握宏程序编程,需要系统地学习G代码的基本知识。

这涵盖了G代码中的知识点,如注释、坐标系、插补方式、刀具半径补偿等。

三、实践编程演习学习宏程序编程不仅要有理论基础,还需要进行实际操作,切实掌握编程技能。

可以试着编写基本的程序,通过实践操作中不断调整修改程序,从而理解宏程序编程的各种规则和方法。

可以先写一些简单的宏程序,如点动调试、公差自动换刀、刀具半径补偿等。

四、结合实际加工应用除了学习和理解宏程序编程的基础知识以及实践演习,还需要将它应用到实际的切削加工应用中。

因为实际应用和理论知识相结合,才能在实际操作中真正体验到宏程序编程的优势和功能。

在应用中也可以学到更多的编程技巧和经验,从而不断提升自己的宏程序编程水平。

五、多参考相关书籍和网络资源在学习宏程序编程的过程中还可以多参考相关的书籍和网络资源,如《数控编程技术指南》、《G代码编程基础》、以及国内外相关的论坛和博客等。

这些都可以帮助自己更好地理解宏程序编程的各方面知识点,也可以了解到最新的技术和应用。

总之,学习数控宏程序编程需要有系统的学习方法和耐心的实践过程。

逐步的掌握编程的技能和方法,并将其运用到实际的切削加工中,才能使自己的宏程序编程水平得到不断的提升和完善。

B类宏程序

B类宏程序

数控程序中含有变量的程序称为宏程序。

虽然子程序对编制相同的加工程序非常有用,但用户宏程序由于允许使用变量、算术和逻辑运算及条件转移,使得编制同样的加工程序更简便。

例如型腔加工宏程序和用户开发固定循环。

使用时,加工程序可用一条简单指令调出用户宏程序,和调用子程序完全一样。

1.1 变量普通加工程序直接用数值指定G代码和移动距离;例如,G01 和X100.0。

使用用户宏程序时,数值可以直接指定或用变量指定。

当用变量时,变量值可用程序或用MDI 面板操作改变。

#1=#2+100;G01 X#1 F300;说明变量的表示一般编程方法允许对变量命名,但用户宏程序不行。

变量用变量符号(#)和后面的变量号指定。

例如:#1表达式可以用于指定变量号。

此时,表达式必须封闭在括号中。

例如:#[#1+#2-12]变量的类型变量根据变量号可以分成四种类型。

变量值的范围局部变量和公共变量可以为0 值或下面范围中的值:-1047 到-10-29或10-29 到1047如果计算结果超出有效范围,则发出P/S 报警No.111小数点的省略当在程序中定义变量值时,小数点可以省略。

例:当定义#1=123;变量#1 的实际值是123.000。

变量的引用在地址后指定变量号即可引用其变量值。

当用表达式指定变量时,要把表达式放在括号中。

例如:G01X[#1+#2]F#3;被引用变量的值根据地址的最小设定单位自动地舍入。

例如:当系统的最小输入增量为1/1000mm 单位,指令G00X#1,并将12.3456 赋值给变量#1,实际指令值为G00X12.346;。

改变引用变量的值的符号,要把负号(—)放在#的前面。

例如:G00X—#1;当引用未定义的变量时,变量及地址字都被忽略。

例如:当变量#1 的值是0,并且变量#2 的值是空时,G00X#1 Y#2 的执行结果为G00X0;。

双轨迹(双轨迹控制)的公共变量对双轨迹控制,系统为每一轨迹都提供了单独的宏变量。

FANUC系统数控车床B类宏程序编程应用

FANUC系统数控车床B类宏程序编程应用

FANUC系统数控车床B类宏程序编程应用虽然子程序对编制相同加工操作(de)程序非常有用,但用户宏程序由于允许使用变量、算术和逻辑运算及条件转移,使得编制相同加工操作(de)程序更方便,更容易.可将相同加工操作编为通用程序,如型腔加工宏程序和固定加工循环宏程序. 使用时, 加工程序可用一条简单指令调出用户宏程序,和调用子程序完全一样.一、变量普通加工程序直接用数值指定 G代码和移动距离;例如, G100和X100.0. 使用用户宏程序时,数值可以直接指定或用变量指定.当用变量时,变量值可用程序或用 MDI 面板上(de)操作改变.如:2=30;1=2+100;G01 X1 F0.31、变量(de)表示变量用变量符号()和后面(de)变量号指定.例如:1表达式可以用于指定变量号.此时,表达式必须封闭在括号中.例如:[1+2-12]2、变量(de)类型变量根据变量号可以分成四种类型.3、变量值(de)范围局部变量和公共变量可以有 0 值或下面范围中(de)值:-1047到-10-29 0 10-29到 1047如果计算结果超出有效范围,则发出 P/S报警No.111.4、小数点(de)省略当在程序中定义变量值时,小数点可以省略.例:当定义1=123;变量1(de)实际值是 123.000.5、变量(de)引用为在程序中使用变量值, 指定后跟变量号(de)地址. 当用表达式指定变量时,要把表达式放在括号中.例如:G01X[1+2]F3;被引用变量(de)值根据地址(de)最小设定单位自动地舍入.例如:当 G00X1;以 1/1000mm (de)单位执行时,CNC把 12.3456 赋值给变量1,实际指令值为 G00X12.346; .改变引用(de)变量值(de)符号,要把负号(一)放在(de)前面.例如: G00X—1;当引用未定义(de)变量时,变量及地址字都被忽略.例如:当变量1(de)值是 0,并且变量2(de)值是空时,G00X1 Z2(de)执行结果为 G00X0.6、未定义(de)变量(当变量值未定义时,这样(de)变量成为“空”变量.变量0 总是空变量.它不能写,只能读.)(a)引用当引用一个未定义(de)变量时,地址本身也被忽略.(b)运算除了用<空>赋值以外,其余情况下<空>与0相同.当1=<空>时当1=0时2=1 → 2=<空>2=1 → 2=02=5 → 2=02=5 → 2=02=1+1 → 2=02=1+1 → 2=0(c)条件表达式 EQ和NE中(de)<空>不同于0.当1=<空>时当1=0时1EQ0 成立1EQ0 不成立1 NE 0 成立 1 NE 0 不成立1 GE 0 成立 1 GE 0 不成立1 GT 0 不成立 1 GT 0 不成立限制程序号,顺序号和任选程序段跳转号不能使用变量.例:下面情况不能使用变量:1、O1;2、/2G00X100.0;3、N3Y200.0;二、算术和逻辑运算下表中列出(de)运算可以在变量中执行. 运算符右边(de)表达式可包含常量和/或由函数或运算符组成(de)变量.表达式中(de)变量j 和k 可以用常数赋值.左边(de)变量也可以用表达式赋值.三、转移和循环在程序中,使用 GOTO 语句和 IF 语句可以改变控制(de)流向.有三种转移和循环操作可供使用:1、无条件转移 (GOTO 语句)格式:GOTOn;n:顺序号(1~99999)转移到标有顺序号 n (de)程序段.当指定 1 到99999 以外(de)顺序号时,出现P/S 报警 No.128.可用表达式指定顺序号.例:GOTO1;GOTO10;2、条件转移 (IF 语句)IF[<条件表达式>] GOTO nIF之后指定条件表达式.如果指定(de)条件表达式满足时,转移到标有顺序号 n (de)程序段.如果指定(de)条件表达式不满足,执行下个程序段.说明:a、条件表达式条件表达式必须包括算符.算符插在两个变量中间或变量和常数中间,并且用括号 ([])封闭.表达式可以替代变量.b、运算符运算符由 2个字母组成,用于两个值(de)比较,以决定它们是相等还是一个值小于或大于另一个值.注意,不能使用不等符号.C、示例程序下面(de)程序计算数值 1~10 (de)总和3、循环 (WHILE 语句)在WHILE后指定一个条件表达式, 当指定条件满足时, 执行从DO到END之间(de)程序.否则,转到 END后(de)程序段.说明:当指定(de)条件满足时,执行 WHILE 从 DO 到 END 之间(de)程序.否则,转而执行 END 之后(de)程序段.这种指令格式适用于 IF 语句.DO 后(de)号和 END 后(de)号是指定程序执行范围(de)标号,标号值为1,2,3.若用 1,2,3 以外(de)值会产生 P/S 报警 No.126.循环嵌套:在 DO—END循环中(de)标号(1 到 3)可根据需要多次使用.但是,当程序有交叉重复循环(DO范围(de)重叠)时,出现 P/S报警 No.124.四、宏程序编程举例曲线公式为X=(36/Z)+3实例分析:本例(de)精加工采用B类宏程序编程,以Z值为自变量,每次变化0.1mm,X值为应变量,通过变量运算计算出相应(de)X值.(宏程序编程时,首先要找出各点X坐标和Z坐标之间(de)对应关系)编程时使用(de)以下变量进行计算:加工顺序:粗车→半精车→精车(1)精车程序:设置变量G00 X7 Z74;1=72;WHILE[1GE2] DO2;2=[[36/1]+3];G42 G01 X[2] Z[1] F0.1;1=1-0.1;END2;(2)粗车程序:G90来粗车设置变量2=38;WHILE[1GE7] DO3;1=[36/[1-3]];G00 X[2+5] Z74;G90 X[2+0.5] Z[1] F0.2;2=2-4;END3;(3)半精车程序:设置变量G00 X7 Z74;1=72;WHILE[1GE2] DO4;2=[[36/1]+3.5];G01 X[2] Z[1] F0.1;1=1-0.1;END4;P170。

FANUC系统数控车床B类宏程序编程应用

FANUC系统数控车床B类宏程序编程应用

FANUC系统数控车床B类宏程序编程应用虽然子程序对编制相同加工操作的程序非常有用,但用户宏程序由于允许使用变量、算术和逻辑运算及条件转移,使得编制相同加工操作的程序更方便,更容易。

可将相同加工操作编为通用程序,如型腔加工宏程序和固定加工循环宏程序。

使用时,加工程序可用一条简单指令调出用户宏程序,和调用子程序完全一样。

#1二#2+100G01 X#1 F0.3一、变量普通加工程序直接用数值指定和X100.0。

使用用户宏程序时, 当用变量时,变量值可用程序或用如:#2=30;G代码和移动距离;例如,G100数值可以直接指定或用变量指定。

MDI面板上的操作改变。

1、变量的表示变量用变量符号(#)和后面的变量号指定。

例如:#1表达式可以用于指定变量号。

此时,表达式必须封闭在括号中例如:#[#1+#2-12]2、变量的类型变量根据变量号可以分成四种类型3、变量值的范围局部变量和公共变量可以有0值或下面范围中的值:-10 47到-10-290 10 -29到10 47如果计算结果超出有效范围,则发出P/S报警No.111.4、小数点的省略当在程序中定义变量值时,小数点可以省略。

例:当定义#仁123;变量#1的实际值是123.000。

5、变量的引用为在程序中使用变量值,指定后跟变量号的地址。

当用表达式指定变量时,要把表达式放在括号中。

例如:G01X[#1+#2]F#3;被引用变量的值根据地址的最小设定单位自动地舍入。

例如:当G00X#1; 以 1/1000mm的单位执行时,CNC把12.3456赋值给变量#1,实际指令值为G00X12.346;。

改变引用的变量值的符号,要把负号(一)放在#的前面。

例如:G00X— #1;当引用未定义的变量时,变量及地址字都被忽略。

例如:当变量#1的值是0 ,并且变量#2的值是空时,G00X#1 Z#2 的执行结果为G00X0。

6、未定义的变量(当变量值未定义时,这样的变量成为“空”变量。

数控宏程序基本知识,看懂你也基本入门了

数控宏程序基本知识,看懂你也基本入门了

数控宏程序基本知识,看懂你也基本入门了数控宏程序编程,是用变量的方式进行一般说来,华中的数控机床用的是B类宏程序,优点1.可以编写一些非圆曲线,如宏程序编写,双曲线,抛物线等。

2.编写一些大批相似零件的时候,可以用宏程序编写,这样只需要改动几个数据就可以了,没有必要进行大量重复编程。

使用方法A类宏程序1)的定义和替换 #i=#j编程格式 G65 H01 P#i Q#j例 G65 H01 P#101 Q1005; (#101=1005)G65 H01 P#101 Q-#112;(#101=-#112)2)加法 #i=#j+#k编程格式 G65 H02 P#i Q#j R#k例 G65 H02 P#101 Q#102 R#103;(#101=#102+#103)3)减法 #i=#j-#k编程格式 G65 H03 P#i Q#j R#k例 G65 H03 P#101 Q#102 R#103;(#101=#102-#103) 4)乘法#i=#j×#k编程格式 G65 H04 P#i Q#j R#k例 G65 H04 P#101 Q#102 R#103;(#101=#102×#103) 5)除法 #i=#j / #k编程格式 G65 H05 P#i Q#j R#k例 G65 H05 P#101 Q#102 R#103;(#101=#102/#103) 6)平方根 #i=编程格式 G65 H21 P#i Q#j例 G65 H21 P#101 Q#102;(#101= )7)#i=│#j│编程格式 G65 H22 P#i Q#j例 G65 H22 P#101 Q#102;(#101=│#102│)8)复合平方根1 #i=编程格式 G65 H27 P#i Q#j R#k例 G65 H27 P#101 Q#102 R#103;( #101=9)复合平方根2 #i=编程格式 G65 H28 P#i Q#j R#k例 G65 H28 P#101 Q#102 R#1031) #i=#j OR #k编程格式 G65 H11 P#i Q#j R#k例 G65 H11 P#101 Q#102 R#103;(#101=#102 OR #103) 2) #i=#j AND #k编程格式 G65 H12 P#i Q#j R#k例 G65 H12 P#101 Q#102 R#103;#101=#102 AND #103 (3)三角函数指令1)正弦函数#i=#j×SIN(#k)编程格式 G65 H31 P#i Q#j R#k (单位:度) .例 G65 H31 P#101 Q#102 R#103;(#101=#102×SIN(#103)) 2)余弦函数#i=#j×COS(#k)编程格式 G65 H32 P#i Q#j R#k (单位:度)例 G65 H32 P#101 Q#102 R#103;(#101=#102×COS(#103)) 3)正切函数#i=#j×TAN#k编程格式 G65 H33 P#i Q#j R#k (单位:度)例 G65 H33 P#101 Q#102 R#103;(#101=#102×TAN(#103)) 4)反正切 #i=ATAN(#j/#k)编程格式 G65 H34 P#i Q#j R#k (单位:度,0o≤ #j ≤360o)例 G65 H34 P#101 Q#102 R#103;(#101=ATAN(#102/#103) (4)指令编程格式 G65 H80 Pn (n为程序段号)例 G65 H80 P120;(转移到N120)2)条件转移1 #j EQ #k(=)编程格式 G65 H81 Pn Q#j R#k (n为程序段号)例 G65 H81 P1000 Q#101 R#102当#101=#102,转移到N1000;若#101≠ #102,执行下一。

宏程序A类B类G65等常见公式用法

宏程序A类B类G65等常见公式用法
将跟随在一个地址后的数值用一个变量来代替,即引入了变量。 例:对于F#103,若#103=50时,则为F50; 对于Z-#110,若#110=100时,则Z为-100; 对于G#130,若#130=3时,则为G03。
• (3)变量的类型 1)公共变量 公共变量在不同的的宏程序中的意义相同,是在主程序和主 程序调用的各用户宏程序内公用的变量。也就是说,在一个宏指 令中的#i与在另一个宏指令中的#i是相同的。 公共变量的序号为:#100~#131;#500~#531。其中#100~ #131公共变量在电源断电后即清零,重新开机时被设置为“0”; #500~#531公共变量即使断电后,它们的值也保持不变,因此 也称为保持型变量。
• 7)条件转移6 #j LE #k(≤) 编程格式G65 H86 Pn Q#j Q#k (n为程序段号) 例G65 H86 P1000 Q#101 R#102 当#101≤#102,转移到N1000;若#101>#102,执行下 一程序段。
• 4、使用注意 为保证宏程序的正常运行,在使用用户宏程序的过程
高技能人才培训宏程序教案
一、宏程序编程概念
宏程序的编制方法简单地解释就是:利用变量 编程的方法。
用户利用数控系统提供的变量、数学运算功能、
逻辑判断功能、程序循环功能等功能,来实现一些
特殊的用法。
x2
例如:椭圆的解析方程: a 2
y2 b2
1
椭圆的参数方程:其中t为变量 x a cos(t) y b sin(t)
G65 H26 复合乘/除 G65 H27 复合平方根1
# i=﹙# i × # j﹚÷# k
# i=√# j2+# k2
G65 H28 复合平方根2
# i=√# j2-# k2

图文解说B类宏程序

图文解说B类宏程序

宏程序数控程序中含有变量的程序称为宏程序。

虽然子程序对编制相同的加工程序非常有用,但用户宏程序由于允许使用变量、算术和逻辑运算及条件转移,使得编制同样的加工程序更简便。

例如型腔加工宏程序和用户开发固定循环。

使用时,加工程序可用一条简单指令调出用户宏程序,和调用子程序完全一样。

1.1 变量普通加工程序直接用数值指定G代码和移动距离;例如,G01 和X100.0。

使用用户宏程序时,数值可以直接指定或用变量指定。

当用变量时,变量值可用程序或用MDI 面板操作改变。

#1=#2+100;G01 X#1 F300;说明变量的表示一般编程方法允许对变量命名,但用户宏程序不行。

变量用变量符号(#)和后面的变量号指定。

例如:#1表达式可以用于指定变量号。

此时,表达式必须封闭在括号中。

例如:#[#1+#2-12]变量的类型变量根据变量号可以分成四种类型。

变量值的范围局部变量和公共变量可以为0 值或下面范围中的值:-1047 到-10-29或10-29 到1047如果计算结果超出有效范围,则发出P/S 报警No.111小数点的省略当在程序中定义变量值时,小数点可以省略。

例:当定义#1=123;变量#1 的实际值是123.000。

变量的引用在地址后指定变量号即可引用其变量值。

当用表达式指定变量时,要把表达式放在括号中。

例如:G01X[#1+#2]F#3;被引用变量的值根据地址的最小设定单位自动地舍入。

例如:当系统的最小输入增量为1/1000mm 单位,指令G00X#1,并将12.3456 赋值给变量#1,实际指令值为G00X12.346;。

改变引用变量的值的符号,要把负号(—)放在#的前面。

例如:G00X—#1;当引用未定义的变量时,变量及地址字都被忽略。

例如:当变量#1 的值是0,并且变量#2 的值是空时,G00X#1 Y#2 的执行结果为G00X0;。

双轨迹(双轨迹控制)的公共变量对双轨迹控制,系统为每一轨迹都提供了单独的宏变量。

B类宏程序

B类宏程序

下面主要介绍F A N U C 0i-T C系统中的B类宏程序。

一、宏程序数控程序中含有变量的程序称为宏程序。

宏程序可以让用户利用数控系统提供的变量、数学运算、逻辑判断和程序循环等功能,来实现一些特殊的用法,从而使得编制同样的加工程序更加简便。

1.变量普通加工程序直接用数值指定G代码和移动距离,例如,GO1和X100. 0。

使用用户宏程序时,数值可以直接指定或用变量指定。

当用变量时,变量值可用程序或用M D I面板上的操作改变。

如:#1=#2+ 100或G01 X#1 F300。

(1)变量的表示及类型一般编程方法允许对变量命名,但用户宏程序不行。

变量用变量符号“#” 和后面的变量号指定。

例如:#1、#100 等。

表达式可以用于指定变量号。

此时,表达式必须封闭在括号中。

例如:#[#1+#2-12]。

变量根据变量号可以分成四种类型,如表1所示。

(2)变量的运算变量常用算术、逻辑运算和运算符(如表2和表3所示)。

运算符右边的表达式可包含常量,或由函数或运算符组成的变量。

表达式中的变量“#j”和“#k”可以用常数赋值。

左边的变量也可以用表达式赋值。

其中有些需要注意的问题:1)角度单位。

函数正弦、余弦、正切、反正弦、反余弦和反正切的角度单位是度(°)。

例如:90°30′表示为90.5°。

2)运算符的优先级。

按照优先级的先后顺序依次是:函数→乘和除运算(* 、/、AND、MOD)→加和减运算(+、-、OR、XOR)。

3)括号嵌套。

括号用于改变运算优先级。

括号最多可以嵌套使用5级,包括函数内部使用的括号。

2.功能语句(1)无条件转移(GOTO)语句转移到有顺序号n 的程序段。

格式为:GOTOn,其中n 表示程序段号。

例:GOTO1,表示转移到第一程序段。

再如:GOTO#10,表示转移到变量#10决定的程序段。

(2)条件转移(IF)语句在IF后指定一条件,当条件满足时,转移到顺序号为n 的程序段,不满足则执行下一程序段。

FANUC系统数控车床B类宏程序编程应用.doc

FANUC系统数控车床B类宏程序编程应用.doc

FANUC系统数控车床B类宏程序编程应用虽然子程序对编制相同加工操作的程序非常有用,但用户宏程序由于允许使用变量、算术和逻辑运算及条件转移,使得编制相同加工操作的程序更方便,更容易。

可将相同加工操作编为通用程序,如型腔加工宏程序和固定加工循环宏程序。

使用时,加工程序可用一条简单指令调出用户宏程序,和调用子程序完全一样。

一、变量普通加工程序直接用数值指定 G代码和移动距离;例如, G100和 X100.0。

使用用户宏程序时,数值可以直接指定或用变量指定。

当用变量时,变量值可用程序或用 MDI 面板上的操作改变。

如:#2=30;#1=#2+100;G01 X#1 F0.31、变量的表示变量用变量符号(#)和后面的变量号指定。

例如:#1表达式可以用于指定变量号。

此时,表达式必须封闭在括号中。

例如:#[#1+#2-12]2、变量的类型变量根据变量号可以分成四种类型。

3、变量值的范围局部变量和公共变量可以有 0 值或下面范围中的值:-1047到-10-29 0 10-29到 1047如果计算结果超出有效范围,则发出 P/S报警No.111.4、小数点的省略当在程序中定义变量值时,小数点可以省略。

例:当定义#1=123;变量#1的实际值是 123.000。

5、变量的引用为在程序中使用变量值,指定后跟变量号的地址。

当用表达式指定变量时,要把表达式放在括号中。

例如:G01X[#1+#2]F#3;被引用变量的值根据地址的最小设定单位自动地舍入。

例如:当 G00X#1;以 1/1000mm 的单位执行时,CNC把 12.3456 赋值给变量#1,实际指令值为 G00X12.346;。

改变引用的变量值的符号,要把负号(一)放在#的前面。

例如: G00X—#1;当引用未定义的变量时,变量及地址字都被忽略。

例如:当变量#1的值是 0,并且变量#2的值是空时,G00X#1 Z#2 的执行结果为 G00X0。

6、未定义的变量(当变量值未定义时,这样的变量成为“空”变量。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

二、宏的简单说明
学习宏就需要对宏的语法有一个简单的了解,下面就通过对宏运用实例的一些简单说明来带领大家学习宏。
1.简单的赋值语句
#101=300 把变量#101初始值定义为300
#102=240 把变量#102初始值定义为240
#103=#101+#102 #103的值是#101和#102的和
N050 #102=240 把变量#102初始值定义为240
N060 G00 X400 Z#102 快速定位到X400 Z240的位置
N070 G00 X#101Z0 快速定位到 X300 Z0的位置
N080G01 X-1F0.2 切削到X-1的位置
N090 G00 X#101Z#102 快速定位到 X300 Z240的位置
N100 M30 程序结束并返回程序开始
2.复杂的赋值语句
N10 #101=100
N20 #101=#101-2
我想刚开始接触宏且没有接触过计算机语言的人对N20那段程序理解吧,很多人会这样理解
如果#101=#101-2 那就可以推出 0等于-2,其实这里”=”并不是等于号,而是赋值号。
N40#102=#102-10 在我们数控系统上是开始#102的初始值是140,但是没有执行前是140,执行这个动作后是130。
举例2;
O0002
N010 G97
N020 G99
N030 T0101 M03S700
N040 #101=180 #101的初始值为180
N050 #102=2 #102的初始值为2
G01 Z#103 F0.2 切削到Z-45的位置
G00 X200 Z200
M30
有人看完这程序感觉这是不是把一个很简单的程序弄的更加复杂了吗?确实是这样,把简单程序弄的更加复杂了,我举这个实例的意思就是让大家简单的运用宏其实还有简单的宏的表示方法,这个例子虽然看上去复杂但是很容易懂,用简单的宏的表达的方法再我们以后的讲解中会举例说明了。
三、小节
文中的表达或许有错误和不当之处欢迎大家指正,我也是刚刚接触宏程序,对宏的了解也不是很深刻入门而已,学的也是数控专业,对那个比较感兴趣。发表此文的目的是能够让更多人参与到学习宏的生活中来。能够熟练的学习宏和运用宏,如果大家对这个感兴趣,我会把自己关于宏的一些理解写完,供大家互相讨论学习,大家的支持是我最大的动力。
N050 #103=-45 #103的初始值为-45
G00 X#101 Z#102 快速定位到X180 Z2的位置
G01 Z#103 F0.2 切削到Z-45的位置
G00 U1.0 Z#102 快速定位到X181 Z2的位置
#101=#101-4 执行完此语句后#101的值为176
数控车B类宏程序的简单入门
一、前言
很多做数控车的朋友,看着别人都能够熟练的运用宏编程和加工,自己除了羡慕外也曾经多少次暗暗下决心决定学好宏,但苦于没有老师和实际的教材(网络中的教材大多需要有一定的基础才能看懂)一次次的被宏拒绝与门外。我写此文的目的就是希望大家能够对宏有一个基本的了解并且能够入门。下面我就通过一些简单的例子来引导各位进入宏的大门。(文中的宏编程都是以GSK980TDb)
其实可以这样理解
N10#101=100 有个人的名字叫#101他的口袋里有100块钱
N20#102=140
N30#101=#101-5 #101买瓶水花掉5块钱,那么他口袋的钱就只有95块,也就是说买水前他口袋是100块,他从口袋里拿出5块钱付账,然后把身上的钱又放回袋子里,口袋里是不是就只有95块了,而口袋还是这个口袋没有变,但是钱却少了,注意是执行完这个动作。口袋也可以理解为容器,、容器是用来放东西的,可以放钱、可以方米、可以防水、当然也可以放数值,这个容器的大小是我们自己定义的,就像我们可以定义为只有一口袋的钱,也可以定位为1屋子的钱。
G00 X#101 Z#102 快速定位到X176 Z2的位置
G01 Z#103 F0.2 切削到Z-45的位置
G00 U1.0 Z#102 快速定位到 X177 Z2的位置
#101=#101-4 执行完此语句后#101的值为X172
G00 X#101 Z#102 快速定位到 X172 Z2的位置
#104=#101-#102 #104的值是#101和#102的差
举例1:
O0001
N010 G97 恒转速
N020 G99 mm/r
N030 T0101 M03S500 调用1号刀具1号刀补
N040 #101=300 把变量#101初始值定义为300
相关文档
最新文档