单位换算
当您要为其他单位制调整数据时,您可以定义转换规则。该数据针对特定的数量级和测量单位执行。
您在 单位换算 目的。 CODESYS 自动将每个转换规则实现为功能块 <name>_Impl
并将其实例为 <name>
.每个转换规则都有 Convert
和 Reverse
方法。因此,您可以照常使用功能块。在您访问变量的位置,您可以将变量链接到转换规则。输入助手在 功能块 和 实例调用 类别。执行后,结果为根据转换规则转换后的值。
在可视化中,在元素属性中配置的 IEC 变量也可以链接到转换规则。
定义单位转换
双击一个 单位换算 设备树中的对象。
相应的编辑器打开。它包含一个已定义转换规则的表。您在中编辑规则 类型设置 和相应的条件 条件设定.
双击 添加新条目 字段并输入名称。
CODESYS 实现
<name>_Impl
功能块并将其实例化为<name>
.双击 类型 字段并单击列表框中的类型。
输入字段显示在表格下方,用于编辑转换规则。输入字段因所选类型而异。
更改输入字段中的转换规则。
更改显示在 环境 表的类别。
双击 健康)状况 字段并单击列表框中的条件类型。
输入字段显示在下方 条件设定 表的类别以编辑条件。输入字段因所选类型而异。
编辑条件。
更改显示在 条件设定 表的类别。
定义可切换单位转换
您可以定义将哪个转换规则应用于特定语言或条件。
双击一个 单位换算 设备树中的对象。
相应的编辑器打开。它包含一个带有预定义转换规则的表。
点击 添加新条目 字段并输入名称。
例子:
Conv_A_LanguageDependent
双击 类型 字段并单击 可切换转换.双击 健康)状况 字段并单击 语言.
在主表下方, 可切换转换 表显示为 条件设定.
在里面 可切换转换 表中,双击列表框中的预定义转换规则 可切换的转换名称 列,例如
Conv_AInInch
.在 条件设定, 在 对于条件“语言” 输入字段,例如
en
.CODESYS 执行
Conv_AInInch
仅当可视化管理器中设置的语言为 zh .在里面 可切换转换 表中,双击列表框中的预定义转换规则 可切换的转换名称 列,例如
Conv_AInMM
.在 条件设定, 单击 对于条件“语言” 输入字段,例如
de
.CODESYS 执行
Conv_AInMM
仅当可视化管理器中设置的语言为 德.应用
Conv_A_LanguageDependent
应用程序或可视化中的转换规则。如果可视化中设置的语言是英语,那么应用可视化应用
Conv_AInInch
转换规则。如果可视化中设置的语言是德语,则应用程序可视化应用Conv_AInMM
转换规则。当前的可视化语言位于VisuElems.CurrentLanguage
多变的。
应用转换规则
向访问 IEC 变量的对象添加转换规则。
在设备树中,双击访问 IEC 变量的对象,以便将 IEC 变量链接到该位置的转换规则。
为IEC变量的转换结果声明一个变量。
ST中的代码示例:
rConvertedA : REAL;
应用反向转换规则
Convert
方法,然后将结果分配给变量。使用输入助手。将 IEC 变量链接到转换规则的 ST 示例代码:
rConvertedA := ConvRule_A.Convert(rA);
应用反向转换规则
在设备树中,双击访问 IEC 变量的对象。
为转换规则的结果声明一个变量。
ST中的代码示例:
rReverseA: REAL;
应用反向转换规则
Reverse
方法,然后将结果分配给变量。rReverseA := ConvRule_A.Reverse(rConvertedA);
示例
要求:转换规则是Conv_XtoY
。
PROGRAM A_PRG VAR rA : REAL; rConvertedA : REAL; rReverseToA : REAL; END_VAR rConvertedA := Conv_XtoY.Convert(rA); rReverseToA := Conv_XtoY.Reverse(rConvertedA);
在CFC编辑器中,通过块定义转换规则的实例名称。在块中选择方法。


使用单位转换配置变量赋值
您可以将已在可视化中分配的变量链接到单位转换。这具有根据预定义规则转换变量值并在可视化中处理结果的效果。
您已经在编辑器中定义了转换规则 单位换算.
将变量与单位转换联系起来
要求:具有可视化的项目已打开。此外,该应用程序包含 UnitConversion
对象与 convert_A
规则。
选择一个元素。
这 特性 视图打开。
在变量赋值中,链接
iVar_A
变量到单位转换规则:convert_A.convert(iVar_A)
编译、下载并启动应用程序。
应用程序运行。可视化打开。应用单位转换。