要将函数分配至现有应用程序,可在
中选择应用程序节点,单击绿色加号按钮,并执行命令 。作为备选方法,可右键单击 节点,并从上下文菜单执行命令 。要添加独立于应用程序的 POU,可选择 的 节点,并执行相同命令。在
对话框中,选择 选项。为新函数输入 (<函数名称>)以及 (<数据类型>)并选择所需的实现语言。要选择返回数据类型,单击按钮 打开 对话框。单击 进行确认。新函数的编辑器视图打开,您可开始进行编辑。语法:
FUNCTION <函数名称> : <数据类型>
这后面将是输入和函数变量的变量声明。
将结果分配至函数。因此,函数名称用作输出变量。
请勿在函数中将本地变量声明为 RETAIN
或 PERSISTENT
,因为这样将无效。
ST 中函数的示例:此函数采用 3 个输入变量,将后面二者的乘积与第一个相加。
在 ST 中对函数的调用可作为操作数出现在表达式中。
在 IL 中,您只能将函数调用置于步操作或转移中。
函数(与程序或功能块相比)没有内部状态信息,即用相同的参数(输入参数)调用函数,始终将得到相同的值(输出)。因此,函数不可包含全局变量和地址。
FBD 中的函数调用
示例:
fun(formal1 := actual1, actual2); // -> error message
fun(formal2 := actual2, formal1 := actual1); // same semantics as the following:
fun(formal1 := actual1, formal2 := actual2);
根据 IEC 61131-3 标准,函数可具有额外的输出。可以在函数的调用中分配它们。例如,在 ST 中,根据以下语法:
out1 => <输出变量 1> | out2 => <输出变量 2> | ...其他输出变量