宏程序在数控编程中的应用技巧及编程实例

2010年6月第38卷第12期

机床与液压

MACHINETOOL&HYDRAULICS

Jull.2010V01.38No.12

DOI:10.3969/j.issn.1001—3881.2010.12.011

宏程序在数控编程中的应用技巧及编程实例

韩全立,王宏颖

(河南工业职业技术学院机电工程系,河南南阳473009)

摘要:结合目前国内常用的FANUC、哈斯、三菱数控系统阐述数控编程中使用宏程序的应用技巧以及宏程序的优越性。宏功能是用户提高数控机床性能的一种特珠功能,在相类似工件的加工中巧用宏程序将起到事半功倍的效果。数控宏程序设计作为一种非常方便实用的编程方法应给予足够的重视并加以推广。

关键词:宏程序;编程;应用技巧中图分类号:TG547

文献标识码:B

文章编号:1001—3881(2010)12—029—4

随着数控机床的普及和数控技术的推广,数控编程在机械制造行业中越来越重要。各种数控编程软件层出不穷。自动编程固然在某些方面比较方便,但仍不能取代手工编程。究其原因,是因为手工编程自由度大,能按照编程者的意愿控制机床的运动,便于进行程序流程控制,程序可控性、可调性好,程序非常短;自动编程(利用CAM类软件进行编程),虽然适合进行复杂形状的编程,但却不能进行程序流程控制,程序可控性、可调性远不及手工编程,而且非常冗长(通常是手工编程的

1000—10

2变量的使用及数控编程与计算机程序设计语言

在语法方面的比较

既然数控编程称之为“编程”,正如计算机编程要使用变量一样,数控程序中也需要使用变量。要进行程序流程控制,变量是必不可少的。作者结合计算机程序设计中的汇编、Basic、Pascal或C来进行对比说明。文中的实例可在法那科(FANUC0i)、三菱(MITSUBISHI)或哈斯(HAAS)系统上执行。

数控编程中的变量用符号#跟一个整数表示。例如#1就是一个变量。给变量赋值的方法和计算机编程一样,如#1=5。(相当于Basic或c语言的a=5,Pascal的a:=5。)

数控编程中的变量按作用域分为3类:局部变量、全局变量、系统变量。撑l一#33是局部变量,局

000倍)。为什么手工编程有这些优越性

呢?因为手工编程能够使用让数控程序成为真正意义上的“程序”的重要工具——宏程序。下面结合实例来加以详细阐述。1宏程序概述

宏程序类似于计算机编程中的函数。数控宏程序从发展历史上看,有宏程序A和宏程序B两种。宏程序A不能使用运算符和函数名,现已几乎不用。宏程序B可以象计算机编程一样使用变量、运算符和函数名,而且运算符和函数名和计算机编程大体上相同,程序易于理解。通常人们所指的宏程序有两个含义,一个是指在程序体中直接使用变量,另一个是指宏程序调用。

要使用宏程序编程,必须对所使用的数控系统的原有代码有充分的了解并能熟练运用,以免因对现有功能不了解而又编制宏程序来实现,使简单的问题复杂化。数控宏程序与空间解析几何、微积分、逻辑代数、CAD/CAM、计算机程序设计、机械加工、数控系统等学科(领域)有着千丝万缕的联系,决不能孤立地看待数控宏程序编程。

部变量只在该程序内起作用;#100--#199、#500一

群599是全局变量,在所有程序中起作用;#1000以上的是系统变量,控制着机床运行的各种状态,不要轻易修改。局部变量不能在程序运行时再加以修改,只能由程序控制。在使用局部变量时,必须在程序中赋初值。全局变量可以在程序运行时人为地加以修改。在使用全局变量时,可以不在程序中赋初值,而在加工时打入所需值。补偿量的本质是变量。

数控编程中用到的函数主要是数学函数。一般数控系统均提供下列函数:绝对值函数abs(菇);平方根函数sqrt(菇);三角函数sin(并)、COS(算)、tan(算)(单位是(o),但华中系统是rad);反三角函数asin(x)、acos(x)、atan(茗);对数函数ln(石);指数函数exp(菇);四舍五入取整函数round(菇);截断取整函数fix(石);进位取整函数fup(石);以及把8421BCD码转二进制的函数bin(石)和把二进制转8421BCD码的函数bed(菇)。大多数数控系统要求函

收稿日期:2009—06一01

作者简介:韩全立(1962一),男,硕士研究生,副教授,研究方向为机电一体化。电话:13903775445,E—mail:yingl001

@163.COrn。

万方数据

・30・

机床与液压

第38卷

数名必须用大写,括号必须用方括号。例如G[#IGT30]XS0+2宰ABS[襻1],当嚣l=20时相当于

GOX90。

3宏程序的使用方法和应用技巧

如果经常需要加工形状类似但尺寸不同的形状,可编制宏程序。宏程序可进行参数的传递。程序中以G65指令调用宏程序,宏程序中仍以M99指令返回上一级程序。宏程序还可以用G代码、M代码调用。自定义G代码、M代码本质上是调用宏程序。各种固定循环就是宏程序。宏程序可以嵌套调用,最多4层。但固定循环不计入层数。如G83X20Y30Z.25R1Q5F50,G83表示调用宏程序。后面的x、Y、Z、R、Q、F等都是宏程序的参数。

宏程序的调用格式是G65(或G66)P—L一[参数]。G65为非模式调用,G66为模式调用(哈斯系统无G66)。P值为宏程序的程序号,L为调用次数,

[参数]有两种格式:(1)A—B—C一……X…Y

Z,主

程序中用的字母(地址)在宏程序里用对应的变量表示。(2)A—B—C—Ij—K—I—J—K—I—J—K一……,A、B、C值对应}f1、}}2、#3,后面的I、J、K、I、J、K……依次对应槲、撑5、鼻6、撑7、#8、静9、……#33。这种格式不如第一种格式直观。由于一般宏程序不会用到20个以上的变量,所以通常用第一种格式就足够了。4编程实例

4.1

车900外因槽

三I~}一+星

生生

上2Q.』

图1具有900外圆槽的零件

用宽4l'nnl的切断刀粗、精车900外圆槽。粗车时在z方向上每2him切一刀。刀位点定在左刀尖上。采用半径编程。

S200M3

GOX36Z-24F.1#1=20

WHILE[撑1GT-20]D01

Z#1.44

G1X15+ABS[#1]

GOX36#l=#l-2ENDl

万方数据

G1X35Z.64

U-20W20

U20Ⅵ您0GOX40Z100M5M30%

4。2车旋转抛物面凸模

用外圆车刀粗、精车旋转抛物面凸模,机床不能进行抛物线插补,在精车时仍需要编一段循环程序来用一系列的直线段逼近抛物线。采用半径编程。

S1000M3G0)(5221G94F50#l=5

wHILE[#1GT0]D01

X10宰#1

GlZ-5・#l木#1G0)(52Z1

#1=#l旬.2ENDlG1XOZOF30孝1=0

WHILE[#1LT5.01]D01

X10木#1Z-5・#1霉#l襻1=撑1一O.005ENDlGOZlooM5

M30%

图2具有抛物面凸模零件

4.3铣削典型零件三的上层形状

如果使用轮廓编程,则需计算直线与圆弧的各切点。为了避免计算各切点坐标,可按中心线编制程序再进行偏移就很方便了。工件原点设在左上角。

GOG54G90X40Y-6S800M320

GlG4lDlXl6F150

Y48+12。5/TAN[30],R13

G39Y_48G9lXl2.5

第12期

韩全立等:宏程序在数控编程中的应用技巧及编程实例

・31・

X.12.5Y12.5/TAN[30],R13

G39G90Y.16Y.17G40X40GOZl00M5M30%

图3典型零件三

补偿量D1的值是铣刀半径与要铣出的形状的宽度的一半的和。例如,用qblOmill的铣刀,则D1的值是5+8=13mln。如果用4,8mm的铣刀,则DI的值是4+8=12

nllno

4.4铣削典型零件四内腔侧壁

毛坯采用铸件,单边有2mill左右余量(俯视图中以双点划线表示)。分层铣削,每次在Z方向进

mill。工件原点在上表面左上角。

图4典型零件四

COG54G90X65Y-30S1000M3ZIOF200D1#1:5

WHILE[#1LES0]D01

GOZ罐1

GlC,41Y-8X30

G[#1LE25]掌2+1Y-52R22

X90

万方数据

Y遗X65

C_,40GOY-30#1=撑1+5ENDlC-,OZl50M5M30

程序中G[撑1LE25]宰2+1Y-52R22一句的意思是如果深度没有超过25则走R22的圆弧,超过25则走直线。#l是z方向的深度,当撑l≤25时,G后面的表达式[#1LE25]宰2+1的值是3,这一行程序相当于G3,即走圆弧;当#1>25时,G后面的表达式[#1LE25]宰2+l的值是l,这一行程序相当于Gl,即走直线(表达式#1LT25的结果是逻辑值,可联系C语言加以分析)。

4.5

大量加工尺寸不一致的零件时程序的容错性例如要在很多圆柱体的端面上刻制图案,而圆柱

体的长度公差较大,以底面为定位面。如果不考虑长度误差,则刻出的图案深浅不一致。为了解决此问题,可选一个标准长度用来对刀,并在程序开头添上G52Z#101。在加工之前测量实际长度,把实际长度与标准长度的差值打入101号变量中。由于工件数量较多,为了避免打字失误(如一.2由于小数点未按下误打为一2)造成废品,应在程序中考虑容错性。例如有如下程序:

GOG54G90XOY0G52Z#101

IF[ABS[#101]LEO.5]GOT01#3000=1(INPUT

DATA

ERROR)

N1S30()oM3Z.4

G‘】Zl(1【)M5M30%

当误差在0.5以内(1§p#101的值在一0.5—0.5

之间时),程序跳转至N1开始刻制顶端的图案。如果误差超过了0.5,则机床发生3001号报警,屏幕上显示“INPUTDATAERROR”

(输人数据出错)。

按复位键后,重新打入#101的值,再次执行程序即

可。

0i系统增加螺旋下刀功能

三菱系统的G2、G3指令后可以带参数P--表示圈数,此功能可实现螺旋下刀的动作。但法那科系统无此功能。为此,可给法那科系统增加螺旋下刀功能。

IF[#17EQ#O]THEN#17=1

4.6给FANUC

・32・

机床与液压

第38卷

群1=[[#26一#5003]/#17]

e9lG3

舵=l

WHILE[#2LE#17]DOI

I#4J#SZ#1

舵=舵+1

ENDl

G90I#4J鲻

M99%

假如设定G103表示调用此宏程序,则螺旋下刀的格式是G103I_J_Z—Q一。例如,从X10yoZ0处绕工件原点转10圈下到z一15mill(即每圈下1.5mm),程序行是G103I—IOZ-15Q10。

4.7给三菱系统增加工件的计时和计数功能

三菱系统没有计时功能(有的数控系统带有工件计时功能,但通常都不包括准备时间),为了在加工批量零件时能够随时掌握工作效率,了解已加工的工件数量,可编制如下宏程序:

IF[#22NERO]GOT01

舵2=501

N1#[#22+3]:[#3001一删]/1000

撑[#22]Ii#[#22]+1IF[女V20NE#0]GOT02

舵0=3600

N2IF[#[#22+3]LT#20]GOT03#[舵2+1]=O#[#22+2]=加#[#22+3]=加

N3#[#22+1]=#[#22+1]+IIF[撑[#22+3]EQo]GOT04#[#22+2]=3600/#[#22+3]N4#[#22+4]=#4315

栖99=#3001

M99%

假如设定M41表示调用此宏程序,则在一个加工程序的M30前面添上M41V—T一一行,就可以实现工件的计时与计数功能。此宏程序用了5个变量来依次表示总产量计数、该班产量计数、该件耗时(包括准备时间)(s)、按照该件的效率每小时的产量、当前加工零件的程序号。V值表示第一个变量的变量号。T值表示一个间隔时间(s),当间隔时间超过此值则认为已换下一班。例如M41V50117200,则加工完一个零件后,变量#501的值是总产量计数、变量衡02的值是该班产量计数、#503的值是该件耗时、#504的值是按照该件的效率每小时的产量、#505的

万方数据

值是当前加工零件的程序号。如果加工两个零件之间的间隔超过2h,则认为已换班,#502重新开始计数,#501则连续计数。V—T一可省去,如省去,则按照默认值V501T3600。5结束语

总之,进行数控编程时应该有程序设计思想,不能狭隘地理解“编程”一词,不能认为只有用Basic、Pascal、C(或者VB、Delphi、C++Builder)等编程语言才是编程,而数控编程就不是编程。数控编程也是编程,数控机床的功能在于开发。某些数控系统原来没有的功能完全可以自己开发出来。结合自己常用的程序设计语言有助于理解数控编程。数控宏程序还与高等数学、计算机程序设计、机械制造等学科有密切联系。有些情况(如三维椭球面)并不适合宏程序编程;有些情况(如用多项式拟合列表曲线)必须首先建立数学模型。参考文献:

【1】郑国梁.高级语言程序设计[M].南京:南京大学出版

社.1995.

(上接第28页)

法,即:(1)在切削用量相同的情况下,尽量缩短以切削进给速度走刀的行程;(2)在保证安全的前提下,合理安排起刀点、换刀点位置,缩短起刀点、换刀点至实际切削加工起始点的行程;(3)从距起刀点较近的位置开始进行切削加工,以减少刀具的往复运动行程;(4)以最短走刀路线、最少/Jir时间为目标,综合运用各种编程指令进行加工程序的编制。

以上是以手工编程为例进行分析的,在自动编程中,同样应按最短走刀路线原则进行工艺规划,以减少空行程、提高加工效率。4结束语

在竞争十分激烈的现代企业生产实践中,优质高效地制造出满足用户需求的产品是企业矢志不渝的目标。在零件的数控加工中,通过制定合理的加工工艺方案,确定最短的走刀路线,灵活地运用数控加工的编程指令与方法,编制出优化的数控加工程序,可有效地提高零件的加工效率,降低制造成本,使企业在日益恶劣的竞争环境中赢得生存与发展的优势。参考文献:

【1】袁周华,袁永富.数控机床操作实i)iI[M].北京:中国农

业出版社,2006.

【2】顾京.数控机床加工程序编制[M].北京:机械工业出版

社。2006.

【3】赵长明,刘万菊.数控加工工艺及设备[M].北京:高等

教育出版社,2003.

宏程序在数控编程中的应用技巧及编程实例

作者:作者单位:刊名:英文刊名:年,卷(期):被引用次数:

韩全立, 王宏颖

河南工业职业技术学院机电工程系,河南南阳,473009机床与液压

MACHINE TOOL & HYDRAULICS2010,38(12)0次

参考文献(1条)

1.郑国梁 高级语言程序设计 1995

相似文献(10条)

1.期刊论文 王治宇.陈金刚.WANG Zhi-yu.CHEN Jin-gang Ф400 mm机组二次穿顶数控加工的宏程序编程 -包钢科技2009,35(1)

在数控车床上应用宏程序编程实现基本形状相似,尺寸不同的系列产品的加工.文章通过具体实例,阐述了使用变量进行赋值,利用宏程序的条件、转移功能实现编程的方法.节省了系统内存的大量空间,方便了操作.扩展了数控机床的使用范围.

2.期刊论文 程建明.王海丽.邵华 用用户宏程序实现编程零点变换和成组加工 -机械设计与研究2002,18(5)

本文利用FANUC及SIEMENS数控系统的宏指令功能,设计了编程零点变换宏程序和零件成组加工宏程序.使用宏程序,不仅使主程序长度大大缩短,又使可读性增强,现场修改方便,具有很好的技术经济效果.

3.期刊论文 杨志勤.曾亦愚.杨安林.潘志勇 液力偶合器外壳数控加工中宏程序的用法与编程 -机床与液压2009,37(5)

针对在液力偶合器外壳数控加工中的相似结构编程和工件原点找正问题,提出了利用宏程序编程的解决方案,叙述了液力偶合器外壳数控加工中宏程序的用法及编程.

4.会议论文 李铁 高级编程指令——用户宏程序的妙用 2008

用户宏程序的编程思想基础是"批处理"的概念,它的最大特点是:使用变量,可以对变量进行运算,使程序应用更加灵活方便.但在理解、使用和教学中也是一个难点。本文通过宏程序和普通程序语句的对比以及实例的剖析,达到灵活应用宏程序,拓展机床使用性能,解决生产中普通指令难以解决的零件加工问题。

5.学位论文 覃海 开放式数控系统宏程序编程平台的研究开发 2005

目前,大多数中高档数控系统都为用户提供了宏程序功能,正确恰当地使用该功能,可以极大地提高编程效率。本文通过对现有数控系统宏程序功能的深入研究,设计了一套新的宏指令系统,并根据开放式数控系统的编辑、编译原理,开发了一个支持该指令系统的编程平台。经过实例验证,使用本文设计的宏指令系统编制而成的宏程序,完全可以在开放式数控系统上正确运行。

6.期刊论文 叶凯.YE Kai 宏程序编程在轮廓铣削中的应用 -装备制造技术2007,""(1)

通过对变量进行赋值及处理的方法这到程序功能的程序叫宏程序,通过编程实例介绍了宏程序编程在有规则的曲线、曲面铣削加工中的应用.

7.期刊论文 龚洪浪.范锦峰.GONG Hong-lang.FAN Jin-feng 基于宏程序的数控车床抛物线编程研究 -南宁职业技术学院学报2009,14(4)

宏程序具有赋值、运算、比较、判别和循环等功能,运用于抛物线编程可以使手工编程程序简单实用.通过对不同开口的抛物线编程归纳可以有助于数控编程人员灵活掌握宏程序的应用技巧.

8.期刊论文 王宇飞.詹捷 宏程序直接编程的应用 -机械工程师2007,""(9)

通过编写宏程序,实现了几种直线相交情况下的几何轮廓直接编程,提高了编程的效率和精度,降低了编程难度,提高了生产效率.

9.期刊论文 彭二宝.王宏颖 宏程序在数控编程中的应用技巧及编程实例 -模具制造2010,10(3)

结合目前国内常用的FANuc、哈斯、三菱数控系统阐述了数控编程中使用宏程序的应用技巧以及宏程序的优越性.数控宏程序设计作为一种非常方便实用的编程方法应给予足够的重视并加以推广.

10.期刊论文 毕祥宏 浅谈数控铣床上用宏程序编程倒圆的方法 -科技风2009,""(7)

在数控铣床加工中,加工程序是关键,而加工程序在基于CAM软件编程的功能下,使编程较为容易.然而在某些情况下,如技能比赛或考试中,常常要求我们手工编程,进行工件的倒圆,我们利用宏程序编程,基本上都可以实现.

本文链接:http://d.g.wanfangdata.com.cn/Periodical_jcyyy201012011.aspx授权使用:应处长(wfzjjtjs),授权号:17aa4fb6-4de2-404a-92f2-9e0c009d6c8c

下载时间:2010年10月11日

2010年6月第38卷第12期

机床与液压

MACHINETOOL&HYDRAULICS

Jull.2010V01.38No.12

DOI:10.3969/j.issn.1001—3881.2010.12.011

宏程序在数控编程中的应用技巧及编程实例

韩全立,王宏颖

(河南工业职业技术学院机电工程系,河南南阳473009)

摘要:结合目前国内常用的FANUC、哈斯、三菱数控系统阐述数控编程中使用宏程序的应用技巧以及宏程序的优越性。宏功能是用户提高数控机床性能的一种特珠功能,在相类似工件的加工中巧用宏程序将起到事半功倍的效果。数控宏程序设计作为一种非常方便实用的编程方法应给予足够的重视并加以推广。

关键词:宏程序;编程;应用技巧中图分类号:TG547

文献标识码:B

文章编号:1001—3881(2010)12—029—4

随着数控机床的普及和数控技术的推广,数控编程在机械制造行业中越来越重要。各种数控编程软件层出不穷。自动编程固然在某些方面比较方便,但仍不能取代手工编程。究其原因,是因为手工编程自由度大,能按照编程者的意愿控制机床的运动,便于进行程序流程控制,程序可控性、可调性好,程序非常短;自动编程(利用CAM类软件进行编程),虽然适合进行复杂形状的编程,但却不能进行程序流程控制,程序可控性、可调性远不及手工编程,而且非常冗长(通常是手工编程的

1000—10

2变量的使用及数控编程与计算机程序设计语言

在语法方面的比较

既然数控编程称之为“编程”,正如计算机编程要使用变量一样,数控程序中也需要使用变量。要进行程序流程控制,变量是必不可少的。作者结合计算机程序设计中的汇编、Basic、Pascal或C来进行对比说明。文中的实例可在法那科(FANUC0i)、三菱(MITSUBISHI)或哈斯(HAAS)系统上执行。

数控编程中的变量用符号#跟一个整数表示。例如#1就是一个变量。给变量赋值的方法和计算机编程一样,如#1=5。(相当于Basic或c语言的a=5,Pascal的a:=5。)

数控编程中的变量按作用域分为3类:局部变量、全局变量、系统变量。撑l一#33是局部变量,局

000倍)。为什么手工编程有这些优越性

呢?因为手工编程能够使用让数控程序成为真正意义上的“程序”的重要工具——宏程序。下面结合实例来加以详细阐述。1宏程序概述

宏程序类似于计算机编程中的函数。数控宏程序从发展历史上看,有宏程序A和宏程序B两种。宏程序A不能使用运算符和函数名,现已几乎不用。宏程序B可以象计算机编程一样使用变量、运算符和函数名,而且运算符和函数名和计算机编程大体上相同,程序易于理解。通常人们所指的宏程序有两个含义,一个是指在程序体中直接使用变量,另一个是指宏程序调用。

要使用宏程序编程,必须对所使用的数控系统的原有代码有充分的了解并能熟练运用,以免因对现有功能不了解而又编制宏程序来实现,使简单的问题复杂化。数控宏程序与空间解析几何、微积分、逻辑代数、CAD/CAM、计算机程序设计、机械加工、数控系统等学科(领域)有着千丝万缕的联系,决不能孤立地看待数控宏程序编程。

部变量只在该程序内起作用;#100--#199、#500一

群599是全局变量,在所有程序中起作用;#1000以上的是系统变量,控制着机床运行的各种状态,不要轻易修改。局部变量不能在程序运行时再加以修改,只能由程序控制。在使用局部变量时,必须在程序中赋初值。全局变量可以在程序运行时人为地加以修改。在使用全局变量时,可以不在程序中赋初值,而在加工时打入所需值。补偿量的本质是变量。

数控编程中用到的函数主要是数学函数。一般数控系统均提供下列函数:绝对值函数abs(菇);平方根函数sqrt(菇);三角函数sin(并)、COS(算)、tan(算)(单位是(o),但华中系统是rad);反三角函数asin(x)、acos(x)、atan(茗);对数函数ln(石);指数函数exp(菇);四舍五入取整函数round(菇);截断取整函数fix(石);进位取整函数fup(石);以及把8421BCD码转二进制的函数bin(石)和把二进制转8421BCD码的函数bed(菇)。大多数数控系统要求函

收稿日期:2009—06一01

作者简介:韩全立(1962一),男,硕士研究生,副教授,研究方向为机电一体化。电话:13903775445,E—mail:yingl001

@163.COrn。

万方数据

・30・

机床与液压

第38卷

数名必须用大写,括号必须用方括号。例如G[#IGT30]XS0+2宰ABS[襻1],当嚣l=20时相当于

GOX90。

3宏程序的使用方法和应用技巧

如果经常需要加工形状类似但尺寸不同的形状,可编制宏程序。宏程序可进行参数的传递。程序中以G65指令调用宏程序,宏程序中仍以M99指令返回上一级程序。宏程序还可以用G代码、M代码调用。自定义G代码、M代码本质上是调用宏程序。各种固定循环就是宏程序。宏程序可以嵌套调用,最多4层。但固定循环不计入层数。如G83X20Y30Z.25R1Q5F50,G83表示调用宏程序。后面的x、Y、Z、R、Q、F等都是宏程序的参数。

宏程序的调用格式是G65(或G66)P—L一[参数]。G65为非模式调用,G66为模式调用(哈斯系统无G66)。P值为宏程序的程序号,L为调用次数,

[参数]有两种格式:(1)A—B—C一……X…Y

Z,主

程序中用的字母(地址)在宏程序里用对应的变量表示。(2)A—B—C—Ij—K—I—J—K—I—J—K一……,A、B、C值对应}f1、}}2、#3,后面的I、J、K、I、J、K……依次对应槲、撑5、鼻6、撑7、#8、静9、……#33。这种格式不如第一种格式直观。由于一般宏程序不会用到20个以上的变量,所以通常用第一种格式就足够了。4编程实例

4.1

车900外因槽

三I~}一+星

生生

上2Q.』

图1具有900外圆槽的零件

用宽4l'nnl的切断刀粗、精车900外圆槽。粗车时在z方向上每2him切一刀。刀位点定在左刀尖上。采用半径编程。

S200M3

GOX36Z-24F.1#1=20

WHILE[撑1GT-20]D01

Z#1.44

G1X15+ABS[#1]

GOX36#l=#l-2ENDl

万方数据

G1X35Z.64

U-20W20

U20Ⅵ您0GOX40Z100M5M30%

4。2车旋转抛物面凸模

用外圆车刀粗、精车旋转抛物面凸模,机床不能进行抛物线插补,在精车时仍需要编一段循环程序来用一系列的直线段逼近抛物线。采用半径编程。

S1000M3G0)(5221G94F50#l=5

wHILE[#1GT0]D01

X10宰#1

GlZ-5・#l木#1G0)(52Z1

#1=#l旬.2ENDlG1XOZOF30孝1=0

WHILE[#1LT5.01]D01

X10木#1Z-5・#1霉#l襻1=撑1一O.005ENDlGOZlooM5

M30%

图2具有抛物面凸模零件

4.3铣削典型零件三的上层形状

如果使用轮廓编程,则需计算直线与圆弧的各切点。为了避免计算各切点坐标,可按中心线编制程序再进行偏移就很方便了。工件原点设在左上角。

GOG54G90X40Y-6S800M320

GlG4lDlXl6F150

Y48+12。5/TAN[30],R13

G39Y_48G9lXl2.5

第12期

韩全立等:宏程序在数控编程中的应用技巧及编程实例

・31・

X.12.5Y12.5/TAN[30],R13

G39G90Y.16Y.17G40X40GOZl00M5M30%

图3典型零件三

补偿量D1的值是铣刀半径与要铣出的形状的宽度的一半的和。例如,用qblOmill的铣刀,则D1的值是5+8=13mln。如果用4,8mm的铣刀,则DI的值是4+8=12

nllno

4.4铣削典型零件四内腔侧壁

毛坯采用铸件,单边有2mill左右余量(俯视图中以双点划线表示)。分层铣削,每次在Z方向进

mill。工件原点在上表面左上角。

图4典型零件四

COG54G90X65Y-30S1000M3ZIOF200D1#1:5

WHILE[#1LES0]D01

GOZ罐1

GlC,41Y-8X30

G[#1LE25]掌2+1Y-52R22

X90

万方数据

Y遗X65

C_,40GOY-30#1=撑1+5ENDlC-,OZl50M5M30

程序中G[撑1LE25]宰2+1Y-52R22一句的意思是如果深度没有超过25则走R22的圆弧,超过25则走直线。#l是z方向的深度,当撑l≤25时,G后面的表达式[#1LE25]宰2+1的值是3,这一行程序相当于G3,即走圆弧;当#1>25时,G后面的表达式[#1LE25]宰2+l的值是l,这一行程序相当于Gl,即走直线(表达式#1LT25的结果是逻辑值,可联系C语言加以分析)。

4.5

大量加工尺寸不一致的零件时程序的容错性例如要在很多圆柱体的端面上刻制图案,而圆柱

体的长度公差较大,以底面为定位面。如果不考虑长度误差,则刻出的图案深浅不一致。为了解决此问题,可选一个标准长度用来对刀,并在程序开头添上G52Z#101。在加工之前测量实际长度,把实际长度与标准长度的差值打入101号变量中。由于工件数量较多,为了避免打字失误(如一.2由于小数点未按下误打为一2)造成废品,应在程序中考虑容错性。例如有如下程序:

GOG54G90XOY0G52Z#101

IF[ABS[#101]LEO.5]GOT01#3000=1(INPUT

DATA

ERROR)

N1S30()oM3Z.4

G‘】Zl(1【)M5M30%

当误差在0.5以内(1§p#101的值在一0.5—0.5

之间时),程序跳转至N1开始刻制顶端的图案。如果误差超过了0.5,则机床发生3001号报警,屏幕上显示“INPUTDATAERROR”

(输人数据出错)。

按复位键后,重新打入#101的值,再次执行程序即

可。

0i系统增加螺旋下刀功能

三菱系统的G2、G3指令后可以带参数P--表示圈数,此功能可实现螺旋下刀的动作。但法那科系统无此功能。为此,可给法那科系统增加螺旋下刀功能。

IF[#17EQ#O]THEN#17=1

4.6给FANUC

・32・

机床与液压

第38卷

群1=[[#26一#5003]/#17]

e9lG3

舵=l

WHILE[#2LE#17]DOI

I#4J#SZ#1

舵=舵+1

ENDl

G90I#4J鲻

M99%

假如设定G103表示调用此宏程序,则螺旋下刀的格式是G103I_J_Z—Q一。例如,从X10yoZ0处绕工件原点转10圈下到z一15mill(即每圈下1.5mm),程序行是G103I—IOZ-15Q10。

4.7给三菱系统增加工件的计时和计数功能

三菱系统没有计时功能(有的数控系统带有工件计时功能,但通常都不包括准备时间),为了在加工批量零件时能够随时掌握工作效率,了解已加工的工件数量,可编制如下宏程序:

IF[#22NERO]GOT01

舵2=501

N1#[#22+3]:[#3001一删]/1000

撑[#22]Ii#[#22]+1IF[女V20NE#0]GOT02

舵0=3600

N2IF[#[#22+3]LT#20]GOT03#[舵2+1]=O#[#22+2]=加#[#22+3]=加

N3#[#22+1]=#[#22+1]+IIF[撑[#22+3]EQo]GOT04#[#22+2]=3600/#[#22+3]N4#[#22+4]=#4315

栖99=#3001

M99%

假如设定M41表示调用此宏程序,则在一个加工程序的M30前面添上M41V—T一一行,就可以实现工件的计时与计数功能。此宏程序用了5个变量来依次表示总产量计数、该班产量计数、该件耗时(包括准备时间)(s)、按照该件的效率每小时的产量、当前加工零件的程序号。V值表示第一个变量的变量号。T值表示一个间隔时间(s),当间隔时间超过此值则认为已换下一班。例如M41V50117200,则加工完一个零件后,变量#501的值是总产量计数、变量衡02的值是该班产量计数、#503的值是该件耗时、#504的值是按照该件的效率每小时的产量、#505的

万方数据

值是当前加工零件的程序号。如果加工两个零件之间的间隔超过2h,则认为已换班,#502重新开始计数,#501则连续计数。V—T一可省去,如省去,则按照默认值V501T3600。5结束语

总之,进行数控编程时应该有程序设计思想,不能狭隘地理解“编程”一词,不能认为只有用Basic、Pascal、C(或者VB、Delphi、C++Builder)等编程语言才是编程,而数控编程就不是编程。数控编程也是编程,数控机床的功能在于开发。某些数控系统原来没有的功能完全可以自己开发出来。结合自己常用的程序设计语言有助于理解数控编程。数控宏程序还与高等数学、计算机程序设计、机械制造等学科有密切联系。有些情况(如三维椭球面)并不适合宏程序编程;有些情况(如用多项式拟合列表曲线)必须首先建立数学模型。参考文献:

【1】郑国梁.高级语言程序设计[M].南京:南京大学出版

社.1995.

(上接第28页)

法,即:(1)在切削用量相同的情况下,尽量缩短以切削进给速度走刀的行程;(2)在保证安全的前提下,合理安排起刀点、换刀点位置,缩短起刀点、换刀点至实际切削加工起始点的行程;(3)从距起刀点较近的位置开始进行切削加工,以减少刀具的往复运动行程;(4)以最短走刀路线、最少/Jir时间为目标,综合运用各种编程指令进行加工程序的编制。

以上是以手工编程为例进行分析的,在自动编程中,同样应按最短走刀路线原则进行工艺规划,以减少空行程、提高加工效率。4结束语

在竞争十分激烈的现代企业生产实践中,优质高效地制造出满足用户需求的产品是企业矢志不渝的目标。在零件的数控加工中,通过制定合理的加工工艺方案,确定最短的走刀路线,灵活地运用数控加工的编程指令与方法,编制出优化的数控加工程序,可有效地提高零件的加工效率,降低制造成本,使企业在日益恶劣的竞争环境中赢得生存与发展的优势。参考文献:

【1】袁周华,袁永富.数控机床操作实i)iI[M].北京:中国农

业出版社,2006.

【2】顾京.数控机床加工程序编制[M].北京:机械工业出版

社。2006.

【3】赵长明,刘万菊.数控加工工艺及设备[M].北京:高等

教育出版社,2003.

宏程序在数控编程中的应用技巧及编程实例

作者:作者单位:刊名:英文刊名:年,卷(期):被引用次数:

韩全立, 王宏颖

河南工业职业技术学院机电工程系,河南南阳,473009机床与液压

MACHINE TOOL & HYDRAULICS2010,38(12)0次

参考文献(1条)

1.郑国梁 高级语言程序设计 1995

相似文献(10条)

1.期刊论文 王治宇.陈金刚.WANG Zhi-yu.CHEN Jin-gang Ф400 mm机组二次穿顶数控加工的宏程序编程 -包钢科技2009,35(1)

在数控车床上应用宏程序编程实现基本形状相似,尺寸不同的系列产品的加工.文章通过具体实例,阐述了使用变量进行赋值,利用宏程序的条件、转移功能实现编程的方法.节省了系统内存的大量空间,方便了操作.扩展了数控机床的使用范围.

2.期刊论文 程建明.王海丽.邵华 用用户宏程序实现编程零点变换和成组加工 -机械设计与研究2002,18(5)

本文利用FANUC及SIEMENS数控系统的宏指令功能,设计了编程零点变换宏程序和零件成组加工宏程序.使用宏程序,不仅使主程序长度大大缩短,又使可读性增强,现场修改方便,具有很好的技术经济效果.

3.期刊论文 杨志勤.曾亦愚.杨安林.潘志勇 液力偶合器外壳数控加工中宏程序的用法与编程 -机床与液压2009,37(5)

针对在液力偶合器外壳数控加工中的相似结构编程和工件原点找正问题,提出了利用宏程序编程的解决方案,叙述了液力偶合器外壳数控加工中宏程序的用法及编程.

4.会议论文 李铁 高级编程指令——用户宏程序的妙用 2008

用户宏程序的编程思想基础是"批处理"的概念,它的最大特点是:使用变量,可以对变量进行运算,使程序应用更加灵活方便.但在理解、使用和教学中也是一个难点。本文通过宏程序和普通程序语句的对比以及实例的剖析,达到灵活应用宏程序,拓展机床使用性能,解决生产中普通指令难以解决的零件加工问题。

5.学位论文 覃海 开放式数控系统宏程序编程平台的研究开发 2005

目前,大多数中高档数控系统都为用户提供了宏程序功能,正确恰当地使用该功能,可以极大地提高编程效率。本文通过对现有数控系统宏程序功能的深入研究,设计了一套新的宏指令系统,并根据开放式数控系统的编辑、编译原理,开发了一个支持该指令系统的编程平台。经过实例验证,使用本文设计的宏指令系统编制而成的宏程序,完全可以在开放式数控系统上正确运行。

6.期刊论文 叶凯.YE Kai 宏程序编程在轮廓铣削中的应用 -装备制造技术2007,""(1)

通过对变量进行赋值及处理的方法这到程序功能的程序叫宏程序,通过编程实例介绍了宏程序编程在有规则的曲线、曲面铣削加工中的应用.

7.期刊论文 龚洪浪.范锦峰.GONG Hong-lang.FAN Jin-feng 基于宏程序的数控车床抛物线编程研究 -南宁职业技术学院学报2009,14(4)

宏程序具有赋值、运算、比较、判别和循环等功能,运用于抛物线编程可以使手工编程程序简单实用.通过对不同开口的抛物线编程归纳可以有助于数控编程人员灵活掌握宏程序的应用技巧.

8.期刊论文 王宇飞.詹捷 宏程序直接编程的应用 -机械工程师2007,""(9)

通过编写宏程序,实现了几种直线相交情况下的几何轮廓直接编程,提高了编程的效率和精度,降低了编程难度,提高了生产效率.

9.期刊论文 彭二宝.王宏颖 宏程序在数控编程中的应用技巧及编程实例 -模具制造2010,10(3)

结合目前国内常用的FANuc、哈斯、三菱数控系统阐述了数控编程中使用宏程序的应用技巧以及宏程序的优越性.数控宏程序设计作为一种非常方便实用的编程方法应给予足够的重视并加以推广.

10.期刊论文 毕祥宏 浅谈数控铣床上用宏程序编程倒圆的方法 -科技风2009,""(7)

在数控铣床加工中,加工程序是关键,而加工程序在基于CAM软件编程的功能下,使编程较为容易.然而在某些情况下,如技能比赛或考试中,常常要求我们手工编程,进行工件的倒圆,我们利用宏程序编程,基本上都可以实现.

本文链接:http://d.g.wanfangdata.com.cn/Periodical_jcyyy201012011.aspx授权使用:应处长(wfzjjtjs),授权号:17aa4fb6-4de2-404a-92f2-9e0c009d6c8c

下载时间:2010年10月11日


相关内容

  • 数控编程实例:如何编写数控程序
  • 机械检验技师(理论考试题) 高效三维CAD教程之矿泉水建模 质量标兵发言稿(五四青年节) 数控机床编程方法.技巧与实例 数控加工编程技术试题库(专业版) 怎样学习数控技术--数控机床的坐标系 一看就会,学CAD就这么简单!(CAD视频教程全集 ) 数控编程:数控机床加工工序和加工路线的设计 非常实用 ...

  • 数控加工中心操作入门
  • 基本资料 数控加工中心操作入门 作者: 段传林编著 出版社: 出版年: 2008.1 页数: 定价: 15 装帧: ISAN: 内容简介 刚进城?才下岗?不怕!只要肯学习,相信自己:天生我才,必有用.应聘打工?开厂办店?别愁!只要您精通一门技术,拥有一项专长,您就会:一招鲜,吃遍天. 本书为&quo ...

  • 数控加工技术项目教程2
  • "现代职业教育机械类专业教学法"课程论文 授课学期 2012 学年至 2013学年 第学期 学院 职业技术师范学院 专 业 机械设计制造及其自动化 学 姓号 [1**********]1 名 任课教师 王斌武 交稿日期 成绩 阅读教师签名 日 期 广西师范大学学工部(处)制 &l ...

  • 数控机床编程实例
  • 一.两种特殊的圆弧编程指令:CT和RND 常用的圆弧编程指令是G2和G3,使用时必须编入圆弧起点坐标,终点坐标.圆弧半径或中心坐标,可处理各种类型的圆弧编程.西门子810D/840D系统中的CT和RND指令也可以生成精确的圆弧轨迹,在加工轮廓中出现用圆弧与其他直线或圆弧相切连接的轨迹时,灵活运用CT ...

  • 数控车床加工程序的编制及实例分析
  • 数控车床加工程序的编制及实例分析 [内容摘要] 本文通过对数控车床加工程序的分类,掌握合适的编程方法,并对零件图样进行合理的分析,确定合理的走刀路线,合理调用G 命令和安排"回零"路线,合理选择切削用量.并通过实例分析掌握常见零件加工程序的编制.学会编程中细节问题的处理. [关键 ...

  • 数控车工技能鉴定
  • 本书是根据“高等职业教育机械类专业人才培养目、标及基本规格”的要求编写的。本书系统地介绍了数控车床的分类与应用、数控车床的组成、数控车床的加工工艺、数控编程的基础知识,并结合实例讲解了FANUC O-TD 系统、SINUMERIK 802S系统典型数控车床加工实训,突出了应用性、实用性、综合性和先进 ...

  • 09模具与数控技术应用专业(3+2)教学计划
  • 09模具与数控技术应用专业(3+2)教学计划 一.招生对象与学制 本专业招收初中毕业生或具有同等学力者,学制5年. 二.培养目标与业务范围 (一) 培养目标 本专业培养德.智.体.美等全面发展,具有一定的基础理论和专业知识.创新精神和较强实践能力,掌握模具设计与制造专业必需的基础理论.专业知识.先进 ...

  • 数控车编程实例
  • 数控车床编程实例 例1.G01直线插补指令编程 如下图 所示 安装装仿形工件 请设置安装装仿形工件, 各点坐标参考如下(X向余量4mm) FUNAC 数控车编程如下: O9001 N10 G50 X100 Z10 (设立坐标系,定义对刀点的位置) N20 G00 X16 Z2 M03 (移到倒角延长 ...

  • 文档数控铣技师论文
  • 国家职业资格全国统一鉴定 数控铣技师论文 (国家职业资格二级)论文题目: 数控铣削加工中刀具半径补偿的应用 姓 名: xx 明 身份证号: 36230xxxxxxxxxxxxX 所在省市: 江西省 xx 市 数控铣削加工中刀具半径补偿的应用技巧[摘 要]介绍数控编程刀具半径补偿功能的概念及应用,在数 ...