Table of contents

Модуль экспорта в БД

Обзор

Модуль экспорта в БД позволяет в реальном времени экспортировать данные, поступающие от устройств, в популярные базы данных. Поддерживаются СУБД Microsoft SQL Server, Oracle, PostgreSQL и MySQL. Модуль входит в дистрибутив Rapid SCADA и его отдельная установка не требуется. На следующем рисунке показана форма для настройки модуля.

Модуль экспорта в БД

Модуль поддерживает экспорт в несколько различных баз данных параллельно. База данных, в которую выполняется экспорт, называется цель экспорта. На основе параметров цели экспорта модуль создаёт экспортёр - программный объект, который обрабатывает очереди данных и вызывает SQL-запросы.

Информация о работе модуля записывается в файл журнала ModDbExport.log, информация по каждому экспортёру записывается в файлы ModDbExport_*.log и ModDbExport_*.txt.

Конфигурирование

Чтобы открыть форму для настройки модуля, на странице Сервер > Модули выберите модуль ModDbExport и нажмите кнопку Свойства. Модуль должен находиться в списке активных модулей. Конфигурация модуля сохраняется в файл ModDbExport.xml.

Добавьте новую цель экспорта в конфигурацию модуля с помощью кнопки , выбрав СУБД из выпадающего списка. Далее рассмотрим страницы, содержащие различные группы настроек цели экспорта. На скриншотах ниже показаны значения параметров по умолчанию.

Основные параметры

Укажите Код команды, если планируется вручную отправлять команды на экспорт архивов. Установите Номер канала статуса, чтобы отслеживать состояние экспорта через веб-интерфейс. Канал должен быть создан в базе конфигурации и иметь Расчётный тип. Значения канала: 0 - норма, 1 - ошибка. Параметры очереди подбираются экспериментальным путём в зависимости от объёма экспортируемых данных и быстродействия сервера БД.

Параметры соединения

БД, в которую выполняется экспорт, должна быть предварительно создана и содержать таблицы для хранения информации. Параметры для соединения с БД необходимо уточнить у её администратора. Если сервер БД развёрнут на отдельном компьютере, в настройках брандмауэра сервера необходимо разрешить входящие подключения по используемому TCP-порту.

Экспорт текущих данных

Текущие данные могут экспортироваться При получении Сервером от Коммуникатора или По таймеру. Передача данных при получении позволяет выгрузить в БД все текущие данные, получаемые от опрашиваемых устройств. Передача данных по таймеру уменьшает размер БД и экономит сетевой трафик.

Экспорт исторических данных

Под экспортом исторических данных подразумеваются данные, передаваемые с меткой времени, например:

  • архивы, которые скачиваются Коммуникатором из приборов учёта и передаются на Сервер;
  • данные получаемые от модуля Быстрый шлюз с удалённого сервера при репликации архивов.

Задержка экспорта позволяет избежать многократного экспорта расчётных данных, если подряд получены несколько срезов данных с одинаковой меткой времени. Бит исторического архива используется для извлечения данных расчётных каналов.

Репликация архивов

Репликация архивов обеспечивает идентичность информации в архиве Rapid SCADA и в БД. Если включена репликация архивов и установлена галочка Автоматический экспорт архивов, то исторические данные и события, получаемые Сервером от клиентов, не добавляются в очередь на экспорт, чтобы избежать дублирования. Состояние репликации сохраняется в процессе работы модуля и загружается при перезапуске службы Сервера.

Параметры запроса

На рисунке выше показаны параметры SQL-запроса, который вызывается экспортёром при получении Сервером соответствующих данных или при репликации архива. По ссылке доступны скрипты для создания модели БД и примеры запросов. SQL-запросы могут содержать параметры, которые указываются с префиксом @. Чтобы просмотреть список доступных параметров, зависящий от разновидности данных запроса, нажмите кнопку .

Если галочка Одним запросом снята, SQL-запрос будет вызван для каждого канала, данные которого обрабатываются. Параметры запроса для экспорта значения и статуса канала: @val и @stat.

Если галочка Одним запросом установлена, SQL-запрос будет вызван один раз только для тех каналов, номера которых явно заданы в фильтре запроса. При этом наименования параметров значения и статуса канала содержат номер канала, например, @val101 и @stat101.

Запросы с установленной галочкой Одним запросом игнорируются:

  1. Если текущие данные экспортируются при получении.
  2. При экспорте исторических данных, полученных от клиентов.

Команды

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

При получении корректной команды, создаётся задание и добавляется в очередь заданий экспортёра. Максимальная длина очереди заданий равна 10. Если очередь заполнена, новые команды будут проигнорированы.

Пример команды экспорта архива:

cmd=ExportArchive
startDT=2025-12-31 10:00:00
endDT=2025-12-31 11:00:00

Очистить очередь заданий:

cmd=ClearTaskQueue

В аргументах команд указывается время UTC.