Изменить стиль страницы

В библиотеке на втором этаже я взял книгу по операционной системе

Юникс, в которой мы работали. Оказывается, монитор не привязан жестко к определенному юзеру. На следующий день, когда Сергей вышел курить, я со своего монитора вошел в сеть под его юзером и изменил его пароль с 'ентер' на '12345678900987654321'. Сергей покурил, пробует войти в сеть и не может. Я не томил его, сразу рассказал.

Пользуясь тем, что администратор не рассматривает нашу группу, как серьезных пользователей Юникса, и оставил нам много возможностей, мы стали дурачиться. Посылаем друг другу сообщения файловые или на экран. Любой пользователь в состоянии защититься от таких шуток, но только знающий пользователь. А у нас большинство впервые сидят за клавиатурой. Уткнувшись в экран, они внимательно читают: 'Товарищ юзер номер 7 это не Вы потеряли на углу талон на повидло? Скорее бегите, он еще там лежит', 'Новости из гардероба. Уважаемые юзера, заявления о пропаже пальто принимаются только у членов профсоюза'.

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

Наш отдел переехал в лабораторный корпус у четвертой проходной. А мы с Шурой остались на старом месте в бытовом корпусе АСК. Шура сидит в лаборатории, а я в соседней комнате. Нас редко навещают сослуживцы или начальство, потому что идти пешком двадцать минут. А заводские автобусы ходят вглубь завода и лишь пересекают дорогу к нам. Все сотрудники отдела и всего управления утром сдают пропуска в кадры, а мы с Шурой предоставлены сами себе.

В 83 году на заводе появились автоматические турникеты. До этого времени у каждой вертушки сидела вахтерша в темно-синем костюме и берете. После появления автоматических турникетов полгода они открывались свободно на вход и выход. Потом в бюро пропусков поставили аппарат, который кодирует пропуск на выход. Теперь выход с завода без ведома бюро пропусков невозможен. Выйти можно в обед или по заявлению. У нас с Шурой, по причине удаленности пропуска на руках. По договоренности мы кодируем их у соседей в отделе АСУ, и держим в своих карманах. Однажды я проспал на работу. Проснулся в одиннадцатом часу, а начало работы в 8.20. Через час прилетел. И никто не узнал об этом.

Конструкторы нашего отдела разрабатывают электрические схемы управления механизмами, станками и автоматическими линиями не на реле или триггерах, а на промышленных контроллерах. Промышленный контроллер похож на книжную полку, в которой вместо книг стоят платы. Обязателен источник питания и процессорная плата. Конструктор рассчитывает, сколько в схеме будет датчиков и кнопок и ставит плату для входных сигналов. Тоже с выходными сигналами. Есть платы с таймерами, которые считают время и счетчиками, которые считают события. Электрические схемы конструктора рисуют по-старому – в релейном виде. Переход на контроллеры не заставил конструкторов переобучаться. К контроллеру придается комод – программатор. Он позволяет с клавиатуры ввести электрическую схему. И даже печатает ее, но слишком расточительно – одну цепь на листе. Вот бы найти участок программы, который рисует цепь. Дать ему на вход все цепочки схемы и печатать их подряд. И я стал рыть среди десяти тысяч шестнадцатеричных цифр. Жаль, у программатора нет возможности сделать аппаратный или программный останов. Все-таки нашел этот участок. Похоже, программа написана на большом языке, а не на ассемблере – единицу к аккумулятору прибавляют двухбайтной командой, а не однобайтным инкрементом.

Отдел получил программатор Сименс. Винчестер на восемь мегабайт!

Процессор 8086, он в два раза мощнее, чем 8080 (580), экран черно-белый, но уже с графикой! Пятидюймовые дискеты! Можно писать на Си! Мечта. Первым делом мы распечатали и переплели в нескольких экземплярах книгу Руфь Диксон 'Человек ли женщина' – Игорь принес на дискете.

На этом программаторе, на Си я открыл и закрыл свой первый файл.

Лабораторию нашу в бытовом корпусе забрали асушники, нас с Шурой перевели в инженерный корпус. У него своя комната и у меня своя.

Вскоре в отделе и вообще на заводе стали появляться

IBM-персоналки. Первые шли с 286-м процессором, диск сорок мегабайт, дисплей – CGA или EGA, цветной.

Мне захотелось сделать программный комплекс на базе компьютера для программирования промышленных контроллеров. На Си я работаю уже сносно. Время для проекта найду. Меня никто не дергает – до начальства десять минут ходьбы. Михалычу, начальнику ничего не сказал. Во-первых, он сможет догадаться, что у меня есть свободное время. А во-вторых, будет взвешивать, обдумывать, согласовывать, что-нибудь урежет или исказит.

И я приступил к проекту. Работаю днем и вечером. В будни ухожу со второй сменой в одиннадцать. В субботу выхожу с девяти-десяти, работаю до пяти, в воскресенье с десяти до трех часов. Питаюсь на месте: чай, бульонные кубики в желтой фольге, сосиски, которые разрезаны вдоль и уложены между кусками белого хлеба. Хочу сделать полноценный редактор для релейных электросхем. Такой, который позволит не только вводить или удалять элементы цепи: замкнутые/разомкнутые контакты, таймеры, счетчики и другое, но и работать с цепями: выделять группу цепей, перемещать, копировать или удалять их, осуществлять поиск элементов или цепей. Хочу предусмотреть возможность преобразования релейных цепей в булевы мнемокоды и обратно. Хочу предусмотреть трансляцию харьковских релейных кодов в Сименс коды и обратно. Хочу распечатывать и хранить релейные схемы. Хочу сделать общее меню с выпадающими окнами. У Си окон пока нет. В Си можно нарисовать прямоугольник, написать в нем строку или несколько и подкрасить фон у текущей.

Если все это удастся, то покупка промышленных контроллеров других фирм будет безболезненна для отдела и потребует лишь небольшого дополнительного программного модуля декодирования.

Вторая часть идеи – хочу на компьютере эмулировать программатор.

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

Работа шла хорошо. За день решаю какую-нибудь конкретную задачу.

То есть кусок уже отлажен. По мере продвижения вижу – объем работ все увеличивается. Через месяц понял, что это задача для пятерых, а не одного. Еще несколько месяцев такой режим мне не выдержать.

Десять тысяч строк написал и отладил и бросил.

В начале 90-х появился СУБД Clarion 2.0. С его помощью просто создавать меню, окна экранных форм, формы для отчета (печати).

Кнопок еще нет, мышка не поддерживается, кнопки и мышь появились в третьей версии. Это первый продукт, который познакомил меня с базами данных.

Отдел получил персоналку с 386-м процессором, диск 110 мегабайт и планшетный плоттер формата А0. Всего у нас пять компьютеров. На двух работают конструктора, чертят в Автокаде-2.1. Собственно за компьютерами работают уже четыре человека: Витя, Сергей, Игорь и я.

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

Подвернулась интересная задача на Автокаде. На Лиспе написал программу, которая создает таблицу элементов электросхемы и таблицу перекрестных ссылок. Это очень упрощает работу конструкторов.