Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 15

Тема: Ошибки в работе Modbus RTU

  1. #1

    По умолчанию Ошибки в работе Modbus RTU

    Добрый день!
    Помогите, пожалуйста, прояснить ряд вопросов.
    Имеется ряд приборов, работающих по протоколу Modbus-RTU, подключены к одному порту СПК-110. Все приборы находятся в одном шкафу, центральный кабель RS-485 подключен к ПЛК и на клеммную колодку, остальные приборы подключены к клеммам. Длина отводов не более 1,5м, кол-во приборов на порт - 5, кабель экранированный, силовые эл. устройства не включены (за исключением питания приборов - 220В). Возникают ошибки (в основном Response Timeout и существенно меньше Response CRC Fail). Кол-во ошибок у приборов разное у каких-то 0.1-0.8%, у некоторых около 20%. Счетчики запросов (Request Counter) показывают разные значения для приборов, хотя все работают одно и тоже время, настройки цикла для каналов (100мс) и таймаута ответа (1000мс) заданы для всех приборов одинаково. С чем это связано? Если я правильно понимаю, то приборы тратят разное кол-во времени на обработку запроса. Однако, периодичность цикла изменения значения Request Counter не согласуется со временем Цикла канала и Таймаута ответа. Например, время Цикла канала 100мс, таймаут ответа 1000мс. При этом Request Counter на одном из приборов увеличивается на единицу примерно через каждые 4 сек. И самый главный вопрос: как правильно настроить обмен данных, чтобы сократить кол-во ошибок? Как правильно выставить параметры порта, мастера и слейв устройств? Нужно ли у них выставлять одинаковое время таймаута?rs_1.pngrs_2.pngrs_3.pngrs_4.pngrs_5.pngrs_6.png
    Последний раз редактировалось alekstani; 25.11.2022 в 16:39.

  2. #2
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,060

    По умолчанию

    Добрый день.

    Счетчики запросов (Request Counter) показывают разные значения для приборов, хотя все работают одно и тоже время, настройки цикла для каналов (100мс) и таймаута ответа (1000мс) заданы для всех приборов одинаково. С чем это связано?
    С тем, что у вас бессистемно возникают ошибки по таймауту.

    Однако, периодичность цикла изменения значения Request Counter не согласуется со временем Цикла канала и Таймаута ответа. Например, время Цикла канала 100мс, таймаут ответа 1000мс. При этом Request Counter на одном из приборов увеличивается на единицу примерно через каждые 4 сек
    Почему, вполне согласуется. Цикл - это желаемый период опроса. Реальный получается выше из-за ошибок по таймауту.

    Нужно ли у них выставлять одинаковое время таймаута?
    Необязательно, значение таймаута может выбираться индивидуально в зависимости от особенностей конкретного слэйва.

    И самый главный вопрос: как правильно настроить обмен данных, чтобы сократить кол-во ошибок?
    Для начала нужно локализовать причину ошибки.
    Физически отключите все устройства от шины, кроме одного.
    Оставьте в CODESYS опрос только этого устройства.
    Убедитесь в том, что ошибок нет.
    Подключите в шину второе устройство, повторите эксперимент и так далее.
    Это позволит вам определить момент, в который начинаются проблемы.

  3. #3
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,317

    По умолчанию

    Таймаут больше 100(ста) мс - дичь.
    Для 6У можно и 30. У вас же не 4800 же

  4. #4

    По умолчанию

    Добрый день!
    Подскажите, пожалуйста, есть ли возможность использовать на одном COM-порте ПЛК приборы с разными протоколами.
    Есть ряд приборов с Modbus-RTU и ультразвуковой расходомер Пульсар со своим протоколом, которые конфликтуют и возникают ошибки.
    Пример протокола я взял из примера и адаптировал его под свои условия.

  5. #5
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,060

    По умолчанию

    Цитата Сообщение от alekstani Посмотреть сообщение
    Добрый день!
    Подскажите, пожалуйста, есть ли возможность использовать на одном COM-порте ПЛК приборы с разными протоколами.
    Есть ряд приборов с Modbus-RTU и ультразвуковой расходомер Пульсар со своим протоколом, которые конфликтуют и возникают ошибки.
    Пример протокола я взял из примера и адаптировал его под свои условия.
    Добрый день.
    Можно, но тогда обмен вам полностью придется настраивать в коде, чтобы избежать коллизии при доступ к COM-порту.
    Сейчас вы, видимо, настроили обмен по Modbus через дерево проекта - и поэтому у вас возникли конфликты.

  6. #6

    По умолчанию

    Да, конечно Modbus-RTU приборы в дереве. Пример Example_UserProtocols_3517v1. Можно подробнее где поискать информацию как согласовать протоколы и на что обратить внимание?

  7. #7
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,060

    По умолчанию

    Цитата Сообщение от alekstani Посмотреть сообщение
    Да, конечно Modbus-RTU приборы в дереве. Пример Example_UserProtocols_3517v1. Можно подробнее где поискать информацию как согласовать протоколы и на что обратить внимание?
    Для организации опроса по Modbus из кода программы используйте библиотеку OwenCommunication.
    Пример есть здесь в п. 5.9.1:
    https://ftp.owen.ru/CoDeSys3/11_Docu...odbus_v3.0.pdf

    Вам нужно объединить его с примером UserProtocols.

    Общий смысл такой - когда один блок завершил работу (xDone = TRUE), нужно его сбросить (вызвать со значение FALSE на входе xExecute), после чего вызвать следующий блок (xExecute :=TRUE).
    Блок COM_CONTROL соответственно у вас будет один, так как все устройства подключены к одному порту.

    Из дерева проекта компоненты Modbus нужно удалить.

  8. #8

    По умолчанию

    Спасибо. И еще один вопрос. Возникает ошибка у ПЧ: RESPONSE CRC FAIL. Сетевые настройки проверил, все верно. До этого подключал его, он работал. После того, как переместил часть приборов на этот же порт перестал. Все приборы работают, кроме него. Его подключаю, все приборы в ошибке.

  9. #9
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,060

    По умолчанию

    Цитата Сообщение от alekstani Посмотреть сообщение
    Спасибо. И еще один вопрос. Возникает ошибка у ПЧ: RESPONSE CRC FAIL. Сетевые настройки проверил, все верно. До этого подключал его, он работал. После того, как переместил часть приборов на этот же порт перестал. Все приборы работают, кроме него. Его подключаю, все приборы в ошибке.
    ПЧ часто является источником помех, который могут в т. ч. воздействовать на линию связи.
    Есть разные способы борьбы с ними - сетевые дроссели, ферритовые кольца и др.
    Можете запросить у производителя вашего ПЧ рекомендации по этому поводу.
    http://ural-asutp.ru/articles/14-art...aeley-chastoty

  10. #10

    По умолчанию

    Добрый день!
    Подскажите, пожалуйста, как добиться равномерной работы оборудования? Смысл в том, что к COM-порту подключено 10-12 устройств. Во время работы слейв устройств я заметил такую особенность (видимо из-за очередности посылки запросов для отдельных устройств) счетчик RequestCounter считает не равномерно, т.е. его значения изменяются довольно быстро, затем он на некоторое время останавливается (примерно 2-3 секунды) и затем снова считает. У меня сложилось впечатление, что из-за этих пауз диммер в частности не всегда успевает получить определенный уровень сигнала, из-за чего период моргания светодиодной ленты не соответствует заданному (период намного больше задуманного). Иногда лента моргает более менее равномерно, но в какие-то моменты времени, период сбивается и становится слишком большим, при этом ошибок по связи практически нет. Я пробовал менять в канале Modbus Slave период цикличности для приборов (по умолчанию было 100 мс, теперь поставил 10мс), а также сократил до минимума таймаут ответа, но ничего не помогает. Паузы у счетчика RequestCounter практически не изменились. Когда оставляю на порту один диммер, счетчик работает равномерно без пауз. Что можно сделать?
    Последний раз редактировалось alekstani; 30.11.2022 в 18:11.

Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

  1. Ошибки при работе MasterSCADA
    от super100 в разделе Master SCADA 3
    Ответов: 6
    Последнее сообщение: 11.07.2017, 14:40
  2. Ошибки в работе сети RS-485 подключенной не по правилам
    от Спорягин Кирилл в разделе ПЛК1хх [М02]
    Ответов: 4
    Последнее сообщение: 29.08.2016, 15:20
  3. Ошибки при работе с конфигуратором ТРМ212
    от yuriy23 в разделе Сервисное ПО
    Ответов: 2
    Последнее сообщение: 14.01.2013, 12:16
  4. Помогите по работе с Modbus
    от vasylye в разделе Эксплуатация
    Ответов: 5
    Последнее сообщение: 01.11.2012, 11:18
  5. Ответов: 4
    Последнее сообщение: 26.08.2009, 14:07

Ваши права

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