最新新闻
我要投稿
联系电话:027-87592219/20/21转188
投稿邮箱:tb@e-works.net.cn
您所在的位置:首页 > 智库 > 智能生产

基于IEC611313的开放式数控系统开发

发布时间:2014-08-01 作者:李永生 
关键字:开放式 数控系统 IEC61131 
本文通过与传统开放式数控系统概念相对比,提出了基于IEC61131-3的开放式数控系统的概念,然后在综合国外技术的基础上,对其软硬件系统进行了分析总结,最后探讨了开放式数控系统的发展方向。

  1.3 驱动器平台系统

  按照OPW概念,图3中所示集成了逻辑控制、运动控制软硬件功能的多组驱动器为控制系统的核心,除了驱动器自身的轴控制功能,可实现逻辑控制与运动控制等功能;HMI软硬件及独立的PLC是可选件;分布式I/O模块通过现场总线与驱动器相连。

驱动器平台系统结构逻辑连接图

图3:驱动器平台系统结构逻辑连接图

  这是一种分布式运动控制系统,驱动器实际上是集成了紧凑型控制器的智能驱动器,能独立完成逻辑控制与运动控制功能。从目前把握的资料来看,市场上只有西门子Simotion D一种驱动器平台运动控制产品。

2 软件系统

  基于IEC61131-3的开放式数控系统的开放性主要体现在软件方面。软件系统可分为系统软件、应用软件。系统软件包括实时操纵系统、通讯系统、设备驱动程序等。应用软件包括开发工具、用户程序等。

  2.1 系统软件

  操纵系统的实时性这一题目对于PC平台系统比较突出,这是由于PC上运行的MS Windows系列通用操纵系统原本面向贸易应用,并非面向产业实时控制。西门子公司等控制系统供给商曾对Windows的实时特性进行了测试,证实其存在“死机”、中断延迟等题目,并不具备硬实时特性。控制器平台及驱动器平台系统则不需要PC必须的操纵系统,而是严格按硬件时钟循环调用指令,也就不存在操纵系统的实时性这一题目。

  解决操纵系统的实时性题目,目前应用最广的办法是为Windows扩展实时特性。美国Ardence(原VenturCom)公司RTX(Real-time Extension for Windows),是内置于Windows的实时操纵系统。RTX线程运行时,Windows的中断被屏蔽,但Windows不能屏蔽RTX治理的中断,Windows成为一个受RTX治理的任务,其优先级最低。RTX可以保证任意线程的最差响应时间为50us。德国3S(Smart Software Solution)公司CoDeSys SP RTE(Real Time Extension),同样是内置于Windows的实时操纵系统,由PC主板上的硬件时钟周期性调用,然后由RTE每毫秒产生两个硬件中断,一个用于执行CoDeSys任务,另一个用于执行Windows任务。1毫秒为默认时钟周期,可以更改,最短为50us,用于两个中断的时间比例也是可以设置的。也就是说,RTE把一个时钟周期分时用于CoDeSys任务与Windows任务,二者互不干扰。

  目前通用数控系统的插补周期一般为1ms或1ms以下,以上两种Windows的实时扩展,均保证了Windows应用于数控系统的实时特性。

  2.2 应用软件

  应用软件包括开发工具与用户程序。PC平台系统中的PC既可以运行开发工具,也可以运行用户程序,而控制器平台与驱动器平台系统自身可以运行用户程序,可以另接PC运行开发工具。

  2.2.1 开发工具

  随着IEC61131标准的推广,涌现出很多符合这一标准的开发工具,如3S公司的CoDeSyS,Infoteam公司的OpenPCS等。IEC61131是国际电工委员会颁布的PLC国际标准,规定了二大类编程语言:文本化编程语言和图形化编程语言。前者包括指令清单语言(IL)和结构化文本语言(ST),后者包括梯形图语言(LD)、功能块图语言(FBD)和顺序功能图(SFC)。这些语言,最初是用于编制PLC逻辑控制程序的,但是由于PLCopen国际组织及专业化软件公司的努力,也可以用来编制运动控制与插补运算程序。

  IEC61131编程语言是工控编程语言,与C语言等高级编程语言相比,在数据结构、程序结构、指令等方面相似(主要指的是ST语言),但是大幅简化,更易于自动化工程师把握,使得用户能够自行编制运动控制与插补运算程序,自行定义数控代码,这样具有了高度的开放性。

  由于采用了适应自动控制要求的国际标准语言IEC61131-3语言,基于IEC61131-3的开放式数控系统有着高度的开放性与强大的生命力。

  2.2.2 用户程序

  用户程序指的是由IEC61131-3语言编制的实现逻辑控制、运动控制、插补运算功能的PLC程序,可以解读并执行G代码编制的数控加工程序。对于结构化的用户程序,最重要的是软件模块。由于基于IEC61131-3控制系统的开放性,软件模块可以由控制系统供给商编制,也可由用户编制,其使用对用户开放。对于开放式系统所要求的互换性、可移植性、硬件无关性等来说,主要体现在软件模块的互换性、可移植性、硬件无关性,这就产生了软件模块标准化的需求。

  PLCopen国际组织致力于推广IEC61131-3语言的应用,其成员包括了世界主流控制系统供给商,上文中提到的西门子、施耐德、3S、Infoteam等公司均是其成员。作为一个国际组织,PLCopen与其成员西门子、施耐德等公司又同是美国OMAC组织的成员,在制定《包装机械自动化导则》工作中发挥了重要作用。实际上,由于PLCopen专注于IEC61131-3语言的推广,主要侧重于软件方面,它在硬件平台、机械结构等方面的设想体现在OPW的《包装机械自动化导则》中。

  PLCopen国际组织在其技术规范《运动控制功能块》中制定了一整套标准的运动控制功能块。为了实现标准化,PLCopen分析定义了7种机床状态,机床的运动轴总是处于所定义的一种状态之下,运动命令使轴在这些状态之间相互转换,一根轴的运动命令总是顺序执行的。具体的状态、状态间的转换及功能块定义见图4。

  PLCopen定义的7种状态为:1)Stand still保持静止;2)Homing回原点;3)Discrete motion断续运动;4)Continous motion连续运动;5)Synchronized同步运动,这就涉及了多轴运动;6)Stopping停止;7)Error stop故障停止。其中,3)、4)、5)为运动状态。

功能块状态行为

  图4:功能块状态行为
注:此图为PLCopen在技术规范《运动控制功能块》Version1.0中的定义。

    状态之间的转换定义了功能块功能,共有单轴运动控制功能块MC_MoveAbsolute等10种,多轴运动控制功能块CamIn等5种,另有信息传递功能块MC_ReadStatus等10种,调用这有限的25种功能模块进行编程,就可实现机床的运动控制。

  机床设备生产厂家可向3S、Infoteam等专业软件公司购买开发工具与运动控制功能块,选择一种控制系统硬件平台,根据设备的工作原理编制PLC程序,自行定义G代码、编制代码程序,以多重选择语句CASE……OF……调用代码程序的方式实现CNC控制,这在欧洲机床行业较为普遍。

  PLCopen在技术规范《运动控制功能块》中为插补运算专设一部分,但是这一部分仍在建设中,至今没有公布任何标准性文件。另外,PLCopen并未在其技术规范中引进G代码,如需G代码控制,仍需用户自行定义编制。但是,PLCopen的某些成员,比如德国3S公司、Beckhoff公司,已经在用IEC61131-3语言实现插补运算与标准G代码控制方面取得了进展,推出了相应的产品。

  现以德国3S(Smart Software Solution)公司CoDeSys Version2.3.7.2为例扼要先容。CoDeSys中有一个可选组件Softmotion用于实现标准G代码控制。除了总线、驱动器等硬件的驱动程序,所有组件均用IEC61131-3语言编制,适用于PC平台系统结构。目前能实现包括主轴在内的9轴控制,其中两轴用于非线性插补,其他轴为线性插补。在CNC程序编辑器中能同时以图形与文本的形式编制G代码程序,编程语言遵循DIN66025标准。

  为了实现标准CNC代码控制需应用多种功能模块,其中插补模块、转换模块、直接设置点输进模块这三种模块对理解CNC代码控制的实现过程较为关键。插补模块对G代码程序进行处理,把G代码所描述的连续轨迹转变成离散的路径位置点,然后由转换模块把这些位置点分解为每一个轴上的座标点,再由直接设置点输进模块分别控制每一个轴的驱动器,实现目标轨迹。插补模块有两个,SMC_Interpolator和SMC_Interpolator2D,除了后者能实现正、反两方向的插补运算,二者功能相同。目前转换模块有六种,根据机床运动学原理进行分类,分为龙门系统(Portal Systems)、带有刀具偏置的龙门系统(Portal Systems with Tool Offset)、带有静态驱动器的H型龙门系统(H- Portal Systems with Stationary drives)、2关节平面关节机器人系统(2-Jointed Scara-Systems)、3关节平面关节机器人系统(3-Jointed Scara-Systems)、并联运动系统(Parallel Kinematics),每种又分正、反方向转换的模块。直接设置点输进模块通过驱动器制造商提供的驱动器驱动程序通讯,实现对驱动器的控制,根据控制原理的不同,可以分为按位置控制、按速度控制、按力矩控制三种。

3 结论

  综上所述,由于基于IEC61131-3的开放式数控系统采用了PLC标准编程语言IEC61131-3语言,具有了高度的开放性,尤其在硬件系统及运动控制功能块方面形成了标准,使得其推广应用远景光明。但是在插补运算方面,尚未形成标准,这将是未来发展所需解决的题目。

  我国数控行业可以鉴戒国外同行业开发新产品的经验。开放式数控系统的发展方向在软件。目前,可从控制器平台着手,购置芯片等硬件配置控制器,使用专业化软件公司提供的开发工具;然后再以这些开发工具为基础进行二次开发,终极研发出自己的基于IEC61131-3的开放式数控系统开发工具。实际上,国外某些著名控制系统供给商都在这样做,比如施耐德公司2007年推出的最新运动控制产品Lexium PAC,硬件结构属于控制器平台,开发工具即采用了3S公司的CoDeSys;西门子公司Simotion系列运动产品采用的开发工具Scout即是在Infoteam公司的OpenPCS基础上二次开发而来。

2