1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

Диагностика связи с ModbusTCP client в М221

Unity Pro (Control Expert), Quantum, Premium, M340, M580, Hybrid DCS, Process Expert, Zelio, Twido, M17*, M2**, SCADAPACK, SoMachine, MachineExpert, ZelioSoft, TwidoSoft, TwidoSuite, TelePace

Модератор: Специалисты SE

Ответить

Автор темы
Nexus_fox
здесь недавно
здесь недавно
Сообщения: 67
Зарегистрирован: 07 окт 2016, 16:22
Имя: Кибасов А.В
Страна: Россия
город/регион: Ростов-на-Дону
Благодарил (а): 3 раза
Поблагодарили: 2 раза

Диагностика связи с ModbusTCP client в М221

Сообщение Nexus_fox »

Доброго времени суток. Имеется контроллер M221 c модулями расширения TM3, который используется в качестве удаленной периферии и прописана простая логика. М221 является Modbus TCP сервером (слейвом) для вышестоящего M251. Есть ли для M221 диагностические переменные, свидетельствующие о потере связи с Modbus TCP клиентом или отсутствии соединения на порту Ethernet? Или данный функционал придется реализовывать "руками"? Заранее благодарен.

ogorsv
завсегдатай
завсегдатай
Сообщения: 576
Зарегистрирован: 02 дек 2015, 06:57
Имя: Огородников Сергей
Страна: РФ
Благодарил (а): 120 раз
Поблагодарили: 103 раза

Диагностика связи с ModbusTCP client в М221

Сообщение ogorsv »

Добрый день!

В таких случаях информация о наличии линка на порту не всегда будет релевантной - например, подключение между М221 и свитчем есть - линк есть, а вот М251 отключён.
Поэтому для диагностики я обычно применяю тест такого рода:
- на М251 раз в секунду инкрементируется значение (например, %МW300)
- M251 записывает это изменённое значение в М221 (например, в %МW302)
- М221 контролирует изменение своей переменной %МW302 за определённый промежуток, например, за 3 сек. Если 3 сек прошли, а значение не изменилось - потеря связи с клиентом М251

Если есть возможность организовать чтение-запись со стороны М221 в М251 (М221 - клиент) по принципу:
- М221 увеличил раз в секунду %MW400 и записал в М251 в %MW402
- М251 скопировал %MW402 в %MW404
- M221 прочитал %MW404 из М251
- Если за заданный промежуток прочитанное значение %MW404 не увеличилось - связь потеряна

По такому принципу можно придумать ещё реализации (устанавливать/сбрасывать бит и т.д.)
Главное - убедиться, что в эти переменные не идёт обращение из других мест программы.
Ну и подобрать релевантные промежутки времени для контроля тайм-аутов связи
СВ

se_sib
освоился
освоился
Сообщения: 279
Зарегистрирован: 14 дек 2015, 12:15
Имя: Евгений
Страна: Россия
город/регион: Краснодар
Благодарил (а): 5 раз
Поблагодарили: 73 раза

Диагностика связи с ModbusTCP client в М221

Сообщение se_sib »

Как вариант можно анализировать кол-во активных TCP соединений, счетчик кол-ва полученных/переданных пакетов..... системные регистры начиная с %SW168. Например пакеты не идут, т.е. счетчик не меняется, значит обрыв.

Автор темы
Nexus_fox
здесь недавно
здесь недавно
Сообщения: 67
Зарегистрирован: 07 окт 2016, 16:22
Имя: Кибасов А.В
Страна: Россия
город/регион: Ростов-на-Дону
Благодарил (а): 3 раза
Поблагодарили: 2 раза

Диагностика связи с ModbusTCP client в М221

Сообщение Nexus_fox »

Ясно, спасибо, буду делать. Также вопрос в догонку. Есть ли возможность соединить симулятор Somachine и запущенный Runtime проект EcoStruxure Machine SCADA Expert? Чтобы проверить без контроллера.

se_sib
освоился
освоился
Сообщения: 279
Зарегистрирован: 14 дек 2015, 12:15
Имя: Евгений
Страна: Россия
город/регион: Краснодар
Благодарил (а): 5 раз
Поблагодарили: 73 раза

Диагностика связи с ModbusTCP client в М221

Сообщение se_sib »

Симулятор SoMahichine Basic(Machine Expert Basic) можно только по Modbus TCP.
Симулятор обычного SoMachine(Machine Expert) только через протокол COSYS(Codesys, он же SoMachine/Machine Expert). Или через OPC, но нет смысла т.к. OPC использует тот же протокол, проще напрямую (через COSYS).
Аватара пользователя

Jackson
администратор
администратор
Сообщения: 17554
Зарегистрирован: 17 июн 2008, 16:01
Имя: Евгений свет Брониславович
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 818 раз
Поблагодарили: 1647 раз

Диагностика связи с ModbusTCP client в М221

Сообщение Jackson »

ogorsv писал(а): 02 апр 2020, 23:27 Добрый день!

В таких случаях информация о наличии линка на порту не всегда будет релевантной - например, подключение между М221 и свитчем есть - линк есть, а вот М251 отключён.
Поэтому для диагностики я обычно применяю тест такого рода:
- на М251 раз в секунду инкрементируется значение (например, %МW300)
- M251 записывает это изменённое значение в М221 (например, в %МW302)
- М221 контролирует изменение своей переменной %МW302 за определённый промежуток, например, за 3 сек. Если 3 сек прошли, а значение не изменилось - потеря связи с клиентом М251

Если есть возможность организовать чтение-запись со стороны М221 в М251 (М221 - клиент) по принципу:
- М221 увеличил раз в секунду %MW400 и записал в М251 в %MW402
- М251 скопировал %MW402 в %MW404
- M221 прочитал %MW404 из М251
- Если за заданный промежуток прочитанное значение %MW404 не увеличилось - связь потеряна

По такому принципу можно придумать ещё реализации (устанавливать/сбрасывать бит и т.д.)
Главное - убедиться, что в эти переменные не идёт обращение из других мест программы.
Ну и подобрать релевантные промежутки времени для контроля тайм-аутов связи
А зачем так сложно?
Я просто читаю с одного ПЛК другой, читаю значение, заранее известное и не равное нулю. Если прочитано именно известное значение - связь есть, иначе (не прочитано совсем или прочитано не то значение) - связи нет.
По вопросам работы Форума можно обратиться по этим контактам.
Ответить

Вернуться в «ПЛК»