Форум TRACE MODE: техническая поддержка   
мой профиль / my profile авторизация / login | регистрация / register | поиск / search | часто задаваемые вопросы / faq | начало / forum home

  Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
» Форум TRACE MODE: техническая поддержка » ТЕХНИЧЕСКАЯ ПОДДЕРЖКА / TECHNICAL SUPPORT TRACE MODE 5 » Микро Мониторы Реального Времени / Micro Real Time Monitors » диагностика Modbus TCP/IP

   
Автор / Author Тема / Topic: диагностика Modbus TCP/IP
Konstantin
Forum Member / Участник форума
Участник № / Member № 833


Icon 5 отправлено / posted      Профиль для / Profile for Konstantin           Редактировать/удалить сообщение / Edit/Delete Post 
Подскажите, есть ли в ТМ средства, позволяющие определить наличие связи с контроллером по протоколу Modbus TCP/IP?
Причем таких контроллеров несколько, и хотелось бы диагностировать по-отдельности связь с каждым из них.

Сообщения / Posts 44 | Из / From: РФ  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post 
Общей диагностике обмена по MODBUS служит соответствующий канал в разделе ДИАГНОСТИКА. Там же имеется канал IP Error, уточняющий ошибки обмена.
Для более точной локализации ошибок служат флажки НЕДОСТОВЕНОСТЬ в соответствующих каналах обмена. Их можно контролировать групповым образом, объединив каналы, например, по контроллерам.

Сообщения / Posts 15201 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
ATMosphere
Forum Member / Участник форума
Участник № / Member № 115


Icon 1 отправлено / posted      Профиль для / Profile for ATMosphere           Редактировать/удалить сообщение / Edit/Delete Post 
Недостоверность - всегда 0!
IP_error насколько я понял принимает коды modbus exception, а они формируются самим slave устройством. Т.е. если нет связи, то и в IP_error ничего не запишется.
Как узнать о падении slave устройства?

На данный момент если slave устройство - является пассивным, т.е. не программируется, то узнать об обрыве связи с ним - никак не получается.
Если же устройство программируемое, можно организовать в программе TM программный watchdog и сбрасывать его меандром из контроллера. Но все это работает только если в сети один Slave. Если же их хотя бы два, то при падении одного - связь со вторым такая, что watchdog необходимо настроить на 1 мин., чтобы он не сработал, т.е. фактически ее - нет.

Сообщения / Posts 45 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 2 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post 
Странно, что Достоверность не выставляется - вроде в 5.15 это поправлено было...
У нас сейчас нет в наличии двух устройств по ModBus TCP, поэтому провести испытания невозможно. Рекомендую Вам использовать для проверки какое-нибудь приложение, которое может анализировать трафик по ModBus TCP, например программу ModScan32. Необходимо посмотреть какие запросы реально выдает сервер ТМ, когда идет обмен с двумя модулями, и когда один из них выключен.

Сообщения / Posts 15201 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
ATMosphere
Forum Member / Участник форума
Участник № / Member № 115


Icon 1 отправлено / posted      Профиль для / Profile for ATMosphere           Редактировать/удалить сообщение / Edit/Delete Post 
Действительно, странно! Но достоверность у нас не работает. Может мы чего путаем?

А испытания можно провести и без устройств. Есть куча симуляторов Slave устройств Modbus TCP.
Например, здесь http://www.automatedsolutions.com/demos/demoform.asp?code=14

Для проведения испытаний достаточно и demo версии. Запустите ее на паре ПК и посмотрите "какие запросы реально выдает сервер ТМ, когда идет обмен с двумя модулями, и когда один из них выключен".

Надеемся, что проблема скоро разрешится.

Сообщения / Posts 45 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 9 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post 
Да - эмулятор помог разобраться. Действительно с Достоверностью проблемы. Начсет замедления обмена с устройствами при отсутсвии одного из них - это обусловлено тем, что при каждой попытке установления связи через TCP/IP ОС ожидает установления соединения с удаленным узлом и величина этого таймаута неуправляемая (это уровень ОС), а так как каналы по отстсвующему устройству у Вас не отлючены, то на каждом их пересчете система выжидает установления соединения и весь обмен по данному интерфейсу тормозит в силу того, что он синхронен.
Сейчас принимается решение по исправленю ошибки по Достоверности. О сроках мы сообщим в ближайшие дни.

Сообщения / Posts 15201 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
ATMosphere
Forum Member / Участник форума
Участник № / Member № 115


Icon 1 отправлено / posted      Профиль для / Profile for ATMosphere           Редактировать/удалить сообщение / Edit/Delete Post 
Отлично! Значит, будем считать, что достоверность каналов по Modbus TCP в ближайшем будущем все-таки заработает.
Однако, считаем, что отключенные устройства не должны влиять на связь с работающими устройствами. Ведь есть же куча OPC серверов, работающих на Modbus TCP, в которых качество тегов одного устройства никак не влияет на скорость обновления тегов другого устройства.
Если никогда этого не видели - могу также дать ссылку.
Почему в ТМ этого нельзя реализовать - непонятно.
Получается, если объект обвешан десятками устройств с Modbus TCP, то выключение любого из них - делает систему неработоспособной? Насколько нам известно, в спецификации на modbus - такого нет.

Сообщения / Posts 45 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 2 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post 
Управление опросом в ТМ полностью отдано на усмотрение пользователю, то есть - пользователь должен сам реализовать включение/отключение опроса каналов по тем или иным устройствам в своем проекте.
Сообщения / Posts 15201 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
ATMosphere
Forum Member / Участник форума
Участник № / Member № 115


Icon 1 отправлено / posted      Профиль для / Profile for ATMosphere           Редактировать/удалить сообщение / Edit/Delete Post 
Правильно ли я понял, что это означает создание отдельной программы, которая бы смотрела на Достоверность и выставляла бы Подключение?

Думаю, что при выключении устройства это бы прошло. Т.е. при потере связи мы выставляем атрибут Подключение и продолжаем обмен с остальными устройствами в штатном режиме.
Но вот как потом узнать, что связь восстановилась? Ведь по отключенному каналу этого не оценишь.

Сообщения / Posts 45 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 2 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post 
Только лучше не Подключением управлять, а Состоянием.
А Вы сами когда-нибудь задумывались над своим же вопросом: "как потом узнать, что связь восстановилась?"? [Вращающиеся глаза / Roll Eyes]
Это довольно нетривиальная задача, ведь периодическая проверка пробным опросом вообще ничем не отличается от ситуации, когда каналы с аппаратной недостоверностью совсем не отключаются. А если вводить периодическую проверку с задержкой, то какой она должна быть? И не проще ли тогда ее сразу ввести в тот алгоритм, который управляет атрибутом Состояние по Достоверности? [master / мастер]

Сообщения / Posts 15201 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
ATMosphere
Forum Member / Участник форума
Участник № / Member № 115


Icon 1 отправлено / posted      Профиль для / Profile for ATMosphere           Редактировать/удалить сообщение / Edit/Delete Post 
Технически: абсолютно согласен, что задача нетривиальная. Тривиальных задач вообще очень мало, для некоторых - их просто не существует. Но решить ее можно и решают ведь. Например: можно буферировать запросы и ответы; можно пока ждешь ответа от одного устройства слать запросы другим и т.д.
Политически: мне непонятно, почему этим должен заниматься я, ведь пользователю ТМ предоставлен гораздо менее гибкий инструментарий, чем разработчику.

"...А если вводить периодическую проверку с задержкой, то какой она должна быть? И не проще ли тогда ее сразу ввести в тот алгоритм, который управляет атрибутом Состояние по Достоверности?..."
Ответ: Проще использовать абсолютное оружие - OPC сервер от авторитетного разработчика, тем самым сильно облегчив себе жизнь.

Проясните, пожалуйста, почему лучше управлять Состоянием, а не Подключением?

Сообщения / Posts 45 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 2 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post 
"Например: можно буферировать запросы и ответы; можно пока ждешь ответа от одного устройства слать запросы другим и т.д." - ModBus не асинхронный протокол, чтобы так делать!
Он подразумевает полудуплекс: Транзакция=запрос-ответ, и ни один из этих элементов протокола не кэшуруем... [clever / умный]

Состояние вообще отключает канал от пересчета, соответсвенно прекращается его обработка и выставление в очередь на обмен по внешним интерфейсам. Подключение этого не делает - канал продолжает пересчитываться, он попадает в очередь обмена, только данные в него по обмену не записываются.

Сообщения / Posts 15201 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
ATMosphere
Forum Member / Участник форума
Участник № / Member № 115


Icon 1 отправлено / posted      Профиль для / Profile for ATMosphere           Редактировать/удалить сообщение / Edit/Delete Post 
Если говорить про modbus на RS-485, то, наверное, Вы правы. Однако, не понимаю, что мешает обойти это ограничение на ethernet. Послали одному - запустили счетчик, послали другому - запустили счетчик, приняли от первого - сбросили первый счетчик. На ethernet можно даже несколько modbus-мастеров в сети имет!

"...
ОС ожидает установления соединения с удаленным узлом и величина этого таймаута неуправляемая (это уровень ОС), ..."

А таймаут в ip_modbus, получается и не нужен?

Впрочем, нам пришлось отказаться от поддержки Modbus TCP в ТМ в пользу соответствующего OPC сервера. Там таких проблем не возникает. Общаетесь с десятком устройств и выключение любого из них никак не сказывется на обмене с другими.

Сообщения / Posts 45 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 2 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post 
Таймаут, это когда устройство было и с ним было установлено соединение, тогда на каждый запрос осуществляется ожидание ответа по таймауту.
Другое дело, когда устройства нет с самого начала, тогда сервер ТМ все время пытается с ним связаться.

По ModBus, кстати готовы бета-версии сервера с исправлениями. Если Вам критично, можем выслать сейчас, но только от Вас необходимо будет письмо по E-mail, что Вы согласны использовать бета-версию продукта.

Сообщения / Posts 15201 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
ATMosphere
Forum Member / Участник форума
Участник № / Member № 115


Icon 1 отправлено / posted      Профиль для / Profile for ATMosphere           Редактировать/удалить сообщение / Edit/Delete Post 
Спасибо, но нам и альфы хватило.
Сообщения / Posts 45 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
ATMosphere
Forum Member / Участник форума
Участник № / Member № 115


Icon 1 отправлено / posted      Профиль для / Profile for ATMosphere           Редактировать/удалить сообщение / Edit/Delete Post 
Добрый день!

Разрешите поинтересоваться, сделано ли что-нибудь для устранения озвученных выше ошибок. Когда можно ожидать исправлений?
Напомню, речь идет о флаге Достоверность для каналов, работающих на MOdBusIP, и о корректной работе (работоспособности) обмена с устройствами при отсутствии связи из одним из них.

Сообщения / Posts 45 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 2 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post 
По поводу ModBus - смотрите мое предыдущее сообщение...
Сообщения / Posts 15201 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
   

   Закрыть тему / Close Topic   Feature Topic   Переместить топик / Move Topic   Удалить топик / Delete Topic Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
 - Printer-friendly view of this topic
Перейти к / Hop To


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us

Rambler's Top100 Rambler's Top100



Powered by Infopop Corporation
UBB.classic™ 6.7.2