Стартовая страница › Форумы › Разработка и интеграция › MQTT (Message Queuing Telemetry Transport)
Помечено: MQTT, Коммуникатор
- В этой теме 152 ответа, 10 участников, последнее обновление 3 года, 8 месяцев назад сделано Mikhail.
-
АвторСообщения
-
15.08.2020 в 21:27 #17028Vladimir SavenkovУчастник
Добрый день, Михаил.
Все получилось привести в норму и все заработало!!!Но основная проблема осталась — у меня отваливается коммуникатор или точнее он перестает читать данные от mosquitto (установленному на то й же машине — т.е. локальный брокер).
Я связываю такое поведение с тем, что у меня читается большой объем данных (хотя это относительно) и все данные идут через KpMQTT.
При этом mosquitto продолжает работать как брокер и выполнять свои функции (т.е. получать данные от нескольких ESP8266) но при этом коммуникатор перестает к нему обращаться.Рестарт коммуникатора запускает процесс — т.е. идет индикация идет архивирование.
Что сделал:
— попытка использования последней версии RapidScada — не помогло (Виртуальная машина)
— запуск RapidScada на х64 Win7 — не помогло (Виртуальная машина)
— запуск RapidScada на хосте (x64 Win 10 Pro) Проработала несколько дней и ситуация повторилась — отвалился коммуникатор (на виртуальной машине отваливалсь последняя конфигурация (около 170 каналов) каждые 2-3 часа).При этом сам хост не сильно нагружен 4-7% и память из 8Gb только 43 занято.
По ссылке есть препарированные логи в которых есть записи на время потери связи https://yadi.sk/d/StpDIR5_p9NtZg
Потеря связи была в 20:27 (было определено по записанным трендам)т.к. обновление версии RapidScada и KPMQTT не помогло, сейчас я пользуюсь старой стабильной версией (с сайта)
У меня сделаны дополнительные настройки в RapidScada
-Уменьшено время записи трендов до 5с
— Передача данных на Mosquitto идет каждые 2-4 сек. (нагрузка на сеть и процессор минимальна)Ранее замечал (в случае работы RapidScada в виртуальной машине), что в случае сильной нагрузки на хост происходит подобная ситуация — потеря связи Коммуникатором с mosquitto — при этом последний продолжает работать и получать данные но не получает запросов от Комунникатора.
За последнее время постепенно увеличивал количество читаемых каналов (сейчас около 170) до этого когда каналов было менее 100 таких проблем не возникало.
Вижу:
— какую то проблему с KpMQTT причем как старых версий так и последней,
— возможную проблему с Коммуникатором (т.к. перезапуск Коммуникатора восстанавливает получение данных в RapidScada)Решение:
— оптимально найти программную ошибку
— не оптимально — по потери связи Коммуникатором — делать ему ресет (не знаю как сделать т.к. надо как то мониторить Коммуникатор)
— Или просто поставить каждые 5-10 минут перезапускать Коммуникатор (что вроде можно сделать)16.08.2020 в 10:18 #17029MikhailМодераторДобрый день,
Спасибо за подробное описание.
Из лога:
2020-08-15 21:02:16 Сеанс связи с КП 42 «MQTT», тип: KpMQTTЭто означает, что Вы используете старый драйвер MQTT. Мы поддерживаем только новый драйвер. Вы могли бы сделать то же самое на новом драйвере и прислать лог при возникновении проблем?
Дополнительно: если связь отвалится — попробуйте перезапустить не весь Коммуникатор, а только одну линию связи (функция доступна в контекстном меню линии связи в Администраторе)
16.08.2020 в 10:21 #17030MikhailМодераторНовую версию можно скачать из репозитория.
-
АвторСообщения
- Вы должны авторизироваться для ответа в этой теме.