动作

动作可以被定义或者分配给 功能块 程序使用命令 添加对象。一个动作是包含实现代码,代码可以通过基本代码之外的多种代码实现。每个动作都被赋予一个名称。

一个动作处理附属的功能块或者程序的相关数据。它使用输入/输出变量和本地变量不包含自身声明变量

动作功能块的示例

插图 18: FB中的动作

在这个示例中,每次对功能块 "FB1" 的调用都会调用或者忽略变量 "out",这取决于输入变量 "in"。调用功能库的动作 'Reset' 将设置变量 "out" 为0,在这两种情况下将会写入相同的变量 "out" 。

插入:

一个动作可以通过命令 添加对象 / 动作来添加到设备树或者POUs树中选择的功能块或者函数中。在“ 添加动作”对话框中定义动作名称和实现动作的编程语言。

动作调用:

语法:

<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的编程方式:

插图 19: FBD中的动作

标准的IEC编程不支持除顺序功能图(SFC)之外的动作。这些动作是一个必须的组成部分,包含在顺序功能图中的处理。