Наталья Дубова
Создание систем управления ракетой-носителем «Энергия» и космическим челноком «Буран»
В отличие от американского челнока, который с самого начала разрабатывался как пилотируемый корабль, советский «Буран» должен был уметь летать в беспилотном режиме. Это усложняло задачу разработчиков системы управления
15 мая 1987 года был совершен первый испытательный пуск сверхтяжелой ракеты-носителя «Энергия» со спутником «Полюс», который, правда, на орбиту выйти не смог. Но ровно через полтора года состоялся второй, успешный запуск, на этот раз вошедший в историю, — «Энергия» вывела на орбиту космический корабль многоразового использования «Буран». «Буран» совершил два витка вокруг Земли и завершил трехчасовой полет посадкой на специальную полосу в районе космодрома «Байконур». На борту корабля не было людей — более полусотни систем управления «Бураном» в свою очередь управлялись автоматически по программам, заложенным в бортовую ЭВМ.
Создание в 80-х систем управления ракетой-носителем «Энергия» и космическим челноком «Буран» можно, наверно, считать творческой вершиной советской школы бортовых ЭВМ.
Возможно вы искали - Доклад: История одного неосуществленного замысла
Система управления для ракетного комплекса «Энергия» создавалась в харьковском НПО «Хартрон», где разрабатывались многие управляющие ЭВМ для боевых ракет стратегического назначения и космических аппаратов. Переход от аналоговых устройств к управлению ракетами с помощью цифровой вычислительной техники произошел в середине 60-х. К тому времени задачи управления межконтинентальными баллистическими ракетами потребовали резкого увеличения объемов информации, которые обрабатывались на борту ракеты в реальном времени. Это оказалось под силу только мощным бортовым ЭВМ. Первая ракета с системой управления, включающей бортовую вычислительную машину, была запущена в 1971 году. А в середине 80-х на «Хартроне» велась работа над двумя равными по сложности проектами — системами управления для «Энергии» и для супермощного ракетного комплекса СС-18, известного на Западе под грозным названием «Сатана».
В это же время в Москве и на Украине создавались бортовой вычислительный комплекс «Салют-5» для станции «Мир», аппаратура стыковки «Курс», которая с успехом работала и продолжает работать в комплексе «Мир-Союз-Прогресс», и другие управляющие системы для космических аппаратов. На запущенном в 1957 году первом спутнике стояла простейшая бортовая аппаратура, позволявшая на Земле диагностировать внутреннее состояние спутника. А на бортовые системы управления космических аппаратов 80-х возлагались задачи ориентации и стабилизации в пространстве, навигация, планирование работ, контроль, диагностика и многое другое. Разработанная для последней советской космической станции «Мир» система «Салют-5» до сих пор остается наиболее мощной и надежной из серийных бортовых ЭВМ.
И все же самой впечатляющей по уровню сложности и по достигнутому результату была работа над космическим кораблем многоразового использования «Буран». В отличие от американского челнока, который с самого начала разрабатывался как пилотируемый корабль, советский «Буран» должен был уметь летать в беспилотном режиме. Это усложняло задачу разработчиков системы управления. Надо было заранее предусмотреть все режимы диагностики, все случаи ликвидации неисправностей и выхода из сложных положений.
В ходе разработки бортовой машины для «Бурана» было найдено несколько оригинальных решений. Так, к системе управления предъявлялось обязательное требование: при любых двух отказах на критических участках она должна была продолжать работать и обеспечить возвращение корабля с орбиты. Система управления «Бурана» базировалась на четырех ЭВМ, работающих синхронно по одинаковым программам. В случае сбоя одной машины происходило ее автоматическое отключение, а три оставшихся продолжали работать. Если происходил еще один отказ, управление полетом возлагалось на оставшуюся пару машин. Но разработчики предусмотрели еще одну «меру» для повышения надежности системы: в случае отказа одной из двух оставшихся машин наудачу отключалась одна ЭВМ в паре, и с вероятностью 50% система продолжала работать.
Аппаратная избыточность вычислительной системы — четыре машины вместо одной — решала проблему надежности, но одновременно ставила задачу эффективной синхронизации. В отличие от американцев наши разработчики не пошли по пути программной синхронизации, а нашли решение на аппаратном уровне. Вычислительные машины в системе управления «Бураном» не имели автономных генераторов тактовой частоты. Вместо этого был сделан отдельный генератор, выдающий тактовые импульсы на все четыре ЭВМ. Чтобы увязать это с требованием работоспособности системы при любых двух отказах, генератор был построен с пятью каналами резервирования. То есть по сути работало пять вынесенных генераторов, объединенных в единую конструкцию и со своей системой синхронизации, которая обеспечивала функционирование при любых двух отказах.
Похожий материал - Доклад: СуперЭВМ для геофизиков
Аппаратное решение проблемы синхронизации управляющих ЭВМ позволило упростить сложнейшие задачи разработки их программного обеспечения. Одним из наиболее важных вопросов, которые надо было решить, был вопрос языка — на каком языке программирования вести разработку, какие инструментальные средства использовать. Хотя к этому времени существовал инструментарий для разработки бортового ПО ракетных комплексов, при создании «Бурана» резко возрос масштаб и сложность работ. Надо было в сжатые сроки написать программы, объем которых значительно превышал объем традиционных управляющих программ. Значит, необходимо было повышать производительность труда программиста, то есть о программированиии на ассемблере не могло быть и речи.
Кроме того, масштаб проекта требовал подключения в нему множества разных организаций. «Буран» делала вся страна. Множество программистов должны были взаимодействовать между собой и со специалистами по бортовым системам. Все это ставило проблему языков программирования особенно остро. В ее решении активное участие принял Институт прикладной математики им. М. В. Келдыша, где работами руководил Михаил Романович Шура-Бура. В результате было создано два языка программирования — ПРОЛ-2 для разработки бортовых систем и «Диполь» для разработки наземного проверочного ПО, а также специальный язык описания объектов «Флокс», который обеспечивал объединение их между собой. Был также разработан язык моделирования «Лакс» и другие языковые средства. Все это вместе составило комплекс, который включал в себя языки для написания исходных кодов программ и инструментарий, позволявший перейти от исходных текстов к отработанным, проверенным, должным образом смоделированным объектным кодам, хранящимся в бортовой и наземной аппаратуре. Этот комплекс обеспечил эффективное сотрудничество всех разработчиков программной части системы управления «Бураном».