SoftMotion 基于组件的架构和概念

SoftMotion可以实现用户 简单操作达到运动控制的目的,而不需要用户确切的知道每个轴具体是怎么进行控制的,包含简单的单轴运动以及复杂的多轴电子齿轮运动。 许多应用不仅包含运动控制功能而且还包含过程控制以及复杂的多轴运动控制,所有的应用都是基于CODESYS产品的SoftMotion 平台进行的。所有的逻辑程序控制是由PLC程序实现的,更多的运动控制信息包含在运动控制库中。

CODESYS SoftMotion 是一个用于运动控制器的开发和运行环境。除了CODESYS和CODESYS的标准工程外,运动控制控制器包含以下工具包:

  • 驱动器配置在CODESYS的用户接口中为用户提供了一个硬件配置环境和结构。 。因此,驱动界面库中的函数将会创建 IEC 数据结构作为该驱动的抽象表示。例 如,IEC 程序员不需要做任何的额外工作,驱动界面都会自动地与驱动器设备进行 通讯,并且能处理该驱动器数据结构及完成传输更新数据。
    为了控制驱动器,IEC 程序可以有两种方式访问其抽象的数据结构,通过使用SoftMotion函数库( “SM3_Basic”, “SM3_CNC”),或者通过使用由 IEC 程序员为此目的而创建的模块。由此,目标值会被周期性地输出;这就意味着,在每个 IEC 任务中会在每次循环中都计算一次目标值(如位置,速度,加速度等),并将目标值从驱动界面传输给驱动器。
    去“教会”驱动(例如只给定一个最终位置,驱动将会主动 地运动并报告它的到达)是不可能的。原因是当一个指令被执行时,中央控制器对 于驱动是没有任何影响的。因此,它不太可能实现例如对多轴的协调动作控制。
  • Cam 编辑器是CODESYS 编程系统中独立的一个用户插件,,其可以被集成到程序界面内。电子 凸轮被用来控制多个驱动轴。在该编辑器内,一个电子凸轮可以通过图形或表格的 方式来实现。至此,一个包含对象描述的全局数据结构实例将会被隐含创建,并且 被发送至该应用,在此处,它可以通过一个对应的 POU 来访问。
  • CNC 编辑器是一个独立的CODESYS插件。它支持多维运动的编程,其可以通过 与驱动-硬件相连接的驱动界面进行调度和控制。该编辑器工作类似于 CNC 语言 DIN66025,是由一个图形编辑器和一个与之同步的文本编辑器构成。基本上,其可 以实现 9 维运动,但这里只能实现 2 维的非线性插补。因此,在 2 维系统内,直线、 圆弧、平行线、椭圆及样条曲线都可以被编程,而另外维度方向上则只能实现线性 插补。对于每个已经设计好了的轨迹,CODESYS 都会自动地为其创建一个数据结 构,其可以在 IEC 编程时使用。
  • SM3_Basic是一个基本元素,其必须被包含在SoftMotion应用中。 由以下元素组成:
    • PLCopen 功能块依照 PLCopen 标准,可以简单地实现一个单轴运动的控 制,也可以使得两个轴的同步运动。除了库元素状态检测、参数化及一般操 作外,还有些功能块用来设定轴相关的速度定义及加速度参数等。如果两个 轴需要同步,一个轴做为主轴并按照一定的规则控制第二个轴(从轴)。这 个规则既可以是一个使用相关 POU 的电子凸轮,使从轴连接到主轴。此外, 有些功能块支持电子齿轮功能和相位移动功能。
    • 几个特有的运动控制功能块。
    • 驱动界面基本驱动器功能块 “AXIS_REF_SM3”, AXIS_REF_VIRTUAL, AXIS_REF_MAPPING
    • 通用功能:例如文件复位或错误报告
    • 实现特殊功能驱动器的功能块:基本功能块可以被更多的特殊驱动器扩展, 其可以与一个特定的驱动类型进行通讯。
  • SM3_CNC 基于 SM3_Basic.library。除了一些功能块用于运动学的转 换外,它还提供所有 POU 所必需的创建、执行以及可视化的 CNC 运动。
  • 驱动界面是 SM3_Basic.library 库的一部分,其负责 IEC 程序与驱动之间的通讯。 它还为扩展基本驱动功能块到特殊驱动器类型提供了可能性。这些特殊驱动功能块 (以 AXIS_REF_*命名)被特意地组合为一个分离的库,该库可以做为相关设备的 设备描述参考。还有,驱动界面包括总线特定的库,其用来处理 I/O 映射。

参考相关文档 “应用程序示例 ”

可移植性

:除了这些直接复位硬件元件的驱动器外,所有的SoftMotion实时组件可以用 IEC61131-3 编程。因此,其有很好的平台可移植性。

“通讯设置”“应用”表格包含‘设备通讯编辑器’与PLC之间进行通讯。