Кейс: как мы на яхте бортовой компьютер заменили

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

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

Спойлер: принципиальной разницы между бортовыми системами корабля и инженерными системами здания нету.

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

image
Примерно вот так она выглядит. Фото из интернета.

Яхта Итальянская, 2007 года постройки, оснащена многими инженерными системами жизнеобеспечения и комфорта пассажиров. Есть большая щитовая на нижней палубе с основными элементами управления и небольшой шкаф управления под рубкой. Там и там стоят контроллеры, отвечающие за автоматическое управление, которые связаны с бортовым компьютером. С точки зрения программиста, мы имеем 2 контроллера Wago с набором модулей расширения, которые собирают и обрабатывают данные со всех систем и передают их на верхний уровень — скаду, которая установлена на встроенном ПК под управлением сильно урезанной Windows XP. Само собой, нет никаких исходников на программное обеспечение, даже не понятно вообще, что это за скада, скорее всего что-то самописное Итальянцами. Программы на контроллер тоже нет. Были некоторые электрические схемы на сами шкафы и обвязку, на Итальянском языке, местами они помогли. Вся проблема оказалась в том, что контроллер в основном шкафу приказал долго жить.

image
Слева сам контроллер, CPU, там вся логика и алгоритм. И к нему около 30 модулей расширения.

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

Самая сложная часть была «подружить» новую программу с существующей скадой. Скада полностью закрыта, нет даже ОРС сервера, она обменивается с контроллером по протоколу Modbus TCP/IP, и как именно она это делает не понятно. Мы использовали программу Wireshark, чтобы «подслушать» какие запросы и на какие адреса отправляет компьютер на контроллер, после чего симулировали ответы контроллера, чтобы узнать, как на них будет реагировать интерфейс скады. Это очень тонкая, деликатная и длительная работа, подбирать переменные, чтобы потом под них уже написать программу. Вся внешняя адресация алгоритма должна полностью совпадать со старой программой, чтобы бортовой компьютер работал точно так же, как и раньше.

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

Так как результатом все остались довольны, я предложил клиенту в следующем году модернизацию: полностью заменить бортовой компьютер и добавить туда новые системы. Нам получилось донести идею, что в долгосрочной перспективе она экономически обоснована и выгодна, что после модернизации у них будет все программное обеспечение на руках и они будут полностью независимы от производителя и не попадут больше в такую ситуацию. Имея у себя исходники, при выходе из строя элемента автоматизации, клиент его меняет и загружает заново программу, при этом теряют пару дней и около 15 т.р на выезд программиста и загрузку программы. А если организовать ЗИП основного оборудования на борту, то такие проблемы можно вообще исключить.

К уже существующим системам яхты:

  • огни и подсветка,
  • вентиляция и кондиционирование,
  • водоснабжение и водоотведение,
  • насосы, танки с топливом и технологическими жидкостями,
  • генераторы, питание, батареи,

добавим новые:

  • освещение в каютах,
  • горн,
  • дворники,
  • люки.

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

Вместо компьютера мы поставили сенсорную панель Weintek MT8121XE, 12 дюймов и разрешение 1024х768. Экран резистивный, но для наших целей он подходит. Хорошая яркость и углы обзора.

image

image

image

image

image

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

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

image

image

image

image

image

image

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

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

Дополнительно мы сделали светлую тему, так как днем, при свете солнца информация с темного экрана считывалась недостаточно хорошо.

image

image

image

image

После, все это еще и продублировали на английский язык

image

image

image

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

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

Еще мы сделали специальную кнопку, которая блокирует любые нажатия экрана, чтобы можно было протирать его и не бояться случайно что-то нажать.

На все работы по модернизации у нас ушло около 3 месяцев, нужно было тщательно проверить все возможные сценарии событий, чтобы не доставить клиенту проблем во время рейса.

В нашем портфолио это один из самых необычных и интересных кейсов, есть, о чем рассказать. Если у вас есть своя яхта и вы хотите модернизировать бортовые системы на ней, обращайтесь, с удовольствием поработаем!
AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Подробнее
Реклама

Комментарии 43

    +2

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

      +2
      Экран находится ровно по центру перед капитаном, на самом видном месте)
        +1
        Я не про экран, а про комп и управляющую электронику. Потому что она с водой не дружит, особенно соленой. Но это не мешает устанавливать блоки так, чтобы их могло легко залить. Была история про катер, в котором вода в движки попала, а прикол был в том, что блоки были установлены так, что эту воду, попавшую в корпус, не сразу заметили.
          +1
          Тоже интересно, знаю что соленая вода — просто бич любительской электроники
      +1
      это позволило существенно снизить скорость загрузки экрана
      Ниже скорость — дольше загрузка, это не преимущество.

      Оригинальный интерфейс симпатичней. Не пробовали поискать иностранного заказчика (ценник в 20-30 раз, это хорошее коммерческое предложение)?
        0
        про скорость спасибо, не обратил внимание, скорость возросла, так правильнее.
        Я ждал комментарий, что оригинальный интерфейс симпатичнее. Мне он тоже очень нравится, но делать точно точно такой же было бы не интересно)
        0

        Очень интересно, спасибо!


        Немного странно сделано Электролюк: Открыть => ПУСК и Электролюк: Закрыть => ПУСК.


        Расскажите, почему не просто ОТКРЫТЬ /ЗАКРЫТЬ?

          0
          Мне кажется так удобнее. Управление сделано кнопками без фиксации (изначально так с завода сделано), жмем и держим, пока не откроется или закроется. Если было бы с фиксацией и концевиками, было бы лучше.
          +2
          После, все это еще и продублировали на английский язык

          На скринах в правом нижнем углу: Electric.
          Правильно будет Electrics, просто electric — это вообще прилагательное.
            0
            Слева внизу кнопка «Навигация» — можете поподробней рассказать об используемой системе и о ее интеграции в общий интерфейс?
              0
              Эта кнопка к навигации корабля не имеет отношения, название кнопки взяли со старой панельки, согласовали с капитаном, ему так удобнее. Почему именно навигация, не помню уже. Но вообще бортовой компьютер за инженерные системы отвечает, навигация, радио это все отдельные системы.
              0
              мы справились, ушло на это около двух месяцев. производитель яхты за такой ремонт запросил стоимость примерно в 20-30 раз выше
              Примерно представляя себе стоимость работы квалифицированной команды («мы») — за цену производителя (которая в 30 раз выше) похоже можно было новую яхту купить.

              Вообще современные решения крупных брендов подразумевает проприеритарщину в этой области или это просто тяжелое наследие 2007 года?
                0
                проприеритарщину в этой области
                тут ситуация очень простая. Отсутствуют исходники, значит нужно делать заново. У нас по промышленной и инженерной автоматики больше опыта, там часто бывают случаи, когда дешевле все выкинуть на помойку и поставить новое, чем просить производителя сделать ремонт. В инженерке были случаи, когда меняли полностью шкафы, так как это дешевле и намного лучше, чем ставить переходник с одного интерфейса на другой для интеграции.
                  +1
                  На глазок цена этой яхте 500к$ минимум, думаете дешевле?)
                    0
                    Не, не думаем. Просто прикинули — 2 месяца сложной работы фирмы, состоящей из команды высококлассных специалистов, в достаточно дорогой области, где в основном долларо-евровые цены… умножить в 20-30 раз. Это ж не фрилансер у себя дома поковырял контроллер холодильника на выходных:)
                  +12
                  А этот ваш софт не должен быть увешен сертификатами проверки безопасности, как елка игрушками? Подозреваю это один из фактов по поводу в 30-50 раз дороже. Все таки последствия сбоя такого ПО это не тоже самое, что сбой программки на писюке.
                    0
                    Или ручное, «железное» дублирование на уровне космического аппарата, т.е. иными словами — ручной тумблер на все железки.
                      +5
                      Тут дело не только в фактической безопасности, но и в том, что если нарушена скучная последовательность — сертифицированный инженер с помощью сертифицированных инструментов установил сертифицированное ПО на сертифицированные запчасти, то это может стать поводом страховой отказать в выплатах, а для для владельца и присесть в случае громких инцидентов. Пластмассовый мир победил еще до изобретения пластмассы.
                        +3
                        С этим тоже есть нюанс. Основной контроллер вышел из строя, это уже проблема. Если правилами разрешена эксплуатация с мертвым контроллером, то в лучшем случае он не учитывается при возникновении страхового случая. А в худшем вернут обратно старый.

                        Но купить яхту и не потянуть техобслуживание?
                      +4
                      А этот ваш софт не должен быть увешен сертификатами проверки безопасности, как елка игрушками?

                      Присоединяюсь. Рассматривались требования по безопасности, в том числе, и по кибер безопасности?
                        +5
                        Думаю нет таких сертификатов в природе, не представляю даже, что это за сертификаты и чему они могут соответствовать. Все управление дублируется кнопками на уровне железа, систем навигации и радио мы не касаемся… Мы больше по инженерке, у нас нужны сертификаты соответствия и пожарной безопасности, у панельки сертификат соответствия таможенного союза есть, но он не нужен тут никому.
                        Сбой программы не приведет ни к чему критичному, так как все дублировано кнопками. У них же вылетела большая часть автоматики, они в рейс ходили, нормально в целом.
                        Еще момент важный очень, я забыл про него написать, мы когда программу писали специально сохранили старую всю адресацию, чтобы старый комп мог работать. Если что с панелькой случится, они достанут старую, поменяют за 2 минуты и будет все работать.
                          +1

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

                            +2
                            Да, я понимаю о чем речь. Я думаю, что все же сертификаты или лицензии на это не нужно. Могу ошибаться. От клиента такие вопросы не звучали, они плавают уже долго, команда не маленькая и большой опыт эксплуатации за спиной. Думаю если что-то от меня нужно было, мне бы сказали.
                              0

                              А вот это зря — надеяться на заказчика в этом вопросе. Потому что с его стороны будет выглядеть так что "тыжпрограммист" должен об этом был знать и предупредить и потому с вашей стороны было злоупотребление доверением и здравствуй иск по статье 159 УК РФ.

                                +4
                                Для прогулочных судов этой длины подобные системы не сертифицируются, поэтому от заказчика и не было такого требования. Иначе у него была бы одна дорога — обращаться к производителю на верфь Azimut и платить по полной. Нашему ГИМСу важно, чтобы на борту был огнетушитель и ящик с песком, а управляющие системы никого не волнуют.
                                  0

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


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

                              0

                              Возможно Вы найдёте полезную информацию в документе под названием "Правила классификации и постройки морских судов" раздел 7 КОМПЬЮТЕРЫ И КОМПЬЮТЕРНЫЕ СИСТЕМЫ. Работа проделана интересная, но юридическая сторона вопроса не столь очевидна. Кстати возможно сообществу будет интересно продолжение статьи с анализом этого вопроса.

                            +7
                            скорее всего что-то самописное Итальянцами

                            Ардуино.

                              +4
                              А почему «Английский тёмная, английский светлая», а не «English Dark, English Light»? Или хоть бы иконки флагов перед надписями.
                                +1
                                Это выпадающий текстовый список, туда иконки не вкрутить, только текст. Хотя с иконками было бы лучше.
                                  0
                                  Выпадающий список — это ComboBox? Если это Qt/Qml(похоже просто), то у Combobox'a можно добавлять элементы в том числе с иконками.
                                  +3
                                  Соглашусь что название языка надо писать на том языке, на который произойдет переключение.
                                  +4
                                  Cloacking device добавили?

                                  Cloacking device
                                    +8
                                    Неа, побоялся что его активируют до подписания акта и полной оплаты)))
                                    +1
                                    Новый интерфейс выглядит существенно хуже старого. На первой же странице — длинный список огней в виде таблицы, то есть надо понять, какой строчке текста соответствует тумблер. На странице с танками кнопки собраны в кучу и переключатели «авто» рядом с кнопкой «пуск». Управление дворниками и вытяжкой — они разве могут работать одновременно на двух скоростях? Но даже если могут, вот эта простыня тумблеров — она не очень. Оно, конечно, не пульт запуска ракет, но общая современная тенденция ухудшения юзабилити налицо…
                                      0
                                      Согласен с критикой, старый дизайн мне тоже нравится. Старались сделать качественно, тем более стало больше информации которую нужно отобразить. Вообще эта задача ни разу не простая. Сейчас бы я некоторые элементы сделал по другому.
                                      +3
                                      Предупреждение «Превышение нижнего уровня» — это как? Если это выше нижнего уровня, то это ведь норма, а если ниже, то неправильное описание.
                                      Мне кажется, что замена панели и написание нового софта была бы дешевле, чем реверс существующей. Т.к. вы все равно заменили ПО контроллера, прозвонили и разобрались с входами/выходами, а управление быстрее было срисовать со старой скады. Да и небезопасно это, хз что чужая панель может записать вам в coils при каком-либо стечении обстоятельств.
                                        0
                                        то неправильное описание.
                                        возможно ранний скриншот, написано не корректно.
                                        Так это и есть новая панель и весь новый софт. Старую панель оставили, программу специально писали так, чтобы тэги подходили и под старую панель тоже. Если что можно воткнуть ее на место, будет работать
                                          0
                                          Я и пишу о том, что старую панель реверсить не было смысла. Вероятность ошибки далеко не нулевая, трудозатраты, по сравнению со стоимостью панели, огромные. И вы все равно заменили панель.
                                            0
                                            у нас уже была таблица пересылочных данных с основного контроллера, со второго тоже ее подобрали быстро очень, поэтому решили новые тэги делать по тем же адресам что и прошлые. Мало ли что случится в рейсе, ребята смогут воткнуть старую панель и пользоваться ей, пока не поменяют новую.
                                        +1
                                        Экран резистивный, но для наших целей он подходит.

                                        Не понял, к чему тут «но». Резистивный экран — лучшее решение в вашем случае (брызги воды).
                                          0
                                          ну это не лодка плоскодонка, там у капитана целая приборная доска, куча просто разной электроники, там воды быть не может
                                          +3
                                          Не пытайтесь повторить этого с самолетом

                                          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                          Самое читаемое