Графопостроитель Robotron REISS K6418 (CM6415) |
Федор Кухта
Я еще застал те времена, когда графопостроители были только планшетными и плоттерами (по крайней мере, в ex-USSR) их не называли. У отца на работе стоял огромный планшетник формата A0, подключенный к "моей" машине – дряхленькой 286-й, на которой мне было позволено работать. Иногда приходили несколько человек из отдела АСУП с рулонами кальки, сгоняли меня с машины и включали этого монстра. Колдовали с кнопками на панели и... он начинал рисовать! Завораживающее зрелище! Разумеется, я мечтал о таком аппарате и вопрос "Зачем?" даже не рассматривался :)
Мечта сбылась спустя 15 лет благодаря форумчанину Arthur77.
Графопостроитель 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
|
|
Обсудить статью в форуме Оставить запись в гостевой книге.
Написать письмо авторам.
|