Добрый день,
Приведенный ниже код почему то возвращает 0 или 1 в зависимости от значения inputVariable
Если убрать оба exit; то возвращает как ожидается - 55 всегда
Такое ощущение что exit; неправильно работает внутри case of
может кто сталкивался?
версия 1.23.301.0
Код:
function function1: udint;
var_input
inputVariable : bool;
end_var
var
localVariable : udint := 0;
end_var
repeat
case bool_to_udint(inputVariable) of
0:
localVariable := 55;
exit;
1:
localVariable := 55;
exit;
end_case
until true
end_repeat
function1 := localVariable;
end_function