Коммуникатор — новые возможности ?

Стартовая страница Форумы Новые идеи Коммуникатор — новые возможности ?

Просмотр 6 сообщений - с 16 по 21 (из 21 всего)
  • Автор
    Сообщения
  • #16202
    Romiros
    Участник

    Вещь конечно прикольная, тоже как-то понадобилась. Например есть модель прибора, у которого можно запросить карту параметров и автоматически построить конфигурацию КП (типы трубопроводов, их количество, а так же параметры в зависимости от типа трубопровода). Но получается на время конфигурации нужно остановить линию связи, чтобы получить доступ к порту. Т.е. остановить сбор данных. Плюс Вы правильно сказали что настраивать получится только с локальной машины. С другой стороны доступ к Connection был бы полезен при работе с БД, чтобы не создавать самостоятельное подключение к базе для конфигурации (хотя по сути это несколько строчек кода).

    #16204
    manjey73
    Участник

    Ну, на удаленной машине мой драйвер тоже может построить конфигурацию шаблона. Я таким способом как раз и вышел из ситуации. Если в шаблоне параметр init = true то в Session проводится опрос и построение переменных в шаблоне, потом init сбрасывается с выводом в лог о перезапуске линии. После перезапуска линии, если init = false уже выполняется код формирования тегов и собственно сам опрос и передача в Сервер данных.

    Вот только скан там не запустишь, не, можно конечно и там код написать, но это будет достаточно долго или может быть долгим процессом.
    В принципе, если у нас линия связи не Сом порт, а ethernet, то отключив на рабочем ПК с Коммуникатором линию, к ней можно подключиться другим ПК, где все локально, выполнить сканирование и все что необходимо, а потом просто передать конфигурацию на уделенную машину.

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

    Вариант реализации такой функции:
    1. На КП отправляется команда сканирования линии — такой механизм есть. Команду можно отправить в том числе через Администратор на удалённый Коммуникатор, если прописан канал управления.
    2. Результат сканирования выгружается в файл. Этот файл уже придётся скопировать руками и открыть через свой пользовательский интерфейс драйвера.
    Если добавить в Администратор и Агент функцию выкачивания произвольного файла из экземпляра Rapid SCADA (что в принципе не очень сложно), то будет ещё проще.

    #16234
    manjey73
    Участник

    Можно выкачивать сразу в папку проекта. Вполне подойдет такой вариант например.
    По сути код окна свойств может полностью иметь те же методы, что и KpLogic, только при открытии этого окна иметь возможность остановить работу линии в штатном исполнении KpXXXLogic и потом запустить его дубль со своим кодом исполнения.

    Единственное, перенаправлять лог WriteToLog либо в это окно, либо иметь возможность его видеть в том же окне, что и при работе драйвера в штатном режиме.

    • Этот ответ был изменен 3 года, 10 месяцев назад от manjey73.
    #16277
    manjey73
    Участник

    В общем более менее определился с сохранением данных для КП. На словах опишу.

    Коммуникатор — Линия связи — Параметры линии связи — Пользовательские.
    Добавить колонку для номера КП. Если ячейка пуста, то «Наименование»-«Значение» относится к CustomParams без изменений для всей линии. Если заполнена то к отдельному КП, то есть например к KpCustomParams соответствующего КП. Механизмы те же. Доступ из кода Формы для заполнения значения из кода драйвера. вызов из кода OnAddedToCommLine и OnCommLineStart по команде GetKpParams() аналогично CustomParams, из добавления линии параметр отображается в kp00X.txt, из старта линии параметр скрыт от глаз.
    По KpCommonProps все аналогично существующему, типа дубль как есть <string, object> с теми же механизмами, хоть double, хоть int и т.д., если сделали override string, то отображается в kp00X.txt если нет, не отображается. Только связь только с конкретным КП.
    По командам GetKpProps() соответственно получаем инфу, пуст не пуст, если не пуст то можем обрабатывать данные.

    Команды для записи типа SaveKpParams() и SaveKpProps() для записи из кода.

    Арбитром записи соответственно выступает сам Коммуникатор между КП, линиями и складывает это все в один файл xml по линиям и КП (в принципе номера КП достаточно, они ведь всегда разные)… Только с нюансом.
    Коммуникатор не должен удалять записи отключенных КП и списка КП если отключена вся линия. Должен продолжать хранить эти записи. Удалять из списка должен только при удалении КП или всей линии связи.
    Сделать настройку авто сохранения xml.bak в минутах. В случае если поврежден основной, выполнять загрузку из bak и выводить в лог эту информацию…

    Для связи между КП при устройстве с одним адресом или на одной линии т.д. вполне достаточно существующих механизмов CustomParams и CommonProps

    ну, надеюсь описал подробно для понимания…

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

    Коммуникатор не должен удалять записи отключенных КП и списка КП если отключена вся линия.

    Да, это важный момент.

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