汇川 Inoproshop 编程软件是基于codesys平台开发的PLC编程软件。如果在函数中调用功能块,会将函数中调用的功能块作为函数处理。以下用一个例子进行说明:
写一个让变量local在每个周期进行加1,然后在函数中调用功能块,再在程序中调用该函数,输出该变量的值。在程序中直接调用功能块,输出local变量的值。将两者进行对比,可以发现,调用的函数值不变,直接调用功能块的值每个周期累加1。
建立一个功能块:
//变量声明段
FUNCTION_BLOCK POU
VAR_OUTPUT
c : INT ;
END_VAR
VAR
local : INT ;
END_VAR
//程序段
local := local+1;
c := local;
在函数中调用功能块:
//声明
FUNCTION POU_1 : INT
VAR
add1: POU;
END_VAR
//程序
add1(c=>POU_1);
在程序组织单元中调用函数和功能块:
//声明
PROGRAM PLC_PRG
VAR
test_1 : INT;
test_2 : INT;
pou2: POU;
END_VAR
//程序
pou2(c=>test_1);
test_1 := POU_1();
仿真结果: