<< 点击显示目录 >> 主页 mappView帮助助手 > mapp View帮助信息 > 工程 > 事件和行动 > 使用案例 > 来自应用程序的页面导航Page navigation from the application program |
•HMI应用中的页面导航应使用应用程序进行。
•页面应通过OPC UA启用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>