Ну т.к. изначально шёл разговор про передачу float одним регистром, то я и использовал закомментированную строку в таком виде:

Код:
function FLOAT_TO_DINT: udint; //имя функции и тип данных выхода
    VAR_INPUT
      in : REAL;
    END_VAR

    if In >= 0 then
       FLOAT_TO_DINT := real_to_udint(In);
    else
        FLOAT_TO_DINT:= 65536 - real_to_udint(-In);   // Для   INT
     // FLOAT_TO_DINT:= 0 - real_to_udint(-In);     // Для   DINT
    end_if
   
end_function