基于RTLinux的全数控软件并联机床数控系统研究

来源:互联网

点击:1401

A+ A-

所属频道:新闻中心

关键词:数控 软件并联 机床 数控系统

    0 引言

      为了提高对生产环境的适应性,满足快速多变的市场需求,近年来全球机床制造业都在积极探索和研制新型的制造设备与系统,其中在结构技术上的突破性进展当属20世纪90年代问世的并联机床。由于并联机构具有模块化程度高、刚度质量比大、速度快、造价低、功能多元化等优点,在诞生之际即被业界誉为“21 世纪的新一代数控加工设备”。并联数控装备的最大特点在于其结构简单而控制复杂,而且不同构型的并联机构逆解方程和结构参数不尽相同,这对控制系统的灵活性和开放性提出了极高要求。由于在控制原理上存在较大差异,基于传统串联机构设计的数控系统无法直接应用于并联机构这类独特的场合,因而研制高性能、开放式的并联机床数控系统,对进一步促进这类新型数控装备的实用化具有十分重要的意义。

      本文针对并联机床的控制要求和特点,提出采用全数控软件化集成式的数控结构来建造并联机床数控系统。基于这一设计思想,搭建了“IPC+通用接口板”的开放式硬件平台,选择RTLinux 系统作为底层实时操作系统,用C语言开发了全数控软件数控系统。

    1 数控软件

      目前,基于PC的开放式数控系统的体系结构模式可概括为以下四种结构:数控加PC 前端的衍生式、PC 加实时控制单元的嵌入式、数字化分布式以及数控软件化集成式。随着计算机工业的飞速发展,速度更快,更稳定,功能更强大的软硬平台相继出现,为开放式数控提供了更为广阔的发展空间,由此集成式数控软件数控这一全新的数控概念应运而生。所谓全数控软件数控,是指数控系统的所有功能如系统管理、实时插补、伺服控制、电源控制以及机床逻辑控制等全部集中于PC机以数控软件的形式完成,通过非常简单的外围接口实施控制。这类系统已完全可以看作通用计算机主流操作系统之上的标准应用数控软件(设备的数控结构可以最大限度地利用PC 丰富的软硬件资源,并彻底消除了系统各组成单元和模块间的通讯瓶颈,并且所有的底层核心全面开放,属于真正意义上的开放。由于实现了NC 内核的全面开放,用户可根据各种并联构型特点定制相应的核心控制策略,从而能够给予系统更大的性能空间,使并联数控装备在速度和精度上的优势潜力得以充分发挥。

    2 RTLinux操作系统

      全数控软件数控系统可以看作是运行于通用操作系统之上的一种应用数控软件,与其它应用数控软件的不同特点在于它是一个典型的实时多任务控制系统,因而对数控软件平台有严格的要求。传统的通用操作系统平台如DOS/Windows/ Windows NT 等本身的开放性、实时性和功能有限,大大限制了数控系统的功能和灵活性。近年来,Linux系统由于源代码完全开放,内存不受限制、价格低廉等优点受到越来越多的关注。RTLinux是基于Linux系统并可运行于多种硬件平台的多任务实时操作系统,它以通用操作系统为基础,在同一操作系统中既提供严格意义上的实时服务,又提供标准的POSIX(可移植的操作系统接口)服务。通过修改Linux 内核的硬件层,采用中断仿真技术,在内核和硬件之间实现了一个小而高效的实时内核,并在实时内核的基础上形成了小型的实时系统,而Linux 内核仅作为实时系统最低优先级的任务运行,因此系统拥有出色的实时性和稳定性,为开发高性能的开放式数控系统提供了理想的系统平台。

    3 轨迹插补

      对于传统机床的数控系统,被插补曲线的离散点序与伺服电机的控制量之间有着简单直接的对应关系。而并联机床刀具在操作空间的运动与关节空间伺服电机控制量之间存在非线性的映射关系。因此需要调用逆解模型,将CAM 模型提供的操作空间运动转化为关节空间的运动,才能驱动并联机床实现期望运动。由于这一特点,并联机床采用的插补策略与传统机床有重大区别。

      在以“PC+ 多轴运动控制器”为硬件平台的并联机床数控系统中采用的是二次插补策略,即粗插补和细插补分开进行,由主机将操作空间中的轨迹段在时间轴上进行离散,然后调用位置、姿态和速度逆解模型,对操作空间中的离散点序进行反演,生成各关节空间中的离散点,最后送入多轴运动控制器进行细插补。由于运动控制器提供的插补周期一般都在10ms左右,为了保证加工精度,必须对进给速度进行限制,导致机床只能在中低速场合下运行。

    在全数控软件数控系统中,利用数控软件控制的灵活性实现粗精插补合一,即采取直接插补的策略,将插补周期大大缩短(1至2ms),从而显著提高进给速度和加工精度。其具体步骤如下:

      ● 首先根据插补周期,将操作空间中的轨迹段在时间轴上进行细化,并根据系统加速度要求,插入若干速度过渡段,一次性完成插补工作。

      ● 调用位置、姿态和速度逆解模型,对操作空间中的离散点序进行反演,生成各关节空间中的微小进给段。

      ● 将计算结果输送至位置控制模块,通过伺服放大器驱动电机走出希望轨迹。

    直接补插原理示意图

    4 基于RTLinux的数控软件数控系统设计

      RTLinux 系统提供了抢占式多任务调度机制,并将系统分为实时域和非实时域两部分,实时性要求较低的任务可置于非实时域中运行,实时性要求较高的任务置于实时域中运行。而RTLinux 实现多任务调度主要通过两种方式:多进程和多线程。进程拥有自己独立的运行环境(寄存器和地址空间等),而线程是一个进程中的一个执行分支,各线程从属于同一进程,共享同一地址空间。RTLinux 系统允许多个线程并行执行,并采用CPU 的时间分片和基于优先级的调度策略实现多线程调度,因而大大提高了系统和程序的运行性能。

      在本系统中,利用RTLinux提供的多线程技术,通过为数控系统每个任务创建一个线程,由系统对各线程的运行进行协调切换,很好地解决了系统实时多任务调度问题。按实时性要求将数控系统的操作任务进行了划分。

      (1) 总体控制任务:作为系统调度的核心,对各任务模块进行统一的管理,协调各任务的高效运行。该任务放在RTLinux 系统的非实时域内运行。

      (2) 人机界面管理任务:根据用户的操作或总体控制任务发来的信息在屏幕上完成相应的坐标显示、状态显示、轨迹仿真、菜单和对话框显示、程序编辑、参数设定、文件管理等子任务。这些任务的实时性要求不高,将这些功能模块放在RTLinux 系统的非实时域内运行。

      (3) 轨迹规划任务:接收到系统发出的运行指令后,对运动轨迹进行规划,包括代码解释、刀具补偿、速度过渡、虚实变换等子任务。这些任务对实时性要求较高,因此将这些功能模块放在RTLinux系统的非实时域内运行,并将其优先级设为最高。

      (4) 运动控制任务: 系统完成底层控制的核心单元。包括轨迹插补、主轴控制、实轴伺服控制、I/O控制、状态监控、数据采集几项子任务。这些任务的实时性要求最高,因而将这些功能模块放在RTLinux 系统的实时域内运行。

    系统数控软件结构图

    图2 系统数控软件结构图

      在数控软件设计中,数控系统以上四个主要任务对应系统中的四个进程,每个进程中又由不同线程以实现不同的子任务。系统运行期间,上述四个进程始终处于并行运行状态,人机界面管理、轨迹规划和运动控制进程由总体控制进程统一进行调度,通过消息触发与总体控制进程实现交互,并根据系统的操作需求在进程内部创建和终止相应的线程(子任务)。图2示出了实现数控系统实时多任务调度的数控软件结构图。

      在这种体系结构中,各功能模块间已不是传统的调用与被调用的关系,每一模块都是独立的线程,一经创建,便独立运行于系统中,各线程具有不同的状态属性以及对不同时间、事件的响应策略。这样,系统的四个进程以及进程内部各线程既独立并行运行,又相互协调配合,从而实现了数控系统的各项功能。

    5 结论

      由于并联机床数控系统的轨迹控制与传统机床不同,因此要解决其系统开放性的问题,必须采用NC 内核的开放,全数控软件数控则是实现NC 内核开放的最为有效的途径。本文研究了全数控软件数控系统构造的理论和方法,以高性能PC 为硬件平台,基于RTLinux 操作系统和C 语言为数控软件平台,开发了全数控软件化的并联机床数控系统。

    (审核编辑: 智汇胡妮)

    声明:除特别说明之外,新闻内容及图片均来自网络及各大主流媒体。版权归原作者所有。如认为内容侵权,请联系我们删除。