ImageVerifierCode 换一换
格式:DOCX , 页数:44 ,大小:1,005.38KB ,
资源ID:23648012      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/23648012.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数控车床由浅入深的宏程序实例讲解.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数控车床由浅入深的宏程序实例讲解.docx

1、数控车床由浅入深的宏程序实例讲解宏程序裳华职业技术中专 鲍新涛 宏程序概述其实说起来宏就是用公式来加工零件的, 比如说椭圆 ,如果没有宏的话, 我 们要逐点算出曲线上的点,然后慢慢来用直线逼近,如果是个光洁度要求很高 的工件的话,那么需要计算很多的点,可是应用了宏后,我们把椭圆公式输入 到系统中然后我们给出 Z坐标并且每次加 10um那么宏就会自动算出 X 坐标并 且进行切削, 实际上宏在程序中主要起到的是运算作用。 .宏一般分为 A 类宏 和 B 类宏。 A 类宏是以 G65 Hxx P#xx Q#xx R#xx 的格式输入的, 而 B 类宏程序 则是以直接的公式和语言输入的和 C语言很相似

2、在 0i 系统中应用比较广。宏程序的作用数控系统为用户配备了强有力的类似于高级语言的宏程序功能,用户可以使用 变量进行算术运算、逻辑运算和函数的混合运算,此外宏程序还提供了循环语 句、分支语句和子程序调用语句,利于编制各种复杂的零件加工程序,减少乃 至免除手工编程时进行繁琐的数值计算,以及精简程序量。宏程序指令适合抛物线、椭圆、双曲线等没有插补指令的曲线编程;适合图形 一样,只是尺寸不同的系列零件的编程;适合工艺路径一样,只是位置参数不 同的系列零件的编程。较大地简化编程;扩展应用范围。宏的分类B 类宏由于现在 B 类宏程序的大量使用 ,很多书都进行了介绍这里我就不再重复了 ,但在 一些老系统

3、中 ,比如发那科( FANUC )OTD 系统中由于它的 MDI 键盘上没有公 式符号 ,连最简单的等于号都没有 ,为此如果应用 B类宏程序的话就只能在计算机 上编好再通过 RSN-32 接口传输的数控系统中 ,可是如果我们没有 PC 机和 RSN-32 电缆的话怎么办呢 ,那么只有通过 A 类宏程序来进行宏程序编制了 ,下面 我介绍一下 A 类宏的引用 ;A 类宏A 类宏是用 G65 Hxx P#xx Q#xx R#xx 或 G65 Hxx P#xx Qxx Rxx 格式输入的 ,xx 的意思就是数值 ,是以 um 级的量输入的 ,比如你输入 100 那就是 0.1MM.#xx 就是 变量号

4、 ,变量号就是把数值代入到一个固定的地址中 ,固定的地址就是变量 ,一般 OTD 系统中有 #0#100#149#500#531关. 闭电源时变量 #100#149 被初始化成 “空”,而变量#500#531保持数据.我们如果说 #100=30 那么现在#100 地址内的 数据就是 30了,就是这么简单 .好现在我来说一下 H代码,大家可以看到 A 类宏的 标准格式中 #xx 和 xx 都是数值,而 G65表示使用 A 类宏,那么这个 H 就是要表示 各个数值和变量号内的数值或者各个变量号内的数值与其他变量号内的数值之 间要进行一个什么运算 ,可以说你了解了 H代码 A 类宏程序你基本就可以应

5、用了 好,现在说一下 H 代码的各个含义 :应用以下都以 #100和#101和#102,及数值 10 和 20做为例子 ,应用的时候别把他们当 格式就行 , 基本指令H01 赋值;格式:G65H01P#101Q#102:把#102内的数值赋予到 #101 中 G65H01P#101Q#10:把#10 赋予到#101中H02加指令;格式 G65 H02 P#101 Q#102 R#103把, #102的数值加上 #103的数值赋 予#101G65 H02 P#101 Q#102 R10G65 H02 P#101 Q10 R#103G65 H02 P#101 Q10 R20上面 4个都是加指令的格

6、式都是把 Q 后面的数值或变量号内的数值加上 R 后面 的数值或变量号内的数值然后等于到 P 后面的变量号中 .H03减指令;格式 G65 H03 P#101 Q#102 R#103把, #102的数值减去 #103的数值赋 予#101G65 H03 P#101 Q#102 R10G65 H03 P#101 Q10 R#103G65 H03 P#101 Q20 R10上面 4个都是减指令的格式都是把 Q 后面的数值或变量号内的数值减去 R 后面 的数值或变量号内的数值然后等于到 P 后面的变量号中 .H04乘指令;格式 G65 H04 P#101 Q#102 R#103把, #102的数值乘上

7、 #103的数值赋 予#101G65 H04 P#101 Q#102 R10G65 H04 P#101 Q10 R#103G65 H04 P#101 Q20 R10上面 4个都是乘指令的格式都是把 Q 后面的数值或变量号内的数值乘上 R 后面 的数值或变量号内的数值然后等于到 P 后面的变量号中 .H05 除指令;格式 G65 H05P#101 Q#102 R#103把, #102的数值除以 #103的数值赋予#101G65 H05 P#101 Q#102 R10G65 H05 P#101 Q10 R#103G65 H05 P#101 Q20 R10上面 4个都是除指令格式都是把 Q 后面的数

8、值或变量号内的数值除以 R 后面的 数值或变量号内的数值然后等于到 P后面的变量号中 .(余数不存 ,除数如果为 0的话 会出现 112 报警)三角函数指令H31 SIN 正玄函数指令 :格式 G65 H31 P#101 Q#102 R#103含; 义 Q 后面的#102 是 三角形的斜边 R后面的 #103内存的是角度 .结果是 #101=#102*SIN#103,也就是说 可以直接用这个求出三角形的另一条边长 .和以前的指令一样 Q和 R后面也可以直接写数值 .H32 COS余玄函数指令 :格式 G65 H32 P#101 Q#102 R#103;含义 Q 后面的#102 是三角形的斜边R

9、 后面的 #103 内存的是角度 . 结果是 #101=#102*COS#103,也就是说可以直接用 这个求出三角形的另一条边长 .和以前的指令一样 Q 和 R 后面也可以直接写数值 .H33 和 H34 本来应该是 TAN 和 ATAN 的可是经过我使用得数并不准确 ,希望有 知道的人能够告诉我是为什么 ?开平方根指令H21;格式 G65 H21 P#101 Q#102 ;意思是把 #102 内的数值开了平方根然后存到 #101 中(这个指令是非常重要的如果在车椭圆的时候没有开平方根的指令是没可能用宏做到的无条件转移指令H80;格式:G65 H80 P10 ;直接跳到第 10 程序段 有条件

10、转移指令H81 H82 H83 H84 H85 H86 ,分别是等于就转的 H81;不等于就转的 H82;小于就转 的 H83;大于就转的 H84; 小于等于就转的 H85; 大于等于就转的 H86;格式:G65 H8x P10 Q#101 R#102;将#101内的数值和 #102内的数值相比较 ,按上 面的 H8x 的码带入 H8x 中去,如果条件符合就跳到第 10 程序段,如果不符合就继 续执行下面的程序段 .4B 类宏程序定义 能完成某一功能的一系列指令像子程序那样存入存储器,用户可以设定 M 、S、T、G 代码调用它们,使用时只需给出这个指令代码就能执行其功能,也可以像 调用子程序一

11、样使用。这样的程序也称作用户宏程序l 调用宏程序的指令 宏指令l 特点:使用变量 变量的表示和使用(一) 变量表示#I(I=1,2,3, 或#)例: #5,#109,#501,#1+#212(二) 变量 的使用1 地址字后面指定变量号或公式格式: #I这里的 “I代”表变量号 例: F#103,设#103=15 则为 F15 Z#110,设 #110=250 则为 Z250X#24+#18*COS#12 变量号可用变量代替例: #30 ,设#30=3 则为#33 变量不能使用地址 O,N, I 例:下述方法下允许O#1;I#2 6.00 100.0;N#3 Z200.0;4 变量号所对应的变量

12、,对每个地址来说,都有具体数值范围 例: #30=1100时,则 M#30 是不允许的5 #0 为空变量,没有定义变量值的变量也是空变量6 变量值定义: 程序定义时可省略小数点,例: #123=149 MDI 键盘输一 变量的种类1.局部变量 #1#33 一个在宏程序中局部使用的变量,其运算结果其他程序不可使用 例: A 宏程序 B 宏程序#10=20 X#10 不表示 X20断电后清空,调用宏程序时代入变量值2.公共变量。 早期(#100#149,#500#531 )、新系统(#100#199,#500#999) 各用户宏程序内公用的变量 ,其运算结果任何程序调用都相同。例:上例中 #10改

13、用#100时, B 宏程序中的X#100 表示 X20#100#149 断电后清空 #500#531保持型变量(断电后不丢失)3.系统变量 固定用途的变量,其值取决于系统的状态 例: #2001值为 1号刀补 X 轴补偿值 #5221值为 X 轴 G54工件原点偏置值 入时必须输入小数点,小数点省略时单位为 m 运算指令运算式的右边可以是常数、变量、函数、式子 式中#j,#k 也可为常量式子右边为变量号、运算式1 定义#I=#j2 算术运算#I=#j+#k#I=#j #k#I=#j*#k #I=#j/#k3 逻辑运算 #I=#JOK#k#I=#JXOK#k#I=#JAND#k4 函数#I=SI

14、N#j 正弦#I=COS#j 余弦#I=TAN#j 正切#I=ATAN#j 反正切#I=SQRT#j 平方根#I=ABS#j 绝对值#I=ROUND#j 四舍五入化整#I=FIX#j 上取整#I=FUP#j 下取整#I=BIN#j BCD BIN (二进制)#I=BCN#j BIN BCD1 说明1)角度单位为度 例:90 度 30分为 905 度2)ATAN 函数后的两个边长要用 “/ 隔”开例: #1=ATAN1/ 1时,#1 为了 3503)ROUND 用于语句中的地址,按各地址的最小设定单位进行四舍五入 例:设 #1=12345,#2=23456,设定单位 1mG91 X #1; X

15、1 235X #2 F300;X2346X#1+#2 ;X3580 未返回原处,应改为XROUND#1+ROUND#2 ;4) 取整后的绝对值比原值大为上取整,反之为下取整 例:设#1=12,#2=12时若#3=FUP#1时,则 #3=20 若#3=FIX#1 时,则 #3=10若#3=FUP#2时,则 #3=20 若#3=FIX#2 时,则 #3=105) 指令函数时,可只写开头 2 个字母例: ROUNDROFIX FI6) 优先级函数乘除(*,1,AND )加减(+,OR,XOR) 例: #1=#2+#3*SIN#4 ;7) 括号为中括号,最多 5 重,园括号用于注释语句 例: #1=S

16、IN#2+#3*#4+#5*#6 ;(3 重) 转移与循环指令1无条件的转移 格式: GOTO 1;GOTO #10;2条件转移格式: IF GOTO n 条件式:#j EQ#k 表示 =#j NE#k 表示 #j GT#k 表示 #j LT#k 表示 #j GE#k 表示 #j LE#k 表示 例: IF#1 GT 10 GOTO 100;N100 G00 G91 X10; 例:求 1 到 10 之和O9500;#1=0#2=1N1 IF #2 GT10 GOTO 2#1=#1+#2;#2=#2+1;GOTO 1N2 M301循环格式: WHILEDO m;(m=1,2,3)10ENDm说明

17、: 1条件满足时,执行 DOm到 ENDm,则从 DOm 的程序段 不满足时,执行 DOm到 ENDm 的程序段2省略 WHILE 语句只有 DOm ENDm, 则从 DOm 到 ENDm 之间形成死循环3嵌套4EQ NE时,空和 “0不”同其他条件下,空和 “0相”同例:求 1 到 10 之和O0001;#1=0;#2=1;WHILE #2LE10 DO1;#1=#1+#2;#2=#2+#1;END1;M30由浅入深宏程序 1-宏程序入门基础之销轴加工对于没有接触过宏程序人,觉得它很神秘,其实很简单,只要掌握了各类系统宏程序的基本格式,应 用指令代码,以及宏程序编程的基本思路即可。对于初学者

18、,尤其是要精读几个有代表性的宏程序,在此基础上进行模仿,从而能够以此类推,达到 独立编制宏程序的目的。本教程将分步由浅入深的将宏程序讲解给大家,作者水平有限,也希望各位同仁 提供更好的思路。下面大家先看一个简单的车床的程序,图纸如下:11要求用外圆刀切削一个短轴,这里只列举程序的前几步:T0101 M3S800G0X82Z5G0X76G1Z-40F0.2 X82G0Z5 G0X72G1Z-40F0.2X82G0Z5G0X68G1Z-40F0.2 X82G0Z5G0X68G1Z-40F0.2 X82G0Z5G0X40G1Z-40F0.2X82 G0Z5 G0X150Z150M5 M30从上面程序

19、可以看出,每次切削所用程序都只是切削直径X 有变化, 其他程序代码未变。 因此可以将一个变量赋给 X ,而在每次切削完之后,将其改变为下次切削所用直径即可。O5679T0101M3S800G0X82Z5#1=76 赋初始值,即第一次切削直径N10 G0 X#1 将变量赋给 X,则 X 方向进刀的直径则为 #1变量中实际存储值。 N10是程序 G1Z-40F0.2 段的编号,用来标识本段,为后面循环跳转所用。X82G0Z5#1=#1-4 每行切深为 2mm,直径方向递减 4mmIF #1GE40 GOTO 10 如果#1 = 40,即此表达式满足条件,则程序跳转到 N10 继续执行。G0X150

20、Z150 当不满足 #1 = 40,即 #1= 40,即此表达式满足条件,则程序跳转到 N10 继续执行。M03S1200 当不满足 #1 = 40,即#1= 0 ,即此表达式满足条件,则程序跳转到 N10 继续执行。 G0X150Z150 当不满足 #1 =0,即 #10,则最后一条圆弧已经切完,跳出循环。M5M30由浅入深宏程序 4-圆的标准方程编制宏程序车半球面我们知道无论什么样的曲线, 数控系统都是 CAD/CAM 软件在处理时都会将其按照内部的算法划分成14小段的直线进行加工,接下来我们利用圆的方程来将直线划分成小段直线在利用宏程序对其加工。下图为 圆的标准方程再按X*X+Y*Y=R

21、*R , 若将 X 和 Y 用参数变量代替可改写为 #1*#1+#2*#2=R*R 圆弧可沿 #1 方向划分成无数小段直线, 然后求出其相应端点坐标,再求出相对的数控车床中的坐标, 直线进行编程加工。如下图所示:则此段圆弧精加工轨迹为:G0X0G1Z0F0.1#1=0N10 #2=SQRT20*20-#1*#1 SQRT 表示开平方#3=#1-20 圆的原点在工件坐标左侧 20,所以圆弧上所有点坐标 Z 要减 20#4=2*#2 圆的方程计算出的为半径值,需转化为直径值才能与直径编程对应。G1X#4Z#3F0.1 沿小段直线插补加工#1=#1-0.5 递减一小段距离,此值越小,圆弧越光滑。15

22、IF #1GE0 GOTO 10 条件判断是否到达终点。G1X42 直线切出外圆如果要再加上分层的粗加工,设偏移量为 #5 ,则程序改为O6789T0101M3S800G0X42Z5#5=36N5 G0X#5G1Z0F0.1#1=20N10 #2=SQRT20*20-#1*#1 SQRT 表示开平方#3=#1-20 圆的原点在工件坐标左侧 20,所以圆弧上所有点坐标 Z 要减 20 #4=2*#2+#5 圆的方程计算出的为半径值,需转化为直径值才能与直径编程对应。 G1X#4Z#3F0.1 沿小段直线插补加工#1=#1-0.5 递减一小段距离,此值越小,圆弧越光滑。IF #1 GE 0 GOT

23、O 10 条件判断是否到达终点 。G1X42 直线插补切出外圆G0Z5#5=#5-4IF #5 GE 0 GOTO 5G0X150Z150M5M30 以上程序分内外二层循环,外层循环为分层加工,内层循环为小段直线插补一条圆弧。由浅入深宏程序 5-圆的参数方程编制宏程序车半球面圆的标准方程为: X=R*COS Y=R*SIN 可改写为: #1=20*cos#3 #3 为参数方程对应图纸中角度 #2=20*sin#316相应程序修改如下:O9876T0101M3S800G0X42Z5#6=36N5 G0X#6G1Z0F0.1#3=0N10 #1= 20*COS#3 #2=20*SIN#3#4=2*

24、#2+#6圆的方程计算出的为半径值,需转化为直径值才能与直径编程对应。17#5=#1-20G1X#4Z#5F0.1 沿小段直线插补加工#3=#3+3 递减 3 度,此值越小,圆弧越光滑。IF #3 LE 90 GOTO 10 条件判断是否到达终点 。G1X42 直线插补切到工件外圆之外G0Z5#6=#6-4IF #6 GE 0 GOTO 5G0X150Z150M5M30由浅入深宏程序 6-利用椭圆标准方程编制数控车宏程序2a椭圆宏程序结构流程:18如果看了前几篇,那么接下来这两篇加工椭圆的宏程序应该很容易理解。椭圆标准方程 X*X/a*a+Y*Y/b*b=1 ,其中 a 为长半轴, b 为短半

25、轴,若将 X 和 Y 用参数变量代替可 改写为 #1*#1/a*a+#2*#2/b*b=1椭圆可沿长半轴 #1 方向划分成无数小段直线, 然后求出其相应端点坐标, 再求出相对的数控车床中的 坐标,再按直线进行编程加工。如下图所示:假设椭圆 a=30, b=20,只加工半个椭圆,则此段椭圆精加工轨迹为:G0X0G1Z0F0.119#1=30N10 #2=20*SQRT1-30*30/#1*#1 SQRT 表示开平方#3=#1-30 椭圆的原点在工件坐标左侧 30,所以椭圆上所有点坐标 Z 要减 20#4=2*#2 方程计算出的为半径值,需转化为直径值才能按直径编程。G1X#4Z#3F0.1 沿小

26、段直线插补加工#1=#1-1 递减一小段距离,此值越小,椭圆越光滑。IF #1GE0 GOTO 10 条件判断是否到达终点。G1X42 直线切出外圆如果要再加上分层的粗加工,设偏移量为 #5 ,则程序改为O5678T0101M3S800G0X42Z5#5=36N5 G0X#5G1Z0F0.1#1=30N10 #2=20*SQRT30*30-#1*#1/30 SQRT 表示开平方#3=#1-30 椭圆的原点在工件坐标左侧 30,所以椭圆上所有点坐标 Z 要减 20#4=2*#2 方程计算出的为半径值,需转化为直径值才能按直径编程。G1X#4Z#3F0.1 沿小段直线插补加工#1=#1-1 递减一

27、小段距离,此值越小,椭圆越光滑。IF #1GE0 GOTO 10 条件判断是否到达终点。G1X42 直线插补切出外圆G0Z5#5=#5-4IF #5 GE 0 GOTO 5G0X150Z150M5M30 以上程序分内外二层循环,外层循环为分层加工,内层循环为小段直线插补一条四分之一椭圆弧。由浅入深宏程序 7-椭圆的参数方程编制宏程序车椭球面椭圆的参数方程为: X=a*COS Y=b*SIN 可改写为: #1=30*cos#3 #3 为参数方程对应的中角度#2=20*sin#3相应程序修改如下:O3456T0101M3S800G0X42Z5#6=3620N5 G0X#6G1Z0F0.1#3=0G0Z5 #6=#6-4I

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1