李式真
(福州大学 机械工程及自动化学院,福建 福州 350108)
开放式数控系统运动控制可配置的研究
李式真
(福州大学 机械工程及自动化学院,福建 福州 350108)
摘要:采用模块化设计方法进行了开放式数控系统的设计,在PC+可编程I/O卡体系结构及上层软件架构基础上,对数控系统运动控制配置需求进行分析。基于RCS(real-time control system)库,实现了系统命令和状态信息在不同进程间的通信,所设计数控系统可根据不同用户的需求进行运动控制参数的设置,测试结果显示,较好地实现了数控系统运动控制可配置。
关键词:模块化;开放式数控系统;可配置
Research on Motion Control Configuration of Open CNC System
LI Shizhen
(School of Mechanical Engineering and Automation, Fuzhou University, Fuzhou 350108, China)
Abstract:Modular design method is adapted for the design of the open CNC system. The motion control configuration requirements of the CNC system is analyzed based on PC + programmable I/O card architecture and upper-layer software framework. The communication of the system commands and status between different processes are implemented based on RCS (Real-Time Control System) library. The motion control parameters of the CNC system are set according to the different requirements of users. The test results show that the motion control configuration of CNC system is better.
Keywords:modular; open CNC system; configurable
0引言
开放式数控系统应具有可配置性,可配置性使得用户能根据自身需求配置相应的功能,无需进行额外的系统升级或功能开发,能大大提高系统对不同用户的适用性并且降低新系统开发时间[1-2]。运动控制作为机床的核心部分,该部分的可配置为系统可配置的重点,运动控制可配置的研究对开发可配置开放式数控系统具有重要的现实意义和广阔的应用前景。
国外主流数控系统,虽然实现了部分功能开放,但运动控制部分仍为封闭,而且存在可配置性差、开发难度大和成本高等问题。国内研究的数控系统具有一定的可配置性,但运动控制部分仍然不能实现可配置。
文中所研究的开放式数控系统具有低成本、可配置等特点,采用了基于RCS库的通信机制实现数控系统命令和状态的传输,阐述了共享内存缓冲区的建立及系统运动控制配置的方式。
1开放式数控系统的结构
开放式数控系统的结构是实现系统可配置的关键,具体数控功能的设计及其配置都基于其结构框架。合理的结构将能最大限度地提高系统的软硬件性能并能实现系统的可重构、可配置。
1.1数控系统体系结构
考虑到目前PC机的性能有限,提出了PC+可编程I/O卡的体系结构,如图1所示。该体系结构的主要思路是合理地划分PC机承担的数控功能和可编程I/O接口卡承担的数控功能,将数控系统中大部分控制功能由PC机上运行的软件来实现,只有精插补、位置控制、信号转换等小部分实时性强的功能由可编程硬件实现。该体系结构减少了数控系统的硬件规模,消除复杂冗余的硬件电路,不仅能有效地降低系统开发成本,又可以解决PC机用于高速加工、大数据量处理时负担过重的问题。
图1 PC+可编程I/O接口卡开放式数控系统的基本组成
1.2数控系统软件架构
采用Linux操作系统在用户状态下提供的多进程/多线程编程技术来实现数控系统的多任务并行处理,将PC机上的数控系统软件封装为人机界面和任务管理两个进程,如图2所示。用户可通过人机界面进行数控程序编写、系统配置、轨迹仿真和状态监视等,任务管理进程为系统的核心进程,包括任务协调管理模块、运动控制模块和I/O控制模块等。进程之间或者线程之间采用共享内存缓冲区进行命令和状态的读写。
图2 数控系统上层控制软件总体结构
1.3运动控制配置需求分析
运动控制模块主要完成各种曲线、自由曲面等的运动规划和粗插补控制。根据运动控制的需求,定义了以下配置参数:
double trajCycleTime//轨迹插补周期
double VEL_MIN//最小运行速度
double VEL_MAX //最大运行速度
double ACC_MA //算法设定最大加速度
double PERMIT_ACC_MAX //机床许用最大加速度
double JERK//加加速度
int ACCDEC_CURVE //加减速控制算法
double EQUIVALENT_X //X轴脉冲当量
double EQUIVALENT_Y//X轴脉冲当量
double EQUIVALENT_Z //X轴脉冲当量
上述运动控制配置参数为运动控制基本参数,可进行扩展补充。其中加减速控制算法参数中以“0”表示直线加减速算法,“1”表示指数加减速算法,“2”表示S型加减速算法。为了保证机床使用的安全性,用户使用过程中只能对加减速算法进行配置,其他配置则需由机床厂商或者开发者进行。
2通信机制
通信机制是数控系统运行的基本要求,也是实现运动控制的前提条件。考虑开放式数控系统通用性要求,采用了基于RCS(real-time control system, RCS)库的通信机制。RCS库是由NIST(美国国家标准与技术研究院)开发,采用面向对象的方法,用C++类封装代码,将程序抽象化,易于理解和使用的软件库。可从网上免费获取最新的RCS库开放源代码,它支持Linux、Windows等多种操作系统软件平台和跨平台通信[3]。
2.1RCS
通过RCS库提供的通信管理系统CMS(communication management system, CMS)和中性消息语言NML(neutral message language, NML)两个不同层次的通信机制[4],实现了数控系统的命令和状态的传输。利用NML中性消息语言统一定义数控系统的命令和状态数据,并建立NML共享内存缓冲区(命令缓冲区、状态缓冲区)实现进程间或者线程间的数据传输,如图2所示。
2.2建立共享内存缓冲区
缓冲区的创建通过定义NML类的对象来实现[5]。NML类定义为NML(NML_FORMAT_ PTR f_ptr,char* buf,char* proc,char* file),其中,f_ptr是格式化函数的地址,格式化函数是CMS实现不同类型数据传输的函数;buf是所用缓冲区的名字;proc是应用程序进程的名字;file是配置文件名。共享内存的属性信息在配置文件定义,CNC命令通道缓冲区的定义如下:
NML*cncCmdChannel = new NML (cncFormat, "cncCommand", "cncmain", "cncnml");// 命令通道缓冲区
3运动控制配置实现
为了简化配置过程,在系统自动加工界面设置了运动控制参数设置窗口,如图3所示。
对于S型加减速算法,当确定系统最大速度vm,最大加速度am,加加速度J这3个参数就可确定程序段整个运行过程。其中最大速度反映了系统的最大运行能力,最大加速度反映了系统的最大加减速能力,加加速度反映了系统的柔性,该参数与系统柔性成反比,若取大,则冲击大,极限情况下取无穷大,S曲线加减速即退化为直线加减速。若取小,则系统的加减速过程时间长,可以根据系统的需要及性能进行选取。
图3 可配置开放式数控系统
通过对运动控制参数设置窗口的参数进行设置,如表1所示。
表1 运动控制配置测试数据
采用表1的数据分别对图3中的“CNC”字样进行了仿真,得出的插补点数分别为52052、56001、67969,并输出相应的速度曲线,以反映不同的配置对机床运行速度和运行情况的影响,图4,图5,图6中上半部分为速度总体走势图,下半部分为截取其中(0.5~1.5)×103区间的局部视图。
由图4与图5可知,在同样的加加速度下,不同的加减速算法得出的速度曲线不同。S型加减速算法所得出的速度曲线较直线型加减速算法得出的速度曲线平滑,而加加速度的降低,虽然可以使得机床运动更加平滑,但加工速度有所降低,如图5和图6所示。
图4 第一次速度曲线
图5 第二次速度曲线
图6 第三次速度曲线
综上,运动控制参数的设置实现了机床运动控制的可配置,验证了文中运动控制配置方式的有效性。
4结语
系统软硬件功能和模块的合理划分,能提高系统的性能和实现系统的可重构、可配置。在此基础上,针对运动控制配置的需求,通过NML中性消息语言统一定义系统的命令和状态数据,并建立NML共享内存缓冲区,实现了系统命令和状态数据的传输。通过运动控制参数设置窗口提供了良好的人机界面配置环境,实现了数控系统运动控制的可配置。
参考文献:
[1] YuC Z, Wang L F, Li C X and Liu Y H: Int J Adv Manuf Technol [J]. 2006,28(11/12):1129- 1135.
[2] Hu Y,Yu D and Du S H, et al.: Design and Implementation of Reconfigurable CNC System based on Fieldbus[C]. Proc. of the 2008 IEEE International Conference on Information and Automation 2008,(6):794-799.
[3] V.Gazi, M. Moore, K.M. Passino: Real-Time Control System Software for Intelligent System Developmen -t:Experiments and an Educational Program. Proc. of the 1998 IEEE ISIC/CIRA/ISAS Joint Conference, (Gaither- sburg, MD, September 14-17, 1998).
收稿日期:2014-01-13
中图分类号:TP273
文献标志码:A
文章编号:1671-5276(2015)04-0174-03
作者简介:李式真(1991-),男,福建宁德人,硕士研究生,研究方向为精密机械与控制技术数控设计。