您当前的位置:五五电子网电子知识plc技术规程标准基于IEC61131-3的开放式数控系统 正文
基于IEC61131-3的开放式数控系统

基于IEC61131-3的开放式数控系统

点击数:7905 次   录入时间:03-04 11:51:55   整理:http://www.55dianzi.com   规程标准

    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。
基于IEC61131-3的开放式数控系统
图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基础上二次开发而来。
来源:http://www.hqew.com/tech/news/351978.html

上一页  [1] [2] 


本文关键字:数控  规程标准plc技术 - 规程标准