Ребят , такой вопрос, 0/0 нельзя) У меня блок DIV и у него пока что в переменных значение 0 , но такой код не дает старт плк Codesys , как быть?)

Комментарии: 20

  1. Anton

    Да ну. Другие ПЛК спокойно работают, а КДС не может? Да ну. Читайте, как перехватываются и обрабатываются ошибки в КДС. С КДС не_работаю, но не верю, что такая фигня вводит ПЛК в ступор.

    • Ilya

      Я проверил константами и код прошел.. но пока ноль не стартует плк Modicon M251

      • Anton

        Не нужно проверять на ноль. В ПЛК другие механизмы обработки ошибок.

        • Ilya

          Ну в переменных то изначально 0 пока я не записал туда.. Поэтому и не дает RUN режим Может сравнениями сделать это все

          • Anton

            И пусть ноль. Помимо деления на ноль есть ещё много ошибок, которые могут появиться только на определённом сочетании данных.

            • Ilya

              Так я программу не могу запустить..

              • Mihail

                Доброго вечера! RAID 1 на Intel rapid storage. При замене одного диска, он не добавился сразу в рейд, а просит расширить на другой с "потерей данных" - вопрос, данные на новом или старом затирает в этот момент. Может кто сталкивался?

  2. Yuriy

    Проверка нуля, если есть то не выполнять. Я так делаю.

    • Anton

      Так не должно быть.

      • Yuriy

        А как?

        • Anton

          Вы с ПЛК работаете?

          • Yuriy

            Да, с плк.

            • Anton

              С какими?

  3. Mihail

    Как вариант, перед div сравнить с "0", если есть, то обходим деление, присваивая сразу 0..

    • Yuriy

      Дак я так же и написал. Только присваиваем не ноль, а максималку.

      • Mihail

        Там без сравнения в вашем ответе было вроде..

        • Anton

          Ищите, как обрабатывать исключения, а не занимайтесь глупостями.

          • Gabrrr

            И какая итоговая разница будет между обработкой ошибки в прерывании и валидации исходного значения? Если вопрос только в том чтобы заставить ПЛК заработать, ну ок, прерывания. Если нужно получить нормальное значение в результате деления, то и первоначальная проверка на ноль вполне разумное решение.

        • Yuriy

          Может и код полностью выложить. Я ответил кратко, суть обхода деления на ноль.

    • Ilya

      Да один как из вариантов , спасибо

Не нашли ответ?

Вам также может быть интересно