МАСТЕРА НАДЕЖНОСТИ: РЕЗЕРВИРОВАНИЕ В MasterSCADA, MasterPLC, MasterOPC


Скачать

И. Иванов (ООО “ИнСАТ”)


Наиболее эффективным способом повышения надежности работы системы является резервирование компонентов. Как правило, суть резервирования сводится к следующему – основной компонент системы выполняет работу, а второй находится в резерве. В случае обнаружения отказа основного компонента, управление переходит к резервному. Резервирование элементов критически важных систем в обязательном порядке применяется в теплоэнергетике, атомной промышленности, металлургии, а также во множестве других отраслей, где надежность системы является одним из ключевых показателей.

 

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

 

Производители оборудования стараются постоянно оптимизировать схемы резервирования, добавляя новые возможности и увеличивая скорости переключения. На разработчиках программного обеспечения лежит огромная ответственность – быть в курсе последних тенденций, своевременно реагируя на потребности производителей и желания заказчиков. Еще в середине 2000-х годов на объекте автоматизации котлоагрегата одну из самых серьезных проверок на надежность резервирования прошла система MasterSCADA, вертикально-интегрированная платформа, при помощи которой создаются не только программы для серверов, АРМ, но и для контроллеров. Тогда использовалась классическая схема, в которой резервировались компьютеры, контроллеры и каналы связи между ними.

 

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

 

Зачастую задача резервирования возникает не сразу: либо аппетит приходит во время еды, либо технические условия на производстве оказываются хуже, чем предполагалось сначала. В обоих случаях у пользователей MasterSCADA возникает закономерный вопрос, насколько сложно добавить функции резервирования в уже действующий проект? В MasterSCADA – это очень простая операция, чтобы включить резервирование каналов связи, достаточно в настройках проекта у эле- ментов “Компьютер” прописать через запятую все необходимые IP-адреса (рис. 1).

 


Рис. 1. Резервирование каналов связи в MasterSCADA 3.7


По умолчанию компьютеры будут пытаться установить соединение по первому IP-адресу, а в случае, если это невозможно – подключиться по следующему. Для резервирования серверов необходимо на каждый компьютер установить идентичные проекты MasterSCADA и одинаковые наборы OPC- серверов. Настройка проекта предельно про- ста – при помощи флага включается режим резервирования, а в настройках связи указываются IP-адреса каждого компьютера в системе (рис. 2).

 


Рис. 2. Резервирование серверов в MasterSCADA 3.7


И больше ничего не требуется. В режиме исполнения основной компьютер будет выполнять опрос устройств, вести управление и т.д., а резервный – непрерывно синхронизироваться с основным и “ждать своего часа” – отказа основного. При этом к резервированной паре компьютеров могут подключаться другие компьютеры сетевого проекта (серверы ввода, АРМ оператора и т.д.). По каким причинам происходит отказ компьютера? Источники могут быть разными – это может быть: ручная установка флага отказа оператором; отключение компьютера; отказ переданный ОРС сервером (например, если ОРС сервер не может опросить контроллер) или потеря соединения по определенной сети. В этих случаях происходит автоматический переход на резервный компьютер. Когда причины отказа будут устранены, может быть выполнен обратный переход (от которого, при необходимости, можно отказаться).

 

Немаловажен такой показатель как скорость переключения. Во многом она зависит от настроек, которые инженер заложил в проект при разработке и от возможностей используемого оборудования. В MasterSCADA предусмотрен такой режим, когда резервная машина ведет опрос нижнего уровня через ОРС-серверы, при этом данные далее не обрабатываются, а поступают с основного компьютера. Это необходимо для того, чтобы резервный компьютер получал диагностическую информацию: если нет связи с нижним уровнем у основного, имеет ли смысл переход на резервный, если у него также нет связи? Оператор увидит ситуацию в комплексе и сможет принять своевременные меры по устранению возникших проблем. Такой подход дает возможность практически мгновенно переключиться между серверами, но это осуществимо только в тех случаях, когда контроллеры, счетчики, модули ввода-вывода поддерживают опрос несколькими ОРС-серверами одновременно, в противном случае время переключения будет зависеть от скорости запуска вспомогательного ПО. Помимо самой системы исполнения зачастую требуется резервировать и архивируемые данные. Если оба компьютера ведут архивацию в одну базу данных, то это можно решать средствами самой СУБД. Но, как правило, архивация ведется в базы данных на обоих компьютерах параллельно (и мы рекомендуем придерживаться этой концепции).

 

Ранее пользователи MasterSCADA применяли следующий алгоритм работы с базами данных: резервный компьютер получал данные с основного и записывал в свою базу данных. Если основной был выключен, то после включения начиналась синхронизация данных с момента последнего выключения по текущий момент. В целом, этот подход был надежен, но он не покрывал ситуации, когда компьютеры работали по очереди: сначала в одиночку без связи с партнером работал компьютер 1, затем, компьютер 2, а затем на- оборот. В этом алгоритме синхронизировались бы только данные за последний участок времени, когда работал один из компьютеров, а предыдущие “дырки” остались бы незаполненными. Конечно, недостающие данные можно было дополнить, воспользовавшись средствами администрирования самих баз данных, но намного удобнее, когда умная система делает все сама. Версия MasterSCADA 3.7 по просьбам компаний, специализирующихся на проектах, связанных с коммерческим и техническим учетом, “научилась” выполнять перекрестную синхронизацию данных и автоматически восполнять “дырки”. Теперь можно быть уверенным в том, что в итоге базы данных на основном и резервном серверах будут абсолютно одинаковыми, а средства диагностики покажут, какие участки уже синхронизировались, с какой скоростью идет передача данных и прочую важную информацию.

 

Бывает, что пользователи для повышения надежности систем выбирают метод дублирования элементов, например, серверов. В этом случае несколько компьютеров работают одновременно, на каждом из них возможно управление и задание констант. Значения уставок попадают во все компьютеры через обратную связь, а вот для передачи информации предусмотрен специальный механизм резервирования отдельных задач, в том числе и квитирования сообщений. Конечно, резервирование серверов – это важная и необходимая функция, но к резервированию контроллеров предъявляются еще более жесткие требования. MasterPLC является исполнительной системой для контроллеров с открытой архитектурой.

 

Разработка программы контроллера ведется непосредственно в MasterSCADA, при этом образуется единый проект верхнего и нижнего уровня. Создание программы контроллера может вестись на FBD, расстановкой связей, а также на языке ST. Периоды опроса, в зависимости от возможностей “железа”, могут достигать 10 мс. Контроллер с MasterPLC может опрашивать и обрабатывать сигналы с внутренних модулей ввода-вывода, вести обмен как по популярным протоколам Modbus и DCON, так и по менее распространенным, вести архивацию прямо в контроллере (для отслеживания быстро меняющихся данных), а также имеет поддержку резервирования. Резервироваться может целиком весь контроллер или толь- ко модуль центрального процессора. В обоих случаях настройка сводится к минимуму – достаточно в настройках контроллера включить резервирование и задать период синхронизации, а в настройках связи – указать IP-адрес основного и резервного контроллера (рис. 3).

 


Рис. 3. Настройка системы резервирования контроллера в MasterPLC


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

 

Возможности резервирования присутствуют и в продукте MasterOPC. В том случае, если контроллер опрашивается по Modbus TCP, Profinet или IEC 60870-5-104, то средствами OPC-серверов каналы связи с ним также успешно резервируются. Modbus Universal MasterOPC при добавлении TCP узла позволяет включить резервирование канала – достаточно включить настройку, использовать резервные каналы, указать какое количество каналов будет использоваться и задать IP-адреса (рис. 4).

 


Рис. 4. Резервирование каналов связи в MasterOPC


Теперь если устройство перестанет отвечать по основному каналу (или пропадет соединение) произойдет автоматический переход на второй (или последующий канал). Возврат на исходный канал может произойти автоматически или по сигналу от системы по специальному тегу. Аналогичным образом включается резервирование каналов в Multi-Protocol MasterOPC сервер – плагинах Profinet или IEC 60870-5-104. Необходимо активировать использование резервных каналов и задать IP- адреса, а дальше OPC-сервер все сделает за вас. Конечно, возможна комбинация вариантов резервирования.

 

Независимо от того, какой уровень надежности требуется для вашей задачи, ее можно будет реализовать на продуктах компании ИнСАТ. Новая MasterSCADA 4D будет поддерживать не только все возможности повышения надежности систем, которые уже были опробованы на всех существующих программных продуктах, но и более современные, напри- мер, дублирование трех и более исполни- тельных систем. Сейчас идет активная разработка этой новейшей системы и компания ИнСАТ полностью открыта к любым идеям и предложениям. Ждем ваших откликов на сайте www.insat.ru