![]() |
|
Модераторы: Akella, bartram |
![]()
|
|
| Retro |
|
|||
![]() Диалектик ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1934 Регистрация: 28.6.2005 Где: Киев Репутация: 1 Всего: 117 |
Я для виртуальной печати пользуюсь программой VentaFax, никаких нареканий, несколько форматов и вообще очень удобно.
|
|||
|
||||
| Romtek |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 153 Регистрация: 7.12.2004 Где: Холон Репутация: нет Всего: 4 |
Есть какие-нубудь бесплатные аналоги VentaFax?
--------------------
Romiras HomeLab - материалы и статьи по разработке ПО, моделирование алгоритмов, обработка и анализ информации, нейронные сети, машинное зрение и пр. |
|||
|
||||
| Zerstroer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 285 Регистрация: 8.8.2007 Где: Алма-Ата Репутация: нет Всего: 3 |
Столкнулся с аналогичной проблемой.
К устройству (Терминал системы управления бетонным заводом SPECO) подключен принтер. Требуется вместо принтера подключить через com либо lpt порт компьютер, с возможностью отображения на нем того, что устройство отправило на печать. Если на приведенных выше ссылках имеется подобный эмулятор, прошу сообщить. -------------------- In silico |
|||
|
||||
| JusTalionis |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 576 Регистрация: 11.7.2006 Репутация: 0 Всего: 17 |
Прием данных через LPT на таких условиях по-видимому возможен, но ожидается весьма много заморочек, и наверное понадобится писать специальную утилиту.
А вот с COM сложностей особенных нет. Запускаете на компе утилиту под названием "Терминал" и принимаете то, что на COM вам приходит. Различных терминалов в Сети можно немало найти. Вот, например здесь лежат исходники моей самописной утилитки на эту тему, которые можно подредактировать под ваши задачи, если надо. Это сообщение отредактировал(а) JusTalionis - 19.7.2008, 10:04 |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 4 Всего: 260 |
вот насчет имеющегося решения(чтоб прнимала данные с порта и по ним восстанавливала рисунок) - должно быть сложновато. все известные мне "виртуальные принтеры" работают, получая данные на уровне драйвера принтера, а не перехватывая на уровне драйвера порта.
скорее всего, придется такую программу заказывать. |
|||
|
||||
| JusTalionis |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 576 Регистрация: 11.7.2006 Репутация: 0 Всего: 17 |
Вообще-то не-процессорные устройства графику не передают - а чем они ее будут создавать? На микросхемах К155 формировать что ли?
Но в случае, если передача в графическом формате - это конечно значительные заморочки. Данные на строку символов (24 иголки, если Epson) принимаем в буфер, а потом дешифруем. Теоретически возможно, но оооочень гиморно, конечно. Это своего рода будет драйвер принтера навыворот, "антидрайвер"))))) Это сообщение отредактировал(а) JusTalionis - 19.7.2008, 10:14 |
|||
|
||||
| Zerstroer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 285 Регистрация: 8.8.2007 Где: Алма-Ата Репутация: нет Всего: 3 |
Принтер подключенный к терминалу управления матричный и с LPT портом.
"Терминал" - имеете ввиду считыватель с порта? А конкретное название какого-нибудь можно? Это сообщение отредактировал(а) Zerstroer - 21.7.2008, 07:45 -------------------- In silico |
|||
|
||||
| JusTalionis |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 576 Регистрация: 11.7.2006 Репутация: 0 Всего: 17 |
Про принтер я понял.
Важно что ваше устройство способно передавать не только через LPT, но и через COM. Утилита связи через COM-порт тоже называется "терминал" (как и ваше устройство). Под DOS она вообще входит в состав 5-го Нортон-Коммандера. Но найти в Сети непросто, потому что на первые места лезут различные торговые терминалы, а у меня траффик платный. Так что ищите, плиз, самостоятельно. Здесь могу подарить только свою утилитку (на исходники которй давал ссылку). Скомпилировал ее в готовый файл и присоединяю его в этом сообщении для Вас. Чтобы прием был, настройка порта (скорость, четность, битность данных) должна быть одинаковая как на вашем устройстве, так и на компьютере. Порт компьютера настраивается утилитой, а как настраивается порт вашего устройства - смотрите документацию к нему. Может быть у него параметры даже жестко "зашитые" и не меняются. Тогда на такие же настраиваете компьютер - и должно приниматься. Если разъем на вашем устройстве стандартный, то соединить можно обычным кабелем "нуль-модем" для COM. Присоединённый файл ( Кол-во скачиваний: 15 )
RS232.exe 44,00 Kb |
|||
|
||||
| Zerstroer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 285 Регистрация: 8.8.2007 Где: Алма-Ата Репутация: нет Всего: 3 |
Очень Вас благодарю, JusTalionis.
О результате решения сообщу. Спасибо. С настройкой порта предвещаю себе сложности, т.к. на машине отправителе (промышленном комьпютере) никаких настроек пользователем вообще не предусмотрено и документация на нее отстутствует. В итоге свою задачу распределил на 3 этапа: 1. Соединение к порту COM. 2. Прием данных с порта. 3. Дешифровка и вывод. Это сообщение отредактировал(а) Zerstroer - 23.7.2008, 07:17 -------------------- In silico |
|||
|
||||
| JusTalionis |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 576 Регистрация: 11.7.2006 Репутация: 0 Всего: 17 |
1. Про соединения.
Кроме общего провода ("земли") на COM есть две основных линии передачи: RxD и TxD (на прием и на передачу). Таким образом, для правильного обмена данными между устройством и компьютером TxD попарно соединяются с RxD (один принимает то, что другой передает). Во всех современных устройствах этих двух линий на практике достаточно. Если ваше устройство только передает, было бы достаточно даже одной. НО! Предусмотрено еще несколько линий для индикации состояния, типа "компьютер готов к приему" или к передаче. Сейчас прекрасно обходятся без них, а вот ваш промышленный компьютер (контроллер управления, как я понимаю) может эти сигналы затребовать. Обычно ставят просто две перемычки на разъеме, и этого бывает достаточно. В любом случае, рекомендовал бы Вам почитать подробнее про протоколы обмена по COM. 2. Настройки порта. В моей утилитке "по умолчанию" выставлена самая ходовая настройка: скрость 2400, без четности, 8 бит данных, 1 стоповый бит. Некоторые старые телетайпы передавали, как я знаю 5-битные данные (с иным на практике не встречался никогда). Скорость можно оценить осциллографом по частоте передаваемых импульсов в посылке, но надо иметь ввиду, что рядом стоящие импульсы могут сливаться, так что точной длительности здесь не увидишь. Но оценить порядок, то есть скорость 50 или 9600 вполне можно. Остальное подобрать перебором, благо вариантов не сильно много. (примечание. Существует еще режим "полтора" стоповых бита, но он настолько редок, что я не внес его в свою утилитку.) 3. Дешифровка. Если ваше устройство расчитано передавать на принтер - скорее всего, специальной дешифровки не понадобится, так как передаются обычные буквенные коды. В этом случае моя утилитка буквами их и покажет; никакой специальной дешифровки она не делает, показывает "как есть" (предназначена была для отладки связи с микроконтроллерами). Впрочем, если точно знать, какая именно дешифровка нужна, ее нетрудно приделать - исходники-то имеются. Также, при необходимости, можно приделать и вывод в файл. |
|||
|
||||
| Zerstroer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 285 Регистрация: 8.8.2007 Где: Алма-Ата Репутация: нет Всего: 3 |
Задача усложняется тем, что с устройства передача идет через LPT порт, а на компьютере принимать ее придется через COM.
-------------------- In silico |
|||
|
||||
| JusTalionis |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 576 Регистрация: 11.7.2006 Репутация: 0 Всего: 17 |
Эту вашу фразу я так понял что на вашем устройстве два разъема: для принтера COM и для принтера LPT.
А с LPT на COM принять невозможно - это различные форматы передачи. С LPT возможно принять на LPT, но для этого надо распаивать специальный кабель и писать совершенно другую утилиту для работы с LPT. Задача осложняется тем, что в ОС стандартых функций приема через LPT нет (только отправка), поэтому утилите придется обращаться непосредственно к "железу" порта, а в XP с этим большие заморочки. Но если Вас удовлетворит ДОС, то я могу попробовать написать Вам такую утилиту. Вероятно что под WIN9x она будет работать тоже. Это сообщение отредактировал(а) JusTalionis - 24.7.2008, 06:57 |
|||
|
||||
| Zerstroer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 285 Регистрация: 8.8.2007 Где: Алма-Ата Репутация: нет Всего: 3 |
Был бы очень рад такой, даже DOSовской утилите.
Кое что, по работе с LPT нашел здесь: Сайт Валерия Ковтуна А какая распайка LPT кабеля лучше всего для этого подойдет? В данный момент эксперементирую с нуль-модемным lpt соединением. Распайка такая: XI, разъем РС#1 Х2, разъем РС#2 Бит Контакт Контакт Бит DR.O 2 15 SR.3 DR.1 3 13 SR.4 DR.2 4 12 SR.5 DR.3 5 10 SR.6 DR.4 6 11 SR.7 SR.6 10 5 DR.3 SR.7 11 6 DR.4 SR.5 12 4 DR.2 SR.4 13 3 DR.1 SR.3 15 2 DR.O GND 18-25 18-25 GND Для имитации "передачи" использую печать из под DOS командой print и линуксовское перенаправление потока на lpt порт. На приведенной ссылке имеются программы следящие за входящими сигналами по LPT. Это сообщение отредактировал(а) Zerstroer - 24.7.2008, 12:06 -------------------- In silico |
|||
|
||||
| JusTalionis |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 576 Регистрация: 11.7.2006 Репутация: 0 Всего: 17 |
Кабель нуль-модема LPT даже не пытайтесь, потому что он предназначен для двунаправленной передачи: половина жил - "туда", половина "обратно". Всего линий 8, так что на каждое направление остается по 4. Поэтому по такому кабелю данные передаются полубайтами: по 4 бита. А ваше устройство выдает на принтер - значит полными байтами по 8 бит.
Если программная часть у меня получится, распайку кабеля я вам нарисую. Это, кстати, наиболее несложная часть дела. Сайт хороший. Там все правильно говорится, что для таких вещей под XP надо регистрировать драйвер (но об этом мы пока отложим). Разбирая протокол работы принтера, я увидел, что управляющее устройство выдает на принтер строб данных - импульс очень короткий. Принтер улавливает его аппаратно - перебрасывается триггер, и всё. А компьютер должен непрерывно опрашивать порт. Но он же это делает не мгновенно, и в промежутке между запросами такой короткий импульс может успеть проскочить незамеченным. В результате буква потеряется. Но я пытаюсь задействовать механизм прерываний, чтобы эту трудность решить. Соответственно, писать приходится на ассемблере, а на сайте Валерия материалы даны для Дельфи, так что не пойдут. |
|||
|
||||
| Zerstroer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 285 Регистрация: 8.8.2007 Где: Алма-Ата Репутация: нет Всего: 3 |
Что ж, мне остается только ждать Вашей помощи, JusTalionis... Мои знания Assemblerа не достаточны для решения подобной задачи. Продолжаю изучать теорию.
-------------------- In silico |
|||
|
||||
![]()
|
| Правила форума "Программное обеспечение" | |
|
|
Запрещается! 1. Обсуждение крэков, кейгенов и других подобных программ Пробуйте искать сами или обращайтесь в приват к участникам форума. Темы с подобными вещами будут немедленно удаляться, а нарушители - получать предупреждения. Также запрещается обсуждение проблем работы этих программ (что куда вписать, куда что скопировать и т.п...) 2. Давать ссылки на взломанные продукты
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Программное обеспечение | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |