Железные призраки прошлого

Компьютерная история

СтатьиСтатьиСтатьи
Cтарое железо и софт

МузейМузейМузей
Старые компьютеры

МузейБаза данныхМузей
Старые компьютеры

ФорумФорумФорум
Полигон призраков

ОбщалкаКонкурсыКонкурсы
Статьи и фото



Искать на сайте:
Графопостроитель Robotron REISS K6418 (CM6415)



Федор Кухта

Я еще застал те времена, когда графопостроители были только планшетными и плоттерами (по крайней мере, в ex-USSR) их не называли. У отца на работе стоял огромный планшетник формата A0, подключенный к "моей" машине – дряхленькой 286-й, на которой мне было позволено работать. Иногда приходили несколько человек из отдела АСУП с рулонами кальки, сгоняли меня с машины и включали этого монстра. Колдовали с кнопками на панели и... он начинал рисовать! Завораживающее зрелище! Разумеется, я мечтал о таком аппарате и вопрос "Зачем?" даже не рассматривался :)


Мечта сбылась спустя 15 лет благодаря форумчанину Arthur77.


Robotron REISS K6418 (CM6415)


Графопостроитель Robotron REISS К6418 (в Советский Союз поставлялся под названием СМ6415).


Техничекие характеристики:

- формат бумаги – A3, 420х297 мм

- область рисования – 370х270 мм

- крепление бумаги – электростатическое

- разрешающая способность – 0,1 мм

- рисующий элемент – фломастер

- командный язык – HP-GL

- интерфейсы – v.24 (RS-232) и IFSS (токовая петля)


Первое включение не особо порадовало — дергался и скрежетал. Поэтому перед всеми дальнейшими действиями был разобран, вычищен внутри и отмыт снаружи. К сожалению, я не фотографировал, когда копался во внутренностях. Отмечу только, что каретка перемещается двумя шаговыми двигателями через систему шкивов, поднятие/опускание пера — электромагнитное, а управляет всем этим клон Z80.
В процессе осмотра было обнаружена причина скрежета — под направляющей поперечного перемещения отклеился металлический держатель шлейфов, идущих на электромагнит поднятия/опускания пера и концевики, провис и заклинивал головку. Также была обнаружена скрытая кнопка, находящаяся под декоративной панелью с названием:


Панель и скрытая кнопка


На самой панели расположены: кнопка сброса "Reset", кнопка фиксации бумаги "Paper", выполняющая также функцию перевода устройства в режим On-Line, кнопки поднятия и опускания пера (можно опустить перо и рисовать курсорными клавишами в режиме Off-Line или принудительно поднять перо в процессе вывода документа — головка будет перемещаться, но не рисовать). Назначение трех следующих кнопок ("P1", "P2" и "Window") мне установить не удалось. Кнопка "View" в режиме On-Line перемещает головку в правый верхний угол, позволяя увидеть документ целиком, повторное нажатие возвращает головку в исходное положение. Светодиод "Ready" горит в режиме On-Line и мигает при нажатии кнопки "View". Светодиод "Error" горит при попытке увести головку за пределы допустимой зоны рисования и мигает, когда графопостроитель находится в тестовом режиме. Курсорными кнопками головка перемещается по полю.


Самотест включается путем нажатия скрытой кнопки. Светодиод "Error" начнет мигать. Теперь нажатие кнопки "P1" приведет к рисованию серии вписаных треугольников, "Window" – круга, а курсорные кнопки "Вверх", "Влево" и "Вправо" выводят шрифтовые наборы трех разных размеров.


Результат самотестирования графопостроителя


Когда графопостроитель стал нормально отрисовывать все тесты, встал вопрос подключения его к компьютеру. На задней панели обнаружились следующие разъемы:


Разъемы


Поскольку v.24 — это RS-232, то именно его я и использовал (на фото как раз виден самодельный кабель). Схема подключения следующая:


Разъем EFS26 Разъем DB9
A1 5
B2 5
A3 2
B4 3
A5 8
B6 7
A7 4
B8 1,6
A9 4


После этого была скачана программа WinLINE, с помощью которой графопостроитель был установлен в системе как "Generic HP-GL LLeft", т.е. с базовой поддержкой HP-GL и с нулевыми координатами в левом нижнем углу. Казалось бы – все условия соблюдены, но при выводе первой же тестовой страницы меня подстерегала проблема номер один — рисовать он отказывался, стоял на одном месте и только с разной частотой поднимал и опускал перо. Перебор настроек драйвера ни к чему не привел, поэтому было принято решение разбираться с языком HP-GL и попытаться поуправлять устройством вручную через терминальную программу. Скачал краткий справочник по командам, запустил HyperTerminal... В процессе недолгих экспериментов было выяснено, что совместимость с языком HP-GL у данного графопостроителя очень своеобразная — команды PU и PD (поднятие и опускание пера) для него являются безусловными. Получив их, игнорирует все до разделителя ";". А в файлах, сформированных WinLINE, команды PU и PD дополнены координатами, к которым нужно перейти с поднятым или опущенным пером. Запускаем автозамену "PU200,300;" на "PU;PA200,300;", копируем исправленный файл в порт и... имеем проблему номер два — кусочки текста, характерные для стандартной пробной страницы печати Windows есть, но куда девалось остальное и откуда взялось огромное количество хаотичных росчерков? Первая мысль — завышена скорость порта, но оказалось, что 9600,8-N-1 — единственный режим, в котором графопостроитель желает работать. Тогда оставалось или повреждение внутреннего буфера или его переполнение. Для проверки нужна была программа, которая посылала бы команды в порт с определенной частотой. И мой коллега, преподаватель программирования Максим Крюк, эту программу написал, за что я ему безмерно благодарен.


Окно программы


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

Первая же попытка оказалась успешной — на скорости 50 команд в секунду были замечены проблемные росчерки, но при снижении скорости до 25 команд в секунду пробная страница печати была медленно, но успешно нарисована. Казалось бы, решение проблемы найдено. Не тут-то было — реальный чертеж вновь перечеркнут крест-накрест из-за потерь команд :(. Пришлось снизить скорость до 10, а потом и вовсе до 5 команд в секунду. И вот что получилось:


Результат работы графопостроителя


Причина оказалась довольно прозаичной — перемещения на любые расстояния кодируются одинаковыми командами, но в случае небольших расстояний команда физически выполняется быстрее, а при больших расстояниях - медленнее. И если команды поступают вперемешку и с одинаковой скоростью, то графопостроитель не успевает некоторые из них отрабатывать. Значит, устройство просто обязано контролировать поток команд. А сделать это можно: а) особым образом подтверждая выполнение любой команды (необходима поддержка со стороны программного обеспечения); б) осуществляя Flow Control, аппаратный (RTS/CTS) или программный (XON/XOFF). К сожалению, пока не удалось подтвердить ни первый, ни второй вариант — в терминальной программе графопостроитель не выдает отклики на команды, только на нажатие кнопок "Reset" и "Paper", а состояние линий RTS и CTS в процессе вывода не меняется. Для окончательного выяснения необходимо реанимировать компьютер Robotron 1715, чтобы подключить графопостроитель к нему и поэкспериментировать с оригинальным программным обеспечением. Ну а пока что придется довольствоваться имеющимся результатом — устройство довольно стабильно работает и неплохо рисует.


Обновление от 10.01.2008


Назначение кнопок "P1", "P2" и "Window" оказалось довольно прозаичным - ограничивать область рисования и отмечать её. Например, если после включения просто нажать "Window", то плоттер очертит на бумаге прямоугольник-рамку с максимальными (по умолчанию) координатами 0,0 - 3700,2700. Но можно эту область уменьшить. Для этого нужно клавишами переместить перо в левый нижний угол выбранной области и нажать "P1", после чего переместить перо в правый верхний угол выбранной области и нажать "P2". При этом происходит смещение координатной сетки - в качестве координаты 0,0 принимается точка, отмеченная "P1". После этого допустимой для рисования будет только выбранная область, попытки увести перо в режиме рисования за её пределы будут приводить к загоранию светодиода "Error". При необходимости, нажатием "Window" выбранную область можно очертить.


Проблема контроля передачи тоже разрешилась довольно просто - изменением распайки кабеля. Причем приведенная в статье распайка тоже правильная, но она работоспособна только при поддержке программным обеспечением ПК протокола XON/XOFF. Вероятно, что мой экземпляр был рассчитан именно на такой вариант работы - контакт DTR внутри был отсоединен от интерфейсного гнезда и заизолирован кембриком. После нескольких минут работы паяльником стала актуальной новая распайка:


Разъем EFS26 Разъем DB9
A1 5
B2 корпус разъема или 5
A3 2
B4 3
B8 1,6
  7 соединить с 8


После такой модификации для вывода файла на устройство будет достаточно команды COPY filename.ext COM1: - поток данных будет контролироваться аппаратно и рисование будет максимально быстрым и без ошибок.


Огромная благодарность Валерию Чебакову и FANTOM'у за полную документацию по устройству, а форумчанину jurey - за то что наставил на путь истинный в борьбе с портом.


Документация к Robotron REISS K6418 (CM6415) в формате DJVU (546 675 bytes): скачать.


Обсуждение восстановления графопостроителя велось в этой ветке форума.




Обсудить статью в специально созданной ветке форума.

© Текст, фотографии - Федор Кухта

© Железные призраки прошлого - 2007 г.

Опубликовано 3 мая 2007 г. Последнее обновление 20 января 2008 г.


Дополнения или поправки на phantom@sannata.ru

 

Обсудить статью в форуме     Оставить запись в гостевой книге.

Написать письмо авторам.



Вернуться в раздел

База данных по старым компьютерам | Музей старых компьютеров | Конкурсные статьи и фото | Ссылки



Авторские права и условия копирования материалов