Skip to content
 

Проклятые вопросы нашего времени. «Мистраль», часть 4

Начало «Мистраля»

Палуба «Мистраля»
Палуба «Мистраля»

Я подошёл к самому пафосному. Самому пафосному для меня, потому что:

В судостроительных сталях и прокладках для топливопроводов я не разбираюсь совсем. В радиообменах между самолётами, пароходами и берегом разбираюсь на уровне самых общих представлений. Во взаимодействиях между системами разбираюсь уже вполне основательно, потому что последние лет восемь в КБ работал комплексником, то есть именно «вязал» комплекс из разных систем, из коих некоторые делали мы, а большинство – другие фирмы. А сейчас будет про внутренности систем, про взаимодействие входящих в них подсистем, про аппаратуру, алгоритмы и программы. А этим я занимался всю жизнь до тех восьми лет, когда был комплексником.

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

Так что тут я оторвался. Подробности, которые я жую, могут оказаться, скажем так, излишними для большинства читателей. Ладно, может, хоть кому-то будет интересно. А кому будет скучно – бросайте, я не обижусь.

Уровень нижний. Так ли уж пусто «пустое корыто»?

Что мы называем «пустым корытом»? Или, более строго, платформой? Видимо, сам корабль, сооружение для целенаправленного, безопасного и по возможности комфортного передвижения по воде. На каковое сооружение можно, в зависимости от задачи, установить разные целевые системы: от кранов для погрузки сеток с мешками до антенн связи с космическими аппаратами, летящими где-то между орбитами Сатурна и Урана.

Корабль должен двигаться, что на «Мистрале» обеспечивается четырьмя дизель-генераторами и двумя гребными электродвигателями в поворотных колонках. Надо объяснять, что всё это хозяйство, довольно хитрое для надводного корабля, управляется вычислительной системой? Если даже на автомобиле теперь для обслуживания мотора стоит десяток процессоров? Команда «полный вперёд» не поступает в виде крика с мостика через переговорную трубу в машинное отделение, или в виде поворота скрипящей стрелки на машинном телеграфе.

машинный телеграф
Вот он, старый добрый машинный телеграф. Жаль, стрелки не видно…

Нет, вероятно, и на суперсовременном «Мистрале» есть машинный телеграф и – конечно, не переговорная труба, но телефон в машинное отделение точно есть. Но это – резервные системы, основные режимы реализуются, конечно, компьютерами. Да и не в одной «полный вперёд» дело, там же туча всяких алгоритмов управления, последовательности включения всяких приборов и агрегатов, оптимизации режимов, контроля расходов и прочая. Это само по себе достаточно сложная алгоритмия, может быть, даже сопоставимая с алгоритмами наведения ракет или выделения цели на фоне помех.

Далее. Управление по курсу. Уверен, что там есть какой-никакой гирокомпас, системы навигации и судовождения, погодный локатор. Это у всех есть. А в части исполнительных механизмов у «Мистраля» есть не только руль в корме, но и подруливающие двигатели в носу. И к тому же, как уже сказано, основные двигатели установлены в поворотных гондолах. Всё это участвует или может участвовать в повороте, получается довольно сложная система. То есть: много датчиков, много приводов, а посередине – компьютер. Вычислительное ядро из не знаю скольких процессоров.

Тут я немного уточню. Здесь я говорю о «внутреннем» вычислительном ядре контура управления курсом. Для того, чтобы держаться на курсе норд-норд-вест, раньше рулевому приходилось постоянно подворачивать штурвал: волна, порывы ветра, собственная неточность – всё это понемногу сбивает курс. Теперь курс держат автоматически, во всяком случае, я уверен, что на «Мистрале» это так. Это называется – стабилизация по курсу. Задаёшь ей: курс NNW – и она его выдерживает до следующей команды. «Ловит» отклонения, высчитывает, какой интенсивности и продолжительности сигнал надо подать на рули, по какому закону его уменьшать по мере «подхода к нулю», контролирует уменьшение и обнуление «дельты» между курсом заданным и текущим. Всё это – в автоматическом режиме. Значит – процессор, иначе никак. Раньше были и аналоговые такие системы, но теперь точно цифровая, то есть процессор.

Ещё у «Мистраля» есть активные успокоители качки – управляемые рули крыльевой формы, установленные под водой на правом и левом борту. Уж ими-то точно невозможно управлять вручную. А как? А так. Нужно прежде всего «чувствовать» вертикаль, чтобы понимать, что корабль от неё отклонился. Значит, есть гировертикаль, или измерители угловых ускорений, или эти данные берутся не от специальных датчиков, а от центральной корабельной гиросистемы. Углы и угловые скорости обрабатываются, преобразовываются в сигналы на приводы стабилизаторов. Тоже алгоритм, потому что управляющий сигнал зависит от углов качки, скорости движения, периода качания, чего-то там ещё нелинейно, по определённому закону, полученному на основе моделирования этих процессов. То есть и здесь необходим компьютер. Точнее, процессор.

Не буду дальше писать в подробностях. Есть система климатического контроля. Есть система электроснабжения. Есть многочисленные индикаторы у многочисленных командиров и специалистов. Есть ещё чёрт знает что, о чём мы с вами сразу и не подумаем, вплоть до нашей шутейной заслонки вентилятора. И всё это управляется процессорами – «Мистраль» очень высоко автоматизирован, его экипаж – всего 160 человек. Это очень, очень немного для столь многофункционального корабля, к тому же вооружённого ЗУРами и зенитными автоматами, которые, по идее, должны в полностью автоматическом режиме отражать налёт ПКРов противника.

Вывод: «корыто» «Мистраля», для того, чтобы тронуться с места, плыть, куда надо и вообще функционировать как носитель чего бы то ни было, уже само по себе, в «пустом» виде должно содержать десятки, если не сотни процессоров и десятки, если не тысячи мегабайт программного обеспечения.

Если дать пароход без всех этих сотен процессоров и тысяч мегабайт, то он не сможет сдвинуться с места. Это будет не «пустое корыто», а большое, красивое, но бесполезное металлическое сооружение на швартовах у причала. Которое нельзя использовать даже как гостиницу, даже как плавказарму или плавтюрьму, потому что и в тюрьме, и в казарме нужно освещение, отопление, вентиляция, сигнализация и всякое такое прочее. А оно на «Мистрале» «заточено» под управление компьютерными системами и без них мертво.

Поэтому «пустое корыто» – это уже многопроцессорная система с развитым программным обеспечением.

Вот мы и пришли. Пришли к вопросу:

***

и что с ним делать, с этим хозяйством?

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

Ну, ладно, это, может быть, натяжка. Но я уже говорил, что этот уровень – совместимость хардвара и софта французских управляющих систем с нашими требованиями и просто привычками ¬– этот уровень актуален для любой системы, в которой есть процессор. В том числе для БИУС, боевой информационно-управляющей системы. И уж в ней-то наверняка есть тысяча подробностей, которые в нашем флоте выглядят не так, как в НАТОвском.

БИУС – большая система, очень большая. Разработка таких систем начинается с обсуждения концепции, с того, что она должна делать и чего не должна, от чего она принимает данные и куда выдаёт, как в ней ходят потоки информации, как осуществляется интеграция, контроль достоверности информации, отображение, регистрация, документирование… Кто, как и когда может вмешиваться в её работу, какие у неё должны быть режимы, как она должна управляться с нештатными ситуациями, как в смежных системах, так и со своими собственными. Можно много ещё наговорить, но, надеюсь и так понятно, что БИУС – это, так сказать, целая идеология, а потом и структура, а потом и конкретная реализация в «железе» и программах.

Вот датский катер типа «Флювефискен». Его проект создавался по программе Standard Flex 300, начатой ещё в начале 1980-х годов. А головной катер построен в 1989-м. Это очень небольшой корабль, его водоизмещение всего 320 т. И не так-то много на нём оружия: 8 ПКР «Гарпун», артустановка да два торпедных аппарата. Но…
катер типа «Флювефискен», Дания
Но вот два фото информационных рабочих мест в его центральном посту. То, что на фото – это, собственно, и есть БИУС, та её часть, которая общается с оператором. А всего таких рабочих мести на катере шесть! Шесть – на катере водоизмещением 320 тонн, с одной пушкой и восемью ракетами!
Вот какое значение имеет БИУС на современном корабле
р/м БИУС катера «Флювефискен»
р/м БИУС катера «Флювефискен»

Неужели кто-нибудь думает, что все эти вопросы решены у нас и в НАТО идентично? Я говорю не «решаются», а «решены», потом что и мы, и они ставим и развиваем компьютеризированные системы сбора, обработки и распределения данных уже лет сорок как минимум. Не в том дело, что кто-то умнее, у кого-то идеология лучше, а у другого хуже. А в том, что, если мы согласимся на «Мистрале» на французскую идеологию, то наш «Святополк Окаянный» будет уникальным и одиноким кораблём. Работать на нём смогут только люди, прошедшие переобучение. Да это не страшно. Страшно то, что со своей французской БИУС он не сможет нормально войти в состав какого бы то ни было российского корабельного соединения, остальные единицы которого, конечно же, будут оснащены нашими БИУС. А они функционально различны – до несовместимости. Постараюсь пояснить, о чём я.

Идеология БИУС вытекает из всех стратегических, оперативных, тактических и технических доктрин, по которым идёт строительство, эксплуатация и боевое применение национального (или коалиционного) флота. Это всё звенья одной цепи. Идеология построения БИУС находится посередине этой цепи.

«Над» ней – эти самые стратегические, оперативные и др. концепции. Сюда же можно приплюсовать помянутые смежные системы – локаторы радио- и гидро, линии связи, комплексы вооружения, устройства отображения и ввода команд – всё, с чем взаимодействует вычислительная система, сидящая в недрах этого монстра – БИУС.

«Под» идеологией БИУС, – структура и состав её оборудования, основные потоки данных, циркулирующих между её подсистемами. Ещё ниже – алгоритмы сбора, обсчёта, распределения информации, то есть прикладная часть алгоритмии. Далее – системная алгоритмия, организация вычислительных процессов, трафика внутренних и внешних коммуникаций – аналог операционной системы вашего домашнего компьютера. Ещё ниже – аппаратура, процессоры, контроллеры, внешние устройства…

 АРМ системы «Требование-М»
А вот автоматизированное рабочее место отечественной БИУС «Требование-М». Правда, установлена она на фрегаты проекта 11356, которые построены в Питере для Индии. Уже этот АРМ – трёхпроцессорная система. БИУС в полной комплектации предполагает 8 АРМов, объединённых в локальную сеть. А в сети ещё серверы…
Данный конкретный АРМ построен на IBM-совместимых процессорах с операционкой QNX. Ну так то ж для Индии…

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

Мы не можем плавать с французской БИУС.

Мы должны как минимум её доработать, адаптировать к нашим требованиям и привычкам.

А легко ли это сделать?

Можно ли прямо перенести, скажем, Адоб Акробат с «макинтоша» на РС? Нельзя. Его надо переписывать, что, впрочем, давно сделано. Потому что «мак» и РС – разное «железо». Потому что РС категорически не поймёт машинных команд «мака». Французские процессоры и те, которые десятилетиями применяются у нас, – это «макинтош» и РС.

Отработанный, скажем, для «Ярослава Мудрого» модуль обмена данными между БИУС и «Кортиком» невозможно прямо перенести на процессоры БИУС «Мистраля». Для того, чтобы его переписать под них, надо хотя бы иметь систему программирования для французских процессоров. Наверное, французы нам её дадут. Тогда надо много, очень много времени, чтобы переписать этот модуль, отработать его на моделях и стендах, проверить на натуре, сертифицировать. То есть, кроме времени, нужны стенды с французскими процессорами и русской обвязкой, а это уже не только время, но и деньги.

Но это ещё цветочки. Легко может оказаться так, что модуль, работающий на «Ярославе», вообще нельзя перенести на вычислительную систему «Мистраля». Потому что она в принципе не поддерживает некоторые операции, которые «зашиты» в логике нашего программного обеспечения.

Не могу я здесь расписывать подробности, это, может, и интересно, но очень специально и потому очень длинно. Давайте попробую дать аналогию. Например, плавное регулирование нагревания сковородки, к которому вы привыкли на вашей газовой плите, в принципе невозможно на электрической, если у неё есть только четыре фиксированных положения для установления силы тока на конфорке. Или: я не могу послать сразу 40 человекам «С Новым годом!», потому что мой старенький мобильник не поддерживает функцию рассылки. Или: не могу взять старую статью с дискеты, на которую её когда-то записал, потому что на моём новеньком ноутбуке уже нету дисковода для флопов.

А есть ещё вещи не столь гранитно-непреодолимые, но для практики тоже фатальные. Есть такое понятие – дисциплина программирования. Она устанавливает правила, по которым все должны писать программы. В работе над большими программными системами участвует много народа, каждый пишет свой кусок. Если каждый будет писать так, как ему нравится, то соединить фрагменты в одно целое не удастся никогда. Вот и устанавливаются правила. Например, как передавать переменные из одного программного модуля в другой. Выделяется зона адресов, составляется таблица, в которой раз и навсегда фиксируются идентификаторы параметров (типа: идентификатор скорости крена от первого канала гироплатформы: 1001; от 2-го: 1010; от третьего: 1011; я упрощаю, но зато понятно). Устанавливается порядок следования параметров в зонах адресов, форма представления (эти – с плавающей запятой, эти – с фиксированной, эти – длиной в байт, эти – в 2 байта). И так далее.

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

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

Вы понимаете, что наша и французская дисциплины – разные? И тут не то что может быть, а обязательно повылезет всякая беда. Простейший пример: мы установили зону обмена данными для параметров наведения «Кортика» величиной 512 байт, а у французов она была 256 байт, потому что ихнему «Симбаду» больше не нужно. А в соседних 256 байтах (которые, мы думаем, входят в нашу зону), у французов лежат параметры для отображения на индикаторе тактической обстановки. Мы ставим модуль управления «Кортиком», включаем, – и он через 100 миллисекунд затирает эти самые данные для отображения.

Сбой. Работа развалилась. В чём дело?! Что с индикатором тактической обстановки? Начинают всё включать-выключать, гонять тесты. Бесполезно, штатные тесты индикатора такой бяки не увидят, она ж на глубоком системном уровне. Зовут специалистов… Разборки могут занять дни, а то и недели, это я вам как практик говорю. Может, не в этом конкретном случае, я его придумал. Но категория события, его, что ли, тип, надеюсь, вам понятен.

***

И также надеюсь, что мне удалось обосновать мою мысль:

– любые технологии, которые мы можем получить с «Мистралем», либо неприменимы вообще, либо применимы с разной степенью проблемности, с большими или меньшими затратами человеческих сил, времени и денег;

– наиболее интересные технологии – информационно-управляющие, «технологии современной войны», – похоже, относятся как раз к категории неприменимых вообще;

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

Если те, кто принимает решения, об этом не думают, то стране предстоит выкинуть на ветер большие миллиарды рублей.

* * *

Морская тематика:

Что нам «Бисмрк»?

Скептикам в посрамление

1000 боеголовок у США и России. Война продолжается

Подводные ракетоносцы Союза

Флот адмирала Риковера

К Дню ВМФ, или Как мы два раза становились вторыми (серия)

«Белфаст», Англия

Немного о крейсерах вообще и о «Белфасте» в частности

И нет ничего нового под луною

На защите морских рубежей Отчизны…

Обложение с моря. (Разоружение — 9.2)

К 104-летию со дня рождения HMS Dreadnought

Проклятые вопросы нашего времени. «Мистраль»

С Днём моряка-подводника!

13 комментариев

  1. Владимир:

    Хорошая статья, мне нравится очень.
    Сам имею некое отношение к программированию контроллеров и плис. Одно не понятно, почему Вы не рассматриваете эту покупку как возможность изучить информационные системы вероятного противника. Ведь про сути мы покупаем «черный ящик» стандартизированный НАТО. Мы имеем f(x) внутри. Собственно, нам нужно узнать как оно работает, чтобы в нужный момент насрать как следует. Хотя не знаю, стоит ли это знание ТАКИХ денег. Легче купить инженера оттуда… или исходники.. ну или нет.

    • master:

      Узнать, чтобы понять, как нагадить?

      Хорошее предложение. Вы же не имеете в виду, скажем, радиочастоты и кодировки, да? Частоты и так можно измеритm, а кодировки – они у закрытой связи должны постоянно меняться по каким-то хитрым правилам, я так думаю. Вопрос с кодировкой сигналов РЛС уже успешно решается, как можно понять из инцидента с бедолажным эсминцем «Кук». Я как раз недавно отредактировал статью об этом, не то чтобы сильно глубокую, но внушающую оптимизм и гордость за отечественных РЭБовцев.

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

      А сама программа лежит себе в ПЗУ в виде машинных кодов. А разрабатывается она сейчас, когда нет ужасных ограничений по ёмкости памяти, на языке высокого уровня, так? И лежит в ПЗУ такая жуткая мешанина кодов, этих самых нулей и единиц… Один процент собственно программы, реализующей боевой алгоритм. И 99% остатков от программирования: выражения языка высокого уровня, транслятора, какого-нибудь кросс-ассемблера, какие-то блоки построения таблиц и управления базами данных, какие-то графические модули… А ещё – встроенные фрагменты системы отладки, неинтересные модули документирования, контроля уровней доступа, чего там ещё… И всё это – неразличимые на взгляд нули и единицы. Невозможно разобраться. Нужно тырить исходники :)

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

      И – спасибо на добром слове. Что характерно: разработчик ПЛИС меня понимает. А те, кто не имел отношения к таким вещам, в том числе современные «программисты», работающие во всяких комфортных оболочках с кнопочками и плагинчиками – они ругают. Им всё легко… и, наверное, скучно читать такие аппаратно-приближенные рассуждения.

  2. ave verum:

    Сдаётся мне, что перебрал ты тут со сложностями… Хотелось бы взглянуть, однако, на хранцусский-то процессор. Хто такой и почему не знаю, ей богу! ;)

  3. ave verum:

    Нет, погоди: хочешь закольцевать меня на какой-то коммент? :-o
    Говоришь, процессоры все одинаковые… А в статье-то — с точностью до наоборот сказано!

    • master:

      Конечно, процессоры разные. Да только что увидишь, ВЗГЛЯНУВ на него? Снаружи-то они одинаковые, я это имел в виду. Точнее, их наружность одинаково неинформативна.

      Или ты имела в виду описание системы команд? Неужели и в этом разбираешься?!!

      • ave verum:

        А что же, их визуально, что ли, сравнивают? Или на слово верят без всякого документального сопровождения?

        • master:

          Вот я и удивляюсь: неужели ты и этом разбираешься? ты же написала, что ТЕБЕ хотелось бы взглянуть. Вот на этом месте я и удивился.

          • ave verum:

            Ну, не досконально, конечно, однако представления всё же имею некоторые. А сопроводительные документы всегда стоит требовать, даже если не всё сразу ясно. Надо — разберёмся.

            Вспомнила один случай, случайно случившийся — не со мной, а с небезызвестной тебе преподавательницей Дипломатической академии. Несколько лет назад вела она спецкурс по работе с фотошопом для студентов. И вот в конце семестра приходит к ней на зачёт некий тип (к тому же, «лицо кавказской национальности»), которого она ни на одном занятии не видела, и просит поставить зачёт. Естественно, получает отказ, поскольку, как выясняется, этот студент о фотошопе только где-то что-то слышал и ни одно задание выполнить не может. Начинает чуть ли ни принародно предлагать поставить зачёт за деньги, но та — отказывается. Тогда он начинает умолять дать ему задание ещё раз и возможность сделать «звонок другу» (как в телешоу :) Преподавательница соглашается из одного только любопытства и предлагает «запихнуть» с помощью фотошопа людей в автомобиль (и что-то ещё дополнительное). Этот парень набирает чей-то номер и начинает на своём языке выспрашивать подробности — буквально по шагам во всём разбирает и делает, не отрывая уха от телефонной трубки… На это дело ушёл у него битый час (и даже с лишним) времени, однако парень оказался не дурной и «усадил»-таки всех на места, чем весьма немало удивил своих же товарищей по учёбе, ожидавших, чем же закончится эксперимент. Пришлось ему ставить зачёт, однако. :-D

  4. master:

    Насчёт некоторых представлений о процессорах надо будет тебя потестировать. Если ты и в этом разбираешься, то мне надо на покой уходить :)

Написать отзыв

CAPTCHA изображение
*