开放式数控技术中层次化体系结构和二次开发平台的研究
数控系统正朝向开放结构和模块化方向发展,但当前的研究模式都集中在PC机模式的运动控制层面,其在实时性、可靠性和经济性方面的问题,使得其尚未能在企业实用领域取得突破。本文针对PC数控开放结构的不足,提出以嵌入式微控制器构建开放结构数控系统,并实现采用层次化软硬件体系结构和引导型二次开发平台的技术。
1研究背景
现在国内外关于开放式控制系统的研究和示范应用都着眼于PC机的软硬件开发,其实质就是PC机在I/0接口和人机交互界面上的一个专门应用(参见图1),在结构和性能上都存在很大局限性:首先,没有定义独立的适合于数控加工控制的开放结构,所具备的开放性都是计算机本身固有的开放特征,不是针对于数控加工特点来定义的,这种借鉴方式的代价就是要完全依赖于计算机的结构体系框架,PC计算机作为一个通用平台无论从底层硬件设计和操作系统环境上都没有对数控加工特殊性的考虑,因此不能很好的从根本上搭建数控平台。其次,工控机模式的开放式数控系统不能很好的保证实时性和可靠性。PC计算机在运行时由于采用通用的操作系统,占用了很大的系统资源,与数控加工无关的任务可能占去了
更多系统的工作份额,他们干扰着系统对现场加工的及时响应,降低了系统对重要控制事件的处理速度,增加了系统运行的开销,这些都会导致系统的不稳定。第三点,工控机模式数控系统的成本太高。一台能满足数控加工速度要求的计算机至少需要投资数千元再配上运动控制卡,使得成本很难降低。而一块嵌入式微处理器才不过一百多元,所采用可编程器件的芯片也不过在百元左右,再加上所采用的实时操作系统是免费开放源代码的,不会有软件版权使用上的额外开销,这些都使得成本有了很大程度的降低。确保了申请专利具有很好的性能价格比。第四点,当前工控机模式的开放式数控系统的网络功能是基于计算机网络的,这种网络由于没有考虑到数控加工和状态监测对大流量信号数据流的传输要求,因此从速度上就限制了系统的远程网络应用能力,基本上只适用于系统间的程序传输。
另外,NC+PC模式的数控系统基本上不提供什么二次开发环境,只提供一些接口和参数的重新配置和定义功能,还有一些提供了PLC的编程功能和相应的编程工具,但这也只是对开关量的简单配置。PC机模式的开放数控产品,一方面通过板卡上增减接口数来实现控制轴数和通道数的改变,另一方面通过将自己构建系统软件的函数库以封装的形式提供给用户来实现用户自己动手配置系统控制的目的。但是,这种形式的开放无疑提高了对用户二次开发的能力要求,开放没有针对性,开放形式不友好,可操作性差。
本文正是基于上述问题,着眼于开放结构体系的层次化构建,状态监测的网络激活机制和二次开发平台的智能化三个方面开展对全新结构开放数控系统的研究。
2开放结构的层次化
层次化思想的设计目标是方便的实现系统的可扩展性和可配置性,这是判断一个系统开放性特征的两个重要指标。可扩展性是指系统可以灵活地增加硬件控制接口来实现功能的拓展和性能的提高;可配置性是指在不增加硬件结构的前提下,利用现有的底层结构模块,通过配置和编译控制软件来实现系统的自定义。层次化体系结构以模块化思想为核心,但又区别于一般的模块化结构方法。层次化不仅考虑系统各组件之间的功能性特征,更要考虑组件之间的在整个结构体系中的所处控制环节的作用和地位,明确组件之间的继承衍生关系,并且实际上通过定义这种继承性和衍生性来作为划分系统组件要素的一个标准,而不是单纯靠功能标准来规划系统的各个要素及其之间的关系。层次化不仅作为一种系统框架设计的思想,它可用于系统内部结构和外部结构的所有层面,当组件按照所需功能和性能要求被逐层细分时,同样的衍生继承关系和层次标准应用于组件中的每一个亚结构。
如图2所示,层次化的数控系统具备一个基本的0层,它包括系统基本控制功能所需的所有组件以及满足一般功能扩展必需的软硬件接口,0层作为系统的核心结构必须具备良好的对内和对外接口,对内部既要保证组件之间相互通讯和访问的畅通,又要保证内部结构的细节屏蔽,实现整个系统保持稳定性和安全性。0层以上的附加层建立在0层的扩展接口上,通过补充硬件和开放软件接口来扩展系统的功能和提升控制的性能。
附加层分为两种:补充扩展和平行扩展。补充扩展是在原有组件的基础上通过开放新的接口配置不同的控制软件形式来实现系统的功能扩展;平行扩展是完全增加一个同等结构的功能组件,来实现系统一种特殊的控制要求或开辟一个新的控制通道。区分这两种扩展方式意义在于:充分利用两种不同继承形式,即结构性继承和接口性继承。附加扩展遵循接口性继承,以功能点的形式嵌入到系统组件的接口层面,这一特征可以方便地将对个别功能的扩展要求的实现形式标准化,满足用户随时出现的自定义需求。平行扩展遵循结构性继承,以功能组整体的形式复制一个全新的功能通道,与原有层次形成平行的控制方案,这一特征可以将开放结构的整体性扩展运动控制模块是数控系统的核心组件,基于开放结构的运动控制组件必须具备平行扩展和附加扩展两种接口形式(见图3)。平行扩展用于控制轴数的扩充,在基本三轴控制的基础上,衍生出具备同种功能特性的四轴和五轴组件;附加扩展用于特殊功能的附加,是对用户开放的自定义功能实现接口,基本组件和由平行扩展衍生出的组件都具备同等的附加扩展接口。图三展示了一个基本三轴运动控制组件平行扩展为四轴和五轴运动控制组件,每个运动组件附加扩展了复杂曲线插补,位置误差补偿和振动状态监测三个特殊功能。
3二次开发平台的智能化引导机制
如图5所示的二次开发平台模型,我们采用一种引导开发的模式,借助于预先定义的各种信息库,将使用特殊语言描述的用户功能要求转换成信息库中特定策略的组合,然后通过与数控系统微控制核心相匹配的代码编译器,将策略描述翻译并通过计算机的并口经由下载电缆传送至数控系统的仿真开发接口。数控系统内部存在一个与之相对应的仿真开发专门存储区,用于用户订制功能代码的在线校验,该存储区与正常数控程序存储区相互屏蔽,保证二次开发的安全性,并通过校验策略和评价机制返回二次开发的性能指标。
二次开发环境包括语言描述和引导设置两种开发方式:语言描述方式采用结构化的功能机制,预先定义出系统扩展的算法结构,用户只需根据算法的提示加入自己的功能要求的描述。二次开发平台提供独立的结构化描述语言(如图6所示语法结构),采用面向对象的编程思想,以功能对象群组的构成方式来完整描述数控组件对象的特定工作状态。语言描述方案,可以通过灵活定义的算法规范深入系统内部的软件构成细节,适用于系统底层策略方案的自定义配置。引导设置采用开发向导的形式(如图7所示开发界面)以图形话询问界面来定制用户的扩展需求,一般用于较为简单的扩展开发。这两种机制结合起来,也构成了二次开发的层次化结构。
4结论
采用层次化结构方案和微控制核心构建的开放式数控系统在体系结构上是一种全新的突破,层次化的思想渗透于整个系统的每个组件要素,以及引导型的智能化二次开发策略。层次化的构成框架将对数控系统的开发,使用和维护简单的联系起来,真正在数控设备的整个生命周期实现开放。
本文为e-works原创投稿文章,未经e-works书面许可,任何人不得复制、转载、摘编等任何方式进行使用。如已是e-works授权合作伙伴,应在授权范围内使用。e-works内容合作伙伴申请热线:editor@e-works.net.cn tel:027-87592219/20/21。