Показано с 1 по 10 из 4481

Тема: разные вопросы новичка

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11

    По умолчанию

    Судя по всему, результат деления имеет вид 24.999999, хотя и отображается в отладке как 25. Ну а блок преобразования к udint не округляет, а просто отбрасывает дробную часть.
    Где-то на форуме выкладывали макрос округления к ближайшему целому, похоже нужно в таких случаях перед блоком преобразования использовать что-то подобное.
    Округление с нужным количеством знаков:
    Код:
    function fRound : real;
        var_input
            rIn   : real;
            N     : udint;
        end_var
        
        var
            tmp : udint;
        end_var
        
        
        tmp := 10;
        if N.0 then fRound := udint_to_real(tmp); else fRound := 1; end_if;
        N := SHR(N,1);
        while N > 0 do
           tmp := tmp * tmp;
           if N.0 then fRound := fRound * udint_to_real(tmp); end_if;
           N := SHR(N,1);
        end_while;
        
        rIn := rIn * fRound;
        fRound := (( rIn / abs(rIn) ) * udint_to_real(real_to_udint((abs(rIn) + 0.5)))) / fRound;
        
    end_function
    Последний раз редактировалось 1exan; 10.08.2022 в 06:55.

Похожие темы

  1. ПЛК 110 - Вопросы новичка?
    от di-s в разделе ПЛК1хх
    Ответов: 21
    Последнее сообщение: 15.04.2025, 16:38
  2. Вопросы новичка!!!
    от sau в разделе ПЛК1хх
    Ответов: 42
    Последнее сообщение: 02.05.2022, 19:57
  3. Вопросы новичка по MasterScada
    от MrNobody в разделе Master SCADA 3
    Ответов: 4
    Последнее сообщение: 04.09.2014, 14:39
  4. Вопросы полного новичка
    от Korion в разделе ПЛК1хх
    Ответов: 11
    Последнее сообщение: 09.02.2010, 10:08
  5. Вопросы новичка по ПЛК
    от Ollegator в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 07.07.2009, 09:29

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •