创建自定义运动学
重要
开源工具 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[
也是可能的。以此目的,a
和b
必须是参数类型的适当文字。特殊值+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 的任何实例。
提示
有关分步说明,请参阅 自定义运动学 章节。