# 单位转换

您要转换另一个单位制的数据时，可以定义一个转换规则。以特定的数量级和度量单位执行此数据。

转换规则在单位转换对象中定义。MetaFacture自动将每个转换规则实现为功能块_Impl，并将其实例化为。每个转换规则包括用作功能块的Convert和Reverse方法。您可以在访问变量的位置将变量链接到转换规则。输入助手在功能块和实例调用类别中提供转换规则。执行后，结果是根据转换规则的转换值。

在可视化中，在元素属性中配置的IEC变量也可以链接到转换规则。

### 定义单位转换​

1.双击设备树中的单位转换对象。
⇒相应的编辑器将打开，其中包含已定义的转换规则的表。您可以在类型设置中编辑规则，并在条件设置中编辑相应的条件。

2.双击添加新条目字段，然后输入名称。⇒MetaFacture实现_Impl功能块并将其实例化为。

3.双击类型字段，然后从下拉列表中单击类型。
⇒输入字段显示在表格下方，用于编辑转换规则。输入字段根据所选类型而有所不同。

4.在输入字段中更改转换规则。⇒所做的更改显示在表的设置类别中。

5.双击条件字段，然后从下拉列表中单击条件类型。
⇒输入字段显示在表的条件设置类别下方，以编辑条件。输入字段根据所选类型而有所不同。

6.编辑条件。⇒更改显示在表的条件设置类别中。

### 定义可转换的单位转换​

您可以定义将哪种转换规则应用于特定的语言或条件。

1.双击设备树中的单位转换对象。
⇒相应的编辑器将打开，其中包含已定义的转换规则的表。

2.双击添加新条目字段，然后输入名称。
⇒例如：Conv_A_LanguageDependent

3.双击类型字段，然后单击可转换转换。双击条件字段，然后单击语言。
⇒在主表下方，显示带有条件设置的可切换转换表。

4.在可转换转换表中，从可转换转换名称列的下拉列表中双击预定义的转换规则，例如Conv_AInInch。
在“环境设置”的环境语言输入字段中，输入一个值，例如en。
⇒仅当可视化管理器中设置的语言为en时，MetaFacture才执行Conv_AInInch转换规则。

5.在可转换转换表中，从可转换转换名称列的下拉列表中双击预定义的转换规则，例如Conv_AInMM。
在“环境设置”的环境语言输入字段中，输入一个值，例如de。
⇒仅当可视化管理器中设置的语言为de时，MetaFacture才执行Conv_AInMM转换规则。

6.在应用程序或可视化文件中应用Conv_A_LanguageDependent转换规则。
⇒如果可视化中的设置语言是英语，则应用程序可视化将应用Conv_AInInch转换规则。如果可视化中的设置语言是德语，则应用程序可视化将应用Conv_AInMM转换规则。当前的可视化语言位于VisuElems.CurrentLanguage变量中。

###

### 应用转换规则​

向访问IEC变量的对象添加转换规则。

1.在设备树中，双击访问IEC变量的对象，以将IEC变量链接到该位置的转换规则。

2.为IEC变量的转换结果声明一个变量。⇒ST示例代码：rConvertedA：REAL;

3.使用输入助手通过Convert方法应用转换规则，然后将结果分配给变量。
⇒ST示例代码，用于将IEC变量链接到转换规则：rConvertedA：= ConvRule_A.Convert（rA）;

### 应用反向转换规则​

1.在设备树中，双击访问IEC变量的对象。

2.为转换规则的结果声明一个变量。⇒ST示例代码：rReverseA：REAL;

3.使用Reverse方法应用反向转换规则，然后将结果分配给变量。
⇒rReverseA := ConvRule_A.Reverse(rConvertedA);

### 例如​

要求; 转换规则为Conv_XtoY。

> ST call

> PROGRAM A_PRG
> VAR
> rA : REAL;
> rConvertedA : REAL;
> rReverseToA : REAL;
> END_VAR

> rConvertedA := Conv_XtoY.Convert(rA);
> rReverseToA := Conv_XtoY.Reverse(rConvertedA);

> CFC call

> 在CFC编辑器中，通过块定义转换规则的实例名称。在块中选择方法。在块中选择方法。