Журнал «ИСУП». (Информатизация и системы управления в промышленности)
ИТ, КИПиА, метрология, АСУ ТП, энергетика, АСКУЭ, промышленный интернет, контроллеры, экология, электротехника, автоматизации в промышленности, испытательные системы, промышленная безопасность

Построение распределенных систем сбора и обработки данных на базе платформы SIMATIC WinCC Open Architecture

Рассматриваются возможности построения распределенных конфигураций систем сбора данных, визуализации и диспетчерского управления на базе платформы SIMATIC WinCC Open Architecture компании Siemens.

ООО «Сименс», г. Москва

Siemens_site.gif


скачать pdf >>

Платформа SIMATIC WinCC Open Architecture (WinCC OA), относительно недавно появившаяся в линейке продуктов для построения распределенных систем управления и ЧМИ компании Siemens, уже успела получить известность на российском рынке. Благодаря особенностям архитектуры и модульной концепции построения WinCC OA ориентирована прежде всего на создание больших географически распределенных систем в приложениях, требующих высокой степени гибкости и адаптируемости базовых средств программной платформы для реализации специфических требований клиента. WinCC OA позволяет работать с большими объемами данных в конфигурациях с существенными ограничениями на аппаратные ресурсы, а также имеет сертификат SIL3, что делает ее уникальным выбором при повышенных требованиях к безопасности.

В статье дается обзор основных возможностей WinCC OA для построения распределенных систем сбора данных, визуализации и диспетчерского управления – именно в таких применениях преимущества WinCC OA проявляются в наибольшей степени. Также рассматриваются некоторые типичные вопросы, возникающие в процессе инжиниринга таких систем (протоколы обмена данными, интеграция станций/устройств сбора данных и т. п.).

Vrezka.png

Модульная архитектура WinCC OA – основа для эффективного построения распределенных структур.
Система WinCC OA функционально разделена на различные независимые менеджеры (процессы). Примеры некоторых из них приведены ниже:
- EVENT-менеджер (EV) является «сердцем» системы и отвечает за управление всеми сообщениями в системе, так как коммуникации внутри системы происходят по событиям;
- DRIVER-менеджер (D) осуществляет обработку протокола обмена данными (сравнение значений, сглаживание, устранение «дребезга», масштабирование и линеаризация, присвоение метки времени);
- UI-менеджер – интерфейс пользователя, графический редактор и редактор базы проекта;
- DB-менеджер отвечает за архивирование значений, а также за резервное копирование и долговременное хранение, имеет OLE-DB интерфейс;
- RDB-менеджер применяется при необходимости архивирования в СУБД Oracle;
- CTRL-менеджер выполняет сценарии пользователя, создаваемые на языке ANSI C;
- REDU-менеджер служит для построения систем с горячим резервированием.

Ris.1.png

Рис. 1. Структура менеджеров системы WinCC OA

Менеджеры общаются между собой, обмениваясь информацией. При этом пользователь может гибко настраивать состав менеджеров, запускать и останавливать их с различными параметрами. Очень важной особенностью является то, что для этого не требуется остановки самой системы.
Коммуникации между менеджерами осуществляются по событиям посредством протокола TCP. Возможен запуск нескольких копий менеджеров (за исключением Event-менеджера) в рамках одной системы, например нескольких UI- или CTRL-менеджеров. Для увеличения производительности менеджеры могут быть разделены по нескольким компьютерам, причем компьютеры могут работать под управлением различных ОС, например серверы – под управлением ОС Linux или Solaris, операторские ПК – ОС Windows.



Общий обзор концепции построения распределенных систем на базе WinCC OA


Распределенные конфигурации WinCC OA обеспечивают возможность соединения двух или более автономных систем на базе WinCC OA по сети. Каждая подсистема в такой распределенной архитектуре может быть сконфигурирована как одиночная станция (single-station system) или как многомашинная система (multiple-station system), резервированная или нерезервированная. Подсистема в данном случае означает сервер, на котором запущен Event-менеджер (причем это не обязательно должен быть полный проект WinCC OA). В резервированных конфигурациях оба работающих сервера в резервированной паре серверов рассматриваются как одна система.


Распределенные системы в WinCC OA предназначены для решения следующих задач:
- соединения нескольких автономных систем на базе WinCC OA;
- повышения общей производительности системы и числа обрабатываемых элементов точек данных (Data Point Elements, DPE) за счет распределения нагрузки по нескольким серверам;
- балансирования нагрузки в конфигурациях с одной центральной системой и «недогруженными» подсистемами.

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


Обмен данными между подсистемами в WinCC OA обеспечивается модулем Distribution manager (DIST-менеджером), работающим по протоколу TCP. Только данный модуль отвечает за связь со сконфигурированными подсистемами, и соответственно он должен быть запущен для обеспечения взаимодействия подсистем в распределенной архитектуре.
Пример возможной распределенной конфигурации WinCC OA, состоящей из резервированной системы (система 1), многомашинной системы (система 2) и одиночной станции (система 3), приведен на рис. 2.

Ris.2.png

Рис. 2. Пример возможной конфигурации распределенной системы на базе WinCC OA


В состав каждой подсистемы в качестве уровня связи с объектом управления могут входить свои ПЛК, РСУ, системы телемеханики и т. п. Каждая подсистема обрабатывает данные своего объекта (процесса), при этом система верхнего уровня может оперировать данными сопряженных подсистем. Сетевая связь между подсистемами может быть резервированной. Таким образом можно объединить до 2048 подсистем. WinCC OA поддерживает возможность одновременного использования 32‑разрядных и 64‑разрядных подсистем с различными операционными системами в единой распределенной системе, что бывает востребовано при построении больших распределенных систем, где часто возникает необходимость в подобных комбинациях. Кроме того, это значительно экономит средства, например, локальные узлы сбора данных можно сделать на Linux, а центральные резервированные сервера – на Windows.


Коммуникации в распределенной системе осуществляются по событиям; телеграммы могут сжиматься по известным алгоритмам, снижая тем самым нагрузку на каналы связи. Сетевое подключение между системами может быть полностью дублированным, при этом данные всегда передаются параллельно по обеим сетям. В обработку принимается то сообщение, которое приходит первым, второе сообщение отбрасывается. Такой подход позволяет исключить задержки, связанные с определением момента разрыва связи и переключением на резервный канал.
Преимуществами распределенных систем на базе WinCC OA являются:

- гибкость и масштабируемость;

- повышение общей производительности системы за счет параллельной обработки данных и распределения нагрузки;
- повышение отказоустойчивости и коэффициента готовности системы в целом.
 

Проектирование топологии распределенной системы

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

- Из какого количества подсистем состоит система? Под подсистемой понимается сервер с Event-менеджером. Пара серверов в резервированной конфигурации считается одной системой. Удаленные станции не учитываются. 

- Должны ли удаленным подсистемам передаваться команды управления или данные этих подсистем подлежат только отображению?

- Выделяется ли в структуре система верхнего уровня (например главная диспетчерская), являющаяся вышестоящей по отношению к другим подсистемам (локальным диспетчерским)? Должны ли подсистемы иметь возможность обмена данными между собой? Какие аспекты управления должны быть реализованы в системе верхнего уровня? 

- Должны ли все подсистемы иметь одинаковые права (например, операторные и безоператорные подсистемы)? 

- Должны ли значения тегов одной подсистемы быть доступными в другой подсистеме (например, для целей визуализации на обзорных мнемосхемах или в задачах, требующих обработки данных сопряженных систем) или должна быть обеспечена возможность отображения самих мнемосхем (экранов) удаленной подсистемы? 

- Должна ли быть обеспечена возможность конфигурирования с уровня каждой подсистемы или только с уровня одной подсистемы?

- В каких системах должна производиться обработка собранных данных (преобразование данных, формирование отчетов, архивация)?

- Как соотносится использование подсистем во времени и кто использует эти подсистемы? 

- Должны ли контролироваться команды, передаваемые между отдельными системами? 

- Какие алармы должны отображаться в каких подсистемах? Кто может квитировать эти алармы (какой пользователь, в какой подсистеме)? 

- Какова пропускная способность доступных каналов связи между отдельными подсистемами?

DIST-менеджер – основа функционирования распределенной системы

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


DIST-менеджер отвечает за выполнение следующих задач в распределенной системе:
- установление и контроль связи с другими системами WinCC OA;
- обмен идентификаторами точек данных на всех системах;
- передача сообщений.


 
Топология распределенной системы

Распределенные системы в WinCC OA могут быть структурированы ­иерархически. Одна система находится на верхнем уровне иерархии, другие расположены на уровнях ниже. Система на верхнем уровне является «сервером», нижестоящие системы – «клиентами». Такая структура значительно упрощает конфигурирование распределенных систем.

Ris.3.png

Рис. 3. Пример иерархической структуры распределенной системы

На рис. 3 приведен пример иерархической структуры, в которой система 1 является «сервером» для всех других систем и принимает связи этих систем. Система 2 связана с системой 1 и является «сервером» для систем, расположенных на нижележащих уровнях иерархии (системы 4 и 5).
Преимущество такой структуры – простота конфигурирования: для определения связей достаточно указать параметры связи в одном направлении, и так для каждой подсистемы. В нашем случае это означает, что сначала с помощью соответствующего мастера настройки должна быть сконфигурирована система 1, а далее, также с помощью мастера, выполнены настройки других подсистем и их связей. Как только соединение между подсистемами будет установлено, подсистемы на обоих концах связи начнут «видеть» друг друга и смогут осуществлять двунаправленный обмен данными.



Обмен сообщениями

Принцип обмена сообщениями в распределенной системе, приведенной на рис. 2, проиллюстрирован на рис. 4.

Ris.4.png

Рис. 4. Иллюстрация принципа обмена сообщениями в распределенной системе

В рассматриваемом примере обмен сообщениями происходит следующим образом (описано для системы 3 и системы 2):
1. На системе 3 запускается CTRL-скрипт, содержащий запрос значения элемента точки данных у системы 2.
2. CTRL-менеджер системы 3 посылает сообщение с этим запросом EVENT-менеджеру собственной системы. EVENT-менеджер пересылает данное сообщение DIST-менеджеру собственной системы. DIST-менеджер в свою очередь направляет это сообщение DIST-менеджеру целевой системы (в нашем случае это система 2). DIST-менеджер системы 2 далее пересылает сообщение собственному EVENT-менеджеру, который производит обработку принятого сообщения.
3. Ответ на запрос формируется и направляется в обратном порядке: EVENT-менеджер системы 2 направляет запрошенное значение DIST-менеджеру. DIST-менеджер системы 2 пересылает данное значение DIST-менеджеру системы 3, инициировавшему запрос. DIST-менеджер системы 3 в свою очередь пересылает данное значение EVENT-менеджеру собственной системы и далее – CTRL-менеджеру, который обрабатывает полученный ответ на запрос.
В резервированной системе (например в системе 1 на рис. 4) сообщения направляются через DIST-менеджеры сопряженных подсистем так же, как описано выше. DIST-менеджер активной системы при работе по схеме резервирования посылает сообщение также активному EVENT-менеджеру (оба сервера имеют активное подключение всех драйверов для осуществления безударного переключения). Резервный сервер принимает все данные с основного сервера, гарантируя тем самым идентичность отображения процесса и меток времени. Выдачу команд через драйверы осуществляет только основной сервер. Резервированная система может быть переведена в «режим разделения», при этом один из серверов может использоваться для модификации и тестирования проекта с последующим принятием или отклонением изменений при возвращении в резервированный режим. Работа резервированной системы в случае разделения на одиночные системы является исключением – отступлением от описанного механизма работы.

One Way Dist

В некоторых конфигурациях нет необходимости получать полный объем данных от всех сопряженных подсистем. Для таких случаев WinCC OA имеет механизм сокращения нагрузки на сеть путем избирательного выбора подсистем, с которыми осуществляется обмен данными. Этот механизм носит название One Way Dist. При этом поддерживается связь со всеми подсистемами и таким образом сохраняется возможность проверить, активна ли сопряженная система в настоящий момент (хотя данные систем, которые не сконфигурированы для обмена, недоступны).
 
Коммуникации

Построение распределенных систем на практике, помимо собственно проектирования топологии системы и модели обмена данными, сопряжено с решением целого комплекса вопросов, связанных с организацией коммуникаций с подчиненными системами автоматизации и периферийными устройствами. Типичной ситуацией является необходимость интеграции систем, построенных на базе различных технических средств и использующих различные протоколы обмена данными.
Для решения таких задач WinCC OA имеет в своем арсенале большой набор драйверов для подключения различных типов периферийных устройств. Промышленные контроллеры/системы автоматизации различных производителей могут быть подключены по следующим интерфейсам:
- SIMATIC S7 TCP/IP, Modbus TCP/IP, Allen Bradley Ethernet/IP;
- S7‑Profibus/MPI, Modbus Plus/RS‑485, Modbus Serial, Teleperm M;
- OPC Client & Server (DA, A&E), OPC UA Client & Server (DA, AC);
- SSI, IEC 60870-5-101, IEC 60870-5-104, DNP3 и SINAUT, IEC 61850/61400;
- SNMP Manager & Agent;
- BACnet.

Возможно применение резервированных каналов связи с оборудованием нижнего уровня, например с дублированными контроллерами S7-400H. По запросу доступны другие драйверы. Также поставляется интерфейс API для С++.



Построение станций/устройств сбора данных 
на базе IPC 227D/277D Nanobox с WinCC OA

 Другой типичной задачей при построении распределенных систем (особенно больших географически распределенных систем диспетчерского управления, учета и т. п.) является необходимость интеграции станций или устройств сбора данных, по возможности унифицированных и совместимых с архитектурой системы. В небольших локальных узлах сбора данных, как правило, небольшое количество сигналов, а значит, использование полноценных промышленных серверов экономически нецелесообразно.
Для решения такой задачи WinCC OA предлагает возможность построения полноценного WinCC OA-сервера на базе компактного встраиваемого промышленного компьютера Nanobox IPC 227D/277D (рис. 5) – самого маленького IPC от компании Siemens.

Ris.5.png

Рис. 5. IPC 227D/277D Nanobox

Несмотря на свои весьма скромные размеры, возможности у него достаточно большие, что позволяет эффективно собирать данные, хранить их, осуществлять визуализацию и передавать в центральный сервер.
Это предложение главным образом предназначено для децентрализованного сбора данных. Для Nanobox IPC 227D/277D предлагается специальный пакет лицензий WinCC OA (32‑разрядная версия).
Такой подход к построению станций/устройств сбора данных обеспечивает гибкое масштабирование решений благодаря возможности использовать весь спектр промышленных компьютеров SIMATIC IPC.


Заключение


Благодаря модульной концепции построения, интегрированным средствам реализации распределенных архитектур, поддержке резервирования и широким возможностям организации коммуникаций, а также гибкости и адаптируемости инструментальных средств платформа WinCC OA сейчас является на рынке инструментом номер один для создания распределенных систем сбора данных, визуализации и диспетчерского управления.
Это решение востребовано прежде всего при построении систем диспетчерского управления в нефтегазовой отрасли, муниципальных сетях водоснабжения и канализации, на транспорте, при управления зданиями, трубопроводными системами и резервуарными парками, при построении комплексных информационных систем для специализированных применений и многих других – везде, где необходимо надежное и эффективное решение задач сбора, обработки и визуализации данных в распределенных гетерогенных структурах с высоким уровнем специальных требований заказчика.

Статья опубликована в журнале «ИСУП», № 4(58)_2015

С. Ю. Соловьев, к. т. н., руководитель группы,

А. С. Космин, технический специалист

департамента «Цифровое производство»,

OОО «Сименс», г. Москва,

тел.: (495) 737-2441,

e‑mail: dfpd.ru@siemens.com,