Enabling conditional buttons (OPC UA)

<< 点击显示目录 >>

主页  mappView帮助助手 > mapp View帮助信息 > 工程 > 变量和数据 > Expressions > 使用案例 >

Enabling conditional buttons (OPC UA)

只有当机器的工作温度达到时,才应启用启动程序的按钮。

我们将使用数值90作为最低工作温度。

 

注意:工作温度被实现为OPC UA变量。因此,表达式的结果对所有客户端都是一样的。

该按钮将为所有显示按钮上配置的内容的绑定客户端启用。

实施

为工作温度配置一个OPC UA变量

配置小部件NumericOutput来显示工作温度

配置小部件 "Button "作为开始按钮

配置一个表达式

配置一个用于显示工作温度的接口

为表达式的操作数配置一个绑定

为表达式的结果配置一个约束力

为工作温度配置一个OPC UA变量

我们将  在任务 Program1 中 定义  REAL类型 IEC变量 operatingTemperature 作为一个局部变量 。该变量通过 OPC UA启用  ,用于绑定。

operatingTemperature_opcua

任务 Program1 应确保该变量的值缓慢增加,直到达到最大值100。

这可以是一个ST程序,其内容如下,在200ms的任务类中运行。

Init

PROGRAM _INIT
 operatingTemperature := 0;
END_PROGRAM

Cyclic

PROGRAM _CYCLIC
 IF operatingTemperature<100 THEN
  operatingTemperature := operatingTemperature+1;
 END_IF;
END_PROGRAM

配置部件NumericOutput以显示工作温度

<Widget xsi:type="widgets.brease.NumericOutput" id="tempDisplay"
  height="35" width="180" left="20" top="20" zIndex="1" />

配置小组件 "Button "作为启动按钮

<Widget xsi:type="widgets.brease.Button" enable="false" id="startButton"
  height="35" width="180" left="20" top="60" zIndex="2" text="Start" />

我们假设这两个小部件都被放置在 Content1的内容上 。

配置一个表达式

表达式类型

<ExpressionType name="MyExpressionType1" datatype="BOOL">
    <Operands>
        <Operand name="inTemp" datatype="ANY_REAL" />
    </Operands>
    <Operation>
        inTemp > 90
    </Operation>
</ExpressionType>

 

表达式实例

<Expression id="myExpr1" xsi:type="content" contentRefId="Content1" type="MyExpressionType1" />

我们假设表达式已经被配置在一个.expression文件中,并且表达式集已经被引用到一个可视化对象中。

配置用于显示工作温度的绑定

OPC UA变量 operatingTemperature简单 值绑定 到输出部件 tempDisplay

<Binding mode="oneWay">
 <Source xsi:type="opcUa" refId="::Program1:operatingTemperature" attribute="value" />
 <Target xsi:type="brease" widgetRefId="tempDisplay" contentRefId="Content1" attribute="value" />
</Binding>

为表达式的操作数配置一个约束力

简单的 值绑定 OPC UA变量 operatingTemperature 作为  表达式的 输入 inTemp

<Binding mode="oneWay">
 <Source xsi:type="opcUa" refId="::Program1:operatingTemperature" attribute="value" />
 <Target xsi:type="expression" refId="myExpr1" attribute="inTemp" />
</Binding>

为表达式的结果配置一个绑定。

将表达式 myExpr1 的结果("result")  与  按钮的 属性 enable进行简单的 值绑定

<Binding mode="oneWay">
 <Source xsi:type="expression" refId="myExpr1" attribute="result" />
 <Target xsi:type="brease" widgetRefId="startButton" contentRefId="Content1" attribute="enable" />
</Binding>

我们假设在一个.binding文件中已经配置了绑定,并且在一个可视化对象中已经引用了绑定集。