版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、CNC装置的软件结构 CNC装置的软件是一个典型又复杂的实时系统,它的许多控制任务,如零件程序的输入与译码、刀具半径补偿、插补运算、位置控制以及精度补偿都是由软件实现的。从逻辑上讲,这些任务可看成一个个功能模块,模块之间存在着偶合关系;从时间上讲,各功能模块之间存在一个时序配合问题。在设计CNC装置的软件时,如何组织和协调这些这些功能模块,使之满足一定的时序和逻辑关系,就是CNC装置软件结构要考虑的问题。一、CNC装置软件和硬件的功能界面CNC装置是由软件和硬件组成的,硬件为软件的运行提供支持环境。在
2、信息处理方面,软件与硬件在逻辑上是等价的,即硬件能完成的功能从理论上讲也可以由软件来完成。但,硬件和软件在实现这些功能时各有不同的特点:硬件处理速度快,但灵活性差,实现复杂控制的功能困难。软件设计灵活,适应性强,但处理速度相对较慢。如何确定合理确定软硬件的功能分担是CNC装置结构设计的重要任务。这就是所谓软件和硬件的功能界面划分的概念。划分准则是系统的性价比。图1 CNC软件系统功能框图图1是CNC装置功能界面的几种划分方法。这几种功能界面是CNC装置不同时期不同产品的划分。其中后面两种是现在的CNC系统常用的方案。反映出软件所承担的任务越来越多,硬件承担的任务越来越少。一是因为计
3、算机技术的发展,计算机运算处理能力不断增强,软件的运行效率大大提高,这为用软件实现数控功能提供了技术支持。二是数控技术的发展,对数控功能的要求越来越高,若用软件来实现这些功能,不仅结构复杂,而且柔性差,甚至不可能实现。而用软件实现则具有较大的灵活性,且能方便实现较复杂的处理和运算。因而,用相对较少且标准化程度较高的硬件,配以功能丰富的软件模块CNC系统是当今数控技术的发展趋势。二、CNC装置的数据转换流程CNC系统软件的主要任务之一是如何将零件加工程序表达的加工信息,变换成各进给轴的位移指令、主轴转速指令和辅助动作指令。其数据转换的过程如图2所示。图2 共享存储器结构CNC系统硬件
4、结构(一) 译码(解释)译码程序的主要功能是将文本格式(ASCII码)表达的零件加工程序,以程序段为单位转换成后续程序所要求的数据结构(格式)。该数据结构用来描述一个程序段解释后的数据信息。包括:X、Y、Z、等坐标值;进给速度;主轴转速;G代码;M代码;刀具号;子程序处理和循环调用处理等数据或标志的存放顺序和格式。一个译码缓冲区数据结构的例子如下:Struct PROG_BUFFER Char buf_state; /指定缓冲区的状态,0表示缓冲区为空
5、;1表示缓冲区准备好。 int block_num; /以BCD码的形式存放本段的程序段号。 double COOD20; /以二进制的形式存放X、Y、Z、I、J、K、R、A、B等尺寸指令的
6、; 数值,单位为um。 int F,S; /以二进制的形式存放进给速度F(mm/min)和主轴转速S(r/min)。 char G0; /以标志形式存放G指令。例如:
7、160; G00 0:无该指令;1:有该指令。 &
8、#160; G01G02G03G33;
9、; G90/G91 0:G90; 1: G91 char G1; /根据G指令的个数设置字符变量的个数。
10、160; char M0; /以标志的形式存放M指令。存放形式同G代码。
11、 char M1; /根据M指令的个数设置字符变量的个数。 char T; /以BCD码的形式存放本段换刀的刀具号。
12、160; Char D; /以BCD码的形式存放刀具补偿的刀具半径值。在程序中一般有由若干个由这种结构组成的程序缓冲区组,当前程序段译码后的数据信息存入缓冲区组中空闲的一个。后续程序从该缓冲区中获取数据信息进行工作。下面以一个程序段为例来简要说明译码过程: N06 G90 G01 X20
13、0 Y300 F200 ; 译码程序以程序段为单位进行解释,解释中,从零件程序存储区中逐一读出指令:读出:N06 解释:将06 转换为BCD码00000110BCD存入译码缓冲区中的 “block_num” G90 将译码缓冲区中的“G0”的“D6”位置“0” G01
14、; 将译码缓冲区中的“G0”的“D1”位置“1” X200 将200转换为二进制码11001000B存入译码缓冲区中的“COOR1” Y300 将300转换为二进制码100101100B存入译码缓冲区中的“COOR2” F200 将200转换为二进制码110010
15、00B存入译码缓冲区中的“F” ; 程序段读完,译码结束。进入下一程序段的解释工作,直至整个缓冲区组被填满,然后,译码程序进入休眠状态。当缓冲区组中有若干个缓冲区置空,系统将再次激活译码程序,按此方式重复进行,直到整个加工程序解释完毕(读到M02或M30)为止。(二) 刀补处理(计算刀具中心轨迹)将零件轮廓变换为刀具中心轨迹,并进行相应的坐标变换,主要工作是:(1)根据绝对坐标(G90)或相对坐标(G91
16、)计算零件轮廓的终点坐标值;(2)根据刀具半径、刀具半径补偿的方向(G41/G42)和零件轮廓的终点坐标值,计算刀具中心轨迹的终点坐标值。(3)根据本段和前段的关系,进行段间连续处理。经刀补处理程序转换的数据存放在刀补缓冲区中,以供后续程序之用。刀补缓冲区与译码缓冲区的结构相似。(三) 速度预处理主要功能是根据加工程序给定的进给速度,计算在每个插补周期内的合成移动量。供插补程序使用。主要完成一下几步计算:(1)计算本段总位移量直线:计算合成位移量L圆弧:计算总角位移量供插补程序判断减速起点或终点判断之用。(2)计算每个插补周期内的合成
17、进给量 L=Ft/60 (m)式中,F进给速度值(mm/min); t数控系统的插补周期(ms)。经速度处理程序转换的数据存放在插补缓冲区中,以供插补程序之用。(四) 插补计算以系统规定的插补周期t定时运行,主要功能是:(1)根据操作面板上“进给修调”开关的设定值。计算本次插补周期的实际合成位移量:
18、 L1=L*修调值(2)将L1按插补的线形和本插补点所在的位置分解到各个进给轴,作为各进给轴的位置控制指令(xi,yi)。经插补计算后的数据存放在运行缓冲区中,以供位置控制程序之用。(五) 位置控制 位置控制数据转换流程如图3所示。主要进行各进给轴跟随误差(x3,y3)的计算,并进行调节处理,输出速度控制指令(vx,vy)。图3 CNC装置数据转换流程示意图 位置控制完成一下几步计算:(1)计算新的位置指
19、令坐标值: x1新=x1旧+x1 y1新=y1旧+y1(2)计算新的位置实际坐标值: x2新=x2旧+x2 y2新=y2旧+y2(3)计算跟随误差: x3=x1新-x2新
20、; y3=y1新-y2新(4)计算速度指令值: vx=f(x3);vy=f(y3)这里,f(.)是位置调节环的控制算法。三、CNC装置的软件系统特点(一) 多任务性与并行处理技术 任务可并行执行的程序在一个数据集合上的运行过程。CNC的功能可定义CNC的任务。1 CNC装置的多任务性CNC的任务:管理任务:程序管理、显示、诊断、人机交互、
21、0; 控制任务:译码、刀具补偿、速度预处理、插补运算、位置控制、上述任务不是顺序执行的,而需要多个任务并行处理,如:(1)当机床正在加工时(执行控制任务),CRT要实时显示加工状态(管理任务)。控制与管理并行。(2)当加工程序送入系统(输入)时,CRT实时显示输入内容(显示)。管理任务之间的并行。(3)为了保证加工的连续性,译码、刀具补偿、速度处理、插补运算、位置控制必须同时不间断的执行。控制任务之间的并行。2 基于并行处理的多任务调度技术 并行处理是指软件系统在同
22、一时刻或同一时间间隔内完成两个或两个以上任务处理的方法。采用并行处理技术的目的是为了提高CNC装置资源的利用率和系统处理速度。并行处理的实现方式与CNC系统硬件结构密切相关,常采用以下方法: (1)资源分时共享:对单CPU装置。采用“分时”来实现多任务的并行处理。其方法是:在一定的时间长度(常称时间片)内,根据各任务的实时性要求程度,规定它们CPU的时间,是它们按规定的顺序和规则分时共享系统的资源。 解决各任务CPU(资源)时间的分配原则。主要有两个问题:其一,各任务何时占用CPU,即任务的优先级分配问题。其二,各任务占用CPU的时间长度,即时间片
23、的分配问题。图4 各任务占用CPU时间示意图单CPU的CNC装置中,通常采用循环调度和优先抢占调度相结合的方法来解决上述问题的。图4是一个典型的多任务分时共享CPU的时间分配图。循环调度:若干个任务(显示、译码、刀补、I/O、)在一个时间片内顺序轮流执行;优先抢占调度:将任务按实时性要求的程度,分为不同的优先级,优先级别高的任务优先执行(优先),优先级别高的任务可随时中断优先级别底的任务的运行(抢占)。假定某CNC装置软件将其功能仅分为三个任务:位置控制、插补运算和背景程序(包含若干任务循环调度运行)。位置控制优先级别最高,规定4ms执行一次,由定时中断激活;插补运算次之,规定8m
24、s执行一次,由定时中断激活;插补背景程序最低,当位置控制和插补运算都不执行时执行。运行过程是:在初始化后,自动进入背景程序,轮流反复执行各子任务。当位置控制和插补运算需要执行时,随时中断循环调度中运行的程序(背景程序),位置控制可随时中断插补运算。各任务运行占用CPU时间如图4所示。可以看出:在任何时刻只有一个任务占用CPU;从一个时间片(8或16ms)来看,CPU并行执行了三个任务。即资源分时共享的并行处理是宏观意义上的,微观上还是各个任务顺序执行的。(3)并发处理和流水处理:在多CPU结构的CNC装置中,根据各任务间的关联程度,可采用两种策略实现多任务并行处理。其一,如果任务之间的关联程度
25、不高。则将各任务分别安排一个CPU,使其同时执行,这就是所谓的“并发处理”;其二,如果各任务之间的关联程度较高,即一个任务的输出是另一任务的输入,则采用流水处理的方法。它是利用重复的资源,将一个大任务分成若干个彼此关联的子任务(如将插补准备分为:译码、刀补处理、速度预处理三个子任务),然后按一定顺序安排每个资源执行一个任务。如:CPU1执行译码、CPU2执行刀补处理、CPU3执行速度预处理,t1:CPU1执行第一个程序段的译码;t2:CPU2执行第一个程序段的刀补处理,同时CPU1执行第二个程序段的译码;t3:CPU3执行第一个程序段的速度预处理并输出第一个程序段插补预处理后的数据,同时,CP
26、U2执行第二个程序段的刀补处理,CPU1执行第三个程序段的译码,t4:CPU3执行第二个程序段的速度预处理并输出第二个程序段插补预处理后的数据,同时,CPU2执行第三个程序段的刀补处理,CPU1执行第四个程序段的译码;。这个处理过程与生产线上分不同工序加工零件的流水作业一样。可以大大缩短两个程序段之间输出的间隔时间。可以看出,在任何时刻均有两个或两个以上的任务在并发执行。流水处理的关键是时间重叠,以资源重复为代价换取时间上的重叠,以空间复杂性换取时间上的快速性。 (二)实时性和优先抢占调度机制实时性:指某任务的执行有严格的时间要求,即必须在系统的规定时间内完成,否则将导致执行结果错误和系统故障
27、。1 实时性任务的分类从各任务对实时性要求的角度看,基本上可分为:强实时性任务:(1)实时突发性任务:特点是任务的发生具有随机性和突发性,是一种异步中断事件,往往有很强的实时性要求。如:故障中断(急停、机械限位、硬件故障)、机床PLC中断。(2)实时周期性任务:任务是按一定的事件间隔发生的。如:插补运算、位置处理。为保证加工精度和加工过程的连续性,这类任务的实时性是关键。这类任务,除系统故障外,不允许被其他任务中断。弱实时性任务:任务的实时性相对较弱,只需要在某一段时间内得以运行即可。在系统设计时,安排在背景程序中或根据重要性设置为级别较低的优先级由调度程序进行合理的调度。如:显示、加工程序编
28、辑、插补预处理等。2 优先抢占调度机制为了满足CNC装置实时任务的要求,系统的调度机制必须具有能根据外界的实时信息以足够快的速度进行任务调度的能力。优先抢占调度机制使是系统具有这一能力的调度技术。它是基于实时中断技术的任务调度机制。中断技术是计算机响应外部事件的一种处理技术,特点是能按任务的重要程度和轻重缓急对其进行响应,而CPU也不必为其开销过多的时间。优先抢占调度机制有两个功能:优先调度:在CPU空闲时,若同时有多个任务请求执行,优先级别高的任务将优先执行。抢占方式:在CPU正在执行某任务时,若另一优先级更高的任务请求执行,CPU将立即终止正在执行的任务,转而响应优先级别更高的任务的请求。优先抢占调度机制是由硬件和软件共同实现的,硬件主要产生中断请求信号,由提供中断功能的芯片和电路组成(中断管理芯片:8259;定时计数器:8263、8254)。软件主要完成:硬件芯片的初始化、任务优先级定义方式、任务切换处理(断点的保护与恢复、中断向量的保持与恢复)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 跨文化教育中学生的适应能力评价体系
- 职场新星学生领导力培养的路径
- 2025年度二零二五年度解除商铺租赁合同的解除协议
- 2025年度美容行业美容院美容师晋升合同
- 2025年度游戏工作室游戏行业合作专员用工合同
- 二零二五年度股东协议解散及公司债权债务处理合同
- 2025年度黄金回收与贵金属仓储物流合同
- 2025年度智能化生产线操作员雇佣合同与劳务合同
- 2025年度装饰装修工程竣工验收及整改合同
- 二零二五年度影视演员经纪与经纪公司联合推广合同
- 安全生产网格员培训
- 小学数学分数四则混合运算300题带答案
- 林下野鸡养殖建设项目可行性研究报告
- 心肺复苏术课件2024新版
- 2024年山东泰安市泰山财金投资集团有限公司招聘笔试参考题库含答案解析
- 英语主语从句省公开课一等奖全国示范课微课金奖课件
- C139客户开发管理模型
- 年度工作总结与计划会议
- 医保按病种分值付费(DIP)院内培训
- 近五年重庆中考物理试题及答案2023
- 全科医医师的临床诊疗思维
评论
0/150
提交评论