Густав Олссон, Джангуидо Пиани - Цифровые системы автоматизации и управления (1087169), страница 132
Текст из файла (страница 132)
Вол ет олее того, автоматизированная система состоит не только из аппаратной часлибо еаги ти, а включает также программное обеспечение, которое может содержать шиб О КИ, ли о реагировать непредсказуемым образом на непредусмотренную входи ю инфо ' мацию,несогл ут и р о, несогласованные протоколы обмена данными, внешние коммуникации и т. д~ Вп осте А Р стейшем случае отказоустойчивая технология основывается на некоторой из' быточности г и (гег(ипт2апсу). Если какая-то часть, аппаратная либо программная, не рабо1 тает, то ее за ее заменяет другой компонент. Существуют разные типы избыточности: — физическая избыточность — информационная избыточность; — избыточность по времени Физическая е ока я избыточность (рйуиса1 гедипт4апсу) обычно достигается дублирона нием некото орых элементов.
Когда элемент перестает работать должным образом, еп заменяет д гой. Если стон другой. Е' тоимость играет решающую роль, то дублируются тольк~ наиболее важные или более всего сего подверженные отказам компоненты. Этот принци: использован, нап имер, в сети Е1)1)1 а Р ' ' ' )1)1 (раздел 9.5.7), в которой два канала данных пс строены ~аким образом, чтобы миними имизировать влияние неисправностей, будь т пробой кабеля, отказ Узла или его 1:1)1)1 и ектировапия в системах Реального вРемени — это 1 интерфейса.
Общепринятый принцип прс ени — это физическое дублирование глав)к го сервера и локальной ' ' висимости От спе и от ~~ецифики системы обе ЛВС мог) а другая немедленно ак " случае сб Ра отать с полови о т"лько одна постоянно находится в работ оя первой. 521 12.3. Надежность системы Глава 12. Системная интеграц„я 520 Важными особенностями механизма физической избыточности является ин терфейс между дублирующими друг друга компонентами, представляющий собой новый элемент, который может выйти из строя, и принцип выбора основного ра. бочего компонента. Главными проблемами являются; во-первых, как однозначн„ определить, что компонент или подсистема неисправны, н, во-вторых, как пере.
ключнться на дублера. Информационная избыточность (и/огшаг(ол гег1илг1апсу) используется, напри мер, в коммуникационных протоколах в виде служебной информации, добавляемои к пакету для того, чтобы обеспечить восстановление искаженных сообщений. Резер вирование данных на внешних (съемных) носителях или теневое хранение перемен. ных (переменная храниться одновременно на двух различных дисковых устрой ствах) — это другие примеры информационной избыточности. Избыточность по времени (ггте гег(ипг(алсу) заключается в том, что сначала вы. полняется действие, а затем оценивается его результат. Если результат неудачен, то действие выполняется заново.
Таймаугы и ограничения максимального количества повторений помогают избежать бесконечных циклов. Отказоустойчивость в коммуникационных протоколах (раздел 9А) достигается комбинацией информационной и временной избыточности. Контрольные суммы в пакетах данных обеспечивают информационную избыточность, а процедуры подтверждения приема сообщения и, при необходимости, запросы на новую передачу являются примерами избыточности по времени. Если избыточность необходима для создания отказоустойчивой системы, то должны учитываться все составные элементы, а не только самые очевидные, Напригвер, две ЭВМ должны быть подсоединены к двум независимым источникам питания, в противном случае выход из строя источника питания, то есть однократный сбой, приведет к выходу из строя обеих ЭВМ и, таким образом, перерастет в авариюобшесистемного масштаба. 12.3.4.
Надежность программного обеспечения Ошибки в программах часто могут вводить в заблуждение, и их труднее найти чем неисправности аппаратной части. И они далеко не безобидны. В разделе 2З было упомянуто, как одна программная о~ннбка привела к серьезной аварии в американс кой телефонной сети. Проблемы с программными ошибками зависят от сложности системы; ошибки сделанные в процессе разработки программы, мо! ут многократно воспроизводитьс~ и остаться незамеченными в конечном продукте. Программные ошибки являютс~ обычным делом в сложных проектах, в частности в автоматизированных системах а сообщается о них только в некоторых очены ромких случаях. В отличие от аппаратной части, программное обеспечение не изнашивается Дефекты программы возникают на стадии разработки, так что, по крайней мере теоретически, все ошибки можно устранить с самого начала. Проблема в том, как их о х обнаружить.
Математические и логические методы помогают разрабатывать не солер жащие ошибок программы. На практике, однако, несмотря на интенсивные и обстоятельные тесты. болыпая часть программ все-таки содержит ошибки на начальном этапе их эксплуатации. В случае непредусмотренных входных данных и сигна лов прерывания программа может повести себя не так, как планировалось при ее разработке и тестировании. Достаточно часто требования к программе меняются в процессе разработки по мере того, как ее функции становятся яснее и понятнее.
Позднейшие изменения могут оказать значительное влияние на всю работу программы. Полностью готовая н протестированная программа может быть, в свою очередь, использована иначе, чем предполагалось разработчиками, что, естественно, увеличивает вероятность ошибок. Если идеальная программа — это иллюзия, то как выяснить, что программа достаточно надежна? Во-первых, необходимо определить требования к безопасности любой конкретной задачи. Система управления полетами является хорошим примером чрезвычайно жестких требований к безопасности.
Например, новая система управления всем североамериканским воздушным пространством может быть неисправна в среднем только три секунды в году. Надежность программы в соответствии с функциональными требованиями должна быть определена, например, с помощью тестов, как описано в разделе 10.6. В конце концов программа должна быть в разумной степени свободна от ошибок.
Программа проходит опытную эксплуатацию в течение определенного времени под наблюдением разработчиков. Все обнаруженные ошибки необходимо проанализировать и исправить. Однако этот метод применим, только если требования не являются очень строгими (порядка нескольких ошибок в год). С другой стороны, в таких сложных системах, как самолет гражданской авиации, специфика требует надежности, выражаемой цифрой порядка 10 Э серьезных ошибок в час. Для проверки и демонстрации выполнения таких требований число прогонов должно быть кратно 10 часов, т.
е. порядка 100 000 лет, что, естественно, является неразрешимой задачей. Другая глобальная проблема во время тестирования возникает благодаря действию закона "уменьшения отдачи". Если программа испытывалась в течение очень длительного времени, серьезность ошибок убывает настолько, что чх исправление оказывает весьма незначительный эффект на общую надежность программы. Луч~них результатов можно достигнуть, если при разработке программы применяются специальные методы повышения надежности. Эти методы основаны на формальной математической теории и работают только в случаях, когда требования к программе также описаны математически формальным образом. Это означает, что требования должны быть сформулированы, что не всегда просто.
Метод, который применяется для повышения показа~елей надежности в технике управления авиационным и железнодорожным движением, — зто использование избь'точных систем. Несколько одинаковых систем создаются параллельно разными Рабочими группами, Основное допущение заключается в том, что ошибки, которые делают разные группы, не могут быть одинаковыми Результат — это комбинация нескольких решений.
Например, на бортовой ЭВМ полностью управляемого эяектРоникой аэробуса й-320 установлено пять разных систем, которые были разработаны на основе одинаковых ~р~б~в~ний пятью независимыми рабочими группами на пяти разных языках программирования. Эти системы работают параллельно и независимо друг от друга. О Окончательные "УпРавляющие воздействия, задающие положение аэродинамически" х поверхностей, вь выбираются из выходных сигналов несколких систем с помощью эл электромеханичес ясского селектора. Глава 12.
Системная интеграо Чия 522 525 12.4.2. Управление 12.4.1. Мониторинг 12.4. Функции автоматизированных систем управления Система управления процессом обычно выполняет много различных функции которые можно разделить на три большие группы (рис. 12.3): — сбор и оценка данных технического процесса — мониторинг; — управление некоторыми параметрами технического процесса; — связь входных и выходных данных — обратная связь, автоматическое управле. ние.
Рис. 12.3. Основные функпин системы управления Мониторинг процесса или сбор информации о процессе — это основная функция, присущая всем системам управления. Мониторинг — это сбор значений переменных процесса, их хранение и отображение в подходящей для человека-оператора форме. Мониторинг является фундаментальным свойством всех систел~ обработки данных Мониторинг может быть ограничен лишь выводом первичных или обработанных данных на экран монитора или на бумагу, а может включать более сложные функции анализа и отображения.
Например, переменные, которые нельзя непос редственно измерить, должны рассчитываться или оцениваться на основе им е имею. шихся измерений (раздел 3.5.2). Другой классической чертой мониторинга являе~ ся проверка, что измеренные или рассчитанные значения находятся в допуст и стимых пределах. Когда функции системы управления процессом ограничены сбором и отображ" нием данных, все решения об управляющих действиях принимаются о р ' Р опе втором. Этот вид управления, называемый супервизорным или дистанционным у р п авлени ем (эирегойо~у сопэго1), был очень распространен в первых системах компьютерного управления процессами.
Он до сих пор применяется, особенно для очень сложных я относительно медленных процессов, где важно вмешательство человек . а. П зимером являются биологические процессы, где определенную часть наблюдений нельзя вы полнить с помощью автоматики. При поступлении новых данных их значение оценивается относительно допу стимых границ. В более развитой системе контроля несколько результатов могут кок ~бзи. 12.4.
Функции автоматизированных систем управления нироваться на основе более или менее сложных правил для проверки, находится ли процесс в нормальном состоянии или вышел за какие-либо допустимые пределы В еше более современных решениях, в особенности построенных на экспертных системах или базах знаний, комбинированная оперативная информация от датчиков объединяется с оценками, сделанными операторами.
Управление — это функция, обратная мониторингу. В прямом смысле управление означает, что команды ЭВМ поступают к исполнительным механизмам для воздействия на физический процесс. Во многих случаях на параметры процесса можно воздействовать только опосредованно через другие параметры управления (раздел 35.1). 12.4.3. Автоматическое управление Система, которая действует автономно и без прямого вмешательства оператора, называется автоматической. Система автоматического управления может состоять из простых контуров управления (одного для каждой пары входных и выходных пе- ременных процесса) или из более сложных регуляторов со многими входами и выхо- дами.