Настройка com порта в windows 7

Обновлено: 04.07.2024

Довольно часто люди сталкиваются с непонятными, на первый взгляд, проблемами в работе программ или игр, связанными с невозможностью их подключения к серверу. Многие начинают искать причину не там, где нужно, пеняя на плохое интернет-соединение, несовместимость ПО или его высокие системные требования. Ответ может крыться в заблокированном канале передачи данных. Для этого нужно открыть порты в операционной системе Windows.

В нашей новой статье мы кратко расскажем вам об общем назначении портов и как их разблокировать в ОС Windows, приведя несколько примеров.

Что такое «Порт» и зачем он нужен

Основная задача персонального компьютера – обрабатывать информацию, используя для этого множество программ разного назначения. Большая часть программ обращается к собственному серверу для получения и отправки пакетов данных, например, регулярных обновлений или отдельных файлов (файлообменники). Передача информации происходит по определенному каналу – порту. Каждый порт (туннель) имеет свой номер, являющийся идентификатором и определяющий его назначение. Например, чтобы воспользоваться удаленным рабочим столом другого компьютера, нужно проверить статус и при необходимости открыть порт 3389.

При установке новой игры или другого софта по умолчанию происходит автоматическая проверка туннеля и подключение к серверу. Брандмауэр Windows выводит окно на экран с предложением о разрешении или запрете активности данной программы в сети. Если такового не наблюдается и ПО не хочет подключаться – нужно открыть его порт на компьютере.

Проверка статуса портов

Перед открытием туннеля сначала нужно проверить открытые порты в Windows. Для этого отлично подойдет обычная командная строка.

Другой способ – введите «cmd» (без кавычек) в поисковую строку Пуска и нажмите «Enter».


  1. В открывшейся командной строке задаем команду «netstat –aon | more» без кавычек. Система отобразит состояние всех активных туннелей.

Смотрим на два последних столбца и находим нужный номер. Напротив номера выведен его статус:


  • Listening – идет опрос свободного порта системой. Он является открытым.
  • Established – идет передача данных, порт занят.
  • Close wait – процесс прекращения передачи данных.
  • Time wait – порт не отвечает.
  1. Открыв «Диспетчер задач» комбинацией клавиш Ctrl+Alt+Delete, вы сможете узнать, чем занят нужный порт, сопоставив его номер из консоли с идентификатором процесса.

Если требуемый порт отсутствует или занят – переходим к следующему пункту.

Открываем порт через Брандмауэр Windows

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

Процесс деблокирования выглядит так:


  1. Заходим в «Пуск/Панель управления/Система и безопасность» и находим «Брандмауэр ЗащитникаWindows» (либо «Брандмауэр Windows»).
  2. Выбираем пункт «Дополнительные параметры».



  1. В этом меню содержится список процессов, использующих каналы для подключения к серверам. Для того чтобы открыть порты в брандмауэре, нажимаем на «Правила для входящих подключений» и «Создать правило».
  2. Если вам известно, какой именно канал вам нужен, то указываем пункт «Для порта».


Ради примера попробуем открыть порт 27015 для сетевого шутера Counter-Strike 1.6.



Выбираем «Разрешить подключение» и жмем «Далее».


Выделяем галочками все варианты.


Вписываем имя программы, например, «CS 1.6» и нажимаем кнопку «Готово».

Созданное нами правило появится в общем списке. Теперь порт для игры открыт. Этот способ является стандартным и он идентичен для последних версий Windows, начиная с «семерки».

Важно: если порт так и не заработал, то нужно включить его «проброс» в меню роутера. Но это отдельная тема для статьи.

Открываем порт 80

На этот раз мы обратимся к командной строке.

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

Применение стороннего софта CurrPorts

В рассмотренных выше способах использовались лишь стандартные ресурсы Windows, однако, в Сети есть несколько программ для открытия портов на Windows. Первой на обзоре мы выбрали «CurrPorts» версии 2.51 от разработчика Nir Sofer. Она помогает узнать все свои активные порты на Windows и пригодится для их быстрого освобождения, удаляя ненужный или опасный процесс. Программа бесплатна и легка в освоении.

Для ее использования:

На скриншоте мы видим, что антивирус Avast занимает два порта: 80 и 443. При желании мы можем закрыть данное соединение из контекстного меню или панели инструментов программы (но делать этого не советуем по понятным причинам). Закрывайте только те ненужные процессы, назначение которых вам известно.

Преимущества

  • Бесплатная программа на русском языке.
  • Не требует установки.
  • Отображает все запущенные процессы и занимаемые ими порты в реальном времени.
  • Предоставляет самую подробную информацию.
  • Можно освобождать порты от одного или всех процессов.
  • Классический понятный интерфейс.

Недостатки

Работаем с UPnP Wizard

Простая программка для управления портами «UPnP Wizard», работающая почти со всеми модемами по технологии UPnP. Вам не составит труда посмотреть открытые порты в Windows и освободить самые необходимые из них. ПО бесплатно, но не поддерживает русский язык, что может осложнить управление для некоторых пользователей.

Начинаем работу с UPnP Wizard так:

Для примера попробуем открыть порт 7777, который нужен для обмена данными с сервером игры SAMP (San Andreas Multiplayer Mod). Нажимаем на зеленый плюс панели инструментов.

Важно: если программа не может найти процессы – проверьте, подключена ли функция UPnP на вашем роутере, зайдя в его настройки.


  1. В окне создания порта вводим произвольное название (например, SAMP), номер порта (7777) и тип протокола (TCP). После этого подтверждаем данные кнопкой «ОК».

В таблице появится новый пункт с открытым портом для игры SAMP.

Преимущества

  • Бесплатная лицензия.
  • Красивый интерфейс без нагромождений.
  • Работает со многими моделями роутеров, поддерживающих технологию UPnP.
  • Можно быстро открывать и освобождать порты.

Недостатки

  • Нет перевода на русский язык.
  • Малоинформативная сводка о запущенных процессах.

Для посещения сервиса:


  1. Как видно на скрине выше, туннель 25565 уже занят. Таким образом вы сможете проверить любой канал на занятость.

Преимуществами такого способа выступают его доступность и отсутствие необходимости в установке отдельного ПО. Но он лишь служит как дополнение предыдущим двум вариантам.

Подводим итоги вышесказанному

В этой статье мы постарались дать вам ответ на вопрос: «как открыть порты на Windows 7 и 10?». Для этого нами было выбрано и описано самые востребованные способы решения данной проблемы с примерами.

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

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

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

Несмотря на отсутствие русскоязычного интерфейса, UPnP Wizard очень практична и может как создавать, так и освобождать порты. Единственным ограничением является требование к поддержке роутером UPnP интерфейса. Мы считаем, что этот вариант самый удобный для повсеместного использования.


Всем привет сегодня расскажу как переназначить COM порт для устройства в Windows 7. Windows запоминает устройства, с которыми вы работали ранее. Некоторые программы некорректно работают с COM портами с номерами 10 и выше. Что же делать в случае, если ваша плата получила такой номер? Как задать COM порт для устройства? Как удалить зарезервированные COM порты? Все это и многое другое, вас ожидает в описании данной статьи, все вопросы по данной теме я жду в комментариях, в конце статьи, я постараюсь дать на них развернутый ответ.

Открываем Мой Компьютер > Свойства


Как переназначить COM порт для устройства в Windows 7-01


Как переназначить COM порт для устройства в Windows 7-02

Открываем настройки переменных среды.


Как переназначить COM порт для устройства в Windows 7-03

Создаем новую переменную.


Как переназначить COM порт для устройства в Windows 7-04

Добавляем переменную DEVMGR_SHOW_NONPRESENT_DEVICES. Устанавливаем для неё значение в 1.


Как переназначить COM порт для устройства в Windows 7-05


Как переназначить COM порт для устройства в Windows 7-06

Теперь нам стали видны наши неиспользуемые устройства, занимающие COM порты и мы можем удалить их.


Как переназначить COM порт для устройства в Windows 7-07

В Диспетчере устройств (Мой Компьютер > Свойства > Диспетчер устройств) выбираем устройство, которому мы хотим изменить COM порт.


Как переназначить COM порт для устройства в Windows 7-08


Как переназначить COM порт для устройства в Windows 7-09


Как переназначить COM порт для устройства в Windows 7-10

Вот так вот просто переназначить COM порт для устройства в Windows 7.

Как настроить com порт на windows 7


Что подключают через com порт

Через com порт ранее подключали модемы, мышки. Сейчас он используется для соединения с источниками бесперебойного питания, для связи с аппаратными средствами разработки встраиваемых вычислительных систем, спутниковыми ресиверами, кассовыми аппаратами, с приборами систем безопасности объектов, а также с многими прочими устройствами.

С помощью COM-порта можно соединить два компьютера, используя так называемый «нуль-модемный кабель» (см. ниже). Использовался со времен MS-DOS для перекачки файлов с одного компьютера на другой, в UNIX для терминального доступа к другой машине, а в Windows (даже современной) — для отладчика уровня ядра.

Но в сетевом мире через com порт подключаются к консольному порту сетевых устройств (коммутаторов, роутеров, таких брендов как Cisco или Juniper)

Какая схема подключения к коммутаторам через последовательный порт. Есть переходники, например от фирмы st-lab На одном конце USB который вы подключаете к компьютеру, а второй это com порт.


Далее к ком порту подсоединяется вот такой шнурок, com порт, а с другой стороны LAN RJ45, и вся схема дает нам один большой шнурок USB to LAN.


Установка драйверов com порт usb в Windows

К сожалению в Windows подключенные устройства, usb to com не всегда автоматически устанавливаются в системе, и приходится искать для них драйвера. Если вы покупали его сами, то в комплекте шел диск с драйверами, и можно воспользоваться им, если его нет, то смотрим как найти драйвера.

Открываем диспетчер устройств в Windows. Если не знаете как, то нажмите CTR+Pause breake, либо нажмите Win+R и в окне выполнить введите devmgmt.msc. Как видите у меня в разделе Порты (COM и LPT) нашелся на третьем COM порту неизвестный провод, и драйверов для него не нашлось у системы, о чем говорит нам желтый значок.



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

Далее вы уже можете использовать возможности com порта, с помощью таких утилит на подобие Putty, где вы выбираете пункт Serial и указываете нужный порт Com порта, посмотреть его можно в том же диспетчере устройств.


Надеюсь вы научились и разобрались как подключать com порт usb в Windows.

Как настроить com порт на windows 7

Последовательный или COM-порт — это интерфейс стандарта RS-232, который служит для подключения различного оборудования к компьютеру. Из-за ограничения в размере информации (1 бит), передаваемой за один раз, данный порт получил второе название: последовательный. Интересным является тот факт, что в различных интерфейсах, таких как Ethernet или USB информация передаются также — последовательно, однако, такое название за ними не закрепилось.


Что делать если в компьютере нет COM-порта?

Изначально COM-порты использовались для подключения терминалов, модемов и мыши. В современное время основное назначение сводится к подключению всевозможных источников питания, микроконтроллеров, вычислительных систем, кассовых аппаратов и других устройств. Также COM-порт очень активно использовался для синхронизации компьютеров: к примеру, ноутбука с персональным компьютером. Сейчас такой подход сменился использованием USB-порта.

Что такое виртуальный COM-порт?

Виртуальный COM-порт воображает себе наша операционная система, при этом он отсутствует физически. Для «воображения» существуют специальные программы, одну из которых мы рассмотрим позже.

Для чего используется?

Поняв, что такое реальный COM-порт и для чего он используется, без труда можно представить себе необходимость в виртуальном COM-порте. Представьте: вам нужно подключить вычислительное устройство к компьютеру через COM-порт. Но у вас его нет! Или же подключить несколько устройств, а порт всего один. Как быть в такой ситуации? Спасает именно создание виртуального порта.

Таким образом, виртуальный порт позволяет имитировать его присутствие в компьютере при отсутствии оного. Примеровприменения довольно много. Однако наиболее часто виртуальный COM-порт применяется:

Как создать виртуальные порты?

Для их создания предусмотрены специализированные программы. Стоит выбирать те, которые предлагают нам установить нужные для виртуальных портов драйвера, поскольку их поиск — не очень приятное занятие.

Скачайте и установите программу Advanced Virtual COM Port. Установка занимает считаные минуты, при этом на одном из этапов нам предложат драйвер:


Программа для настройки виртуального com-порта в windows

Соглашаемся и нажимаем «Установить». Следует подождать несколько минут — не пугайтесь, если потребуется 5–10 минут. Это нормально.
После установки, заходим в программу и видим главное окно:


Оно содержит три основных вкладки: Общие (расширенные), клиентские и локальные порты.

Вкладка общие (или расширенные) порты позволяет делиться COM-портами через локальную сеть (LAN) или интернет. Таким образом, данные с виртуальных портов могут быть легко и быстро переданы другим пользователям.
Вкладка клиентские порты позволяют создавать порты на компьютере, которые подключаются к расширенным портам через виртуальный кабель нуль-модема. Стоит сказать, что виртуальный кабель программа предусматривает автоматически.
Вкладка локальные порты даёт возможность просматривать, создавать и удалять все пары виртуальных COM-портов.

Перейдём во вкладку локальные порты и нажмём кнопку Add. Перед нами откроется окно, предлагающее создать пару COM-портов, которые предполагаются быть соединёнными виртуальным нуль-модемным кабелем:


Создание виртуального com-порта в windows7


Виртуальные com-порты windows

Взаимодействие расширенных и клиентских COM-портов

Скорее всего, непонятным остаётся вопрос взаимодействия этих двух вкладок. На самом деле всё просто: расширенные порты позволяют делиться своими com-портами, то есть всей информацией, что доступны с устройств, подключённых к этим портам. Они подключаются к клиентским: тем, которые получают всю необходимую информацию.

Для создания расширенного порта достаточно в первой вкладке нажать кнопку Add и выбрать порт, которым мы делимся:


Расшаренный com-порт windows

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


Клиентский com-порт windows

Итоги

За бортом осталось ещё много чего интересного на тему COM-портов. Хотя эта технология и отходит на второй план с развитием других интерфейсов для подключения устройств, тем не менее пока что она всё ещё активно используются и знать тонкости её работы очень полезно.

Admin

Как открыть порты на компьютере с Windows 7

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

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

В операционную систему Windows такая защитная программа встроена, начиная с XP, и называется — Брандмауэр.

Брандмауэр Windows блокирует все внешние входящие подключения, защищая, таким образом, ваш ПК от атак различного типа извне. Но возможны ситуации, когда необходимо отключить эту защиту для конкретного порта — это необходимо для обеспечения работоспособности некоторых приложений, ожидающих входящих подключений. Такое отключение защиты называется открытие порта.

Далее мы подробно и последовательно расскажем, как открыть порты на Windows 7.

Первый этап

Итак, Брандмауэр Windows — это обязательно имеющийся в комплекте поставки системы программный комплекс.

Для выполнения нашей задачи необходимо выполнить последовательность действий:

Мы выполнили несколько очень простых манипуляций, все это был первый этап наших работ.

Каждый пользователь должен обратить внимание на тот факт, что во время работы с мастером новых подключений, тот будет постоянно давать советы. Они касаются, как дальнейших действий, так и общей работоспособности созданного порта. Не стоит игнорировать их, в них кроется много полезной информации.

Второй этап

Можно приступить к следующему этапу:

Мы предложили вам достаточно простую версию того, как открыть порты на Windows 7. Надеемся, что этот процесс не вызвал у вас трудностей. Если вы будете строго следовать нашей инструкции, то не возникнет никаких проблем.

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

Открытие портов увеличивает незащищенность системы и делает ее более доступной для некоторых видов атак и проникновения вирусов. Рекомендуем обязательно установить на ваш компьютер или ноутбук антивирусную программу.

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

Видео по теме

Как отрыть порт на Windows 7 через Брандмауэр, командную строку и программу

Всем привет! Сегодня я расскажу вам, как проверить и открыть порты на Windows 7. Мы попробуем три способа открытия: командная строка, брандмауэр и дополнительные программы. Возможно вам нужен будет проброс порта, но эта манипуляция делается на роутере, об этом я напишу в самой последней главе статьи. Также в самом начале вы можете посмотреть PDF файлик, где указаны все возможные порты (80, 7777б 1935, 27015) и их предназначение, возможно эта информация вам понадобится.

Список всех портов

Через Брандмауэр





ВНИМАНИЕ! Указывать «Все локальные порты» не рекомендуются по соображениям безопасности.




Через командную строку

Все то же самое можно сделать через командную строку Виндовс. Для этого откройте командную строку. Её можно найти в папке «Стандартные» по всех программах. Или ввести это название в поисковую строку меню «Пуск». Запускаем с правами администратор, для этого кликаем правой кнопкой мыши по программе и выбираем нужный режим запуска.


Теперь вводим команду:

netsh advfirewall firewall add rule name=”Наименование правила” protocol=”TCP или UDP” localport=Номер порта action=allow dir=IN

Как посмотреть результат открытия

Итак, порты мы открыли, но теперь давайте проверим, чтобы он был открыт в самой семерке.

После этого вводим команду:


Вы можете увидеть несколько параметров:


Как отрыть 80 порт

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



Дополнительные программы

Для более удобной работы можно использовать сторонние приложения. Они более удобные в работе из-за того, что помимо быстрого открытия и закрытия портов смогут показать, какими приложениями и процессами заняты уже открытые входы.

Проброс портов

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

Все эти настройки делаются в Web-интерфейсе интернет-центра. Сначала вам нужно зайти в Web-конфигуратор – нужно ввести IP или DNS адрес роутера в адресную строку любого браузера. Если вы не знаете, как туда зайти, то об этом подробно написано тут.

Так как интерфейсы у всех аппаратов разные, то нужно смотреть отдельные инструкции по своим моделям:

Если у вас еще остались вопросы, или я что-то не написал, то пишите свои вопросы в комментариях.

Последовательный или COM-порт — это интерфейс стандарта RS-232, который служит для подключения различного оборудования к компьютеру. Из-за ограничения в размере информации (1 бит), передаваемой за один раз, данный порт получил второе название: последовательный. Интересным является тот факт, что в различных интерфейсах, таких как Ethernet или USB информация передаются также — последовательно, однако, такое название за ними не закрепилось.

COM-порт для Windows

Что делать если в компьютере нет COM-порта?

Изначально COM-порты использовались для подключения терминалов, модемов и мыши. В современное время основное назначение сводится к подключению всевозможных источников питания, микроконтроллеров, вычислительных систем, кассовых аппаратов и других устройств. Также COM-порт очень активно использовался для синхронизации компьютеров: к примеру, ноутбука с персональным компьютером. Сейчас такой подход сменился использованием USB-порта.

Что такое виртуальный COM-порт?

Для чего используется?

Поняв, что такое реальный COM-порт и для чего он используется, без труда можно представить себе необходимость в виртуальном COM-порте. Представьте: вам нужно подключить вычислительное устройство к компьютеру через COM-порт. Но у вас его нет! Или же подключить несколько устройств, а порт всего один. Как быть в такой ситуации? Спасает именно создание виртуального порта.

Таким образом, виртуальный порт позволяет имитировать его присутствие в компьютере при отсутствии оного. Примеровприменения довольно много. Однако наиболее часто виртуальный COM-порт применяется:

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

Как создать виртуальные порты?

Для их создания предусмотрены специализированные программы. Стоит выбирать те, которые предлагают нам установить нужные для виртуальных портов драйвера, поскольку их поиск — не очень приятное занятие.

Скачайте и установите программу Advanced Virtual COM Port. Установка занимает считаные минуты, при этом на одном из этапов нам предложат драйвер:

Программа для настройки виртуального com-порта в windows

Программа для настройки виртуального com-порта в windows

Соглашаемся и нажимаем «Установить». Следует подождать несколько минут — не пугайтесь, если потребуется 5–10 минут. Это нормально.
После установки, заходим в программу и видим главное окно:

Кернел про -для настройки виртуального com-порта в windows

Кернел про -для настройки виртуального com-порта в windows

Оно содержит три основных вкладки: Общие (расширенные), клиентские и локальные порты.

Вкладка общие (или расширенные) порты позволяет делиться COM-портами через локальную сеть (LAN) или интернет. Таким образом, данные с виртуальных портов могут быть легко и быстро переданы другим пользователям.
Вкладка клиентские порты позволяют создавать порты на компьютере, которые подключаются к расширенным портам через виртуальный кабель нуль-модема. Стоит сказать, что виртуальный кабель программа предусматривает автоматически.
Вкладка локальные порты даёт возможность просматривать, создавать и удалять все пары виртуальных COM-портов.

Перейдём во вкладку локальные порты и нажмём кнопку Add. Перед нами откроется окно, предлагающее создать пару COM-портов, которые предполагаются быть соединёнными виртуальным нуль-модемным кабелем:

Создание виртуального com-порта в windows7

Создание виртуального com-порта в windows7

Жмём ОК. Переходим в Панель управления -> Система -> Диспетчер устройств.
Видим, что наши COM-порты были успешно созданы:

Виртуальные com-порты windows

Виртуальные com-порты windows

Взаимодействие расширенных и клиентских COM-портов

Скорее всего, непонятным остаётся вопрос взаимодействия этих двух вкладок. На самом деле всё просто: расширенные порты позволяют делиться своими com-портами, то есть всей информацией, что доступны с устройств, подключённых к этим портам. Они подключаются к клиентским: тем, которые получают всю необходимую информацию.

Для создания расширенного порта достаточно в первой вкладке нажать кнопку Add и выбрать порт, которым мы делимся:

Расшаренный com-порт windows

Расшаренный com-порт windows

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

Клиентский com-порт windows

Клиентский com-порт windows

Итоги

За бортом осталось ещё много чего интересного на тему COM-портов. Хотя эта технология и отходит на второй план с развитием других интерфейсов для подключения устройств, тем не менее пока что она всё ещё активно используются и знать тонкости её работы очень полезно.

Admin

Похожие статьи

Комментариев

Довольно сложным языком написано, без подведения итогов и раскрытия самим же заданных вопросов

Посмотрите еще дополнительно на эту тему здесь и здесь, возможно это вам будет интересно.

Подскажите как быть:

У меня есть теплосчетчик, с него считываются данные по RS-232, мне необходимо сигнал с RS-232 передать по сети Ethernet, не использую дополнительного оборудования (таких как Moxa).

Схема получается такая:

Устройство с RS-232 >>>> сеть Ethernet >>>>> Программное обеспечение, которое работает только с COM портами.

Алексей, если я правильно понимаю, то без адаптера com-to-ethernet (rs-232-ethernet) это невозможно сделать. Если вы не хотите использовать такой преобразователь, тогда вам нужно иметь com-port на принимающем компьютере.

Либо, если у вас вся загвоздка в передаче на дальнее расстояние по схеме rs-232>>>comp1>>>ethernet>>>comp2>>>софт, и по каким-то причинам нельзя использовать com-ethernet (1 сетевой интерфейс на принимающем хосте?), возможно вам подойдёт com-to-usb. Принимаете на первичный компьютер сигнал по юсб и дальше отправляете его по сети на обрабатывающий компьютер.

Com порт на принимающем компьютере будет.

Опишу точнее схему:

Прибор Взлет ТСРВ-033 >>> Cisco 2960 >>> 5 км кабельного расстояния между счетчиком и принимающей Cisco >>> Cisco 2960 >>> п.к. с Com портом >>> программное обеспечение, в настройках которого разрешена работа только с Com портом.

Вариант два. Дешевле и быстрее поставить старенький компьютер с ком-портом, пылящийся у кого нибудь в гараже. Это предложили сетевики, между прочим:)

Если есть принтер с разъемом под COM-порт, а на компе этого разъема нет, то как его подключать? Поставила я драйвер для виртуального COM-порта, но он же физически на компьютере не появился.


Переходник com-to-usb поможет для подключения такого принтера.

К сожалению никогда не пользовался этими программами, поэтому не смогу подсказать. Исследуйте функционал, пробуйте разные способы. Даже погуглить не смогу, потому как не понимаю точно что требуется и что не получается.

Здравствуйте. У меня такой вопрос. Есть 1 ком порт. Этот порт все время слушает некая программа. Нужно сделать так что бы этот порт делился на два виртуальных, что бы информацию с порта в реальном времени могла получать еще одна программа.

К сожалению, я никогда не использовал эти программы, поэтому не представляю как это можно сделать.
Однако простой запрос в поиск находит, что такие решения существуют и называется оно Serial Port Splitter.

Написать программу, управляющую устройством через COM-порт, для MS-DOS не так сложно. С платформой Win32 дело обстоит сложнее. Но только на первый взгляд. Конечно напрямую работать с регистрами портов нельзя, Windows это не позволяет, зато можно не обращать внимания на тонкости различных реализаций (i8251, 16450, 16550A) и не возиться с обработкой прерываний.

Содержание

С последовательными и параллельными портами в Win32 работают как с файлами. Для открытия порта используется функция CreateFile . Эта функция предоставляется Win32 API. Ее прототип выглядит так:

Указатель на строку с именем открываемого или создаваемого файла. Формат этой строки может быть очень «хитрым». В частности можно указывать сетевые имена для доступа к файлам на других компьютерах. Можно открывать логические разделы или физические диски и работать в обход файловой системы.

Последовательные порты имеют имена "COM1", "COM2", "COM3", "COM4", "COM5", "COM6", "COM7", "COM8", "COM9". Для доступа к портам, чей номер больше 9, необходимо указывать имя порта как "\\.\COMx", где x - номер порта. Например, "\\.\COM72" (в нотации языка C/C++ строка будет выглядеть "\\\\.\\COM72"). Такой синтаксис подходит для любого номера порта. Точно так же они назывались в MS-DOS. Параллельные порты называются «LPT1», «LPT2» и так далее.

Задает тип доступа к файлу. Возможно использование следующих значений:

  • 0 Опрос атрибутов устройства без получения доступа к нему.
  • GENERIC_READ Файл будет считываться.
  • GENERIC_WRITE Файл будет записываться.
  • GENERIC_READ|GENERIC_WRITE Файл будет и считываться и записываться.

Задает параметры совместного доступа к файлу. Коммуникационные порты нельзя делать разделяемыми, поэтому данный параметр должен быть равен 0.

Задает атрибуты защиты файла. Поддерживается только в Windows NT. Однако при работе с портами должен в любом случае равняться NULL .

Управляет режимами автосоздания, автоусечения файла и им подобными. Для коммуникационных портов всегда должно задаваться OPEN_EXISTING .

Задает атрибуты создаваемого файла. Также управляет различными режимами обработки. При работе с портом этот параметр должен быть или равным 0 , или FILE_FLAG_OVERLAPPED . Нулевое значение используется при синхронной работе с портом, а FILE_FLAG_OVERLAPPED при асинхронной, или, другими словами, при фоновой обработке ввода/вывода. Подробнее про асинхронный ввод/вывод я расскажу позже.

Задает описатель файла-шаблона. При работе с портами всегда должен быть равен NULL .

При успешном открытии файла, в данном случае порта, функция возвращает дескриптор ( HANDLE ) файла. При ошибке [[| INVALID HANDLE VALUE ]]. Код ошибки можно получитить вызвав функцию [[| GetLastError ]].

Открытый порт должен быть закрыт перед завершением работы программы. В Win32 закрытие объекта по его дескриптору выполняет функция CloseHandle :

При успешном завершении функция возвращает не нулевое значение, при ошибке нуль.

Основные параметры последовательного порта описываются структурой DCB . Временные параметры - структурой COMMTIMEOUTS . Существует еще несколько информационных и управляющих структур, но они используются реже. Настройка порта заключается в заполнении управляющих структур и последующем вызове функций настройки.

Основную информацию содержит структура DCB :

Эта структура содержит почти всю управляющую информацию, которая в реальности располагается в различных регистрах последовательного порта.

Задает длину, в байтах, структуры DCB . Используется для контроля корректности структуры при передаче ее адреса в функции настройки порта.

Скорость передачи данных. Возможно указание следующих констант: CBR_110, CBR_300, CBR_600, CBR_1200, CBR_2400, CBR_4800, CBR_9600, CBR_14400, CBR_19200, CBR_38400, CBR_56000, CBR_57600, CBR_115200, CBR_128000, CBR_256000 . Эти константы соответствуют всем стандартным скоростям обмена. На самом деле, это поле содержит числовое значение скорости передачи, а константы просто являются символическими именами. Поэтому можно указывать, например, и CBR_9600 , и просто 9600 . Однако рекомендуется указывать символические константы, поскольку при компиляции программы проверяется корректность их имен.

Включает двоичный режим обмена. Win32 не поддерживает недвоичный режим, поэтому данное поле всегда должно быть равно 1 , или логической константе TRUE (что предпочтительней). В Windows 3.1, если это поле было равно FALSE , включался текстовый режим обмена. В этом режиме поступивший на вход порта символ, заданный полем EofChar , свидетельствовал о конце принимаемых данных.

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

Включает режим слежения за сигналом [[| CTS ]]. Если это поле равно [[| TRUE ]] и сигнал [[| CTS ]] сброшен, передача данных приостанавливается до установки сигнала CTS . Это позволяет подключеному к компьютеру прибору приостановить поток передаваемой в него информации, если он не успевает ее обрабатывать.

Включает режим слежения за сигналом [[| DSR ]]. Если это поле равно TRUE и сигнал DSR сброшен, передача данных прекращается до установки сигнала DSR .

Задает режим управления обменом для сигнала [[| DTR ]]. Поле может принимать следующие значения:

Задает чувствительсть коммуникационного драйвера к состоянию линии [[| DSR ]]. Если это поле равно TRUE , то все принимаемые данные игнорируются драйвером (коммуникационный драйвер расположен в операционной системе), за исключением тех, которые принимаются при установленом сигнале DSR .

Задает, прекращается ли передача при переполнении приемного буфера и передаче драйвером символа XoffChar . Если это поле равно TRUE , то передача продолжается, несмотря на то, что приемный буфер содержит более XoffLim символов и близок к переполнению, а драйвер передал символ XoffChar для приостановления потока принимаемых данных. Если поле равно FALSE , то передача не будет продолжена до тех пор, пока в приемном буфере не останется меньше XonLim символов и драйвер не передаст символ XonChar для возобновления потока принимаемых данных. Таким образом это поле вводит некую зависимость между управлением входным и выходным потоками информации.

Задает использование XON/XOFF управления потоком при передаче. Если это поле равно TRUE , то передача останавливается при приеме символа XoffChar , и возобновляется при приеме символа XonChar .

Задает использование XON/XOFF управления потоком при приеме. Если это поле равно TRUE , то драйвер передает символ XoffChar , когда в приемном буфере находится более XoffLim , и XonChar , когда в приемном буфере остается менее XonLim символов.

Указывает на необходимость замены символов с ошибкой четности на символ задаваемый полем ErrorChar . Если это поле равно TRUE , и поле fParity равно TRUE , то выполняется замена.

Определяет действие выполняемое при приеме нулевого байта. Если это поле TRUE , то нулевые байты отбрасываются при передаче.

Задает режим управления потоком для сигнала RTS. Поле может принимать следующие значения:

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

Зарезервировано и не используется.

Не используется, должно быть установлено в 0 .

Задает минимальное число символов в приемном буфере перед посылкой символа XON .

Определяет максимальное количество байт в приемном буфере перед посылкой символа XOFF . Максимально допустимое количество байт в буфере вычисляется вычитанием данного значения из размера приемного буфера в байтах.

Определяет число информационных бит в передаваемых и принимаемых байтах. Число информационных бит может быть в диапазоне от 4 до 8 .

Определяет выбор схемы контроля четности. Данное поле должно содержать одно из следующих значений:

Задает количество стоповых бит. Поле может принимать следующие значения:

Задает символ XON используемый как для приема, так и для передачи. Обычно 0x11 ( 17 ).

Задает символ XOFF используемый как для приема, так и для передачи. Обычно 0x13 ( 19 ).

Задает символ, использующийся для замены символов с ошибочной четностью.

Задает символ, использующийся для сигнализации о конце данных.

Задает символ, использующийся для сигнализации о событии.

Зарезервировано и не используется.

Если структура DCB содержит конфигурацию для последовательного порта, совместимого с 8250, то к значениям полей ByteSize и StopBits применяются следующие ограничения:

  • Количество информационных бит должно быть от 5 до 8 .
  • Не допускается использование 5 информационных бит с 2 стоповыми битами, также как 6 , 7 или 8 информационных бит с 1,5 стоповыми битами.

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

Чтобы операция ReadFile немедленно возвращала управление со всеми полученными данными (асинхронный режим) следует задавать следующие значения:

ReadTotalTimeoutMultiplier - Множитель, используемый, чтобы вычислить полный период времени простоя для операций чтения, в миллисекундах. Для каждой операции чтения, это значение умножается на затребованное число байтов, которые читаются.

ReadTotalTimeoutConstant - Константа, используемая, чтобы вычислить полный (максимальный) период времени простоя для операций чтения, в миллисекундах. Для каждой операции чтения, это значение добавляется к произведению члена структуры ReadTotalTimeoutMultiplier и прочитанного числа байтов.

Значение нуля и для члена ReadTotalTimeoutMultiplier, и для члена ReadTotalTimeoutConstant указывает, что полное время простоя не используются для операций чтения.

WriteTotalTimeoutMultiplier - Множитель, используемый, чтобы вычислить полный период времени простоя для операций записи, в миллисекундах. Для каждой операции записи, это значение умножается на число записываемых байтов.

WriteTotalTimeoutConstant - Константа, используемая, чтобы вычислить полный период времени простоя для операций записи, в миллисекундах. Для каждой операции записи, это значение добавляется к произведению члена структуры WriteTotalTimeoutMultiplier и записанного числа байтов.

Значение нуля и для члена WriteTotalTimeoutMultiplier, и для члена WriteTotalTimeoutConstant указывает, что полное время простоя не используются для операций записи.

Вариант 1: (максимальная задержка при чтении и записи = TIMEOUT)

Вариант 2: Инициализация значениями (без задержки при чтении)

Для настройки параметров COM - порта может быть вызвано штатное окно Windows. Вызов осуществляется функцией CommConfigDialog(), которая в качестве параметров принимает имя настраиваемого порта, хендл родительского окна и указатель на структуру COMMCONFIG. Следует отметить, что для корректного вызова окна, структура COMMCONFIG должна быть заполнена значениями заранее. Настройку структуры можно выполнить вручную или при помощи функции GetCommConfig(). Например:

Прием и передача данных для последовательного порта может выполнятся в синхронном или асинхронном режимах. Асинхронный режим позволяет реализовать работу по событиям, в то время как синхронный лишен этой возможности, но является более простым в реализации. Для работы в синхронном режиме, порт должен быть открыт следующим образом:

Предпоследний параметр dwFlagsAndAttributes должен быть равен 0. После успешного открытия порта, данные могут быть считаны или записаны при помощи функций ReadFile() и WriteFile().

Функция ReadFile/WriteFile осуществляет чтение/запись из файла (устройства) начиная с текущей позиции после окончания чтения обновляет указатель в файле.

Недостатком этого способа является то, что вызывая функцию ReadFile(), мы не знаем есть ли данные для чтения. Можно циклически проверять их наличие, но это приводит к дополнительным расходам времени ЦП. Поэтому на практике часто удобней использовать асинхронный режим. Для этого при вызове функции CreateFile() параметр dwFlagsAndAttributes должен быть равен FILE_FLAG_OVERLAPPED.

Далее, необходимо настроить реакцию порта на события при помощи функции SetCommMask() и используя функции WaitCommEvent() и WaitForSingleObject() ожидать событие или тайм аут. Например:

Код для работы с COM-портом. Многострадальный, соответственно относительно простой и понятный, при этом обходит основные подводные камни. Надеюсь, может быть полезен.

Читайте также: