套结机编程
‘壹’ 面向连接和无连接方式套接字编程有什么不同
1、关于使用套接字编程的一些基本概念
二元组的定义:<K,R>
三元组的定义:<D,F,A>
五元组的定义:<V,O,G,M,S>
V是值的集合,O是操作的集合,G是构成名字的文法,M是存储的集合,S是从G能构成的名字 几个到M的映射.
(a)半相关与全相关
半相关:在网络中用一个三元组可以在全局唯一标志一个进程: (协议,本地地址,本地端口号)这样一个三元组,叫做一个半相关(half-association),它指定连接的每半部分。
全相关:一个完整的网间进程通信需要由两个进程组成,并且只能使用同一种高层协议。也就是说,不可能通信的一端用TCP协议,而另一端用UDP协议。因此一个完整的网间通信需要一个五元组来标识:(协议,本地地址,本地端口号,远地地址,远地端口号)这样一个五元组,叫做一个相关(association),即两个协议相同的半相关才能组合成一个合适的相关,或完全指定组成一连接。
(b)TCP/IP协议的地址结构为:
struct sockaddr_in
{
short sin_family; /*AF_INET*/
u_short sin_port; /*16位端口号,网络字节顺序*/
struct in_addr sin_addr; /*32位IP地址,网络字节顺序*/
char sin_zero[8]; /*保留*/
}
(c)套接字类型
TCP/IP的socket提供下列三种类型套接字。
流式套接字(SOCK_STREAM):提供了一个面向连接、可靠的数据传输服务,数据无差错、无重复地发送,且按发送顺序接收。内设流量控制,避免数据流超限;数据被看作是字节流,无长度限制。文件传送协议(FTP)即使用流式套接字。
数据报式套接字(SOCK_DGRAM):提供了一个无连接服务。数据包以独立包形式被发送,不提供无错保证,数据可能丢失或重复,并且接收顺序混乱。网络文件系统(NFS)使用数据报式套接字。
原始式套接字(SOCK_RAW):该接口允许对较低层协议,如IP、ICMP直接访问。常用于检验新的协议实现或访问现有服务中配置的新设备。
(d)基本套接字系统调用
为了更好地说明套接字 编程原理,下面给出几个基本套接字系统调用说明。
(1)创建套接字──socket()
应用程序在使用套接字前,首先必须拥有一个套接字,系统调用socket()向应用程序提供创建套接字的手段,其调用格式如下:
SOCKET socket(int af, int type, int protocol);
该调用要接收三个参数:af、type、protocol。参数af指定通信发生的区域,UNIX系统支持的地址族有:AF_UNIX、AF_INET、AF_NS等,而DOS、WINDOWS中仅支持AF_INET,它是网际网区域。因此,地址族与协议族相同。参数type描述要建立的套接字的类型。参数protocol 说明该套接字使用的特定协议,如果调用者不希望特别指定使用的协议,则置为0,使用默认的连接模式。根据这三个参数建立一个套接字,并将相应的资源分配给它, 同时返回一个整型套接字号。因此,socket()系统调用实际上指定了相关五元组中的“协议”这一元。
(2)指定本地地址──bind()
当一个套接字用socket()创建后,存在一个名字空间(地址族),但它没有被命名。bind()将套接字地址(包括本地主机地址和本地端口地址)与所创建的套接字号联系起来,即将名字赋予套接字,以指定本地半相关。其调用格式如下:
int bind(SOCKET s, const struct sockaddr FAR * name, int namelen);
参数 s 是由 socket() 调用返回的并且未作连接的套接字描述符(套接字号)。参数name是赋给套接字s的本地地址(名字),其长度可变,结构随通信域的不同而不同。namelen表明了name的长度。 如果没有错误发生,bind()返回0。否则返回值SOCKET_ERROR。 地址在建立套接字通信过程中起着重要作用,作为一个网络应用程序设计者对套接字地址结构必须有明确认识。
(3)建立套接字连接──connect()与accept()
这两个系统调用用于完成一个完整相关的建立,其中connect()用于建立连接。无连接的套接字进程也可以调用connect(),但这时在进程之间没有实际的报文交换,调用将从本地操作系统直接返回。这样做的优点是程序员不必为每一数据指定目的地址,而且如果收到的一个数据报,其目的端口未与任何套接字建立“连接”,便能判断该端口不可操作。而accept()用于使服务器等待来自某客户进程的实际连接。 connect()的调用格式如下:
int connect(SOCKET s,const struct sockaddr FAR * name,int namelen);
参数s是欲建立连接的本地套接字描述符。参数name指出说明对方套接字地址结构的指针。对方套接字地址长度由namelen说明。 如果没有错误发生,connect()返回0。否则返回值SOCKET_ERROR。在面向连接的协议中,该调用导致本地系统和外部系统之间连接实际建立。 由于地址族总被包含在套接字地址结构的前两个字节中,并通过socket()调用与某个协议族相关。因此bind()和connect()无须协议作为参数。 accept()的调用格式如下:
SOCKET accept(SOCKET s,struct sockaddr FAR* addr,int FAR* addrlen);
参数s为本地套接字描述符,在用做accept() 调用的参数前应该先调用过listen()。addr 指向客户方套接字地址结构的指针, 用来接收连接实体的地址。addr的确切格式由套接字创建时建立的地址族决定。addrlen 为客户方套接字地址的长度(字节数)。如果没有错误发生,accept()返回一个SOCKET类型的值,表示接收到的套接字的描述符。否则返回值INVALID_SOCKET。 accept()用于面向连接服务器。参数addr和addrlen 存放客户方的地址信息。调用前,参数addr 指向一个初始值为空的地址结构,而 addrlen 的初始值为0; 调用accept() 后,服务器等待从编号为s的套接字上接受客户连接请求,而连接请求是由客户方的connect()调用发出的。当有连接请求到达时,accept()调用将请求连接队列上的第一个客户方套接字地址及长度放入addr和addrlen,并创建一个与s有相同特性的新套接字号。新的套接字可用于处理服务器并发请求。
四个套接字系统调用,socket()、bind()、connect()、accept(),可以完成一个完全五元相关的建立。socket()指定五元组中的协议元,它的用法与是否为客户或服务器、是否面向连接无关。bind()指定五元组中的本地二元,即本地主机地址和端口号,其用法与是否面向连接有关:在服务器方,无论是否面向连接,均要调用 bind() ;在客户方,若采用面向连接,则可以不调用bind(),而通过connect()自动完成。若采用无连接,客户方必须使用bind()以获得一个唯一的地址。 以上讨论仅对客户/服务器模式而言,实际上套接字的使用是非常灵活的,唯一需遵循的原则是进程通信之前,必须建立完整的相关。
(4)监听连接──listen()
此调用用于面向连接服务器,表明它愿意接收连接。listen()需在accept()之前调用,其调用格式如下:
int listen(SOCKET s, int backlog);
参数s标识一个本地已建立、尚未连接的套接字号, 服务器愿意从它上面接收请求。 backlog 表示请求连接队列的最大长度, 用于限制排队请求的个数,目前允许的最大值为5。如果没有错误发生,listen()返回0。否则它返回SOCKET_ERROR。 listen()在执行调用过程中可为没有调用过bind() 的套接字s完成所必须的连接,并建立长度为backlog的请求连接队列。 调用listen()是服务器接收一个连接请求的四个步骤中的第三步。它在调用socket() 分配一个流套接字,且调用bind()给s赋于一个名字之后调用,而且一定要在accept()之前调用。
(5)数据传输──send()与recv()
当一个连接建立以后,就可以传输数据了。常用的系统调用有 send() 和recv()。 send() 调用用于在参数s指定的已连接的数据报或流套接字上发送输出数据,格式如下:
int send(SOCKET s, const char FAR *buf, int len, int flags);
参数s为已连接的本地套接字描述符。buf 指向存有发送数据的缓冲区的指针,其长度由 len 指定。flags 指定传输控制方式,如是否发送带外数据等。如果没有错误发生,send()返回总共发送的字节数。否则它返回SOCKET_ERROR。 recv()调用用于在参数s指定的已连接的数据报或流套接字上接收输入数据,格式如下:
int recv(SOCKET s, char FAR *buf, int len, int flags);
参数s 为已连接的套接字描述符。buf指向接收输入数据缓冲区的指针,其长度由len 指定。flags 指定传输控制方式,如是否接收带外数据等。如果没有错误发生,recv()返回总共接收的字节数。如果连接被关闭,返回0。否则它返回SOCKET_ERROR。
(6)输入/输出多路复用──select()
select()调用用来检测一个或多个套接字的状态。对每一个套接字来说,这个调用可以请求读、写或错误状态方面的信息。请求给定状态的套接字集合由一个fd_set结构指示。在返回时,此结构被更新,以反映那些满足特定条件的套接字的子集,同时, select()调用返回满足条件的套接字的数目,其调用格式如下:
int select(int nfds, fd_set FAR * readfds, fd_set FAR * writefds,fd_set FAR * exceptfds, const struct timeval FAR * timeout);
参数nfds指明被检查的套接字描述符的值域,此变量一般被忽略。 参数readfds指向要做读检测的套接字描述符集合的指针,调用者希望从中读取数据。 参数 writefds 指向要做写检测的套接字描述符集合的指针。exceptfds指向要检测是否出错的套接字描述符集合的指针。timeout指向select()函数等待的最大时间,如果设为NULL则为阻塞操作。select()返回包含在fd_set结构中已准备好的套接字描述符的总数目,或者是发生错误则返回SOCKET_ERROR。
(7)关闭套接字──closesocket()
‘贰’ 数控机床编程
数控车床、车削中心,是一种高精度、高效率的自动化机床。配备多工位刀塔或动力刀塔,机床就具有广泛的加工工艺性能,可加工直线圆柱、斜线圆柱、圆弧和各种螺纹、槽、蜗杆等复杂工件,具有直线插补、圆弧插补各种补偿功能,并在复杂零件的批量生产中发挥 了良好的经济效果。
“CNC”是英文Computerized Numerical Control(计算机数字化控制)的缩写。数控机床是按照事先编制好的加工程序,自动地对被加工零件进行加工。我们把零件的加工工艺路线、工艺参数、刀具的运动轨迹、位移量、切削参数(主轴转数、进给量、背吃刀量等)以及辅助功能(换刀、主轴正转、反转、切削液开、关等),按照数控机床规定的指令代码及程序格式编写成加工程序单,再把这程序单中的内容记录在控制介质上(如穿孔纸带、磁带、磁盘、磁泡存储器),然后输入到数控机床的数控装置中,从而指挥机床加工零件。
这种从零件图的分析到制成控制介质的全部过程叫数控程序的编制。数控机床与普通机床加工零件的区别在于数控机床是按照程序自动加工零件,而普通机床要由人来操作,我们只要改变控制机床动作的程序就可以达到加工不同零件的目的。因此,数控机床特别适用于加工小批量且形状复杂要求精度高的零件。
由于数控机床要按照程序来加工零件,编程人员编制好程序以后,输入到数控装置中来指挥机床工作。程序的输入是通过控制介质来的。
数控车程序可以分成程序开始、程序内容和程序结束三部分内容。
第一部分 程序开始部分
主要定义程序号,调出零件加工坐标系、加工刀具,启动主轴、打开冷却液等方面的内容。
数控程序
主轴最高转速限制定义G50 S2000,设置主轴的最高转速为2000RPM,对于数控车床来说,这是一个非常重要的指令。
坐标系定义如不作特殊指明,数控系统默认G54坐标系。
返回参考点指令G28 U0,为避免换刀过程中,发生刀架与工件或夹具之间的碰撞或干涉,一个有效的方法是机床先回到X轴方向的机床参考点,并离开主轴一段安全距离。
刀具定义G0 T0808 M8,自动调8号左偏刀8号刀补,开启冷却液。
主轴转速定义G96 S150 M4,恒定线速度S功能定义,S功能使数控车床的主轴转速指令功能,有两种表达方式,一种是以r/min或rpm作为计量单位。另一种是以m/min为计量单位。数控车床的S代码必须与G96或G97配合使用才能设置主轴转速或切削速度。
G97:转速指令,定义和设置每分钟的转速。
G96:恒线速度指令,使工件上任何位置上的切削速度都是一样的。
第二部分 程序内容部分
程序内容是整个程序的主要部分,由多个程序段组成。每个程序段由若干个字组成,每个字又由地址码和若干个数字组成。常见的为G指令和M指令以及各个轴的坐标点组成的程序段,并增加了进给量的功能定义。
F功能是指进给速度的功能,数控车床进给速度有两种表达方式,一种是每转进给量,即用mm/r单位表示,主要用于车加工的进给。另一种和数控铣床相同采用每分钟进给量,即用mm/min单位表示。主要用于车铣加工中心中铣加工的进给。
第三部分 程序结尾部分
在程序结尾,需要刀架返回参考点或机床参考点,为下一次换刀的安全位置,同时进行主轴停止,关掉冷却液,程序选择停止或结束程序等动作。
回参考点指令G28U0为回X轴方向机床参考点,G0 Z300.0为回Z轴方向参考点。
停止指令M01为选择停止指令,只有当设备的选择停止开关打开时才有效;M30为程序结束指令,执行时,冷却液、进给、主轴全部停止。数控程序和数控设备复位并回到加工前原始状态,为下一次程序运行和数控加工重新开始做准备。
数控机床程序编制
一. 数控机床编程的方法
数控机床程序编制的方法有三种:即手工编程、自动编程和
加工中心CAD/CAM 。
1. 手工编程
由人工完成零件图样分析、工艺处理、数值计算、书写程序清单直到程序的输入和检验。适用于点位加工或几何形状不太复杂的零件,但是,非常费时,且编制复杂零件时,容易出错。
2. 自动编程
使用计算机或程编机,完成零件程序的编制的过程,对于复杂的零件很方便。
3. CAD/CAM
利用CAD/CAM软件,实现造型及图象自动编程。最为典型的软件是Master CAM,其可以完成铣削二坐标、三坐标、四坐标和五坐标、车削、线切割的编程,此类软件虽然功能单一,但简单易学,价格较低。
二.数控机床程序编制的内容和步骤
1. 数控机床编程的主要内容
分析零件图样、确定加工工艺过程、进行数学处理、编写程序清单、制作控制介质、进行程序检查、输入程序以及工件试切。
2. 数控机床的步骤
1) 分析零件图样和工艺处理
根据图样对零件的几何形状尺寸,技术要求进行分析,明确加工的内容及要求,决定加工方案、确定加工顺序、设计夹具、选择刀具、确定合理的走刀路线及选择合理的切削用量等。
同时还应发挥数控系统的功能和数控机床本身的能力,正确选择对刀点,切入方式,尽量减少诸如换刀、转位等辅助时间。
2) 数学处理
编程前,根据零件的几何特征,先建立一个工件坐标系,
数控系统的功能根据零件图纸的要求,制定加工路线,在建立的工件坐标系上,首先计算出刀具的运动轨迹。对于形状比较简单的零件(如直线和圆弧组成的零件),只需计算出几何元素的起点、终点、圆弧的圆心、两几何元素的交点或切点的坐标值。
3) 编写零件程序清单
加工路线和工艺参数确定以后,根据数控系统规定的指定代码及程序段格式,编写零件程序清单。
4) 程序输入
5) 程序校验与首件试切
三.数控加工程序的结构
1. 程序的构成:由多个程序段组成。
O0001;O(FANUC-O,AB8400-P,SINUMERIK8M-%)机能指定程序号,每个程序号对应一个加工零件。
N010 G92 X0 Y0;分号表示程序段结束
N020 G90 G00 X50 Y60;
...;可以调用子程序。
N150 M05;
N160 M02;
2. 程序段格式:
1) 字地址格式:如N020 G90 G00 X50 Y60;
最常用的格式,现代数控机床都采用它。地址N为程序段号,地址G和数字90构成字地址为准备功能,...。
2) 可变程序段格式:如B2000 B3000 B B6000;
使用分割符B各开各个字,若没有数据,分割符不能省去。常见于数控线切割机床,另外,还有3B编程等格式。
3) 固定顺序程序段格式:如00701+0;
比较少见。其中的数据严格按照顺序和长度排列,不得有
西门子系统控制的机器人误,上面程序段的意思是:N007 G01 X+02500 Y-13400 F15 S30 M02;
零件图的数学处理
零件图的数学处理主要是计算零件加工轨迹的尺寸,即计算零件加工轮廓的基点和节点的坐标,或刀具中心轮廓的基点和节点的坐标,以便编制加工程序。
一.基点坐标的计算
一般数控机床只有直线和圆弧插补功能。对于由直线和圆弧组成的平面轮廓,编程时数值计算的主要任务是求各基点的坐标。
1. 基点的含义
构成零件轮廓的不同几何素线的交点或切点称为基点。基点可以直接作为其运动轨迹的起点或终点。
2. 直接计算的内容
根据填写加工程序单的要求,基点直接计算的内容有:每条运动轨迹的起点和终点在选定坐标系中的坐标,圆弧运动轨迹的圆心坐标值。
基点直接计算的方法比较简单,一般可根据零件图样所给的已知条件用人工完成。即依据零件图样上给定的尺寸运用代数、三角、几何或解析几何的有关知识,直接计算出数值。在计算时,要注意小数点后的位数要留够,以保证足够的精度。
二.节点坐标的计算
对于一些平面轮廓是非圆方程曲线Y=F(X)组成,如渐开线、阿基米德螺线等,只能用能够加工的直线和圆弧去逼近它们。这时数值计算的任务就是计算节点的坐标。
1. 节点的定义
当采用不具备非圆曲线插补功能的数控机床加工非圆曲线轮廓的零件时,在加工程序的编制工作中,常用多个直线段或圆弧去近似代替非圆曲线,这称为拟合处理。拟合线段的交点或切点称为节点。
2. 节点坐标的计算
节点坐标的计算难度和工作量都较大,故常通过计算机完成,必要时也可由人工计算,常用的有直线逼近法(等间距法、等步长法、和等误差法)和圆弧逼近法。
有人用AutoCAD绘图,然后捕获坐标点,在精度允许的范围内,
发那科数控系统也是一个简易而有效的方法.
培养目标:
本专业培养学生从事数控加工、机械产品设计与制造、生产技术管理方面的高等工程技术应用型人才。要求学生能在生产现场从事产品制造、开发工作,或在技术部门从事工艺、管理工作。主要培养学生数控编程、加工及数控车床、数控铣床、数控加工中心及其它数控设备的操作维修、维护方面的理论知识和专业知识。并能获得国家劳动和社会保障部颁发的数控工艺员技术等级证书,车钳工等级证书。
主干课程设置:机械制图及计算机绘图,工程力学,机械设计,单片机原理及接口技术,机械制造技术基础,电工电子基础,电气控制技术,数控机床控制技术和系统,数控机床原理及应用,数控机床编程与操作,CAD/CAM技术,机床夹具,数控机床维修技术。AUTOCAD平面绘图,MASTERCAM三维设计,PRO/E实体造型。以及金工实训,车钳工实训,数控车实训 。
就业情况:
本专业毕业生主要面向珠三角外资大中型企事业单位及国有企事业单位的操作、销售、工艺、设备维护等部门,主要培养数控机床操作人员、数控编程工艺人员、NC数控编程、数控设备维修人员、数控设备营销人员。此外还能从事CAD/CAM软件应用,数控系统或设备的销售与技术服务工作,数控设备的安装调试及维护,以及车间生产组织与管理等工作.NC数控编程,
编程技巧
科学技术的发展,导致产品更新换代的加快和人们需求的多样化,产品的生产也趋向种类多样化、批量中小型化。为适应这一变化,数控(NC)设备在企业中的作用愈来愈大。我校作为国家级重点职校,为顺应时代潮流,重点建设数控专业,选购了BIEJING-FANUC Power Mate O数控车床。它与普通车床相比,一个显着的优点是:对零件变化的适应性强,更换零件只需改变相应的程序,对刀具进行简单的调整即可做出合格的零件,为节约成本赢得先机。但是,要充分发挥数控机床的作用,不仅要有良好的硬件,(如:优质的刀具、机床的精度等),更重要的是软件:编程,即根据不同的零件的特点,编制合理、高效的加工程序。通过多年的编程实践和教学,我摸索出一些编程技巧。
数控车床虽然加工柔性比普通车床优越,但单就某一种零件的生产效率而言,与普通车床还存在一定的差距。因此,提高数控车床的效率便成为关键,而合理运用编程技巧,编制高效率的加工程序,对提高机床效率往往具有意想不到的效果。
灵活设置参考点
BIEJING-FANUC Power Mate O数控车床共有二根轴,即主轴Z和刀具轴X。棒料中心为坐标系原点,各刀接近棒料时,坐标值减小,称之为进刀;反之,坐标值增大,称为退刀。当退到刀具开始时位置时,刀具停止,此位置称为参考点。参考点是编程中一个非常重要的概念,每执行完一次自动循环,刀具都必须返回到这个位置,准备下一次循环。因此,在执行程序前,必须调整刀具及主轴的实际位置与坐标数值保持一致。然而,参考点的实际位置并不是固定不变的,编程人员可以根据零件的直径、所用的刀具的种类、数量调整参考点的位置,缩短刀具的空行程。从而提高效率。
化零为整法
在低压电器中,存在大量的短销轴类零件,其长径比大约为2~3,直径多在3mm以下。由于零件几何尺寸较小,普通仪表车床难以装夹,无法保证质量。如果按照常规方法编程,在每一次循环中只加工一个零件,由于轴向尺寸较短,造成机床主轴滑块在床身导轨局部频繁往复,弹簧夹头夹紧机构动作频繁。长时间工作之后,便会造成机床导轨局部过度磨损,影响机床的加工精度,严重的甚至会造成机床报废。而弹簧夹头夹紧机构的频繁动作,则会导致控制电器的损坏。要解决以上问题,必须加大主轴送进长度和弹簧夹头夹紧机构的动作间隔,同时不能降低生产率。由此设想是否可以在一次加工循环中加工数个零件,则主轴送进长度为单件零件长度的数倍 ,甚至可达主轴最大运行距离,而弹簧夹头夹紧机构的动作时间间隔相应延长为原来的数倍。更重要的是,原来单件零件的辅助时间分摊在数个零件上,每个零件的辅助时间大为缩短,从而提高了生产效率。为了实现这一设想,我电脑到电脑程序设计中主程序和子程序的概念,如果将涉及零件几何尺寸的命令字段放在一个子程序中,而将有关机床控制的命令字段及切断零件的命令字段放在主程序中,每加工一个零件时,由主程序通过调用子程序命令调用一次子程序,加工完成后,跳转回主程序。需要加工几个零件便调用几次子程序,十分有利于增减每次循环加工零件的数目。通过这种方式编制的加工程序也比较简洁明了,便于修改、维护。值得注意的是,由于子程序的各项参数在每次调用中都保持不变,而主轴的坐标时刻在变化,为与主程序相适应,在子程序中必须采用相对编程语句。
减少刀具空行程
在BIEJING-FANUC Power Mate O数控车床中,刀具的运动是依靠步进电动机来带动的,尽管在程序命令中有快速点定位命令G00,但与普通车床的进给方式相比,依然显得效率不高。因此,要想提高机床效率,必须提高刀具的运行效率。刀具的空行程是指刀具接近工件和切削完毕后退回参考点所运行的距离。只要减少刀具空行程,就可以提高刀具的运行效率。(对于点位控制的数控车床,只要求定位精度较高,定位过程可尽可能快,而刀具相对工件的运动路线是无关紧要的。)在机床调整方面,要将刀具的初始位置安排在尽可能靠近棒料的地方。在程序方面,要根据零件的结构,使用尽可能少的刀具加工零件使刀具在安装时彼此尽可能分散,在很接近棒料时彼此就不会发生干涉;另一方面,由于刀具实际的初始位置已经与原来发生了变化,必须在程序中对刀具的参考点位置进行修改,使之与实际情况相符,与此同时再配合快速点定位命令,就可以将刀具的空行程控制在最小范围内从而提高机床加工效率。
优化参数,平衡刀具负荷,减少刀具磨损
波传播的是疏密相间的运动形态。机械波是振动形式
‘叁’ 数控机床怎样学习编程
数控机床是比较前沿的工业自动化装备,技术含量比较高,要学习数控机床编程,首先应该了解机床的结构和加工原理,然后应该熟悉机械加工工艺,和常家材质的基本性能,最后应该理解编程理论及G代码的格式,和软件编程的方法。具备这些能力编程就不是问题。
‘肆’ 求:数控机床中常用的编程指令有哪些(指令加解释)
1)快速点定位指令G00
G00指令是模态代码,它命令刀具分别以点定位控制方式从刀具所在点快速运动到下一个目标位置。它只是快速定位,而无运动轨迹要求。
其指令书写格式是:G00 X_Z_;刀具实际的运动路线不是直线,而是折线,所以使用G00指令时要注意刀具是否和工件急夹具发生干涉,忽略这一点,就容易发生碰撞,而在快速状态下的碰撞更加危险。
2)直线插补指令G01
直线插补指令是直线运动指令,也是模态代码。它命令刀具在两坐标或三坐标间以插补联动方式按指定的F进给速度(单位为mm/min)作任意斜率的直线运动。
其指令书写格式是:G01 X_Z_F_;F指令也是模态指令,它可以用G00指令取消。如果早G01程序段之前的程序段没有F指令,则机床不动。因此,G01程序中必须还有F指令。
3)圆弧插补指令G02/G03(采用笛卡尔坐标判断)
圆弧插补指令命令刀具在指定平面内按给定的F进给速度作圆弧运动,切削出圆弧轮廓。在车床上加工圆弧时,不仅要用G02/G03指出圆弧的顺逆时针方向,用XZ指定圆弧的终点坐标,而且还要指定圆弧的半径。
其指令书写格式是:G02/G03 X_Z_R_;
(3)辅助功能:用来指定机床的辅助动作(如机床的启停、转向、切削液的开关、主轴转向、刀具夹紧松开等〕
M00-程序暂停
M01-程序计划暂停
M02-程序结束
M03-主轴正转(CW)
M04-主轴反转(CCW)
M05-主轴停转
M06-加工中心换刀
M07、M08-冷却液开
M09-冷却液关
M10-工件夹紧
M11-工件松开
M30-程序结束,返回起点
M03和M04指令之间必须用M05指令使主轴停转后进行。
(4)进给功能F
如果采用直接指定法,在F后面直接写上要求的进给速度,如F1000,表示进给量是1000mm/min);车螺纹、攻丝和套扣时,由于进给速度与主轴转速有关,F后面数字是指定的导程。
(5)主轴功能S
S指定主轴转速,如S800,表示主轴转速为800r/min。
(6)刀具功能T
指令数控系统进行换刀,用地址T和其后的4位数字来指定刀具号和刀具补偿号(刀具偏置号)。前2位是刀具序号:0~99,后2位是刀具补偿号:0~32。每一刀具加工结束后,必须取消刀具补偿。
刀具序号可以和刀盘上的刀位号相对应;
刀具补偿包括形状补偿和磨损补偿;
刀具序号和刀具补偿号不必相同,为方便起见也可一致。
在数控装置中,程序的记录是靠程序号来辨别的,即调用程序或者编辑程序都要通过程序号来调出。
1.程序编号的结构:O ;
“O”后面数字用4位数(1~9999)表示,不允许为“0”。
2.程序段顺序号:在程序段前加上顺序号,如:N ;
“O”后面数字用4位数(1~9999)表示,不允许为“0” 。
工件坐标系的设定
工件安装在卡盘上,机床坐标系与工件坐标系一般是不重合的,为便于编程,应建立一个工件坐标系,使刀具在此坐标系中进行加工。
G50 X Z
该指令规定刀具起刀点或换刀点至工件原点的距离,坐标X,Z为刀尖在工件坐标系中的起始点位置。
对于有刀具补偿功能的数控机床,其对刀误差可以通过刀具偏移来补偿,所以调整机床时的要求并不严格。
数控车床的基本对刀方法
常用的对刀方法有三种:试切对刀法、机械检测对刀仪对刀、光学检测对刀仪对刀。
采用G50 U W 可以使坐标系产生平移,用新的坐标值代替旧的坐标值,使机床坐标系与工件坐标系相互取代。应当注意,在机床坐标系中,坐标值是刀架中心点相对于机床原点的距离;而在工件坐标系中,坐标值是刀尖相对工件原点的距离.
数控铣削编程方法与应用
1.数控铣床的坐标系
(1)机床坐标系
机床坐标系是机床上固有的坐标系,并设有固定的零点(机械零点),它由厂家在生产机床时确定。
XK5032立式数控铣床符合ISO规定,即以机床主轴轴线方向为Z轴,刀具远离工件方向为Z轴正方向;X轴规定为水平平行于工件工件装夹表面,人在工作台前面对主轴,右方向为X轴正方向;Y轴垂直于X,Z轴坐标轴,其方向根据笛卡儿坐标系右手定则确定。
(2)工件坐标系
工件坐标系是用来确定工件几何形体上各要素的位置而设置的坐标系,工件坐标系的原点即为工件零点。工件零点的位置是任意的,由编程人员编制程序时根据零件特点选定。
(3)工件坐标系的设定
工件坐标系的设定是进行变成计算的第一步,应当根据不同的加工要求和编程的方便性恰当选择。
1)用G92设定工件坐标系
其输入格式:G92 X Y Z
该指令可以出现在程序的第一段,也可出现在程序段中间,以重新设定工件坐标系。数控系统执行该指令前,一般先把刀具置于一个合适的位置,执行该段程序后,机床并不产生运动,只是把坐标设定值送入内存。
2)G54~G59设定工件坐标系
XK5032立式数控铣床还可以通过CRT/MDI在参数设置方式下,设定6个不同的工件坐标系。这6个坐标系分别被记忆成G54、G55、G56、G57、G58、G59,在加工时通过G54~G59指令选择相应的坐标系。
G90指令与G54~G59指令的使用区别是:G92指令通过程序来设定工件加工程序,其坐标原点与当前刀具所在位置有关;而G54~G59指令通过CRT/MDI在参数设置方式下设定工件坐标系,其坐标原点与当前刀具所在位置无关。G92指令只是设定坐标系,不产生任何移动;G54~G59指令可以与G00指令等组合在相应的工件坐标系中进行位移。
2.主要功能指令
(1)常用辅助功能指令
用来指定机床的辅助动作和状态(如机床的启停、转向、切削液的开关、主轴转向、刀具夹紧松开等〕
M00-程序暂停,机床的转动、进给、切削液停止。重新启动机床后继续执行下面的程序;
M01-程序选择停止指令,只有按下面板上“选择停止”键,该指令才有效。执行该指令,与M00相似。按“启动”键,继续执行下面的程序;
M02-程序结束,机床处于复位状态;
M03-主轴正转(CW);
M04-主轴反转(CCW);
M05-主轴停转。M03和M04指令之间必须用M05指令使主轴停转后进行;
M08-冷却液开;
M09-冷却液关;
M98-放在主程序中,用来调用子程序。格式为:M98 P ,其后8位数字,前4位是调用次数,后4位是子程序号。调用1次时,前4位可省略。
M99-放在子程序最后,用来返回主程序的相应程序段。当M99后不跟任何代码时,返回调用程序的后一段程序段。否则返回到M98 P 所指定的P后的程序段。
当M99单独在主程序中使用时,不跟任何代码,返回主程序的开头,否则返回到主程序P指定的程序段。