Client actions

<< 点击显示目录 >>

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

Client actions

客户端是mapp View动作的提供者。

其标识符为 clientSystem

客户端提供以下几组动作。

clientSystem.Action

该组由以下动作组成。

 

clientSystem.Action.OpenDialog

clientSystem.Action.OpenDialogAtTarget

clientSystem.Action.CloseDialog

clientSystem.Action.OpenChangePasswordDialog

clientSystem.Action.ShowMessageBox

clientSystem.Action.Navigate

clientSystem.Action.LoadContentInArea

clientSystem.Action.LoadContentInDialogArea

clientSystem.Action.ChangeTheme

clientSystem.Action.Login

clientSystem.Action.Logout

clientSystem.Action.SetLanguage

clientSystem.Action.SetMeasurementSystem

clientSystem.Action.ScrollContent

clientSystem.Action.ShowTooltips

clientSystem.Action.ChangePassword

clientSystem.Action.FocusNext

clientSystem.Action.FocusPrevious

Runtime行为

大多数客户端动作只有在客户端也被激活的情况下才允许执行,即只有在系统变量 clientInfo.isValid的ValueChanged事件之后 。

这一点特别重要,因为例如OPC UA或会话变量的变化可以在客户端启用之前触发事件ValueChanged。

为了能够响应初始值的变化,例如打开一个对话框或将某段内容加载到页面的某个区域,这必须在事件绑定中进行相应的配置。

例子

在下面的例子中,必须为OPC UA变量的某个值打开一个对话框,不管值变化的条件是在客户端连接时已经有效,还是在以后的时间。

如果在事件绑定中只有对值变化的响应,初始事件就会被执行,但由于客户端还没有准备好,不能保证触发动作,这意味着对话框将不会被显示。

在这些情况下,两个事件绑定是必要的。

启动客户端时对初始事件的响应

如果事件ValueChanged系统变量 clientInfo.isValid 被触发,所有OPC UA或会话变量都可以被读取,这些变量对于HMI应用程序的初始化是必要的。

<EventBinding>
 <Source xsi:type="session.Event" refId="::SYSTEM:clientInfo.isValid" event="ValueChanged" />
 <Operand name="getInfo" datatype="ANY_INT">
  <ReadTarget xsi:type="opcUa.NodeAction.Read" refId="::Program:InfoState">
   <Method xsi:type="opcUa.NodeAction.GetValue" />
  </ReadTarget>
 </Operand>
 <EventHandler condition="getInfo = 10">
  <Action>
   <Target xsi:type="clientSystem.Action">
    <Method xsi:type="clientSystem.Action.OpenDialog" dialogId="InfoDialog" />
   </Target>
  </Action>
 </EventHandler>
</EventBinding>

在活动的客户端连接期间对事件做出响应

如果在活动的客户端发生了一个值的变化,可以用事件ValueChanged来响应。

<EventBinding>
 <Source xsi:type="opcUa.Event" refId="::Program:InfoState" event="ValueChanged" />
 <EventHandler condition="newValue = 10">
  <Target xsi:type="clientSystem.Action">
   <Method xsi:type="clientSystem.Action.OpenDialog" dialogId="InfoDialog" />
  </Target>
 </EventHandler>
</EventBinding>

例外情况

以下的客户端操作也可以在一个活动的客户端连接之前执行。

clientSystem.Action.ShowMessageBox

clientSystem.Action.Login

clientSystem.Action.Logout

clientSystem.Action.SetLanguage

clientSystem.Action.SetMeasurementSystem

本节包括以下主题:

OpenDialog

OpenDialogAtTarget

CloseDialog

OpenChangePasswordDialog

ShowMessageBox

Navigate

LoadContentInArea

LoadContentInDialogArea

ChangeTheme

Login

Logout

SetLanguage

SetMeasurementSystem

ScrollContent

ShowTooltips

ChangePassword

FocusNext

FocusPrevious