CNC装置软件结构

上传人:ni****g 文档编号:460241934 上传时间:2023-11-02 格式:DOC 页数:6 大小:80KB
返回 下载 相关 举报
CNC装置软件结构_第1页
第1页 / 共6页
CNC装置软件结构_第2页
第2页 / 共6页
CNC装置软件结构_第3页
第3页 / 共6页
CNC装置软件结构_第4页
第4页 / 共6页
CNC装置软件结构_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《CNC装置软件结构》由会员分享,可在线阅读,更多相关《CNC装置软件结构(6页珍藏版)》请在金锄头文库上搜索。

1、CNC装置的软件结构从逻辑上讲,这些任务可看成一个个功能模块,模块之间存在着偶合关系;从时间上讲,各功能模块之间存在一个时序配合问题。在设计CNC装置的软件时,如何组织和协调这些这些功能模块,使之满足一定的时序和逻辑关系,就是CNC装置软件结构要考虑的问题。 一、CNC装置软件和硬件的功能界面CNC装置是由软件和硬件组成的,硬件为软件的运行提供支持环境。在信息处理方面,软件与硬件在逻辑上是等价的,即硬件能完成的功能从理论上讲也可以由软件来完成。但,硬件和软件在实现这些功能时各有不同的特点:硬件处理速度快,但灵活性差,实现复杂控制的功能困难。软件设计灵活,适应性强,但处理速度相对较慢。如何确定合

2、理确定软硬件的功能分担是CNC装置结构设计的重要任务。这就是所谓软件和硬件的功能界面划分的概念。划分准则是系统的性价比。 图1 CNC软件系统功能框图图1是CNC装置功能界面的几种划分方法。这几种功能界面是CNC装置不同时期不同产品的划分。其中后面两种是现在的CNC系统常用的方案。反映出软件所承担的任务越来越多,硬件承担的任务越来越少。一是因为计算机技术的发展,计算机运算处理能力不断增强,软件的运行效率大大提高,这为用软件实现数控功能提供了技术支持。二是数控技术的发展,对数控功能的要求越来越高,若用软件来实现这些功能,不仅结构复杂,而且柔性差,甚至不可能实现。而用软件实现则具有较大的灵活性,且

3、能方便实现较复杂的处理和运算。因而,用相对较少且标准化程度较高的硬件,配以功能丰富的软件模块CNC系统是当今数控技术的发展趋势。二、CNC装置的数据转换流程 CNC系统软件的主要任务之一是如何将零件加工程序表达的加工信息,变换成各进给轴的位移指令、主轴转速指令和辅助动作指令。其数据转换的过程如图2所示。 图2 共享存储器结构CNC系统硬件结构(一) 译码(解释)译码程序的主要功能是将文本格式(ASCII码)表达的零件加工程序,以程序段为单位转换成后续程序所要求的数据结构(格式)。该数据结构用来描述一个程序段解释后的数据信息。包括:X、Y、Z、等坐标值;进给速度;主轴转速;G代码;M代码;刀具号

4、;子程序处理和循环调用处理等数据或标志的存放顺序和格式。一个译码缓冲区数据结构的例子如下:Struct PROG_BUFFER Char buf_state; /指定缓冲区的状态,0表示缓冲区为空;1表示缓冲区准备好。 int block_num; /以BCD码的形式存放本段的程序段号。 double COOD20; /以二进制的形式存放X、Y、Z、I、J、K、R、A、B等尺寸指令的 数值,单位为um。 int F,S; /以二进制的形式存放进给速度F(mm/min)和主轴转速S(r/min)。 char G0; /以标志形式存放G指令。例如: D7D6D5D4D3D2D1D0 G00 0:无

5、该指令;1:有该指令。 G01G02G03G33; G90/G91 0:G90; 1: G91 char G1; /根据G指令的个数设置字符变量的个数。 char M0; /以标志的形式存放M指令。存放形式同G代码。 char M1; /根据M指令的个数设置字符变量的个数。 char T; /以BCD码的形式存放本段换刀的刀具号。 Char D; /以BCD码的形式存放刀具补偿的刀具半径值。在程序中一般有由若干个由这种结构组成的程序缓冲区组,当前程序段译码后的数据信息存入缓冲区组中空闲的一个。后续程序从该缓冲区中获取数据信息进行工作。下面以一个程序段为例来简要说明译码过程: N06 G90 G

6、01 X200 Y300 F200 ; 译码程序以程序段为单位进行解释,解释中,从零件程序存储区中逐一读出指令:读出:N06 解释:将06 转换为BCD码00000110BCD存入译码缓冲区中的 “block_num” G90 将译码缓冲区中的“G0”的“D6”位置“0” G01 将译码缓冲区中的“G0”的“D1”位置“1” X200 将200转换为二进制码11001000B存入译码缓冲区中的“COOR1” Y300 将300转换为二进制码100101100B存入译码缓冲区中的“COOR2” F200 将200转换为二进制码11001000B存入译码缓冲区中的“F” ; 程序段读完,译码结束。

7、进入下一程序段的解释工作,直至整个缓冲区组被填满,然后,译码程序进入休眠状态。当缓冲区组中有若干个缓冲区置空,系统将再次激活译码程序,按此方式重复进行,直到整个加工程序解释完毕(读到M02或M30)为止。(二) 刀补处理(计算刀具中心轨迹)将零件轮廓变换为刀具中心轨迹,并进行相应的坐标变换,主要工作是:(1)根据绝对坐标(G90)或相对坐标(G91)计算零件轮廓的终点坐标值;(2)根据刀具半径、刀具半径补偿的方向(G41/G42)和零件轮廓的终点坐标值,计算刀具中心轨迹的终点坐标值。(3)根据本段和前段的关系,进行段间连续处理。经刀补处理程序转换的数据存放在刀补缓冲区中,以供后续程序之用。刀补

8、缓冲区与译码缓冲区的结构相似。(三) 速度预处理主要功能是根据加工程序给定的进给速度,计算在每个插补周期内的合成移动量。供插补程序使用。主要完成一下几步计算:(1)计算本段总位移量直线:计算合成位移量L圆弧:计算总角位移量供插补程序判断减速起点或终点判断之用。(2)计算每个插补周期内的合成进给量 L=Ft/60 (m)式中,F进给速度值(mm/min); t数控系统的插补周期(ms)。经速度处理程序转换的数据存放在插补缓冲区中,以供插补程序之用。(四) 插补计算以系统规定的插补周期t定时运行,主要功能是:(1)根据操作面板上“进给修调”开关的设定值。计算本次插补周期的实际合成位移量: L1=L

9、*修调值(2)将L1按插补的线形和本插补点所在的位置分解到各个进给轴,作为各进给轴的位置控制指令(xi,yi)。经插补计算后的数据存放在运行缓冲区中,以供位置控制程序之用。(五) 位置控制 位置控制数据转换流程如图3所示。主要进行各进给轴跟随误差(x3,y3)的计算,并进行调节处理,输出速度控制指令(vx,vy)。 图3 CNC装置数据转换流程示意图 位置控制完成一下几步计算:(1)计算新的位置指令坐标值: x1新=x1旧+x1 y1新=y1旧+y1(2)计算新的位置实际坐标值: x2新=x2旧+x2 y2新=y2旧+y2(3)计算跟随误差: x3=x1新-x2新 y3=y1新-y2新(4)计

10、算速度指令值: vx=f(x3);vy=f(y3)这里,f(.)是位置调节环的控制算法。三、CNC装置的软件系统特点 (一) 多任务性与并行处理技术 任务可并行执行的程序在一个数据集合上的运行过程。CNC的功能可定义CNC的任务。1 CNC装置的多任务性CNC的任务:管理任务:程序管理、显示、诊断、人机交互、 控制任务:译码、刀具补偿、速度预处理、插补运算、位置控制、上述任务不是顺序执行的,而需要多个任务并行处理,如:(1)当机床正在加工时(执行控制任务),CRT要实时显示加工状态(管理任务)。控制与管理并行。(2)当加工程序送入系统(输入)时,CRT实时显示输入内容(显示)。管理任务之间的并

11、行。(3)为了保证加工的连续性,译码、刀具补偿、速度处理、插补运算、位置控制必须同时不间断的执行。控制任务之间的并行。2 基于并行处理的多任务调度技术 并行处理是指软件系统在同一时刻或同一时间间隔内完成两个或两个以上任务处理的方法。采用并行处理技术的目的是为了提高CNC装置资源的利用率和系统处理速度。并行处理的实现方式与CNC系统硬件结构密切相关,常采用以下方法: (1)资源分时共享:对单CPU装置。采用“分时”来实现多任务的并行处理。其方法是:在一定的时间长度(常称时间片)内,根据各任务的实时性要求程度,规定它们CPU的时间,是它们按规定的顺序和规则分时共享系统的资源。 解决各任务CPU(资

12、源)时间的分配原则。主要有两个问题:其一,各任务何时占用CPU,即任务的优先级分配问题。其二,各任务占用CPU的时间长度,即时间片的分配问题。图4 各任务占用CPU时间示意图单CPU的CNC装置中,通常采用循环调度和优先抢占调度相结合的方法来解决上述问题的。图4是一个典型的多任务分时共享CPU的时间分配图。循环调度:若干个任务(显示、译码、刀补、I/O、)在一个时间片内顺序轮流执行;优先抢占调度:将任务按实时性要求的程度,分为不同的优先级,优先级别高的任务优先执行(优先),优先级别高的任务可随时中断优先级别底的任务的运行(抢占)。假定某CNC装置软件将其功能仅分为三个任务:位置控制、插补运算和

13、背景程序(包含若干任务循环调度运行)。位置控制优先级别最高,规定4ms执行一次,由定时中断激活;插补运算次之,规定8ms执行一次,由定时中断激活;插补背景程序最低,当位置控制和插补运算都不执行时执行。运行过程是:在初始化后,自动进入背景程序,轮流反复执行各子任务。当位置控制和插补运算需要执行时,随时中断循环调度中运行的程序(背景程序),位置控制可随时中断插补运算。各任务运行占用CPU时间如图4所示。可以看出:在任何时刻只有一个任务占用CPU;从一个时间片(8或16ms)来看,CPU并行执行了三个任务。即资源分时共享的并行处理是宏观意义上的,微观上还是各个任务顺序执行的。(3)并发处理和流水处理:在多CPU结构的CNC装置中,根据各任务间的关联程度,可采用两种策略实现多任务并行处理。其一,如果任务之间的关联程度不高。则将各任务分别安排一个CPU,使其同时执行,这就是所谓的“并发处理”;其二,如果各任务之间的关联程度较高,即一个任务的输出是另一任务的输入,则采用流水处理的方法。它是利用重复的资源,将一个大任务分成若干个彼此关联的子任务(如将插补准备分为:译码、刀补处理、速度预处理三个子任务),然后按一定顺序安排每个资源执行一个任务。如:CPU1执行译码、CPU2执行刀补处理、CPU3执行速度预处理,t1:CPU1执行第一个程序段的译码;t2:CPU2

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号