Объявление

Свернуть
Пока нет объявлений.

Проблема с подключением ПЛК-40 к CoDeSys

Свернуть
X
 
  • Фильтр
  • Время
  • Показать
Очистить всё
новые сообщения

  • Проблема с подключением ПЛК-40 к CoDeSys

    ПЛК-40 не подключается, если принудительно не удалить приложение перед этим. Причем не подключается ни через сканирование, ни напрямую по ip-адресу. После удаления приложения подключается 1 раз любым способом, а на 2-ой выдает ошибку подключения.

  • #2
    Добрый день. В приложении скорее всего происходит прерывание, требуется устранить ошибку. Работоспособность ПЛК Вы можете проверить, загрузив пустой либо заведомо рабочий проект.

    Комментарий


    • #3
      Сообщение от Кириенко Игорь Посмотреть сообщение
      Добрый день. В приложении скорее всего происходит прерывание, требуется устранить ошибку. Работоспособность ПЛК Вы можете проверить, загрузив пустой либо заведомо рабочий проект.
      Добрый день. А как отследить это прерывание? Что в теории может его вызывать? Ни разу до этого не искала подобные ошибки.

      Комментарий


      • #4
        Сообщение от Елена Посмотреть сообщение
        ПЛК-40 не подключается, если принудительно не удалить приложение перед этим. Причем не подключается ни через сканирование, ни напрямую по ip-адресу. После удаления приложения подключается 1 раз любым способом, а на 2-ой выдает ошибку подключения.
        Добрый день, такое поведение может быть вызвано проблемой с обменом по шине rs485, если используется библиотеки AgavaLinks, или AgavaModbus. Данные библиотеки реализуют лишь сам протокол modbus, дальнейшая работа по оптимизации работы уже лежит на программисте. Для корректной работы необходимо правильно настроить задачу цикла шины по которой идет обмен, иногда требуется дополнительная задержка между пакетами. Задачу цикла шины по которой идет обмен, нужно настроить следующим образом.
        Приоритет 31, время цикла 20 мс, мастер привязывается к данной задаче. Это минимизирует зависание ПО при его загрузке в ПЛК. Зависание происходит чаще всего из-за не верно настроенной задачи цикла шины, ее приоритетом. Рантайм при каждой загрузке ПО, производит останов(тоже, что если нажать "Стоп" в среде CDS), ему дается таймаут для этого, в этот момент крутится обмен по шине, остановиться она не может в виду таймаутов на ней, в этом момент рантайм отключается и будет доступен только после его рестарта.
        Попробуйте оптимизировать задачу цикла шины, как описано выше. Если данные биб-ки используются для обмена с МВВ, или ПЛК, то рекомендуется для этого использовать обновленный SDK, через дерево добавить корзины.
        Последний раз редактировалось Пушкарев Андрей; 13-06-2023, 04:45 AM.

        Комментарий


        • #5
          Сообщение от Пушкарев Андрей Посмотреть сообщение

          Добрый день, такое поведение может быть вызвано проблемой с обменом по шине rs485, если используется библиотеки AgavaLinks, или AgavaModbus. Данные библиотеки реализуют лишь сам протокол modbus, дальнейшая работа по оптимизации работы уже лежит на программисте. Для корректной работы необходимо правильно настроить задачу цикла шины по которой идет обмен, иногда требуется дополнительная задержка между пакетами. Задачу цикла шины по которой идет обмен, нужно настроить следующим образом.
          Приоритет 31, время цикла 20 мс, мастер привязывается к данной задаче. Это минимизирует зависание ПО при его загрузке в ПЛК. Зависание происходит чаще всего из-за не верно настроенной задачи цикла шины, ее приоритетом. Рантайм при каждой загрузке ПО, производит останов(тоже, что если нажать "Стоп" в среде CDS), ему дается таймаут для этого, в этот момент крутится обмен по шине, остановиться она не может в виду таймаутов на ней, в этом момент рантайм отключается и будет доступен только после его рестарта.
          Попробуйте оптимизировать задачу цикла шины, как описано выше. Если данные биб-ки используются для обмена с МВВ, или ПЛК, то рекомендуется для этого использовать обновленный SDK, через дерево добавить корзины.
          Здравствуйте. В проекте не используется modbus, но реализован обмен по CAN через сокеты. У этой задачи цикла шины сейчас приоритет 1, время цикла 5 мс. Возможна ли аналогичная проблема в данном случае? До этого пробовали ставить меньший приоритет и большее время цикла, но не устроила скорость передачи пакетов и поэтому поменяли.

          Комментарий


          • #6
            Сообщение от Елена Посмотреть сообщение

            Здравствуйте. В проекте не используется modbus, но реализован обмен по CAN через сокеты. У этой задачи цикла шины сейчас приоритет 1, время цикла 5 мс. Возможна ли аналогичная проблема в данном случае? До этого пробовали ставить меньший приоритет и большее время цикла, но не устроила скорость передачи пакетов и поэтому поменяли.
            Да, такое тоже возможно, задачу пробуйте настроить так приоритет - 31, время цикла - 5мс, мастера CAN привязать к этой задаче, отдельно от логики основной программы, логику основной программы, подключайте к отдельной задаче. Проблема с зависанием при загрузке обычно определяется так: на работающей программе нажимаете "стоп" если ПО корректно останавливается то все ОК, если же оно остановиться не может, и отключает вас, значит проблема есть и ее нужно устранять, стоп, нужно нажимать несколько раз и каждый раз должен быть успешным, тогда и при загрузке проблемы возникать не будет.
            Последний раз редактировалось Пушкарев Андрей; 13-06-2023, 05:16 AM.

            Комментарий


            • #7
              Сообщение от Пушкарев Андрей Посмотреть сообщение

              Да, такое тоже возможно, задачу пробуйте настроить так приоритет - 31, время цикла - 5мс, мастера CAN привязать к этой задаче, отдельно от логики основной программы, логику основной программы, подключайте к отдельной задаче. Проблема с зависанием при загрузке обычно определяется так: на работающей программе нажимаете "стоп" если ПО корректно останавливается то все ОК, если же оно остановиться не может, и отключает вас, значит проблема есть и ее нужно устранять, стоп, нужно нажимать несколько раз и каждый раз должен быть успешным, тогда и при загрузке проблемы возникать не будет.
              CAN уже был в отдельной задаче, поэтому попробовала поменять приоритет и время цикла. Время цикла и 5, и 20 мс проверила, все хорошо. Потом поставила обратно приоритет 1 и попробовала "стоп" нажать и ПЛК отключился.
              Спасибо большое!

              Комментарий

              Обработка...
              X