您可定义动作并将它们分配至功能块和程序。动作是额外的实现。可以用不同于基本实现的语言来创建动作。每个动作都被赋予了名称。
动作用于自己所属的功能块或程序的数据。它使用定义的输入/输出变量以及本地变量,并且不包含其自己的声明。
下图显示了 FB 中的动作
在该示例中,功能块 FB1 的每次调用增大或减小输出变量 out,具体取决于输入变量 in 的值。功能块的调用动作 Reset,将输出变量 out 设置为 0。在这两种情况下将写入同一变量 out。
要添加操作,在或的节点中选择相应的程序或功能块,单击绿色加号按钮,并执行命令。也可右键单击程序或功能块节点,并执行命令。在对话框中,定义操作以及所需的。
EcoStruxure Machine Expert 利用功能块内的继承简化面向对象的编程:当在继承自另一功能块的功能块上执行时,列出基本功能块中使用的、、和元素以供选择:
在基本功能块中定义的为 、 和 的、、和元素可供选择。您可以调整继承对象的定义。在继承对象中,将相同的分配给源元素。
为 的、、和不可选择,因为对基本功能块的访问受限。
语法
<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 中的操作