<< 点击显示目录 >> 主页 mappView帮助助手 > mapp View帮助信息 > 工程 > 事件和行动 > 使用案例 > 在数值变化时显示一个消息框Displaying a message box on value change |
•当控制器上的值发生变化时,我们想在HMI应用程序中打开一个消息框。
•我们定义一个PLC变量。
•定义一个事件绑定。
我们将 用 bool 类型 的 变量 boolVariableEvent定义任务 Program。每当这个变量的值发生变化时,就应该显示消息框。
有关如何配置PLC变量的信息可在其他地方找到。
一个完整的定义看起来像这样。
<EventBinding>
<Source xsi:type="opcUa.Event" refId="::Program:boolVariableEvent" event="ValueChanged" />
<EventHandler>
<Action>
<Target xsi:type="clientSystem.Action">
<Method xsi:type="clientSystem.Action.ShowMessageBox" header="PLC Message" icon="Warning" message="Value changed" type="OKCancel" />
</Target>
</Action>
</EventHandler>
</EventBinding>
我们现在按步骤定义各个要素。
•定义对数值变化做出反应的事件。
•定义显示消息框的动作。
该事件是事件绑定的来源。我们将使用事件 ValueChanged。
•通过 opcUa.Event,条目 类型定义了源是一个OPC UA变量。
•条目 refId 在OPC UA符号中引用该变量。
•入口 事件 定义了 数值变化的ValueChanged 。
<EventBinding>
<Source xsi:type="opcUa.Event" refId="::Program:boolVariableEvent" event="ValueChanged" />
...
</EventBinding>
一个动作被定义在一个EventHandler中。
<EventBinding>
<Source xsi:type="opcUa.Event" refId="::Program:boolVariableEvent" event="ValueChanged" />
<EventHandler>
...
</EventHandler>
</EventBinding>
在EventHandler中,我们定义动作。
<EventBinding>
<Source xsi:type="opcUa.Event" refId="::Program:boolVariableEvent" event="ValueChanged" />
<EventHandler>
<Action>
 ...
</Action>
</EventHandler>
</EventBinding>
实际行动是事件的目标。显示一个MessageBox是一个类型 为clientSystem.Action的目标 。
<EventBinding>
<Source xsi:type="opcUa.Event" refId="::Program:boolVariableEvent" event="ValueChanged" />
<EventHandler>
<Action>
<Target xsi:type="clientSystem.Action">
...
</Target>
</Action>
</EventHandler>
</EventBinding>
显示MessageBox的系统方法名为 clientSystem.Action.ShowMessageBox。
<EventBinding>
<Source xsi:type="opcUa.Event" refId="::Program:boolVariableEvent" event="ValueChanged" />
<EventHandler>
<Action>
<Target xsi:type="clientSystem.Action">
<Method xsi:type="clientSystem.Action.ShowMessageBox" header="PLC Message" icon="Warning" message="Value changed" type="OKCancel" />
</Target>
</Action>
</EventHandler>
</EventBinding>