Двухмашинный вариант, 7. Отображение перекрестков

Юрий Ушев
    Анонс:  http://proza.ru/2023/12/17/1399

    Много времени ушло на подготовку экранных форм и массивов данных по перекресткам для вывода на черно-белый экран СИД1000. Каждая экранная форма представляла собой массив символов объемом 1 килобайт^17.
   
    Нужно было сформировать экранные формы для отображения всех перекрестков АСУ «Город».
    Поскольку в распоряжении программиста имелось всего 128 килобайт памяти, и надо было ее экономить, экранных форм было разработано значительно меньше, чем на 80 перекрестков за счет их однотипности. Кроме того, схема перекрестка занимала верхнюю половину  экрана  и   занимала 0,5 килобайта. Но нужно было нарисовать 2 или 3 рисунка по одному на каждую фазу движения со стрелками направлений.

    В нижней части экрана располагался стандартный для всех экранных форм набор динамически выводимых полей; они включали в себя данные обмена с контроллером перекрестка   такие как: число остановившихся и проехавших автомобилей, суммарные и относительные задержки18, глобальная относительная задержка по сети.

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

    Все чертежи перекрестков были рассортированы по типам, затем на клавиатуре СИД1000 я «рисовал» их с вариантами фаз регулирования, вводил статические наименования полей вывода и так далее. Затем заполнял содержимое списков.
   Все массивы экранных форм, наконец, были подготовлены и выведены на перфоленту.

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

    Когда все статические данные форм перекрестков были отлажены, приступил к разработке программы вывода динамических данных из входных и выходных массивов, формируемых при обмене с Наири-2. Это уже было интереснее – можно было наблюдать реальную работу перекрестка.

    Программа отображения перекрестков была оформлена в виде задачи с периодом равном периоду обмена Наири-2 с перекрестками.

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

    Выглядело это грандиозно. И я позвал сотрудников и руководство посмотреть на первые результаты. Все работники ЦУП вдоволь наигрались, включая фазу перекрестка на диспетчерском пульте и наблюдая переключение и ответную сигнализацию на экране дисплея. Приходил смотреть Чернин и посетивший, как обычно, утром ЦУП Алексейцев. Приходил Борис, начальник отдела организации движения.

    Это был пролог к будущей системе, до запуска которой оставалось не так много времени – была известна дата приемки и внедрения двухмашинного варианта. И эта дата была не за горами. На приемке будет начальник УВД Алма-Атинского Горисполкома Николай Куликов, как его называли Николай-строитель, за то, что он построил и выделил много квартир сотрудникам МВД, а СМЭУ входило в состав МВД. Приглашен и обещал приехать начальник ГУВД СССР. 

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

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

  Продолжение:   http://proza.ru/2023/01/25/1452