Главная » 2010 Ноябрь 29 » «Мистраль». Плыть или не плыть. - Вот в чём вопрос.
«Мистраль». Плыть или не плыть. - Вот в чём вопрос. | 13:42 |
В судостроительных сталях и прокладках для топливопроводов я не разбираюсь совсем. В радиообменах между самолётами, пароходами и берегом разбираюсь на уровне самых общих представлений. Во взаимодействиях между системами разбираюсь уже вполне основательно, потому что последние лет восемь в КБ работал комплексником, то есть именно «вязал» комплекс из разных систем, из коих некоторые делали мы, а большинство – другие фирмы. А сейчас будет про внутренности систем, про взаимодействие входящих в них подсистем, про аппаратуру, алгоритмы и программы. А этим я занимался всю жизнь до тех самых восьми лет, когда был комплексником. Должен оговорить одно важное обстоятельство. Бортовые программы пишутся не так, как пользовательские приложения на писюках. Системы на борту работают в режиме реального времени, кроме некоторых, чисто информационных, в которых допустимо небольшое запаздывание. Все остальные чем-либо управляют, и они должны работать в ритме того железа, которое они вращают, поднимают, поджигают и так далее. Поэтому бортовая программа не может «лежать поверх» развитой операционной системы типа Windows. Потому что такая система забирает на свои нужды время – не в том дело, что большое, а в том, что неконтролируемое. Если ваш режим реального времени рассчитан по десятым долям секунды, то вы не можете позволить себе не знать, что происходит в компьютере, с такой же точностью. Получив признак «рассогласование ноль», вы должны в течение миллисекунды выдать сигнал на расцепление муфты, иначе механизм проскочит нужное положение… В общем, тут я позволил себе.... Подробности, которые я перебираю, могут оказаться, скажем так, излишними для большинства читателей. Ладно, может, хоть кому-то будет интересно. И опять поясняю. Это не пересказ работы конкретной системы конкретного корабля. Я стараюсь показать не то, как оно устроено, а то, чего не может не быть в его устройстве, – по моим, разумеется, представлениям. И что может из этого проистечь. Уровень нижний. Так ли уж пусто «пустое корыто»? Что мы называем «пустым корытом»? Или, более строго, платформой? Видимо, сам корабль, сооружение для целенаправленного, безопасного и по возможности комфортного передвижения по воде. На каковое сооружение можно, в зависимости от задачи, установить разные целевые системы: от кранов для погрузки сеток с мешками до антенн связи с космическими аппаратами, летящими где-то между орбитами Сатурна и Урана. Корабль должен двигаться, что на «Мистрале» обеспечивается четырьмя дизель-генераторами и двумя гребными электродвигателями в поворотных колонках. Надо объяснять, что всё это хозяйство, довольно хитрое для надводного корабля, управляется вычислительной системой? Если даже на автомобиле теперь для обслуживания мотора стоит десяток процессоров? Команда «полный вперёд» не поступает в виде крика с мостика через переговорную трубу в машинное отделение, или в виде поворота скрипящей стрелки на машинном телеграфе. Вот он, старый добрый машинный телеграф Нет, вероятно, и на суперсовременном «Мистрале» есть машинный телеграф и – конечно, не переговорная труба, но телефон в машинное отделение точно есть. Но это – резервные системы, основные режимы реализуются, конечно, компьютерами. Да и не в одной «полный вперёд» дело, там же туча всяких алгоритмов управления, последовательности включения всяких приборов и агрегатов, оптимизации режимов, контроля расходов и прочая. Это само по себе достаточно сложная алгоритмия, может быть, даже сопоставимая с алгоритмами наведения ракет или выделения цели на фоне помех. Далее. Управление по курсу. Уверен, что там есть какой-никакой гирокомпас, системы навигации и судовождения, погодный локатор. Это у всех есть. А в части исполнительных механизмов у «Мистраля» есть не только руль в корме, но и подруливающие двигатели в носу. И к тому же, как уже сказано, основные двигатели установлены в поворотных гондолах. Всё это участвует или может участвовать в повороте, получается довольно сложная система. То есть: много датчиков, много приводов, а посередине – компьютер. Вычислительное ядро из не знаю скольких процессоров. Тут я немного уточню. Здесь я говорю о «внутреннем» вычислительном ядре контура управления курсом. Для того, чтобы держаться на курсе норд-норд-вест, раньше рулевому приходилось постоянно подворачивать штурвал: волна, порывы ветра, собственная неточность – всё это понемногу сбивает курс. Теперь курс держат автоматически, во всяком случае, я уверен, что на «Мистрале» это так. Это называется – стабилизация по курсу. Задаёшь ей: курс NNW – и она его выдерживает до следующей команды. «Ловит» отклонения, высчитывает, какой интенсивности и продолжительности сигнал надо подать на рули, по какому закону его уменьшать по мере «подхода к нулю», контролирует уменьшение и обнуление «дельты» между курсом заданным и текущим. Всё это – в автоматическом режиме. Значит – процессор, иначе никак. Раньше были и аналоговые такие системы, но теперь точно цифровая, то есть процессор. Ещё у «Мистраля» есть активные успокоители качки – управляемые рули крыльевой формы, установленные под водой на правом и левом борту. Уж ими-то точно невозможно управлять вручную. А как? А так. Нужно прежде всего «чувствовать» вертикаль, чтобы понимать, что корабль от неё отклонился. Значит, есть гировертикаль, или измерители угловых ускорений, или эти данные берутся не от отдельных специальных датчиков, а от центральной корабельной гиросистемы. Углы и угловые скорости обрабатываются, преобразовываются в сигналы на приводы стабилизаторов. Тоже алгоритм, потому что управляющий сигнал зависит от углов качки, скорости движения, периода качания, чего-то там ещё – нелинейно, по определённому закону, полученному на основе моделирования этих процессов. То есть и здесь необходим компьютер. Точнее, процессор. Не буду дальше писать в подробностях. Есть система климатического контроля. Есть система электроснабжения. Есть многочисленные индикаторы у многочисленных командиров и специалистов. Есть ещё чёрт знает что, о чём мы с вами сразу и не подумаем, вплоть до нашей шутейной заслонки вентилятора. И всё это управляется процессорами – «Мистраль» очень высоко автоматизирован, его экипаж – всего 160 человек. Это очень, очень немного для столь большого и многофункционального корабля. Вывод: «корыто» «Мистраля», для того, чтобы тронуться с места, плыть куда надо и вообще функционировать как носитель чего бы то ни было, уже само по себе, в «пустом» виде должно содержать десятки, если не сотни процессоров и десятки, если не тысячи мегабайт программного обеспечения. Если дать пароход без всех этих сотен процессоров и тысяч мегабайт, то он не сможет сдвинуться с места. Это будет не «пустое корыто», а большое, красивое, но бесполезное металлическое сооружение на швартовах у причала. Которое нельзя использовать даже как гостиницу, даже как плавказарму или плавтюрьму, потому что и в тюрьме, и в казарме нужно освещение, отопление, вентиляция, сигнализация и всякое такое прочее. А оно на «Мистрале» «заточено» под управление компьютерными системами и без них мертво. Поэтому «пустое корыто» – это уже многопроцессорная система с развитым программным обеспечением. Вот мы и пришли. Пришли к вопросу: И что с ним делать, с этим хозяйством? Оно работает, и нам даже дали документацию, рассказывающую, как видеть, что оно работает, как давать ему команды и контролировать параметры. А вдруг нам потребовалось дописать какой-нибудь программный модулёк, реализующий функцию, которая во французском флоте не используется, а у нас принято, чтоб была? Ну, например, ручное отключение подруливающей системы. Или нам потребовалось поставить наши, отечественные алгоритмы контроля центровки, потому что они у нас доказали свою эффективность во многих штатных и нештатных ситуациях и потому прописаны во всех наставлениях и инструкциях по эксплуатации. Ну, ладно, это, может быть, натяжка. Но я уже говорил, что этот уровень – совместимость хардвара и софта французских управляющих систем с нашими требованиями и просто привычками – этот уровень актуален для любой системы, в которой есть процессор. В том числе для БИУС, боевой информационно-управляющей системы. И уж в ней-то наверняка есть тысяча подробностей, которые в нашем флоте выглядят не так, как в натовском. БИУС – большая система, очень большая. Разработка таких систем начинается с обсуждения концепции, с того, что она должна делать и чего не должна, от чего она принимает данные и куда выдаёт, как в ней ходят потоки информации, как осуществляется интеграция, контроль достоверности информации, отображение, регистрация, документирование… Кто, как и когда может вмешиваться в её работу, какие у неё должны быть режимы, как она должна управляться с нештатными ситуациями, как в смежных системах, так и со своими собственными. Можно много ещё наговорить, но, надеюсь и так понятно, что БИУС – это, так сказать, целая идеология, а потом и структура, а потом и конкретная реализация в «железе» и программах. Вот датский катер типа «Флювефискен». Его проект создавался по программе Standard Flex 300, начатой ещё в начале 1980-х годов. А головной катер построен в 1989-м. Это очень небольшой корабль, его водоизмещение всего 320 т. И не так-то много на нём оружия: 8 ПКР «Гарпун», артустановка да два торпедных аппарата. Но… Но вот (ниже) два фото информационных рабочих мест в его центральном посту. То, что на фото – это, собственно, и есть БИУС, та её часть, которая общается с оператором. А всего таких рабочих мести на катере шесть! Шесть – на катере водоизмещением 320 тонн, с одной пушкой и восемью ракетами! Вот какое значение имеет БИУС на современном корабле. Неужели кто-нибудь думает, что все эти вопросы решены у нас и в НАТО идентично? Я говорю не «решаются», а «решены», потом что и мы, и они ставим и развиваем компьютеризированные системы сбора, обработки и распределения данных уже лет сорок как минимум. Не в том дело, что кто-то умнее, у кого-то идеология лучше, а у другого хуже. А в том, что, если мы согласимся на «Мистрале» на французскую идеологию, то наш «Святополк Окаянный» будет уникальным и одиноким кораблём. Работать на нём смогут только люди, прошедшие переобучение. Да это не страшно. Страшно то, что со своей французской БИУС он не сможет нормально войти в состав какого бы то ни было российского корабельного соединения, остальные единицы которого, конечно же, будут оснащены нашими БИУС. А они функционально различны – до несовместимости. Идеология БИУС вытекает из всех стратегических, оперативных, тактических и технических доктрин, по которым идёт строительство, эксплуатация и боевое применение национального (или коалиционного) флота. Это всё звенья одной цепи. Идеология построения БИУС находится посередине этой цепи. «Над» ней, «сверху» неё – эти самые стратегические, оперативные и др. концепции. Сюда же можно приплюсовать помянутые смежные системы – локаторы радио- и гидро, линии связи, комплексы вооружения, устройства отображения и ввода команд – всё, с чем взаимодействует вычислительная система, сидящая в недрах этого монстра – БИУС. «Под» идеологией БИУС, – структура и состав её оборудования, основные потоки данных, циркулирующих между её подсистемами. Ещё ниже – алгоритмы сбора, обсчёта, распределения информации, то есть прикладная часть алгоритмии. Далее – системная алгоритмия, организация вычислительных процессов, трафика внутренних и внешних коммуникаций – аналог операционной системы вашего домашнего компьютера. Ещё ниже – аппаратура: процессоры, контроллеры, внешние устройства… Автоматизированное рабочее место отечественной БИУС «Требование-М». Правда, установлена она на фрегаты проекта 11356, которые построены в Питере для Индии. Уже этот АРМ – трёхпроцессорная система. БИУС в полной комплектации предполагает 8 АРМов, объединённых в локальную сеть. А в сети ещё серверы… Данный конкретный АРМ построен на IBM-совместимых процессорах с операционкой QNX. Ну так то ж для Индии… Всё это складывалось десятилетиями. Всё это разное у нас и у них, и причины этой разности начинаются с различия в принципах боевого применения флота, в формах организации и условиях базирования, в технической оснащённости, наконец, в традициях нашего и «ихнего» флотов. Мы не можем плавать с французской БИУС. Фрегат пр. 11356 достраивается на плаву Мы должны как минимум её доработать, адаптировать к нашим требованиям и привычкам. А легко ли это сделать? Можно ли прямо перенести, скажем, Адоб Акробат с «макинтоша» на РС? Нельзя. Его надо переписывать, что, впрочем, давно сделано. Потому что «мак» и РС – разное «железо». Потому что РС категорически не поймёт машинных команд «мака». Французские процессоры и те, которые десятилетиями применяются у нас, – это «макинтош» и РС. Отработанный, скажем, для «Ярослава Мудрого» модуль обмена данными между БИУС и «Кортиком» невозможно прямо перенести на процессоры БИУС «Мистраля». Для того, чтобы его переписать под них, надо хотя бы иметь систему программирования для французских процессоров. Наверное, французы нам её дадут. Тогда надо много, очень много времени, чтобы переписать этот модуль, отработать его на моделях и стендах, проверить на натуре, сертифицировать. То есть, кроме времени, нужны стенды с французскими процессорами и русской обвязкой, а это уже не только время, но и деньги. Но это ещё цветочки. Легко может оказаться так, что модуль, работающий на «Ярославе», вообще нельзя перенести на вычислительную систему «Мистраля». Потому что она в принципе не поддерживает некоторые операции, которые «зашиты» в логике нашего программного обеспечения. Не могу я здесь расписывать подробности, это, может, и интересно, но очень специально и потому очень длинно. Давайте попробую дать аналогию. Например, плавное регулирование нагревания сковородки, к которому вы привыкли на вашей газовой плите, в принципе невозможно на электрической, если у неё есть только четыре фиксированных положения для установления силы тока на конфорке. Или: я не могу послать сразу 40 человекам «С Новым годом!», потому что мой старенький мобильник не поддерживает функцию рассылки. Или: не могу взять старую статью с дискеты, на которую её когда-то записал, потому что на моём новеньком ноутбуке уже нету дисковода для флопов. А есть ещё вещи не столь гранитно-непреодолимые, но для практики тоже фатальные. Есть такое понятие – дисциплина программирования (не путать с трудовой дисциплиной программистов!). Она определяет правила, по которым все должны писать программы, устанавливает однозначные условия, по которым частные программы общаются внутри программного комплекса. В работе над большими программными системами участвует много народа, каждый пишет свой кусок. Если каждый будет писать так, как ему нравится, то соединить фрагменты в одно целое не удастся никогда. Вот и устанавливаются правила. Например, как передавать переменные из одного программного модуля в другой. Выделяется зона адресов, составляется таблица, в которой раз и навсегда фиксируются идентификаторы параметров (типа: идентификатор скорости крена от первого канала гироплатформы: 1001; от 2-го: 1010; от третьего: 1011; я упрощаю, но зато понятно). Устанавливается порядок следования параметров в зонах адресов, форма представления (эти – с плавающей запятой, эти – с фиксированной, эти – длиной в байт, эти – в 2 байта). И так далее. Мой модуль принял данные от гироплатформы (в формате, определённом дисциплиной программирования). Я выполнил над ними действия, за которые отвечаю, например, вывел среднее значение по трём измерениям, проведенным за 10 миллисекунд. И я кладу результат обсчёта туда, куда мне указано, и с нужным идентификатором, который покажет другим программам, что это уже не «сырые» данные от гироплатформы, а усреднённые, то есть прошедшие входную обработку. И в эту зону адресов, куда я положил результат, будут обращаться все программы, которым этот результат нужен. Их могут быть десятки, и, благодаря дисциплине программирования, все они будут понимать меня одинаково. Дисциплина программирования – детище опыта и «ошибок трудных». Почему она стала такой, а не другой, определяется миллионом причин, уходящих корнями в прошлое, иногда даже докомпьютерное. Она врастает в плоть и кровь разработчиков, и хорошо, что врастает. Будучи раз отработанной, дисциплина программирования по возможности не меняется годами, здесь консерватизм – залог минимизации ошибок. Мы же понимаем, что наша и французская дисциплины – разные? И тут не то что может быть, а обязательно повылезет всякая беда. Простейший пример: мы установили зону обмена данными для параметров наведения «Кортика» величиной 512 байт, а у французов зона параметров для ЗРК была 256 байт, потому что ихнему «Симбаду» больше не нужно. А в соседних 256 байтах (которые, мы думаем, входят в нашу зону), у французов лежат параметры для отображения на индикаторе тактической обстановки. Мы ставим модуль управления «Кортиком», включаем, – и он через 100 миллисекунд затирает эти самые данные для отображения. Сбой. Работа развалилась. В чём дело?! Что с индикатором тактической обстановки? Начинают всё включать-выключать, гонять тесты. Бесполезно, штатные тесты индикатора такой бяки не увидят, она ж на глубоком системном уровне. Зовут специалистов… Разборки могут занять дни, а то и недели, это я вам как практик говорю. Может, не в этом конкретном случае, я его придумал. Но категория события, его, что ли, тип, надеюсь, понятен. *** И также надеюсь, что мне удалось обосновать мою мысль: – любые технологии, которые мы можем получить с «Мистралем», для нас либо неприменимы вообще, либо применимы с разной степенью проблемности, с большими или меньшими затратами человеческих сил, времени и денег; – наиболее интересные технологии – информационно-управляющие, «технологии современной войны», – похоже, относятся как раз к категории неприменимых вообще; – и даже если всё это как-то решится, то «Святополк Окаянный» станет красивой игрушкой, «царской яхтой», постоянно генерирующей трудности и экстраординарные расходы при эксплуатации и очень неудобной при употреблении по прямому боевому назначению. Если те, кто принимает решения, об этом не думают, то стране предстоит выкинуть на ветер большие миллиарды рублей. | |
Просмотров: 539 | Добавил: kresta-ii | Рейтинг: 0.0/0 |
Всего комментариев: 2 | |||
| |||