+7 (727) 357-30-42
Вход в личный кабинет

Программируемый логический контроллер с резервированием (PLC with Redundancy)

14.12.2020 В данном техническом решении мы предлагаем Вашему вниманию прикладную систему резервирования на базе программируемых логических контроллеров (ПЛК) Phoenix Contact.
Проблема создания избыточных (резервируемых) систем в области АСУТП диктуется спросом тогда, кода это необходимо на практике. 

Что такое резервирование? 

В соответствии с ГОСТ 27.002-89:
Резервированием называется - применение дополнительных средств и/или возможностей с целью сохранения работоспособного состояния объекта при отказе одного или нескольких его элементов. 
Резервирование - это эффективный метод повышения надёжности объекта путём введения избыточности.

Любая система АСУ ТП, как минимум, состоит из ПЛК  датчиков и исполнительных механизмов.
Понятие "единая точка отказа" - это то узкое место, когда из-за одного узла (CPU, канал ввода или канал передачи данных), система выходит из строя и теряет контроль над контролируемым процессом.
Из вышесказанного следует, что для повышения надежности системы применяется метод избыточности (резервирования).

Концепция составного ПЛК с резервированием

Следуя цели по достижению избыточности, компания Phonix Contact предлагает следующую систему для решения задачи "программируемый логический контроллер с резервированием":

Как хорошо видно из структурной схемы, ПЛК с резервированием состоит из трех основных частей:
  1. Уровень CPU 
  2. Уровень передачи данных на базе Profinet и кольца MRP
  3. Уровень I/O
На каждом уровне выполняется условие избыточности. Рассмотрим более подробно каждый уровень системы.
 

Уровень ЦПУ (CPU Level) 

На уровне CPU - Central Processing Unit (ЦПУ - центральное процессорное устройство) в системе задействовано два высокопроизводительных свободно программируемых контроллера производства Феникс Контакт (Германия) RFC 460R . 
Контроллер имеет мощный (для ПЛК!) процессор Intel® Celeron® 927 UE 1,5 ГГц и позволяет в среде выполнения МЭК-61131-3 обрабатывать до 16 Мб памяти данных. Память программ может достигать 8 Мб (очень огромная программа для крупнейшего завода). К контроллеру может быть подключено до 250 станций ввода/вывода (3 уровень) по шине  PROFINET (2-й уровень). В сумме – свыше 4000 аналоговых или 100 000 дискретных сигналов [1].
Основной и резервный контроллеры (Primary PLC & Backup PLC) синхронизируются между собой посредством оптоволоконной линии связи через порты SYNC interface SFP (fiber optics). На примере большого морского судна в целях безопасности системы автоматизации, расположение этих контроллеров будет в носовой и кормовой частях судна. Вообще, можно удалить друг от друга контроллеры на расстояние до 70 км, используя single/multi - mode fiber SFP модуль (применение для метрополитена или автоматики авто тоннелей). В рамках расположения внутри одного шкафа управления для соединения ПЛК между собой, подойдет оптоволоконный патч-корд - 2989158 FL MM PATCH 1,0 LC-LC. 
В качестве резервного (!) канала связи для синхронизации контроллеров используется сеть Profinet, подключаемая к порту LAN 2, в нашем случае это 2-й уровень передачи данных. RFC460R снабжен большим цветным ЖК экраном. Во время парной работы на экранах контроллеров  будет отображено: является он основным или вспомогательным (резервным) контролером, а также статус каналов синхронизации. Помимо этого на экране контроллера отображается статус системы ввода/вывода и каждого модуля, а также другая важная диагностическая информация.
Оставшиеся порты LAN 1.1 и LAN 1.2 работают в режиме коммутатора, и могут быть использованы для доступа к контроллерам с верхнего уровня (SCADA). IP адрес LAN1 должен иметь отличную от LAN2 подсеть.

Для программирования ПЛК (PLC) в системе МЭК 61131-3 доступно 5 языков программирования:
En De Ru  
Аббр. Обозначение Аббр. Обозначение Аббр. Обозначение Описание
LD Ladder Diagram KOP Kontaktplan РКС Релейно-Контактные Схемы Графический язык. Представляет собой программную реализацию электрических схем на базе электромагнитных реле.
FBD Function Block Diagram FBS Funktionsbaustein-Sprache FBD Функциональные блоковые диаграммы Графический язык. Функциональный блок (ФБ) выражает некую подпрограмму. Каждый ФБ имеет входы (слева) и выходы (справа). Программа создается путём соединения множества ФБ.
SFC Sequential Function Chart AS Ablaufsprache SFC Последовательные функциональные диаграммы Графический высокоуровневый язык. Создан на базе математического аппарата сетей Петри. Описывает последовательность состояний и условий переходов.
ST Structured Text ST Strukturierter Text ST Структурированный текст Текстовый Паскалеподобный язык программирования
IL Instruction List AWL Anweisungsliste IL Список инструкций Текстовый язык. Аппаратно-независимый низкоуровневый ассемблероподобный язык (устарел) [2]

Проанализировав алгоритмическую блок схему, или утвержденную матрицу причинно-следственных связей (Cause effect matrix), или изучив согласованное описание технологического процесса и реакции на возможные будущие аварийные ситуации, инженер-программист создает (пишет) программу, используя вышеуказанные языки программирования. Самый мощный из всех это - ST. Все программы  для ПЛК Феникс Контакт создаются в среде PC Worx (есть бесплатная урезанная в памяти версия и платная версия Pro). Также в настоящее время для новых контроллеров PLCnext Technology (RFC460R пока не поддерживается) разработана новая бесплатная среда программирования - PLCnext Engineer. В этой программе Вы можете программировать ПЛК, используя не только традиционные языки IEC 61131-3, но и известные высокоуровневые языки (C#, C/C++, MATLAB Simulink и т.д.).

Процесс загрузки разработанной программы в оба контроллера происходит следующим образом. Достаточно лишь инженеру загрузить программу в рабочий (основной) контроллер, как тут же, автоматически, по сетям синхронизации, программа "сама зальется" в резервный контроллер. Резервный контроллер при каждом цикле программы (50 мс например) работает в режиме прослушки "своего соседа" и всей системы в целом, и готов перехватить управление на себя в случае выхода из строя основного контроллера.

Уровень передачи данных (Profinet,  MRP-ring)

Стандартно идея резервирования промышленного Ethernet противоречит "природе" Ethernet, которая не предполагает создания замкнутых контуров в сети, тем самым запрещая резервные каналы передачи сетевого трафика . Для использования сетей Ethernet в промышленной автоматизации в целях резервирования каналов передачи применяются специальные протоколы - STP, RSTP / MSTP, PRP, HSR, MRP [3].
В нашем решении применяется протокол резервирования шины Profinet - MRP. Media Redundancy Protocol (MRP - не путать аббревиатуру с Material Requirements Planning) - это протокол передачи данных с кольцевой топологией.

MRP был специально разработан для промышленных применений, его стандарт описывается в IEC 62439-2. По данным WIKIPEDIA, протокол является прямым развитием протокола HiPER-Ring, разработанного Hirschmann в 1998 году. Ныне Hirschmann принадлежит Belden [4]. На рисунке мы видим кольцевую топологию с участием MRP-manager и MRP-client. 
Принцип работы MRP-протокола следующий.
....

Уровень ввода / вывода (Input / Output - I/O Level)

Мы уже рассмотрели уровни CPU и передачи данных. На всех этих уровнях выполняется условие избыточности. Приближаемся к уровню ввода / вывода.
Взаимодействие системы АСУ ТП с внешним миром происходит посредством аналоговых и дискретных (цифровых), входных и выходных сигналов. Каждый тип сигнала включен в свой собственный модуль. В зависимости от типа сигнала, модуль обладает собственным цветовым обозначением (для визуальной идентификации) и имеет определенное количество сигналов на борту.
Состав системы
Axioline F bus coupler for PROFINET (including bus base module and connector): / Соединитель шин Axioline F для PROFINET (включает базовый модуль шины и разъем): AXL F BK PN AXL F BK PN 2701815
Axioline F, Digital input module 24VDC, 32 - digital inputs:/ Модуль цифрового входа 24VDC, 32 - цифровых входов: AXL F DI32 /1 2H AXL F DI32/1 2H 2702052
Axioline F, Digital output module 24VDC, 16 - digital outputs: / Модуль цифрового выхода 24VDC, 16 - цифровые выходы: AXL F DO16 /1 1H AXL F DO16 /1 1H 2688349
Axioline F, Analog input module 4-20mA, 4 inputs:  / Модуль аналогового входа 4-20 мА, 4 входов: AXL F AI4 I 1H AXL F AI4 I 1H 2688491
Axioline F, Analog output module 0-10 VDC, 8 outputs:  / Модуль аналогового выхода 0-10 В, 8 выходов: AXL F AO8 1F AXL F AO8 1F 2688080

Модули подключаются к друг другу на DIN-рейке, образуя единый ряд. Таких модулей в ряду может быть установлено очень много. В самом начале этого ряда на 0-й позиции установлена непрограммируемая станция  (BUS-coupler) Profinet - AXL F BK PN.  Таким образом образуется единица - станция PROFINET I/O.  Для решения задачи резервирования мы используем как минимум две таких станции, идентичные по составу и расположению модулей ввода-вывода. Назовем их BK1 и BK2 для удобства в дальнейшей работе.
 Дискретный  вход (Digital Input)
Примерами источников дискретных сигналов могут служить такие аппараты и узлы: концевой выключатель положения двери, дифференциальный манометр перепада давления в воздуховоде, положение заслонки, неисправность рабочего блока питания и т.д.
Такие сигналы мы подключаем к каждому модулю AXL F DI32/1 2H на обеих станциях BK1 и BK2 через диоды разветвления сигнала.


Программно в контроллере рассматриваемый входной дискретный сигнал от BK1 и BK2 обрабатываются на языке ST следующим образом:

If   bk1_digital_input_1 = true or bk2_digital_input_1 = true

then digital_input_1:=true;

else digital_input_1:=false;

end_if;

В результате, в контроллере всегда будет доступно текущее состояние "digital_input_1". Для сигнала "digital_input_1" имеется гарантированный аппаратный резерв. Если в проекте присутствуют для конкретного рассматриваемого сигнала отдельные резервные или дублирующие контакты, то их можно уже без диодов подключить каждый непосредственно к bk1 и bk2.  Переходим к рассмотрению концепции резервирования для дискретных выходных сигналов.

 Дискретный  выход (Digital Output)
ПЛК с помощью дискретных выходных сигналов может включать / выключать частотные преобразователи нагнетающих вентиляторов, управлять межкомнатными заслонками магистральных воздуховодов, сигнализировать об аварии и т.д.
Как и в ситуации с сигналами цифровых входов, работа с цифровыми выходами выстраивается по аналогии. Чтобы получить резервный сигнал "Digital_output_1", нужно его "снять" с модулей AXL F DO16 /1 1H станций BK1 и BK2 и объединить в один общий выход.

Фрагмент программы на языке ST для обработки выходных дискретных сигналов с резервированием будет следующим:
bk1_digital_output_1:=digital_output_1;
bk2_digital_output_1:=digital_output_1;
В результате благодаря избыточности, выходные реле K1 и K2 получают команду управления от контроллера через BK1 или BK2. Что и требовалось.

Идем далее. Рассмотрим, каким образом резервируются аналоговые выходные сигналы 0-10В.
Аналоговый выход 0-10 В (Analog Output 0-10V)
Резервирование  выходных аналоговых сигналов типа 0-10В осуществляется по принципу выходных дискретных. Т.е. полезные сигналы с каждого модуля AXL F AO8 1F объединяются через диоды в один общий. Потенциалы "-" сигналов 0-10В также  объединяются между собой через клемму-перемычку 2791388 UKK 5-PV.
ПЛК на практике может управлять с помощью 0-10В такими процессами как: манипулирование частотой вращения вентилятора, управление электронагревателем, поддержание заданной температуры с помощью 3-х ходового клапана дозирования и т.д.


Таким образом регулируемый объект всегда будет под контролем от станций BK1 или BK2. Для программирования ПЛК приведем вот такой код на языке ST, который будет генерировать сигнал 5 В одновременно на обоих модулях:
out_0_10V:=15000;
bk1_analog_output_1:=out_0_10V;
bk2_analog_output_1:=out_0_10V;
Осталось рассмотреть еще один тип сигнала - вход 4-20 мА от различных измерительных датчиков.
Аналоговый вход 4-20 мА (Analog Intput 4-20 мА)
Унифицированный сигнал токовой петли 4-20 мА это один и самых распространенных в АСУ ТП.  Благодаря высокой помехозащищенности,  большой дальности расстояний, наложению протокола HART  сигнал 4-20 мА очень популярен в промышленной автоматизации.
Для создания избыточного сигнала, получаемого по 4-20 мА, необходимо к каждому модулю AXL F AI4 I 1H подключить индивидуальный датчик, местом установки которых является одна общая точка. 


Итак, из одной точки измерения мы получаем в контроллере через BK1 и BK2 две переменные, в которых находится измеренное значение физической величины (давление, температура, расход и пр.). В штатном режиме система опирается на показания от первого датчика (BK1). В случае кокой-либо внештатной ситуации на станции BK1, система моментально переключается на работу от второго резервного датчика 4-20 мА, подключенного к BK2. Условиями переключения с одного на резервный датчики, являются:
  • Полная потеря связи Profinet со станцией BK1 или BK2
  • Проблема в модуле AXL F AI4 I 1H
  • Неисправность датчика или линии связи 4-20 мА (обрыв / КЗ)

Резервирование питания 24V DC (Power Supply  Redundancy)


Состав системы питания
PS1, PS2 Primary-switched QUINT POWER power supply with free choice of output characteristic curve, SFB (selective fuse breaking) technology, and NFC interface, input: 1-phase, output: 24 V DC/10 A / Источник питания QUINT POWER с регулированием в первичной цепи, с регулируемыми выходными характеристиками, технологией SFB (Selective Fuse Breaking) и интерфейсом NFC, вход: 1-фазный, выход: 24 В DC / 10 A PHOENIX QUINT4-PS/1AC/24DC/10 2904601
RPS1, RPS2 Active QUINT single redundancy module for DIN rail mounting, input: 12 - 24 V DC, output: 12 - 24 V DC/1 x 40 A /  Активный одиночный модуль резервирования QUINT для монтажа на несущей рейке, вход: 12 - 24 В пост. тока, выход: 12 - 24 В пост. тока / 1 x 40 A PHOENQUINT4-S-ORING/12-24DC/1X40 2907752

Для работы ПЛК требуется стабилизированное напряжение постоянного тока 24 Вольт. Для обеспечения гарантированного питания применятся все тот же принцип избыточности. Выходы двух блоков питания PHOENIX CONTACT QUINT4-PS/1AC/24DC/10 подключаются к двум активным модулям резервирования - QUINT4-S-ORING/12-24DC/1X40. Выходы модулей PSR1 и PSR2 объединяются в одну общую цепь. Помимо применения вышеуказанных источников питания (однофазных - трехфазных), возможна комбинация с UPS 24 V. 
Для обнаружения неисправности питания, соответствующий сигнал заводится в контроллер, чтобы передавать возникновение этого события в систему диспетчеризации.

Резерв для верхнего уровня

В самом начале обзора на структурной схеме концепции ПЛК с резервированием мы показали возможность мониторинга и управления системой с верхнего уровня по протоколу Modbus / TCP. В качестве Modbus мастера могут выступать SCADA или центральный программируемый контроллер.  Как уже говорили выше, в наших контроллерах для этих целей могут быть задействован порты  LAN 1.1 для подключения к сети Ethernet верхнего уровня. Основной и резервный контроллеры (Primary PLC & Backup PLC) на запросы должны отвечать синхронными данными.

Заключение

На рынке представлено достаточно много брендов и фирм, выпускающих программируемые логические контроллеры с резервированием. Перечислим некоторые.  

Литература

  1. Статья опубликована в журнале «ИСУП», № 4(52)_2014 Д. С. Зозуля, менеджер по продукции  Control and Industry Solutions, ООО «Феникс Контакт РУС», г. Москва
  2. ru. wikipedia. org /wiki /IEC_61131-3
  3. Журнал "СТА" 1/2012 Иван Лопухов, сотрудник фирмы Прософт, prosoft. ru
  4. en. wikipedia. org /wiki /Media_Redundancy_Protocol
Отзывы:

Чтобы оставить отзывы, необходимо авторизоваться
0Сравнение
Каталог
Кабинет
0 Корзина
Меню