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

Тема: CODESYS V3.5. Визуализация

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    13,647

    По умолчанию

    Цитата Сообщение от DenisV Посмотреть сообщение
    Добрый день, коллеги!
    Возник следующий вопрос. В коде программы используется функциональный блок усреднения значений,который вызывается раз в секунду. После усреднения необходимо округлить значение до определенного разряда, в данном примере до одной значащей цифры после запятой. Для этого используются функция ROUND библиотеки OSCAT_BASIC. Результат округления отображается в визуализации с форматированием %s, и вроде бы всё работает как надо, но в определенный момент времени с периодичностью примерно раз в три секунды к результату округления добавляется 0.00001.Безымянный.png Первое число - выходное значение блока усреднения, второе число результат работы функции Round( где вход это выход с блока усреднения и N=1). Оба числа это Real. Почему округление иногда срабатывает некорректно и как можно решить этот вопрос?
    Добрый день.

    В онлайн-отладке в редакторе кода значения переменных отображаются корректно или тоже с округлением?

    После усреднения необходимо округлить значение до определенного разряда, в данном примере до одной значащей цифры после запятой
    Для этого можно обойтись без функций - просто использовать спецификатор %.1f
    Или нужно округлить не только для визуализации, но и для дальнейшей обработки в программе?

  2. #2
    Пользователь Аватар для DenisV
    Регистрация
    20.11.2020
    Адрес
    Санкт-Петербург
    Сообщений
    96

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Добрый день.

    В онлайн-отладке в редакторе кода значения переменных отображаются корректно или тоже с округлением?



    Для этого можно обойтись без функций - просто использовать спецификатор %.1f
    Или нужно округлить не только для визуализации, но и для дальнейшей обработки в программе?
    В редакторе кода отображается корректно, да округление также необходимо для дальнейших вычислений, спецификатор %.1f не совсем подходит, потому что в некоторых случаях необходимо, чтобы разряд менялся в зависимости от диапазона. Также он неудобен для визуализации потому что при большом целом числе будет отображаться 100000.0 или при %.2f 100000.00, а хотелось бы отбросить не значащие нули, если это возможно.

    Ещё попробовал функцию из РП "Архивация"(стр.53) называется REAL_TO_FWSTRING, она округляет корректнее то есть без периодического появления 0.00001 , но опять же при заданном количестве значащих цифр после запятой=0, значение будет в любом случае выглядеть "X.0", то есть ноль не отбросится.

Похожие темы

  1. Визуализация CoDeSys
    от Newcomer в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 24.04.2018, 15:26
  2. Визуализация в CoDeSys
    от Newcomer в разделе ПЛК1хх
    Ответов: 15
    Последнее сообщение: 10.05.2017, 21:11
  3. Визуализация CodeSys
    от DanJer в разделе ПЛК1хх
    Ответов: 2
    Последнее сообщение: 30.08.2012, 03:53
  4. Визуализация Codesys
    от Slipknot в разделе ПЛК1хх
    Ответов: 9
    Последнее сообщение: 31.10.2008, 11:36
  5. Визуализация в CoDeSys 2.3
    от Slawa в разделе ПЛК1хх
    Ответов: 10
    Последнее сообщение: 29.08.2008, 17:30

Ваши права

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