2. Гибмаш Е.А. Повышение качества проектирования АСУТП. // Приборы и системы.-М.: - 2002.-№6.
3. Гнеденко Б.В, Коваленко И.Н. Введение в теорию массового обслуживания. -М., Наука, 1966.
4. Севостьянов Б.А. Эргодическая теорема для Марковских процессов и ее приложение к телефонным линиям с отказами. - В кн.:Теория вероятностей и ее применение.-М.: 1957., Вып.1. Т.2.
5. Саати Т.Л. Элементы теории массового обслуживания и ее приложения. -М.: Сов. радио, 1971.
6. Цвиркун А.Д. Структура сложных систем.-М., 1975.
С.И. Родзин
ПОВЫШЕНИЕ ОТКАЗОУСТОЙЧИВОСТИ РАСПРЕДЕЛЕННЫХ СИСТЕМ В ЭЛЕКТРОЭНЕРГЕТИКЕ
Управление системами электроэнергетики предъявляет жесткие требования к обеспечению отказоустойчивости и безопасности систем автоматики [1]. Основной задачей при решении проблемы совершенствования надежности этих систем является создание принципиально новых устройств на современной микроэлектронной базе с высокой степенью отказоустойчивости и обеспечением приемлемого уровня безопасности их эксплуатации. Это вызвано тем, что на смену морально устаревшей аппаратуре пришли микроконтроллеры, уровень надежности которых не столь высок, как, например, у реле первого класса надежности. Особенно остро проблема отказоустойчивости возникает в распределенных системах, основные элементы которых размещаются вблизи силового оборудования и в большей степени подвержены климатическим воздействиям и электромагнитным помехам.
Структура распределенной системы управления
электроэнергетическими системами имеет два основных иерархических уровня. Нижний уровень системы состоит из однотипных объектных контроллеров (ОК), размещаемых в непосредственной близости от объектов управления и контроля. ОК выполняет функции управления и контроля с обеспечением всех условий безопасности, а также диагностики оборудования. Верхний уровень системы состоит из резервированного компьютерного управляющего комплекса, выполняющего функции формирования управляющих команд, протоколирования, связи с внешними системами управления (диспетчерский центр, соседняя станция и т.п.) и функции человекомашинного интерфейса [2].
Таким образом, в системе распределенной микропроцессорной централизации реализуется принцип иерархического обеспечения условий безопасности, которые проверяются как на уровне управляющего комплекса, так и на уровне ОК.
В качестве управляющего комплекса может использоваться дублированный или резервируемый персональный компьютер. Основными функциями управляющего комплекса являются: проверка условий
безопасности; ввод, выработка и передача управляющих воздействий объектному контроллеру; контроль за состоянием оборудования; диагностика состояния линий связи и объектных контроллеров; отображение состояния оборудования.
Канал связи диспетчерской централизации реализуется при наличии одного из следующих вариантов: оптоволоконных линий, существующих каналов связи или на основе радиоканалов.
Локальная сеть связи ОК может быть реализована, например, на основе высоконадежной промышленной сети CAN (Controller Area Network), широко применяемой в различных отраслях [2]. Технические характеристики и протоколы CAN зафиксированы в международных стандартах. В настоящее время различными фирмами выпускается большое количество специализированных микросхем, поддерживающих CAN на аппаратном уровне. Для повышения надежности и безопасности в распределенной микропроцессорной централизации реализуется дублированный вариант сети с применением прикладного протокола для повышенной надежности передачи данных CAN Open. Использование в распределенной микропроцессорной централизации локальной сети позволяет резко сократить количество многожильных кабелей для связи с оборудованием. Они заменяются на обычные кабели, по которым осуществляется передача основных потоков информации.
Ядром контроллера является микропроцессор со встроенным интерфейсом CAN. В целях обеспечения требований безопасности предусматривается резервирование ОК, при котором каждый контроллер является самостоятельным узлом сети, входные сигналы поступают на оба резервированных контроллера, а их выходные сигналы включаются по схеме аппаратного «И». Контроллеры выдают управление на оборудование, обеспечивая требования безопасности с учетом экстремальных ситуаций, связанных с пропаданием питания. Все входы и выходы контроллера, цепи электропитания, а также оба канала сети CAN имеют гальваническую развязку 660В. Контроллер имеет расширенный диапазон рабочих температур от -40°С до +70°С при относительной влажности до 100% и виброустойчивое исполнение. Схемотехника контроллера позволяет с заданным циклом производить самотестирование всех входных и выходных каналов. Для защиты от программных сбоев применяются два независимых сторожевых таймера аппаратного сброса (Watchdog) с разными интервалами срабатывания. Аппаратно все ОК в распределенной системе абсолютно одинаковы, что существенно упрощает процесс монтажа и обслуживания системы. Адрес контроллера в сети задается соответствующей коммутацией адресных выводов, конфигурационные данные автоматически записываются в контроллер после его подключения управляющим комплексом по сети. Высокая алгоритмическая мощность ОК позволяет реализовать с его помощью автономную базу знаний о технологическом процессе и, как следствие, организовать достаточно простую регулярную структуру с принципиально новыми возможностями по обеспечению отказоустойчивости и адаптации к новым техническим решениям [2].
Основными функциями ОК в распределенной системе являются следующие функции: непосредственное управление; контроль состояния оборудования; повторная проверка условий безопасности;
самодиагностика; обмен информацией по сети.
В основу построения структурной схемы отказоустойчивого ОК был положен принцип минимизации числа элементов, реализующих программно неответственные функции, и аппаратно-программное мажорирование элементов, исполняющих ответственные операции. В качестве базового промышленного элемента был выбран высоконадежный однокристальный микропроцессор SAF-C505CA (Siemens).
Для исследования отказоустойчивости базового микропроцессора без привлечения средств самотестирования был выполнен цикл испытаний, который показал следующее. Одними из часто встречающихся неисправностей являются программные сбои микропроцессора, связанные с выполнением команд определенной группы. В эту группу входят команды обращения к портам ввода/вывода, проверки отдельных битов порта С (PORT C) и команды загрузки внутреннего таймера (TMR 0). Кроме того, имело место самопроизвольное изменение состояний некоторых разрядов порта А (PORT A) при его настройке на «выход», что приводило к появлению ложной «1». Перечисленные сбои составили более 80% всех наблюдаемых отказов в базовом элементе. Если подобного рода сбои в реально действующей системе окажутся вовремя необнаруженными, то это может привести к катастрофическим последствиям.
Другой класс отказов связан с катастрофами природного характера, а также непреднамеренными или преднамеренными действиями человека (терроризм). Под катастрофоустойчивостью (disaster tolerance, disaster recovery) понимается способность системы продолжить выполнять свои функции после массового уничтожения ее компонентов в результате катаклизмов различного характера [3]. Вероятность отказа при природных катаклизмах (землетрясениях, наводнениях, оползнях, ураганах) и катастрофах по результатам обыденной деятельности человека (пожары) определяются из статистических данных и располагаются в диапазоне от
0,1 до 0,5. Вероятность преднамеренных катастроф в значительной мере зависит от уровня терроризма в регионе и от доступности для террористов элементов системы (степени физической и организационной защищенности элементов системы).
Следует отметить определенное отличие понятий «отказоустойчивость» и «катастрофоустойчивость». В отказоустойчивых системах предполагается, что каналы связи между активными компонентами гораздо надежнее компонентов. В распределенных катастрофоустойчивых системах возможность потери связи для канала сравнима с вероятностью выхода из строя одного из активных компонентов. Учитывая различные вероятности ожидаемых катастрофических событий, алгоритмы отработки отказов должны фиксировать конкретные требования к системе. Распределенная отказоустойчивая система без принятия дополнительных мер не может быть по-настоящему катастрофоустойчивой.
Отказоустойчивость - это мера способности систем функционировать правильно при наличии неисправности. Современные системы электроэнергетики содержат внушительное число аппаратно-программных компонент, что объективно снижает их отказоустойчивость, ограничивает
сферу применения и требует ответа на вопросы, связанные с непрерывным функционированием системы и гарантией сохранения данных в случае отказа. В частности, развитие систем обеспечения безопасности свидетельствует, что простое введение избыточности мало что дает. Обеспечить отказоустойчивость можно лишь путем комплексного и последовательного решения всех вопросов на системном уровне. Это требует взаимодействия проектировщиков, изготовителей и
пользователей, поскольку характер неисправностей и архитектура системы, режим и условия её эксплуатации, затраты и достигаемый при этом уровень отказоустойчивости являются критериями, влияющими на окончательное решение.
Требования к отказоустойчивости зависят от области применения систем. Однако, независимо от области применения, ключевыми задачами проектирования и эксплуатации отказоустойчивых систем являются распознавание неисправностей отдельных компонент; локализация неисправностей путем диагностирования их местоположения; устранение неисправности путем, например, реконфигурации или повторного исполнения программы; сохранение данных в ходе устранения неисправностей.
Большинство работ в области обеспечения отказоустойчивости посвящено ответу на вопросы, связанные с тем, как диагностировать неисправность, что делать, если возникла неисправность, как перевести систему в работоспособное состояние [2].
Взаимосвязь между текущим и последующим состоянием системы, с точки зрения отказоустойчивости, можно интерпретировать в виде следующей матрицы:
Текущее состояние системы
Фактическая неисправность
Исправное состояние Неисправность, учитываемая моделью
Отказоустойчивая неисправность
Последующее состояние Исправное состояние Безошибочная работа Спонтанный выход из неисправного состояния без применения методов обеспечения отказоустойчивости
Неполный охват исправных состояний. Псевдонеисправнос ть допустима Метод обеспечения отказоустойчивости гарантирует переход в исправное состояние «Случайное», негарантируемое обнаружение и устранение неисправности
0)
X
Неполный охват исправных состояний. Псевдонеисправнос ть недопустима из-за её некорректности Исправление ошибки является некорректным
Возникла некоторая неисправность Вследствие неполного охвата всех возможных неисправностей, возникшая неисправность является неустранимой
Обеспечение отказоустойчивост и не требуется. Неисправность либо маловероятна, либо обеспечение отказоустойчивост и связано с очень большими затратами
Неизвестная неисправность, не ясен характер её распространения, моделирование неисправности затруднено
Анализ показывает, что необходимо различать три ключевых вопроса, связанных с проектированием отказоустойчивых систем:
- определение множества всех неисправностей, отказоустойчивость которых гарантируется в проектируемой системе и которые являются частью исходных внешних спецификаций, таких как габариты, быстродействие системы и т.д.;
- локализация и устранение отказов требует введения избыточности в проектируемую систему, что может повлиять на её быстродействие, себестоимость, габариты и транспарентность (прозрачность);
- выбор методов обеспечения отказоустойчивости системы.
При комбинировании программных и аппаратных методов обеспечения отказоустойчивости трудно провести разграничение между аппаратной и программной частями системы. Поэтому имеет смысл говорить в целом об аппаратно-программных затратах, а также о затратах на проектирование при использовании конкретных методов обеспечения отказоустойчивости и временной избыточности.
Проблема недостаточно высокой степени отказоустойчивости связана с тем, что существующие методы моделируют, в основном, неисправности аппаратного обеспечения системы. Область электроэнергетических систем требует разработки новых методов и моделей обеспечения отказоустойчивости. Пересмотру подлежат, в основном, вопросы, связанные с системным подходом к проектированию, с моделированием, локализацией и устранением неисправностей. Обеспечение отказоустойчивости системы является комплексной задачей, решение которой достигается комбинированием различных методов введения избыточности: статической структурной или функциональной избыточностью, проектированием системы из однородных вычислителей, использованием для контроля памяти корректирующих кодов, коммутацией вычислителей по нескольким шинам, тиражированием сообщений операционной системы и т.п.
Главной задачей при проектировании отказоустойчивых систем является взаимосогласованное сочетание аппаратно-программных методов их проектирования, способных выполнять конкретный набор пользовательских задач и функций в течение заданного времени с требуемой вероятностью при корректном соглашении относительно множества допустимых неисправностей. Выбор модели и метода
обеспечения отказоустойчивости определяется следующими рекомендациями:
- на нижнем (аппаратном) уровне системы при отсутствии резерва времени способ обеспечения отказоустойчивости должен быть «прозрачным», а множество диагностируемых неисправностей -ограниченным;
- на верхних (программно-аппаратных и программных) уровнях множество диагностируемых неисправностей должно быть более представительным, затраты на обеспечение отказоустойчивости, наоборот, должны снижаться, что приводит к меньшей «прозрачности» модели обеспечения отказоустойчивости и снижению быстродействия системы;
- применение специализированных вычислителей смещает акцент в вопросе о выборе уровня, на котором обеспечивается отказоустойчивость, на верхние уровни иерархии;
- применение универсальных вычислителей с отказоустойчивым аппаратным обеспечением расширяет возможности проектирования отказоустойчивых систем в целом, а использование безызбыточного аппаратного обеспечения смещает акцент в вопросе отказоустойчивости на программное обеспечение;
- наиболее перспективным путем представляется комбинирование различных методов обеспечения отказоустойчивости на разных уровнях, причем программные методы должны дополнять аппаратные способы проектирования отказоустойчивых систем.
В этой связи было принято решение о проектировании ОК с привлечением программно-аппаратных методов обеспечения отказоустойчивости. На программном уровне проводится самотестирование всех цепочек команд, включая обращение к портам ввода/вывода и таймера. Самотестирование происходит следующим образом. Каждые 12мс срабатывает внутренний сторожевой таймер (WDT), в результате чего микропроцессор выполняет внутренний «сброс» с сохранением всех оперативных данных. Далее, после анализа состояния WDT осуществляется переход в режим самотестирования, в ходе которого проверяется правильность переходов. Модель сети охватывает выполнение всех команд типа MOVF PORT, MOVWF PORT, BTFSS PORT, BTFSE PORT. В случае корректного выполнения программа возвращается в исходную точку. В противном случае «подкачивается» сторожевой таймер WDT и вновь запускается программа самотестирования. Процедура перезапуска выполняется трижды. При безуспешном исходе управление передается на АВОСТ (перевод ОК в безопасное состояние). Основной программный цикл ОК составляет 1,2с. С учетом выдержки сторожевого таймера 12мс, самотестирование выполняется более ста раз за программный цикл, что
оказывается вполне достаточным для обеспечения надежной работы ОК.
На нижнем уровне обеспечение самотестируемости оборудования осуществлялось с применением метода сигнатурного анализа, согласно которому генератор тактовых импульсов вырабатывает основную тактовую частоту, равную 20 мГц, которая делится на 16 и синхронизирует работу ОК. Таким образом, цикл выполнения команды в ОК составляет 1,25 мГц или 0,8 мкс, то есть в четыре раза меньше, чем цикл выполнения команды в объектном контроллере. Это позволяет за время выполнения одной команды осуществлять четыре такта сигнатурного анализа. Сигнатурный анализ выполняется параллельно и требует в среднем три такта, таким образом, процессор диагностируется в фоновом режиме без дополнительных потерь времени.
В случае обнаружения отказа выдается сигнал прерывания, который после идентификации соответствующей программой переводит ОК в безопасное состояние. Для реализации предложенного выше способа обеспечения отказоустойчивости используется специальный прием программирования микропроцессора, суть которого заключается в следующем. После выполнения каждой команды реализуется вывод в PORT служебной информации. Это удлиняет примерно в три раза цикл работы программы, что соответствует техническому заданию на ОК.
В заключение отметим, что данная разработка выполнялась совместно с Ростовским филиалом Всесоюзного научноисследовательского института автоматизированных систем в рамках научно-практических исследований по изучению возможности замены устаревшей аппаратуры на промышленные микроконтроллеры с принципиально новыми алгоритмами функционирования.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Ковалев С.М., Родзин С.И., Шабельников А.Н. Программное самотестирование распределенной структуры объектных контроллеров для систем ж/д автоматики // Программные продукты и системы, М.: 2002,-№2. - С.41-43.
2. Родзин С.И. Отказоустойчивые вычислительные системы. -
Таганрог: Изд-во ТРТУ, 2001. - 271 с.
3. Родзин С.И. Обеспечение катастрофоустойчивости систем автоматики // Вестник ДонГТУ. Материалы IV Межд. НПС «Практика и перспективы институционного партнерства». -Донецк: ДонГТУ, 2003. Т.1. -С.133-140.