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

Тема: Фичи и баги OWEN Logic

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

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

    По умолчанию

    Проверил на живой ПР200: fDiv 0/0=0. Ничего не зависает.

    По исходнику из CoDeSys - когда-то очень давно (лет 8 назад) скопировал из Util.lib себе в проект - нужна была только эта функция. Там тоже деление на ноль не проверялось. Вот:
    K := (OUT_MAX - OUT_MIN) / (IN_MAX - IN_MIN);
    IF (IN <= IN_MIN) THEN
    LIN_TRAFO_FUN := OUT_MIN;
    END_IF;
    IF ((IN > IN_MIN) AND (IN < IN_MAX)) THEN
    LIN_TRAFO_FUN := OUT_MIN + K * (IN - IN_MIN);
    END_IF;
    IF (IN >= IN_MAX) THEN
    LIN_TRAFO_FUN := OUT_MAX;
    END_IF;
    Поскольку IN_MIN,IN_MAX,OUT_MIN,OUT_MAX у меня всегда задавались константой при программировании - никогда на деление на ноль не нарывался.
    Сейчас глянул в Util.lib, котрорая вместе с текущей версией CoDeSys поставилась - там вообще все по другому, и деление на ноль проверяется, и выход ошибки появился..

    Нашел еще - такой макрос уже на форуме пробегал, только для ПР114 - http://www.owen.ru/forum/showthread....l=1#post123611. Там тоже деление на 0 не проверяется.
    Последний раз редактировалось Мамонов Михаил; 28.05.2017 в 00:05.

Похожие темы

  1. OWEN Logic v1.7
    от Евгений Сергеевич в разделе Среда программирования OWEN Logic
    Ответов: 404
    Последнее сообщение: 25.08.2020, 15:17
  2. OWEN Logic v1.7
    от Евгений Сергеевич в разделе Программируемые реле
    Ответов: 401
    Последнее сообщение: 28.07.2016, 19:46
  3. OWEN Logic 1.2.0.14b
    от Ельцов Андрей в разделе Программируемые реле
    Ответов: 40
    Последнее сообщение: 21.02.2011, 14:16
  4. OWEN Logic 1.1.0.11b
    от Ельцов Андрей в разделе Программируемые реле
    Ответов: 58
    Последнее сообщение: 12.10.2010, 20:55

Ваши права

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