<< 点击显示目录 >> 主页 mappView帮助助手 > mapp View帮助信息 > 工程 > 变量和数据 > Snippets > 使用案例 > 将片段绑定到一组文本上 |
我们想根据OPC UA变量的值,在HMI应用程序中显示一个文本组的文本。
•如果OPC UA变量改变,那么文本也应该改变。
我们假设配置了一块ID为Content1的内容,包含名称为StatusOutput的小组件TextOutput。
我们假设OPC UA变量 statusIndex被创建为一个名为Program1的任务中的局部变量,数据类型为INT。
•我们将定义一组文本。
•我们将定义一个引用该组文本的片段。
•我们将定义一个绑定,如果OPC UA变量发生变化,则改变该片段。
•我们将定义一个绑定,使片段的变化在HMI应用程序中可见。
我们定义一组具有共同ID Status的文本 。
这些文本的命名空间必须被设置为 IAT。
<tu tuid="Status.1">
<tuv xml:lang="en">
<seg>high</seg>
</tuv>
<tuv xml:lang="de">
<seg>hoch</seg>
</tuv>
</tu>
<tu tuid="Status.2">
<tuv xml:lang="en">
<seg>low</seg>
</tuv>
<tuv xml:lang="de">
<seg>niedrig</seg>
</tuv>
</tu>
我们创建一个 "IndexText "类型的片段,将文本组写入格式项中,并为索引设置占位符"{1}"。
<Snippet id="SnippetStatus" xsi:type="session" type="IndexText" formatItem="Status.{1}" />
每当片段被解析时,它就会以文本ID的当前值计算,并从文本系统中读取文本。
我们将定义一个值绑定,当OPC UA变量改变时,触发对片段的改变。
<Binding mode="oneWay">
<Source xsi:type="opcUa" refId="::Program1:statusIndex" attribute="value"/>
<Target xsi:type="snippet" refId="SnippetStatus" attribute="value"/>
</Binding>
每当OPC UA变量的值发生变化时,在片段中就会计算出一个新的文本。
我们将定义一个值绑定,当片段发生变化时触发对HMI应用程序的改变。
<Binding mode="oneWay">
<Source xsi:type="snippet" refId="SnippetStatus" attribute="value" />
<Target xsi:type="brease" widgetRefId="StatusOutput" contentRefId="Content1" attribute="value" />
</Binding>
每当该片段的值发生变化时,新的文本就会显示在HMI应用程序中。