Архитектура

Обзор

ОИК Телеконтроль построен по Клиент-Серверной архитектуре. Сервер выполняет сбор данных с оборудования, обработку в реальном времени, архивирование и обслуживание клиентских подключений. Сервер состоит из отдельных процессов, каждый из которых отвечает за свою часть этой работы, — смотрите Состав Сервера. Клиенты подключаются к Серверу по протоколу TCP/IP и предоставляют оператору средства визуализации и управления. Количество клиентов не ограничивается.

Основной поток данных:

  1. Устройства передают телеметрию на Сервер по промышленным протоколам (MODBUS, МЭК-60870-5, МЭК-61850).
  2. Сканер (процессы протокольного уровня) принимает данные и распределяет их по информационным каналам.
  3. Система реального времени обрабатывает данные: резервирование, преобразование, контроль уставок, дорасчет.
  4. Архив (процесс scada-historian) сохраняет историю изменений значений и системных событий.
  5. Клиенты отображают данные оператору и передают команды управления в обратном направлении.

Сервер также может предоставлять данные внешним системам через OPC UA и принимать данные от внешних OPC-серверов.

Состав Сервера

Сервер ОИК — это не одна программа, а набор процессов. Каждый процесс устанавливается как отдельная служба Windows (или запускается как отдельный процесс под Linux), имеет собственный файл параметров и приобретается отдельно — в поставку входят только нужные объекту процессы.

Процесс Служба Windows Назначение
scada-config Telecontrol SCADA Config Хранит конфигурацию (объекты, оборудование, пользователи) и раздает ее остальным процессам
scada-proxy Telecontrol SCADA Proxy Принимает подключения Клиентов и объединяет данные остальных процессов в единое адресное пространство
scada-historian Telecontrol SCADA Historian Архивирование значений и событий, выдача истории
scada-filesystem Telecontrol SCADA Filesystem Серверная файловая система (мнемосхемы и другие файлы)
scada-modbus Telecontrol SCADA Modbus Сбор данных по протоколам MODBUS RTU/TCP
scada-iec104 Telecontrol SCADA IEC 104 Сбор данных по протоколам МЭК 60870-5-101/104
scada-iec61850 Telecontrol SCADA IEC 61850 Сбор данных по протоколу МЭК 61850
scada-opc Telecontrol SCADA OPC Клиент OPC (только Windows)
scada-vidicon Telecontrol SCADA Vidicon Интеграция с ОИК Видикон (только Windows)

Процессы обмениваются данными между собой по протоколу OPC UA.

Процессы протокольного уровня получают конфигурацию от scada-config и не хранят ее сами, поэтому работают только вместе с ним. Наименьшая установка, которую создает программа настройки scada-setup, состоит из scada-config, одного или нескольких процессов протокольного уровня, scada-filesystem и scada-proxy, к которому подключаются Клиенты. Без scada-filesystem недоступна серверная файловая система (scada-setup предупреждает об этом). Для архива значений и событий добавляется scada-historian: история сохраняется только им. Лицензия должна называть каждый из установленных процессов — смотрите Выбор процессов Сервера.

Процессы можно установить на один компьютер или распределить по нескольким: обычно scada-config, scada-historian, scada-filesystem и scada-proxy работают на центральном компьютере, а процессы протокольного уровня — на нем же или на компьютерах рядом с оборудованием. Запускайте процессы в порядке: scada-config, затем scada-historian, scada-filesystem и процессы протокольного уровня, затем scada-proxy; scada-setup start соблюдает этот порядок на каждом компьютере.

Работа с процессами — запуск, службы Windows, файлы параметров — описана в разделе Сервер.

Клиент-серверное взаимодействие

Клиенты подключаются к Серверу по протоколу TCP/IP (порт 2000 по умолчанию) — к процессу scada-proxy. Соединение устойчиво к кратковременным разрывам связи — при потере соединения Клиент автоматически выполняет переподключение. После восстановления связи Клиент получает актуальные данные от Сервера.

Через одно подключение Клиент получает обновления данных объектов в реальном времени (подписка), запрашивает исторические данные, выполняет команды управления и редактирует конфигурацию. Количество одновременных клиентских подключений не ограничивается.

Настройка адресов и портов подключения описана в разделе Клиентские подключения Сервера.

Разграничение доступа

ОИК поддерживает многопользовательский доступ с разделением полномочий. Учетной записи пользователя назначаются два независимых права — «Управление» и «Настройка конфигурации». Их сочетания дают четыре привычных значения:

Права Управление, ручной ввод и уставки Редактирование конфигурации
0 — Руководитель Нет Нет
1 — Инженер АСУ и связи Да (смотрите предупреждение) Да
2 — Диспетчер Да Нет
3 — Администратор Да Да

ВНИМАНИЕ: в этой версии право «Настройка конфигурации» позволяет также выдавать команды управления, выполнять ручной ввод и изменять уставки, даже без права «Управление». Уставки к тому же редактируются в свойствах объекта (группа «Уставки») любым, кто вправе изменять конфигурацию. Давайте право «Настройка конфигурации» только тем, кому допустимо управлять оборудованием.

При подключении Клиент проходит аутентификацию по имени и паролю. Сервер проверяет запросы по ролям OPC UA, которые выводятся из этих прав. Права доступа определяют доступность команд управления, ручного ввода, редактирования конфигурации и администрирования пользователей.

Подробности о настройке пользователей смотрите в разделе Конфигурирование пользователей.

Объекты

Информационными объектами ОИК являются логические параметры, представляющие в обработанной форме всю информацию, которая по различным физическим каналам связи от источников данных (от контролируемого оборудования) поступает на Сервер ОИК для их дальнейшей обработки, хранения и отображения в удобном для оператора виде.

В ОИК все информационные объекты делятся на следующие типы:

  • Объекты телесигнализации (ТС), предназначенные для работы с поступающей на Сервер ОИК дискретной информацией
  • Объекты телеизмерения (ТИТ), предназначенные для работы с поступающей на Сервер ОИК измерительной информацией

В ОИК реализован контроль над исполнением команд телеуправления (ТУ или телерегулирования), предназначенных для работы с информацией, подлежащей передаче от Сервера ОИК в направлении контролируемого оборудования.

Объекты могут быть идентифицированы по номеру и, опционально, по текстовому алиасу - уникальному в рамках ОИК псевдониму, задаваемому пользователем (длина алиаса не должна превышать 50 символов, в названии алиаса пробелов быть не должно). Идентификация необходима для привязки объектов к элементам графических схем и для использования в дорасчётных выражениях.

Также для объекта может быть настроено архивирование в базу данных с указанием глубины архива в днях.

ВНИМАНИЕ: При удалении объекта удаляется вся связанная с ним история.

Группы объектов

Объекты могут быть включены в группы объектов. Группы, в свою очередь, могут быть включены в другие группы. Пользователь может перемещать объекты между группами без нарушения поведения системы.

В общем случае группы объектов имеют древовидную структуру следующего вида на примере энергообъекта:

Название подстанции
    Название фидера подстанции
        Название узла учета
            ...

Резервирование

Для реализации функций горячего резервирования каждому объекту может быть присвоено до двух источников данных. В случае двух источников, потеря достоверности по основному источнику приведет к автоматическому переключению объекта на резервный источник данных, а при восстановлении снова будет задействован основной источник данных для объекта.

Также может быть задан один канал ТУ. В частности, каналом ТУ может быть канал, используемый в качестве источника данных этого же объекта.

Значения, полученные от источников данных, могут быть инвертированы (для объектов ТС), преобразованы по линейной шкале (для объектов ТИТ) или вычислены с использованием математической формулы (Дорасчёт).

Устройства и протоколы

Для задания конфигурации оборудования ОИК определяет два класса: направления и устройства. Направления представляют собой определение физического канала связи с устройствами (параметры COM-порта, IP-адрес и т.д) с указанием параметров протокола взаимодействия. Устройства входят в направления и определяются различными адресами устройств, подключенных к данному каналу.

Для взаимодействия с устройствами ОИК поддерживает следующие цифровые протоколы обмена данными:

  • МЭК 60870-5-101
  • МЭК 60870-5-104
  • МЭК 61850
  • MODBUS RTU
  • MODBUS TCP

Подробное описание протоколов смотрите на странице Поддерживаемые протоколы.

Информационные каналы

Чаще информационные каналы определяются единственным числом - адресом информационного объекта (как в протоколах МЭК), однако, в общем случае спецификация канала зависит от типа устройства и используемого протокола (в MODBUS).

Примеры каналов МЭК: 1, 23, 1403.

Примеры каналов MODBUS:

  • BOOL:3 - параметр типа COIL с адресом с фактическим шестнадцатеричным Modbus адресом 0x0002, принимающий значения 0 или 1;
  • UINT16:30020 - параметр типа INPUT REGISTER с фактическим шестнадцатеричным Modbus адресом 0x0013, принимающий значения в диапазоне 0..2^16-1

Информационным каналам присуще “качество” (“достоверность”), определяемое состоянием канала связи с устройством, или признаками достоверности, передаваемыми устройством.

Ретрансляция

Ретрансляция позволяет передавать данные объектов ОИК в другие системы верхнего уровня (например, диспетчерские центры) по поддерживаемым протоколам обмена. Для этого создается виртуальное серверное устройство с таблицей ретрансляции, устанавливающей соответствие между объектами ОИК и адресами информационных каналов удаленной системы.

Ретрансляция работает в обоих направлениях: значения объектов передаются удаленной системе, а команды управления (ТУ) от удаленной системы ретранслируются обратно на оборудование.

Порядок настройки — создание направления и устройства-приемника и заполнение таблицы ретрансляции — описан в разделе Ретрансляция в диспетчерский центр. Работа с самой таблицей описана в разделе Правила ретрансляции.

Сбор данных

Система приема/передачи данных (далее — Сканер) выполняет сбор данных с оборудования в соответствии с конфигурацией. Исполняет пользовательские команды ТУ, телерегулирования, принудительный опрос устройств и синхронизацию времени. Осуществляет ретрансляцию данных.

Сканер устанавливает соединения по всем заданным направлениям и выполняет сбор данных, в соответствии с протоколом и параметрами, определенным для направления. При изменении пользователем конфигурации направления или устройства, а также добавлении или удалении, сканер автоматически переустанавливает или закрывает канал связи с устройством. После установления связи с устройством, Сканер выполняет команды инициализации (полный опрос, синхронизация времени), в соответствии с конфигурацией устройства.

Сканер передает на устройства команды ТУ или другие команды, получаемые от пользователя.

При потере или восстановлении связи сканер регистрирует соответствующие системные события. Для наблюдения за обменом данными с устройствами смотрите Наблюдение.

Обработка данных реального времени

Получает данные оборудования от сканера и распределяет их по объектам системы в реальном времени (РВ). Выполняет расчет качества и резервирование каналов данных, вычисляет дорасчетные и эмулируемые значения. Извещает клиентов об обновлении данных объектов. В обратную сторону, перенаправляет пользовательские команды сканеру для исполнения.

Система РВ распределяет значения информационных каналов устройств, полученные от сканера, между объектами системы в соответствии с конфигурацией. При наличии у объектов ОИК двух источников данных (основного и резервного), система РВ автоматически переключается на резервный источник данных и обратно в зависимости от качества основного источника данных.

Значение объекта ТС может быть инвертировано, в соответствии с его конфигурацией. Для объектов ТИ может быть определено линейное преобразование для преобразование физической шкалы в логическую.

При перезапуске Сервера ОИК, система РВ восстанавливает последние значения объектов из архива.

Система РВ поддерживает изменения значений объектов назад во времени. То есть, информация, относящаяся к более раннему моменту времени, чем уже поступившая, будет корректно обработана системой. В том числе, помещена в архив.

Признаки качества

Системой РВ выставляются признаки качества значения объекта, с учетом качества источника данных. Признаки качества значения объекта ОИК обычно отображаются рядом со значением объекта, также им присущи следующие буквенные обозначения:

Признак Описание
К не настроен или ошибка конфигурации
С нет связи
Н ошибка подключения или неверное выражение
Р ручной ввод
2 резервный канал
Б блокировка канала
У устаревание
В выход за уставку

Ручной ввод и блокировка

Оператор может вручную задать значение любого объекта ТС или ТИТ при помощи команды «Ручной ввод» (требуются полномочия управления). При ручном вводе значению объекта присваивается признак качества [Р].

Одновременно с ручным вводом оператор может установить блокировку объекта. Установка блокировки для указанного объекта позволяет игнорировать телемеханические данные, которые поступают в Сервер от удаленных устройств. При установленной блокировке ручной ввод данных будет иметь преимущество перед телемеханическими данными. При снятой блокировке приоритет будет у телемеханических данных — значение будет перезаписано при следующем поступлении данных от устройства.

Заблокированному объекту присваивается признак качества [Б]. Снять блокировку можно командой «Снять блокировку» из контекстного меню объекта.

Контроль уставок

Для объектов ТИТ можно включить контроль нахождения значения в пределах установленных границ, называемых уставками. Допустимо задание двух пар уставок: аварийные и предаварийные. Каждая пара определяет нижнюю и верхнюю границу.

Разрешено задавать как две, так и одну из пары уставок. Не обязательно задавать верхнюю и нижнюю уставки одновременно.

Предаварийные уставки, если заданы, не должны выходить за аварийные уставки.

При изменении состояния объекта ТС система РВ регистрирует системное событие. Для объектов ТИТ выход за уставку (как и возвращение в нормальный диапазон) также приводит к регистрации события.

Уставка Событие при попадании значения в диапазон
  Авария: Значение > x
Верхняя аварийная  
  Значение > x
Верхняя предаварийная  
  Значение в норме
Нижняя предаварийная  
  Значение < x
Нижняя аварийная  
  Авария: Значение < x

При отображении графика объекта ТИТ с заданными уставками, они отображаются на графике пунктирными линиями.

Вычисления и фильтрация

Дорасчет

В качестве источника данных любому объекту ОИК можно задать математическое выражение, также называемое дорасчетом. Формулы могут содержать арифметические операции, ссылки на другие объекты по алиасу и встроенные функции (тригонометрические, логические, условные).

Смотрите полное описание синтаксиса и функций в разделе Формулы.

Эмуляция

Для тестирования поведения системы на этапе подготовки проекта ОИК позволяет задать режим эмуляции объектам системы. Наличие оборудования при этом не требуется.

В качестве генератора данных используется одна из предопределенных функций с заданными параметрами фазы и частоты, которые в ОИК называются эмулируемыми сигналами.

Апертура

Для избавления от дребезга и избыточных данных для объектов ТИТ имеется возможность фильтрации данных с указанием минимального изменения значения. Данный параметр называется апертурой. Апертура задается в абсолютных единицах - в тех же, что и значение объекта. Любые отклонения значения от текущего на величину меньшую данного параметра будут проигнорированы.

Мертвая зона

Мертвая зона позволяет исключить дребезг параметров ТИТ в районе нуля. Для задания мертвой зоны используется величина в единицах объекта ТИТ. Любые значения, меньшие по модулю величины мертвой зоны, будут сведены к нулю.

Устаревание

Система РВ позволяет отслеживать актуальность данных объекта, при установке периода устаревания в его конфигурации. В случае, если значение объекта не будет обновляться в течение периода устаревания, значению объекта будет выставлен признак устаревания [У].

Системные события

Системное событие ОИК представляет собой запись с несколькими полями, главными из которых являются время события и сообщение. При регистрации события, оно помечается как неквитированное, до квитирования его пользователем (при этом событие квитируется во всей системе).

Если событие относится к объекту системы, ему также присваивается ссылка на объект. Примерами событий, относящихся к объекту, являются:

  • изменение состояния объекта ТС;
  • выход значения объекта ТИ за уставку;
  • ручной ввод значения объекта и установка блокировки;
  • снятие объекта с блокировки;
  • этапы выполнения команды управления объектом.

Некоторые типы событий могут иметь привязку к устройству (источнику данных):

  • потеря и восстановление связи с устройством;
  • изменение конфигурации, рестарт, либо удаление устройства.

Для просмотра событий используется Журнал событий.

Архивирование

Система архивирования (процесс scada-historian), в соответствии с настройками конфигурации, сохраняет историю изменения значений объектов и системных событий в одной или нескольких базах данных SQLite. Данная СУБД встроена в процесс и не требует установки сторонних компонентов. Сохраненная в архиве история может быть запрошена из БД для отображения на графике, в таблице данных или в сводке.

Как создать архивы и назначить их объектам, описано в разделе Архивирование; хранение на Сервере — в описании исторических баз данных.

Интеграция с внешними системами

Сервер OPC UA

Каждый процесс Сервера ОИК может выступать в роли сервера OPC UA, предоставляя внешним системам доступ к своему адресному пространству. Внешние OPC UA клиенты получают доступ ко всем объектам ОИК, их текущим значениям, историческим данным и возможности подписки на изменения.

Это позволяет интегрировать ОИК с системами верхнего уровня, SCADA-системами других производителей и аналитическими платформами без разработки специализированных адаптеров.

Настройка описана в разделе Сервер OPC UA. Внимание: порты OPC UA процессов следует открывать только для компьютеров объекта и доверенных внешних систем — смотрите там же.

Клиент OPC (Windows)

На Windows процесс scada-opc может подключаться к внешним OPC DA серверам в роли клиента. Теги внешних OPC-серверов отображаются в адресном пространстве ОИК и могут быть привязаны к объектам, позволяя собирать данные от оборудования, подключенного через сторонние OPC-серверы.

Настройка описана в разделе Клиент OPC.

Конфигурация

Конфигурация хранит на диске информацию обо всех объектах Сервера ОИК, структуре оборудования и пользователях. Конфигурация хранится во внутренней базе данных на локальном диске процесса scada-config (собственные базы конфигурации есть также у scada-proxy, scada-historian и scada-filesystem) и обновляется в момент редактирования, позволяя избежать потери данных при отключении питания.

Редактирование конфигурации производится встроенными средствами ОИК. Для редактирования конфигурации пользователь должен обладать правом «Настройка конфигурации».

Встроенная учетная запись root имеет все права и существует всегда, независимо от содержимого конфигурации.

ВНИМАНИЕ: если пароль root не задан, Сервер принимает вход root с пустым паролем. Под Windows пароль задает scada-setup apply (параметр --root-password); при ручной настройке задайте его параметром security.rootPassword до того, как Сервер станет доступен по сети.

Пользователь может обновлять конфигурацию в любой момент. При этом каждый компонент получит извещение, таким образом сделанные изменения будут отражены немедленно для всей системы.

Подробности о редактировании конфигурации смотрите в разделе Проектирование. Конфигурацию можно выгрузить в файл и загрузить обратно — смотрите Экспорт и импорт конфигурации.