Функции же можно в условия добавлять. Если я правильно понимаю, это и есть ветвление...
Вот такой код прекрасно работает и по идее выполняется только одна ветвь???
Код:
function fSel: udint; //имя функции и тип данных выхода
var_input //объявление входных переменных
IN1, IN2 : udint; //входная переменная с типом данных bool
sel:bool;
end_var
var //объявление локальных переменных
localVariable : real := 13.3; //локальная переменная с типом данных real и начальным значением 13.3
end_var
if sel then
fSel:= function1(IN1);
else
fSel:= function2(IN2);
end_if
end_function
ветвь.jpg