Стартовая страница › Форумы › Ошибки в работе › DrvMqttClient — V6
- В этой теме 42 ответа, 4 участника, последнее обновление 1 год, 4 месяца назад сделано Romiros.
-
АвторСообщения
-
06.05.2022 в 22:40 #23393manjey73Участник06.05.2022 в 23:17 #23396MikhailМодератор
В какой момент возникают обе ошибки?
06.05.2022 в 23:30 #23398a80808Участниктут тоже немного «побаловался» с MQTT, не очень получается пока.
Подобное сообщение возникает если в Параметрах линии — Опрос устройств нажать кнопку Свойства
Свойства линииПри нажатии на ок «проваливается»к созданию шаблона, однако при нажатии «+» получаем вот это:
++++«Неладно что то в Датском королевстве…» 🙂
06.05.2022 в 23:38 #23399manjey73УчастникМихаил, просто добавление в Линии дополнительного опроса с указанием DrvMqttClient и нажатия Свойства
То есть концепция возможности настроить опрос только Коммуникатором не оправдалась.
- Этот ответ был изменен 1 год, 11 месяцев назад от manjey73.
07.05.2022 в 10:10 #23401MikhailМодераторИсправление в ScadaCommCommon.dll
Библиотеку нужно положить в \SCADA\ScadaAdmin
Войдёт в следующий дистрибутив07.05.2022 в 11:05 #23402manjey73УчастникРаботает, но как клиента настраивать не понял.
Правда задача была посмотреть окна настроек. В догонку — есть список драйверов, например DrvDsMqtt в выпадающем списке «Драйвер» неужели нет возможности закинуть в исключения драйвера, не поддерживающие создания устройств?Выбрал DrvMqttPublisher — Внизу справа типа подсказки, поле которой ограничено и не показывает весь текст. Например выбрал «Формат публикации»
08.05.2022 в 12:09 #23403MikhailМодераторРаботает, но как клиента настраивать не понял.
Если требуется настроить, задавайте вопросы. После перевода модулей, будет разрабатываться документация.
есть список драйверов, например DrvDsMqtt в выпадающем списке «Драйвер» неужели нет возможности закинуть в исключения драйвера, не поддерживающие создания устройств?
Делать фиксированный список исключений — не красивый метод. Можно было бы называть драйвера устройств DrvDevXXX для фильтрации, но переделывать все готовые драйвера нет смысла.
Уточню, что данный список заполняется без вызова классов из каждой DLL с целью обеспечить быструю работу. Поэтому критерий фильтра — только имя файла.Внизу справа типа подсказки, поле которой ограничено и не показывает весь текст.
Нужно мышкой раздвинуть область подсказки. Это зашито в компонент, никак не могу повлиять.
- Этот ответ был изменен 1 год, 11 месяцев назад от Mikhail.
09.05.2022 в 10:42 #23405manjey73УчастникЧто в имени файла является «DS» и «Cnl»? это не является признаком что драйвер не предоставляет создания устройств ?
Может подобного фильтра будет достаточно?
Мышкой раздвинул, вопрос, это свойство не может автоматически менять размер от количества текста ?
09.05.2022 в 11:39 #23406MikhailМодераторНа примере
DrvDsMqtt — драйвер предоставляет источник данных (ds — data source). То есть забирает данные тегов КП и предоставляет сторонней системе. Аналогично DrvDsOpcUaServer.DrvCnlMqtt — драйвер предоставляет канал связи. Применительно к MQTT для соединения с брокером нужно для линии установить и настроить канал связи MQTT.
Мышкой раздвинул, вопрос, это свойство не может автоматически менять размер от количества текста ?
Не нашёл такой опции, скорее всего, нет. PropertyGrid — старый компонент с первых версий .NET, вряд ли Microsoft будет с ним что-то новое делать.
09.05.2022 в 17:28 #23408a80808УчастникО пользе чтения инструкций 🙂
Наваял пост с кучей ссылок — а потом прочитал Правила использования форума…
Пост так и не появился…по понятным обстоятельствам.Делю на части:
Часть 1:
@mikhail, пытался что то создать под MQTT…вот результат1. Создаю две линии связи для подписки и публикации
Линии
2. Создаю соответственно два устройства
КП
3. Создаю два канала под подписку и под публкацию. Формула в канале публикации — чтобы что то публиковалось 🙂
Каналы
4. Импортирую в Коммуникатор — получаю линии связи
КоммуникаторДальше идем по подписке (SB)
Основные
опрос
КонфигурацияПосле перезапуска вот что получаем в журнале
2022-05-09 14:46:30 [DELL6230][DELL6230$][ERR] Ошибка при создании линии связи [1] MQTT testSB:
System.IO.FileNotFoundException: Could not load file or assembly ‘Jint, Version=0.0.0.0, Culture=neutral, PublicKeyToken=2e92ba9c8d81157f’. Не удается найти указанный файл.
File name: ‘Jint, Version=0.0.0.0, Culture=neutral, PublicKeyToken=2e92ba9c8d81157f’
at Scada.Comm.Drivers.DrvMqttClient.Logic.DevMqttClientLogic..ctor(ICommContext commContext, ILineContext lineContext, DeviceConfig deviceConfig)
at Scada.Comm.Drivers.DrvMqttClient.Logic.DrvMqttClientLogic.CreateDevice(ILineContext lineContext, DeviceConfig deviceConfig)
at Scada.Comm.Engine.CommLine.Create(LineConfig lineConfig, CoreLogic coreLogic, DriverHolder driverHolder)
at Scada.Comm.Engine.CoreLogic.CreateLine(LineConfig lineConfig)
Разумеется линия не создается, в логах «Не найден файл»09.05.2022 в 17:29 #23409a80808УчастникЧасть два:
По публикациям
Основные
опрос
КонфигурацияЗдесь вроде что то создается
Линия
Статистика
ЖурналТут нет связи с каналом (каким?). Ну и ничего не публикуется — читаю MQTT.fx топик communicator/PB1 (правильно?) — ничего нет
Что не так?
P.S. Торжественно обещаю читать инструкции!
10.05.2022 в 11:15 #23415MikhailМодераторВ инсталляционном пакете не хватало Jint.dll, которая должна находиться в директории SCADA\ScadaComm
Добавил dll в scada_6.beta.6.zipТут нет связи с каналом (каким?)
В основных параметрах линии нужно выбрать тип канала связи — MQTT-клиент, и настроить его.
10.05.2022 в 23:30 #23416a80808УчастникВ основных параметрах линии нужно выбрать тип канала связи — MQTT-клиент, и настроить его.
Так нет MQTT в списке…
ОсновныеВ Паблише та же картина…
11.05.2022 в 09:39 #23417MikhailМодераторВ дистрибутиве отсутствовали некоторые dll. Добавил:
SCADA\ScadaAdmin\Lib\DrvCnlMqtt.View.dll
SCADA\ScadaComm\Drv\DrvCnlMqtt.Logic.dllСпасибо, что обнаружили.
- Этот ответ был изменен 1 год, 11 месяцев назад от Mikhail.
11.05.2022 в 22:37 #23425a80808УчастникИтак, вроде заработало — и публикации и подписки. Действительно стало проще.
Что обнаружилось:
1. Где то здесь я читал (не нашел) что топики публикаций и подписок идут от корневого топика communicator. Все не так — указываемые топики идут от корня — например у меня указан топик публикации PB1 так от корня и идет PB1.
Publish2. Подключил источник данных MQTT — данные видны только от подписки, соответственно в нее можно писать как через ОРС так и от внешнего клиента
От внешнего клиента MQTT.fx
Было записано
Пишем…
…записали…А вот здесь как раз корень Communicator.
Может так и надо, я ошибся? 🙂 -
АвторСообщения
- Вы должны авторизироваться для ответа в этой теме.