Operand操作数

<< 点击显示目录 >>

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

Operand操作数

一个操作数是一个值的容器。

操作数的数据类型定义了它的内容应该如何解释。

操作数的值用读取动作的结果进行初始化。

操作数可以在表达式(条件或方法参数)中按名称使用。

定义和用法

一个操作数在事件绑定中被定义,并在表达式(条件)中被使用。

 <EventBinding>

   <Source xsi:type="session.Event" refId="variable1" event="ValueChanged"/>

   <Operand name="myOperand" datatype="BOOL">

     <ReadTarget xsi:type="opcUa.NodeAction.Read" refId="::prg1:status1" >

       <Method xsi:type="opcUa.NodeAction.GetValue" />

     </ReadTarget>

   </Operand>

   <EventHandler condition="newValue AND myOperand" >

     ...

   </EventHandler>

 </EventBinding>

该XML定义包括以下信息。

Element

Attribute

说明

Operand

name

操作数在表达式中使用的名称。

一个有效的名称。

以一个字母或下划线开头,后面有任意数量的字母、数字或下划线

不允许与事件参数相同。

不允许被称为 "结果"。

datatype

操作数的数据类型。

BOOL

ANY_REAL

ANY_INT

ANY_STRING

BOOL_ARRAY

ANY_REAL_ARRAY

ANY_INT_ARRAY

ANY_STRING_ARRAY

DATE_AND_TIME

For details, see Data types.

ReadTarget

 

进行读取动作的目标。

只有  返回结果读取 动作 此有效。

在一个操作数中读取部件动作的例子

<EventBinding>
  <Source xsi:type="widgets.brease.Button.Event" widgetRefId="Button1" contentRefId="Content1" event="Click"/>
  <Operand name="contentid" datatype="ANY_STRING">
    <ReadTarget xsi:type="widgets.brease.ContentControl.ReadAction" contentRefId="Content1" widgetRefId="ContentControl1" >
      <Method xsi:type="widgets.brease.ContentControl.Action.GetContentId" />
    </ReadTarget>
  </Operand>
  <EventHandler>
    <Action>
      <Target xsi:type="widgets.brease.TextOutput.Action" contentRefId="Content1" widgetRefId="TextOutput1">
        <Method xsi:type="widgets.brease.TextOutput.Action.SetValue" value="=contentid"/>
      </Target>
    </Action>
  </EventHandler>
</EventBinding>

在一个事件绑定中可以定义多个操作数。

行为

所有操作数在事件被触发后和事件处理程序开始前被初始化。在初始化期间,读取动作的结果被保存在操作数中。当使用多个操作数时,初始化的顺序是未定义的。操作数可以在任何事件/结果处理程序中使用.

操作数总是包含事件被触发时的当前值。在事件处理程序中的长期运行的操作,有可能值不再是当前值。
如果在事件处理程序中需要一个当前值,可以在任何时候使用读操作和结果处理程序来检索一个值。