欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    CNC装置的软件结构.doc

    • 资源ID:23970323       资源大小:472KB        全文页数:33页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    CNC装置的软件结构.doc

    Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateCNC装置的软件结构CNC装置的软件结构CNC装置的软件结构从逻辑上讲,这些任务可看成一个个功能模块,模块之间存在着偶合关系;从时间上讲,各功能模块之间存在一个时序配合问题。在设计CNC装置的软件时,如何组织和协调这些这些功能模块,使之满足一定的时序和逻辑关系,就是CNC装置软件结构要考虑的问题。 一、CNC装置软件和硬件的功能界面CNC装置是由软件和硬件组成的,硬件为软件的运行提供支持环境。在信息处理方面,软件与硬件在逻辑上是等价的,即硬件能完成的功能从理论上讲也可以由软件来完成。但,硬件和软件在实现这些功能时各有不同的特点:硬件处理速度快,但灵活性差,实现复杂控制的功能困难。软件设计灵活,适应性强,但处理速度相对较慢。如何确定合理确定软硬件的功能分担是CNC装置结构设计的重要任务。这就是所谓软件和硬件的功能界面划分的概念。划分准则是系统的性价比。 图1 CNC软件系统功能框图图1是CNC装置功能界面的几种划分方法。这几种功能界面是CNC装置不同时期不同产品的划分。其中后面两种是现在的CNC系统常用的方案。反映出软件所承担的任务越来越多,硬件承担的任务越来越少。一是因为计算机技术的发展,计算机运算处理能力不断增强,软件的运行效率大大提高,这为用软件实现数控功能提供了技术支持。二是数控技术的发展,对数控功能的要求越来越高,若用软件来实现这些功能,不仅结构复杂,而且柔性差,甚至不可能实现。而用软件实现则具有较大的灵活性,且能方便实现较复杂的处理和运算。因而,用相对较少且标准化程度较高的硬件,配以功能丰富的软件模块CNC系统是当今数控技术的发展趋势。二、CNC装置的数据转换流程 CNC系统软件的主要任务之一是如何将零件加工程序表达的加工信息,变换成各进给轴的位移指令、主轴转速指令和辅助动作指令。其数据转换的过程如图2所示。 图2 共享存储器结构CNC系统硬件结构(一) 译码(解释)译码程序的主要功能是将文本格式(ASCII码)表达的零件加工程序,以程序段为单位转换成后续程序所要求的数据结构(格式)。该数据结构用来描述一个程序段解释后的数据信息。包括:X、Y、Z、等坐标值;进给速度;主轴转速;G代码;M代码;刀具号;子程序处理和循环调用处理等数据或标志的存放顺序和格式。一个译码缓冲区数据结构的例子如下: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:无该指令;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 G01 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” ; 程序段读完,译码结束。进入下一程序段的解释工作,直至整个缓冲区组被填满,然后,译码程序进入休眠状态。当缓冲区组中有若干个缓冲区置空,系统将再次激活译码程序,按此方式重复进行,直到整个加工程序解释完毕(读到M02或M30)为止。(二) 刀补处理(计算刀具中心轨迹)将零件轮廓变换为刀具中心轨迹,并进行相应的坐标变换,主要工作是:(1)根据绝对坐标(G90)或相对坐标(G91)计算零件轮廓的终点坐标值;(2)根据刀具半径、刀具半径补偿的方向(G41/G42)和零件轮廓的终点坐标值,计算刀具中心轨迹的终点坐标值。(3)根据本段和前段的关系,进行段间连续处理。经刀补处理程序转换的数据存放在刀补缓冲区中,以供后续程序之用。刀补缓冲区与译码缓冲区的结构相似。(三) 速度预处理主要功能是根据加工程序给定的进给速度,计算在每个插补周期内的合成移动量。供插补程序使用。主要完成一下几步计算:(1)计算本段总位移量直线:计算合成位移量L圆弧:计算总角位移量供插补程序判断减速起点或终点判断之用。(2)计算每个插补周期内的合成进给量 L=Ft/60 (m)式中,F进给速度值(mm/min); t数控系统的插补周期(ms)。经速度处理程序转换的数据存放在插补缓冲区中,以供插补程序之用。(四) 插补计算以系统规定的插补周期t定时运行,主要功能是:(1)根据操作面板上“进给修调”开关的设定值。计算本次插补周期的实际合成位移量: L1=L*修调值(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)计算速度指令值: vx=f(x3);vy=f(y3)这里,f(.)是位置调节环的控制算法。三、CNC装置的软件系统特点 (一) 多任务性与并行处理技术 任务可并行执行的程序在一个数据集合上的运行过程。CNC的功能可定义CNC的任务。1 CNC装置的多任务性CNC的任务:管理任务:程序管理、显示、诊断、人机交互、 控制任务:译码、刀具补偿、速度预处理、插补运算、位置控制、上述任务不是顺序执行的,而需要多个任务并行处理,如:(1)当机床正在加工时(执行控制任务),CRT要实时显示加工状态(管理任务)。控制与管理并行。(2)当加工程序送入系统(输入)时,CRT实时显示输入内容(显示)。管理任务之间的并行。(3)为了保证加工的连续性,译码、刀具补偿、速度处理、插补运算、位置控制必须同时不间断的执行。控制任务之间的并行。2 基于并行处理的多任务调度技术 并行处理是指软件系统在同一时刻或同一时间间隔内完成两个或两个以上任务处理的方法。采用并行处理技术的目的是为了提高CNC装置资源的利用率和系统处理速度。并行处理的实现方式与CNC系统硬件结构密切相关,常采用以下方法: (1)资源分时共享:对单CPU装置。采用“分时”来实现多任务的并行处理。其方法是:在一定的时间长度(常称时间片)内,根据各任务的实时性要求程度,规定它们CPU的时间,是它们按规定的顺序和规则分时共享系统的资源。 解决各任务CPU(资源)时间的分配原则。主要有两个问题:其一,各任务何时占用CPU,即任务的优先级分配问题。其二,各任务占用CPU的时间长度,即时间片的分配问题。图4 各任务占用CPU时间示意图单CPU的CNC装置中,通常采用循环调度和优先抢占调度相结合的方法来解决上述问题的。图4是一个典型的多任务分时共享CPU的时间分配图。循环调度:若干个任务(显示、译码、刀补、I/O、)在一个时间片内顺序轮流执行;优先抢占调度:将任务按实时性要求的程度,分为不同的优先级,优先级别高的任务优先执行(优先),优先级别高的任务可随时中断优先级别底的任务的运行(抢占)。假定某CNC装置软件将其功能仅分为三个任务:位置控制、插补运算和背景程序(包含若干任务循环调度运行)。位置控制优先级别最高,规定4ms执行一次,由定时中断激活;插补运算次之,规定8ms执行一次,由定时中断激活;插补背景程序最低,当位置控制和插补运算都不执行时执行。运行过程是:在初始化后,自动进入背景程序,轮流反复执行各子任务。当位置控制和插补运算需要执行时,随时中断循环调度中运行的程序(背景程序),位置控制可随时中断插补运算。各任务运行占用CPU时间如图4所示。可以看出:在任何时刻只有一个任务占用CPU;从一个时间片(8或16ms)来看,CPU并行执行了三个任务。即资源分时共享的并行处理是宏观意义上的,微观上还是各个任务顺序执行的。(3)并发处理和流水处理:在多CPU结构的CNC装置中,根据各任务间的关联程度,可采用两种策略实现多任务并行处理。其一,如果任务之间的关联程度不高。则将各任务分别安排一个CPU,使其同时执行,这就是所谓的“并发处理”;其二,如果各任务之间的关联程度较高,即一个任务的输出是另一任务的输入,则采用流水处理的方法。它是利用重复的资源,将一个大任务分成若干个彼此关联的子任务(如将插补准备分为:译码、刀补处理、速度预处理三个子任务),然后按一定顺序安排每个资源执行一个任务。如:CPU1执行译码、CPU2执行刀补处理、CPU3执行速度预处理,t1:CPU1执行第一个程序段的译码;t2:CPU2执行第一个程序段的刀补处理,同时CPU1执行第二个程序段的译码;t3:CPU3执行第一个程序段的速度预处理并输出第一个程序段插补预处理后的数据,同时,CPU2执行第二个程序段的刀补处理,CPU1执行第三个程序段的译码,t4:CPU3执行第二个程序段的速度预处理并输出第二个程序段插补预处理后的数据,同时,CPU2执行第三个程序段的刀补处理,CPU1执行第四个程序段的译码;。这个处理过程与生产线上分不同工序加工零件的流水作业一样。可以大大缩短两个程序段之间输出的间隔时间。可以看出,在任何时刻均有两个或两个以上的任务在并发执行。流水处理的关键是时间重叠,以资源重复为代价换取时间上的重叠,以空间复杂性换取时间上的快速性。(二)实时性和优先抢占调度机制实时性:指某任务的执行有严格的时间要求,即必须在系统的规定时间内完成,否则将导致执行结果错误和系统故障。1 实时性任务的分类从各任务对实时性要求的角度看,基本上可分为:强实时性任务:(1)实时突发性任务:特点是任务的发生具有随机性和突发性,是一种异步中断事件,往往有很强的实时性要求。如:故障中断(急停、机械限位、硬件故障)、机床PLC中断。(2)实时周期性任务:任务是按一定的事件间隔发生的。如:插补运算、位置处理。为保证加工精度和加工过程的连续性,这类任务的实时性是关键。这类任务,除系统故障外,不允许被其他任务中断。弱实时性任务:任务的实时性相对较弱,只需要在某一段时间内得以运行即可。在系统设计时,安排在背景程序中或根据重要性设置为级别较低的优先级由调度程序进行合理的调度。如:显示、加工程序编辑、插补预处理等。2 优先抢占调度机制为了满足CNC装置实时任务的要求,系统的调度机制必须具有能根据外界的实时信息以足够快的速度进行任务调度的能力。优先抢占调度机制使是系统具有这一能力的调度技术。它是基于实时中断技术的任务调度机制。中断技术是计算机响应外部事件的一种处理技术,特点是能按任务的重要程度和轻重缓急对其进行响应,而CPU也不必为其开销过多的时间。优先抢占调度机制有两个功能:优先调度:在CPU空闲时,若同时有多个任务请求执行,优先级别高的任务将优先执行。抢占方式:在CPU正在执行某任务时,若另一优先级更高的任务请求执行,CPU将立即终止正在执行的任务,转而响应优先级别更高的任务的请求。优先抢占调度机制是由硬件和软件共同实现的,硬件主要产生中断请求信号,由提供中断功能的芯片和电路组成(中断管理芯片:8259;定时计数器:8263、8254)。软件主要完成:硬件芯片的初始化、任务优先级定义方式、任务切换处理(断点的保护与恢复、中断向量的保持与恢复)等。四、CNC装置软件结构模式 结构模式:软件的组织管理方式,即任务的划分方式、任务调度机制、任务间的信息交换机制、系统集成方法。解决的问题是:如何协调各任务的执行,使满足一定的时序配合要求和逻辑关系,以满足CNC装置的各种控制要求。结构模式有:(一) 前后台型结构模式 任务划分方式: 前台程序:强实时性任务,包括:插补运算、位置控制、故障诊断等任务; 后台程序:弱实时性任务,包括:显示,加工程序的编辑和管理、系统的输入和输出、插补预处理等。任务调度机制:前台程序为中断服务程序,采用优先抢占调度机制。 后台程序为循环运行程序,采用顺序调度机制。 在运行中,后台程序不断地定时被前台中断程序所打断。信息交换:通过缓冲区实现。(二) 中断型结构模式任务划分方式:除初始化程序外,所有任务按实时性强弱,分别划分到不同优先级别的中断服务程序中。任务调度机制:采用优先抢占调度机制,由中断管理系统对各级中断服务程序进行管理。信息交换:通过缓冲区实现。整个软件是一个大的中断管理系统。系统实时性好,但模块关系复杂、偶合度大、不利于系统的维护与扩充。-

    注意事项

    本文(CNC装置的软件结构.doc)为本站会员(豆****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开