Как сопоставить виртуальный COM-порт с физическим USB-портом?

Как сопоставить виртуальный COM-порт с физическим USB-портом?

Мой вопрос похож наНастраиваете виртуальный Com-порт?, на который нет ответов.

У меня есть программное обеспечение, которое может печатать только на принтере на COMx, принтер с портом USB и компьютер с портом USB, но без последовательных портов, поэтому часто предлагаемый физический адаптер Serial-to-USB не является решением. Я ищу программное обеспечение, которое обманом заставляет Windows 7 сопоставлять виртуальный COM-порт с физическим USB-портом. Я уверен, что если используемое мной программное обеспечение отправляет свой поток битов на USB-порт, то принтер будет работать нормально. Как обмануть программное обеспечение, заставив его думать, что оно печатает на COMx, когда на самом деле оно печатает на USBx?

Поиск в Интернете выдает только драйверы для определенного аппаратного адаптера Serial-to-USB, но это не то, что я ищу, поскольку у меня нет этого оборудования. Я нашел форум Microsoft, где они предложили изменить метку порта USB в диспетчере устройств, но мы так и не нашли ничего похожего на то, что они описали; возможно, это возможно с другим контроллером USB, чем у нас.

решение1

Есть простой способ сделать это с помощью стандартных команд Windows. Ссылка Ли Харрисона показывает эту команду, но вот краткое описание. Начните с того, чтобы сделать принтер общим (из свойств принтера > вкладка Общий доступ).

Теперь запустите командную строку и введите:

NET USE COM1: //pc_name/printer_share_name /persistent:yes

Здесь pc_name— имя ПК, к которому предоставлен общий доступ, а printer_share_name— имя общего ресурса, которое вы дали принтеру при настройке общего ресурса.

С этого момента все, что вы отправляете на COM1, будет перенаправляться на принтер.

Однако есть одно условие, и оно применяется независимо от того, какой метод передачи данных на принтер вы используете — аппаратное или программное обеспечение:

Поскольку ваша программа знает только о COM1, я предполагаю, что она отправит на принтер простой текст. Многие принтеры, работающие только с USB, НЕ понимают простой текст и просто игнорируют его. Принтеры, которые делают это, называютсяхост-принтеры, где графический движок Windows преобразует страницу в точки на бумаге, а не позволяет принтеру выполнять преобразование. В основном это недорогие принтеры, особенно струйные, но также и некоторые лазерные. Принтеры, которые понимают текст, должны поддерживать язык PCL5. Принтеры PCL6 обычно также поддерживают PCL5, но принтеры PCL3 — нет.

Если вы сообщите мне модель вашего принтера, я смогу проверить, какой язык он поддерживает.

решение2

Мы используем это решение в компании.

Виртуальный COM USB FTDI

Драйверы виртуального COM-порта (VCP) заставляют USB-устройство отображаться как дополнительный COM-порт, доступный ПК. Прикладное программное обеспечение может получить доступ к USB-устройству так же, как оно получило бы доступ к стандартному COM-порту.

ЗдесьРуководство по установке.

решение3

Это очень специфический сценарий, но следующие указания могут вам подойти: http://www.decompile.com/dataflex/tips/usb_printer.htm

Прямо по этой ссылке:

The solution is to assign the USB-connected printer a network name, and 
then to associate that network name with an unused LPT port. The
***** program will print to the LPT port and Windows will 
automatically redirect the job to the USB printer port.

Однако я не знаю, будут ли вообще доступны для выбора COM-соединения в вашем случае, поскольку на вашем ПК их изначально нет. Возможно, вы сможете приобрестиUSB/COM-адаптерЧтобы получить доступ к этим значениям, воспользуйтесь приведенными выше инструкциями для пересылки их на ваш USB-принтер.

Звучит как хак, но когда вы используете старое программное обеспечение, иногда это то, что происходит. Каким бы ни было решение, я не знаю, будет ли оно выглядеть элегантным!

Последнее, что можно сделать, это просто купить USB-адаптер для последовательного/параллельного порта и дешевый принтер, который соответствует спецификациям. Если вы используете это программное обеспечение в бизнесе, я думаю, что это легко оправданные расходы.

решение4

Если вам нужно эмулировать последовательный порт, это программное обеспечение сделает эту работу. https://www.eltima.com/products/vspdxp/ Но я понятия не имею, можно ли подключить USB к эмулированному COM...

Связанный контент