Получите и распишитесь.
Это всего лишь реклама... Увы.
Я знаком с одним из указанных вами проектов (лучше не буду говорить, с каким). Ну... в общем... по известной мне части могу сказать так:
1) Прежде чем начинать проектирование, неплохо бы найти вменяемых специалистов. А не лезть в главные конструктора ни хера не понимая ни в чём (ни в электронике, ни в ПО, ни в резервировании, ни в проектировании, ни в организации работ). И проектом неплохо бы заниматься, а не прибегать раз в месяц: "чо, бля, быстро на литеру сдали! Похер, что ни одного изделия не сделано и не отработано. Быстро сдавать на литеру "О", я сказал! У нас договора!"
2) Уберите феерических долбоёбов в разработке программного обеспечения. Где вы их берёте? Похоже у нас в ВПК работают те из пограмистов, кого больше никуда не берут из-за хронического идиотизма. Кровь из глаз, глядя на протоколы обмена, логику работы и качество ПО.
3)Особо умиляет, что одно предприятие гнёт свою линию (мы не будем работать с вашим устройством напрямую - это вы должны следить за остальные комплексом и угадывать, что вам делать и выдавать показания), а другое свою (да вы издеваетесь! Где это видано такое?!). Я на втором предприятии, если что.
4) Разработка всего пакета КД на устройство (инструкции и прочее подобное) не должна вестись, пока устройство не отработано. Ах да, у нас же литера.
Отработаем к 2030-му. Может быть. А может, и нет. До этого ещё далеко. Как-нибудь проскочит.
5) Хотите резервирование? А вы его умеете делать? Не умеете? Ну так найдите тех, кто умеет, почитайте книжки. Что за идиотизм, сделать набор вычислителей, а потом думать, как бы это нам все вычислители заставить страховать друг друга, если решает задачу всегда один из них, а остальные физически память активного получить не смогут (а там логика охеренная и программа ой какая непростая, да ещё и за авторством пунктов 2 и 3). А состояние активного передать нельзя - канал узкий и к тому же, это не гарантирует потерю команды, если сразу после получения вычислитель сдохнет. А команду не дублируют, так как см. пункт 3.
6) Переделывать идеологию работы не будем. Дорого. Нам лень. И вообще, главному конструктору видней. Он уже всем всё пообещал. Со своей стороны скажу: да, мы сделали каку. Она прямую ветку как-то отработает, но если какой более-менее серьёзный сбой, то адью. Заставить переделать невозможно. Это никому не нужно. Это не нужно было и раньше никому из тех, кто проектировал куски - им плевать на результат. Главное, закрыть плановую позицию. А там хоть трава не расти. Поэтому переделаем по мелочи. То, что очевидно.
И это как бы только маленький (но важный) кусочек изделия. Я не знаю, что в других, но если так же, то это будет очень и очень обидно за наш ВПК. Но, надеюсь, на других предприятиях всё же есть вменяемые и опытные главные конструктора (не для галочки), ответственные и умные специалисты, талантливые программисты. А у нас ничего этого, видимо, нет.
Хотите, кстати, задачку? Думаю уже пару недель за отдел, который вообще-то эту задачу и должен был решить. Но он решил её формально. То есть, требуемое не достигнуто никак.
Есть два (это так пытались резервировать исходно, и потому авторы сделали их два) микроконтроллера, которые могут управлять набором реле (поляризованных). С помощью этих реле нужно запитать нагрузку. При этом требуется сделать резервирование, чтобы отказ любого одного элемента (микроконтроллера, реле, транзистора, коммутирующего реле) не приводил к невозможности управлять нагрузкой и питание нагрузки обеспечивало непрерывность в части режима работы (нельзя даже кратковременно его снять при работающем изделии — это отправит в мусор примерно пару миллионов рублей. Подать же ложно можно.). Отказ может быть любым — залип контакт реле, микроконтроллер ложно выдаёт сигнал (сдохла программа, сдох порт и т.д.). Было бы три контроллера можно было бы сделать мажорирование. Правда, мажоритарный элемент всё равно уязвим, так как не дублирован. Пока всё, что я придумал, так это запараллелить реле от двух контроллеров и сигнал включения любого реле пустить через диоды на оба реле. А вот сигнал отключения у каждого реле взять от своего контроллера. Но в этой схеме реле можно включить, но не отключить в случае залипания сигнала включения любого контроллера.
Это вот блок обеспечивает коммутацию прибора. И управляется командами по CAN. Формально контроллеров два. Только обмотками двух реле они сейчас управляют через диодное ИЛИ. Резервирование! Щассссссс... Если один контроллер сдохнет и выставит 1 на выходе (ну или кратковременно мигнёт выходом из-за сбоя), то реле может перещёлкнуться в отключённое состояние, и более того это не позволит второму контроллеру его переключить никак (если 1 зависнет надолго - обмотка-то залипла).
И такие вот приколы по всему изделию.