来自应用程序的页面导航Page navigation from the application program

<< 点击显示目录 >>

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

来自应用程序的页面导航Page navigation from the application program

使用案例

HMI应用中的页面导航应使用应用程序进行。

页面应通过OPC UA启用PLC变量进行切换。

在这个用例中,页面切换是在所有客户端上进行的。针对客户的切换可以通过会话变量来实现。

实施

我们定义一个PLC变量。

我们定义一个事件绑定。

定义一个PLC变量

我们将  用  类型 STRING[100] 的  变量 newPage定义任务 Program。每当这个变量的值发生变化时,就应该进行导航。

定义一个事件绑定

一个完整的定义看起来像这样。

<EventBinding>
 <Source xsi:type="opcUa.Event" refId="::Program:newPage" event="ValueChanged"  />
 <EventHandler>
  <Action>
   <Target xsi:type="clientSystem.Action" >
    <Method xsi:type="clientSystem.Action.Navigate" pageId="=newValue" />
   </Target>
  </Action>
 </EventHandler>
</EventBinding>

定义响应价值变化的事件

该事件是事件绑定的来源。我们将使用事件 ValueChanged

通过 opcUa.Event,条目  类型定义了源是一个OPC UA变量。

条目 refId 在OPC UA符号中引用该变量。

入口 事件event 定义了  数值变化的ValueChanged

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

定义事件处理程序

我们将定义一个带有动作的事件处理程序。

<EventBinding>
 <Source xsi:type="opcUa.Event" refId="::Program:newPage" event="ValueChanged"  />
 <EventHandler>
  <Action>
   ...
  </Action>
 </EventHandler>
</EventBinding>

定义导航的动作

客户端系统被选为目标: clientSystem.Action

<EventBinding>
 <Source xsi:type="opcUa.Event" refId="::Program:newPage" event="ValueChanged"  />
 <EventHandler>
  <Action>
   <Target xsi:type="clientSystem.Action" >
    ...
   </Target>
  </Action>
 </EventHandler>
</EventBinding>

 

改变页面的方法名称为 clientSystem.Action.Navigate

事件参数 "newValue "通过表达式被用作动态方法参数。

<EventBinding>
 <Source xsi:type="opcUa.Event" refId="::Program:newPage" event="ValueChanged"  />
 <EventHandler>
  <Action>
   <Target xsi:type="clientSystem.Action" >
    <Method xsi:type="clientSystem.Action.Navigate" pageId="=newValue" />
   </Target>
  </Action>
 </EventHandler>
</EventBinding>