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