Часть 1. История систем автоматизации
Часть 3. Мифы on-line модификации прикладного ПО ПЛК
Программируемый Логический Контроллер (ПЛК) для технологических процессов – разнообразие форм и размеров.
Из прошлой статьи:
Принцип построения промышленной системы управления (автоматизации) для технологических процессов.
Само понятие «технологический процесс» очень емкое и широкое, технологические процессы есть в любом производстве, например: пищевом, деревообрабатывающем, металлургии, добывающей промышленности, газо и нефтехимическом, энергетическом, сборочном и т.д. К технологическим процессам относятся как основные процессы для данного производства, например выработка пара в котельной, так и вспомогательные технологические процессы, например системы вентиляции помещений, управление лифтом или мостовым краном. В зависимости от типа производства и технологического процесса к системам управления (автоматизации) предъявляются определенные требования по надежности, безопасности, отказоустойчивости, взрывозащите и т.д.
Типовая система автоматизации состоит из: измерительных приборов для контроля параметров технологического процесса (датчики, сигнализаторы, сенсоры и т.д.), промышленного контроллера, исполнительных устройств (клапаны, приводы, частотно-регулируемые преобразователи, пуско-регулирующая аппаратура) и человеко-машинного интерфейса. В системе автоматизации выделяют контуры регулирования (непрерывного управления) и контуры защиты. Контур – логически организованная последовательность элементов, выполняющая отдельную функцию автоматизации. Например, контур регулирования уровня в емкости будет включать уровнемер, ввод/вывод и ПИД-регулятор в контроллере, регулирующий клапан. Контуры могут быть локальными (независимыми) или связанными (многоконтурное регулирование).
Контрольно-измерительные приборы преобразуют физический параметр технологического процесса в электрический сигнал для передачи информации о процессе в промышленный контроллер, например датчик температуры преобразует физический параметр – температуру, в унифицированный электрический сигнал 4-20мА, соответственно выход датчика подключается к аналоговому входу контроллера, контроллер считывает со входа сигнал 4-20мА и дальше обрабатывает по заданному алгоритму. Использование унифицированных сигналов и интерфейсов в промышленной автоматизации позволяет подключать широкий спектр измерительных приборов и исполнительных устройств к различным контроллерам.
Исполнительные устройства преобразуют унифицированный электрический выходной сигнал контроллера в физический параметр технологического процесса, например: дискретный выходной сигнал контроллера подключается к блоку управления нагревателем (исполнительное устройство), а блок управления по команде от контроллера выполняет нагрев технологической среды. Управление может быть двухпозиционным (включено-выключено), многопозиционным (выключено, включен режим 1, включен режим 2 и т.д.) или непрерывным (аналоговым) когда управляющее воздействие может изменяться непрерывно в диапазоне 0-100%. Примером непрерывного (аналогового) управления может быть частотно-регулируемый привод электродвигателя или тиристорный блок управления нагревом.
Человеко-машинный интерфейс (ЧМИ) – совокупность технических устройств, позволяющая оператору взаимодействовать с контроллером, получать информацию о технологическом процессе, контурах регулирования и состоянии контроллера и оказывать управляющие воздействия на исполнительные устройства или режимы работы контроллера. К ЧМИ относятся лампы, индикаторы, кнопки, тумблеры, устройства звуковой сигнализации, одно и много строчные текстовые дисплеи, графические панели управления, операторские рабочие станции на базе персонального компьютера и SCADA-систем.
Промышленный контроллер – техническое устройство, выполняющее заданные алгоритмы обработки входящих сигналов и управляющих воздействий от ЧМИ и формирующее выходные сигналы для исполнительных устройств и элементов индикации ЧМИ.
История развития и происхождение термина ПЛК
С развитием микропроцессорной техники для управления технологическими процессами стали широко применяться программируемые логические контроллеры (ПЛК или PLC). Первые ПЛК были блочными законченными устройствами, содержащее источник электропитания, процессор и ввод/вывод в одном корпусе. Главное отличие ПЛК от обычного блочного компьютера было в том, что ПЛК содержал специализированное программное обеспечение (операционную систему реального времени), которая реализовывала основные функции управления. Программирование ПЛК не требовало системного программиста и сводилось к конфигурированию вода/вывода и составлению логических функций на специализированном языке (структурированный текст, лестничная логика, функциональные диаграммы). Построение алгоритмов управления на «лестничной логике» практически повторяло схемотехнику релейных схем, что позволяло легко перенести «релейные» проекты в ПЛК.
Первые ПЛК были чисто логическими контроллерами и не имели аналоговых входов. Это обеспечивало высокое быстродействие и надежность, и позволяло использовать ПЛК в системах безопасности вместо релейных сборок. ПЛК не имел собственного ЧМИ, он просто обрабатывал дискретные входы и формировал дискретные выходы в соответствии с заданной логической функцией. Развитие ПЛК шло очень быстро, ПЛК получили цифровой интерфейс (широко использовался RS-232 или RS-485 и ModBus-RTU) и уже могли обмениваться информацией по цифровому интерфейсу (передавать данные и воспринимать управляющие команды от внешних устройств), а так же ПЛК могли объединяться в сеть системы управления.
Снижение стоимости электронных компонентов и повышение производительности процессоров привело к расширению функционала ПЛК: появились ПЛК с аналоговым вводом/выводом и ПИД-регуляторами в ПО, т.е. ПЛК можно было использовать одновременно и для функций непрерывного регулирования и для функций переключений/отключений, теперь ПЛК не был просто «логическим контроллером», но термин за ним закрепился навечно.
Сегодня под термин ПЛК попадает бесконечно большое разнообразие микропроцессорных устройств для промышленного применения. Попробуем их классифицировать от простого к сложному.
Классификация очень условная, поскольку термин ПЛК относится к бесконечно широкой номенклатуре оборудования, то и классификацию можно выполнять по бесконечному числу признаков.
Классификация выполнена по степени усложнения аппаратного и программного обеспечения, что в свою очередь влияет на возможности контроллеров и возможность применения контроллеров на более сложных, объемных и ответственных объектах автоматизации.
Предложенный подход к классификации не является единственно возможным или исчерпывающим, каждый предложенный класс также содержит очень широкий спектр оборудования, которое можно разделить на подклассы по множеству других признаков и критериев. Предложенная классификация должна помочь инженеру сформировать критерии необходимой функциональности, надежности и безопасности при выборе ПЛК для решения поставленной задачи, в зависимости от степени ее ответственности.
Вне классификации промышленных ПЛК находятся контроллеры (мини компьютеры) с ОС Linux или Windows и CODESYS – это отдельный кластер ПЛК для определенных задач и сообщества программистов. ПЛК на базе одноплатных компьютеров во всех вариантах, полностью работающих под ОС Linux или Windows, в том числе и с библиотеками реального времени, в качестве промышленных управляющих контроллеров не рассматриваются. Они, конечно, могут применяться и применяются для решения простых задач управления, но их удел – домашняя автоматизация, умный дом, управление освещением, управление зданиями, а в промышленности – телеметрия и очень простые локальные объекты с минимальным уровнем ответственности. Linux – это замечательная операционная система, но вы не можете исключить все ошибки в ПО, разработанном сообществом энтузиастов или программистами сторонних компаний, поэтому невозможно выполнить достоверный расчет каких-либо критериев надежности и безопасности, вероятности опасных и безопасных отказов. Применение Linux в промышленных контроллерах оправдано для поддержки Ethernet интерфейса к SCADA, поддержке WEB-интерфейса или обеспечения сервисных функций.
1. Программируемые реле – простые однокорпусные микропроцессорные устройства, не имеющие аналогового выхода и функции непрерывного регулирования. Это достаточно условный критерий. Программируемые реле могут быть в самых разных вариантах под разные задачи (таймеры и реле времени, с набором логических функций и т.д.) В одном небольшом корпусе выполнены все элементы (часто на одной плате): источник питания, цифровой интерфейс, ввод/вывод, процессор. В зависимости от назначения содержат необходимое количество дискретного ввода/вывода, дополнительно могут содержать аналоговые входы. В основном предназначены для реализации логических функций, но могут содержать и ПИД-регулятор с ШИМ-выходом. Как правило программируемое реле содержит одну циклически выполняемую программу. Программируемое реле может не иметь пользовательской программы, все ПО может быть жестко зашита в контроллер без возможности изменения (только настройка параметров). В некоторых реализациях прикладная программа может формироваться во внешней среде разработки и загружается в виде бинарного файла. Реле предназначены для простых задач дискретного управления с минимальным набором необходимого функционала, когда основной критерий – оптимальная стоимость. Простота конструкции позволяет получить высокую безопасность, выпускаются программируемые реле, сертифицированные до УПБ3 (SIL3). Надежность зависит от производителя и условий эксплуатации. Очень широко применяются для задач «малой» автоматизации (управления простыми насосными и компрессорными станциями, лифтами, лабораторными печами, нагревателями, системами освещения и т.д.).
2. Одноконтурные регуляторы – простые однокорпусные ПЛК, реализующие функцию непрерывного или двухпозиционного регулирования для одного контура. Одноконтурные регуляторы также в одном корпусе содержат все необходимые элементы, включая ЧМИ (как правило в виде цифрового дисплея и кнопок управления), дискретный ввод/вывод, аналоговые входы и как минимум один аналоговый выход. Дискретный ввод/вывод как правило используется для управления режимами регулятора, формирования сигнализации состояния и предельных значений параметров процесса. ПО в регулятор загружено при производстве и не может быть изменено. Настройка регулятора заключается в настройке через встроенное меню: назначение ввода/вывода, режимов и алгоритма работы, уставок сигнализации и т.д. Регулятор может быть настроен и введен в эксплуатацию в течении нескольких минут по месту без какого либо дополнительного оборудования и ПО. Одноконтурный регулятор предназначен для построения контура непрерывного регулирования, широко применяется для локальных задач регулирования с установкой непосредственно на объекте автоматизации. Как правило не требует специальных знаний, достаточно прочитать инструкцию. Простое и хорошо отлаженное ПО исключает ошибки при эксплуатации, обычно проблемы возникают только с аппаратной частью. Стоимость, возможности и надежность зависят от производителя. Хорошее решение для простых задач.
3. Блочные ПЛК однозадачные – однокорпусные ПЛК, содержащие в одном корпусе все элементы: ввод/вывод, цифровой интерфейс, процессор, источник питания, могут содержать графический или текстовый дисплей и световую индикацию. В отличие от программируемых реле содержат несколько аналоговых выходов и могут реализовывать непрерывное регулирование по ПИД-алгоритму. Деление это чисто условное, просто чтобы задаться каким-то критерием. ПО контроллера для реализации функций управления содержит одну циклически выполняемую программу, это тоже условный признак для возможности классификации. ПО может содержать отдельную «сервисную программу» - загрузчик или отдельный процессор для обеспечения сервисных функций и коммуникаций (например, для обработки интерфейса Ethernet может использоваться отдельный процессор и ядро Linux). Обычно, программа управления (прикладная программа) формируется во внешней среде разработки в виде исполняемого или двоичного файла, и после загрузки в память контроллера «сервисная программа - загрузчик» передает ей управление. На практике существует множество вариантов организации и загрузки прикладного ПО для контроллеров такого типа. Изменение прикладного ПО требует повторной компиляции и загрузки всей программы в контроллер, загрузка изменений без останова процесса не предполагается. В зависимости от аппаратной конфигурации контроллера и наличия необходимого объема ввода/вывода, возможна реализация нескольких контуров непрерывного регулирования, выполнение логических функций, как правило есть возможность масштабирования входных и выходных переменных, обработка целочисленных переменных, формирования сигнализации по уставкам и параметрам сравнения и т.д. Некоторые версии поддерживают переменные с плавающей точкой. Коммуникационные возможности позволяют объединять контроллеры в сеть (RS-485/232, Ethernet и т.д.) и обмениваться данными между контроллерами или ЧМИ. Некоторые контроллеры имеют возможность обработки прерываний и обслуживания счетно-импульсного входа. Сложность и объем прикладного ПО ограничивается объемом памяти, время цикла зависит от размера программы и производительности процессора. Этот тип контроллеров широко применяется для небольших локальных объектов автоматизации, содержащих от 1 до 5 контуров регулирования и/или простой логический алгоритм, часто применяется для оборудования блочной поставки (насосные и компрессорные станции, блоки смешения, дозирующие станции, установки с емкостями или резервуарами, установки ультрафильтрации или обратного осмоса, системы вентиляции и кондиционирования, водогрейные котлы и т.д.). Наличие сетевых интерфейсов позволяет подключить несколько контроллеров к ЧМИ и организовать сеть управления объектом. Этот тип ПЛК выпускается многими производителями в бесконечном количестве конфигураций, с широким диапазоном стоимости и потребительских характеристик.
4. Блочные ПЛК многозадачные – аппаратно практически не отличаются от описанных выше однозадачных ПЛК, но ПО контроллера более сложное. Контроллер уже имеет операционную систему, в функции которой входит в том числе и распределение процессорного времени между задачами прикладного ПО. Прикладная программа состоит из одной циклической задачи и нескольких периодических, выполняемых по времени или по прерыванию. Это позволяет для разных контуров управления и защиты организовывать разные временные циклы и обрабатывать задачи по приоритету (например, алгоритм аварийного отключения можно обрабатывать по прерыванию с наивысшим приоритетом, а ПИД-регуляторы обрабатывать с временем цикла 0,5 секунды со сдвигом каждого контура по времени, и разгрузить основной цикл программы). Многозадачность позволяет строить более сложные алгоритмы управления с детерминированным временем обработки каждой задачи, когда это требуется. Как правило такие ПЛК имеют в контроллере операционную систему, обеспечивающую выполнение нескольких параллельных задач с разными приоритетами, а в среде разработки формируется не исполняемый бинарный файл, а файл конфигурации или набор программных блоков. Более сложное ПО дает определенные дополнительные возможности, но потенциально может содержать в себе и больше ошибок, качество конечно зависит от производителя и версии релиза (обычная практика, когда первые релизы содержат ошибки, сбои и зависания - в порядке вещей, производитель регулярно выпускает обновления системного ПО и со временем программа начинает работать достаточно стабильно). Более сложное ПО требует и более квалифицированных инженеров, понимающих организацию контроллера. Сфера применения контроллеров примерно та же, что и у предыдущих ПЛК (больше из-за того, что не все понимают разницу между однозадачным и многозадачным ПЛК, а внешне они очень похожи, и отдают предпочтение более бюджетному однозадачному решению), ценовой диапазон несколько выше.
5. ПЛК с расширением вода/вывода. К этому типу ПЛК относятся контроллеры двух предыдущих типов, но уже с возможностью расширения ввода/вывода. Расширение ввода/вывода ПЛК может быть выполнено в виде дополнительных аппаратных модулей, устанавливаемых непосредственно на системную шину контроллера, либо как отдельные модули с цифровым интерфейсом и интеграцией с контроллером по цифровой шине (RS-485, Ethernet и т.д.). Контроллеры с дополнительным вводом/выводом имеют большую информационную емкость и могут решать более объемные задачи. Эти контроллеры имеют несколько более сложное аппаратное и программное обеспечение, обработка удаленного ввода/вывода выделяется в отдельную системную задачу. Организация цифровой шины и протокол обмена данными должны обеспечивать детерминированное время обмена между модулями расширения и центральным процессором. Решение, когда контроллер как ведущее устройство считывает информацию из периферийных устройств по протоколу RS-485+ModBus, не может обеспечить детерминированное время обмена и для ответственных задач не применимо. Так как увеличение информационной емкости позволяет решать более сложные задачи, т.е. контроллеры предназначены для применения в более дорогом сегменте задач автоматизации, поэтому как правило эти контроллеры имеют более надежную аппаратную часть, производительный процессор, больший объем оперативной памяти, более сложную организацию прикладного ПО. Стоимость тоже будет несколько выше. Производители предлагают очень широкую линейку ПЛК такого типа с большим разнообразием аппаратных решений и конфигурации ПО. Возможность применения конкретного ПЛК зависит от уровня ответственности и объема задачи автоматизации.
6. Модульные ПЛК с возможностью масштабирования. Конфигурация контроллера набирается из многих модулей: модуль питания, центрального процессор, коммуникационный модуль, модули ввода/вывода и т.д. Конструктивные решения по сборке модулей в устройство могут быть разные: корзина или крейт с фиксированным количеством посадочных мест и внутренней системной шиной, сборка «модуль к модулю» на ДИН-рейку или специальный рельс, сборка на панели с коммутацией специальными кабельными перемычками и множество других вариантов. Каждый модуль выполняет определенные функции, и под каждую задачу набирается конфигурация из необходимого набора модулей. Как правило в линейке производителя для модулей каждого типа существует несколько вариантов: блоки питания на разное напряжение и разную мощность, центральные процессоры разной производительности и разным объемом оперативной памяти, коммуникационные модули под разные протоколы, модули ввода/вывода для различного типа сигналов и разной информационной емкости. Для решения специальных задач в линейке могут быть специфичные модули, например модуль антипомпажной защиты компрессора (модуль содержит и входы и выходы и собственный процессор, поэтому время выполнения функции безопасности гарантировано менее 1мс). Количество модулей в одной сборке ограничено, но есть возможность объединения в общую конфигурацию нескольких сборок и значительного расширения емкости ввода/вывода. Объединение может выполняться с помощью специальных интерфейсов или через сеть управления, для ответственных решений время обмена пакетами между модулями ввода/вывода и центральным процессором должно быть детерминировано. Теоретический объем ввода/вывода как правило ограничен возможностью адресации и производительностью процессора. Есть решения, когда в одной конфигурации используется несколько процессоров выполняющих разные задачи, а весь доступный ввод/вывод произвольно распределяется между процессорами. Основные преимущества такой архитектуры – широкие возможности масштабирования, возможность сборки необходимой конфигурации под поставленную задачу, территориальное распределение ввода вывода, в качественных решениях есть возможность обмена между контроллерами, расположенными в разных сборках, с детерминированным временем доставки сообщениями, т. е. выполнение одной задачи управления может быть распределено между несколькими процессорами. Фактически получаем распределенную систему управления в ее буквальном смысле (в общепринятой терминологии «буквальный смысл» не соответствует фактической классификации и к DCS/РСУ относятся несколько другие решения).
Несмотря на внешнюю схожесть всех решений для этой категории ПЛК, они имеют значительные различия как в аппаратном исполнении, так и в функциональных возможностях, и соответственно в стоимостном диапазоне. В зависимости от степени ответственности объекта автоматизации, необходимо тщательно анализировать предлагаемые производителями решения. Решения, которые разрабатывались, тестировались и преимущественно применяются в системах телеметрии очень рискованно применять для управления технологическим процессом. Многие крупные производители, которые традиционно выпускали «большие DCS», в борьбе за рынок средних и малых объектов автоматизации, под своим брендом предлагают решения на модульных ПЛК сторонних компаний. Эти решения не всегда качественные, потому что изначально разработаны небольшими компаниями для очень бюджетного сегмента, и наличие именитого бренда на корпусе не добавляет им качества, необходимо внимательно анализировать предложения поставщика не зависимо от бренда.
7. Модульные ПЛК с частичным резервированием (без резервирования ввода/вывода). Повышение производительности процессоров и сетевых интерфейсов позволило обрабатывать на одном процессоре до нескольких тысяч контуров регулирования и защиты, и наращивать ввод/вывод до нескольких сотен модулей на один процессор. С повышением удельной нагрузки на процессор снижалась стоимость системы, но одновременно повышались требования к надежности и отказоустойчивости оборудования, в первую очередь модулей центрального процессора и коммуникационных модулей, так как именно они оказались наиболее критичной точкой отказа.
Производители предлагают несколько решений по резервированию:
установка в одном корпусе (одном модуле центрального процессора) двух процессорных плат, подключенных к общей системной шине. Такое решение на практике используется редко, так как при отказе необходимо отключить систему управления и заменить модуль целиком;
установка в одной корзине (крейте) двух модулей центрального процессора. У многих производителей замена отказавшего модуля может выполняться без отключения питания и останова технологического процесса. Решение применяется для сравнительно небольших систем, когда весь ввод/вывод располагается в одной корзине с процессорными модулями. Решение повышает надежность при отказе процессора, но не защищает при отказе схемы электропитания, интерфейсных модулей или повреждении системной шины (если модуль питания и модуль интерфейса не резервируется). Есть решение, когда в одной корзине реализуется резервирование и схемы электропитания (два блока питания и два ввода), и интерфейсных модулей (два интерфейсных модуля или используются интерфейсы на модуле центрального процессора) и два модуля центрального процессора, т.е. резервирование обеспечивает достаточно высокую надежность и система остается работоспособной при единичном отказе любого элемента, за исключением системной шины.
каждый процессорный модуль размещается в своей отдельной корзине, корзины с процессорными модулями резервируются целиком, включая саму корзину (системную шину), блок питания, интерфейсный модуль, процессорный модуль. В зависимости от производителя, в корзинах может также устанавливаться модуль резервирования и дополнительные интерфейсные модули (количество интерфейсных модулей зависит от топологии сети). Все модули ввода/вывода располагаются в отдельных корзинах, корзины ввода/вывода могут быть распределены по объекту автоматизации, коммуникация между процессорами и вводом/выводом выполняется через сеть управления. Для организации сети управления используется топология с резервированием. При правильном распределении технологического оборудования между вводом/выводом и резервировании электропитания, данное решение обеспечивает высокую надежность, система остается работоспособной при единичном отказе любого элемента. При этом есть возможность поочередно отключить электропитание и провести техническое обслуживание оборудования в корзинах центрального процессора.
Типичное решение для резервирования центрального процессора – установка двух плат или двух модулей со схемой горячего резервирования, когда один основной модуль находится в режиме «работа», второй резервный в режиме «горячего резерва». Основной и резервный модули как правило абсолютно одинаковы и в них загружено прикладное ПО одной версии. Для выполнения функций резервирования и синхронизации процессоров может использоваться как внутренние ресурсы модулей центрального процессора, так и внешний специальный модуль синхронизации. Оба процессора получают входные данные (от модулей ввода/вывода, SCADA, сетевых устройств), прикладное ПО выполняется как в основном, так и в резервном процессоре, но результаты вычислений на модули вывода (SCADA, сетевые устройства) передает только основной процессор. Алгоритм синхронизации постоянно выполняет синхронизацию внутренней базы данных процессоров, значения переменных, таймеров, сторожевых таймеров и результатов вычислений. В некоторых решениях синхронизируется вся оперативная память. Специальный алгоритм контролирует работу основного и резервного процессоров. При обнаружении неисправности основного процессора, система резервирования переводит его в режим «неисправность», а резервный процессор переводится в режим «работа», т.е. обеспечивается «безударный» переход на резервный процессор максимум за один программный цикл.
Для резервирования интерфейсов сети управления (сети между центральными процессорами и вводом/выводом) могут применяться разные решения по топологии – резервированная двойная шина, одинарное или двойное кольцо, двойная звезда. Наиболее часто для организации сети управления используются протоколы физического уровня RS-485 и Ethernet, другие протоколы встречаются редко. Сеть на базе RS-485 строится по шинной топологии, на базе Ethernet по топологии дерево или кольцо. Резервирование интерфейсов обеспечивается на более высоком уровне, единых стандартов по резервированию сетей управления нет, часто производители предлагают собственные решения. Не все решения по построению сети управления и резервированию обеспечивают детерминированное время доставки сообщения (пакета), т.е. невозможно гарантировать максимальное время обмена данными между процессором и вводом/выводом (соответственно, невозможно гарантировать время выполнения контура управления или контура безопасности). В зависимости от реализации и производителя, время восстановления сети при отказе (переключения на резервный канал, исключение из опроса неисправного интерфейса, включение в опрос нового интерфейса и т.д.) может достигать нескольких секунд. Построение кольцевой топологии сети Ethernet с применением протокола STP или аналогичных не обеспечивает резервирование сети управления (сетевых интерфейсов устройств), протокол STP работает в кольцевых сетях между коммутаторами и не реализуется на конечных сетевых устройствах.
При проектировании системы автоматизации с удаленным вводом/выводом надо учитывать поведение алгоритма вычислений при нарушении работы сети и отсутствии актуальных данных. Как правило контроллер использует последние полученные данные, замораживая данные в буфере до восстановления связи, а система диагностики формирует флаги ошибки связи. Но в некоторых решениях при отсутствии связи входной буфер очищается и значения входных переменных устанавливаются в крайнее значение («0» для булевых переменных, «верх» или «низ» шкалы для аналоговых), что приведет к непредсказуемым результатам.
Аналогично необходимо учитывать поведение выходных модулей при сбоях связи с центральным процессором. При потере связи выходы модуля могут перейти в состояние:
«выключено» - низкое состояние, соответствующее отключению электропитания;
в заранее заданное значение при обнаружении состояния «потеря связи» - инженер при задании конфигурации модуля устанавливает значение, в которое будут переведены выходы если модуль потеряет связь с центральным процессором;
«последнее состояние» – модуль будет сохранять последнее состояние, которое было на момент потери связи. «Последнее состояние» может сохраняться до момента восстановления связи и получения новых данных. В некоторых решениях «последнее состояние» может сохраняться в течении заданного интервала времени (repair timer) с последующим переводом в «безопасное состояние» или состояние «выключено» если связь не восстановилась.
Решения по резервированию, возможное время переключения интерфейсов (каналов) и поведение модулей при потере связи должны выбираться и оцениваться с точки зрения обеспечения как надежности (снижение количества остановов технологического оборудования из-за отказов системы автоматизации), так и безопасности (гарантированному переводу в безопасное состояние технологического оборудования при отказах в системе автоматизации, когда невозможно выполнить функцию безопасности). Компромисс зависит от сложности и степени ответственности объекта автоматизации.
Решения с резервированием корзин с модулем центрального процессора и интерфейсных модулей, для большинства задач обеспечивает необходимую надежность и отказоустойчивость. Это решение будет вполне приемлемым, если не предполагается в ПЛК реализация функций безопасности с сертификацией на УПБ.
8. Модульные ПЛК с полным резервированием включая ввод/вывод.
Крупные производители, в поисках решений по повышению надежности и безопасности оборудования автоматизации для объектов с высокой степенью ответственности, разработали модульные ПЛК с полным резервированием всех элементов включая модули ввода/вывода. Под резервированием ввода/вывода следует понимать решение, когда резервируется модуль целиком как единица оборудования, т.е. резервированный модуль – это два (или несколько) отдельных физических модуля, при этом один входной сигнал подается одновременно на все резервированные модули. Аналогично выходной сигнал для одного исполнительного устройства формируется всеми резервированными модулями. Решение, когда в системе есть несколько резервированных приборов, подключенных к разным модулям ПЛК, и анализ достоверности и расчет итогового значения выполняет прикладная программа, является резервированием несколько другого уровня и в данном случае не рассматривается (например три датчика давления, расположенные в одной точке измерения, подключаются к разным модулям одного ПЛК и прикладная программа определяет достоверность показаний от каждого датчика и рассчитывает среднее значение для передачи в функцию безопасности). Иногда в пользовательских решениях с целью повышения отказоустойчивости используются несколько входов одного модуля или одного блочного ПЛК, но такие решения не могут считаться резервированием.
В данном случае под надежностью понимается устойчивость к безопасным отказам – явный отказ модуля, который приводит к формированию безопасного значения входов (выходов).
Под безопасностью понимается устойчивость к скрытым опасным отказам – отказ модуля, который не определяется диагностикой системы и не приводит к формированию безопасного значения входов (выходов). При скрытом опасном отказе неисправность не проявляется, оборудование выглядит как исправное, но при запросе на выполнение, функция безопасности не будет выполнена. Отказ может быть выявлен только при проведении диагностического теста (полной проверке контура безопасности).
Для резервирования ввода/вывода используются несколько схем:
– схема «1 из 2», один входной сигнал одновременно подается на два модуля ПЛК. Для булевых переменных функция резервирования выполняет логическую операцию «И». Для функций безопасности логический «0» является безопасным состоянием. Соответственно «И» – это повышение безопасности, при отсутствии входного сигнала на любом из модулей исполняется функция безопасности. При такой схеме в два раза увеличивается частота ложных срабатываний, и отказ одного модуля переводит процесс в безопасное состояние. Для аналоговых переменных обычно из двух значений берется одно: либо наибольшее, либо наименьшее, в основном с целью повышения безопасности (если одно из значений достигло аварийного значения, выполняется функция безопасности). Также может устанавливаться порог расхождения между аналоговыми переменными, при превышении порога может формироваться сигнализация или выполняться функция безопасности. На практике такая схема применяется редко, если производитель (а чаще интегратор) хочет в декларации на систему безопасности формально повысить уровень полноты безопасности системы до требуемого значения (декларировать УПБ2). Схема значительно снижает надежность (любой единичный отказ ввода/вывода приводит к выполнению функции безопасности), поэтому заказчик от таких схем обычно отказывается.
– схема «2 из 2», один входной сигнал одновременно подается на два модуля ПЛК. Для булевых переменных функция резервирования выполняет логическую операцию «ИЛИ». «ИЛИ» это повышение надежности, для выполнения функции безопасности необходимо наличие соответствующего состояния входов двух модулей, при отказе одного модуля схема вырождается в «1 из 1». Повышается защита от ложных срабатываний, отказ одного модуля не приводит к останову процесса, но безопасность системы снижается. Для аналоговых переменных обычно из двух значений берется одно: либо наибольшее, либо наименьшее, но уже с целью повышения надежности (оба значения должны достигнуть аварийного значения). Иногда рассчитывается среднее значение, также устанавливается порог расхождения между значениями с формированием сигнализации. На практике такая схема применяется только для повышения надежности (отказоустойчивости) в ущерб безопасности, для задач, где это допустимо. Схема «2 из 2» будет оптимальной для повышения надежности контуров регулирования на объектах высокой степени ответственности. Большинство контроллеров, выполняющих функции управления в DCS системах, реализуют схему резервирования ввода/вывода «2 из 2» для повышения надежности системы.
– схема «1 из 2 D» – один из двух с диагностикой. Принципиально выполнена аналогично схеме «1 из 2», но в модулях реализована схема диагностики (самодиагностики), позволяющая выявить часть безопасных отказав. Объем выявляемых отказов зависит от глубины диагностики. Алгоритм резервирования анализирует результаты диагностики модулей ввода/вывода, если данные одного модуля признаны недостоверными, эти данные исключаются из голосования и схема вырождается в «1 из 1». Если данные обоих модулей признаны недостоверными, тогда контролируемый параметр считается достигшим опасного значения и выполняется функция безопасности (процесс переводится в безопасное состояние).
Схема «1 из 2 D» за счет использования диагностики обеспечивает более высокую надежность при сохранении безопасности схемы «1 из 2». Даже самая совершенная система диагностики не может выявить все безопасные и опасные отказы, но может значительно уменьшить вероятность ложного срабатывания. Количество безопасных не диагностируемых отказов зависит от глубины диагностики и качества ее реализации. Серьезные производители предоставляют объемный документ с подробным описанием как принципов и глубины диагностики, так и расчетов соотношения диагностируемых и не диагностируемых отказов. В качественных решениях объем диагностики охватывает весь канал: от входного элемента модуля (например оптопары дискретного входа), до обновления значения в буфере процессора, включая передачу пакетов по сети и контроль целостности данных. В менее качественных решениях диагностика ограничена контролем питания на модуле и таймаутом сетевого обмена, что практически никак не увеличивает надежность системы.
При качественной реализации с максимальной глубиной диагностики, схема «1 из 2 D» для резервирования ввода/вывода обеспечивает приемлемое компромиссное решение для широкого спектра задач автоматизации с высокой степенью ответственности.
– схема «2 из 3», входной сигнал подается одновременно на три модуля, значение всех трех модулей передаются в алгоритм мажоритарного голосования, который формирует результирующее значение по схеме «2 из 3».
Такое решение обеспечивает одновременно как высокую надежность, так и высокую безопасность. Схема «2 из 3» устойчива к единичным отказам, отказ одного модуля не приводит к ложному срабатыванию и выполнению функции безопасности, при этом система в целом остается работоспособной.
При опасных отказах одного модуля схема вырождается в «2 из 2» и при запросе функция безопасности все равно будет выполнена. Опасный отказ одновременно двух модулей приведет к отказу всей системы, функции безопасности выполняться не будут, но вероятность такой ситуации очень низкая.
При безопасном отказе одного модуля схема вырождается в «1 из 2», значение отказавшего модуля считается достигшим аварийного порога и для выполнения функции безопасности достаточно превышения порогового значения на одном из исправных модулей. Безопасность системы остается высокой. Безопасный отказ одновременно двух модулей приводит к выполнению функции безопасности.
Также может применяться схема «2 из 3 D», два из трех с диагностикой. Результаты диагностики могут использоваться для повышения надежности или повышения безопасности. Для повышения надежности канал, определенный диагностикой как неисправный, исключается из голосования и схема вырождается в «2 из 2», для повышения надежности при обнаружении неисправного канала схема вырождается в «1 из 2 D».
В большинстве решений все три модуля устанавливаются на одной терминальной панели, в которой выполнена вся коммутация. Конструктив панели и модулей позволяет заменять неисправный модуль без отключения питания и нарушения в работе системы автоматизации. Логика мажоритарного голосования может быть реализована аппаратно, в системном ПО или прикладном ПО.
В случае применения ПЛК в качестве контроллера безопасности для объекта высокой степени ответственности, схема «2 из 3» обеспечит максимально высокую надежность и безопасность. Сложность решения определяет его высокую стоимость, поэтому применение такого решения должно быть обосновано.
Дальнейшее наращивание количества каналов, например схема «2 из 4», к значительным изменениям показателей надежности и безопасности не приводит, это больше маркетинговый ход производителей с низким качеством оборудования, технического смысла такие решения не имеют (решения с большим количеством каналов применяются в системах безопасности атомной промышленности, но там все решения индивидуальные и резервируется не только оборудование внутри системы безопасности, но вся система безопасности целиком).
Аппаратно реализовать резервирование для модулей дискретного ввода/вывода и аналогового ввода с сигналом по напряжению не представляет сложности. Для аналоговых входов с токовым сигналом и возможностью замены модулей на работающей системе, производители могут предлагать разные решения, от бюджетного, когда на терминальной панели установлены опорные резисторы, а модули фактически измеряют напряжение, до полноценных решений с токовой петлей и шунтирующими стабилитронами. Наиболее сложно аппаратно реализовать резервирование аналогового выходного модуля с токовым сигналом, но аналоговые выходы используются только для функций непрерывного регулирования и не используются в системах безопасности, поэтому резервирование модулей с аналоговым токовым выходом используется только для повышения надежности на объектах высокой степени ответственности, схема резервирования может отличатся от описанных выше, и не все производители ПЛК с резервированным вводом/выводом предлагают решения для аналоговых выходов.
9. ПЛК для систем безопасности ESD (система аварийного останова) – ПЛК предназначенные для применения в контурах безопасности, к которым предъявляются требования по ГОСТ Р МЭК 61511. В соответствии с ГОСТ Р МЭК 61511 при проектировании инструментальной подсистемы безопасности определяется перечень контуров безопасности (контуров защиты) и для каждого контура назначается требуемый уровень полноты безопасности (УПБ). Соответственно оборудование (приборы, преобразователи, логические устройства, исполнительные устройства), которые будут использоваться в реализации контура защиты, должны иметь такие показатели надежности и безопасности, которые в итоге обеспечат требуемый уровень полноты безопасности всего контура. ПЛК или логическое устройство будет только частью контура защиты. Для возможности расчета УПБ всего контура, для ПЛК, применяемого в составе контура, должны быть определены показатели надежности и безопасности (под ПЛК понимается вся совокупность модулей и компонентов, включая процессорный модуль, модули ввода/вывода, коммуникационный модуль, модули питания и т.д.). Для систем безопасности применяются решения по организации ПЛК и схем резервирования, описанные выше. Для каждого решения определяется фактически достигнутый уровень УПБ, методика определения фактического УПБ регламентирована ГОСТ Р МЭК 61508.
Определение УПБ по ГОСТ Р МЭК 61508 – это очень объемная и затратная по времени и ресурсам процедура, требующая выполнения бесконечного количества расчетов и оформления бесконечного количества документов. Для систем до УПБ2 допускается процедура декларирования, т.е. производитель самостоятельно проводит испытания и анализ, выполняет расчеты и под свою ответственность декларирует, что его система соответствует заявленному УПБ. Независимая экспертная организация к процедуре декларирования не привлекается, поэтому объективность декларации сильно зависит от честности производителя. Для систем с УПБ3 обязательным является процедура сертификации, которую должна проводить компетентная независимая экспертная организация. Сертифицировать можно систему на любой уровень УПБ, но эта очень затратная процедура и для систем до УПБ2 проводится редко. ГОСТ Р МЭК 61508 состоит из семи частей общим объемом более 500 страниц, содержит мало конкретики и сложен для понимания, поэтом сертификация ПЛК на соответствие ГОСТ Р МЭК 61508 это отдельная очень объемная тема.
На сегодня в РФ нет ни одного сертификационного центра, который мог бы провести испытания и объективно оценить УПБ ПЛК. Все сертификаты от российских центров, которые предоставляют производители, дистрибьюторы и продавцы, не подкреплены какими либо документами, которые требует ГОСТ Р 61508: методиками, методами, техническими заданиями, схемами, расчетами, протоколами, объективными и подтвержденными показателями надежности и безопасности и т.д., в большинстве случаев нет даже перечня документов, перечня оборудования и перечня программного обеспечения, который производитель предоставил на сертификацию. На практике все сертификаты, которые предоставляли российские производители и поставщики, при самой поверхностной проверке оказывались фикцией. Наличие российского сертификата никак не подтверждает возможность применения ПЛК в системах безопасности ответственных объектов, даже если производитель предоставит показатели надежности и безопасности, необходимо самостоятельно всесторонне детально изучить ПЛК от реализации аппаратной части до системного ПО и прикладного функционала.
Необходимость определения требуемого УПБ для контуров защиты определена в Федеральных Нормах и Правилах для взрыво-пожаро опасных и химически опасных объектов, соответственно оборудование, применяемое в контурах безопасности этих объектов должно быть сертифицировано (декларировано) на требуемый УПБ с соответствующими показателями надежности и безопасности с учетом возможного временного интервала контрольных проверок. В остальных случаях, когда законодательство РФ не требует применение сертифицированного на УПБ оборудование, целесообразно использовать оборудование без сертификации выбрав приемлемую конфигурацию и при необходимости схему резервирования. Многие производители предлагают очень достойные решения, обеспечивающие практически любой уровень надежности и безопасности, но без сертификации. Полноценная сертификация на УПБ3 увеличивает стоимость ПЛК от 50 до 200% при тех же аппаратных и программных решениях. Нет смысла переплачивать за сертификаты, которые вам не нужны.