Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » Технический флейм » Перфоратор ленточный ПЛ-80 |
<<Назад Вперед>> | Страницы: 1 * 2 3 4 5 | Печать |
Дениска
Advanced Member
Откуда: Хабаровск Всего сообщений: 1561 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 6 авг. 2009 |
Подобные конструкции нужны , так как позволяют задействовать старую периферию , на современных интерфейсах , благодаря этому у перфоленты появляется вторая жизнь. |
1Ж24Б
Advanced Member
Откуда: Kaluga Всего сообщений: 349 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 7 нояб. 2014 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 24 июля 2017 21:32 Сообщение отредактировано: 24 июля 2017 21:36
xoiss написал: Рулоны, что достались, из одной упаковки и нормальные. Старые перфоленты 80-х тоже не "рассыпаются". Если хочется вечной ленты, у меня есть рулон пластиковой ленты, с металлизацией на обратной стороне. а удалось ли побороть проблему пересыхающей бумаги (ну, она со временем "хрупкая" становится, легко рвётся, если ей больше ндцати лет) cactus написал: Подать 220 В, предварительно подключив СОМ порт компьютера. Дальше в программе выбираешь файл и жмёшь "Старт". После окончания файла перфоратор отключится. А как им сверлить? Anonymous написал: Можно считать, в PIC16F876A есть ВВ51 и ВВ55. Идея не изменилась. А для проверки работы пуансонов с электромагнитами добавил тестовую программу - надпись+"шахматное поле". Вот тут вспоминал тему Дениска, мне нравятся перфоленточные станции от буржуев, у которых есть RS-232, но живьём я их никогда не видел. Зато советские перфораторы вполне доступны. Возник такой вопрос. Буфер в МК задан 64 байта, скорость обмена 9600 бод, аппаратное управление потоком. В программе на ПК задаю интервал между отправляемыми байтами 1 мс - лента пробивается с ошибками (обнаруживаются в последних байтах из буфера). Цикл МК примерно 0,65 мкс, т.е. он гораздо шустрее порта. В чём тогда дело и что я не понимаю ? Если увеличить интервал до 25 мс, лента пробивается правильно. Как-то неожиданно... |
xoiss
Advanced Member
Всего сообщений: 711 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 окт. 2013 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 24 июля 2017 23:42 Сообщение отредактировано: 24 июля 2017 23:46
1Ж24Б написал: ... из чего можно сделать вывод, что перфоратор работает на скорости около 30 строк в секунду ... 80 строк в секунду не пробовали колотить? В чём тогда дело и что я не понимаю ? Если увеличить интервал до 25 мс, лента пробивается правильно. по Вашему вопросу: 1. попробуйте посмотреть, что по факту передаётся в канале от ПиСишки на контроллер. Для этого можно использовать любую программу чтения из COM-порта (например, RealTerm). Возможно, что последние байты на самом деле передаются криво или не передаются вообще 2. попробуйте использовать другую программу для передачи бинарного файла. В общем, сгодится любой текстовый терминал 3. если в линии всё верно, и проблема заменой терминальной программы не лечится, то попробуйте проверить, будут ли ошибки передачи, если передавать короткие файлы (меньше, чем порог заполнения буфера). Если проблема в управлении потоком, то на коротких файлах ошибок быть не должно; и наоборот // при условии, что в контроллере реализован буфер, вставлять паузу между байтами нет никакой необходимости при каком %% заполнения буфера контроллер снимает/восстанавливает сигнал готовности? |
MM
Advanced Member
Откуда: Павловский Посад Мск.обл. Всего сообщений: 3418 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 2 авг. 2013 |
1Ж24Б написал: Т.к. в Виндовс НТ нет такого понятия, как "реальное время", дело скорее всего в особенности драйвера ТЛГ со стороны Виндовс. Возник такой вопрос... Для подтверждения этого постарайтесть осуществить прямое программирование порта ТЛГ из-под Чисто-ДОС ( 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 байт, и в момент перфорации передача на СОМ порту остановлена. До этого проекта не занимался портами, теперь недоумеваю. Что я забыл прочесть ? ММ В дебрях Интернета лежит архив с программой на Паскале и электрическая схема сопряжения ПЛ-80/ПЛ-150М с LPT. Отзывов, повторивших такой вариант, не нашёл. Решил сделать что-то, годящееся под обычный ПК с 2000/XP. У меня "железный" СОМ порт используется с программатором МК. ИМХО - можно было вообще ограничиться Чисто-ДОС и ЛПТ-портом, без каких-либо вычислительных средств в перфораторе. |
MM
Advanced Member
Откуда: Павловский Посад Мск.обл. Всего сообщений: 3418 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 2 авг. 2013 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 25 июля 2017 0:45 Сообщение отредактировано: 25 июля 2017 0:45
1Ж24Б написал: ФИФО ??? Что я забыл прочесть ? 1Ж24Б написал: Паскаль - это для "изыскивающих обходные пути". В дебрях Интернета лежит архив с программой на Паскале.. Традиция в СССР - Бейсик. Т.е. Кубасик из комплекта поставки ДОС. В комплект поставки входит инструкция с примерами, на Аглицкомъ языке ( ДОС 6.22 ). Он ( программа на Кубасике ) неплохо преобразуется в загрузочные модули типа .EXE ( гуглится ). Главный недостаток - быстродействие Кубасика во всех штатных редациях ограничено ~ 2 млн. команд типа "пересылка в порт". Предполагаю, это может быть связано с тем, что порты сидят на шине ISA ( не волнуйтесь, она внутренняя и не выведена в слоты, и к тому же без ПДП ). По крайней мере на Сокет 1155. |
CodeMaster
Advanced Member
Рыцарь ордена Хламовников Откуда: Воронеж Всего сообщений: 1655 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 27 авг. 2010 |
1Ж24Б написал: Да, это было бы интересно. П.С.: можно и считыватель FS1501 подключить к COM, ... Нужно ли такое вообще ? |
1Ж24Б
Advanced Member
Откуда: Kaluga Всего сообщений: 349 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 7 нояб. 2014 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 25 июля 2017 12:38 Сообщение отредактировано: 25 июля 2017 12:46
Сегодня сравнил набитый тест ЭПМ с эталоном - сходится. Заодно припомнил, почему не хотел на скорости 80 знаков перфорировать. Пружины, подтягивающие якоря электромагнитов, за тридцать лет ослабли и при длительной работе на полной скорости могут появиться ошибки, лишние "1", т.е. отверстия. Замены из ЗиПа для ПЛ-80 нет и не будет. ММ, я понимаю, что для законченности устройства надо программу для ПК писать, но поставленные задачи в настоящее время перфоратор выполняет. CodeMaster, может осенью соберу на макетной плате. FS1501 может работать в режиме "старт-стоп", что и реализовано на плате В1. Поставить МК и заставить отсылать всё, что прочиталось на перфоленте, на ПК. П.С.: http://www.elsikor.ru/free.html здесь можно скачать и посмотреть программу и схему для подключения перфоратора к LPT. |
xoiss
Advanced Member
Всего сообщений: 711 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 окт. 2013 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 25 июля 2017 15:33 Сообщение отредактировано: 25 июля 2017 18:43
(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Б написал: 1Ж24Б написал: Если просто записать в МК вывод байтов (реализовано в тестовом режиме) на перфорацию, всё нормально; Я правильно понимаю, что проблема возникает ТОЛЬКО тогда, когда Я пробовал модифицировать программу, чтобы просто выводить вместо перфоратора информацию на пару семисегментных индикаторов. Работало до последнего байта; (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Ж24Б
Advanced Member
Откуда: Kaluga Всего сообщений: 349 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 7 нояб. 2014 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 26 июля 2017 13:29 Сообщение отредактировано: 26 июля 2017 13:34
Сделал тестовую программу для МК с сигналом CTS за 10 байт до окончания блока в 64 байта. В итоге, после пробивки первых 64 байтов, процесс дальше не идёт. Сделал на пробу в МК буфер на 64 байта, чтобы при приёме шло заполнение этого буфера полностью, только потом перфорация. На стороне ПК в программе пробовал блоки в 1, 16 и 64 байта, корректируя программу МК. Считаю, дальше пока смысла разбираться нет - у МК от монтажа/демонтажа уже ножки изогнулись (на плате цанговая панелька). Оставлю пока такой вариант работы с перфоратором. Разберусь с другими проектами, попробую ещё варианты программы. xoiss, спасибо за рекомендации. Изменю эл. монтаж на плате (надо подключать проводами передатчик из состава MAX232 и разводить выход с МК) и попробую передачу принятых байтов. [upd] ... или Вы в программе на Писишке передаёте файл чанками строго не более, чем по 64 байта?? Ещё фотографии: - вид со стороны электромагнитов, управляющих движением пуансонов (с противоположной стороны ещё пять штук). - механизм, формирующий сигналы для синхронизации. И видео работы. Идёт перфорация теста ПУВВ. ПЛ-80 - видно как вспыхивает на короткое время верхний светодиод, указывая на разрешение передачи ПК. |
<<Назад Вперед>> | Страницы: 1 * 2 3 4 5 | Печать |
Полигон-2 » Технический флейм » Перфоратор ленточный ПЛ-80 |
1 посетитель просмотрел эту тему за последние 15 минут |
В том числе: 1 гость, 0 скрытых пользователей |
Последние | |
[Москва] LIQUID-Акция. Сливаются разъемы CF МС7004 и 7004А на AT и XT Пайка термотрубок Проммать s478 PEAK 715VL2-HT ( Full-Size SBC) Подскажите по 386 материке по джамперам. |
Самые активные 5 тем | |