<< 点击显示目录 >> 主页 mappView帮助助手 > mapp View帮助信息 > 工程 > 变量和数据 > Expressions > 使用案例 > Enabling conditional buttons (OPC UA) |
只有当机器的工作温度达到时,才应启用启动程序的按钮。
我们将使用数值90作为最低工作温度。
注意:工作温度被实现为OPC UA变量。因此,表达式的结果对所有客户端都是一样的。
该按钮将为所有显示按钮上配置的内容的绑定客户端启用。
•为工作温度配置一个OPC UA变量
•配置小部件NumericOutput来显示工作温度
•配置小部件 "Button "作为开始按钮
•配置一个表达式
•配置一个用于显示工作温度的接口
•为表达式的操作数配置一个绑定
•为表达式的结果配置一个约束力
我们将 在任务 Program1 中 定义 REAL类型 的IEC变量 operatingTemperature 作为一个局部变量 。该变量通过 OPC UA启用 ,用于绑定。
任务 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
<Widget xsi:type="widgets.brease.NumericOutput" id="tempDisplay"
height="35" width="180" left="20" top="20" zIndex="1" />
<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文件中已经配置了绑定,并且在一个可视化对象中已经引用了绑定集。