Модули/Шлюз сбора данных - OpenSCADAWiki

# Модули/Шлюз сбора данных

This page is a translated version of the page Modules/DAQGate and the translation is 93% complete.

English • ‎mRussian • ‎Українська

Модуль | Имя | Версия | Лицензия | Источник | Языки | Платформы | Тип | Автор
--- | --- | --- | --- | --- | --- | --- | --- | ---
DAQGate | Шлюз источников данных | 2.15 | 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.

  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.

  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.

  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 Ссылки

- Диаграмма: Горизонтальное и вертикальное резервирование.

Modules/DAQGate/ru - GFDL | July 2026 | OpenSCADA 1+r3070