<< 点击显示目录 >> 主页 mappView帮助助手 > mapp View帮助信息 > 工程 > 事件和行动 > 行动 > Client actions |
客户端是mapp View动作的提供者。
其标识符为 clientSystem。
客户端提供以下几组动作。
该组由以下动作组成。
•clientSystem.Action.OpenDialog
•clientSystem.Action.OpenDialogAtTarget
•clientSystem.Action.CloseDialog
•clientSystem.Action.OpenChangePasswordDialog
•clientSystem.Action.ShowMessageBox
•clientSystem.Action.LoadContentInArea
•clientSystem.Action.LoadContentInDialogArea
•clientSystem.Action.ChangeTheme
•clientSystem.Action.SetLanguage
•clientSystem.Action.SetMeasurementSystem
•clientSystem.Action.ScrollContent
•clientSystem.Action.ShowTooltips
•clientSystem.Action.ChangePassword
•clientSystem.Action.FocusNext
•clientSystem.Action.FocusPrevious
大多数客户端动作只有在客户端也被激活的情况下才允许执行,即只有在系统变量 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.SetLanguage
•clientSystem.Action.SetMeasurementSystem
本节包括以下主题: