第2章 数控编程基础
普通机床执行加工任务,是由操作人员手动控制的。而数控机床执行加工任务,是由数控加工指令程序控制的。数控加工指令程序的编制通常有三种途径:(1)手工编程;(2)用数控语言进行辅助编程;(3)用CAD/CAM软件进行计算机自动编程。要掌握数控加工指令程序的编制技术,熟悉手工编程至关重要,因为不论是用数控语言进行辅助编程,或是利用CAD/CAM软件进行自动编程,输出的源程序或刀位文件都必须经过后置处理系统转换成机床控制系统规定的加工指令程序格式。所以,掌握手工编写加工指令程序的方法是数控编程人员的基本功。
2.1  概述
一、数控编程的基本概念
数控加工是指在数控机床上进行零件加工的一种工艺方法。在数控机床上加工零件时,首先要根据零件图样,按规定的代码及程序格式将零件加工的全部工艺过程、工艺参数、位移数据和方向以及操作步骤等以数字信息的形式记录在控制介质上(如磁带、U盘等),然后输入给数控装置,从而指挥数控机床加工。
我们将从零件图样到制成控制介质的全部过程称为数控加工的程序编制,简称数控编程。使用数控机床
加工零件时,程序编制是一项重要的工作。迅速、正确而经济地完成程序编制工作,对于有效地利用数控机床是具有决定意义的一个环节。
二、数控编程的内容和步骤
数控编程的内容主要包括:分析零件图样、确定加工工艺过程、数值计算、编写零件加工程序、制作控制介质、程序校验和试切削等。
数控编程的一般步骤如图2-1所示。
图2-1  数控编程的步骤
1.确定工艺过程
在确定加工工艺过程时,编程人员要根据零件图样进行工艺分析,然后选择加工方案,
数控编程技术
20
确定加工顺序、加工路线、装夹方式、刀具、工装以及切削用量等工艺参数。这些工作与普通机床加工零件时工艺规程的编制相似,但也有自身的一些特点。要考虑所用数控机床的指令功能,充分发挥数控机床的效能。
2.数值计算
按已确定的加工路线和允许的零件加工误差,计算出所需的输入数控装置的数据,称为数值计算。数值计算的主要内容是在规定的坐标系内计算零件轮廓和刀具运动的轨迹的坐标值。数值计算的复杂程度取决于零件的复杂程度和数控装置功能的强弱。对于点位控制的数控机床(如数控冲床等)加工的零件,一般不需要计算,只是当零件图样坐标系与编程坐标系不一致时,才需要对坐标系进行换算。对于形状比较简单的零件(如直线和圆弧组成的零件)的轮廓加工,需要计算出几何元素的起点、终点、圆弧的圆心、两几何元素的交点或切点的坐标值,有的还要计算刀具中心的运动轨迹坐标值。对
于形状比较复杂的零件(如非圆曲线、曲面组成的零件)的轮廓加工,需要用直线段或圆弧段逼近,根据要求的精度计算出其节点坐标值。这种情况一般要用计算机来完成数值计算的工作。
3.编写零件加工程序单
加工路线、工艺参数及刀具运动轨迹的坐标值确定以后,编程人员可以根据数控系统规定的功能指令代码及程序段格式,逐渐编写加工程序单。此外,还应填写有关的工艺文件,如数控加工工序卡片、数控刀具卡片、数控刀具明细表等。
4.制备控制介质
制备控制介质就是把编制好的程序单上的内容记录在控制介质上作为数控装置的输入信息。控制介质的类型因数控装置而异,常用的有穿孔纸带、磁盘等,也可直接通过数控装置上的键盘将程序输入存储器。
5.程序校验和试切削
程序单和制备好的控制介质必须经过校验和试切削才能用于正式加工。一般采用空走刀校验、空运转画图校验以检查机床运动轨迹与动作的正确性。在具有图形显示功能和动态模拟功能的数控机床上,用图形模拟刀具与工件切削的方法进行检验更为方便。但这些方法只能检验出运动是否正确,不能检
cnc编程代码大全查被加工零件的加工精度。因此,还要进行零件的试切削。当发现有加工误差时,应分析误差产生的原因,采取措施加以纠正。
从以上内容来看,作为一名编程人员,不但要熟悉数控机床的结构、数控系统的功能及有关标准,而且还必须是一名好的工艺人员,要熟悉零件的加工工艺、装夹方法、刀具、切削用量的选择等方面的知识。
三、数控编程的方法
数控编程的方法主要有两种:手工编程和自动编程。
1.手工编程
用人工完成程序编制的全部工作(包括用通用计算机辅助进行数值计算)称为手工编程。
对于几何形状较为简单的零件,数值计算较简单,程序段不多,采用手工编程较容易完
第2章数控编程基础21
成,而且经济、及时。因此,在点位加工及由直线与圆弧组成的轮廓加工中,手工编程仍广泛使用。
但对于形状复杂的零件,特别是具有非圆曲线、列表曲线或曲面的零件,用手工编程就有一定的困难,出错的可能增大,效率低,有时甚至无法编出程序。因此必须采用自动编程的方法。
2.自动编程
自动编程也称计算机辅助编程,即程序编制工作的大部分或全部由计算机来完成,如完成坐标值计算、编写零件加工程序单、自动输出打印加工程序单和制备控制介质等。自动编程方法减轻了编程人员的劳动强度,缩短了编程时间,提高了编程质量,同时解决了手工编程无法解决的许多复杂零件的编程难题。工件表面形状越复杂,工艺过程越繁琐,自动编程的优势越明显。
自动编程的方法种类很多,发展也很迅速。根据编程信息的输入和计算机对信息的处理方式的不同,可以分为以自动编程为基础的自动编程方法(简称语言式自动编程)和以计算机绘图为基础的自动编程方法(简称图形交互式自动编程)。
2.2  数控程序
一、基本的编程术语
数控程序是包含加工信息,按一定的格式编写,用于控制数控机床自动加工的一系列指令代码。每一条指令都是CNC系统可以接受、编译和执行的格式,同时它们必须符合机床说明。
CNC领域有其自己的术语以及特有的术语和行话,术语在CNC编程中十分常见和重要,下面分别对它们进行详细的介绍。
1.字符
字符是CNC程序中最小的单元,它有三种形式:数字、字母、符号。
字符组成有意义的词组,数字、字母和符号的组合称为字母-数字程序输入。
(1)数字程序中可以使用十个数字(0~9)来组成一个数。数字有两种使用模式:一种是整数值(没有小数部分的数),另一种是实数(具有小数部分的数)。数字有正负之分,一些控制器中,实数可以有小数点,也可以没有小数点。两种模式下使用的数字,只能输入控制系统许可范围内的数字。
(2)字母英文字母表中的26个字母都可用来编程,至少理论上是这样的。大多数的控制系统只接受特定的字母,而抵制其余的字母,例如CNC车床可能会抵制字母“Y”,因为“Y”是铣削操作所独有的(铣床和加工中心)。大写字母是CNC编程的正规名称,但是一些控制器也接受小写形式的字母,并与其对应的大写字母具有相同的意义。
(3)符号除了数字和字母,编程中也使用一些符号。最常见的符号是小数点、负号、百分号、圆括号等,这将取决于控制器选项。
数控编程技术
22
2.字
程序字由字母和数字字符组成,并形成控制系统中的单个指令。程序字一般以大写字母开头,后面紧跟表示程序代码或实际值的数值。典型的字表示轴的位置、进给率、速度、准备功能、辅助功能以及许多其他的定义。
3.程序段
字在CNC系统中作为单独的指令使用,而程序段则作为多重指令使用。输入控制系统的程序由单独的以逻辑顺序排列的指令行组成,每一行(称为顺序排列的程序段)由一个或几个字组成,每一个字由两个或多个字符组成。
控制系统中,每一个程序段必须与所有其他的程序段分离开来,为了在控制器中的MDI (手动数据输入)模式下分离程序段,程序段必须以程序段结束代码(符号)结束,该代码在控制面板上的标记为EOB。在计算机上编写程序时,键盘上的回车键可以结束程序段,结果跟使用程序段结束代码一样。如果首先将程序写在纸上,则各程序段必须占据单独的一行,每一程序段包含一系列同时执行的单个
指令。
4.程序
不同控制器的程序结构也不一样,但是逻辑方法并不随控制器的不同而变化。CNC程序通常以程序号或类似的符号开始,后面紧跟以逻辑顺序排列的指令程序段。程序段以停止代码或终止符号结束,比如百分号(%)。内部文档和供操作人员使用的信息,可能位于程序中关键的地方。
二、编程格式
在数字控制的早期应用中,就出现了三种非常重要的格式,按它们出现的先后顺序列出如下。
(1)分隔符顺序格式只用在NC中—没有小数点。
(2)固定格式只用在NC中—没有小数点。
(3)字地址格式用于NC或CNC中—有小数点。
连续制表格式或固定格式只在早期的控制系统中使用,20世纪70年代早期就已经被淘汰了,现在根本不使用它们,代替它们的是更为便利的字地址格式。Array
三、字地址格式
字地址格式是基于一个字母和一个或多个数字的组合,如
图2-2所示。
某些应用中,该组合也可以使用符号,比如负号或小数点。
在程序或控制器内存中,每一字母、数字或符号都表示一个字
符,这种特殊的字母-数字排列则形成字,其中字母表示地址,图2-2  典型的字地址编程格式
后面跟带有或没有符号的数值。字地址表示控制器内存中的特
殊寄存器,常用的字有:
G01  M30  D25  X5.75  N105  H01  Y0  S2500
第2章数控编程基础23
Z-5.14  F12.0  T0505  T05  /M01  B180.0
程序段中的地址(字母)定义字的意义,通常应该编写在最前面,例如X5.75是正确的,而5.75X则不正确。字中不允许有空格(空格字符),但字前可以有空格。
数据表示字的数字任务。该值取决于前面的地址,且变化很大。它可能表示顺序号N,准备功能G,辅助功能M,偏置寄存号D或H,坐标字X、Y或Z,进给率功能F,主轴功能S,刀具功能T等。
任何字都是一系列的字符(至少是两个),它定义了控制单元和机床的单个指令。上面例子中的典型字在CNC程序中的含义如下:
G01    准备功能
M30 辅助功能
D25 偏置号选择(铣床)
X5.75      坐标字(正值)
N105      顺序号(程序段号)
H01 刀具长度偏置号
Y0 坐标字
S2500    主轴速度功能
Z-5.14    坐标字(负值)
F12.0      进给率功能
T0505      刀具功能(车床)
T05 刀具功能(铣床)
/M01 辅助功能/跳过程序段功能
B180.0    分度工作台功能
单个字是指令的集合,它们形成编程代码次序。每一次序将同步执行一系列指令,并形成一个称为顺序程序段或简称为程序段的单元。机床上加工零件或完成操作所需的以逻辑顺序排列的一系列程序段,称为程序,也就是CNC程序。
下面的程序段是到X13.0Y4.6绝对位置的快速刀具运动,其冷却液为开:
N25 G90 G00 X13.0 Y4.6 M08
其中,N25 顺序号或程序段号;
G90 绝对模式;
G00 快速运动模式;
X13.0 Y4.6    坐标位置;
M08 冷却液功能“开”。
控制器将程序段作为一个整体来处理,而不会将其作为几个部分处理。只要程序段号位于程序段最前面,大多数的控制器都允许程序段中的字按随机顺序排列。
每个字只能以特定的方式编写。字中允许使用的数字位数取决于地址和小数的最大位数,这由控制器厂家设置。并不是所有的字母都可以使用,只有拥有指定意义的字母才可以用来编程。常见的表示地址符的英文字母的含义如表2-1所示。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。