<< 点击显示目录 >> 主页 mappServices帮助手册 > mapp AlarmX: 报警管理 > 概念 > Displaying units for variables |
要确定哪个变量应该有哪个单位,请看 单位管理。
MpAlarmXHistory、 MpAlarmXHistoryUIConnectType 和 MpAlarmXListUIConnectType的参数 "Language " 可以 用来定义显示报警时要使用的语言或单位。
关于这个主题,请看用例 "在警报文本中显示单位"。 |
如何显示单位是在 "在文本中显示单位 "中定义的。然而,对于输出或显示,有必要同时指定语言和单位系统。对于上面列出的组件,可以通过输入/参数 "语言 "来完成。为了定义输出或显示的语言和单位系统,输入 "语言 "可以按以下方式使用。
'Language|UnitSystem'
举几个例子:
•'de': 语言为德语,数值以工程单位显示
•'en|imperial-us': 语言为英语,单位系统为英美。
•'de|metric': 语言是德语,单位系统是公制
•'|imperial': 默认语言,单位系统为英制
关于定义显示单位的细节,请参见 MpComUnit配置一节 。
除了显示和转换作为文本一部分的过程值(如报警、审计事件),还可以定义一个单位应该如何显示。
•符号 %s: 这定义了当前显示单位的单位符号将被显示(例如 "mm")。
•短文 %n: 这定义了当前显示单位的全称将被显示(例如 "毫米")。
•描述 %d: 这定义了当前显示单位的描述将被显示(例如 "以毫米为单位的距离测量")。每个单位不一定都有描述。
转换是自动进行的;如何显示单位是通过以下语法定义的。
{&key}{&key[UNIT= xxx]}
•{&key}: 定义其值应被显示的过程变量。该值将被自动转换为当前的显示单位。如果没有定义显示单位,那么将输出该值的工程单位。
•{&key[UNIT=xx]}: 显示分配给该值的单位文本。
上面提到的参数(%s, %n, %d)可以代替 "xx "来指定。
举几个例子:
•"Current temperature {&actualTemperature}{&actualTemperature[UNIT=%s]} has reached a critical level!"
Current temperature 120°C has reached a critical level!
•"Axis stopped at limit position: {&actualPosition}{&actualPosition[UNIT= %n]}!"
Axis stopped at limit position: 500.0 millimeters!
•"Current pressure {¤tPressure}{¤tPressure[UNIT= %s]} exceeds the recommended maximum value!"
Current pressure 50 bar exceeds the recommended maximum value!
可以定义一个过程变量的值的显示格式。这意味着可以定义应使用的小数点位数和最小位数。有两种方法来定义。
MpComUnit配置
MpComUnit配置用于 指定所需过程变量应使用哪个单位组。此外,还可以指定过程变量的显示格式。小数点后的位数或总位数的最小值可以通过配置来定义。
有关其他信息,请参见 定义格式一节 。
文本系统
如果报警信息中的过程变量被指定为 通过文本系统进行本地化,那么格式也可以通过文本系统确定。这可能看起来像这样。
"The temperature is too high: {&TempSnippet|.2f}{&TempSnippet[UNIT=%s]}"
温度过高: 65.85°C
"|.2f "定义了小数点后应显示多少个位置。如果需要3个小数位,则指定"|.3f"。
有关其他信息,请参见 将应用程序数据集成到配置中一节 。
在 MpComUnit配置中指定的格式化信息 可能与在文本系统中直接指定的格式化信息相冲突。出于这个原因,只允许使用两种变体中的一种。
例如,如果在文本系统中指定了2位小数,而在 MpComUnit配置中指定了2位总数字的最小值 ,文本系统中的小数被 MpComUnit配置解释为总数字 。例如,如果记录的数值是120,那么双倍格式化会将数值减少到12。出于这个原因,应该只使用两种格式化变体中的一种。