Внимание! Это временный неофициальный архив старой версии форума Полигон Призраков, созданный сочувствующим форуму участником. Этот сайт просуществует лишь до тех пор, пока администрация Полигона не сдержит своё обещание и не откроет официальный архив по адресу old.sannata.org.

Полигон-2

Форум о старых компьютерах

Объявление форума

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

Полигон-2 »   Технический флейм »   Перфоратор ленточный ПЛ-80
RSS

Перфоратор ленточный ПЛ-80

<<Назад  Вперед>> Страницы: 1 * 2 3 4 5
Печать
 
cactus
Advanced Member


Откуда: Темрюк
Всего сообщений: 726
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
18 сен. 2006
А как им сверлить?
Дениска
Advanced Member


Откуда: Хабаровск
Всего сообщений: 1561
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
6 авг. 2009
Подобные конструкции нужны , так как позволяют задействовать старую периферию , на современных интерфейсах , благодаря этому у перфоленты появляется вторая жизнь.
1Ж24Б
Advanced Member


Откуда: Kaluga
Всего сообщений: 349
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
7 нояб. 2014
xoiss написал:
[q]
а удалось ли побороть проблему пересыхающей бумаги (ну, она со временем "хрупкая" становится, легко рвётся, если ей больше ндцати лет)
[/q]
Рулоны, что достались, из одной упаковки и нормальные. Старые перфоленты 80-х тоже не "рассыпаются". Если хочется вечной ленты, у меня есть рулон пластиковой ленты, с металлизацией на обратной стороне.

cactus написал:
[q]
А как им сверлить?
[/q]
:( Подать 220 В, предварительно подключив СОМ порт компьютера. Дальше в программе выбираешь файл и жмёшь "Старт". После окончания файла перфоратор отключится.

Anonymous написал:
[q]
Вот тут вспоминал тему
[/q]
Можно считать, в PIC16F876A есть ВВ51 и ВВ55. Идея не изменилась. А для проверки работы пуансонов с электромагнитами добавил тестовую программу - надпись+"шахматное поле".

Дениска, мне нравятся перфоленточные станции от буржуев, у которых есть RS-232, но живьём я их никогда не видел. Зато советские перфораторы вполне доступны.

Возник такой вопрос. Буфер в МК задан 64 байта, скорость обмена 9600 бод, аппаратное управление потоком. В программе на ПК задаю интервал между отправляемыми байтами 1 мс - лента пробивается с ошибками (обнаруживаются в последних байтах из буфера). Цикл МК примерно 0,65 мкс, т.е. он гораздо шустрее порта. В чём тогда дело и что я не понимаю ? Если увеличить интервал до 25 мс, лента пробивается правильно. Как-то неожиданно...
xoiss
Advanced Member


Всего сообщений: 711
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 окт. 2013
1Ж24Б написал:
[q]
В чём тогда дело и что я не понимаю ? Если увеличить интервал до 25 мс, лента пробивается правильно.
[/q]
... из чего можно сделать вывод, что перфоратор работает на скорости около 30 строк в секунду ... 80 строк в секунду не пробовали колотить?

по Вашему вопросу:
1. попробуйте посмотреть, что по факту передаётся в канале от ПиСишки на контроллер. Для этого можно использовать любую программу чтения из COM-порта (например, RealTerm). Возможно, что последние байты на самом деле передаются криво или не передаются вообще
2. попробуйте использовать другую программу для передачи бинарного файла. В общем, сгодится любой текстовый терминал
3. если в линии всё верно, и проблема заменой терминальной программы не лечится, то попробуйте проверить, будут ли ошибки передачи, если передавать короткие файлы (меньше, чем порог заполнения буфера). Если проблема в управлении потоком, то на коротких файлах ошибок быть не должно; и наоборот

// при условии, что в контроллере реализован буфер, вставлять паузу между байтами нет никакой необходимости

при каком %% заполнения буфера контроллер снимает/восстанавливает сигнал готовности?
MM
Advanced Member


Откуда: Павловский Посад Мск.обл.
Всего сообщений: 3418
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
2 авг. 2013
1Ж24Б написал:
[q]
Возник такой вопрос...
[/q]
Т.к. в Виндовс НТ нет такого понятия, как "реальное время", дело скорее всего в особенности драйвера ТЛГ со стороны Виндовс.
Для подтверждения этого постарайтесть осуществить прямое программирование порта ТЛГ из-под Чисто-ДОС ( 7.1 в помощь ).
Если нет ТО ТЛГ-порта, могу поискать нечто из старинных ТО ИС мультикарты - лично проверял, работает ( при программировании из-под Чисто-ДОСа )..

ИМХО - можно было вообще ограничиться Чисто-ДОС и ЛПТ-портом, без каких-либо вычислительных средств в перфораторе.
1Ж24Б
Advanced Member


Откуда: Kaluga
Всего сообщений: 349
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
7 нояб. 2014
xoiss, делая первые шаги, сделал работу перфоратора циклической. Не так изящно, но был нужен результат.
1) после получения RTS МК ждёт данные, разрешая передачу сигналом CTS;
2) в буфер запоминается 64 байта (обрабатываю флаг приёма в USART), CTS устанавливается после каждого байта. Может ещё это мешает ? По времени МК на один байт тратит менее 10 мкс. Я пробовал модифицировать программу, чтобы просто выводить вместо перфоратора информацию на пару семисегментных индикаторов. Работало до последнего байта;
3) МК обрабатывает 64 байта, отслеживая сигналы синхронизации перфоратора и передавая байт, согласно документации на ПЛ-80;
Если просто записать в МК вывод байтов (реализовано в тестовом режиме) на перфорацию, всё нормально;
4) МК проверяет RTS, и если не сброшен, разрешает передачу и далее к пункту №2. Если RTS уже сброшен, останавливает электродвигатель и ждёт сигнала RTS.
Перфоратор здесь самый медленный аппарат, примерно 0.8 с на вывод 64 байт, и в момент перфорации передача на СОМ порту остановлена. До этого проекта не занимался портами, теперь недоумеваю. Что я забыл прочесть ?

ММ
[q]
ИМХО - можно было вообще ограничиться Чисто-ДОС и ЛПТ-портом, без каких-либо вычислительных средств в перфораторе.
[/q]
В дебрях Интернета лежит архив с программой на Паскале и электрическая схема сопряжения ПЛ-80/ПЛ-150М с LPT. Отзывов, повторивших такой вариант, не нашёл. Решил сделать что-то, годящееся под обычный ПК с 2000/XP. У меня "железный" СОМ порт используется с программатором МК.
MM
Advanced Member


Откуда: Павловский Посад Мск.обл.
Всего сообщений: 3418
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
2 авг. 2013
1Ж24Б написал:
[q]
Что я забыл прочесть ?
[/q]
ФИФО ???


1Ж24Б написал:
[q]
В дебрях Интернета лежит архив с программой на Паскале..
[/q]
Паскаль - это для "изыскивающих обходные пути".
Традиция в СССР - Бейсик. Т.е. Кубасик из комплекта поставки ДОС. В комплект поставки входит инструкция с примерами, на Аглицкомъ языке ( ДОС 6.22 ).
Он ( программа на Кубасике ) неплохо преобразуется в загрузочные модули типа .EXE ( гуглится ).
Главный недостаток - быстродействие Кубасика во всех штатных редациях ограничено ~ 2 млн. команд типа "пересылка в порт".
Предполагаю, это может быть связано с тем, что порты сидят на шине ISA ( не волнуйтесь, она внутренняя и не выведена в слоты, и к тому же без ПДП ). По крайней мере на Сокет 1155.
CodeMaster
Advanced Member
Рыцарь ордена Хламовников

Откуда: Воронеж
Всего сообщений: 1655
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
27 авг. 2010
1Ж24Б написал:
[q]
П.С.: можно и считыватель FS1501 подключить к COM, ... Нужно ли такое вообще ?
[/q]
Да, это было бы интересно.
1Ж24Б
Advanced Member


Откуда: Kaluga
Всего сообщений: 349
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
7 нояб. 2014
Сегодня сравнил набитый тест ЭПМ с эталоном - сходится. Заодно припомнил, почему не хотел на скорости 80 знаков перфорировать. Пружины, подтягивающие якоря электромагнитов, за тридцать лет ослабли и при длительной работе на полной скорости могут появиться ошибки, лишние "1", т.е. отверстия. Замены из ЗиПа для ПЛ-80 нет и не будет.

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

CodeMaster, может осенью соберу на макетной плате. FS1501 может работать в режиме "старт-стоп", что и реализовано на плате В1. Поставить МК и заставить отсылать всё, что прочиталось на перфоленте, на ПК.

П.С.: http://www.elsikor.ru/free.html здесь можно скачать и посмотреть программу и схему для подключения перфоратора к LPT.
xoiss
Advanced Member


Всего сообщений: 711
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 окт. 2013
(1)
Рекомендую снимать CTS не в момент, когда буфер полностью заполнится, а когда степень его заполнения подойдёт, например, к 70% (т.е. 40 байт, например). Суть в том, что ПиСишка не обязательно отреагирует на снятый CTS мгновенно, даже если управление потоком там выполнено аппаратно (если программно - то тем более). Но даже если она отреагирует и мгновенно, то всё равно в регистре сдвига COM-порта к этому моменту, с некоторой вероятностью, уже может быть новый, 65-ый, байт на передачу, который будет выброшен в линию (даже при снятом сигнале CTS). Если между байтами вставлять задержку (Вы упоминали про 32 мс), то как бы Вы просто снижаете вероятность такой коллизии... Если я вообще правильно понимаю, что и как у Вас там устроено... В общем, лучше снимать CTS заранее.
[upd] ... или Вы в программе на Писишке передаёте файл чанками строго не более, чем по 64 байта??

Устанавливать CTS можно, когда (1) закончили передачу на перфоратор принятых байт, и (2) выждали интервал ещё одной строки на перфораторе, и (3) после этого ещё выждали небольшую паузу на дозарядку конденсаторов в фильтре блока питания. Думаю, 50-100 мс вполне хватит.
// снимать-устанавливать CTS после каждого байта, наверное, смысла не имеет


(2)
Тот факт, что перфорация идёт в период времени, когда данные по COM-порту не передаются (и наоборот) — это хорошо, т.к. от работы перфоратора может идти помеха на линии RS-232. Но, важно понимать, что даже когда контроллер снял сигнал CTS и ПиСишка перестала передавать контроллеру данные, из-за наводок в интерфейсе RS-232 порт контроллера может "принимать" лишние байты (т.е. как бы снятый CTS он ещё не запрещает порту контроллера что-либо принимать, порт в этом плане живёт независимо). Если это никак не контролируется в Вашей программе, то как бы вот — это может сносить ей голову, затирать буфер и пр.

Поэтому желательно не просто снимать CTS, но ещё и:
1) после снятия CTS дизаблить UART на контроллере — и только после этого начинать перфорировать
2) разрешать UART на контроллере после того, как перфорация завершена и выждали все паузы — и после этого только устанавливать CTS

Если есть возможность/желание, то вместо RS-232 лучше использовать "токовую петлю". В общем, это тот же RS-232, но только не "потенциальный", а "токовый". Он намного более устойчив против помех.
Оптическая развязка тоже не помешает.


(3)


1Ж24Б написал:
[q]
Если просто записать в МК вывод байтов (реализовано в тестовом режиме) на перфорацию, всё нормально;
[/q]
1Ж24Б написал:
[q]
Я пробовал модифицировать программу, чтобы просто выводить вместо перфоратора информацию на пару семисегментных индикаторов. Работало до последнего байта;
[/q]
Я правильно понимаю, что проблема возникает ТОЛЬКО тогда, когда
(1) байты в контроллер поступают из COM-порта — AND — (2) байты физически выводятся на перфоратор
Так?

1. Повторю вот этот пункт — его очжелательно сделать:
-- попробуйте посмотреть, что по факту передаётся в канале от ПиСишки на контроллер. Для этого можно использовать любую программу чтения из COM-порта (например, RealTerm). Возможно, что последние байты на самом деле передаются криво или не передаются вообще [udp] или же передаётся больше, чем 64 байта...

2. Предлагаю попробовать ещё вот что:
-- берём Вашу прошивку как есть — т.е. в варианте, когда байты принимаются по COM-порту и отправляются на перфоратор, и когда между байтами вставляется задержка 1 мс
-- но добавляем в неё небольшую процедурку, которая ПЕРЕД тем, как начать тарахтеть перфоратором, скидывает весь массив обратно в COM-порт (разумеется, ПиСишка должна принять эти байты — а у Вас будет возможность сравнить их с тем, что должно было быть передано, и что будет отперфорировано)

Почему я предлагаю именно эти два шага? --- очень просто, сперва необходимо локализовать место возникновения проблемы. Надо понять, виновата ли ПиСишка, которая передаёт "не то"... виноват ли интерфейс между ПиСишкой и контроллером, или же неправильно устроена синхронизация контроллера с перфоратором... или, может, перфоратор наводит помеху на интерфейс RS-232.......



[upd] Как совсем альтернативный вариант, можно ещё xmodem протокол реализовать. Протокол простейший. Имеет встроенный механизм нарезки файла на пакеты фиксированной длины, механизмы проверки контрольной суммы, акноледжмента не-/получения пакета, повторной передачи битого пакета. Когда-то давно использовался для передачи файлов (точнее, бинарных массивов) по модемным линиям. Аппаратное управление потоком не требуется, т.к. протокол на стороне отправителя всегда ожидает акноледжмент от получателя после передачи каждого пакета. На ПиСишке он поддерживается программой HyperTerminal (только там, вроде, размер пакета больше, чем 64 байта... не помню уже).
https://en.wikipedia.org/wiki/XMODEM
<<Назад  Вперед>> Страницы: 1 * 2 3 4 5
Печать
Полигон-2 »   Технический флейм »   Перфоратор ленточный ПЛ-80
RSS

1 посетитель просмотрел эту тему за последние 15 минут
В том числе: 1 гость, 0 скрытых пользователей

Последние RSS
[Москва] LIQUID-Акция. Сливаются разъемы CF
МС7004 и 7004А на AT и XT
Пайка термотрубок
Проммать s478 PEAK 715VL2-HT ( Full-Size SBC)
Подскажите по 386 материке по джамперам.

Самые активные 5 тем RSS