8ми (7ми) вариантная... Да, звучит
Вид для печати
Кроме присвоения переменным значений 1,2,3 ничего не увидел 4х значного.
Потом тут же ЕСЛИ == 3 то буль.
Где тут 4х логика? В больном воображении ТС ?
Кстати! 8 БИТ, ПЕРФОЛЕНТА (я ща про Чернобыльскую систему СКАЛА пересматриваю, и ещё от Артёма Кашканова)
256 ВОЗМОЖНЫХ СОСТОЯНИЙ!! О_о ОТ НАС СКРЫВАЛИ ЭТО МНОГО ЛЕТ!!!
Так и просится вопрос: вы эту дичь откуда взяли? У Рыбникова сисовали?Цитата:
Первая объёмная геометрическая фигура - это тетраэдр, количество вершин - 4
Объединение двух тетраэдров даёт куб - это 8 вершин
Объединение двух кубов даёт гиперкуб - это 16 вершин
Это я у китайцев подглядел в И-ЦЗИН
Сначала идут два значения
затем идут Биграммы - тетраэдр
затем Триграммы - куб
затем гексаграммы - гиперкуб
Прошу обратить внимание, всё основано на двоичной логике.
https://t4.ftcdn.net/jpg/03/59/70/97...Oycn8jp2s3.jpg
Объединение 2х тетраэдров дает куб... Это в скольки значной системе?
Куб это тетраэдр и 4 пирамиды (PS 4 маленьких тетраэдра)... Но никак не 2 тетраэдра.
Как продвигается решение логического сложения (или умножения) трех четырехвариантных концевых?
PS Немного тупанул, но все равно. Пирамиды забываем.
А вот с логикой то как раз и нужно разбираться, можно сказать самое время. Дело в том, что многие логические конструкции, которых нет в математической логике у нас заложены в языке и мы их без проблем понимаем. Сейчас начал развиваться искусственный интеллект и требуется математическую логику привести к логике разговорного языка.
Ещё Льюис Керолл поставил этот вопрос
https://royallib.com/book/kerroll_ly...kaya_igra.html
нечего там разбираться, человечество пришло к единому мнению, что инь-ян (0-1) всему голова и на этом строится все.
Одна из проблем - типизирование. Компьютеры не умеют мыслить по разному в зависимости от времени или других условий и т.д. а человек может.
Это в строку можно записать хоть черта лысого, но если вы выбрали бит, то кроме 1-0 (true, false) вы уже ничего не запишите. А мыслить словами компьютер не научится никогда, он может только подбирать варианты
Ну для 2хвариантных (обычных) датчиков их общее состояние я бы нашел так:
Общий запрет открытия задвижки:= Концевой датчик открытия в сработке or Аварийный концевой датчик открытия в сработке or Датчик момента открытия в сработке
Общий запрет закрытия задвижки:= Концевой датчик закрытия в сработке or Аварийный концевой датчик закрытия в сработке or Датчик момента закрытия в сработке
Для 4хвариантных (namur) датчиков их общее состояние я бы хотел определить аналогично:
Общий запрет открытия задвижки (4х):= Концевой датчик открытия в сработке (4х) or4 Аварийный концевой датчик открытия в сработке (4х) or4 Датчик момента открытия в сработке (4х)
Общий запрет закрытия задвижки (4х):= Концевой датчик закрытия в сработке (4х) or4 Аварийный концевой датчик закрытия в сработке (4х) or4 Датчик момента закрытия в сработке (4х)
Вместо параметров типа: Концевой датчик закрытия/открытия в сработке (4х), Аварийный концевой датчик закрытия/открытия в сработке (4х), Датчик момента закрытия/открытия в сработке (4х), я хочу применять не 0 и 1, а 4хвариантное значение с этих датчиков, а именно: 0 - датчик не в сработке, 1 - датчик в сработке, 2 - кз линии датчика, 3 - обрыв линии датчика.
Хочу в итоге получить такое же значение сигнала Общий запрет закрытия/открытия задвижки (4х), согласен на следующий приоритет выдачи этого сигнала: 3 - наивысший, 0 - низший. Т.е. если хотя бы на одном из датчиков состояние наивысшего приоритета, то общий сигнал должен соответствовать ему (это как раз для вас упрощает задачу, а то начнете, что нельзя так делать с разными состояниями).
Вперед и с песней.
инь-ян (0-1) - это основа, дальше создаётся структура. Без геометрии здесь трудно разобраться.
Я же показал
1-й уровень 1-0 (true, false)
2-й уровень 00 01 10 11 (none, X+, X-, both) - здесь смыл логических значений меняется, он переходит на другой уровень
Можно почитать Книгу перемен
https://royallib.com/book/shchutskiy...n_i_tszin.html
Я вот от Вас не могу названия всего этого добра добиться(пока намёками), в смысле, в двоичной логике единица хранения информации - бит, в троичной - трит(насколько понимаю), короче, а в четверичной логике как называется единица хранения информации? Без этого, самого элементарного, кто бы чего не писал, каждый может понимать по-своему, то есть неибежны проблемы взаимного непонимания!
Это же очень важно, понимать друг друга, а Вы почему то это упускаете, вызывая неизбежное взаимонепонимание, короче, может, для начала, разобраться с самым элементарным, придумать им названия, я так понимаю, до Вас этим никто не заморачивался, Вы первооткрыватель, тогда тем более надо быть последовательным и логичным, хотя бы для того чтобы Вас поняли, Вы согласны?
Я вот скольки значную логику использую):Код://Визуализация состояния механизмов
FOR Ind_03:= 1 TO 4 DO
IF NOT MEC[Ind_03].STA_REA AND NOT MEC[Ind_03].STA_ALA THEN Ind_00X[Ind_03]:= 1; Ind_00Y[Ind_03]:= FALSE; //"НЕ В ГОТОВНОСТИ"/""
ELSIF MEC[Ind_03].STA_REA AND NOT MEC[Ind_03].STA_ALA AND NOT MEC[Ind_03].COM_OF AND NOT MEC[Ind_03].INP_OF
AND NOT MEC[Ind_03].COM_CR AND NOT MEC[Ind_03].INP_CR THEN Ind_00X[Ind_03]:= 2; Ind_00Y[Ind_03]:= FALSE; //"В ГОТОВНОСТИ"/"ОСТАНОВЛЕН"
ELSIF MEC[Ind_03].STA_REA AND NOT MEC[Ind_03].STA_ALA AND MEC[Ind_03].COM_OF AND MEC[Ind_03].OUT_ALA THEN Ind_00X[Ind_03]:= 3; Ind_00Y[Ind_03]:= FALSE; //"ПРЕДПУСКОВАЯ СИГН-Я"/"ВПЕРЕД"
ELSIF MEC[Ind_03].STA_REA AND NOT MEC[Ind_03].STA_ALA AND MEC[Ind_03].COM_CR AND MEC[Ind_03].OUT_ALA THEN Ind_00X[Ind_03]:= 4; Ind_00Y[Ind_03]:= FALSE; //"ПРЕДПУСКОВАЯ СИГН-Я"/"НАЗАД"
ELSIF MEC[Ind_03].STA_REA AND NOT MEC[Ind_03].STA_ALA AND MEC[Ind_03].COM_OF AND NOT MEC[Ind_03].INP_OF AND MEC[Ind_03].PAR_OF THEN Ind_00X[Ind_03]:= 5; Ind_00Y[Ind_03]:= FALSE; //"ЗАПУСКАЕТСЯ"/"ВПЕРЕД"
ELSIF MEC[Ind_03].STA_REA AND NOT MEC[Ind_03].STA_ALA AND MEC[Ind_03].COM_CR AND NOT MEC[Ind_03].INP_CR AND MEC[Ind_03].PAR_CR THEN Ind_00X[Ind_03]:= 6; Ind_00Y[Ind_03]:= FALSE; //"ЗАПУСКАЕТСЯ"/"НАЗАД"
ELSIF MEC[Ind_03].STA_REA AND NOT MEC[Ind_03].STA_ALA AND MEC[Ind_03].COM_OF AND MEC[Ind_03].INP_OF AND MEC[Ind_03].PAR_OF THEN Ind_00X[Ind_03]:= 7; Ind_00Y[Ind_03]:= FALSE; //"В РАБОТЕ"/"ВПЕРЕД"
ELSIF MEC[Ind_03].STA_REA AND NOT MEC[Ind_03].STA_ALA AND MEC[Ind_03].COM_CR AND MEC[Ind_03].INP_CR AND MEC[Ind_03].PAR_CR THEN Ind_00X[Ind_03]:= 8; Ind_00Y[Ind_03]:= FALSE; //"В РАБОТЕ"/"НАЗАД"
ELSIF MEC[Ind_03].STA_REA AND NOT MEC[Ind_03].STA_ALA AND NOT MEC[Ind_03].COM_OF AND MEC[Ind_03].INP_OF AND MEC[Ind_03].PAR_OF THEN Ind_00X[Ind_03]:= 9; Ind_00Y[Ind_03]:= FALSE; //"ОСТАНАВЛИВАЕТСЯ"/"ВПЕРЕД"
ELSIF MEC[Ind_03].STA_REA AND NOT MEC[Ind_03].STA_ALA AND NOT MEC[Ind_03].COM_CR AND MEC[Ind_03].INP_CR AND MEC[Ind_03].PAR_CR THEN Ind_00X[Ind_03]:= 10; Ind_00Y[Ind_03]:= FALSE; //"ОСТАНАВЛИВАЕТСЯ"/"НАЗАД"
ELSIF NOT MEC[Ind_03].STA_REA AND MEC[Ind_03].STA_ALA AND NOT MEC[Ind_03].STA_RUN AND MEC_ALA_MEM_CON[Ind_03] THEN Ind_00X[Ind_03]:= 11; Ind_00Y[Ind_03]:= TRUE; //"АВАРИЯ"/"НЕ В ГОТОВНОСТИ" - активная
ELSIF NOT MEC[Ind_03].STA_REA AND MEC[Ind_03].STA_ALA AND MEC[Ind_03].STA_RUN AND MEC[Ind_03].INP_OF AND MEC_ALA_MEM_CON[Ind_03] THEN Ind_00X[Ind_03]:= 12; Ind_00Y[Ind_03]:= TRUE; //"АВАРИЯ"/"ВПЕРЕД" - активная
ELSIF NOT MEC[Ind_03].STA_REA AND MEC[Ind_03].STA_ALA AND MEC[Ind_03].STA_RUN AND MEC[Ind_03].INP_CR AND MEC_ALA_MEM_CON[Ind_03] THEN Ind_00X[Ind_03]:= 13; Ind_00Y[Ind_03]:= TRUE; //"АВАРИЯ"/"НАЗАД" - активная
ELSIF NOT MEC[Ind_03].STA_REA AND MEC[Ind_03].STA_ALA AND NOT MEC[Ind_03].STA_RUN AND MEC_ALA_CUR[Ind_03] THEN Ind_00X[Ind_03]:= 14; Ind_00Y[Ind_03]:= FALSE; //"АВАРИЯ"/"НЕ В ГОТОВНОСТИ"
ELSIF NOT MEC[Ind_03].STA_REA AND MEC[Ind_03].STA_ALA AND MEC[Ind_03].STA_RUN AND MEC[Ind_03].INP_OF AND MEC_ALA_CUR[Ind_03] THEN Ind_00X[Ind_03]:= 15; Ind_00Y[Ind_03]:= FALSE; //"АВАРИЯ"/"ВПЕРЕД"
ELSIF NOT MEC[Ind_03].STA_REA AND MEC[Ind_03].STA_ALA AND MEC[Ind_03].STA_RUN AND MEC[Ind_03].INP_CR AND MEC_ALA_CUR[Ind_03] THEN Ind_00X[Ind_03]:= 16; Ind_00Y[Ind_03]:= FALSE; //"АВАРИЯ"/"НАЗАД"
ELSE Ind_00X[Ind_03]:= 0; Ind_00Y[Ind_03]:= FALSE; //"НЕ ОПРЕДЕЛЕНО"/"НЕ ОПРЕДЕЛЕНО"
END_IF
END_FOR
МихаилГл Я чот подумал, глядя на это.
Я без претензий.
А не получится это всё как-то хитро формализовать? Бахнуть какой-то массив, в него подсунуть данные из этого массива и все эти AND ещё и в цикле вычислять?
Я имею ввиду что-то типа внутреннго таблично-массивного скриптового языка, чтобы там можно было описать условия красиво табличкой =)
Так и сделано, просто это на визуализацию плк выводится.
А индекс я использую уже из массива:
И далее общая программка, которая раньше была в 300 строк:Код:For_Ind_00X1: ARRAY [0..16] OF DWORD:= [ 16#FFFFFFFF, 16#FF808080, 16#FFFFFFFF, 16#FFFFFF80, 16#FFFFFF80, 16#FFFFFF80, 16#FFFFFF80, 16#FF80FF80, 16#FF80FF80, 16#FFFFFF80, 16#FFFFFF80, 16#FFFF0000, 16#FFFF0000, 16#FFFF0000, 16#FFFF8080, 16#FFFF8080, 16#FFFF8080];
For_Ind_00X2: ARRAY [0..16] OF DWORD:= [ 16#FFFFFFFF, 16#FF808080, 16#FFFFFFFF, 16#FFFFFF80, 16#FFFFFF80, 16#FFFFFF80, 16#FFFFFF80, 16#FF80FF80, 16#FF80FF80, 16#FFFFFF80, 16#FFFFFF80, 16#FFFF0000, 16#FFFF0000, 16#FFFF0000, 16#FFFF8080, 16#FFFF8080, 16#FFFF8080];
For_Ind_00X3: ARRAY [0..16] OF WSTRING:= ["НЕ ОПРЕДЕЛЕНО", "НЕ В ГОТОВНОСТИ", "В ГОТОВНОСТИ", "ПРЕДПУСКОВАЯ СИГН-Я", "ПРЕДПУСКОВАЯ СИГН-Я", "ЗАПУСКАЕТСЯ", "ЗАПУСКАЕТСЯ", "В РАБОТЕ", "В РАБОТЕ", "ОСТАНАВЛИВАЕТСЯ", "ОСТАНАВЛИВАЕТСЯ", "АВАРИЯ", "АВАРИЯ", "АВАРИЯ", "АВАРИЯ", "АВАРИЯ", "АВАРИЯ"];
For_Ind_00X4: ARRAY [0..16] OF DWORD:= [ 16#FFFFFFFF, 16#FF808080, 16#FFFFFFFF, 16#FFFFFF80, 16#FFFFFF80, 16#FFFFFF80, 16#FFFFFF80, 16#FF80FF80, 16#FF80FF80, 16#FFFFFF80, 16#FFFFFF80, 16#FFFF0000, 16#FFFF0000, 16#FFFF0000, 16#FFFF8080, 16#FFFF8080, 16#FFFF8080];
For_Ind_00X5: ARRAY [0..16] OF DWORD:= [ 16#FFFFFFFF, 16#FF808080, 16#FFFFFFFF, 16#FFFFFFFF, 16#FFFFFFFF, 16#FF80FF80, 16#FF80FF80, 16#FF80FF80, 16#FF80FF80, 16#FF80FF80, 16#FF80FF80, 16#FFFF0000, 16#FFFF0000, 16#FFFF0000, 16#FFFF8080, 16#FFFF8080, 16#FFFF8080];
For_Ind_00X6: ARRAY [0..16] OF WSTRING:= ["НЕ ОПРЕДЕЛЕНО", "", "ОСТАНОВЛЕН", "ВПЕРЕД", "НАЗАД", "ВПЕРЕД", "НАЗАД", "ВПЕРЕД", "НАЗАД", "ВПЕРЕД", "НАЗАД", "НЕ В ГОТОВНОСТИ", "ВПЕРЕД", "НАЗАД", "НЕ В ГОТОВНОСТИ", "ВПЕРЕД", "НАЗАД"];
Короче мне уже надоело оптимизировать, надо уже сдавать объект.Код:FOR Ind_01:= 1 TO Num_Of_Mec DO
//----------1ый индикатор----------
InfoX[1, Ind_01].Info_Color_A:= For_Ind_00X1[Ind_00X[Ind_01]];
InfoX[1, Ind_01].Info_Color_B:= For_Ind_00X2[Ind_00X[Ind_01]];
InfoX[1, Ind_01].Info_Text:= For_Ind_00X3[Ind_00X[Ind_01]];
InfoX[1, Ind_01].Text_Color_X:= 16#FF000000 + 16#00FFFF00 * TO_UDINT(Ind_00Y[Ind_01]) * TO_UDINT(Info_Color_X);
//----------2ой индикатор----------
InfoX[2, Ind_01].Info_Color_A:= For_Ind_00X4[Ind_00X[Ind_01]];
InfoX[2, Ind_01].Info_Color_B:= For_Ind_00X5[Ind_00X[Ind_01]];
InfoX[2, Ind_01].Info_Text:= For_Ind_00X6[Ind_00X[Ind_01]];
InfoX[2, Ind_01].Text_Color_X:= 16#FF000000 + 16#00FFFF00 * TO_UDINT(Ind_00Y[Ind_01]) * TO_UDINT(Info_Color_X);
END_FOR
PS Можно в принципе и условия состояний в массив запихнуть, и вместо 17 строк одну... Но это уже не в этом проекте
У вас интересная задача!
Давайте начнём сначала, есть объект ЗАДВИЖКА (gate), который можно представить в 4-х значной логике в виде СОСТОЯНИЙ
0 – задвижка находиться в состоянии СТОП
1 – задвижка ОТКРЫВАЕТСЯ
2 - задвижка ЗАКРЫВАЕТСЯ
3 – АВАРИЯ
IF Концевой датчик открытия в сработке OR Концевой датчик закрытия в сработке
Задвижка = СТОП
END
IF NOT (Концевой датчик открытия в сработке) AND Управление отрытие
Задвижка = ОТКРЫВАЕТСЯ
END
IF NOT (Концевой датчик Закрытия в сработке) AND Управление закрытие
Задвижка = ЗАКРЫВАЕТСЯ
END
IF Датчик момента открытия в сработке OR Авария датчика концевика
Задвижка = Авария
END
Затем Состояния можно использовать в алгоритме в виде событий gate.0 gate.1 gate.2 gate.3
Датчики на 4 положения по сути дела являются обычными дискретными датчиками с определением собственной аварии.
Неприемлемо. Согласно этого условия задвижка никуда не поедет после сработки концевого, никогда и уже ни в какую сторону. Так как всегда выдается стоп. А если это только состояние, то нафиг оно вообще, так как для системы важны 2 состояния, в каком именно крайнем она стоит.Цитата:
IF Концевой датчик открытия в сработке OR Концевой датчик закрытия в сработке
Задвижка = СТОП
END
Сергей0308, хороший вопрос... Как назвать комбинацию из двух бит 00 01 10 11, которой можно закодировать четыре состояния. Такого термина действительно нет.
Предлагаю назвать единицу хранения четверичной информации - Сет. Сет - общий термин для группы из 4-х состояний.
Я конечно понимаю, пол часа позора, и ты кандидат наук... Как у нас говорил один профессор. Но лучше вам не упоминать нигде про четырехзначную и пр. Введите свою формулировку понятий, как выше сами уже начали. А 4хзначность это не об этой теме. Вы похоже сами запутались, или ваш наставник вас запутал.
из 4-х бит называется тетрада. Ну и напишите полу-тетрада :)
Давайте введём терминологию
ОБЪЕКТ - это например ЗАДВИЖКА (GATE) у которого может быть 4-ре состояния 0 (00) - СТОП, 1 (01) - открывается, 2 (10) - закрывается, 3 (11) - в аварии
СОСТОЯНИЕ - то что протекает во времени. Единица информации Сет или два бита.
СОБЫТИЕ - это срабатывание дискретного датчика или переход из одного состояния в другое. Происходит мгновенно, во времени не протекает. Единица информации Бит.
Для любой задачи известен набор датчиков (событий), которые могут произойти.
1. Исходя из известных событий необходимо определить СОСТОЯНИЕ объекта
IF событие1 оr событие2
GATE = 0
END
IF событие1 and событие2
GATE = 1
END
IF событие2 and событие3
GATE = 2
END
IF событие4 оr событие5
GATE = 3
END
Следующий этап - это написание алгоритма перехода из одного состояния в другое. Благодаря возможностям языка ST, состояние может участвовать в логике как событие. То есть если задвижка закрывается, то состояние ЗАКРЫТИЕ может рассматриваться как событие GATE.2=true
Это простейший случая для одного ОБЪЕКТА. Таких объектов может быть несколько, например 3 задвижки и в этом случае можно в алгоритме анализировать в каком состоянии находится ОБЪЕКТЫ
IF GATE1.3=true оr GATE3.3=true
GATE3 = 3
END
Сет = ByteX and 3
IF (Сет > 0)
IF (Сет > 0 || Сет < 3)
IF (Сет == 0 )
IF (Сет == 3 )
кто-то мешает ? И наверное правильнее не Объект, а Устройство тут. Хотя мне пофигу...
Сейчас хочу показать небольшой фокус, который показывает что двоичная логика на самом деле является троичной
Если следовать И - ЦЗИН, то в начале всего лежит НЕОПРЕДЕЛЁННОСТЬ, которая разделяется на две составляющие ИНЬ и ЯН
То есть 1 и 0 обладают изначальным состоянием - философия однако.
https://i.postimg.cc/prrPJ82m/log.jpg
Дарю следующий этап - объект с событиями, состояниями, переходами и даже таймером
Вложение 83659
Почему четыре? В чем преимущество?
Есть двоичная логика, у которой только два состояния 1 - истина, 0 - ложь, единица информации 1 бит
Переходим на следующий уровень и получаем четверичную логику, у которой 4- ре возможных состояния 00 - стоп, 01 - движение "+", 10 - движение "-", 11 - Авария. Двумя битами можно закодировать 4-ре состояния
Данные логические состояния находятся в отношении противоположности 1 - истина противоположно 0 - ложь
Состояние 00 - стоп (готов к работе) противоположно состоянию 11 - Авария (не готов к работе), состояние 01 - движение "+" противоположно состоянию 10 - движение "-"
Если вам хочется много состояний, которые не находятся в соотношении противоположности логические взаимосвязи вы не получите, по этому это будут автоматы состояний.
Слышь! Следующий уровень от двоичной - это ж троичная! Ты сам же в 2021 осваивал этот УРОВЕНЬ =)
А щас вот дошёл до 4тично. Не надо! Интернеты всё помнят!
А уж И-ЦЗИН сюда приплетать!... Это вообще-то закон о пропаганде Магии. Подсудный, если на то пошло.
Тем более, что там всё похоже опять же на btree. Чуток.
В общем, лучше Артма Кашканова слушать. По его релейный компьютер на языке brainf#ck, про ламповый компьютер, про АЛУ, про пневмонику, про считывание перфолент.
Или канал Chonobyl Family про структур и схему работы системы СКАЛА (и другие старые компы), которая на АЭС с реакторами РБМК применялась. Там хоть интересно и прикольно.
Одни табло мнемосхем, изготовленные на заводе, чего стоят. Древняя SCADA...
В четверичной логике элементарный элемент хранения информации(название не важно, можно потом на досуге уточнить) имеет четыре логических состояния, поэтому двумя такими элементарными элементами можно обозначить 16 состояний, короче, у Вас что-то другое, поэтому будет ошибкой называть это ваше, не пойми что - четверичной логикой, как уже ранее писали даже не логикой, а четверичной системой счисления, здесь я с ними не могу не согласиться, короче, Пушкина любите? Он писал в сказке о царе Салтане: родила царица в ночь, не то сына, не то дочь, ни мышонка ни лягушку, а неведому зверушку, мне кажется это наиболее точно описывает сие детище!
Чтобы показать взаимоотношения в четырёхзначной логике требуется выполнить геометрические построения. Для этого обращаюсь к диаграмме И-ЦЗИН, в которой показана логическая иерархия
Данную логическую конструкцию можно представить в виде октаэдра, в центре которого пересекаются три оси
Ось 1 -> 1-0
Ось 2 -> 11-00
Ось 3 -> 01-10
https://iimg.su/s/06/hBTHgEHWS8utYny...IHSIGX612C.jpg
Кащенко по вам плачет :D
Кащенко говорите...
Если продолжить дальше рассуждения о правильности выбранного подхода, то можно обратиться к цветовой модели RGB, на основе которой работают все мониторы.
Цветовая модель представлена в виде трёх пересекающихся окружностей. Если выделить места пересечения окружностей узлами можно увидеть ОКТАЭДР. Каждый узел октаэдра содержит 4 связи и таких связей 12.
Следующий пример, это кубик Рубика, разобрав который можно без труда увидеть показанную основу ОКТАЭДРА
Вы называете себя "Электро шаманом", но при этом выступаете против МАГИИ и И-ЦЗИН, надо как то определиться )))
Кидайте ссылки, у Арётма Кашканова интересные видео!Цитата:
В общем, лучше Артма Кашканова слушать. По его релейный компьютер на языке brainf#ck, про ламповый компьютер, про АЛУ, про пневмонику, про считывание перфолент.
Или канал Chonobyl Family про структур и схему работы системы СКАЛА (и другие старые компы), которая на АЭС с реакторами РБМК применялась. Там хоть интересно и прикольно.
Одни табло мнемосхем, изготовленные на заводе, чего стоят. Древняя SCADA...