Т.е. её значение на входе должно тут же появиться на выходе?
Код:function_block fb var_input //объявление входных переменных U : udint; end_var var_output //объявление выходных переменных U_ : udint; //выходная переменная с типом данных udint end_var U_ := U; end_function_block
Здесь пример программ на ST в среде Codesys 2.3 и в Лоджике, где использована переменная VAR_IN_OUT
https://owen.ru/forum/showthread.php?t=38453&page=10#93
При переделке для Лоджика, переменная It подаётся на вход Y_ : REAL; (ФБ INTEGR:INTEGRATE; ) , рассчитывается в ФБ, подаётся на выход Y: REAL; и в следующем цикле попадает на вход ФБ, всё работает, как в Codesys 2.3
Код:INTEGR(RES:=b1, ET:=ET, Y_:=It, X:= ABS(diff)-zone, K:=1.0/60, (* /60 - привязка к минутам*) hour:=hour,min:=min,sec:=sec Y=>It);
Последний раз редактировалось kondor3000; 03.02.2024 в 11:39.
Так вот не понятно, какое принципиальное значение имеет var_in_out?
Только совпадение входного имени параметра с выходным? И всё?
Т.е. только для того, чтобы укоротить запись?
Вместо:
написатьКод:B := fb1(inB:=B).outB;
чтобы не дорисовывать правую часть?Код:fb1(B:=B); //Где B передается по ссылке (и блок fb1 может сделать туда запись)
Owen1.jpg
это для простых переменных то?
Вот тут интересная тема https://owen.ru/forum/showthread.php...8%E5+OwenLogic
Последний раз редактировалось EFrol; 03.02.2024 в 11:59.