Обзор
Распределенная архитектура
При использовании распределенной архитектуры наиболее ресурсоемкие компоненты — SCADA-сервер и сервер архивирования, выносятся на отдельные физические компьютеры. Операторские станции также выделяются на отдельные хосты в диспетчерских с обеспечением доступа ко всем узлам по локальной сети. SCADA-серверы могут объединять в кластеры. Такой подход позволяет распределить нагрузку:
- SCADA-сервер проводит непрерывный опрос оборудования и обработку данных в реальном времени;
- сервер архивирования отвечает за хранение исторических данных.
Кластер
Кластер — это группа SCADA-серверов (основной и один или несколько резервных), объединенных каналами связи для обеспечения отказоустойчивости. В таком варианте использования серверы резервируют функции друг друга.
---
title:
---
flowchart LR
subgraph CLUSTER[<B>SCADA-кластер</B>]
direction TD
S1(Основной сервер)
S2(Резервный сервер)
S1 <---> S2
style S1 fill:#e5f9ed,stroke-width:1px
style S2 fill:#e5f9ed,stroke-width:1px,color:#fff
style CLUSTER fill:#ffffff,stroke-dasharray: 10 10
end
AR[(Сервер БД)]
CL(Операторская станция)
S1 ---> AR
S2 ---> AR
CL <---> S1
CL <-.-> S2
Резервирование
Основные конфигурации
В "Симплайт 5" поддерживаются следующие конфигурации резервирования серверов:
1+1(Основной + Резервный);1+N(Основной + N резервных).
Принцип работы
Штатная работа — основной сервер кластера ведет опрос данных и запись истории в базу данных. Драйвер опроса резервного сервера выключен. При включенном флаге синхронизации между узлами, основной сервер синхронизирует значение тега с резервным сервером.
Переключение — при выходе из строя основного сервера (сбой питания, критическая ошибка ОС) резервный сервер фиксирует это, активирует опрос драйвера и перехватывает управление каналами связи с ПЛК. Перезапуск мнемосхем происходит автоматически.
Восстановление — когда резервный сервер вновь установит связь с основным, происходит обратное переключение, и резервный сервер снова перейдет в режим ожидания.
Особенности синхронизации баз данных
Архитектура предполагает два подхода к хранению исторических данных, от которых зависит логика синхронизации:
Общая база данных — оба сервера в кластере работают с одним массивом исторических данных. В этом случае синхронизация данных при переключении не требуется, поскольку база данных одна.
Индивидуальная база данных — каждый сервер кластера имеет собственную базу данных. После восстановления работы основного сервера резервный сервер, который был активен во время сбоя, производит автоматическую синхронизацию истории событий и архивов тегов с базой данных основного сервера, тем самым заполняя пробел в регистрации данных за период бездействия основного сервера.