DrvMqttClient — V6

Просмотр 15 сообщений - с 1 по 15 (из 43 всего)
  • Автор
    Сообщения
  • #23393
    manjey73
    Участник

    Попробовал добавить просто в Коммуникатор

    1

    2

    Может в окнах ошибок как-то добавлять что нужно сделать?

    Beta 6

    • Эта тема была изменена 1 год, 11 месяцев назад от Mikhail.
    #23396
    Mikhail
    Модератор

    В какой момент возникают обе ошибки?

    #23398
    a80808
    Участник

    тут тоже немного «побаловался» с MQTT, не очень получается пока.

    Подобное сообщение возникает если в Параметрах линии — Опрос устройств нажать кнопку Свойства
    Свойства линии

    При нажатии на ок «проваливается»к созданию шаблона, однако при нажатии «+» получаем вот это:
    ++++

    «Неладно что то в Датском королевстве…» 🙂

    #23399
    manjey73
    Участник

    Михаил, просто добавление в Линии дополнительного опроса с указанием DrvMqttClient и нажатия Свойства

    То есть концепция возможности настроить опрос только Коммуникатором не оправдалась.

    • Этот ответ был изменен 1 год, 11 месяцев назад от manjey73.
    #23401
    Mikhail
    Модератор

    Исправление в ScadaCommCommon.dll
    Библиотеку нужно положить в \SCADA\ScadaAdmin
    Войдёт в следующий дистрибутив

    #23402
    manjey73
    Участник

    Работает, но как клиента настраивать не понял.
    Правда задача была посмотреть окна настроек. В догонку — есть список драйверов, например DrvDsMqtt в выпадающем списке «Драйвер» неужели нет возможности закинуть в исключения драйвера, не поддерживающие создания устройств?

    Выбрал DrvMqttPublisher — Внизу справа типа подсказки, поле которой ограничено и не показывает весь текст. Например выбрал «Формат публикации»

    #23403
    Mikhail
    Модератор

    Работает, но как клиента настраивать не понял.

    Если требуется настроить, задавайте вопросы. После перевода модулей, будет разрабатываться документация.

    есть список драйверов, например DrvDsMqtt в выпадающем списке «Драйвер» неужели нет возможности закинуть в исключения драйвера, не поддерживающие создания устройств?

    Делать фиксированный список исключений — не красивый метод. Можно было бы называть драйвера устройств DrvDevXXX для фильтрации, но переделывать все готовые драйвера нет смысла.
    Уточню, что данный список заполняется без вызова классов из каждой DLL с целью обеспечить быструю работу. Поэтому критерий фильтра — только имя файла.

    Внизу справа типа подсказки, поле которой ограничено и не показывает весь текст.

    Нужно мышкой раздвинуть область подсказки. Это зашито в компонент, никак не могу повлиять.

    • Этот ответ был изменен 1 год, 11 месяцев назад от Mikhail.
    #23405
    manjey73
    Участник

    Что в имени файла является «DS» и «Cnl»? это не является признаком что драйвер не предоставляет создания устройств ?

    Может подобного фильтра будет достаточно?

    Мышкой раздвинул, вопрос, это свойство не может автоматически менять размер от количества текста ?

    #23406
    Mikhail
    Модератор

    На примере
    DrvDsMqtt — драйвер предоставляет источник данных (ds — data source). То есть забирает данные тегов КП и предоставляет сторонней системе. Аналогично DrvDsOpcUaServer.

    DrvCnlMqtt — драйвер предоставляет канал связи. Применительно к MQTT для соединения с брокером нужно для линии установить и настроить канал связи MQTT.

    Мышкой раздвинул, вопрос, это свойство не может автоматически менять размер от количества текста ?

    Не нашёл такой опции, скорее всего, нет. PropertyGrid — старый компонент с первых версий .NET, вряд ли Microsoft будет с ним что-то новое делать.

    #23408
    a80808
    Участник

    О пользе чтения инструкций 🙂
    Наваял пост с кучей ссылок — а потом прочитал Правила использования форума…
    Пост так и не появился…по понятным обстоятельствам.

    Делю на части:
    Часть 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)

    Разумеется линия не создается, в логах «Не найден файл»

    #23409
    a80808
    Участник

    Часть два:

    По публикациям
    Основные
    опрос
    Конфигурация

    Здесь вроде что то создается
    Линия
    Статистика
    Журнал

    Тут нет связи с каналом (каким?). Ну и ничего не публикуется — читаю MQTT.fx топик communicator/PB1 (правильно?) — ничего нет

    Что не так?

    P.S. Торжественно обещаю читать инструкции!

    #23415
    Mikhail
    Модератор

    В инсталляционном пакете не хватало Jint.dll, которая должна находиться в директории SCADA\ScadaComm
    Добавил dll в scada_6.beta.6.zip

    Тут нет связи с каналом (каким?)

    В основных параметрах линии нужно выбрать тип канала связи — MQTT-клиент, и настроить его.

    #23416
    a80808
    Участник

    В основных параметрах линии нужно выбрать тип канала связи — MQTT-клиент, и настроить его.

    Так нет MQTT в списке…
    Основные

    В Паблише та же картина…

    #23417
    Mikhail
    Модератор

    В дистрибутиве отсутствовали некоторые dll. Добавил:
    SCADA\ScadaAdmin\Lib\DrvCnlMqtt.View.dll
    SCADA\ScadaComm\Drv\DrvCnlMqtt.Logic.dll

    Спасибо, что обнаружили.

    • Этот ответ был изменен 1 год, 11 месяцев назад от Mikhail.
    #23425
    a80808
    Участник

    Итак, вроде заработало — и публикации и подписки. Действительно стало проще.
    Что обнаружилось:
    1. Где то здесь я читал (не нашел) что топики публикаций и подписок идут от корневого топика communicator. Все не так — указываемые топики идут от корня — например у меня указан топик публикации PB1 так от корня и идет PB1.
    Publish

    2. Подключил источник данных MQTT — данные видны только от подписки, соответственно в нее можно писать как через ОРС так и от внешнего клиента
    От внешнего клиента MQTT.fx
    Было записано
    Пишем…
    …записали…

    А вот здесь как раз корень Communicator.
    Может так и надо, я ошибся? 🙂

Просмотр 15 сообщений - с 1 по 15 (из 43 всего)
  • Вы должны авторизироваться для ответа в этой теме.