Сообщение от kondor3000 А так ещё компактней Код: function FLOAT_TO_INT: udint; //имя функции и тип данных выхода VAR_INPUT in : REAL; END_VAR if In >= 0 then FLOAT_TO_INT := real_to_udint(In); else FLOAT_TO_INT:= 65536 - real_to_udint(-In); // Для INT end_if end_function Функции FLOAT_TO_INT (DINT) и (DINT) INT_TO_FLOAT на ST____ https://owen.ru/forum/showthread.php...821#post429821 Да!!! Согласен... Но, если 0>in>-1, то включен 16бит на выходе.
function FLOAT_TO_INT: udint; //имя функции и тип данных выхода VAR_INPUT in : REAL; END_VAR if In >= 0 then FLOAT_TO_INT := real_to_udint(In); else FLOAT_TO_INT:= 65536 - real_to_udint(-In); // Для INT end_if end_function
Правила форума