基于IEC61131
本文通过与传统开放式数控系统概念相对比,提出了基于IEC61131-3的开放式数控系统的概念,然后在综合国外技术的基础上,对其软硬件系统进行了分析总结,最后探讨了开放式数控系统的发展方向。
引 言
从近年来的市场情况来看,尤其是欧洲市场,由于IEC61131标准推广应用,基于IEC61131-3的开放式数控系统已逐渐成为开放式数控系统的主流,有望成为未来开放式数控系统的标准:硬件系统按美国OMAC Packaging Workgroup(OMAC包装工作组,简称OPW)概念分为三种,通过在软件或硬件PLC上运行IEC61131-3语言编制的用户软件来实现运动控制、插补运算、G代码控制等CNC标准功能,同时实现PLC逻辑控制功能。鉴于这种开放式数控系统在技术上的突破主要体现在采用IEC61131-3语言编程实现CNC功能,故称为基于IEC61131-3的开放式数控系统。
1 硬件系统
OPW为美国OMAC Users Group(OMAC用户组)下设的一个工作组,致力于在包装机械行业推广运动控制解决方案,在其《包装机械自动化导则》中确立了一整套数字化运动控制系统的概念。在综合、扩展现有硬件系统结构的基础上,OPW确立了三种硬件系统结构的概念,分别是控制器平台系统结构(Controller-based System Architecture)、PC平台系统结构(PC-based System Architecture)、驱动器平台系统结构(Drive-based System Architecture)。
OMAC虽然设在美国,但是受到欧洲控制系统供应商的广泛支持,西门子、施耐德等多家欧洲厂商是该组织的成员,其中西门子公司严格按照OPW概念推出了Simotion系列运动控制产品,共有Simotion C、Simotion P、Simotion D三种,分别对应上述OPW三种平台。
1.1 控制器平台系统
图1 控制器平台系统结构逻辑连接图
按照OPW概念,图1中所示控制器(Controller)作为控制系统的核心,是一独立硬件实体,可实现逻辑控制与运动控制等功能;HMI是可选件,即使是PC做为HMI的硬件,也只能实现HMI软件功能;分布式I/O及带有数字设定接口的驱动器通过现场总线与控制器相连。
虽然OPW没有明确指出控制器是何种控制器,但这里的控制器实际上是扩展了运动控制功能的PLC,主要因为:采用了与PLC相一致的硬件时钟实现扫描周期与中断等;其逻辑控制与运动控制功能均采用PLC标准编程语言IEC61131-3语言实现。西门子公司虽然未把Simotion C运动控制系统称为PLC,但该产品实际上是在SIMATIC S7系列PLC基础上扩展了运动控制功能,可以直接使用 SIMATIC S7系列 PLC的 I/O 模板及功能模板。从施耐德公司产品上,可以更加明显地了解到这一点,其最初的运动控制产品就是在Modicon Premium系列PLC底板上插接运动控制功能模块,直接在标准PLC上扩展了运动控制功能。
在实际应用中,PLC硬件有两种结构形式,一种是传统结构的PLC硬件系统,其组件全部安装在独立的机架上,另外一种是插入到PC主板中的插槽式PLC硬件系统。西门子Simotion C属于前者,而施耐德Modicon Premium系列PLC有一款Atrium插槽式PLC,PLC的CPU及总线模块集成在一块PC板卡上,插入到PC的PCI总线插槽中,然后通过总线与外置机架上的运动控制功能模块、I/O模块等进行通信。Atrium插槽式PLC 完全独立于PC运行:标准PC机的“重起”命令对插槽式PLC的操作模式不起作用;将PC机关闭后再打开,会导致槽式PLC管理的程序热启动,但是重启动不会丢失应用程序内容;可插接在PC插槽中的 24 V电源允许插槽式PLC独立于PC电源工作。
OPW共推荐了两种现场总线,用于连接控制器与分布式I/O模块及带有数字设定接口驱动器:SERCOS与PROFIBUS总线。实际应用中许多产品中采用了其他方式:可以采用其他现场总线,比如施耐德采用了CANopen总线;对于传统的PLC系统,也可不采用分布式I/O及采用传统的±10V模拟信号与带有模拟设定接口的驱动器相连接。
由于IEC61131-3语言编程工具的发展,控制软件具有硬件无关性、可移植性等开放性特性,给了后起的控制系统供应商甚至机床制造厂家打破传统控制系统供应商市场垄断的机遇。在欧洲市场上,后起的控制系统供应商甚至机床制造厂家就像PC组装厂家一样,购买芯片等硬件元件,独立配置控制器系统,购买专业软件公司的IEC61131-3语言编程工具与软件模块,也可自行编制软件模块,从而打破了西门子公司等传统控制系统供应商的垄断。
1.2 PC平台系统
图2 PC平台系统结构逻辑连接图
按照OPW概念,图2中所示PC作为控制系统的核心,通过运行HMI(可选)、逻辑控制、运动控制等功能软件,可实现HMI、逻辑控制与运动控制等功能;HMI硬件是可选件,一般为PC显示器;分布式I/O模块及带有数字设定接口的驱动器通过现场总线与PC相连;PC机与机床上的分布式I/O及带有数字设定接口的驱动器通过插入到PC机插槽上的总线卡通信联系。
在PC平台上实现I/O等控制功能,首先要通过IEC61131-3语言编程工具,在PC中模拟PLC硬件,也就是以软PLC的方式实现各种控制功能。
PC平台系统结构是最具开放性的硬件平台,这是由于应用软件运行在扩展了实时性能的MS Windows系列操作系统及通用工业PC机之上,控制系统提供商只需潜心于开发工具与软件模块等控制软件即可。PC平台系统产品的竞争力,主要来自于软件,这给了后起的小型专业软件公司打破传统控制系统供应商市场垄断的机遇,这也是开放式控制系统的优越性所在。
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。
图4 功能块状态行为(注:此图为PLCopen在技术
规范《运动控制功能块》Version1.0中的定义。)
PLCopen定义的7种状态为:1)Stand still保持静止;2)Homing回原点;3)Discrete motion断续运动;4)Continous motion连续运动;5)Synchronized同步运动,这就涉及了多轴运动;6)Stopping停止;7)Error stop故障停止。其中,3)、4)、5)为运动状态。
状态之间的转换定义了功能块功能,共有单轴运动控制功能块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基础上二次开发而来。
作者:西部车床,如若转载,请注明出处:https://www.lathe.cc/2022/11/7419.html