Отладка самолета? Это очень просто! | общетехнические статьи
рейтинг: +16+x

От редакции: автор не раскрывает, о каком самолёте идёт речь, но можно предположить, что это Gulfstream G650

Некоторое время назад мне пришлось очень плотно поучаствовать в при`мо-сдаточных испытаниях самол`та. Эти испытания были основной частью процесса передачи свежеизготовленного, самого (по моему мнению) технически продвинутого на настоящий момент времени бизнес-джета от производителя заказчику. Казалось бы, причём здесь тестирование, разработка, да и вообще тематика сайта? Желающие узнать это могут перевернуть страницу и прочитать довольно много текста, причём вообще без картинок.

Сразу предупреждаю — вводная часть будет длинной, но без этого просто невозможно подойти к сути дела.

По целому ряду причин я не буду приводить названия конкретных производителей, модели самолёта и прочих упомянутых в статье изделий. Если кто сможет идентифицировать самостоятельно — пожалуйста, но я здесь не при чём.

В данной статье не ставится задача дать читателю полный курс всех авиационных наук. Буду разъяснять только самое необходимое, причём чаще всего в упрощённом виде (упуская несущественные для понимания статьи детали).

Итак, нужно было убедиться, что передаваемый самолёт соответствует своей спецификации по всем параметрам — начиная от внешнего вида, и заканчивая функционированием всех узлов во всех режимах. Кроме того, во время испытаний производится ввод в строй лётчиков, которые в дальнейшем будут летать на этом самолёте (до этого они прошли обучение на данный тип, используя тренажёр, но конкретно на таком настоящем самолёте ещё не летали).

Самолёт такого класса представляет собой крайне сложное устройство. Настолько сложное, что большинство людей даже близко не представляет всего, что наворочено внутри относительно небольшого корпуса. Эта сложность вместе с довольно жесткими требованиями по сертификации всего и вся — от крыльев до кофеварки — обуславливает и соответствующую стоимость устройства: в данном случае это не один десяток миллионов долларов.

Сложность изделия несёт за собой довольно неожиданную для не-авиационных людей особенность — практически всегда в любом более-менее большом самолёте что-то неисправно. Это не должно (обычно) пугать — под неисправностью понимается практически всё, начиная, фигурально выражаясь, от отсутствия воды в той же кофеварке.

Чтобы понять, можно ли с той или иной неисправностью эксплуатировать самолёт, существует так называемый Minimum Equipment List (MEL) — документ, описывающий критичность обнаруженных неисправностей по отношению к возможности выполнения различных типов лётной эксплуатации борта. Если какая-то конкретная неисправность не запрещает полностью производство полётов, то соответствующий пункт MEL описывает, какие именно ограничения накладываются на эксплуатацию самолёта, и какие дополнительные меры нужно предпринять для выполнения полёта (в случае с кофеваркой — повесить на нее табличку о запрете включения).

Возникает вопрос — а почему фактически неисправные самолёты вообще допускаются к полётам, ведь это опасно?! Проблема в том, что если бы требовалась абсолютно 100% исправность, то подавляющее большинство самолётов просто вообще никогда не взлетело бы. Причём, опять таки в подавляющем большинстве случаев, MEL как раз обеспечивает необходимый уровень безопасности даже при наличии некоторых неисправностей за счёт сужения допустимых диапазонов эксплуатации техники.

Рассматриваемый самолёт только-только начал выпускаться, и конкретный экземпляр имеет серийный номер в первой десятке. Это значит очень много — например, то, что ещё практически нет ни опыта эксплуатации, ни опыта техобслуживания, да и младенческие болезни проявятся во всей красе.

По своей начинке является, возможно, самым компьютеризированным типом в своём классе. Между составными частями самолёта (датчики, исполнительные механизмы, органы управления и т.д.) вообще нет прямых аналоговых связей. Даже цифровые связи не прямые, а через центральный компьютер. Например, при необходимости выпустить закрылки перевод соответствующего рычага в нужное положение всего лишь посылает запрос центральному компьютеру на это действие. Далее компьютер анализирует целую кучу параметров на предмет возможности выполнения действия, и принимает решение, удовлетворить ли запрос, или же сначала возмутиться бестолковостью пилота. В классическом же самолёте этот рычаг был подключен к исполнительному механизму практически напрямую. Аналогично работают все датчики — они рассказывают свое состояние центральному компьютеру, а он уже раздает эту информацию по запросу. Сравните — в «обычном» самолёте от каждого датчика расходятся провода ко всем узлам, которым может понадобиться узнать состояние этого датчика. Например, датчиком обжатия стоек колёс (чтобы понять, на земле уже самолёт, или ещё нет) интересуются десятка два систем.

Мало того, это единственный из известных мне самолетов (сразу скажу — я не знаком детально с устройством последних Boeing и Airbus), на котором можно реализовать сюжет идиотского боевика о суперхакерах, которые удаленно захватили управление над самолётом. Чисто теоретически (ну очень теоретически, но всё таки с какой-то степенью вероятности) возможно подключиться к бортовому Wi-Fi (не тому, который для пассажиров, а предназначенному для некоторых служебных функций) и загрузить свою программу в блоки управления. Далее каждый может фантазировать по собственному усмотрению…

Такое построение самолёта как дает целую кучу преимуществ (которые мы здесь обсуждать не будем), так и создаёт неимоверное количество проблем в эксплуатации. Производитель на радостях реализовал такое хитрое взаимодействие систем друг с другом, что идентифицировать проблему стало невероятно сложно. Если раньше при неправильной работе какого-то узла поиск неисправностей был ограничен довольно чёткими границами, то сейчас причина неработающей посадочной фары вполне может быть связана с плохо закрытым краном теплой воды в туалете. К тому же в самолёте используются довольно большие блоки, произведённые сторонними компаниями, и являющиеся для производителя самолёта чёрным ящиком с не совсем понятыми процессами внутри. Вообще на эту тему можно говорить очень много и интересно, но перейдем, всё-таки, к полётам.

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

В довершение ко всему, к самолёту прилагался файл с FAQ, где объяснялось, почему неправильная работа тех или иных систем пока является совершенно нормальной, и что делать в ряде случаев, когда чтение руководства по летной эксплуатации (РЛЭ) не дает ответа на возникший вопрос. Если честно, нас всех смутило наличие более сотни позиций в данном FAQ, но делать было уже нечего.

Первый полёт решаем сделать прямо на аэродроме, где расположен завод производителя. Взлетаем, убираем шасси и далее минут 10 выполняем команды диспетчера, прежде чем он направляет нас на посадку. После первой посадки решаем, что в целях экономии времени уйдём на соседний аэродром, где движение посвободнее. Перелетаем туда и начинаем процесс освоения самолёта. После того, как все пилоты попробовали основные манёвры под руководством лётчика-испытателя производителя, начинается процесс «наматывания кругов» — взлёт, короткий полёт по кругу, посадка и снова взлёт. Таким образом каждый пилот должен сделать десять взлётов-посадок. Обычно на самолётах такого класса подобные вещи не практикуются – считается, что тренажера вполне достаточно для получения необходимых навыков, а лётное время такого борта стоит очень дорого (если интересно — себестоимость около 5 тысяч долларов в час). К счастью, владелец понимает, что такой подход в корне неправильный, и принимает решение дать возможность пилотам прочувствовать реальный самолёт.

Итак, первый быстрый полет по кругу. Нормальный взлет, набор высоты и вдруг в кабинете раздается звуковой сигнал и загорается предупреждающее сообщение (в отличие от информационного, такие сообщения предупреждают о более-менее серьезных вещах). Сообщение гласит, что произошел отказ реверса тяги на правом двигателе.

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

Мы принимаем решение вернуться на аэродром вылета, чтобы в заводских условиях сотрудники производителя смогли разобраться с проблемой. Особого беспокойства нет – по идее, задача не должна быть сложной.

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

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

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

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

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

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

Имея под рукой уже довольно крепкую опорную точку, сотрудники производителя с утроенным энтузиазмом принялись за поиски неисправности. В ходе процесса, который подробно описывать не буду, появилась первая существенная деталь. Оказывается, система реверса тяги (TR) не ломалась сама, а принудительно отключалась по команде от FADEC.

Вот на FADEC стоит остановиться подробнее – ведь это уже прямо соответствует тематике сайта. Full Authority Digital Engine Control представляет собой специализированный компьютер, управляющий двигателем самолета. Для меня одним из самых впечатляющих параметров этой коробочки размером в пол кирпича является цена. Сказать, что устройство на вес золота – не сказать ничего. На мой взгляд, FADEC стоит раз в 100 дороже, чем должен, даже если принять во внимание все требования по надежности работы. Причем таких коробочек на каждом двигателе две, они работают по очереди, да еще и следят друг за другом в процессе работы, чтобы в трудную минуту (если одной из коробочек вдруг станет плохо) подставить товарищу плечо. Фактически, самолет просит FADEC произвести те или иные действия (запустить/остановить двигатель, установить определенную мощность и т.д.), а FADEC полностью (и довольно независимо от самолета) управляет необходимыми системами (стартер, топливный контроллер и т.д.), чтобы исполнить просьбу, если посчитает это возможным.

Так вот, по каким-то, все еще непонятным для нас, причинам FADEC при определенных условиях принудительно переводил TR в состояние отказа, причем мы знали эти условия в самом общем виде (взлет без последующей уборки шасси), но как-либо связать их между собой не могли. Чтобы разобраться в проблеме детальнее, пришлось обратиться к производителю двигателей. На завод, произведший двигатели, были отосланы лог-файлы с FADEC, и довольно быстро (хотя к этому моменту мы уже переехали в другую гостиницу) был получен ответ. Оказывается, одна из ветвей логики FADEC предусматривает проверку работы тормозов. Если во время проверки FADEC решает, что тормоза на какой-то стороне самолета работают плохо, то реверс на противоположной стороне отключается. Причем даже больше того – нам пояснили, что, по показаниям FADEC, колеса самолета после взлета замедляют свое вращение с разной скоростью, что и вызвало соответствующую реакцию FADEC. Если же шасси убрать сразу после взлета, то колеса автоматически затормаживаются довольно энергично, и FADEC не обнаруживает в этом месте никаких проблем.

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

Казалось, проблемная область наконец-то сузилась, и впереди забрезжил лучик надежды на скорое покидание уже до боли надоевшего аэродрома. Однако полная перестановка местами (слева направо и справа налево) всех систем и блоков, имевших отношение к шасси и тормозам, проблему и не решила, и не поменяла местами (на что мы очень надеялись).

К этому моменту на аэродроме появился представитель производителя двигателей, которого я и решил попытать на предмет того, как именно FADEC решает, что с тормозами что-то не в порядке. После длительных консультаций с офисом, получением разрешений на раскрытие конфиденциальной информации и просто попыток беспредметно отмазаться, он, наконец, предоставил мне требуемую информацию.

Оказывается, FADEC отслеживает скорость вращения колес как бы скользящем временном окне длительностью несколько секунд. Наверное, проще пояснить на примере. Допустим, это временное окно равно 4-ем секундам. Пускай на 10-ой секунде полета скорость одного колеса была 20 оборотов в секунду. В таком случае, если начиная от 8-ой до 12-ой секунды полета второе колесо хоть в какой-то момент тоже вращалось со скоростью 20 оборотов в секунду, то все хорошо. Если же отдельно взятые скорости вращения колес за промежуток в 4 секунды не совпали ни разу, FADEC делает вывод о неисправности тормозной системы.

Объяснение было довольно логичным (на самом деле, оно намного сложнее, но см. примечание по поводу упрощения в самом начале статьи), но возник классический вопрос – что делать? Сотрудники производителя самолета попытались доказать, что у них все в порядке, но производитель двигателя на эти заявления особо не реагировал. Вообще была возможность подключиться к бортовой системе самолета, чтобы записать нужный лог-файл, но это требовало формального оформления испытательного полета со всем сопутствующим (куча бумаг, летчики-испытатели и т.д.), поэтому быстро реализовать такой вариант не было ни времени, ни желания.

Пришлось снова напрячь мозги и вспомнить одну деталь, которую я увидел, изучая месяцем ранее небольшой документ размером в одиннадцать с чем-то тысяч страниц (краткая выдержка их техдокументации по самолету). Дело в том, что определенную информацию можно было вывести на один из штатных дисплеев в кабине пилотов. Проблема была в том, что информация обновлялась в реальном времени (2-5 отсчетов в секунду), а анализировать ее нужно было вручную. Ничего, к этому моменту лично я уже был готов даже тайно подключиться непосредственно к FADEC. Однако обошлось без таких крутых мер, просто в ближайшем большом хозяйственном магазине были закуплены необходимые материалы, и крутыми специалистами производителя самолетов была сооружена конструкция, закрепившая iPhone перед одним из экранов в кабине. Убедившись, что видео с iPhone позволяет увидеть необходимую информацию, мы сделали полет, в ходе которого засняли показания во время возникновения ошибки.

Дальше была веселая ночь, где 6 человек, каждый со своего iPad, вводил информацию из выделенного ему временного интервала в Excel. Причем, для надежности, временных интервалов было всего три – над каждым интервалом работало по два человека. Кластерные технологии и распараллеливание мощностей принесло свои плоды, и на следующий день мы уже держали в руках красиво оформленный файл с обработанной информацией, наглядно показывающий, что все параметры со стороны самолета находятся далеко в допустимых пределах.

Данная распечатка произвела неизгладимое впечатление на представителя производителя двигателей, он взял у нас файл и ушел в никуда. В «нигде» он был около суток, после чего вернулся в компании еще двух помощников, которые и вынесли вердикт.

Прежде, чем я выдам великое откровение, что же именно стало причиной всей этой нервотрепки, предлагаю ознакомиться со статьей, рассказывающей, как сложно, долго и тщательно разрабатывается ПО для авионики (и, очевидно, почему такие разработки должны стоить ну очень много денег – приблизительно двести тысяч долларов за пол кирпича FADEC) Разработка ПО авионики

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

Еще раз – вместо того, чтобы давать временное окно для выравнивания скоростей колес, FADEC выдавал ошибку сразу же, как только в любой момент времени скорость колес отличалась больше, чем на установленную величину. И все это произошло потому, что в жутко сертифицированном по всем возможным и невозможным стандартам процессе разработки ПО (а ПО для FADEC разрабатывается по самому строгому варианту стандарта, или как там это называется) кто-то просто закомментировал часть кода, и это попало в готовое изделие.

Комментировать я это не буду, потому что цензурные слова подобрать не могу, а нецензурные стараюсь не использовать. Думаю, читатели сами смогут сделать для себя выводы…

P.S. Спрашиваете, ну а что дальше, как летать? А все очень просто – в FAQ появилась очередная строчка, которая советует не допускать свободного вращения колес после взлета дольше минимально необходимого времени, а в случае возникновения ошибки TR – сбросить потом ошибку после приземления, и спокойно летать дальше.

P.P.S. А производитель двигателей сказал, что они, конечно, немедленно выпустят обновленную версию ПО, только займет это год – полтора, так как такое ПО проходит через строгие и длительные процессы разработки и сертификации (и это не шутка).

Автор: curiousGeorge
habrahabr.ru

15 Nov 2013 21:16 (опубликовано: skydiver000)


Если вам понравилась статья, не забудьте поставить "+"

рейтинг: +16+x

Facebook vk16.png twitter_icon.png livejournal.gif mailru-share-16.png ok-logo.png

Добавить новый комментарий
fancy-divider.gif

Читайте далее

  • Разработка ПО авионики - В основе разработки ПО авионики лежит основополагающий стандарт RTCA\DO-178B. Несмотря на первый взгляд на его отстранённость от непосредственной рутины программиста, он описывает весь процесс разработки и выдвигает требования к подобному ПО. Тем не...… (+14)
  • Как происходит изменение траектории движения самолёта - Инженер_2010 писал: Пользуясь выходным днём, попробую изложить, каким образом происходит такое простое явление, как изменение траектории движения самолёта (если получается слишком нудно, то можно не читать): :)) Немного выскажусь про механизацию...… (+13)
fancy-divider.gif

Случайные статьи

  • Искусство гостеприимства по-мексикански - russos: Совсем недавно на авиашоу в Ле-Бурже мексиканская авиакомпания Interjet получила свой первый самолет Сухой Суперджет. Тогда, в начале лета, мексиканцы радовались как дети, сидя в новом самолете с салоном от Pininfarina. Неподдельное счастье читалось в их глазах. Наконец-то, так ожидаемый тип...… (+23)
  • Типовая конструкция багажно-грузовых отсеков - СвернутьРаскрыть Содержание Общие положения Панели облицовки отсеков Состав панелей Панели потолочные Боковые панели и панели отделки грузовых люков Фиксация грузов Общие положения Самолёт имеет два багажно-грузовых отсека (БГО) на нижней палубе, в зоне с контролируемой температурой и...… (+6)
  • Второй день МАКС-2013 | Марина Лысцева - Мне второй день авиасалона МАКС-2013 запомнился множеством контрактов и беготни от одного подписания к другому, встречами со старыми и новыми знакомыми, внезапными фотосессиями и вечерним протиранием асфальта. По порядку будет скучно, поэтому в этом посте намешано всё подряд, что вчера происходило....… (+18)

Использование материалов сайта разрешается только при условии размещения ссылки на superjet100.info

Пока не указано иное, содержимое этой страницы распространяется по лицензии Creative Commons Attribution-ShareAlike 3.0 License