基于数控流水线技术的开放式数控系统研究
2018-3-14 来源:昆明冶金高等专科学校机械工程学院 作者:邓宇翔
【关键词】数控系统 数控流水线
【摘要】为了使数控流水线技术的开放式数控系统设计不依附于特定的硬件和软件平台,因此设计了一种通过数控主控流水线线程以及驱动程序和数控微代码实时执行单元组成的数控流水线系统。
这种数控系统定义了开放的数控微代码数据接口与开放的数控规范指令程序,一方面确保了数控模块的交互性,另一方面也使数控流水线的重构成为可能。数控流水线线程封装了从数据指令译码到生成数控微代码的主要控制,进一步使用现代软件开发技术与标准编程接口保证数控代码的可移植性。通过可重构的开放式硬件对数控微代码的实时执行模块进行实时操控,由缓冲区隔离了数控流水线的非实时部分和实时部分。
开放式数控微代码 可重构数控流水线技术的开放式数控系统通过计算机操作系统进行程序构建。即使主流型的计算机操控系统可以更加便捷地实现信息的存储管理、人机交互功能以及网络通讯功能,但是难以实现数控系统中的强实时功能l[]。因为,在通常情况下,通用的计算机操作系统只是立足于整体运算性能的优化而影响了实时响应功能的正常发挥。
1、数控系统的流水线处理技术
为了使数控操作系统中的强实时功能的发挥成为可能,可以通过两种不同的操作方案来对其实时功能进行优化,一种方案就是着眼于实时数控操作系统进行优化的软件数控系统,通过不同优先级的任务划分,RTOS基于不同的优先级进行任务快速调度,从而有效确保了较高优先级任务能够实时响应。最直接的案例就是NIST[2]美国国家标准和技术研究所主持的增强型运动控制器EMC程序,这种操作项目是通过iLn二计算机操控系统实时建立的基于数控流水线技术的开放式数控系统。但这种数控操作系统也存在一定的技术缺陷,由于该系统的内核在临界区执行织孔命令时无法响应实时的操作程序事件,因此就会导致数据实时响应具有很大的不确定性;另一方面,数据操控以及计算机系统任务切换会消耗数控系统本身的额外资源,所以数控操作系统在这种高负荷的实时运行环境下就会影响数控系统的整体性能发挥。
在日常实践中,技术人员通过对iLnux实时计算机操作系统进行数据运行测试,由于该系统的外部中断频率为83.15kHz,所以外部中断频率就会影响该系统的实时响应,在数控操作系统中就会形成巨大的误差,所以这种误差在实际的数控系统运行过程中是不允许出现的。当前信息化技术时代,数控系统中电机的脉冲频率可以高达IMHz,在Real一Timeopearti雌system操控系统下,如果以单一的软件操控管理电机中的脉冲频率很难达到IMHz以上。究其原因,当前的Rael一iTmeopearitgnSystem操控系统还缺乏一套标准的编程方案,用户需要掌握专业的编程技术和数控操作系统的任务调度机制才能对计算机软件进行开发,这样不但不利于数控操作系统的实时开放,同时也增加了计算机软件的技术开发难度。
此外,另一种方案就是通过把所有强实时功能的操作系统集成到一种专用的运动控制器上面,形成多CPU操作系统的数控结构,这种系统结构要以高性能的cPu为核心,例如DsP数字信号处理器。例如,DeltaaTu公司采用的PMAC可编程多轴运动控制器就是一种基于DSP的运动控制卡设备,此时用户可以通过人机交互、网络通信、轨迹规划以及图形仿真等功能在上位机内进行相应功能的应用开发。但需要注意的是,如果用户开发的是PMAC[3]可编程的多轴运动控制器的内部算法,此时用户需要采用专门的数据语言来进行编程,这种操控方案无疑增加了数控系统的开发难度,同时也大大降低了系统的开放性。此外,这种程序设计还需要通过高性能的专用CPU来进行程序开发,增加了用户系统开发的技术成本和经济成本,更大的弊端是浪费了上位机CPU内部的潜在数据运算资源。
从上面的论述中可以看出,前后两种的不同操作方案都各有利弊,因此本文结合上述分析设计了一种全新的基于数控流水线技术的开放式数控结构,这种开放式数控结构通过对系统硬件和软件性能的综合平衡,发挥了当前微电子计算机时代通用数据平台的计算优势,从而大大优化了流水线开放式数控系统的整体性能。这种基于数控流水线技术的开放式数控结构的设计理念就是尽可能通过采用先进的计算机开发技术来降低用户的程序开发难度。通过实践表明,基于数控流水线技术的开放式数控结构具有十分广泛的应用性,它可以支持当前所有主流的操作系统的软件和硬件技术平台的数据操作。
2、当前我国数控系统的流水线开放式数控系统处理技术
通常的数控系统内部功能可以分为常见的两种类型,一种是基于数控系统内部功能的弱实时功能,另一种是基于数控技术内部功能的强实时功能。如下表所示,数控系统功能的重要核心基础就是数控内部的强实时功能,它们与数控机床的加工过程紧密相关,因此对数控操作系统的实时性功能有很高的技术要求,不能出现任何的加工技术失误。此外,从下表中可以看出,每一个强实时模块对于数控操作系统的实时性要求是有所差别的。同强实时功能不同,数控操作系统的弱实时功能主要是通过对程序信息进行管理和人机交互、机床低速的通用1/0等几种不同的职能对数控操作系统的实时性要求相对较低。如果由于操作技术失误或者信息延迟导致有关的程序运行未能够有效及时进行指令,一般情况下也不会影响到具体的数控加工过程。所以这些弱实时功能可以通过当前的的用户操作系统就可以便捷实现。
表1数控系统主要不同任务的优先级

表2数控系统主要不同任务的优先级

通过对数控操作系统中的强实时功能进一步分析可以发现,数控系统的的强实时功能具有自身的某些技术特征,各个强实时功能之间存在一种“后向驱动关系”,所谓的后驱动功能是指后一级的较强实时功能驱动着前一阶段的较强实时功能的系统运行,通过双方的后驱动关系来为用户操作程序提供实时数据,驱动功能使数控操作系统中的某些强实时功能串联成为可能,通过双方的后向驱动关系为数控操作系统的稳定运行提供良好的运行基础。除此之外,数控操作系统中的急停、限位等一些1/0专用功能需要对其操作数据进行实时的反馈,但大部分操控功能对下一级功能的开环控制则不需要对其进行迅速反馈。所以针对此类应用控制程序可以将数控操作系统中的强实时功能预先展开批量的数据运行技术处理。
实际上,数控系统中的某些强实时功能实施性的强弱与数控系统运行程序的算法复杂程度呈反比例关系,与数控系统运行程序算法的数据运行能力以及算法的调用频率变化情况呈正比关系。这种算法功能采用简单的扩展硬件方法保证了部分软件强实时任务操作执行的便捷性,而且算法简便、数控程序运行数据吞吐量大、且调运频率很高。不同的功能之间可以对机床的具体位置和数控程序的模块信息进行数据监测,使用户可以对数控系统加工程序进行实时监控,但唯一的不足就是数控程序操作信息更新速度相对较慢。
3、数控流水线技术的开放式数控系统结构
基于数控系统用户信息更新速度较慢的原因考虑,该研究主要针对上述问题通过提供一种数控流水线技术的开放式数控系统结构来对此类问题采取相关方案进行解决。通常的数控流水线结构困ciPpehne)主要包括了数控微代码执行单元、数控主控流水线线程和数控控制驱动层三大重要的组成部分,具体结构如下文论述,仅供参考:
3.1数控主控流水线线程
数控流水线线程5[]是一个独立的运行线程,它可以通过计算机内部操作系统中的计算机数字控制装置cNc(computerNumiercalContorl)软件来充分发挥通用计算机的程序运算优势,并将详细的运算指令按照后向驱动关系设计成一种独立的任务或线程,这种设计方法的依据是通过计算机指令的多轴插补功能和计算机指令操控译码等一些具体的功能来实现。这种设计方法减少了计算机功能切换时的重启频率,所以有效提高了整个数控操作系统的整体效率。在日常的数控流水线程中主要分为机床动作规划和数控指令两部分,因此使数控系统内部的逻辑算法和控制算法实现了指令切换。
3.2指令转换部分
数控操作系统的指令转换功能主要是通过用户的编程指令转化成NCCC指令。NumeircalControlCanonicalCommand指令是一种与CNC的控制算法以及用户数据编程语言毫无关联的标准化应用程序数据接口端,它的主要功能就是保证CNC指令与Nccc指令两者之间不能直接进行祸合,也保证了数据结构与算法之间相分离。在所有的操作运算模块中,数据指令译码是数控操作系统中指令转化的重要部分,用户只要输人各种加工的源程序数据代码,数控操作系统就可以通过相应的指令规则经过语法分析,生成具体的加工策略,再经过刀具补偿和坐标转化管理,最后就可以执行NCCC指令,并将种处理后的计算机指令传输到数控流水线的下一级程序。
3.3机床动作规划部分
数控系统机床动作规划部分的主要生成指令是通过不同操作系统间的程序控制来生成数控操作机床的具体位置和NCCC指令,再经过程序运算,根据机床数控生成的新的数控NCM微代码。NCM微代码是一种标准化的描述指令集,主要用于NcMP指令执行,NcM微代码与机床动作规划和微代码执行单元开放标准无关。机床动作规划部分主要包括了数控专用1/0控制装置和数控系统指令规范缓冲单元、数控指令控制单元与杂项控制部分。缓冲区主要用来缓冲不同规则的NCCC指令;速度规划部分主要通过参数控制装置对缓冲区缓冲数据的运动参数和运动路径规划,并根据具体的规划内容,依照算法规划出一条速度曲线,之后可以通过多插补程序速度曲线生成轴插补数据;专用1/0数控装置可以将数控程序中的NCCC指令经过算法运算再生成相应的运算代码。
3.4控制驱动层
控制驱动层是数控系统中的唯一运动程序模块,在现代化的信息操作系统中,数控驱动程序属于内核部分,与用户操作程序相比,具有很高的操作运算特权,还可以直接通过数控硬件系统对计算机硬件进行数据访问。在数控流水线控制程序中,数控驱动程序十分简单,易于用户操作,可以在不同的运算系统中进行切换,一方面可以减少数控系统中的程序数据运算量,另一方面也可以提高数控操作系统的开放程度。
4、结语
综上所述,与一般的数控开放式系统方案比较,基于数控流水线技术的开放式数控系统可以降低特定的数控硬件或软件操作环境要求,因此可以提高数控技术的操作性,也能使数控技术广泛适应于各种结构体系。基于数控流水线技术的开放式数控系统流水线线程不需要实时计算机操作系统的支持就可以通过算法规则进行内部的数据运算。这种数据运算程序只需要通过数据编程就可以构建具体的运算程序,因此充分展示了通用计算机操作系统的运算特点。除此之外,使开放的标准化接口与不同流水线模块之间的频繁切换成为现实。NCMP指令通过简单化的结构设计和运算操作,采用了低成本的设计方法,使操作运算系统的数据传输更加可靠、实时、安全、便捷。因此,NCM微代码的数据执行由计算机硬件逻辑指令操作,这种代码的控制逻辑具有较强的开放性和实时性,而且数据逻辑可以重构。最后的研究表明,该论述基于数控流水线技术的开放式数控系统研究中提出的数控系统方案是具有理论技术依据的,并且数控流水线占用的实际资源较少,为数控操作系统今后的进一步拓展留有一定的空间。
投稿箱:
如果您有机床行业、企业相关新闻稿件发表,或进行资讯合作,欢迎联系本网编辑部, 邮箱:skjcsc@vip.sina.com
如果您有机床行业、企业相关新闻稿件发表,或进行资讯合作,欢迎联系本网编辑部, 邮箱:skjcsc@vip.sina.com
更多相关信息