ardsoft

Продукты => arOPC сервер => Тема начата: JonyBest от 29.07.2020, 22:59:09 pm

Название: MQTT arOPC
Отправлено: JonyBest от 29.07.2020, 22:59:09 pm
Доброго времени суток!
Есть у кого опыт настройки или документация по настройке arOPC для работы по протоколу MQTT? Не могу разобраться. В конфигурации MQTT настраиваю- здесь проблем нет.
Какой контроллер надо выбрать из списка?
Если выбираю контролер "Симуляция", добавляю Теги, показывает только значения созданного последним Тега...
Название: Re: MQTT arOPC
Отправлено: Айрат от 30.07.2020, 08:18:20 am
Добрый день.

Если вы не работаете с физическим оборудованием или нет необходимости данные с физического оборудования транслировать в MQTT брокер, надо выбирать контроллер "Симуляция". Обмен данными по MQTT настраивается в каждом теге индивидуально.
Подробнее о настройке описано в главе 4 инструкции. Разворачивается она при установке OPC сервера и доступна в меню "Пуск - Все программы - arOPC".
Если там что то непонятно, пришлите конфигурацию которую вы пытаетесь собрать, я подскажу где ошибка и что дальше делать.

Айрат.
Название: Re: MQTT arOPC
Отправлено: JonyBest от 30.07.2020, 23:43:30 pm
Спасибо за ответ! Вот файл конфигурации - 1.cfx Что происходит - фото м1, хотя данные сыпятся раз в сек
И еще вопросик - топик "key" - если включить и прием и отправку(файл конфигурации - 2.cfx), при отправке сообщения - забивает эфир постоянным отправлением уже отправленного значения фото м2
Прошу помощь понять где допускаю ошибку...
Название: Re: MQTT arOPC
Отправлено: Айрат от 02.08.2020, 01:29:04 am
Добрый день!

Да, в OPC сервер закралось несколько ошибок. Буду заниматься исправлением.
Пока могу дать следующие рекомендации:
1. Переключить QoS у тегов в 0 или 2.
2. То что постоянно сыпятся сообщения, это надо поправить настройках подключения к MQTT брокеру, параметр "Период публикации". Если вам не нужны повторяющиеся сообщения выставьте его в 0. Тогда сообщения будут отправляться только по изменению.

Айрат
Название: Re: MQTT arOPC
Отправлено: JonyBest от 02.08.2020, 22:00:03 pm
Мне крайне не удобно, но по пункту 1, с переключением QoS у тегов в 0 или 2 проблема не уходит. Ошибка та же - показывает только последнее значение. При чем если удалить последнее, то отображает то что было предпоследним, а стало последним.Сторонним клиентом смотрю  - данные сыпятся.
2. Тут всё четко!
Название: Re: MQTT arOPC
Отправлено: Айрат от 02.08.2020, 23:26:32 pm
Добрый день!

Какой MQTT брокер используете в своей работе?

Айрат
Название: Re: MQTT arOPC
Отправлено: JonyBest от 02.08.2020, 23:37:27 pm
Mosquitto-1.6.10a
Название: Re: MQTT arOPC
Отправлено: Айрат от 03.08.2020, 09:14:03 am
Добрый день!

Вроде исправил ошибку, по ссылке https://yadi.sk/d/J9FKfUhrcndSOw (https://yadi.sk/d/J9FKfUhrcndSOw) можно скачать тестовую версию.
Если всё хорошо, подготовлю сборку для размещения на сайте.

Айрат
Название: Re: MQTT arOPC
Отправлено: JonyBest от 03.08.2020, 20:00:09 pm
Всё заработало, спасибо!!! Пробовал с переключением QoS у тегов в 0 или 2.
Название: Re: MQTT arOPC
Отправлено: JonyBest от 03.08.2020, 22:27:25 pm
При получении текстового значения, выводятся крякозабры. Как это можно починить?
Название: Re: MQTT arOPC
Отправлено: Айрат от 04.08.2020, 11:52:36 am
Добрый день!

Дело скорее всего в кодировке. OPC сервер оперирует ANSI строками.
Видимо ваш клиент Unicode использует.
Какую программу используете для передачи сообщений?

Айрат
Название: Re: MQTT arOPC
Отправлено: JonyBest от 04.08.2020, 12:52:59 pm
Добрый день! Спасибо! Данные передает контроллер наверняка в Unicode. Как то в arOPC кодировку поменять можно? Все клиенты, и под виндоус и андроид, которыми пользовался без проблем понимали текстовые значения...
Название: Re: MQTT arOPC
Отправлено: Айрат от 04.08.2020, 13:29:08 pm
Пока поменять нельзя.
Добавлю это дело в OPC сервер.
Сегодня, завтра.

Айрат
Название: Re: MQTT arOPC
Отправлено: Айрат от 07.08.2020, 10:40:18 am
Добрый день.

Добавил для MQTT две кодировки, Unicode и UTF8.
Ссылка для скачивания: https://yadi.sk/d/GGqcVFNIdWfBpw (https://yadi.sk/d/GGqcVFNIdWfBpw)

Айрат
Название: Re: MQTT arOPC
Отправлено: JonyBest от 07.08.2020, 19:30:35 pm
Спасибо! Всё отлично работает!!!
Название: Re: MQTT arOPC
Отправлено: JonyBest от 13.08.2020, 22:57:25 pm
Доброго времени суток!
Есть ощущение что OPC сервер не корректно работает на отправку по QoS 2, скорее отправка происходит по QoS 0. Нет гарантированной доставки сообщения. Т.е. если плохая связь или контроллер в момент отправки сообщения от OPC сервера был занят, то сообщение не доставляется. Хотя при использовании других клиентов таких проблем нет.
Название: Re: MQTT arOPC
Отправлено: Айрат от 14.08.2020, 08:38:14 am
Добрый день!

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

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

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

Айрат
Название: Re: MQTT arOPC
Отправлено: JonyBest от 14.08.2020, 12:34:04 pm
На сервере установлено:
1. MQTT брокер Mosquitto-1.6.10a
2. arOPC сервер
3. Simple-Scada

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

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

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

Айрат
Название: Re: MQTT arOPC
Отправлено: Eugene1 от 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, а пустое место.

Название: Re: MQTT arOPC
Отправлено: Айрат от 03.06.2021, 21:10:14 pm
Добрый день.

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

Айрат
Название: Re: MQTT arOPC
Отправлено: Eugene1 от 04.06.2021, 09:27:51 am
скриншоты по вопросу 2. Не зависит от того, запускается arOPC от имени администратора или пользователя.
.
(https://imageup.ru/img22/3750408/bufer-obmena01.jpg)
.
(https://imageup.ru/img184/3750411/bufer-obmena02.jpg)
.
(https://imageup.ru/img258/3750414/bufer-obmena03.jpg)
.
Часть текущего cfg файла - поле родитель разве должно быть пустое ? наверное "Device1" там должно быть. Развернуть каталог с Device1 в дереве не удается.
.
(https://imageup.ru/img114/3750431/cfg1.jpg)
Название: Re: MQTT arOPC
Отправлено: Айрат от 04.06.2021, 23:27:25 pm
Добрый день.

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

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

Айрат
Название: Re: MQTT arOPC
Отправлено: Айрат от 05.06.2021, 07:40:38 am
Добрый день.

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

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

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

Айрат
Название: Re: MQTT arOPC
Отправлено: Eugene1 от 07.06.2021, 10:21:23 am
по пункту 2. - не удается развернуть, как не нажимай, в этом и проблема. Попробовал сделать новую конфигурацию, все равно - если добавлять группу в устройство, она не разворачивается, и при этом даже добавленное устройство в конфигурации не видно. Если добавлять группу для теста в корень - то группа добавляется, и устройство сразу становится видимым. Но группы  в устройстве не видны, дерево ниже устройства не разворачивается.

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

шаг 1
(https://imageup.ru/img20/3757956/s1.jpg)

шаг 2
(https://imageup.ru/img188/3757957/s2.jpg)

шаг 3
(https://imageup.ru/img104/3757958/s3.jpg)

шаг 4
(https://imageup.ru/img163/3757959/s4.jpg)
Название: Re: MQTT arOPC
Отправлено: Eugene1 от 07.06.2021, 10:44:22 am
Еще одна проблема, туда же пункт 4.
При больших разрешениях экрана, более 1920 и установке масштабирования, как рекомендует ОС Windows 10 более 150% - кнопки "Ок" и "Отмена" в диалоге добавления устройства - уезжают за пределы формы диалога. То есть сама форма находится в пределах экрана - а кнопки и рамка за формой, нажать их нельзя.
Название: Re: MQTT arOPC
Отправлено: Айрат от 08.06.2021, 23:48:30 pm
Добрый день.

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

Айрат.