Skip to main content

对象:函数

一个函数是一个 POU 它在执行时只提供一个数据元素,并且在文本语言中的调用可以作为表达式中的运算符出现。数据元素也可以是数组或结构。

通过单击将对象添加到应用程序或项目中 项目→添加对象→POU.在设备树或 POU 看来,功能 POU 有 (乐趣) 后缀。

重要

函数没有内部状态信息,这意味着函数在下一次调用之前不会保存其变量的值。调用具有相同输入变量值的函数始终提供相同的输出值。因此,函数不能使用全局变量和地址。

函数的编辑器由声明部分和实现部分组成。

声明部分的第一行包含以下声明:

FUNCTION <function> : <data type>

在此之下,您声明输入和函数变量。

函数的输出变量是函数名。

重要

如果在函数中声明局部变量为 RETAIN,这没有效果。在这种情况下, CODESYS 发出编译器错误。

重要

您不能在函数调用中混合显式和隐式参数赋值 CODESYS V3.这意味着您必须在函数调用中仅使用显式或仅使用隐式参数赋值。调用函数时参数赋值的顺序是任意的。

调用函数

在 ST 中,您可以将函数的调用用作表达式中的操作数。

在 SFC 中,只能在步操作或转移中使用函数调用。

514. 例子

带有声明部分和一行实现代码的函数

_cds_img_function.png

函数调用:

英石:

result := POU_Funct(5,3,22);

伊利诺伊:

_cds_img_function_call_in_il.png

FBD:

_cds_img_function_call_in_fbd.png


具有附加输出的功能

根据 IEC 61131-3 标准,函数可以有附加输出。您在关键字之间的函数中声明附加输出 VAR_OUTPUTEND_VAR.该函数根据以下语法调用:

<function> (<function output variable1> => <output variable 1>, <function output variable n> => <output variable n>)
515. 例子

fun 函数用两个输入变量定义 in1in2.的输出变量 fun 函数被写入本地声明的输出变量 loc1loc2.

fun(in1 := 1, in2 := 2, out1 => loc1, out2 => loc2);