
Сообщение от
Vladimir F
Подскажите новичку (ST). Как вложить функцию в функциональный блок для выполнения.
Да просто, вызываем и все
Код:
function_block primer_1 //имя функционального блока.
var_input //объявление входных переменных
U : bool; //входная переменная с типом данных bool
end_var
var_output //объявление выходных переменных
Q : udint; //выходная переменная с типом данных udint
end_var
Q := function1(U); //вызов функции
end_function_block
Ну, и на всякий случай, вот так функциональные блоки вызываются
Код:
var_output //объявление выходных переменных
D : udint; //выходная переменная с типом данных udint
end_var
var //объявление локальных переменных
fb1, fb2, fb3: functionblock1; //объявляем функциональный блок
A1, A2, A3: bool;
B1, B2: bool;
C1, C2, C3: udint;
end_var
//1-й способ
fb1(U:=A1,Res:=B1,N:=0, Q=>C1);
//2-й способ
fb2.U := A2; //задаем входные значения
fb2.Res := false;
fb2.N := 0;
fb2(); //вызываем функциональный блок
C2 := fb2.Q; //читаем результат
//3-й способ (комбинированный)
fb3.Res := false;
fb3(U:=A3,N:=C3);
D := fb3.Q;
end_function_block