Меню

Как из командной строки осуществить открытие чтение и запись в COM порт Windows

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 порта

Нет связи компьютера с подключаемым устройством.

Для большинства современных устройств требуется только три провода для нормальной работы. Это RxD, TxD и земля. На разъемах DE9 и DB25 RxD, TxD всегда находятся на 2 и 3 контакте. Но если для компьютера все однозначно, на DE9 2-RxD 3-TxD, то для устройств подключаемых к компьютеру такой однозначности нет, но как правило это все те же контакты 2 и 3. А вот что однозначно, так это тот факт, что RxD компьютера должен прийти на TxD устройства и наоборот RxD устройства должен соединиться с с TxD компьютера. В принципе если перепутать контакты и подать неправильно сигналы — то ничего страшного не произойдет, COM порты не сгорят, просто устройство не будет общаться с компьютером.

Следует учесть тот фактор, что даже правильное соединение не гарантирует работоспособность связи. Причин может быть много, неправильно установлена скорость, несоблюдение протокола, неисправен COM порт и т.п.

Что бы исключить лишние факторы удостоверимся, что COM порт на компьютере рабочий.

Самое простое, это использовать программу Сommtest (скачать) и заглушку для проверки.

Одним из эффективных способов проверки — отправить данные в порт и самому же порту получить их обратно. Если данные вернулись в полном объеме — то порт можно считать исправным

Рис.7 Заглушка для проверки COM порта, сигналов Rx-Tx.

Заглушка представляет собой разъем DE9F, у которого контакты 2 и 3 соединены перемычкой. Суть теста заключается в том, что все отправленные данные должны вернутся обратно. При такой проверке не важно на какой скорости проходит тестирование, данные все равно будут приниматься на такой же скорости. Несомотря на то, что такой способ имеет серьезный недостаток — проверяется только канал Rx-Tx, все же есть и плюсы. Такой заглушкой можно лекго определить номер COM порта не разбирая системный блок, в случае если таких портов несколько.

Рассмотрим, как это делается.

Запускаем программу Сommtest (скачать)

Рис. 8 Рабочее окно программы Commtest

Рис. 9 Настройка программы Commtest

  1. Выбираем COM порт.
  2. Нажимаем клавишу Open для активизации клавиши Put.
  3. Выбираем байт для отправки. Желательно отправлять цифры, в нашем примере байт для отправки цифра «5» (Byte 53DEC или 35 HEX) во всех кодовых таблицах цифры читаются однозначно. Буквы и управляющие символы отправлять нежелательно.
  4. Выбираем количество байт для отправки. В нашем примере 1000, что означает, что при нажатии клавишу Put в порт будет отправлено 1000 байт, в нашем случае 1000 штук цифер «5».

Рис. 10 Программа Commtest готова к использованию.

Рис. 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 проводов получается по минимуму.

На рисунке для удобства синим цветом выделены передатчики.

Все в той же программе 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 со стороны компьютера полностью исправен.

Источник

Как из командной строки осуществить открытие, чтение и запись в COM-порт Windows?

У меня стоит задача мониторинга и управления ИБП АРС, подключенного к удаленной ПЭВМ через COM-порт RS232. Как работать с COM-портом на локальной ПЭВМ и осуществить мониторинг и управление ИБП АРС я знаю. А также я знаю как подключиться (через WMI или Telnet) к удаленной ПЭВМ и запустить и запустить задачу и исполнить её в консольном режиме. На удаленной ПЭВМ я не могу устанавливать своего ПО, т.е. мне необходимо пользоваться стандартными средствами Windows. А на ПЭВМ где производиться мониторинг (локальная) я хозяин, поэтому моя задача узнать как стандартными средствами Windows манипулировать COM-портом (а значит ИБП АРС) на удаленной ПЭВМ, а результаты получать и обрабатывать на локальной ПЭВМ (где мониторинг).

Слышал я, что есть возможность удаленно манипулировать COM-портом можно через WMI, но я не знаю как.

2 ответа 2

В командной строке Windows есть возможность обращаться к COM-порту по имени вида COMx , где x — номер порта. Эта возможность пришла ещё из MS DOS.

Например, для отправки текста «123» устройству можно воспользоваться командой

В порт будут отправлены байты, содержащие коды символов из параметра команды echo .

Для указания параметров порта можно воспользоваться командой mode . Пример использования:

Это означает, что порт COM1 работает со скоростью 9600 бод, передаёт данные по 8 бит и не использует проверку чётности.

Судя по тегам, вы можете использовать C#. В этом случае просто воспользуйтесь классом SerialPort из пространства имён System.IO.Ports . Однако этот класс позволяет работать с портом лишь на локальной машине.

Если вам требуется сложное поведение, то вы можете из командной строки удалённо создать файл с программой на C# и скомпилировать его утилитой csc.exe при условии, что на удалённой машине установлена платформа .NET (консольный компилятор входит в комплект её поставки).

Возможно есть и другие средства для удалённой работы с оборудованием машины, которые вам лучше подойдут. Например, если установлен PowerShell, то можно воспользоваться его возможностями.

Пример работы с портом из VBScript (к сожалению, не было возможности проверить на реальном железе).

Источник



Как проверить, открыт ли порт

В этой статье мы расскажем, что такое порт, какие они бывают и как проходит проверка порта на локальном и удаленном компьютере.

Что такое порт

Порт — это числовой идентификатор программы или процесса, который обслуживает сетевые соединения на заданном IP-адресе. Номера портов могут быть от 0 до 65 535.

Каждое устройство (компьютер, ноутбук, мобильный телефон и др.) имеет свой IP-адрес. Он дает возможность организовывать сетевые соединения между устройствами. Но на отдельном устройстве может быть запущено несколько сетевых приложений одновременно. Например, есть интернет-сервер с IP-адресом. На нем расположен: веб-сервер, почтовый сервер, FTP-сервер. Как сделать так, чтобы мы могли связаться именно с почтовым сервером? Для этого и нужен порт. Порты предоставляют возможность идентифицировать сетевые приложения на отдельно взятом компьютере.

Есть стандартные порты, такие как:

  • порт 80 — для веб-сервера, который работает по протоколу HTTP,
  • порт 443 — для защищенного SSL-сертификатом веб-сервера, который работает по протоколу HTTPS,
  • порт 21 — для FTP-протокола (протокола передачи файлов).

Как проверить, открыт ли порт

Проверка порта на доступность возможна как для своего (локального) компьютера , так и для удаленного.

Как узнать, какие порты открыты на локальном компьютере в Windows

Вызовите командную строку сочетанием клавиш Win+R.

Введите команду «cmd» и нажмите ОК:

Пропишите команду netstat -a и кликните Enter:

Готово, перед вами список открытых портов на вашем компьютере.

Как узнать, какие порты открыты на удаленном компьютере

Провести проверку портов на открытость удаленного компьютера можно при помощи команды telnet.

Telnet — это утилита, с помощью которой можно соединиться с удаленным портом любого компьютера. Telnet позволяет установить связь, чтобы передавать команды и получать ответы (например, сделать проброс портов).

Читайте также:  Медцентр ОН КЛИНИК на Новом Арбате

В Windows 7/8/10 и Vista утилита telnet отключена по умолчанию. Утилиту можно установить по инструкции.

Как проверить доступность порта с помощью команды telnet в Windows:

Вызовите командную строку сочетанием клавиш Win+R.

Введите команду «cmd» и нажмите ОК.

В окне терминала введите команду: telnet имя_сервера номер_порта (например, telnet mysite.ru 31).

Можно проверить порт на доступность по IP, если ввести команду telnet IP_сервера номер_порта (например, telnet 10.0.119.127 31).

Если на экране появится текст «“telnet” не является внутренней или внешней командой, исполняемой программой или пакетным файлом», то на вашем компьютере отключена утилита и ее надо установить по инструкции:

Если на экране командной строки появится ошибка, значит порт закрыт:

  • Если экран станет полностью пустым или появится приглашение сервера, значит порт открыт:

Источник

Неисправности и тестирование СОМ-портов

9.2.9. Неисправности и тестирование СОМ-портов

Неполадки с СОМ-портами чаще всего случаются (или выявляются) при установке новых портов или после неудачного подключения внешнего устройства (при нарушении требования отключения питания перед всеми перекоммутациями).

Проверка конфигурирования

Тестирование последовательных портов (как и параллельных) начинают с проверки их опознания системой. Список адресов установленных портов обычно появляется в таблице заставки, выводимой BIOS на экран перед загрузкой ОС. Кроме этой таблицы, список можно посмотреть и с помощью тестовых программ или прямо в BIOS DATA AREA с помощью любого отладчика.

Если BIOS обнаруживает меньше портов, чем установлено физически, скорее всего, каким-либо двум портам присвоен один адрес или установлен нестандартный адрес какого-либо порта. Проблемы могут возникать с адресами портов COM3 и COM4: не все версии BIOS будут искать порты по альтернативным адресам 3E0h, 338h, 2E0h и 238h, а иногда не производится поиск и по адресам 3E8h и 2E8h. Нумерация найденных портов, отображаемая в заставке, иногда может вводить в заблуждение: например, если установлены два порта с адресами 3F8h и 3E8h, в заставке они могут называться как СОМ1 и COM2, и по этим именам на них можно ссылаться при обращениях. Однако те же порты в заставке могут называться и как СОМ1 и COM3 (поскольку 3E8h является

штатным адресом для COM3), но попытка при обращении сослаться на порт COM3 будет неудачной, поскольку в данном случае адрес 3E8h будет находиться в ячейке 0:402h BIOS DATA AREA, соответствующей порту COM2, а в ячейке порта COM3 (0:404h) будет нуль — признак отсутствия такового порта. «Объяснить» системе, где какой порт, можно и вручную любым отладчиком, занеся правильные значения базовых адресов в ячейки BIOS DATA AREA (но это придется делать каждый раз после перезагрузки ОС перед использованием «потерянного» порта). Существуют тестовые утилиты, позволяющие находить порты и без отладчика (например, Port Finder).

Если двум портам назначен один и тот же адрес, тестовая программа обнаружит ошибки порта только с использованием внешней заглушки (External LoopBack). Программное тестирование порта без заглушки не покажет ошибок, поскольку при этом включается диагностический режим (см. описание UART) и конфликтующие (по отдельности исправные) порты будут работать параллельно, обеспечивая совпадение считываемой информации. В реальной работе, естественно, нормальный ввод данных (и управляющих сигналов интерфейса) для конфликтующих портов невозможен. Разбираться с конфликтом адресов удобно последовательно устанавливая порты и наблюдая за адресами, появляющимися в списке.

Если физически установлен только один порт и его не обнаруживает BIOS, то причины могут быть теми же, что и с LPT-портом: либо он отключен при конфигурировании, либо вышел из строя скорее всего из-за нарушений правил подключения (см. главу II). Может, конечно, неисправность устраниться и при «передергивании» платы адаптера в слоте системной шины.

При работе с СОМ-портом часто используются аппаратные прерывать —их используют при подключении модема, мыши и других устройств ввода. Неработоспособность этих устройств может быть вызвана некорректной настройкой запроса прерывания. Здесь возможны как конфликты с другими устройствами (или, наоборот, отключение запроса), так и несоответствие номера прерывания адресу порта (см. выше), о возможности которого не «догадываются», например, многие драйверы мыши.

Функциональное тестирование

В первом приближении СОМ-порт можно проверить диагностической программой (например, Checkil) без использования заглушек. Этот режим тестирования проверяет функционирование микросхемы UART (внутренний диагностический режим) и вырабатывание прерываний, но он не затрагивает входные и выходные буферные микросхемы, которые являются, пожалуй, более частыми источниками неприятностей. Если тест не проходит, причину следует искать или п конфликте адресов (или прерываний, если на это явно указывает сообщение теста), или в самой микросхеме UART.

Для более достоверного тестирования портов с помощью диагностических программ рекомендуется использование внешней заглушки, подключаемой к разъему СОМ-порта. В отличие от LPT-порта у СОМ-порта количество входных сигналов превышает количество выходных, что позволяет выполнить полную проверку всех цепей. Схема заглушки для тестирования СОМ-порта программой Checkit приведена на рис. 9.26. Заглушка соединяет выход приемника со входом передатчика, замыкая информационное кольцо. Обязательная для всех схем заглушек перемычка RTS-CTS позволяет работать передатчику — без нее символы не смогут передаваться. Выходной сигнал DTR обычно используют для проверки входных линий DSR, DCD и RI.

Рис. 9.26. Заглушка для проверки СОМ-портов (LoopBack)

Если тест с внешней заглушкой не проходит (при успехе внутренней диагностики UART), причину следует искать во внешних буферах или их питании (±)12 В или в шлейфах подключения внешних разъемов. Здесь может помочь осциллограф или просто вольтметр (удобнее стрелочный). Последовательность проверки может быть следующей:

Читайте также:  Практикум по теме Трудовое право 10 11 класс

1. Проверить наличие двуполярного питания выходных схем передатчиков (этот шаг логически первый, но поскольку он технически самый сложный, его можно и отложить на крайний случай, когда появится желание заменяй) буферные микросхемы).

2. Проверить напряжение на выходах TD, RTS и DTR: после аппаратного сбросы на выходе TD должен быть отрицательный потенциал около 12 В (по крайней мере, ниже -5 В), а на выходах RTS и DTR — такой же положительный Если этих потенциалов нет, возможна ошибка подключения разъема к плате или через шлейф.

    шлейф не подключен, шлейф подключен неправильно (разъем перевернут или вставлен со смещением), раскладка шлейфа не соответствует разъему платы.

Первые два варианта проверяются легко внимательным осмотром, а третий может потребовать некоторых усилий по расследованию. В табл. 9.17 приведены три варианта раскладки 10-проводного шлейфа разъема СОМ-порта, известных автору, но вполне возможно существование и других (для СОМ-портов на системных платах). Теоретически шлейф должен поставляться в соответствии с разъемом, но возможны варианты «с учетом местных условий».

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

3. Соединив контакты линий RTS и CTS (или установив заглушку), следует попытаться вывести небольшой файл на СОМ-порт (например, командой COPY C:\AUTOEXEC. ВАТ COMI:). С исправным портом эта команда успешно выполнится за несколько секунд с сообщением об успешном копировании. При этом потенциалы на выходах RTS и DTR должны измениться на отрицательные, а на выходе TD должна появиться пачка двуполярных импульсов с амплитудой более 5 В. Если потенциалы RTS и DTR не изменились, ошибка опять-таки в буферных формирователях. Если на выходе RTS (и входе CTS) появился отрицательный потенциал, а команда COPY завершается с ошибкой, скорее всего, вышел из строя приемник линии CTS (другой вариант — опять-таки ошибка в шлейфе). Если команда COPY успешно проходит, а изменения на выходе TD не обнаруживаются (их можно увидеть и стрелочным вольтметром, но не удастся оценить амплитуду импульсов), то виноват буферный передатчик сигнала TD.

Замена микросхем приемников и передатчиков существенно облегчается, если они установлены в «кроватки» (что на системных платах бывает крайне редко, а на ISA-адаптерах обычно применяется только для второго (необязательного) порта. Перед заменой следует с помощью осциллографа (или вольтметра) удостовериться в неисправности конкретной микросхемы. Расположение выводов популярных микросхем приведено па рис. 9.17.

Если буферные элементы включены в состав интерфейсной БИС (что теперь весьма распространено), то такой порт почти неремонтопригоден (по крайней мере, в обычных условиях). Неисправный СОМ-порт. установленный па системной плате, можно попытаться отключить опциями BIOS SETVP, по порт мог сгореть и вместе со схемой своего отключения — тогда он может остаться «живым мертвецом» в карте портов ввода/вывода и прерываний. Иногда такой «мертвец» полностью выводит из строя системную плату.

При работе с СОМ-портами источниками ошибок могут являться разъемы и кабели. Разъемы могут иметь плохие контакты, а кабели кроме возможных обрывов, могут иметь плохие частотные характеристики. Частотные свойства кабелей обычно сказываются при большой длине (десятки метров) на высоких скоростях обмена (56 или 115 Кбит/с). При необходимости использования длинных кабелей на высоких скоростях (например, для связи двух PC) сигнальные провода данных должны быть перевитыми с отдельными проводами «схемной земли».

Питание от интерфейса (или почему может не работать мышь)

При подключении к СОМ-порту устройств с небольшим энергопотреблением возникает соблазн использования питания от выходных линий интерфейса. Если линии управления DTR и RTS не используются по прямому назначению, их можно использовать как питающие с напряжением около 12В на холостом ходу. Ток короткого замыкания на «схемную землю» ограничен буферной микросхемой передатчика на уровне 20 мА. При инициализации порта эти линии переходят в состояние «выключено», то есть вырабатывают положительное напряжение. Линия TD в покое находится в состоянии логической единицы, так что на выходе вырабатывается отрицательное напряжение. Потенциалами этих линий можно управлять через регистры СОМ-порта (выход TD вырабатывает положительное напряжение, если установить бит BRCON).

Двуполярным питанием от линий интерфейса (+V от DTR и RTS, — V от TD) пользуются все манипуляторы (Mouse, TrackBall), подключаемые к СОМ-портам. Зная это, в случае неработоспособности мыши с данным портом следует проверить напряжения на соответствующих контактах разъема. Бывает и такое — с конкретным портом не работает только конкретная мышь (модель или экземпляр), хотя другие мыши с этим портом и эти же мыши с другими портами работают нормально. Здесь дело может быть в уровнях напряжений под нагрузкой. Стандарт требует от порта выходного напряжения не менее 5 В (абсолютного значения), и, если данный порт обеспечивает только этот минимум, некоторым мышкам не хватит мощности для питания светодиодов оптических датчиков (главного потребителя энергии в мышке).

Порт получает двуполярное питание через системную плату от блока питания компьютера. Отсутствие на выходе блока питания напряжения +12 В обычно обнаружится по неработоспособности дисков. Отсутствие напряжения -12В «заметят» только устройства, подключенные к СОМ-портам. Блок питание теоретически контролирует наличие этих напряжений на своем выходе (сообщая о неполадках сигналом POWER GOOD, вызывающим аппаратный сброс). На практике встречаются и упрощенные схемы блоков питания, у которых контролируются не все напряжения. Кроме того, возможны и плохие контакты в разъеме подключения питания к системной плате.

Источник