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

Тема: ПЛК110-60 и Modbus (Master)

  1. #1
    Пользователь
    Регистрация
    20.02.2008
    Адрес
    Тверь
    Сообщений
    501

    По умолчанию ПЛК110-60 и Modbus (Master)

    Добрый день! Недавно (http://www.owen.ru/forum/showthread....692#post134692) я жаловался на проблемы со связью с ПЛК. Вчера всплыла следующая проблема. ПЛК должен опрашивать 6 разных ТРМ по Modbus RTU с индивидуальными периодами опроса, от 1 до 10 секунд. Вчера программа изменила свой алгоритм работы. Подключение (кстати, связь с ПЛК заработала сразу, было очень приятно) показало, что согласно конфигурации ПЛК Modbus Master опрашивает все ТРМ и код последней ошибки всегда 81. Подключение вольтметра к линиям АВ RS485 показало, что опроса нет, напряжение не меняется ни на мВольт (при идущем опросе бывают уменьшения показаний вольтметра на несколько Вольт). Соответственно лампы RS на ТРМах не мигали. Сброс не помог, но после перепрограммирования всё заработало. Показания всех ТРМ в конфигураторе ПЛК были равны равны 0. Но наладчики вспомнили, что за 3 дня до этого на втором ПЛК был аналогичный сбой, но показания были равны последнему удачному измерению и не менялись. Сбой тогда самоустранился, возможно после отключения питания на длительное время.
    Вопросы:
    1. Есть ли возможность программного перезапуска Modbus Master без перезапуска основной программы. Если нет, почему, если есть, почему этого нет в конфигураторе ПЛК. Есть ли возможность у оператора перезапустить Modbus Master без использования отладочных средств и перезапуска основной программы или он должен отключать оборудование и ждать прибытия КИПовца.
    2.(Больше из любопытства) Почему "Last Error" в конфигураторе ПЛК привязан к Modbus Master, хотя на самом деле это свойство Universal Modbus Device (по нему можно было бы быстро выделять неустойчиво работающие ТРМ, а сейчас об устойчивости работы можно только гадать). И почему у Universal Modbus Device нет метки времени последнего измерения? Без этих двух параметров честный OPC не сделаешь.

  2. #2
    Пользователь
    Регистрация
    20.02.2008
    Адрес
    Тверь
    Сообщений
    501

    По умолчанию

    Пробежался по форуму. Понял, что с этой проблемой мучаются многие и выход один, переписать весь диалог по Modbus самому заново. Печально. А что ещё в CoDeSys написано столь же непрофессионально?

  3. #3
    Пользователь
    Регистрация
    11.01.2009
    Адрес
    Кострома
    Сообщений
    3,144

    По умолчанию

    У меня ТРМы и не только в больших количествах опрашиваются ПЛК100 и 110 уже много лет, без сбоев и выключений.
    1. Связь нужно прокладывать кабелем для RS485, а не просто витой парой.
    2. Экран заземляется с одной стороны.
    3. При необходимости включайте оконечные резисторы.
    4. Установите время минимального цикла ПЛК хотя бы 10мс.(если программа и перифирия большие, то можно больше.)
    К примеру e S300-400 время цикла обычно 15-20мс. Все что нужно быстрее- на спец модули....

  4. #4
    Пользователь
    Регистрация
    20.02.2008
    Адрес
    Тверь
    Сообщений
    501

    По умолчанию

    Суммарная длина RS485-проводников 1,5 метра, поэтому используется самодельная витая пара без экрана и оконечных резисторов. Время цикла 20мс, период опроса разных ТРМ 1 - 3 - 10 секунд. Сбои были при незаземлённых фильтрах БСФ, вчера я это исправил и надеюсь, что благодаря этому сбои прекратятся. Но готовлюсь к худшему варианту.

  5. #5

    По умолчанию

    Цитата Сообщение от rwg Посмотреть сообщение
    Вопросы:
    1. Есть ли возможность программного перезапуска Modbus Master без перезапуска основной программы. Если нет, почему, если есть, почему этого нет в конфигураторе ПЛК. Есть ли возможность у оператора перезапустить Modbus Master без использования отладочных средств и перезапуска основной программы или он должен отключать оборудование и ждать прибытия КИПовца.
    2.(Больше из любопытства) Почему "Last Error" в конфигураторе ПЛК привязан к Modbus Master, хотя на самом деле это свойство Universal Modbus Device (по нему можно было бы быстро выделять неустойчиво работающие ТРМ, а сейчас об устойчивости работы можно только гадать). И почему у Universal Modbus Device нет метки времени последнего измерения? Без этих двух параметров честный OPC не сделаешь.
    1. Можно, режим опроса в UMD ставьте не по времени, а по команде и запускайте/останавливайте опрос по необходимым условиям.
    2. Потому что в ModBus Master есть еще и LastAddress, в которой указывается адрес опрашиваемого устройства, по этой переменной и анализируйте наличие ошибки опроса (Last Error) для каждого устройства (удобно использовать оператор Case).
    Метку времени последнего удачного измерения также можно сделать самостоятельно по указанным переменным.

  6. #6
    Пользователь
    Регистрация
    20.02.2008
    Адрес
    Тверь
    Сообщений
    501

    По умолчанию

    Цитата Сообщение от Гарчев Евгений Посмотреть сообщение
    1. Можно, режим опроса в UMD ставьте не по времени, а по команде и запускайте/останавливайте опрос по необходимым условиям.
    2. Потому что в ModBus Master есть еще и LastAddress, в которой указывается адрес опрашиваемого устройства, по этой переменной и анализируйте наличие ошибки опроса (Last Error) для каждого устройства (удобно использовать оператор Case).
    Метку времени последнего удачного измерения также можно сделать самостоятельно по указанным переменным.
    Спасибо за ответ.
    По 1. Вариант с опросом устройства по команде опробую, но боюсь, что зависание на уровне модуля Modbus Master и опрос всё равно закончится ошибкой 81.
    По 2. LastAdress привязан к LastError в течение одного цикла, при нормальной реализации Модбуса опрос одного параметра может уложиться в 5мсек, а цикл работы контроллера может быть 20 - 50 мсек. При этом не гарантируется, что оба Last относятся к одному устройству. Но если опрос вести по команде, а цикл увеличить до 2-5 мсек, то, действительно, всё должно получиться. Жаль, что получается не автоматом, а после плясок с бубном.

  7. #7

    По умолчанию

    1. Может и не поможет этот вариант в Вашем случае, но он есть. При работе с ТРМ-ами запись любых значений необходимо делать по изменению, либо по команде один раз, т.к. запись параметров осуществляется сразу в энергонезависимую память, которая имеет ограниченный ресурс перезаписей, обратите на это внимание. При работе по ModBus RTU в ТРМ-ах кол-во стоп-бит фиксированное и равно 2-ум, не забывайте про это тоже.
    2. естественно тут будет привязка и к времени цикла работы ПЛК, но период опроса ставить 5 мс для 6-ти ТРМ-ов, к тому же при построении опроса через конфигурацию ПЛК - это через чур ... Да и время цикла работы ПЛК более 20-30 мс - это тоже многовато, в таком случае необходимо разбивать программу по циклам через тот же CASE.

  8. #8
    Пользователь
    Регистрация
    20.02.2008
    Адрес
    Тверь
    Сообщений
    501

    По умолчанию

    Цитата Сообщение от Гарчев Евгений Посмотреть сообщение
    1. При работе с ТРМ-ами запись любых значений необходимо делать по изменению, либо по команде один раз, т.к. запись параметров осуществляется сразу в энергонезависимую память, которая имеет ограниченный ресурс перезаписей. При работе по ModBus RTU в ТРМ-ах кол-во стоп-бит фиксированное и равно 2-ум, не забывайте про это тоже.
    2. естественно тут будет привязка и к времени цикла работы ПЛК, но период опроса ставить 5 мс для 6-ти ТРМ-ов, к тому же при построении опроса через конфигурацию ПЛК - это через чур ... Да и время цикла работы ПЛК более 20-30 мс - это тоже многовато, в таком случае необходимо разбивать программу по циклам через тот же CASE.
    1. В ТРМы я не пишу, только читаю. Про обязательные 2 стоп-бита у ТРМ202 я где то в конференции читал, поэтому протестировал сеть на работу с 1 и 2 битами. Изменение этой настройки на работу сети влияния не оказало, что удивило и порадовало.
    2. Период опроса у меня ТРМов 0,5 - 10 секунд, 5мс - это минимальное полное время выполнения одного запроса Modbus (время передачи 16 байт + 3,5 мс на 2 таймаута). Уменьшить время цикла ПЛК я пока побоялся, потому, что раз в секунду у меня выполняется обработка дробных чисел, продолжительность цикла увеличивается, а на что это может повлиять, я пока не знаю. Сейчас средняя загрузка процессора 2%, но это в среднем.

  9. #9

    По умолчанию

    Цитата Сообщение от rwg Посмотреть сообщение
    1. В ТРМы я не пишу, только читаю. Про обязательные 2 стоп-бита у ТРМ202 я где то в конференции читал, поэтому протестировал сеть на работу с 1 и 2 битами. Изменение этой настройки на работу сети влияния не оказало, что удивило и порадовало.
    2. Период опроса у меня ТРМов 0,5 - 10 секунд, 5мс - это минимальное полное время выполнения одного запроса Modbus (время передачи 16 байт + 3,5 мс на 2 таймаута). Уменьшить время цикла ПЛК я пока побоялся, потому, что раз в секунду у меня выполняется обработка дробных чисел, продолжительность цикла увеличивается, а на что это может повлиять, я пока не знаю. Сейчас средняя загрузка процессора 2%, но это в среднем.
    1. Поначалу может и не повлиять 1 стоп-бит на качество опроса, тем более если кроме ТРМ-ов нет опрашиваемых устройств с одним стоп-битом, так что ставьте 2 стоп-бита, всегда там, где есть ТРМ-ы.
    2. пускай минимальное время запроса/ответа 5 мс, если периодичность опроса 100 мс, то в last address и last error в течение этих 100 мс будут "висеть" значения с последнего запроса.
    На работу с интерфейсами может повлиять, в первую очередь на Ethernet, на связь со средой ...

    P.S.
    Как Вы оценили загрузку процессора в процентах?

  10. #10
    Пользователь
    Регистрация
    20.02.2008
    Адрес
    Тверь
    Сообщений
    501

    По умолчанию

    Цитата Сообщение от Гарчев Евгений Посмотреть сообщение
    2. пускай минимальное время запроса/ответа 5 мс, если периодичность опроса 100 мс, то в last address и last error в течение этих 100 мс будут "висеть" значения с последнего запроса.
    P.S.
    Как Вы оценили загрузку процессора в процентах?
    LastAddres и LastError, вероятнее всего, меняются после каждого запроса. Если 10 запросов занимают 50мс и выполняются раз в секунду, то эти 2 Lasta меняются 10 раз в течение 50мс, а потом 950мс не меняются. Чтобы разобраться из среды программирования, какой из ТРМ отвечает, а какой нет, я сделал всем ТРМам разные периоды опросов, иначе LastAddres почти всегда был равен наибольшему адресу. Потом начал смотреть на светодиоды RS на ТРМах и от этой методики ушёл.
    Загрузка - 400мкс время выполнения цикла, делёная на период цикла 20мс, даёт 2%.

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

Похожие темы

  1. Modbus (Master) не отображается в память Modbus (Slave)
    от ghoch в разделе Помощь Разработчикам
    Ответов: 3
    Последнее сообщение: 07.05.2018, 09:40
  2. Переменная из Modbus (master) в Modbus (slave)
    от Zenr в разделе ПЛК1хх
    Ответов: 6
    Последнее сообщение: 25.10.2013, 12:38
  3. ПЛК110-60-Р-М(Master)+ИП320
    от Александр Ч. в разделе Панели оператора (HMI)
    Ответов: 0
    Последнее сообщение: 25.11.2010, 11:07
  4. Ответов: 5
    Последнее сообщение: 14.10.2010, 14:42
  5. ПЛК110-32 и Modbus Master
    от Sedoy в разделе ПЛК1хх
    Ответов: 1
    Последнее сообщение: 07.07.2010, 08:11

Ваши права

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