Автор Тема: MQTT arOPC  (Прочитано 33214 раз)

Оффлайн JonyBest

  • Newbie
  • *
  • Сообщений: 11
    • Просмотр профиля
Re: MQTT arOPC
« Ответ #15 : 13.08.2020, 22:57:25 pm »
Доброго времени суток!
Есть ощущение что OPC сервер не корректно работает на отправку по QoS 2, скорее отправка происходит по QoS 0. Нет гарантированной доставки сообщения. Т.е. если плохая связь или контроллер в момент отправки сообщения от OPC сервера был занят, то сообщение не доставляется. Хотя при использовании других клиентов таких проблем нет.

Оффлайн Айрат

  • Administrator
  • Sr. Member
  • *****
  • Сообщений: 324
    • Просмотр профиля
Re: MQTT arOPC
« Ответ #16 : 14.08.2020, 08:38:14 am »
Добрый день!

Надо посмотреть дошли ли данные от OPC сервера до брокера.
Дело в том, что за доставку отвечает отправитель, задача OPC сервера доставить данные до MQTT брокера, а дальше уже не его зона ответственности (https://www.hivemq.com/blog/mqtt-essentials-part-6-mqtt-quality-of-service-levels/).

MQTT брокер можно настроить (https://mosquitto.org/man/mosquitto-conf-5.html), что бы выдавал подробные логи.
Тогда будет точно видно где проблема.

Айрат

Оффлайн JonyBest

  • Newbie
  • *
  • Сообщений: 11
    • Просмотр профиля
Re: MQTT arOPC
« Ответ #17 : 14.08.2020, 09:40:05 am »
Спасибо!
 Пробовал и с отправкой данные непосредственно с OPC сервера.
 Я правильно понимаю, что именно клиент должен отправлять сообщение до тех пор, пака не получит подтверждения в получении пакета. А так как OPC сервер - это посредник между клиентом и MQTT сервером, то он не получает сведений о дошел пакет информации или нет, соответственно отправляет только один раз. Так как в своем проекте я пользуюсь СКАДой, это не клиент MQTT. Значит организация работы у меня будет по QoS 0 что бы я не выбрал.
 Правильный вывод?
« Последнее редактирование: 14.08.2020, 09:57:03 am от JonyBest »

Оффлайн Айрат

  • Administrator
  • Sr. Member
  • *****
  • Сообщений: 324
    • Просмотр профиля
Re: MQTT arOPC
« Ответ #18 : 14.08.2020, 11:13:19 am »
Похоже я не до конца понимаю как у вас там всё работает.
Набросайте схему пожалуйста, кто к кому и как подключен.

Айрат

Оффлайн JonyBest

  • Newbie
  • *
  • Сообщений: 11
    • Просмотр профиля
Re: MQTT arOPC
« Ответ #19 : 14.08.2020, 12:34:04 pm »
На сервере установлено:
1. MQTT брокер Mosquitto-1.6.10a
2. arOPC сервер
3. Simple-Scada

Контроллер по MQTT через вифи общается с MQTT брокером
Simple-Scada через arOPC сервер получает данные от MQTT брокером

Оффлайн Айрат

  • Administrator
  • Sr. Member
  • *****
  • Сообщений: 324
    • Просмотр профиля
Re: MQTT arOPC
« Ответ #20 : 14.08.2020, 13:56:42 pm »
Спасибо!
 Пробовал и с отправкой данные непосредственно с OPC сервера.
 Я правильно понимаю, что именно клиент должен отправлять сообщение до тех пор, пака не получит подтверждения в получении пакета. А так как OPC сервер - это посредник между клиентом и MQTT сервером, то он не получает сведений о дошел пакет информации или нет, соответственно отправляет только один раз. Так как в своем проекте я пользуюсь СКАДой, это не клиент MQTT. Значит организация работы у меня будет по QoS 0 что бы я не выбрал.
 Правильный вывод?

Не совсем.
Если вы с обеих сторон выберите QOS2, то вся система по нему и будет работать.
В MQTT отправитель отвечает за доставку пакета, не важно кто это, MQTT клиент или брокер. Кто отправил тот и в ответе.
MQTT клиенты, которые подключились к MQTT брокеру с QOS2, знают только о том дошёл их пакет до брокера или нет. А вот
информации от том дошёл ли этот пакет, до подписавшегося на топик клиента, они не имеют.

Если смотреть на вашу схему, то получается что пакеты от OPC сервера в любом случае попадают в MQTT брокер, т.к. весь обмен происходит внутри одной машины. И ещё, OPC сервер не отправляет повторяющиеся данные. Т.е. если вы, к примеру, со скады всё время будете писать в тег 1, пройдёт только первая запись, а потом ничего происходить не будет, т.к. значение тега не меняется.

Айрат

Оффлайн Eugene1

  • Newbie
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: MQTT arOPC
« Ответ #21 : 03.06.2021, 13:43:56 pm »
Есть проблема с последним релизом arOPC.
Надо передать данные из SCADA по ОРС к MQTT брокеру и прочитать с него же. Добавил устройство "симуляция", добавил брокера в настройках. Поставил галочку публикация описания в настройках брокера, период 2000 мс (2 секунды). Попробовал на двух различных ПК с различными ОС - поведение одинаково.

Проблемы:
1. Запустил arOPC - невозможно остановить. При нажатии "стоп" - пункты меню в окошке arOPC не доступны. Затем программа завершается с ошибкой. [Разобрался] проблема снята. В настройках программы должна стоять галочка "разрешить включение\выключение опроса устройств", что не очевидно.

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

3. В arOPC создал два тега типа BOOL, один на подписку в топик1, другой на публикацию в топик 2.

На подписку: после старта сервера тег выделен желтым, и пока в топик1 не прилетит изменение хотя бы одного клиента - тег в сервер остается с желтой метко и без значения. Очевидно что это относится к Retain, но вопрос в другом. Тег в arOPC на подписке топик1 - принимает первое прилетевшее в топик1 значение, и в дальнейшем - не меняется, хотя в топик1 продолжают прилетать другие, изменяющиеся значения.

На публикацию: тег в arOPC меняет значение, в логах брокера видно что увеличивается количество сообщений и метки о получении брокером есть - но в поле значение не 0 или 1, а пустое место.

« Последнее редактирование: 04.06.2021, 09:48:49 am от Eugene1 »

Оффлайн Айрат

  • Administrator
  • Sr. Member
  • *****
  • Сообщений: 324
    • Просмотр профиля
Re: MQTT arOPC
« Ответ #22 : 03.06.2021, 21:10:14 pm »
Добрый день.

В ближайшее время всё проверю.

Айрат

Оффлайн Eugene1

  • Newbie
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: MQTT arOPC
« Ответ #23 : 04.06.2021, 09:27:51 am »
скриншоты по вопросу 2. Не зависит от того, запускается arOPC от имени администратора или пользователя.
.

.

.

.
Часть текущего cfg файла - поле родитель разве должно быть пустое ? наверное "Device1" там должно быть. Развернуть каталог с Device1 в дереве не удается.
.
« Последнее редактирование: 04.06.2021, 09:45:01 am от Eugene1 »

Оффлайн Айрат

  • Administrator
  • Sr. Member
  • *****
  • Сообщений: 324
    • Просмотр профиля
Re: MQTT arOPC
« Ответ #24 : 04.06.2021, 23:27:25 pm »
Добрый день.

Спасибо за уточнения.

По вопросу возникновения ошибки с MQTT у меня получилось воспроизвести ситуацию, занимаюсь исправлением.

Айрат

Оффлайн Айрат

  • Administrator
  • Sr. Member
  • *****
  • Сообщений: 324
    • Просмотр профиля
Re: MQTT arOPC
« Ответ #25 : 05.06.2021, 07:40:38 am »
Добрый день.

1. Есть ошибка в программе, если во время работы выбрать устройство типа "Симуляция" то возникает сообщение. В ближайшее время на сайте будет размещена новая версия OPC сервера.

2. Группа создаётся, но узел устройства не разворачивается, поэтому группу вы не видите (приложил изображение), на ваших скриншотах как раз такой случай. Подумаю, может надо разворачивать автоматически дерево конфигурации в которое был добавлен новый узел.

3. Здесь необходимо более подробное описание. Приложите, пожалуйста, конфигурацию OPC сервера, укажите каким клиентом пользуетесь для отправки сообщений MQTT брокеру, в каком виде этот клиент передаёт данные.

Айрат

Оффлайн Eugene1

  • Newbie
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: MQTT arOPC
« Ответ #26 : 07.06.2021, 10:21:23 am »
по пункту 2. - не удается развернуть, как не нажимай, в этом и проблема. Попробовал сделать новую конфигурацию, все равно - если добавлять группу в устройство, она не разворачивается, и при этом даже добавленное устройство в конфигурации не видно. Если добавлять группу для теста в корень - то группа добавляется, и устройство сразу становится видимым. Но группы  в устройстве не видны, дерево ниже устройства не разворачивается.

по пункту 3 - брокер mqtt.by, для тестов. Клиент для наблюдения - MQTT explorer

шаг 1


шаг 2


шаг 3


шаг 4

« Последнее редактирование: 07.06.2021, 10:36:55 am от Eugene1 »

Оффлайн Eugene1

  • Newbie
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: MQTT arOPC
« Ответ #27 : 07.06.2021, 10:44:22 am »
Еще одна проблема, туда же пункт 4.
При больших разрешениях экрана, более 1920 и установке масштабирования, как рекомендует ОС Windows 10 более 150% - кнопки "Ок" и "Отмена" в диалоге добавления устройства - уезжают за пределы формы диалога. То есть сама форма находится в пределах экрана - а кнопки и рамка за формой, нажать их нельзя.

Оффлайн Айрат

  • Administrator
  • Sr. Member
  • *****
  • Сообщений: 324
    • Просмотр профиля
Re: MQTT arOPC
« Ответ #28 : 08.06.2021, 23:48:30 pm »
Добрый день.

В контекстное меню, добавлю пункт "Развернуть."
Погоняю программу с большим разрешением и с соответствующим масштабированием, постараюсь поправить.

Айрат.

Оффлайн Eugene1

  • Newbie
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: MQTT arOPC
« Ответ #29 : 19.08.2021, 12:19:26 pm »
еще одна проблема - видимо некорректно работает опция "количество знаков после запятой". Не отбрасывает остальные знаки - 6 знаков так и остается. Версия ОРС последняя.
При этом в самом брокере к в топике строка - "25.7", все верно

.
« Последнее редактирование: 19.08.2021, 12:21:06 pm от Eugene1 »