- Статья
- Очистка занятых COM портов
- Смена номера COM порта для приложения или устройства
- Сброс привязок COM портов через реестр
- Очистка занятых COM портов
- Смена номера COM порта для конкретного устройства
- Сброс привязок COM портов через реестр
- Подключаем последовательные интерфейсы по IP
- Характеристики
- Виртуальный COM-порт
- Режим RFC 2217
- Режим P2P
- Уведомления о событиях
- Логирование через Syslog
- Первичная настройка
- Заключение
- COM порт глазами ремонтника. Ремонт, настройка, диагностика. Часть 2, диагностика на компьютере.
Статья
Очистка занятых COM портов
При присоединении абсолютно нового COM устройства или USB устройства, Windows обнаруживает благодаря Plug-n-Play и присваивает ему номер COM порта в диапазоне от 1 до 255. Если же вы подключаете устройство еще раз, ему прикрепляется тот же, зарезервированный за ним ранее COM порт. Если же вы подключаете еще одно новое устройство, то ему назначается другой незанятый номер COM порта.
Некоторые программы (чаще старые), способны работать только на двухзначных номерах COM портов, и не работают с COM100 и более. Некоторые очень древние программы работают только портами с COM1-COM9. Как поступить, если устройство получило не нужный COM порт? Можно ли удалить номер зарезервированного COM порта?
Смена номера COM порта для приложения или устройства
В первую очередь стоит попробовать вручную переопределить номер COM порта для определенного COM-устройства. Предположим требуемый COM порт уже занят, и мы хотим его попробовать его освободить.
- Запустим диспетчер устройств (Device Manager) таким образом: set devmgr_show_nonpresent_devices=1
start devmgmt.msc - В меню консоли выберем View->Show Hidden Devices.
- Разверните ветку Ports (COM &LPT) и в списке найдите устройство, которому назначен нужный COM порт (бледная иконка означает, что данный COM порт назначен, но в настоящий момент это устройство не подключено). Щелкните по нему ПКМ и выберите Uninstall
- Освобожденный COM порт может быть назначен другому устройству. Найдите в этой же ветке свое устройство, откройте окно его свойств (Properties). Затем перейдите на вкладку PortSettings и нажмите кнопку Advanced. В выпадающем списке выберите неиспользуемый COM порт.
Приведенная выше методика не всегда позволяет освободить занятый COM порт. В этом случае придется прибегнуть к редактированию реестра.
Сброс привязок COM портов через реестр
Информация об используемых COM портах хранится в ключе реестра CommDB в разделеHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM Name Arbiter
- Откройте редактор реестра (regedit) и перейдите в указанную ветку.
Источник
Очистка занятых COM портов
Каждый раз при подключении нового COM устройства или USB устройства (верно для модем, мобильных телефонов, Bluetooth, конвертеров последовательных портов в USB и т.п.), Windows определяет его через механизм Plug-n-Play и назначит ему некий номер COM порта в диапазоне от 1 до 255. При повторном подключении этого же устройств, ему назначается ранее зарезервированный за ним COM порт. Новым устройствам выдается первый незанятый номер COM порта. Не редкость, когда внешние устройства при подключении создают сразу несколько COM портов (в моем случае после подключения адаптер Bluetooth, в системе появилось сразу 10 . новых COM портов).
Ряд приложений (как правило, довольно древних), способны адресовать только двухзначные номера COM портов, отказываясь работать с COM100 и выше. В самых «запущенных» вариантах, такие программы корректно работают только портами с COM1-COM9. Что делать, если подключенное устройство получило высокий номер? Можно ли сбросить нумерацию для зарезервированных COM портов и удалить назначенные порты? Попробуем разобраться на примере Windows 7.
Как правило в свойствах оборудования изменить выданный COM порт на другой не получается, т.к. система пишет, что все «низкие» COM порт уже используются (in use).
Смена номера COM порта для конкретного устройства
В первую очередь стоит попробовать вручную переопределить номер COM порта для определенного COM-устройства. Предположим требуемый COM порт уже занят, и мы хотим его попробовать его освободить.
- Запустим диспетчер устройств (Device Manager) таким образом: set devmgr_show_nonpresent_devices=1
start devmgmt.msc - В меню консоли выберем View->Show Hidden Devices.
- Разверните ветку Ports (COM &LPT) и в списке найдите устройство, которому назначен нужный COM порт (бледная иконка означает, что данный COM порт назначен, но в настоящий момент это устройство не подключено). Щелкните по нему ПКМ и выберите Uninstall
- Освобожденный COM порт может быть назначен другому устройству. Найдите в этой же ветке свое устройство, откройте окно его свойств (Properties). Затем перейдите на вкладку PortSettings и нажмите кнопку Advanced. В выпадающем списке выберите неиспользуемый COM порт.
Приведенная выше методика не всегда позволяет освободить занятый COM порт. В этом случае придется прибегнуть к редактированию реестра.
Сброс привязок COM портов через реестр
Информация об используемых COM портах хранится в ключе реестра CommDB в разделе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM Name Arbiter
- Откройте редактор реестра (regedit) и перейдите в указанную ветку.
Значение параметра ComDB в двоичном формате определяет список COM портов зарезервированных в системе. Каждый бит определяет состояние соответствующего порта (от 1 до 255). К примеру, если нам нужно оставить резервацию только для COM3, hex значение ComDB будет равно 04 (0000 0100)
Источник
Подключаем последовательные интерфейсы по IP
Последовательные интерфейсы RS-232/422/485 до сих пор очень популярны в промышленности: по ним подключаются диагностические порты, датчики, сканеры штрих-кодов и RFID меток и т.д. Однако последовательные интерфейсы имеют свои ограничения. Иногда возникает необходимость получить доступ к такому интерфейсу по IP-сети, или, например, иметь доступ к одному устройству с RS-232 с нескольких удаленных компьютеров одновременно, или объединить несколько удаленных объектов в одну шину RS-485.
Сервер последовательных интерфейсов конвертирует последовательные физические протоколы в IP-пакеты, и позволяет программно управлять ими — подключать удаленный виртуальный COM-порт к компьютеру по сети так, будто он подключен физически, и прозрачно соединять несколько устройств в режиме P2P, без использования компьютеров.
В статье мы разберем сервер последовательных интерфейсов Advantech EKI-1524, имеющий четыре последовательный порта, каждый из которых поддерживает протоколы RS-232/422/485, и два LAN-порта.
Сервер последовательных интерфейсов EKI-1524 имеет четыре порта DB9 и два LAN-порта.
- Виртуальный COM-порт — позволяет программно эмулировать виртуальный COM-порт удаленного устройства на системе Linux.
- Одновременное подключение нескольких клиентов — в режиме сервера дает возможность использовать один последовательный порт для нескольких устройств одновременно.
- Работа в режиме P2P — одновременная работа в режиме клиента и сервера позволяет объединить несколько EKI-1524 напрямую, без использования серверов и компьютеров.
Характеристики
Дополнительно представлены модели с повышенным уровнем защищенности, для работы в экстремальных условиях, и гальванической развязкой портов, для защиты от высоких напряжений: EKI-1522I, EKI-1524I, и другие.
Все модели поддерживают подключение двух источников питания. Переключение между источниками питания происходит без перезагрузки устройства. Реле индикации обрыва питания замыкается в случае, если на одной из линий отсутствует напряжение.
Виртуальный COM-порт
Сервер последовательных интерфейсов позволяет по TCP/IP получить доступ к удаленным устройствам таким образом, что для прикладного ПО это будет выглядеть так, будто устройства подключены к физическому COM-порту.
Принцип работы виртуального COM-порта по сети Ethernet
Для этого на стороне клиента используется модуль ядра Linux и программа для обмена данными с сервером последовательных интерфейсов. В итоге для пользователя такое подключение выглядит как физический порт (устройство /dev/ttyADV0).
На данный момент Advantech выпускает драйвера виртуального COM-порта только для ОС Linux. Инструкция по сборке модуля ядра VCOM 2.0 на Ubuntu.
Также существуют бинарные пакеты драйвера под разные дистрибутивы: Linux Pseudo TTY
В веб-интерфейсе можно настроить параметры работы в данном режиме:
Дополнительные настройки. Можно вручную задать таймауты и т.д:
Настройки параметров последовательного интерфейса. В этом меню также можно изменить основной протокол (RS-232/422/485), для каждого порта.
Режим RFC 2217
Также доступен открытый протокол перенаправления COM-порта RFC 2217, представляющий собой расширенные команды для протокола Telnet. В этом режиме устройство принимает входящие подключения по TCP, в настройках можно указать порт для входящий соединений.
Режим P2P
Для сложных случаев, когда несколько устройств нельзя соединить напрямую, можно использовать два терминальных сервера в режиме прозрачного моста. Таким образом можно подключить удаленные устройства, используя в качестве транспорта TCP/IP.
Подключение двух удаленных устройств по последовательному протоколу через TCP/IP-транспорт
Таким образом можно программно переключать устройства между собой, соединять удаленные шины по RS-485 и делать много другое, используя все преимущества IP-сетей, включая радиомосты, виртуальные частные сети (VPN) и т.д. Передаваемые данные между двумя серверами можно дополнительно защитить от перехвата, используя шифрование на транспортном уровне.
Уведомления о событиях
Устройство позволяет настроить уведомления о событиях с помощью Email и SNMP Trap. MIB-файл для настройки SNMP-сервера доступен для каждого устройства.
События для уведомлений можно настроить вручную.
Логирование через Syslog
В веб-интерфейсе можно задать адрес удаленного Syslog-сервера для логирования. В лог записываются события подключения клиентов, ошибки аутентификации, статус LAN и последовательных портов и т.д.
Первичная настройка
Первичную конфигурацию сервера последовательных интерфейсов можно выполнить через утилиту EKI Device Configuration Utility. При этом утилита работает через ARP-пакеты и не требует настройки соответствующего IP-адреса на сетевом интерфейсе. Это значит, что можно задать любой IP-адрес устройству, без утраты доступа.
Заключение
Серверы последовательных интерфейсов позволяют обходить ограничения, которые накладывают физические протоколы, и легко масштабировать подключения. Режим P2P позволяет подключать устаревшие устройства, используя интернет в качестве транспорта, при этом обходиться без серверов.
Источник
COM порт глазами ремонтника. Ремонт, настройка, диагностика. Часть 2, диагностика на компьютере.
Статья вторая «COM порт – глазами ремонтника. Ремонт, настройка, диагностика».
Рассматриваем вопросы диагностики COM порта со стороны компьютера.
Начнем с самого простого, найдем на компьютере COM порт визуально.
Рис. 1. Пример расположения COM порта на задней планке материнской платы.
Однако на привычном месте может не оказаться разъема COM порта, это не беда. Заходим в диспетчер устройств, и смотрим в нем наличие COM порта.
Рис.2 Проверяем наличие COM порта на компьютере при помощи диспетчера устройств.
В данном примере всего один COM порт, на самом деле их может быть два или вообще не быть. Этот факт не является дефектом, просто стандарт на обязательное присутствие COM порта был отменен в далеком 1999г. Однако это повод задуматься при выборе материнской платы для нового компьютера — если Вы собираетесь активно эксплуатировать COM порт, то желательно остановить свой выбор на материнской плате в которой есть хотя бы один COM порт. Отсутствие COM порта на компьютере не является серьезной проблемой. На рынке достаточно устройств при помощи которых, эту проблему можно решить, но об этом чуть попозже.
Итак COM порт обнаружен программно, а физически его не видно, он расположен на материнской плате и для его физической реализации нужна планка (посмотреть), которую придется либо сделать самостоятельно, либо купить в магазине.
Рис. 3 Вид разъемов COM порта для реализации под планку. На фото, материнская плата с двумя COM портами.
После подключения планки COM порта остается только проверить работоспособность COM порта.
С планками все не так просто, на самом деле планок существует два типа. Оба имеют место быть, но предназанечены для работы на разных материнских платах.
Рис. 4 Внешний планок для работы на разных материнских платах.
Планки не взаимонезаменяемые, чаще всего встречался вариант I.
| |
Рис. 5 Вариант I распайки кабеля планки COM порта | Рис.6 Вариант II распайки кабеля планки COM порта |
Нет связи компьютера с подключаемым устройством.
| |
Рис. 11 Программа Commtest обнаружила технологическую перемычку на COM порту. | Рис. 12 Программа Commtest не обнаружила технологическую перемычку на COM порту. Порт COM1 неисправен, либо заглушка установлена на другом порту |
Если COM портов несколько, то необходимо перебрать все COM порты которые присутствуют в диспетчере устройств, есть вероятность, что при открытии другого порта — связь появится. Таким образом Вы получаете номер порта на который установлена заглушка.
Внимание! Данная проверка проверяет только канал Rx-Tx и не является 100% гарантией того, что порт исправен, однако хотелось бы обратить внимание что 90% устройств работают именно только по этим проводам. |
Внимание! Проверка на другом компьютере связь есть, проверка на проверяемом компьютере связи нет. Не является гарантией того, что COM порт неисправен. Пример кабель от ККМ Fprint-03К |
Комплексная проверка COM порта на стороне компьютера.
Принцип такой проверки очень похож на рассмотренную выше проверку по каналу Rx-Tx, суть та же, с передатчика сигнал должен прийти в приемник, если сигнал прошел, то можно считать, что пара исправна. Из оставшихся 7 контактов,1 контакт это земля его мы не проверяем.
Остается 6 контактов, из них два передатчики (DTR, RTS) и четыре приемники (DCD, DSR, CTS, RI). Правило тут простое — передатчик должен прийти на приемник, логично предположить, что на один передатчик следует нагрузить по два приемника. Хотя можно и на один передатчик повесить три приемника, а на второй предатчик посадить только один приемник, как делать дело Ваше . Самое удобное, в плане изготовления это 4->1,9 и 7->6,8 проводов получается по минимуму.
| |
Рис. 13 Технологическая заглушка для проверки COM порта, вид со стороны контактов. | Рис. 14 Технологическая заглушка для проверки COM порта, вид со стороны пайки. |
На рисунке для удобства синим цветом выделены передатчики.
Все в той же программе CommTest, но уже в другой части окна взводим флажок передатчика DTR и(или) RTS и смотрим, как изменяются соответствующие флажки приемника.
При изменении флажка DTR — должны взвестись флажки DCD и Ring, при сбросе флажка DTR – должны сбросится флажки DCD и Ring.
| |
Рис. 15 Флажок DTR сброшен | Рис. 16 Флажок DTR взведен, в примере не смотря на перемычку флажок Ring не взвелся, можно судить о не исправности приемника Ring |
При изменении флажка RTS — должны взвестись флажки DSR и CTS, при сбросе флажка RTS – должны сбросится флажки DSR и CTS.
| |
Рис. 17 Флажок DSR сброшен | Рис. 18 Флажок DSR взведен |
|
Рис. 19 Флажок DSR и DTR взведен |
Как проверить передатчик – приемник Tx-Rx рассмотрено немного ранее.
Если данные события происходят можно считать, что COM порт стандарта RS232 со стороны компьютера полностью исправен.
Источник