<< 点击显示目录 >> 主页 mappView帮助助手 > mapp View帮助信息 > 工程 > 变量和数据 > Snippets > 使用案例 > 实时更新文本中的一个值 |
我们想在HMI应用程序中的一个文本字段中显示当前的温度。
•如果温度改变,那么显示的文本值也应该改变。
•如果语言改变了,那么文本应该以新的语言显示。
我们假设 配置了 一块ID为 Content1的内容 ,其中包含名称为 TextOutput1 的小组件TextOutput 。
•我们将定义应该显示的文本。
•我们将定义一个将在文本中被引用的片段。
•我们将定义一个绑定,如果OPC UA变量改变,则改变该片段。
•我们将定义一个绑定,当片段改变时改变文本。
•我们将定义一个绑定,使文本的变化在HMI应用程序中可见。
我们将定义应该显示的文本。
<tu tuid="OutdoorTemperature">
<tuv xml:lang="en">
<seg>Outdoor temperature: {@SnippetTemp}</seg>
</tuv>
<tuv xml:lang="de">
<seg>Aussentemperatur: {@SnippetTemp}</seg>
</tuv>
</tu>
我们将创建一个类型为 "Numeric "的代码段。我们只想将温度度数输出为整数。
<Snippet id="SnippetTemp" xsi:type="session" type="Numeric" formatItem="{1|.0lf}" />
每当该片段被解析时,它就会计算出当前的数值,并显示出没有小数位的数值。
我们将定义一个绑定,当OPC UA变量发生变化时,触发对片段的改变。
<Binding mode="oneWay">
<Source xsi:type="opcUa" refId="::AsGlobalPV:gTemperature" attribute="value" />
<Target xsi:type="snippet" refId="SnippetTemp" attribute="value" />
</Binding>
每当OPC UA变量的值改变时,就会计算出一个新的片段值。
我们将定义一个绑定,当片段发生变化时触发对文本的更改。
引用是通过 完全合格的文本ID (命名空间+文本ID)完成的 。
<Binding mode="oneWay">
<Source xsi:type="snippet" refId="SnippetTemp" attribute="value" />
<Target xsi:type="text" refId="IAT/OutdoorTemperature" attribute="value" />
</Binding>
每当片段的值发生变化时,文本就会被再次检索出来。
我们将定义一个绑定,当文本发生变化时触发对HMI应用程序的改变。
引用是通过 完全合格的文本ID (命名空间+文本ID)完成的 。
<Binding mode="oneWay">
<Source xsi:type="text" refId="IAT/OutdoorTemperature" attribute="value" />
<Target xsi:type="brease" widgetRefId="TextOutput1" contentRefId="Content1" attribute="value" />
</Binding>
每当文本的值发生变化时,新的文本会显示在HMI应用程序中。