From OpenSCADAWiki
Jump to: navigation, search
This page is a translated version of the page Modules/DAQGate and the translation is 93% complete.

Other languages:
English • ‎mRussian • ‎Українська
Модуль Имя Версия Лицензия Источник Языки Платформы Тип Автор
DAQGate Шлюз источников данных 2.13 GPL2 daq_DAQGate.so en,uk,ru,de x86,x86_64,ARM DAQ Роман Савоченко
Описание
Позволяет выполнять шлюзование источников данных удалённых OpenSCADA станций в локальные.
  • Спонсировано, асинхронной записи, усовершенствование в целом и в сообщениях с нарушениями и действий на 1.5 ЧД[!]: INSERTEC LTDA, Винницкая Птицефабрика

Основной функцией данного модуля является отражение данных подсистемы "Сбор данных" удалённых OpenSCADA станций на локальные. В своей работе модуль использует Собственный Протокол OpenSCADA и сервисные функции подсистемы "Сбор данных".

Модулем реализуются следующие функции:

  • Отражение структуры параметров подсистемы "Сбор данных" удалённой станции. Эта структура может периодически синхронизироваться при работе.
  • Доступ к конфигурации параметров. Конфигурация параметров контроллеров удалённых станций прозрачно отражается, что позволяет менять её удалённо.
  • Доступ к текущим значениям атрибутов параметров и возможность их модификации. Значения атрибутов параметров обновляются с периодичностью исполнения локального объекта контроллера. Запросы на модификацию атрибутов транслируются на удалённую станцию.
  • Отражение архивов значений отдельных атрибутов параметров. Реализовано отражение архивов двумя способами:
  1. предусматривает создание локального архива для атрибута и его синхронизацию с удалённым, при этом поддерживается восстановление архива на время недоступности удалённой станции;
  2. предусматривает трансляцию запросов локального архива к архиву удалённой станции.
  • Отражение сообщений выбранных источников данных удалённой станции в локальном архиве сообщений с префиксом "{Станция}:", включая и нарушения (отрицательный уровень). Процедура первичной синхронизации в целом предусматривает:
  1. запрос всех активных нарушений;
  2. запрос сообщений определённых источников на глубину, указанную параметром "Максимальная глубина данных архива значений и сообщений для восстановления при запуске", и по время предыдущего запроса, т.е. когда новые активные нарушения точно не появятся;
  3. переход в нормальный режим отслеживания новых сообщений и нарушений определённых источников.
  • Предоставление реализации механизма вертикального резервирования, а именно возможность отражения данных с нескольких станций одного уровня.
  • Реализация функции горизонтального резервирования, а именно совместной работы с удалённой станцией этого же уровня.

Использование доступных схем резервирования наглядно представлено на рисунке 1.

Рис.1. Горизонтальное и вертикальное резервирование.

1 Объект контроллера

Для добавления источника данных создаётся и конфигурируется объект контроллера OpenSCADA. Пример вкладки конфигурации объекта контроллера данного типа изображен на рисунке 2.

Рис.2. Вкладка конфигурации объекта контроллера.

With this tab you can set:

  • State of the controller object, that is: status, "Enabled", "Running" and the storage name containing the configuration.
At.png Manual restart of the enabled controller object causes the force resync at the sync period >= 0.
  • Identifier, name and description of the controller.
  • The state "Enabled" and "Running" in which the controller object must be translated at start up.
  • Acquisition schedule policy and priority of the data acquisition task.
  • Time interval of repetition attempts to restore communication with the lost station, in seconds.
  • Maximum depth of data of the archive values and messages to restore when start, in the hours. Zero for disable the remote archive access.
  • Asynchronous writing. Enables of writing in the common acquisition cycle for the buffer of accumulated values, by one request.
At.png Useful for slow and not reliable networks-connections since the writing buffer stores data before the connection restore and the real writing.
  • Level of requested messages of the data sources. Also enables the DAQ-messages of the User API function messSet() transferring to the lower stations.
  • Synchronization time with the remote station in seconds. Zero to disable the periodic sync and -1 for the sync disabling at the start also.
  • Remote OpenSCADA station of the reflected data. Several stations in the list enable the vertical redundancy mechanism.
  • List of the reflected controller objects and parameters. The list can be used as for controller objects for the reflection of all their parameters, and for individual parameters too.
  • Command to go to configuration of the OpenSCADA remote stations list.
  • Allow the automatic removal of parameters and attributes to update to the actual state.
At.png In the production mode, it's better to turn this off!
  • Placing different controllers to the different virtual parameters.

2 Параметры

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

Рис.3. Вкладка конфигурации отражённого параметра.

3 Замечания

В работе с этим модулем в целом рекомендуется следующий порядок:

  • На время активной разработки, а соответственно и изменения структуры параметров удалённой станции, нужно включить синхронизацию с периодичностью секунд 60 и разрешить удаление параметров и атрибутов.
  • Перед запуском в производство нужно: выключить периодическую синхронизацию (периодичностью 0) или даже при старте (периодичностью -1), запретить удаление параметров и атрибутов и сохранить текущую структуру параметров через сохранение объекта контролера. Это нужно для минимизации трафика и нагрузки удалённой станции обменом, что особенно важно для высоко-нагруженных ПЛК, поскольку синхронизация, хотя и распределяет синхронизацию отдельных параметров по тактами цикла обмену, все-же является ресурсоёмкой функцией.
  • Выполнение сервисных изменений структуры нужно осуществлять следующим образом:
    • изменяется структура параметров удалённой станции;
    • периодичность синхронизации устанавливается в 0, если стояло -1;
    • объект контроллера перезапускается, т.е. переключается состояние "Исполняется";
    • ожидается завершение синхронизации, т.е. исчезновение из состояния объекта контроллера "Синхронизация".
    • периодичность синхронизации возвращается в предыдущее значение;
    • сохраняется структура отражённый параметров через сохранение объекта контроллера шлюза.

4 Ссылки