Skip to main content

对象: 行动

符号: _cds_icon_obj_action.png

您可以向功能块或程序添加动作。每个动作都有一个名字。

操作对象实现了额外的代码,这些代码可以用与上级 POU 的基本实现不同的语言进行编程。行动通常在 SFC 中实施。一个动作没有自己的变量声明。它使用其超坐标基础实现的数据并使用其VARVAR_INPUTVAR_OUTPUTVAR_IN_OUT)。

在面向对象的编程中,可以继承一个功能块及其下属操作。

有关更多信息,请参阅: 生成继承 POU 时的输入支持

插入动作

添加一个 行动 到带有的功能块或程序 项目添加对象行动 命令并在打开的对话框中定义新操作的属性。

61. 添加动作

姓名

动作名称

实现语言

从包含可用实现语言的列表框中选择



打电话

语法:

<program name> . <action name> ( <parameter passing> )

或者

<name of function block instance> . <action name> ( <parameter passing> )

<program name> .

可选

带有程序名称的实例路径

当在程序的相应基础实现中调用操作时,指定操作名称就足够了。

<name of function block instance> .

可选

包含功能块实例名称的实例路径

当在功能块的相应基本实现中调用操作时,指定操作名称就足够了。

<action name>

必填项

动作名称

( <parameter passing> )

可选

当传递参数时,可以将参数传递给输入和输出变量,方法与传递给相应函数块的方法相同。

参见 功能块

操作中可用的变量在上级 POU 中声明。尽管如此,调用操作时可以传递参数。变量(VARVAR_INPUTVAR_OUTPUTVAR_IN_OUT) 可以访问上级程序或函数块实例(与方法调用相反)。

因此,当在图形编辑器中调用操作时,将显示基本 POU 的所有 I/O。

524. 示例

打电话给 重置 动作 (Counter 功能块)来自另一个 POU。

功能块的实例化

PROGRAM PLC_PRG
VAR
    Inst : Counter;
END_VAR

打电话给 重置 在伊利诺伊州行动

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

打电话给 重置 在 ST 中行动

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

打电话给 重置 在 FBD 中执行操作

_cds_img_action_fbd.png


525. 示例

功能块的声明 FB_Test

FUNCTION_BLOCK FB_Test
VAR_INPUT
    i_xTest : BOOL;
    i_lrTest : LREAL;
END_VAR
VAR_OUTPUT
    q_xTest : BOOL;
    q_lrTest : LREAL;
END_VAR
VAR
    xSet : BOOL;
    xReset : BOOL;
    SR_0 : SR;
    R_TRIG_0 : R_TRIG;
END_VAR

的实施 Act_Text 操作(在 FBD 中),可以访问相应功能块的 I/O

_cds_object_action_example_textact.png


提示

动作通常用于 SFC 实现语言。