苏哥战地4:数控加工编程的概念+

来源:百度文库 编辑:九乡新闻网 时间:2024/04/28 03:39:49
1 程序编制的基本概念

一、数控编程的方法
1、手工编程
手工编程是指在编程的过程中,全部或主要由人工进行。对于加工形状简单、计算量小、程序不多的零件,采用手工编程较简单、经济、效率高。
2、自动编程(APT语言)
为了解决数控加工中的程序编制问题,50年代,MIT设计了一种专门用于机械零件数控加工程序编制的语言,称为APT(Automatically Programmed Tool)。是编程人员根据零件图纸要求用一种直观易懂的编程语言(包括几何、工艺等语句定义)手工编写一个简短的零件程序,然后输给计算机,计算机经过翻译处理和刀具运动轨迹处理,再经过后置处理,自动生成数控系统可以识别的加工程序。由此可见,APT语言不能直接控制机床。APT几经发展,形成了诸如APTII、APTIII(立体切削用)、APT(算法改进,增加多坐标曲面加工编程功能)、APTAC(Advancedcontouring)(增加切削数据库管理系统)和APT/SS(Sculptured Surface)(增加雕塑曲面加工编程功能)等先进版。
采用APT语言编制数控程序具有程序简炼,走刀控制灵活等优点,使数控加工编程从面向机床指令的“汇编语言”级,上升到面向几何元素.APT仍有许多不便之处:采用语言定义零件几何形状,难以描述复杂的几何形状,缺乏几何直观性;缺少对零件形状、刀具运动轨迹的直观图形显示和刀具轨迹的验证手段;难以和CAD数据库和CAPP系统有效连接;不容易作到高度的自动化,集成化。
针对APT语言的缺点,1978年,法国达索飞机公司开始开发集三维设计、分析、NC加工一体化的系统,称为CATIA。随后很快出现了象EUCLID,UGII,INTERGRAPH,Pro/Engineering,MasterCAM及NPU/GNCP等系统,这些系统都有效的解决了几何造型、零件几何形状的显示,交互设计、修改及刀具轨迹生成,走刀过程的仿真显示、验证等问题,推动了CAD和CAM向一体化方向发展。
APT语言格式举例:
点的定义:P=POINT/10,20,15;直线的定义:L=LINE/16,8,0,16,32,0。
机床主轴转数及旋转方向的定义:SPINDL/n,CLW
轮廓加工的外容差和内容差的定义:OUTTOL/τ      INTOL/τ
刀具起始点为PFrom/P;
刀具从P点以最短距离运动向L运动,直至与L相切:GO/TO,L

这里用语言编写的源程序和手工编程的加工程序有本质差别:手工编程的加工程序可直接控制数控机床进行零件加工;自动编程的源程序要经编译处理后才可被数控机床接受.

 

3、CAD/CAM 采用人机交互功能的计算机图形显示器,在图形显示系统软件和图像    3、CAD/CAM
采用人机交互功能的计算机图形显示器,在图形显示系统软件和图像编程应用软件的支持下,只要给出一些必要的工艺参数,发出相应的命令或“指点”菜单,然后根据应用软件提示的操作步骤,实时“指点”被加工零件的图形元素,就能得到零件的各轮廓点的位置坐标值,并立即在图像显示屏上显示出刀具加工轨迹,再连接适当的后置处理程序,就能输出数控加工程序单。这种编程方法称为计算机图像数控编程(Computer Graphics Aided NC Programming),简称图像编程。
图像编程是目前主要的自动编程方式,国内外图形交互自动编程软件的很多,流行的集成CAD/CAM(Computer Aided Design/Computer Aided Manufacturing )系统大都具有图形自动编程功能。以下是目前市面上流行的几种CAD/CAM系统软件:
(1)Pro/Engineer(简称Pro-E)软件。 Pro-E是美国PTC公司开发的机械设计自动化软件,也是最早实现参数化技术商品化的软件,在全球拥有广泛影响须我国也是使用最为广泛的CAD/CAM软件之一。
(2)UG软件。 UG是美国EDS公司的产品,多年来,该软件汇集了美国航空航天,以及汽车工业丰富的设计经验,发展成为一个世界一流的集成化CAD/CAE/CAM系统,在世界和我国都占有重要的市场份额。
(3)Solidworks软件。 Solidworks公司的CAD/CAM系统从一开始就是面向微机系统,并基于窗口风格设计的,同时它采用了著名的Parasolid为造型引擎,因此该系统的性能先进,主要功能几乎可以和上述大型CAD/CAM系统相媲美。
(4)MasterCAM软件。 MasterCAM是美国CNC Software NC 公司研制开发的一套PC级套装软件,可以在一般的计算机上运行。它既可以设计绘制所要加工的零件,也可以产生加工这个零件的数控程序,还可以将AutoCAD、CADKEY、SolidWorks等CAD软件绘制的图形调入到MasterCAM中进行数控编程。该软件简单实用。
(5)Catia软件。
(5)国内市场信誉较好的CAD/CAM软件有北航海尔软件有限公司开发CAXA 和广州红地公司推出的金银花系统。
4、语音编程 
语音数控自动编程是利用人的声音作为输入信息,并与计算机和显示器直接对话,令计算机编出加工程序的一种方法。语音编程系统的构成,如图2-1所示。编程时,程编员只需对着话筒讲出所需的指令即可。编程前应使系统“熟悉” 编程员的“声音”,即首次使用该系统时,编程员必须对着话筒讲该系统约定的各种词汇和数字,让系统记录下来并转换成计算机可以接受的数字指令。

 

5、视觉系统编程 
采用计算机视觉系统来自动阅读、理解图样,由程编员在编辑过程中实时给定起刀点、下刀点和退刀点,然后自动计算出刀位点的有关坐标值,并经后置处理,最后输出数控加工的程序单。视觉系统编程首先由图样扫描器(常用的CCD传感器扫描器和扫描鼓两种)扫描图样,取得一幅图像,对该图像进行预处理是为了校正图像的几何畸变和灰度畸变,并将它转化为易处理的二值图像,同时作断口校正、几何交点部分检测、细线化处理,以消除输入部分分辨率的影响;然后分离并识别图样上的文字、符号、线划等元素,并记忆它们之间的关系,对线划还需进行矢量化处理,并用直线或曲线拟合,得到端点和分支点;将这些信息综合处理,确定图样中每条线的意义及其尺寸大小,最后作编辑处理及刀位点坐标计算。再连接适当的后置处理,就能输出数控加工程序单。视觉系统在编程时不需要零件源程序和编程员,只要事先输入工艺参数即可,操作简单,能直接与CAD的数据相连接,实现高度自动化。
下面主要讲解手工编程方法。手工编程方法步骤:分析工件的零件图及技术要求,确定工艺路线,计算刀具轨迹坐标,用数控代码编程。
二、程序代码
国际标准化组织ISO(international standard organization)
美国电子工业协会EIA(electronic industries association)
国际上通用的数控代码有ISO、EIA两种。穿孔纸带的系统已过时。
三、程序结构
A、加工程序由若干个程序段组成。
B、程序段由一个或若干个指令字组成,字是数控程序的最小单位。
C、每个指令字由地址符和数字组成(字―地址结构),代表机床的一个位置或一个动作。地址符由字母组成,每个字母、数字、符号(正负号)称为字符。
D、程序的起始符:%
E、程序结束符:M02或M30。
F、每一行程序以分号结尾。
G、注释符:括号“()”内或分号“;”后的内容为注释文字。

表2-1 程序段结构

 

 

 

 

 

 

 

地址

 

数值

 

地址

 

数值

 

地址

 

数值

 

例如

 

G 01

 

Z 40

 

F 500

 

注释

 

直线插补

 

Z轴位移或终点位置40mm

 

进给速度
500mm/min

 

 

具体要求:
1、程序名:
格式:O _ _ _ _
说明:
1) ‘O’:文件名首字母,如‘O001,O002’;
2) O1、O01、O001、O0001等价;
3) 范围O1~O7999 用户区
O8000~O8999 用户区(加密、加锁)
O9000~O9999 扩展区(厂方修改)
2、顺序号 (标识作用)
格式:N _ _ _ _ (注释)
说明:

范围:N1~N9999

N1、N01、N001、N0001等价

 

3、准备功能(简称G功能):由地址符‘G’和两位数字组成,G01,G02等等,G功能的代号已标准化。
4、尺寸字(坐标字):由坐标地址符和数字组成,各组数字必须有作为地址代码的字母开
头。

X、Y、Z、U、V、W、P、Q、R;

A、B、C、D、E;

I、J、K。

其中, X50.

 

 

X50.0 在相对坐标编程时,都表示沿X轴移动50mm
X50000
5、进给功能字:F,由进给地址符和数字组成,单位一般为‘mm/min’或‘mm/r’
F指令表示刀具中心运动时的进给速度。由F和其后的若干数字组成。数字的单位取决于每个系统所采用的进给速度的指定方法。具体内容见所用机床的编程说明书。
注意事项如下:
1)当编写程序时,第一次遇到直线(G01)或圆弧(G02/G03)插补指令时,必须编写进给率F,如果没有编写F功能,CNC采用F0。当工作在快速定位(G00)方式时,机床将以通过机床轴参数设定的快速进给率移动,与编写的F指令无关。
2)F指令为模态指令,实际进给率可以通过CNC操作面板上的进给倍率旋钮,在0~120%之间调整。
6、主轴转速功能字:S,由主轴地址符和数字组成,单位为‘r/min’
S指令表示机床主轴的转速。由S和其后的若干数字组成,其表示方法有以下三种:
①转速
S表示主轴转速,单位为r/min。如S1000表示主轴转速为1000r/min。
②线速
在恒线速状态下,S表示切削点的线速度,单位为m/min。如S60表示切削点的线速度恒定为60 m/min。
③代码
用代码表示主轴速度时,S后面的数字不直接表示转速或线速的数值,而只是主轴速度的代号。如某机床用S00~S99表示100种转速,S40表示主轴转速为1200r/min, S41表示主轴转速为1230r/min,S00表示主轴转速为0r/min,S99表示最高转速。
7、刀具功能字:T, 由刀具地址符和数字组成,数字表示刀具库中刀具号。
刀具和刀具参数的选择是数控编程的重要内容,其编程格式因数控系统不同而异,主要格式有以下两种:
①采用T指令编程
由T和数字组成。有T××和T××××两种格式,数字的位数由所用数控系统决定,T后面的数字用来指定刀具号和刀具补偿号。
例如:T04表示选择4号刀;T0404表示选择4号刀,4号偏置值;T0400表示选择第4号刀,刀具偏置取消。
②采用T、D指令编程
利用T功能选择刀具,利用D功能选择相关的刀偏。
在定义这两个参数时,其编程的顺序为T、D。T和D可以编写在一起,也可以单独编写,例如:T4 D04表示选择4号刀,采用刀具偏置表第4号的偏置尺寸;D12表示仍用4号刀,采用刀具偏置表第12号的偏置尺寸;T2表示选择2号刀,采用与该刀具相关的刀具偏置尺寸。
8、辅助功能字:M,由辅助操作地址符和两位数字组成。M功能的代码已标准化。
M指令是控制数控机床“开、关”功能的指令,主要用于完成加工操作时的辅助动作。
M 功能有非模态M功能和模态M功能二种形式。
● 非模态M功能(当段有效代码):只在书写了该代码的程序段中有效;
● 模态M功能(续效代码):一组可相互注销的 M功能,这些功能在被同一组的另一个功能注销前一直有效。如:M02或M30 、M03、M04、M05 等。
模态 M功能组中包含一个缺省功能,系统上电时将被初始化为该功能。
M 功能还可分为前作用 M 功能和后作用 M 功能二类。
● 前作用 M 功能:在程序段编制的轴运动之前执行;
● 后作用 M 功能:在程序段编制的轴运动之后执行。
M00、M02、M30、M98、M99用于控制零件程序的走向,是 CNC内定的辅助功能,不由机床制造商设计决定,也就是说,与PLC程序无关;其余 M 代码用于机床各种辅助功能的开关动作,其功能不由CNC内定,而是由 PLC程序指定,所以有可能因机床制造商不同而有差异( 使用时须参考机床使用说明书)。
常用的M指令功能及其应用如下:
(1)程序停止
指令:M00
功能:执行完包含M00的程序段后,机床停止自动运行,此时所有存在的模态信息保持不变,用循环启动使自动运行重新开始。
(对于Fanuc系统,M00为程序无条件暂停指令。程序执行到此进给停止,主轴停转。重新启动程序,必须先回到JOG状态下,按下CW(主轴正转)启动主轴,接着返回AUTO状态下,按下START键才能启动程序。)
(2)程序计划停止
指令:M01
功能:与M00类似,执行完包含M01的程序段后,机床停止自动运行,只是当机床操作面板上的任选停机的开关置1时,这个代码才有效。
M00和M01常常用于加工中途工件尺寸的检验或排屑。
(3)主轴正转、反转、停止
指令:M03、M04、M05
功能:M03、M04指令可使主轴正、反转。与同段程序其它指令一起开始执行。M05指令可使主轴在该程序段其它指令执行完成后停转。
格式:M03S
M04S
M05
说明:数控机床的主轴转向的判断方法是,对于铣床而言,沿-Z方向看(从主轴头向工作台看),顺时针方向旋转为正转,逆时针方向旋转为反转。对于车床,沿着+Z方向看(从主轴向尾座看),顺时针方向旋转为正转,逆时针方向旋转为反转。
(4)换刀
指令:M06
功能:自动换刀。用于具有自动换刀装置的机床,如加工中心、数控车床。
格式:M06T
说明:当数控系统不同时,换刀的编程格式有所不同,具体编程时应参考操作说明书。
(5)程序结束
指令:M02或M30
功能:
1)M02为主程序结束指令。执行到此指令,进给停止,主轴停止,冷却液关闭。但程序光标停在程序末尾。
2)M30为主程序结束指令。功能同M02,不同之处是,光标返回程序头位置,不管M30后是否还有其他程序段。
说明:该指令必须编在最后一个程序段中。
对于BEIJING-FANUC 0i系统,一般情况下,在一个程序段中仅能指定一个M代码。但是,设定参数No.3404#7(M3B)=1时,在一个程序段中一次最多可以指定三个M代码。

 

%
O0001
N0001G90G54G00X0Y0Z100.0S300M03;
N0002G00X0Y-50.0;
N0003G01Z-50.0F100;
N0004X100.0;
N0005Y50.0;
N0006X-100.0;
N0007Y-50.0;
N0008X0;
N0009Z100.0;
N0010Y0M05;
N0011M30;