Сообщение от
Asu$Nick
Добрый день! Мне очень необходимы блоки Move и арифметические операции со входом Enable, чтобы можно было отрабатывать по условию или фронту. Вы как раз выпустили ST, я сделал в нем свои блоки , но затык оказался в FBD. Там нельзя по ходу программы многократно переписывать переменную. В результате элементарную условие не реализовать. Подскажите зачем это сделали, перезапись переменной не противоречит правилам программирования и в ST есть, а в FBD заблокировали.
Это прямо вяжет по рукам и ногам, снижает гибкость языка. На картинке простой код который не реализовать.
PS. Сам Лоджик у вас крутой в целом , еще чуть чуть и можно серых немецких потеснить.
Нет никакого затыка в FBD, всё делается и присваивается проще некуда, смотри скрин 1 SEL.jpg Move не нужен, когда есть Sel и fSel.
А на ST это делается так
Код:
function func1: udint; //имя функции и тип данных выхода
var_input //объявление входных переменных
s : bool;
x1 : udint; //входная переменная
x2 : udint;
end_var
if s then
func1 :=x1 ;
else
func1 :=x2 ;
end_if
end_function