From OpenSCADAWiki
< Modules
Revision as of 11:04, 6 February 2024 by RomanSavochenko (Talk | contribs)

Jump to: navigation, search
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. Вкладка конфигурации объекта контроллера.

С помощью этой вкладки можно установить:

  • Состояние объекта контроллера, а именно: статус, "Включен", "Выполняется" и имя БД, содержащей конфигурацию.
At.png Ручной перезапуск включенного объекта контроллера вызывает принудительную пересинхронизацию при периоде синхронизации >= 0.
  • Идентификатор, имя и описание контроллера.
  • Состояние "Включен" и "Выполняется" в которое переводить объект контроллера при запуске.
  • Таблица хранения кеша параметров, которые создаются даже при недоступности источника данных.
  • Политика планирования и приоритет задачи сбора данных.
  • Интервал времени повторения попытки восстановления связи с потерянной станцией, в секундах.
  • Максимальная глубина данных архива значений и сообщений для восстановления при запуске, в часах. Ноль для отключения доступа к удалённому архиву.
  • Асинхронная запись. Включает запись в общем цикле опроса для буфера накопленных значений, одним запросом.
At.png Полезно для медленных и ненадёжных сетей-подключений поскольку сохраняет данные до восстановления подключения и реальной записи.
  • Уровень запрашиваемых сообщений источников данных. Также включает передачу DAQ-сообщений функции API Пользователя messSet() на низшие станции.
  • Периодичность синхронизации с удалённой станцией в секундах. Ноль для отключения периодической синхронизации и -1 также для отключения синхронизации при запуске.
  • Удалённая станция отражаемых данных. Несколько станций в списке включают механизм вертикального резервирования.
  • Список отражаемых объектов контроллеров и параметров. В списке можно указывать как только объекты контроллеров, для отражения всех их параметров, так и отдельно взятые параметры.
  • Команда перехода к конфигурации перечня удалённых станций OpenSCADA.
  • Осуществлять автоматическое удаление параметров и атрибутов для актуализации к текущему состоянию.
At.png В производственном режиме лучше эту опцию отключать!
  • Помещение различных контроллеров в отдельные виртуальные параметры.

2 Параметры

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

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

3 Замечания

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

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

4 Ссылки