对象:函数
一个函数是一个 POU 它在执行时只提供一个数据元素,并且在文本语言中的调用可以作为表达式中的运算符出现。数据元素也可以是数组或结构。
通过单击将对象添加到应用程序或项目中 POU 看来,功能 POU 有 (乐趣) 后缀。
.在设备树或重要
函数没有内部状态信息,这意味着函数在下一次调用之前不会保存其变量的值。调用具有相同输入变量值的函数始终提供相同的输出值。因此,函数不能使用全局变量和地址。
函数的编辑器由声明部分和实现部分组成。
声明部分的第一行包含以下声明:
FUNCTION <function> : <data type>
在此之下,您声明输入和函数变量。
函数的输出变量是函数名。
重要
如果在函数中声明局部变量为 RETAIN
,这没有效果。在这种情况下, CODESYS 发出编译器错误。
重要
您不能在函数调用中混合显式和隐式参数赋值 CODESYS V3.这意味着您必须在函数调用中仅使用显式或仅使用隐式参数赋值。调用函数时参数赋值的顺序是任意的。
调用函数
在 ST 中,您可以将函数的调用用作表达式中的操作数。
在 SFC 中,只能在步操作或转移中使用函数调用。
例 514. 例子
带有声明部分和一行实现代码的函数

函数调用:
英石:
result := POU_Funct(5,3,22);
伊利诺伊:

FBD:

具有附加输出的功能
根据 IEC 61131-3 标准,函数可以有附加输出。您在关键字之间的函数中声明附加输出 VAR_OUTPUT
和 END_VAR
.该函数根据以下语法调用:
<function> (<function output variable1> => <output variable 1>, <function output variable n> => <output variable n>)
例 515. 例子
这 fun
函数用两个输入变量定义 in1
和 in2
.的输出变量 fun
函数被写入本地声明的输出变量 loc1
和 loc2
.
fun(in1 := 1, in2 := 2, out1 => loc1, out2 => loc2);