admin 发表于 2017-11-8 14:11:37

CODESYS SoftMotion组件化的概念

CODESYS SoftMotion能够使用户高效地实现运动控制而无需了解其繁琐的底层细节:从简单的单轴运动或电子凸轮到多维的复杂运动控制。主要的应用不仅可集中在运动功能特性,而且还集中在序列和过程控制以及相关的功能,使得运动控制应用与CODESYS开发环境融为一体。程序逻辑完全由PLC程序处理完成,其中纯粹的运动控制则由调用库函数执行。   CODESYS SoftMotion 是一个软件工具包,它是运动控制器开发及实时的运行环境。除了包含CODESYS和CODESYS Control的标准特性外,其还包含了运动控制器所特有的部分:
§ 驱动配置
§ 该配置提供了一个编辑器用来导入的结构和驱动-硬件配置到CODESYS用户界面中。因此,驱动界面库中的函数将会创建IEC数据结构作为该驱动的抽象表示。例如,IEC程序员不需要做任何的额外工作,驱动界面都会自动地驱动器设备进行通讯,并且能处理该驱动器数据结构及完成传输更新数据。为了控制驱动器,IEC程序可以有两种方式访问其抽象的数据结构,通过使用SoftMotion库块(SM3_Basic.library,SM3_CNC.library),或者通过使用由IEC程序员为此目的而创建的模块。由此,目标值会被周期性地输出;这就意味着,在每个IEC任务中会在每次循环中都计算一次目标值(如位置,速度,加速度等),并将目标值从驱动界面传输给驱动器。去“教会”驱动(例如只给定一个最终位置,驱动将会主动地运动并报告它的到达)是不可能的。原因是当一个指令被执行时,中央控制器对于驱动是没有任何影响的。因此,它不太可能实现例如对多轴的协调动作控制。


§ 电子凸轮编辑器是一个独立的 CoDeSys 插件,其可以被集成到程序界面内。电子凸轮被用来控制多个驱动轴。在该编辑器内,一个电子凸轮可以通过图形或表格的方式来实现。至此,一个包含对象描述的全局数据结构实例将会被隐含创建,并且被发送至该应用,在此处,它可以通过一个对应的 POU 来访问。§ CNC 编辑器是一个独立的 CoDeSys 插件。它支持多维运动的编程,其可以通过与驱动-硬件相连接的驱动界面进行调度和控制。该编辑器工作类似于 CNC 语言DIN66025,是由一个图形编辑器和一个与之同步的文本编辑器构成。基本上,其可以实现 9 维运动,但这里只能实现 2 维的非线性插补。因此,在 2 维系统内,直线、圆弧、平行线、椭圆及样条曲线都可以被编程,而另外维度方向上则只能实现线性插补。对于每个已经设计好了的轨迹,CoDeSys 都会自动地为其创建一个数据结构,其可以在 IEC 编程时使用。

§ 库 SM3_Basic.library 是一个基本元素,其必须被包含在 SoftMotion 应用中。由以下元素组成:PLCopen 功能块依照 PLCopen 标准,可以简单地实现一个单轴运动的控制,也可以使得两个轴的同步运动。除了库元素状态检测、参数化及一般操作外,还有些功能块用来设定轴相关的速度定义及加速度参数等。如果两个轴需要同步,一个轴做为主轴并按照一定的规则控制第二个轴(从轴)。这个规则既可以是一个使用相关 POU 的电子凸轮,使从轴连接到主轴。此外, 有些功能块支持电子齿轮功能和相位移动功能。 几个特有的运动控制功能块。 驱动界面基本驱动器功能块 (AXIS_REF, AXIS_REF_VIRTUAL, AXIS_REF_MAPPING) 通用功能:例如文件复位或错误报告 实现特殊功能驱动器的功能块:基本功能块可以被更多的特殊驱动器扩展, 其可以与一个特定的驱动类型进行通讯。
§ 库 SM3_CNC.library 基于 SM3_Basic.library。除了一些功能块用于运动学的转换外,它还提供所有 POU 所必需的创建、执行以及可视化的 CNC 运动。
§ 驱动界面是 SM3_Basic.library 库的一部分,其负责 IEC 程序与驱动之间的通讯。它还为扩展基本驱动功能块到特殊驱动器类型提供了可能性。这些特殊驱动功能块(以 AXIS_REF_*命名)被特意地组合为一个分离的库,该库可以做为相关设备的设备描述参考。还有,驱动界面包括总线特定的库,其用来处理 I/O 映射。
   可移植性:除了这些直接复位硬件元件的驱动器外,所有的 SoftMotion 实时组件可以用IEC61131-3 编程。因此,其有很好的平台可移植性。
               
页: [1]
查看完整版本: CODESYS SoftMotion组件化的概念