在数值变化时显示一个消息框Displaying a message box on value change

<< 点击显示目录 >>

主页  mappView帮助助手 > mapp View帮助信息 > 工程 > 事件和行动 > 使用案例 >

在数值变化时显示一个消息框Displaying a message box on value change

使用案例

当控制器上的值发生变化时,我们想在HMI应用程序中打开一个消息框。

实现

我们定义一个PLC变量。

定义一个事件绑定。

定义一个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中的行动定义

在EventHandler中,我们定义动作。

 <EventBinding>

   <Source xsi:type="opcUa.Event" refId="::Program:boolVariableEvent" event="ValueChanged" />

   <EventHandler>

       <Action>

        &nbsp...

       </Action>

   </EventHandler>

 </EventBinding>

MessageBox显示的动作的定义。

实际行动是事件的目标。显示一个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>