Сервер
- Запуск и управление
- Лицензирование
- Конфигурационная БД
- Исторические БД
- Серверная файловая система
- Логирование
- Клиентские подключения
- Пароль root
- Сервер OPC UA
- Клиент OPC (Windows)
- Интеграция с ОИК Видикон
- Резервное копирование
- Справочник параметров server.json
Сервер ОИК является центральным компонентом системы. Он выполняет сбор данных с оборудования, обработку данных реального времени, архивирование, регистрацию событий и обслуживание клиентских подключений. Сервер работает под Windows (в виде системных служб или в консольном режиме) и Linux (в том числе в Docker-контейнере).
Сервер состоит из отдельных процессов: scada-config, scada-proxy, scada-historian, scada-filesystem, процессов протокольного уровня и др. Их назначение и типовые установки описаны в разделе Состав Сервера. Все процессы запускаются и настраиваются одинаково, поэтому ниже под «Сервером» понимается любой из них, а под server.json — файл параметров конкретного процесса.
Запуск и управление
Служба Windows
Каждый процесс Сервера устанавливается отдельной системной службой — Telecontrol SCADA Config, Telecontrol SCADA Proxy, Telecontrol SCADA Historian, Telecontrol SCADA IEC 104 и т.д. (полный список — в разделе Состав Сервера) — и запускается автоматически при загрузке Windows. Управление службами выполняется стандартными средствами Windows (Панель управления — Службы) или из командной строки исполняемого файла процесса:
| Команда | Описание |
|---|---|
--install |
Установить Сервер как службу Windows |
--uninstall |
Удалить службу Windows |
Настройка с помощью scada-setup
Под Windows процессы Сервера устанавливаются и настраиваются программой
scada-setup из состава установщика. Она сама создает файлы параметров
%ProgramData%\Telecontrol\SCADA Server\<процесс>\server.json из шаблонов,
конфигурационные БД и службы Windows. Папка процесса называется так же, как
процесс в параметре --tiers (config, proxy, historian, iec104…),
кроме scada-filesystem: его папка — filestore; ключи --install / --uninstall
исполняемых файлов нужны только при ручной настройке. Пошаговая установка
описана в разделе Начало работы.
| Команда | Действие | Права администратора |
|---|---|---|
scada-setup apply |
Создать файлы параметров и БД, зарегистрировать и запустить службы процессов, на которые выдана лицензия | да |
scada-setup status |
Сведения о лицензии и состояние служб процессов | нет |
scada-setup start / stop |
Запуск / остановка служб компьютера в нужном порядке | да |
scada-setup remove [--purge-data] |
Остановить и удалить службы (с --purge-data — и данные процессов) |
да |
scada-setup generate --output <папка> |
Только создать файлы параметров, для просмотра | нет |
scada-setup migrate [--execute] |
Перенести данные Сервера версии 2.5 — смотрите Переход с версии 2.5 | с --execute — да |
Общие параметры: --tiers <список> (по умолчанию — процессы из лицензии),
--central <адрес> (обязателен на компьютере без scada-config),
--advertise <адрес> (адрес этого компьютера для других, если имя компьютера
не разрешается в сети), --license <путь> (по умолчанию
%ProgramData%\Telecontrol\SCADA Server\license.json),
--svc-password <пароль> (или переменная окружения SCADA_SETUP_SVC_PASSWORD),
--data-root, --install-root.
apply можно выполнять повторно: он заново создает файлы параметров и
приводит службы к нужному состоянию, не трогая данные. Изменения, внесенные в
файлы параметров вручную, при этом теряются.
Переход с версии 2.5
Версии 2.5 и ранее устанавливали один процесс — службу Telecontrol SCADA
Server — и хранили его данные в папках Configuration, History и
FileSystem внутри %ProgramData%\Telecontrol\SCADA Server. Команда
scada-setup migrate переносит эти данные в процессы версии 2.6:
| Данные версии 2.5 | Куда копируются |
|---|---|
Конфигурация Configuration\configuration.sqlite3 |
В папку Configuration процессов config, proxy и historian |
Пароли пользователей Configuration\password.dat |
Туда же, рядом с каждой копией конфигурации |
Архивы History |
historian\History |
Файлы мнемосхем FileSystem |
filestore\FileSystem |
Все пути указаны относительно %ProgramData%\Telecontrol\SCADA Server; если в
server.json версии 2.5 были заданы другие папки, команда берет их оттуда.
Конфигурация копируется в три процесса, потому что каждый работает со своей
копией: scada-config передает ее процессам протокольного уровня,
scada-proxy проверяет по ней имена и пароли пользователей Клиента,
scada-historian берет из нее список исторических БД и назначение объектов.
Папки версии 2.5 только читаются: команда ничего в них не изменяет и не удаляет. Это важно, потому что при первом запуске процессы 2.6 преобразуют свои копии в новый формат, после которого версия 2.5 работать с ними уже не сможет. Удалите старые папки сами, когда убедитесь, что обновленная система работает.
Порядок перехода — на компьютере, где работал Сервер 2.5:
- Получите лицензию версии 2.6 (файл
license.json) в ООО «Телеконтроль» и положите ее в%ProgramData%\Telecontrol\SCADA Server\license.json. Аппаратный ключ HASP или Guardant версией 2.6 не используется. - Сделайте резервную копию всей папки
%ProgramData%\Telecontrol\SCADA Server. -
Установите пакет версии 2.6:
msiexec /i telecontrol-scada-<версия>.msi /qnУстановщик заменяет программу версии 2.5 и обычно сам удаляет ее службу; данные остаются на месте.
- Создайте сертификат Сервера в
C:\Program Files\Telecontrol SCADA\data\Certificates— без него процессы версии 2.6 не запустятся. -
Посмотрите, что будет сделано (команда ничего не меняет):
scada-setup migrateОна перечисляет, что и куда будет скопировано, сколько места для этого нужно, какие настройки версии 2.5 не переносятся и что мешает переходу.
-
Выполните переход в командной строке с правами администратора:
scada-setup migrate --execute --svc-password <пароль>Команда останавливает и удаляет службу Telecontrol SCADA Server, если она еще осталась, копирует данные и затем выполняет
scada-setup apply: создает файлы параметров, регистрирует и запускает службы процессов. - Задайте пароль root в файлах параметров
config,proxy,historianиfilestoreи перезапустите процессы (scada-setup stop, затемscada-setup start). - Подключитесь Клиентом (порт 2000, как и раньше) под учетной записью пользователя и проверьте объекты, архивы и мнемосхемы.
Переход не выполняется, а команда объясняет причину, если:
- конфигурация версии 2.5 хранится не в SQLite (например, в PostgreSQL);
- в версии 2.5 есть пользователь с идентификатором 100 — он занят служебной
учетной записью
svc. Создайте в версии 2.5 такого же пользователя под другим именем, удалите старого и повторите переход; - на этом компьютере не выбран ни один из процессов
config,proxyиhistorian; - данные уже были перенесены (папки назначения существуют — команда никогда их не перезаписывает);
- на диске недостаточно места.
Параметры --from <папка> (папка с server.json версии 2.5, если это не
%ProgramData%\Telecontrol\SCADA Server) и --from-exe-dir <папка> (папка
программы версии 2.5 — нужна, только если server.json не задавал папку
данных и она находилась рядом с программой) используются редко.
Если в версии 2.5 были включены клиент OPC или интеграция с ОИК Видикон, в
версии 2.6 это отдельные процессы scada-opc и scada-vidicon: лицензия
должна их включать. Команда migrate напоминает об этом в списке непереносимых
настроек.
Консольный режим
Процесс Сервера может быть запущен в консольном режиме. Для этого следует остановить его службу и использовать пиктограмму Сервер (консоль) на рабочем столе, либо через меню Пуск — ОИК Телеконтроль.
Внимание: при отсутствии у текущего пользователя Windows административных прав работа Сервера может быть нарушена.
Параметры командной строки
| Параметр | Описание |
|---|---|
--install |
Установить Сервер как службу Windows |
--uninstall |
Удалить службу Windows |
--service |
Запуск в режиме службы (используется системой) |
--param <путь> |
Указать путь к файлу параметров. По умолчанию на Windows — %ProgramData%\Telecontrol\SCADA <процесс>\<имя>.json (например, %ProgramData%\Telecontrol\SCADA IEC 104\scada-iec104.json), на Linux — <имя>.json в папке data рядом с папкой исполняемого файла |
--name <имя> |
Задать имя службы Windows вместо стандартного — позволяет установить на одном компьютере несколько служб одного процесса |
--display-name <имя> |
Задать отображаемое имя службы и заголовок консольного окна |
--log-severity <уровень> |
Задать уровень логирования (error, warning, info, debug) |
Развертывание под Linux
Серверный компонент поддерживает работу под Linux. Графический клиент под Linux не поддерживается.
Запуск из архива
Распакуйте архив дистрибутива и запустите исполняемые файлы нужных процессов (scada-config, scada-iec104 и т.д.). Каждый процесс читает свой файл параметров data/<имя>.json (путь к папке data отсчитывается от папки исполняемого файла: <папка программы>/../data) или файл, указанный параметром --param.
Развертывание в Docker
Для контейнерного развертывания используется единый Docker-образ для всех процессов. Процесс, который запускает контейнер, выбирается переменной окружения ROLE (config, proxy, historian, filesystem, modbus, iec104, iec61850); файл параметров процесса монтируется в контейнер как /etc/scada/<ROLE>.json. Клиентские подключения принимает контейнер proxy на порту 2000.
В файле параметров поддерживается подстановка переменных окружения в формате $ENV{VARIABLE_NAME}, что позволяет задавать параметры (например, строку подключения к PostgreSQL или пароль root) через переменные окружения контейнера. Неопределенная переменная заменяется пустой строкой.
Лицензирование
Каждому процессу Сервера нужен подписанный файл лицензии. В лицензии указаны срок действия и приобретенные процессы; процесс, не названный в лицензии, работать не будет. Аппаратный ключ не используется.
Параметры задаются в блоке license файла параметров:
"license": {
"file": "C:\\ProgramData\\Telecontrol\\license.json",
"require_gcp_binding": false
}
| Параметр | По умолчанию | Описание |
|---|---|---|
file |
license.json |
Путь к файлу лицензии. Относительный путь отсчитывается от рабочей папки процесса, поэтому надежнее указывать абсолютный. Если параметр не задан, используется переменная окружения SCADA_SERVER_LICENSE_FILE |
require_gcp_binding |
true |
Проверять привязку лицензии к виртуальной машине Google Cloud. Вне Google Cloud задайте false, иначе лицензия не может быть проверена. Если параметр не задан, используется переменная окружения SCADA_SERVER_LICENSE_REQUIRE_GCP_BINDING |
Файлы параметров, созданные scada-setup, уже содержат путь %ProgramData%\Telecontrol\SCADA Server\license.json (или заданный ключом --license) и "require_gcp_binding": false.
Лицензия проверяется при запуске и затем каждые несколько секунд:
- Нет действительной лицензии или она не включает этот процесс — процесс останавливается. Причина записывается в журнал.
- Лицензию не удалось проверить (например, не ответил сервер метаданных Google Cloud) — процесс продолжает работать, но не обслуживает запросы, пока проверка не завершится.
- Срок лицензии истек — процесс продолжает работать, но отклоняет запросы. После замены файла лицензии обслуживание возобновляется без перезапуска.
Версии 2.5 и ранее использовали аппаратный ключ HASP или Guardant и без него работали в демонстрационном режиме 2 часа.
Конфигурационная БД
Для хранения конфигурации используется база данных в папке, заданной параметром configuration.dir файла параметров процесса. Удобно указывать ${DIR_PARAM}/Configuration — папку рядом с файлом параметров, как в примере ниже. Если параметр не задан, БД создается в папке исполняемого файла.
SQLite
По умолчанию используется встроенная БД SQLite, не требующая установки дополнительного ПО:
"configuration": {
"driver": "SQLite",
"dir": "${DIR_PARAM}/Configuration"
}
PostgreSQL
Для распределенных установок и повышенных требований к надежности поддерживается PostgreSQL:
"configuration": {
"driver": "PostgreSQL",
"connection-string": "postgresql://user:password@localhost:5432/scada"
}
При использовании PostgreSQL требуется предварительно установить и настроить сервер PostgreSQL.
Миграция конфигурационной БД GigaBASE
Поддержка GigaBASE была удалена начиная с версии 2.1. Для импорта старых конфигураций GigaBASE используйте утилиту администрации версии 2.0.
Утилита не публикуется на странице выпусков; для ее получения обратитесь в ООО «Телеконтроль» (mail@telecontrol.ru). Распакуйте архив ZIP и запустите из распакованной директории:
admin export --source-driver=GigaBASE "--source=c:\ProgramData\Telecontrol\SCADA Server\Configuration" --target-driver=SQLite "--target=c:\ProgramData\Telecontrol\SCADA Server\Configuration"
Эта команда создаст файл конфигурации SQLite configuration.sqlite3 в директории c:\ProgramData\Telecontrol\SCADA Server\Configuration. Все содержимое старой конфигурации будет импортировано в новую конфигурацию.
Для использования новой конфигурации нужно обновить параметры сервера. Откройте файл server.json и измените параметр configuration.driver с GigaBASE на SQLite. Если такой параметр отсутствует, его нужно добавить.
Исторические БД
Исторические БД создаются в формате SQLite.
Для хранения событий аудита и последних значений объектов используется системная историческая БД.
Для хранения событий и изменений значений параметров используются пользовательские исторические БД. Допустимо создание нескольких пользовательских исторических БД. Сервер автоматически создает и удаляет необходимые файлы на диске при создании и удалении БД.
Исторические БД ведет процесс scada-historian. Местоположение БД определяется параметром history.dir его файла параметров; scada-setup задает папку %ProgramData%\Telecontrol\SCADA Server\historian\History. (Сервер версии 2.5 хранил их в %ProgramData%\Telecontrol\SCADA Server\History; при переходе с версии 2.5 они копируются в новую папку.)
Для каждой БД создается собственная подпапка с числовым идентификатором БД. Исключением является фиксированное имя System системной БД. Каждому объекту может быть назначена одна БД. При удалении объекта все связанные с ним данные удаляются из БД. При переназначении БД объекту связанные с ним данные удаляются из предыдущей БД.
Историческим БД задается глубина хранения данных. Сервер автоматически выполняет очистку БД в соответствии с ее глубиной.
Оценка требуемого дискового пространства
Новые БД создаются со стандартным для SQLite размером страницы 4 Кб; БД, перенесенные из прежних версий, сохраняют свой. Допустимые размеры смотрите в характеристиках SQLite.
Размер записи одного Объекта составляет менее 100 Байт.
Таким образом, ожидаемый размер БД в Мб можно вычислить как:
size = freq * depth / 10000, где:
size- ожидаемый размер БД в Мб;freq- частота изменений в день;depth- глубина (в днях).
Либо, при известном объеме доступного дискового пространства, можно вычислить максимальную глубину в днях:
depth = size * 10000 / freq.
Работа с БД SQLite
Данный пункт описывает дополнительные возможности администрирования и диагностики. Так как сервер выполняет обслуживание БД в автоматическом режиме, ознакомление с данным пунктом не требуется.
Удобный графический интерфейс предоставляет бесплатная утилита SQLiteStudio.
Для прямого доступа к БД можно использовать утилиту командной строки sqlite3. В установку версии 2.6 она не входит (версии 2.5 и ранее ее устанавливали); загрузите ее со страницы загрузок SQLite. Файл БД называется history и лежит в папке БД. Перейдите в эту папку и выполните команду
sqlite3 history
Открывайте для записи только БД остановленного процесса (scada-setup stop).
Утилита позволяет выполнять запросы SQL и ряд специальных команд. Для информации о списке допустимых команд смотрите документацию SQLite.
Примеры
Размер страницы БД:
sqlite> pragma page_size;
4096
Перечень таблиц: значения параметров (timed_data), последние значения
объектов (items_info) и по таблице на каждый тип событий:
sqlite> .tables
AuditActivateSessionEventType OperatorActionAuditEventType
AuditUpdateMethodEventType SystemEventType
DeviceWatchEventType items_info
ItemAlarmEventType timed_data
В БД, перенесенной из прежних версий, может быть также таблица
events_v1_backup — это исходная таблица событий старого формата, данные
которой уже перенесены в SystemEventType.
Схема таблицы системных событий:
sqlite> .schema SystemEventType
CREATE TABLE SystemEventType(EventID INTEGER PRIMARY KEY NOT NULL, Time INTEGER NOT NULL, ReceiveTime INTEGER NOT NULL, ChangeMask INTEGER, Severity INTEGER, NodeNS INTEGER NOT NULL, NodeID INTEGER NOT NULL, UserID INTEGER, Value FLOAT, Qualifier INTEGER, Message TEXT, Acked BOOLEAN NOT NULL, AckTime INTEGER, AckUserID INTEGER, SourceName TEXT, MessageLocale TEXT, SourceNameLocale TEXT);
CREATE INDEX SystemEventType_TimeIndex ON SystemEventType(Time);
CREATE INDEX SystemEventType_NodeIndex ON SystemEventType(NodeNS, NodeID);
Количество системных событий в архиве:
sqlite> select count(*) from SystemEventType;
86
Серверная файловая система
Серверная файловая система позволяет хранить файлы мнемосхем на Сервере. Таким образом, доступ к мнемосхемам будет предоставлен всем Клиентам, избавляя их от необходимости ручной синхронизации при обновлении файлов.
Серверную файловую систему ведет процесс scada-filesystem. В файле параметров, который создает scada-setup, она уже включена. При ручной настройке включите ее параметром filesystem.enabled в файле server.json процесса:
"filesystem": {
"enabled": true,
"dir": "${DIR_PARAM}/FileSystem"
}
Файлы мнемосхем размещаются в папке, указанной в параметре dir; scada-setup задает папку %ProgramData%\Telecontrol\SCADA Server\filestore\FileSystem. (Сервер версии 2.5 хранил их в %ProgramData%\Telecontrol\SCADA Server\FileSystem; при переходе с версии 2.5 они копируются в новую папку.) Управление файлами выполняется из панели файлов Клиента.
Логирование
Сервер ведет журнал работы в текстовых файлах. Параметры логирования:
| Параметр | По умолчанию | Описание |
|---|---|---|
log.dir |
${DIR_PARAM}/Logs |
Папка файлов журнала |
log.max_file_size |
10 | Максимальный размер одного файла (Мб) |
log.max_total_size |
100 | Максимальный общий размер всех файлов (Мб) |
log.max_count |
1000 | Максимальное количество файлов |
При достижении максимального размера файла создается новый. При превышении общего размера или количества файлов старые файлы удаляются автоматически.
Уровень логирования можно задать при запуске параметром --log-severity.
Клиентские подключения
Параметр sessions определяет адреса и порты для приема клиентских подключений. По умолчанию Сервер принимает подключения на всех сетевых интерфейсах (0.0.0.0) на порту 2000.
"sessions": [
"tcp;passive;host=0.0.0.0;port=2000"
]
Допускается задание нескольких точек подключения, например для разных сетевых интерфейсов или портов.
Пароль root
Встроенная учетная запись root имеет все права и существует всегда, независимо от содержимого конфигурации. Ее пароль задается параметром security.rootPassword:
"security": {
"rootPassword": "$ENV{SCADA_ROOT_PASSWORD}"
}
ВНИМАНИЕ: если параметр не задан, при первом запуске root получает пустой пароль и Сервер принимает вход root без пароля (в журнал выводится предупреждение). Задайте пароль до того, как Сервер станет доступен по сети.
Заданное значение имеет приоритет: оно записывается при каждом запуске и заменяет пароль, сохраненный ранее, в том числе измененный из Клиента. Чтобы пароль не хранился в файле открытым текстом, передавайте его через переменную окружения, как в примере выше.
scada-setup этот параметр не задает, и файлы параметров, которые он создает, после каждого apply создаются заново — порядок действий описан в разделе Начало работы.
Параметр задается каждому процессу, который хранит конфигурацию в собственной базе данных, — у каждого из них своя учетная запись root. В минимальной установке это единственный процесс. В типовой распределенной установке это scada-config, scada-proxy, scada-historian и scada-filesystem; процессы протокольного уровня получают конфигурацию от scada-config и этот параметр не используют (об этом выводится сообщение в журнал).
Сервер OPC UA
Сервер может предоставлять данные внешним системам по протоколу OPC UA. При включении OPC UA внешние клиенты получают доступ к адресному пространству Сервера ОИК: объектам, устройствам, текущим и историческим данным.
Для включения установите параметр opcua.enabled в значение true:
"opcua": {
"enabled": true,
"url": "opc.tcp://localhost:4840",
"server_private_key": "${DIR_PARAM}/Certificates/ServerPrivateKey.pem",
"server_certificate": "${DIR_PARAM}/Certificates/ServerCertificate.pem",
"trace": "none"
}
| Параметр | Описание |
|---|---|
enabled |
Включить сервер OPC UA |
url |
Адрес и порт сервера OPC UA |
server_private_key |
Путь к файлу закрытого ключа (PEM) |
server_certificate |
Путь к файлу сертификата (PEM) |
trace |
Уровень диагностики: none, error, warning, info, debug, all |
Сертификат Сервера
Для защищенных соединений (политика Basic256Sha256, режим «Подпись и
шифрование») процессу нужны закрытый ключ и сертификат в формате PEM, заданные
параметрами server_private_key и server_certificate:
- ключ RSA (рекомендуется 2048 бит) без пароля;
- если параметры не заданы, процесс предлагает только незащищенные соединения (политика None);
- если параметры заданы, а файлов нет или их не удается прочитать,
процесс не запускается — в журнал выводится
Can't open fileилиFailed to parse OPC UA server certificate PEM.
Файлы параметров, созданные scada-setup, ссылаются на
C:\Program Files\Telecontrol SCADA\data\Certificates\ServerCertificate.pem
и ServerPrivateKey.pem, а установщик эти файлы не создает. Создайте их до
scada-setup apply, иначе процессы не запустятся.
Создать самоподписанную пару можно программой OpenSSL
(в Windows она не входит в состав системы; ее устанавливают, например, вместе
с Git для Windows). Сохраните в файл cert.cnf:
[req]
distinguished_name = dn
x509_extensions = v3
prompt = no
[dn]
O = Telecontrol
CN = Telecontrol SCADA Server
[v3]
basicConstraints = critical, CA:TRUE
keyUsage = critical, digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment, keyCertSign
extendedKeyUsage = serverAuth, clientAuth
subjectKeyIdentifier = hash
subjectAltName = @san
[san]
URI.1 = urn:telecontrol:scada:server
URI.2 = urn:SCADA-HOST:scada:historian
DNS.1 = SCADA-HOST
DNS.2 = localhost
IP.1 = 127.0.0.1
и выполните:
openssl req -x509 -nodes -newkey rsa:2048 -sha256 -days 1826 ^
-keyout ServerPrivateKey.pem -out ServerCertificate.pem -config cert.cnf
В разделе [san] замените SCADA-HOST именем компьютера и перечислите
идентификаторы (ApplicationUri) всех процессов, работающих на нем:
urn:telecontrol:scada:server для scada-config и scada-proxy,
urn:<имя компьютера>:scada:<процесс> для остальных (например
urn:SCADA-HOST:scada:iec104). Спецификация OPC UA требует, чтобы сертификат
содержал идентификатор приложения, и сторонние клиенты OPC UA это проверяют.
Скопируйте оба файла в папку, на которую ссылаются параметры, и ограничьте
доступ к файлу ключа.
Проверка сертификатов клиентов по умолчанию выключена: Сервер принимает любой клиентский сертификат. Чтобы принимать только доверенные, задайте папки:
| Параметр | Описание |
|---|---|
trusted_certificates_dir |
Доверенные сертификаты клиентов (PEM или DER); клиент принимается, если его сертификат есть в этой папке |
issuer_certificates_dir |
Сертификаты удостоверяющих центров; принимается клиент, чей сертификат ими подписан |
crl_dir |
Списки отзыва для удостоверяющих центров |
rejected_certificates_dir |
Сюда записываются отклоненные сертификаты клиентов — их можно перенести в доверенные |
Дополнительные ограничения задаются в блоке opcua.security:
"allow_none": false запрещает незащищенные соединения,
"require_encryption_for_password": true запрещает передачу пароля без
шифрования, "require_trusted_client_cert": true требует доверенный сертификат
клиента. Анонимный вход предлагается всегда. Настольный Клиент сертификат
Сервера не проверяет.
Клиент OPC (Windows)
На Windows Сервер может подключаться к внешним OPC-серверам по протоколу OPC DA (Classic OPC). При включении этой функции теги внешних OPC-серверов отображаются в адресном пространстве Сервера ОИК и могут быть привязаны к объектам.
"opc": {
"client": {
"enabled": true
}
}
Функция доступна только на Windows.
Интеграция с ОИК Видикон
Сервер поддерживает интеграцию с системой ОИК Видикон для миграции существующих проектов. При включении Сервер импортирует объекты из конфигурации Видикон в своё адресное пространство.
"vidicon": {
"enabled": true
}
Функция доступна только на Windows.
Резервное копирование
Все данные процессов, установленных scada-setup, находятся в папке
%ProgramData%\Telecontrol\SCADA Server: у каждого процесса своя папка, а в
ней — файл параметров и данные. Проще всего копировать эту папку целиком,
предварительно остановив процессы, чтобы копия была целостной:
scada-setup stop
rem скопируйте %ProgramData%\Telecontrol\SCADA Server
scada-setup start
Резервное копирование конфигурации
Конфигурационные БД SQLite хранятся в папках Configuration процессов
config, proxy, historian и filestore. Основная конфигурация — у
scada-config (config\Configuration); по копии scada-proxy
(proxy\Configuration) проверяются имена и пароли пользователей Клиента.
При использовании PostgreSQL используйте стандартные средства резервного копирования PostgreSQL (pg_dump).
Резервное копирование архивов
Исторические БД хранятся в папке historian\History, файлы мнемосхем — в
filestore\FileSystem.
В версии 2.5 и ранее эти данные находились в папках Configuration, History
и FileSystem непосредственно в %ProgramData%\Telecontrol\SCADA Server.
После перехода с версии 2.5 они остаются на месте, но
процессами 2.6 уже не используются.
Справочник параметров server.json
Системные параметры задаются в файле параметров процесса (server.json в тексте этого раздела). Расположение файла по умолчанию описано в параметре --param.
В параметрах допускается использование переменных подстановки:
| Переменная | Описание |
|---|---|
${DIR_PARAM} |
Папка файла параметров |
${DIR_EXE} |
Папка исполняемого файла сервера |
${DIR_TEMP} |
Временная папка |
$ENV{ИМЯ} |
Значение переменной окружения ИМЯ (пустая строка, если она не задана) |
Полный пример файла параметров со значениями по умолчанию:
{
"configuration": {
"driver": "SQLite",
"dir": "${DIR_PARAM}/Configuration"
},
"history": {
"dir": "${DIR_PARAM}/History"
},
"sessions": [
"tcp;passive;host=0.0.0.0;port=2000"
],
"opc": {
"client": {
"enabled": false
}
},
"opcua": {
"enabled": false,
"url": "opc.tcp://localhost:4840",
"server_private_key": "${DIR_PARAM}/Certificates/ServerPrivateKey.pem",
"server_certificate": "${DIR_PARAM}/Certificates/ServerCertificate.pem",
"trace": "none"
},
"filesystem": {
"enabled": true,
"dir": "${DIR_PARAM}/FileSystem"
},
"vidicon": {
"enabled": false
},
"log": {
"dir": "${DIR_PARAM}/Logs",
"max_file_size": 10,
"max_total_size": 100,
"max_count": 1000
},
"thread_count": 1
}