Модуль |
Имя |
Версия |
Лицензия |
Источник |
Языки |
Платформы |
Тип |
Автор
|
DAQGate |
Шлюз источников данных
|
2.9 |
GPL2 |
daq_DAQGate.so |
en,uk,ru,de |
x86,x86_64,ARM
|
DAQ |
Роман Савоченко
|
Описание
|
Позволяет выполнять шлюзование источников данных удалённых OpenSCADA станций в локальные.
- Спонсировано, асинхронной записи, усовершенствование в целом и в сообщениях с нарушениями и действий на 1.5 ЧД[!]: INSERTEC LTDA, Винницкая Птицефабрика
|
Основной функцией данного модуля является отражение данных подсистемы "Сбор данных" удалённых OpenSCADA станций на локальные. В своей работе модуль использует Собственный Протокол OpenSCADA и сервисные функции подсистемы "Сбор данных".
Модулем реализуются следующие функции:
- Отражение структуры параметров подсистемы "Сбор данных" удалённой станции. Эта структура может периодически синхронизироваться при работе.
- Доступ к конфигурации параметров. Конфигурация параметров контроллеров удалённых станций прозрачно отражается, что позволяет менять её удалённо.
- Доступ к текущим значениям атрибутов параметров и возможность их модификации. Значения атрибутов параметров обновляются с периодичностью исполнения локального объекта контроллера. Запросы на модификацию атрибутов транслируются на удалённую станцию.
- Отражение архивов значений отдельных атрибутов параметров. Реализовано отражение архивов двумя способами:
- предусматривает создание локального архива для атрибута и его синхронизацию с удалённым, при этом поддерживается восстановление архива на время недоступности удалённой станции;
- предусматривает трансляцию запросов локального архива к архиву удалённой станции.
- Отражение сообщений выбранных источников данных удалённой станции в локальном архиве сообщений с префиксом "{Станция}:", включая и нарушения (отрицательный уровень). Процедура первичной синхронизации в целом предусматривает:
- запрос всех активных нарушений;
- запрос сообщений определённых источников на глубину, указанную параметром "Максимальная глубина данных архива значений и сообщений для восстановления при запуске", и по время предыдущего запроса, т.е. когда новые активные нарушения точно не появятся;
- переход в нормальный режим отслеживания новых сообщений и нарушений определённых источников.
- Предоставление реализации механизма вертикального резервирования, а именно возможность отражения данных с нескольких станций одного уровня.
- Реализация функции горизонтального резервирования, а именно совместной работы с удалённой станцией этого же уровня.
Использование доступных схем резервирования наглядно представлено на рисунке 1.
Рис.1. Горизонтальное и вертикальное резервирование.
1 Объект контроллера
Для добавления источника данных создаётся и конфигурируется объект контроллера OpenSCADA. Пример вкладки конфигурации объекта контроллера данного типа изображен на рисунке 2.
Рис.2. Вкладка конфигурации объекта контроллера.
С помощью этой вкладки можно установить:
- Состояние объекта контроллера, а именно: статус, "Включен", "Выполняется" и имя БД, содержащей конфигурацию.
Ручной перезапуск включенного объекта контроллера вызывает принудительную пересинхронизацию при периоде синхронизации >= 0.
- Идентификатор, имя и описание контроллера.
- Состояние "Включен" и "Выполняется" в которое переводить объект контроллера при запуске.
- Таблица хранения кеша параметров, которые создаются даже при недоступности источника данных.
- Политика планирования и приоритет задачи сбора данных.
- Интервал времени повторения попытки восстановления связи с потерянной станцией, в секундах.
- Максимальная глубина данных архива значений и сообщений для восстановления при запуске, в часах. Ноль для отключения доступа к удалённому архиву.
- Асинхронная запись. Включает запись в общем цикле опроса для буфера накопленных значений, одним запросом.
Полезно для медленных и ненадёжных сетей-подключений поскольку сохраняет данные до восстановления подключения и реальной записи.
- Уровень запрашиваемых сообщений источников данных. Также включает передачу DAQ-сообщений функции API Пользователя messSet() на низшие станции.
- Периодичность синхронизации с удалённой станцией в секундах. Ноль для отключения периодической синхронизации и -1 также для отключения синхронизации при запуске.
- Удалённая станция отражаемых данных. Несколько станций в списке включают механизм вертикального резервирования.
- Список отражаемых объектов контроллеров и параметров. В списке можно указывать как только объекты контроллеров, для отражения всех их параметров, так и отдельно взятые параметры.
- Команда перехода к конфигурации перечня удалённых станций OpenSCADA.
- Осуществлять автоматическое удаление параметров и атрибутов для актуализации к текущему состоянию.
В производственном режиме лучше эту опцию отключать!
- Помещение различных контроллеров в отдельные виртуальные параметры.
2 Параметры
Модуль хотя и предоставляет возможность создания параметров вручную, однако это лишено смысла, поскольку такой параметр, при отсутствии его на удалённой станции, будет пустым. Все параметры создаются автоматически с учётом списка отражаемых объектов контроллеров и параметров. Параметры могут быть сохранёны в кеш для последующего их создания даже при отсутствии связи с удалённой станцией. Пример отраженного параметра приведён на рисунке 3.
Рис.3. Вкладка конфигурации отражённого параметра.
3 Замечания
В работе с этим модулем в целом рекомендуется следующий порядок:
- На время активной разработки, а соответственно и изменения структуры параметров удалённой станции, нужно включить синхронизацию с периодичностью секунд 60 и разрешить удаление параметров и атрибутов.
- Перед запуском в производство нужно: выключить периодическую синхронизацию (периодичностью 0) или даже при старте (периодичностью -1), запретить удаление параметров и атрибутов и сохранить текущую структуру параметров через сохранение объекта контролера. Это нужно для минимизации трафика и нагрузки удалённой станции обменом, что особенно важно для высоко-нагруженных ПЛК, поскольку синхронизация, хотя и распределяет синхронизацию отдельных параметров по тактами цикла обмену, все-же является ресурсоёмкой функцией.
- Выполнение сервисных изменений структуры нужно осуществлять следующим образом:
- изменяется структура параметров удалённой станции;
- периодичность синхронизации устанавливается в 0, если стояло -1;
- объект контроллера перезапускается, т.е. переключается состояние "Исполняется";
- ожидается завершение синхронизации, т.е. исчезновение из состояния объекта контроллера "Синхронизация".
- периодичность синхронизации возвращается в предыдущее значение;
- сохраняется структура отражённый параметров через сохранение объекта контроллера шлюза.
4 Ссылки