Тут-то автоматизаторы и приуныли. Действительно, если их схема и была рабочей при трех параметрах, то чтобы ее сделать рабочей при четырех, потребовалось бы добавлять на перфоленту еще группу линий для этих цифр, а для пяти, шести… Нет, мы могли бы делать перфоленты какой угодно ширины, но я был рад хоть тому, что они понимали ограниченность их решения. Так что, подождав ради приличия полдня — больше не выдержал, я взял быка за рога.
— Значит, так. Вводим команды. Две цифры следуют друг за другом — первая — номер устройства, вторая — значение для него. Блок управления отрабатывает их последовательно — так и будет нам счастье.
— Хм… пожалуй… а как выждать время?
— Ну, значит добавляем еще третье значение — время.
В итоге почти так и получилось — управляющий агрегат протягивал перфоленту, первая позиция означала номер устройства, вторая — значение, которое ему надо было достичь, третья — время, которое надо было ждать, чтобы достичь этого значения — то есть время, например, выдержки при данной температуре. Не совсем "команды", но я в мыслях уже летел вперед. Естественно, сразу же, как только народ ухватил суть разделения разнотипных данных по разным позициям, он стал оптимизировать систему. Немного подумав, мы отказались от кодирования номера устройства, и стали выделять под каждое устройство по одной из дорожек — есть отверстие на дорожке "пять" — включается пятое устройство. Для начала хватило и десяти дорожек. Зато это позволило отказаться от дешифраторов — цифровых микросхем у нас было еще немного, и мы старались сэкономить на чем только возможно.
Но и потом пошли всяческие уточнения. Например, некоторые устройства могли работать, не дожидаясь окончания работы предыдущих устройств — скажем, откачка воздуха и предварительный прогрев подложки могли идти параллельно. А вот нагрев исходного материала мог начинаться только после откачки воздуха. Хотя, подумав, мы пришли к мнению, что он мог начинаться и до полной откачки — надо только не доводить температуру до высоких значений, чтобы материал не стал окисляться или испаряться. Так что система управления была перестроена — в регистр устройства подавалось значение, которое оно должно было достичь после включения, а в регистр ожидания — позиция устройства, которого ему надо было дождаться.
Тоже оказалось плохо — таких устройств могло быть много — для того же испарения требовалось и прогреть подложку, и откачать воздух — то есть испаритель должен был ожидать окончания работы двух устройств. А схема регистра была рассчитана только на одно устройство. Тут вылез положительный побочный эффект отказа от кодирования номера устройства — мы просто ввели маску устройств, которых надо было дождаться — она так же записывалась в регистр, но схема сравнения с сигналами на шине готовности теперь просто сравнивала сигналы один-к-одному, без шифраторов — еще и тут сэкономили на логических элементах. А на перфоленте появилась еще одна позиция — маска ожидания.
И вот теперь все становилось на свои места. Первой группой цифр на перфоленте шли команды для насоса высокого давления, который откачивал основной объем воздуха — создавал форвакуум. Точнее, шли не команды, а параметры работы — номер-позиция устройства, нужное давление, значение таймера ожидания — сколько вообще нужно ждать (выставили чуть больше среднего времени, которое обычно затрачивалось на предварительную откачку), маска ожидания других устройств (так как форвакуум начинал работу первым, ждать ему никого было не надо, поэтому маска была не заполнена, хотя потом добавили ожидание защелки, а то как-то раз просто забыли закрыть дверцу и насос начал шустро прогонять воздух помещения через вакуумную камеру).
Соответственно, схема управления сначала считывала позицию "номер устройства" и открывала входные цепи регистров соответствующего устройства, и значения из трех последующих позиций попадали с шины считывания в его регистры — переключением между регистрами также занимался счетчик позиций управляющей схемы.
То есть регистр формакуумного насоса получал величину давления, которое надо достичь, таймаут и маску ожидания, и начинал работать, как только сигналы на шине готовности устройств совпадали с маской ожидания — его же манометр измерял давление, а аналоговый компаратор на операционнике постоянно сравнивал значение манометра и значение регистра, преобразованное ЦАП. Как только эти величины становились равны — он выдавал в шину готовности устройств сигнал "закончил".