动作

概述

您可定义动作并将它们分配至功能块程序。动作是额外的实现。可以用不同于基本实现的语言来创建动作。每个动作都被赋予了名称。

动作用于自己所属的功能块或程序的数据。它使用定义的输入/输出变量以及本地变量,并且不包含其自己的声明。

功能块动作示例

下图显示了 FB 中的动作

G-SE-0027205.2.gif-high.gif

 

 

在该示例中,功能块 FB1 的每次调用增大或减小输出变量 out,具体取决于输入变量 in 的值。功能块的调用动作 Reset,将输出变量 out 设置为 0。在这两种情况下将写入同一变量 out

插入操作

要添加操作,在应用程序树应用程序树全局节点中选择相应的程序或功能块,单击绿色加号按钮,并执行命令操作...。也可右键单击程序或功能块节点,并执行命令添加对象 > 操作。在添加操作对话框中,定义操作名称以及所需的实现语言

EcoStruxure Machine Expert 利用功能块内的继承简化面向对象的编程:当在继承自另一功能块的功能块上执行添加对象时,列出基本功能块中使用的动作方法属性转换元素以供选择:

o在基本功能块中定义的访问说明符PUBLICPROTECTED 和 INTERNAL动作方法属性转换元素可供选择。您可以调整继承对象的定义。在继承对象中,将相同的访问说明符分配给源元素。

o访问说明符PRIVATE动作方法属性转换不可选择,因为对基本功能块的访问受限。

调用动作

语法

<Program_name>.<Action_name>

<Instance_name>.<Action_name>

注意 FBD 中的说明(请参阅下面示例)

如果需要在其自己的运算块中调用动作,该运算块是它所属的程序或功能块,则可使用操作名称。

示例

该部分提供在自另一个 POU 中的操作调用示例。

所有示例的声明:

PROGRAM PLC_PRG
VAR
    Inst : Counter;
END_VAR

在另一个 POU 中调用动作 Reset,该调用在 IL 中编程:

CAL Inst.Reset(In := FALSE)
LD Inst.out
ST ERG

在另一个 POU 中调用动作 Reset,该调用在 ST 中编程:

Inst.Reset(In := FALSE);
Erg := Inst.out;

在另一个 POU 中调用动作 Reset,该调用在 FBD 中编程:

FBD 中的操作

G-SE-0027287.1.gif-high.gif

 

 

注意: IEC 标准不能识别顺序功能图 (SFC) 中操作以外的操作。这些操作是必要的部分,包含在图的特定步要处理的指令。