数控系统的操作系统平台选择必须满足控制系统的实时性要求,而且在相当程度上决定了数控系统的开放程度。从数控技术的发展来看,基于实时操作系统的开放式数控系统已成为必然的趋势。
RT-Linux是基于Linux系统并可运行于多种硬件平台的32位硬实时操作系统(Hard real-timeoperating system)。它继承了MERT系统的设计思想,即以通用操作系统为基础,在同一操作系统中既提供严格意义上的实时服务,又提供所有的标准P()SIX服务。RT-Linux源代码公开,易于修改,使系统成本降低,源代码的公开使数控系统的开发摆脱了对国外软件公司的依赖,有利于提高数控软件国产化程度。
现介绍一种基于PC机+FireWire (IEEE1394)光纤通信接口卡+FireWire (IEEE1394)光纤信号转接模块+通用伺服驱动器或者I/O模块的硬件结构的软件伺服数控系统。重点介绍根据此模型开发的基于RT-Linux的数控系统嵌人式PI_C及其实现方法。
1 数控系统的硬件结构
系统硬件建立在通用工业PC的开放体系之上,包括工控机及其外围设备,控制信息输人/输出接口,伺服驱动器设备。工控机采用RedHatLinux8.0+RTLinux3. 1操作系统,数控系统的人机界面、数控代码处理、数控插补、位置伺服控制、位置控制指令平滑处理、运动控制补偿以及PLC控制都通过工控机由软件来实现,系统不需要运动控制卡,只需要1块控制信息输入/输出接口卡(光纤通讯适配卡),这样大大减少了数控系统对硬件的依赖,有利于提高系统的开放性。
系统的位置控制信息、位置反馈信息、I/O输人输出信息通过光纤实现主机与伺服接口模块和I/O接口模块之间的信息交换,光纤通讯基于IEEE1394协议。这种信息传输方式,简化了数控系统的接引线,提高了数控系统的可靠性,也使得系统的维护更为方便。数控系统硬件结构如图1所示。
2 数控系统的软件结构
开放的系统硬件接口使用户可根据需要自由选用通用的工业PC作为控制系统的硬件平台。但是,数控系统的多任务特性和实时性要求却限制了通用操作系统如DOS, Windows等在数控系统中的应用。近年来,RT-Linux以其优异的性能引起了越来越多的关注,并在实时控制领域得到了成功的应用。
2.1 RT-Linux的体系结构
RT-Linux是基于Linux系统并可运行于多种硬件平台的多任务实时操作系统。通过修改Linux内核的硬件层,采用中断仿真技术,在内核和硬件之间实现了一个小而高效的实时内核,并在实时内核的基础上形成了小型的实时系统,而Linux内核仅作为实时系统最低优先级的任务运行。
RT-Linux按实时性不同分为实时域和非实时域。实时内核由一个核心部分和多个可选部分组成,核心部分只负责高速中断处理,支持SMP操作且不会被底层同步或中断例程延迟或重人。其他功能则由可动态加载的模块扩充。而不影响系统实时性的操作(即非实时域的操作)RT-Linux均留给非实时的Linux系统完成。
2.2 基于RT-Linux的数控系统软件结构
按照数控系统的层次划分,数控系统的软件分为应用单元和控制单元两大部分,其中应用单元向用户提供了1个应用软件环境和1组标准的系统功能函数,包括操作界面、数据管理。而控制单元相当于1个高效的NC-PLC内核,完成基本的数控功能,包括译码、数学预处理、速度控制、插补、I/O处理、实时状态监控等。