Skip to main content

创建自定义运动学

重要

开源工具 wkhtmltopdf 需要从功能块中的注释生成运动学文档。但是,此组件不再包含在 CODESYS 版本 3.5 SP15 及更高版本。

您可以从以下位置下载 DLL https://wkhtmltopdf.org/downloads.html.创建一个名为的目录 DocScripting\3.5.xx.x\bin 在安装目录下 CODESYS 并保存文件 wkhtmltox.dll 那里。

注意:由于 wkhtmltox.dll 0.12.6 及更高版本默认不再支持图像,您必须使用 0.12.5 或更低版本。

重要

当使用轴组的运动变换实例时,不能再更改实例的输入。

要更改运动学变换的参数化,您必须尽可能使用配置,或创建多个实例。

创建自定义运动学时,您必须遵守以下事项:

  • 运动学由特殊功能块描述,这些功能块可以存储在库中或 POU 项目的视图。

  • 为了 CODESYS 要在配置器中列出运动学,相关的功能块必须实现 MC_KIN_REF_SM3 接口(部分 SM3_Transformation.library)。

  • 您可以将运动学定义为其他两种运动学的组合。具有连接工具板或工具可能性的运动学也必须实现 ISM位置运动学2 接口。指定工具板或工具的运动学必须实现 ISMToolKinematics2 界面。

    如果你只实施 ISMPositionKinematics / ISMToolKinematics 代替 ISMPositionKinematics2 / ISMToolKinematics2,那么“不可用”的方向可能会被错误地处理。

  • 当您还实现接口时 ISMPositionKinematics_Offset, 可以使用定向模式 Axis.

  • 当 POU 具有 sm_kin_libdoc 属性,功能块中指定的注释在配置器中用作运动学的描述。 “重组文本”格式用于此目的。但是请注意,不支持链接。

  • 设计相关参数(例如臂长和角度)作为功能块的 VAR_INPUT 变量创建。您应该注释这些参数,因为注释在配置器中用作描述。如果参数是数字类型,并且其值范围受到限制,则必须提供 sm_kin_param_range 属性。

    值范围的语法是 [a .. b] 对于闭区间和 ]a .. b[ 对于开放间隔。组合形式 ]a .. b][a .. b[ 也是可能的。以此目的, ab 必须是参数类型的适当文字。特殊值 +inf-inf 对于开区间限制是可能的。例子: [0 .. 1], [1 .. +inf[, ]-inf .. -5].

    参数可以是任何数字类型或 BOOL.参数应具有用作默认值的初始值。您可以使用可选属性指定参数的单位 sm_kin_param_unit (例如:“rad”、“°”、“deg”)。您应该使用单位“u”来表示长度和距离。驱动器的应用和缩放决定了这些单位是“mm”、“cm”还是“m”。

  • 如果功能块没有可用的库文档,则 FB 元素的注释将作为后备选项显示在相应位置。

  • 配置的语言 CODESYS 是 LibDoc 文档的显示语言。如果本地化在该语言中不可用,则使用库的默认语言。

  • 运动学的轴名称由 FB 属性定义 sm_kin_axes.该属性的值是轴名称列表(例如:“A1、A2、A3”)。

  • 使用 FB 属性指定可选图标 sm_kin_icon.该值在表单中指定 <image pool>.<identifier>.图像池是相对于功能块指定的。

  • 如果您创建一个带有旋转轴的自定义运动学功能块(例如, Kin_Scara3_Z_Config),那么您应该对这些轴使用周期概念并实现 ISMKinPeriodHandling 界面。对于旋转轴,只有反向运动变换 (CartesianToAxes) 负责角度的计算。然后 CODESYS SoftMotion 自动将此角度移动到正确的周期。例如,如果变换计算的角度在]-180°、180°] 范围内,则 CODESYS SoftMotion 如果驱动器的软件边界为 0° .. 360°,则将此角度移动到 [0°, 360°[ 范围内。此外,您应该实施 ISMKinematicsWithConfiguration3 界面。这是确保 CP 运动的运动学无任何问题的唯一方法。

    在耦合运动学的位置和方向运动学布局不规则的情况下,您应该实施 ISMCoupledKinematics3 界面。通过这种方式,系统可以检测用于位置或方向运动学的轴是否属于相应的轴编号。

    注意:您应该实施 ISMKinematicWithConfigurations2.CPConnectible 方法,在比较时忽略周期设置。然后 CPConnectible 返回值 TRUE,即使期间设置不同。

所有逆变换都有一个类型的输入 CONFIGDATA 它包含一个字节数组,其中包含有关运动学配置的信息。前向变换具有相应的输出。具有配置的运动学必须实现 ISMKinematicWithConfigurations 界面。这些运动学中的每一个都包含一个功能块,该功能块必须实现 ISMConfigurationData 接口(用于配置数据序列化的函数)。此功能块的名称必须与运动学名称加后缀相同 _config.您可以使用此 FB 修改应用程序中的配置(通过功能块 SMC_SetKinConfiguration 堵塞)。但是,运动学不应包含相应 FB 的任何实例。

提示

有关分步说明,请参阅 自定义运动学 章节。