Сообщение от
Sergijsever
Доброго времени!
Подскажите пожалуйста, задача такая:
Функциональный блок ST в OWEN logic
Входная переменная А типа udint и допустим 3 выходные переменные Q Q1 и Q2 тмпа bool.
Инструкция Q := A = 15 .. 29 ;
Q1 := A = 30 .. 44 ;
Q2 := A = 45 .. 59 ; ну и т.д. Нужно что бы выход Q был истина пока А находится в диапазоне от 15 до 29 и т.д. проблема в том что редактор ФБ не выдаё ни одной ошибки, но критическая ошибка висит в самой программе. Подскажите где косяк и как мне проще реализовать этот алгоритм.
Заранее благодарен.
Код:
function_block functionblock1 //имя функционального блока.
var_input //объявление входных переменных
A : udint; //входная переменная для значения счетчика после сброса
end_var
var_output //объявление выходных переменных
Q : bool;
Q1 : bool;
Q2 : bool;
end_var
case A of
15 .. 29: Q:= TRUE; Q1:= FALSE; Q2:= FALSE;
30 .. 44: Q:= FALSE; Q1:= TRUE; Q2:= FALSE;
45 .. 59: Q:= FALSE; Q1:= FALSE; Q2:= TRUE;
else
Q:= FALSE; Q1:= FALSE; Q2:= FALSE;
end_case
end_function_block