<< 点击显示目录 >> 主页 mappView帮助助手 > mapp View帮助信息 > 指南 > FAQs > 事件和行动应用 > MessageBox: Displaying a numerical value in the message消息框:在消息中显示一个数值 |
这个例子演示了以下用例。
一个特定的事件(例如,点击一个按钮或改变一个OPC UA标签的值)调用一个消息框。这个消息框应该显示事件发生时的文本中的当前值(例如,生产步骤中的错误:44)。
在 消息框中直接使用 数字片段 不会导致在数值(如OPC UA变量)改变时对片段的改变。在这种情况下,该片段必须被绑定到一个会话变量。
OPC UA变量的值被绑定到绑定文件中的一个片段。该片段在第二步中被绑定到一个文本增量。
将文本绑定到一个会话变量上,导致片段中的格式项目被更新。在事件绑定中,这个会话变量可以在事件发生时被读取,并被指定为消息属性的一个参数。
必须在一个文本文件(.tmx)中创建一个带有格式项的文本ID。
必须在一个.snippet文件中为HMI应用程序创建一个具有唯一ID的片段。
<Snippet xsi:type="session" id="ErrorSnippet" type="Numeric" formatItem="{1}" />
<Variable name="ErrorText" xsi:type="ANY_STRING" value="" />
在一个绑定文件中必须输入三个绑定,这些绑定需要更新片段、文本和会话变量。
<Binding mode="oneWay">
<Source xsi:type="opcUa" refId="::Program:ProductionStep" attribute="value" />
<Target xsi:type="snippet" refId="ErrorSnippet" attribute="value" />
</Binding>
<Binding mode="oneWay">
<Source xsi:type="snippet" refId="ErrorSnippet" attribute="value" />
<Target xsi:type="text" refId="ErrorMsg" attribute="value" />
</Binding>
<Binding mode="oneWay">
<Source xsi:type="text" refId="ErrorMsg" attribute="value" />
<Target xsi:type="session" refId="ErrorText" attribute="value" />
</Binding>
HMI应用程序的事件绑定导致对按钮部件的点击事件的响应,并显示一个消息框。
一个操作数被用来读取会话变量 "错误文本 "的值,并指定它作为消息框中消息属性的参数。
<EventBinding>
<Source xsi:type="widgets.brease.Button.Event" widgetRefId="Button1" contentRefId="Content1" event="Click"/>
<Operand name="myOperand" datatype="ANY_STRING">
<ReadTarget xsi:type="session.VariableAction.Read" refId="ErrorText" >
<Method xsi:type="session.VariableAction.GetValue" />
</ReadTarget>
</Operand>
<EventHandler>
<Action>
<Target xsi:type="clientSystem.Action">
<Method xsi:type="clientSystem.Action.ShowMessageBox" type="OKCancel" message="=myOperand" header="Warning!" icon="Warning" />
</Target>
</Action>
</EventHandler>
</EventBinding>