Ошибка инициализации порта com1 скорость 9600 возможно он занят

На чтение 12 мин Просмотров 1.6к. Опубликовано 14.03.2020

Содержание

  1. Смена номера COM порта для конкретного устройства
  2. Сброс привязок COM портов через реестр
  3. Кассовые аппараты порт
  4. Смена номера COM порта для конкретного устройства
  5. Сброс привязок 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 порт. В этом случае придется прибегнуть к редактированию реестра.

Информация об используемых COM портах хранится в ключе реестра CommDB в разделе HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCOM Name Arbiter

    Откройте редактор реестра (regedit) и перейдите в указанную ветку.


Значение параметра ComDB в двоичном формате определяет список COM портов зарезервированных в системе. Каждый бит определяет состояние соответствующего порта (от 1 до 255). К примеру, если нам нужно оставить резервацию только для COM3, hex значение ComDB будет равно 04 (0000 0100)

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

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

1) Просто включите на 5-7 секунд кассовый аппарат, и включите его заново.
2) Перегрузите кассовый компьютер и загрузите заново кассовую программу именно так как вы это делаете обычно.

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

При этом в подавляющем большинстве случаев даже в случае с красным светодиодом — т.е. в случае если аппарат висит в ошибке связь будет — и программа просто напишет в информационном сообщении что либо о конкретной ошибке — что не нравиться аппарату или что вы сделали не правильно – закончилась бумага, или ошибка такая.. да бывают тяжелые случае как например залили аппарат водой, или от перепада напряжения – скакнуло напряжение и погорела половины приборов в магазине в том числе и касса, в таких случаях понятное дело касса с красным светодиодом не найдется. Т.е кассовая программа напишет, нет связи ККТ ШТРИХ, АТОЛ, ПРИМ, но это из разрядов тяжелых случаев с которыми в любом случае самостоятельно не справиться.

4) Проверьте кабель соединяющий com-порт компьютера или юзб порт компьютера с соответствующем разъемом кассового аппарат, а при использовании переходника и надежность фиксации разъемов самого переходника USB-COM.

При использовании разъема USB – важно вставить соединительный провод именно в тот разъем в котором и был подключен аппарат. Так как фискальные аппараты работают все равно в эмуляции com-порта, и каждому гнезду USB присваиваться свой номер — который в конечном итоге фигурирует во всех настройках кассовой программы. Но об этом еще по говорим ниже…

Вообще подавляющее большинство вариантов такой ошибки решается именно таким способом — ПРОВЕРЯЕМ СМОТРИМ КАБЕЛИ – простой проверкой надежности контактов соединительного кабеля.

Однако что же делать если аппарат включен – горит зеленым, провода проверили, компьютер перегрузили, а связи по прежнему нет?

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

Рассмотрим простой случай у нас кассовая программа работает под операционной системой Windows – не важно какой версии и/или поколения.

Проще всего выйти из программы — закрыть ее полностью (не гося – не закрывая смены если она отрыта конечно). Просто выходим (!Не сворачиваем, а выходим — закрываем — завершаем программу кассира).

Затем в зависимости от производителя кассы- (чаще всего из фискальников встречаются ШТРИХ и АТОЛ – в силу обратно же легкости их настройки и подключения к большинству существующих кассовых программ) заходим в меню Пуск –Все программы — АТОЛ технологии или Штрих затем в подпунктах находим «Драйвер ККМ –ФР любой версии — с любыми циферками»
Запускаем утилиту.

Затем в правой части программы с низу находим кнопочку «Свойства» нажимаем ее. Открывается под-окно, в нем ищем справа кнопочку «Поиск»«Поиск оборудования». Нажимает ее.

Кассовые аппараты порт

Открывается третье подокно. В нем нажимаем кнопочку «Поиск» или «Начать поиск». Здесь мы видим все com-порты компьютера, в том числе и виртуальные. В случае если оборудование — фискальник найден — высвечивается номер ком-порта, скорость работы ком порта фискальника, и модель аппарата.

Запомнив эти данные мы закрываем наше крайнее окно и в преведущем устанавливаем соответствующие запомненные нами значения. Жмем кнопку «Проверки связи».

Если в «Строке состоянии:» или строке «Код ошибки:» в нижней части высветился номер и название кассового аппарата, то все сделано правильно, и в случае с 1С-кой достаточно часто этого достаточно. Так как данные настройки драйвера автоматически берутся многими 1с –ками.

В случае с другими кассовыми программами мы лишь выяснили, что аппарат находится компьютером, и проблема в кассовой программе. Иногда достаточно просто зайти под администраторам в программу и поменять на соответствующей настроечной вкладке — в соответствующем разделе настройки кассового оборудования – программы на наши найденные значения. После чего по логике вещей аппарат найдется. Но здесь возникаем вопрос, а почему поменялся косм-порт и скорость?

Здесь продолжим уже рассмотренные выше капризи юзб.. В случае с USB — это может объясняться тем что шнурок от кассы просто о вынули – или он сами вывалился из разъема и его воткнули по ошибки в соседний не заметив этого. НЕ смотря на то, что разъемы одинаковые, но в случае с кассами каждому их юзби разъемов присваивается виртуальный com-порт. И у каждого гнезда он свой. И если в случае с обычным принтером иногда виндовс прощает это, в случае с кассой такой номер не пройдет. Поэтому просто пометьте какое гнездо USB вы отвели под кассовый аппарат (к прикручивать ЮЗБ не возможности ).

В случае с родным com – портом, нумерация поменяться не могла, но комп-порт с данным номером может занять другое приложение. (существует два вида реализации программных продуктов – порт занимается лишь во время выполнения операции или он занимается конкретным приложением в момент его загрузки и не освобождается – становиться не доступным для других до момента завершения -закрытия данного приложения).

Иногда по невнимательности вы можете просто запустить дважды например 1-ку, при этом вторая с значительной долей вероятности может уже не найти фискальник, так как порт занят первым (в 1c — ке– вариантов реализации работы с компортом столько же сколько и программистов))).

Подробно с принсринами каждого шага о том как первоначально настроить кассу ФР для работы с компьютером (запуск, выбор портов, скорости, и тд) написано здесь:

В случае с другой скоростью аппарата: варианты скорее всего будут такими:

1) Аппарат забирали в ремонт, или просто перенастраивали – и не вернули его старые параметры обмена –т.е. скорость работы его интерфейса – com порта.

Т.е. любой фискальник может работать на следующих скоростях: 4800, 9600, 19200, 57000, 115000. Наиболее распространенные: 111500, и 9600, а так еже иногда 4800. В случае с использованием последнего – при пробитии кассового чека с значительной дополнительной информацией — длинным чеком с длинным полным наименованием товаров – может наблюдаться увеличение времени пробития чека в 2-3 раза в сравнении с использованием скорости ком-порта в 115 200 Бит. Т.е пробитие простого чего без дополнительной текстовой информации (в виде наименований товара, большого длинного клише – логотипа, просто рекламной информации) по скорости исполнения проводиться практически одинаково, так как сами суммы чека передаются при любой скорости почти мгновенно, а вот в случае если необходимо передать дополнительную информации в случае с 4800 наблюдается явное заметное снижение производительности — скорости работы аппарата. Хотя конечно не смертельное, и не всегда как уже писалось выше многими заметное.

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

2)Так же сброситься на 4800 скорость может по следующим причинам:
В случае продукцией Штрих – был сделан селф-тест – проверочный тест –т.е. аппарат переключили с зажатой кнопкой протяжки – аппарат прошел тест – распечатал техническую информацию и тестовый символы для проверки качества печати термоголовки, после переключения он вышел из данного состояния теста, но скорость его останется на 4800. В случае с продукцией Штрих М или (ПТК) – ФР из-за не совсем удачного расположения кнопки протяжки – данное явление периодически наблюдается в виде самопроизвольного перехода аппарата в данный режим за счет недооджима кнопки протяжки в следствии слишком малого места между корпусом и самой кнопкой.

3) Третий вариант более плачевен, аппарат обнулился, т.е. исчез заголовок- вместо названия вашей фирмы печатается например слово «Торговый объект», улетела дата на несколько лет назад (к году выпуска прошивки аппарата). В таком случае просто выключите аппарат и вызовите мастера, и лучше обойтись без попыток пробития или закрытия смены. А проверяется все просто снимаем х-отчет — документа который ни чего не делает, ни чего не двигает, а просто снимает оперативную сводку по кассе без каких либо изменений в содержании счетчиков оной.

Однако мы обратно отвлеклись..

4) слетели настройки в программы или в драйвере – очень редко, но все же не исключен и здесь вариант с вирусами на компьютере или самовольном обновлении например с операционной системой Window 8 (где для разрешения работы драйвера после стандартного обновления необходимо перегружаться по F8, и разрешать конкретному приложению работу.. безопасность мля..).

Вариант с вирусами которые до такой степени «съели систему» призрачен. Так как кроме данной проблемы обычно начинаются проблемы в работе кассовой программы и операционной системы в целом, а не только в проблемах с связью аппарата и компьютера.

Уф, устал, наверное пока хватит.. Вообще конечно сложно вот так запихнуть в одну статью не «..хнуемое» однако если будет время и желание подраскоем тему и дальше..

Каждый раз при подключении нового 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 порт. В этом случае придется прибегнуть к редактированию реестра.

Информация об используемых COM портах хранится в ключе реестра CommDB в разделе HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCOM Name Arbiter

    Откройте редактор реестра (regedit) и перейдите в указанную ветку.


Значение параметра ComDB в двоичном формате определяет список COM портов зарезервированных в системе. Каждый бит определяет состояние соответствующего порта (от 1 до 255). К примеру, если нам нужно оставить резервацию только для COM3, hex значение ComDB будет равно 04 (0000 0100)

ЛЭРС УЧЁТ

Загрузка…

Сейчас повторял ошибку предварительно удалив файлы из папок Log и BugReport.
В папку BugReport не записалось ничего .. в папке Log думаю наибольший интерес вызывают строки:

13:14:41.882 [6064] TQueueTasks.OnDataChange
13:14:41.882 [6064] TQueueTasks.OnDataChange — OK, Result=OK (0x0), dwTransid=0, hGroup=0, hrMasterquality=0, hrMastererror=0, dwCount=4, phClientItems=([4] 253, 254, 255, 256), pvValues=([4] 1, 5, 2, 8), pwQualities=([4] 192, 192, 192, 192), pftTimeStamps=([4] 16.01.17 09:44:05, 16.01.17 09:44:05, 16.01.17 09:44:05, 16.01.17 09:44:05), ItemIDs=([4] UniversContr.Globs.Adres, UniversContr.Globs.Speed, UniversContr.Globs.GlobMode, UniversContr.Globs.TypeIn)
13:14:43.375 [7692] [ComPort] Инициализации СОМ порта — OK, Порт=COM10
13:14:43.759 [7692] [ComPort] Ошибка СОМ порта, Порт=COM10
13:14:43.769 [6064] TQueueTasks.OnDataChange
13:14:43.769 [6064] TQueueTasks.OnDataChange — OK, Result=OK (0x0), dwTransid=0, hGroup=0, hrMasterquality=0, hrMastererror=0, dwCount=4, phClientItems=([4] 253, 254, 255, 256), pvValues=([4] 1, 5, 2, 8), pwQualities=([4] 280, 280, 280, 280), pftTimeStamps=([4] 16.01.17 13:14:43, 16.01.17 13:14:43, 16.01.17 13:14:43, 16.01.17 13:14:43), ItemIDs=([4] UniversContr.Globs.Adres, UniversContr.Globs.Speed, UniversContr.Globs.GlobMode, UniversContr.Globs.TypeIn)
13:14:54.931 [7692] [ComPort] СОМ порт недоступен, Порт=COM10
13:14:54.932 [7692] Ошибка инициализации порта (COM10 Адрес:1)
13:15:05.608 [7692] [ComPort] СОМ порт недоступен, Порт=COM10

тут видно, что сначала инициализация порта проходит «ОК» и сразу через 400 мс Ошибка COM порта. с чем это связано? хз.
сейчас видео скину как это выглядит.

Требования.
Статья применима для Windows 2000/XP/Vista/7.

Информация.
При установке некоторых программ иногда возникает проблема с доступностью порта. Т.е. вы устанавливаете программу, а она вам говорит: «Извините, но предпочитаемый порт номер занят!». И самое интересное программа не говорит чем или кем занят порт.

Как определить каким процессом (программой) занят порт.
1. В меню «Пуск» выберите пункт «Выполнить«;
2. В поле «Открыть» наберите команду cmd и нажмите кнопку «ОК»;

Откроется окно командной строки, примерно такого вида:

3. Наберите команду netstat -ano и нажмите кнопку «Ввод» (Enter) на клавиатуре;

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

4. Теперь в колонке «Локальный адрес», находим нужный нам порт и записываем его идентификатор в колонке «PID»;

Например порт номер 80, его идентификатор 440.

5. Снова открываем меню «Пучк» и выбираем пункт «Выполнить«;
6. В поле «Открыть» вводим команду taskmgr и нажимаем кнопку «ОК»;
7. В окне «Диспетчер задач Windows» переходим на вкладку «Процессы«;
8. В главном меню открываем пункт «Вид» и выбираем пункт «Выбрать столбцы. «;
9. В окне «Выбор столбцов» находим пункт «Идентиф. процесса (PID)» и ставим рядом с ним галочку;
10. Нажимаем кнопку «ОК»;
11. Теперь в окне «Диспетчер задач Windows«, нажимаем на заголовок столбца «PID», для сортировки процессов по возрастанию;
12. Находим номер нашего процесса 440 и в столбце «Имя образа«, смотрим какой процесс занимает наш порт;

Каждый раз при подключении нового 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 порт. В этом случае придется прибегнуть к редактированию реестра.

Информация об используемых COM портах хранится в ключе реестра CommDB в разделе HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCOM Name Arbiter

    Откройте редактор реестра (regedit) и перейдите в указанную ветку.


Значение параметра ComDB в двоичном формате определяет список COM портов зарезервированных в системе. Каждый бит определяет состояние соответствующего порта (от 1 до 255). К примеру, если нам нужно оставить резервацию только для COM3, hex значение ComDB будет равно 04 (0000 0100)

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

Самая распространённая проблема занятости порта встречается именно с портом номер 80 — одним из самых основных маршрутов у многих программ.

Итак, нам нужна наша любимая командная строка. Вызывается она через меню «Выполнить», которое, в свою очередь, вызывается комбинацией горячих клавиш Windows+R. В меню «Выполнить» вводим cmd — мы в командной строке.

Здесь нам необходима команда netstat -ano (прописываем именно так, с пробелом перед дефисом и без пробела без него!).

Мы увидим множество локальных адресов. все они имеют примерный вид xxx.xxx.x.xxx:PORT. Да, порт прописывается после двоеточия.

Выбираем конкретный порт, проводим пальцем до последнего столбца и узнаем ID процесса. Запоминаем число ID. На этом работа с командной строкой закончена.

Запускаем диспетчер задач (как его вызвать, знают все: Ctrl+Alt+Del или Ctrl+Shift+ESC).

Если вы используете систему Windows 8/8.1, то ID прописываются изначально во вкладке «Подробности». Если же Ваша OS — Windows 7 или ниже, то для начала идём в меню «Вид», выбираем пункт «Выбрать столбцы» и ставим галочку напротив PID.

Подтвердив изменения, мы увидим столбец с ID. Ищем число ID из командной строки, и тем самым легко узнаём, какой процесс, а следовательно — какая программа использует тот или иной порт. Итак, теперь Вы знаете, как проверить порты на предмет забитости, а это очень даже полезное умение в условиях большого количества программ, работающих в сети Интернет. Удачи!

При попытке подключения к прибору ТЭМ-104 через связь: нульмодемный кабель — коннектор RS232-USB- нетбук, программа TesmaStat выдает сообщение: Ошибка COM порта (100). Драйвер RS232-USB установлен. Теплосчетчик на нетбуке отображается как неизвестное оборудование.

Вы уверены, что «Теплосчетчик на нетбуке отображается как неизвестное оборудование».

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

Для работы программ с теплосчетчиком необходимым и достаточным условием является наличие драйверов USB-RS232 и отображение в Windows COM-порта.

Если пишете, что «Драйвер RS232-USB установлен», то подтвердите, на каком основании вы считаете, что он установлен?! Укажите номер этого COM-порта, как в системе он идентифицируется, сделайте в конце концов скриншот и пришлите нам!

«сообщение: Ошибка COM порта (100) » возникает скорее всего по причине того, что в самой программе неправильно задан номер порта! Возможно порт занят другой программой. В программе в меню «Дополнительно/Доступные COM-порты. » можно посмотреть, занят или свободен порт. Если он свободен , то будет выделен зеленым цветом.

Решение ошибки OpenServer занятого порта 3306

Источник: tem-104.blogspot.com

Пытаюсь создать модемное подключение к инету по телефонной линии (обычный dial-up). Модем у меня подключен к порту COM1. Когда инициирую соединение, выводится сообщение:»Порт, используемый модемом, в данный момент занят другим приложением. Закройте все приложения, которые могут использовать этот порт.» А какие это могут быть приложения?!

Как определить конкретную прогу, использующую порт? Визуально ничего не вижу.

автор: Alph[p]a (02.02.2007 в 11:49) письмо автору

У меня файрволл показывает кто ч0 использует..ну и ещ0 можно поискать в диспетчере устройств..

автор: cheops (02.02.2007 в 11:53) письмо автору

Модем один, никаких других модемов (в том числе и сотовых) нет? Дело в том, что почти все модемы используют эмуляцию порта, т.е. соединяетесь вы через USB, а COM порт в системе всё равно может быть занят. (правда сотовые модемы COM3 занимают, кстати поэтому так сложно подключить два сотовых USB-модема — зачастую обоим COM3 нужен).

автор: Krasnodar (02.02.2007 в 12:16) письмо автору

В свойствах модема можно изменить порт. У меня стоит встроеный (плата в системнике) модем и занимает com3, а мобильный телефон занимает com4. Попробуйте на своем модеме поменять номер порта и опросить его.

автор: coloboc66 (02.02.2007 в 14:57) письмо автору

1.Файерволл разве показывает номер порта?!
2.Поменять на модеме номер порта в ВинХР можно только переустановкой его драйвера, так?

автор: Krasnodar (02.02.2007 в 15:24) письмо автору

Как исправить ошибку инициализации?ОТВЕТ ЕСТЬ!

2. Нет. Заходишь в панель управления, телефоны и модемы, свойства (нужного модема) и на вкладке, помоему Дополнительно есть две кнопки, опять же если мне память не изменяет, то кнопка должна быть «Изменить умолчание». Точнее смогу сказать часа через полтора.

автор: Krasnodar (02.02.2007 в 15:24) письмо автору

2. Нет. Заходишь в панель управления, телефоны и модемы, свойства (нужного модема) и на вкладке, помоему Дополнительно есть две кнопки, опять же если мне память не изменяет, то кнопка должна быть «Изменить умолчание». Точнее смогу сказать часа через полтора.

автор: coloboc66 (02.02.2007 в 16:12) письмо автору

Не — на вкладке Свойства- Дополнительно. есть только Службы доступа.

автор: Krasnodar (02.02.2007 в 16:54) письмо автору

так, заходите ПанельУправления -> Телефон и модем, переходите на вкладку Модемы, выбираете свой модем и нажимаете Свойства. В свойствах на вкладке «Дополнительные параметры связи» есть кнопка «Дополнительные параметры». ВА открывшемся окне, в левом нижнем углу будет написано «Номер СОМ-порта»

автор: coloboc66 (02.02.2007 в 17:24) письмо автору

В свойствах на вкладке «Дополнительные параметры связи» есть кнопка «Дополнительные параметры».. а у меня на вкладке «Дополнительные параметры связи» нет кнопки «Дополнительные параметры». А есть только строка «Дополнительные команды инициализации» и кнопка «Изменить умолчания». При щелчке по этой кнопке взможности изменить порт нет. Во как.

автор: Krasnodar (02.02.2007 в 18:41) письмо автору

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

Источник: www.softtime.ru

LectusSoft.com

Проблема следующего характера- на компьютере добавлено Bluetooth устройство предоставляющее службу Bluetooth SPP. т.е. в системе появляется com порт. Через этот порт с устройством нормально общаются терминальные программы , а также OPC сервер другой компании. Но когда подключаешься вашим сервером, то подключения не происходит и в лог выводится ошибка «Ошибка инициализации порта».
После этого к данному порту невозможно подключиться ничем т.к. пишет, что порт занят другой программой.. приходится удалять устройство из системы, отключать его, включать и снова устанавливать. После попытки подключения вашим сервером у блютус устройства удаляется предоставляемая им служба bluetooth spp. Физическое устройство — это модуль HC-05. Система win7x64. Как это можно исправить? неужели только проводное подключение?
P.S. c виртуальными портами ваш сервер работает замечательно.

Re: Проблема с подключением к COM порту.

Сообщение Pavell » 15 янв 2017, 12:11

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

Re: Проблема с подключением к COM порту.

Сообщение Pavell » 15 янв 2017, 13:47

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

Re: Проблема с подключением к COM порту.

Сообщение admin » 15 янв 2017, 16:01

Работа с COM портами идёт через Windows API функции. Без учёта того, аппаратный это COM порт или виртуальный. Ошибка инициализации может быть в том случае если не удалось подключиться к порту (функция CreateFile). Это может быть в двух случаях: нет данного порта или он занят другой программой.

Re: Проблема с подключением к COM порту.

Сообщение admin » 15 янв 2017, 16:05

Проверяте на текущей версии 3.10 сборка 17.
Вышлите содержимое каталогов Log и BugReport из папки профиля доступной через меню «Настройка» — «Папка профиля»

Re: Проблема с подключением к COM порту.

Сообщение Pavell » 16 янв 2017, 12:44

Сейчас повторял ошибку предварительно удалив файлы из папок Log и BugReport.
В папку BugReport не записалось ничего .. в папке Log думаю наибольший интерес вызывают строки:

13:14:41.882 [6064] TQueueTasks.OnDataChange
13:14:41.882 [6064] TQueueTasks.OnDataChange — OK, Result=OK (0x0), dwTransid=0, hGroup=0, hrMasterquality=0, hrMastererror=0, dwCount=4, phClientItems=([4] 253, 254, 255, 256), pvValues=([4] 1, 5, 2, 8), pwQualities=([4] 192, 192, 192, 192), pftTimeStamps=([4] 16.01.17 09:44:05, 16.01.17 09:44:05, 16.01.17 09:44:05, 16.01.17 09:44:05), ItemIDs=([4] UniversContr.Globs.Adres, UniversContr.Globs.Speed, UniversContr.Globs.GlobMode, UniversContr.Globs.TypeIn)
13:14:43.375 [7692] [ComPort] Инициализации СОМ порта — OK, Порт=COM10
13:14:43.759 [7692] [ComPort] Ошибка СОМ порта, Порт=COM10
13:14:43.769 [6064] TQueueTasks.OnDataChange
13:14:43.769 [6064] TQueueTasks.OnDataChange — OK, Result=OK (0x0), dwTransid=0, hGroup=0, hrMasterquality=0, hrMastererror=0, dwCount=4, phClientItems=([4] 253, 254, 255, 256), pvValues=([4] 1, 5, 2, 8), pwQualities=([4] 280, 280, 280, 280), pftTimeStamps=([4] 16.01.17 13:14:43, 16.01.17 13:14:43, 16.01.17 13:14:43, 16.01.17 13:14:43), ItemIDs=([4] UniversContr.Globs.Adres, UniversContr.Globs.Speed, UniversContr.Globs.GlobMode, UniversContr.Globs.TypeIn)
13:14:54.931 [7692] [ComPort] СОМ порт недоступен, Порт=COM10
13:14:54.932 [7692] Ошибка инициализации порта (COM10 Адрес:1)
13:15:05.608 [7692] [ComPort] СОМ порт недоступен, Порт=COM10

тут видно, что сначала инициализация порта проходит «ОК» и сразу через 400 мс Ошибка COM порта. с чем это связано? хз.
сейчас видео скину как это выглядит.

Re: Проблема с подключением к COM порту.

Сообщение admin » 16 янв 2017, 14:58

Re: Проблема с подключением к COM порту.

Сообщение Pavell » 16 янв 2017, 16:10

Re: Проблема с подключением к COM порту.

Сообщение admin » 16 янв 2017, 16:29

1) Какая то проблема с COM10. При тестировании порта открытие/закрытие прошли нормально.
При попытке использования порт не открывается.

2) Судя по логу другие порты работают нормально: COM2, COM11.

Разбирайтесь с COM10.

Re: Проблема с подключением к COM порту.

Сообщение Pavell » 16 янв 2017, 17:49

Ну понятно что проблема с COM10, но вопрос почему?
Драйвера этих портов: (ссылки на скриншоты на яндекс диске)

т.е. файл драйвера btmodem.sys Стандартный последовательный порт по соединению Bluetooth . Драйвер от майкрософта и с ним работают все терминальные программы, и другие серверы.
Затык где-то в инициализации.. может быть ввести задержку при повторном открытии порта после инициализации? может быть драйвер ожидает подтверждения закрытия от блютус модуля HC-05 и не успевает его получить? и на модуле остается открытым порт? но модуль HC-05 довольно распространенная и удобная штука очень хотелось бы чтобы с ней тоже можно было работать с помощью вашего сервера, а то у всех работает, а у вас нет)
Я конечно поищу сниффер портов, но пару лет назад искал безрезультатно, пока щас проводами припаялся к контроллеру.
но все равно ваш сервер лучший) вот этот небольшой ньюанс решить и вообще будет огонь. тип данных регистр с возможностью побитовой обработки регистра просто отлично работает. как я понял он берет регистр, заменяет в нем нужные биты и записывает весь регистр стандартной командой записи.. сначала все искал где он coils записывает). еще в тип данных «произвольная» надо бы на вкладках чтения и записи сделать флаг типа «добавлять адрес устройства в начало строки» чтоб можно было копировать в другое устройство и не переписывать адреса.

  • Отправить тему по email
  • Версия для печати

Источник: lectussoft.com

Требования.
Статья применима для Windows 2000/XP/Vista/7.

Информация.
При установке некоторых программ иногда возникает проблема с доступностью порта. Т.е. вы устанавливаете программу, а она вам говорит: «Извините, но предпочитаемый порт номер занят!». И самое интересное программа не говорит чем или кем занят порт.

Как определить каким процессом (программой) занят порт.
1. В меню «Пуск» выберите пункт «Выполнить»;
2. В поле «Открыть» наберите команду cmd и нажмите кнопку «ОК»;

Откроется окно командной строки, примерно такого вида:

3. Наберите команду netstat -ano и нажмите кнопку «Ввод» (Enter) на клавиатуре;

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

4. Теперь в колонке «Локальный адрес», находим нужный нам порт и записываем его идентификатор в колонке «PID»;

Например порт номер 80, его идентификатор 440.

5. Снова открываем меню «Пучк» и выбираем пункт «Выполнить»;
6. В поле «Открыть» вводим команду taskmgr и нажимаем кнопку «ОК»;
7. В окне «Диспетчер задач Windows» переходим на вкладку «Процессы»;
8. В главном меню открываем пункт «Вид» и выбираем пункт «Выбрать столбцы. «;
9. В окне «Выбор столбцов» находим пункт «Идентиф. процесса (PID)» и ставим рядом с ним галочку;
10. Нажимаем кнопку «ОК»;
11. Теперь в окне «Диспетчер задач Windows», нажимаем на заголовок столбца «PID», для сортировки процессов по возрастанию;
12. Находим номер нашего процесса 440 и в столбце «Имя образа», смотрим какой процесс занимает наш порт;

Каждый раз при подключении нового 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 порт. В этом случае придется прибегнуть к редактированию реестра.

Информация об используемых COM портах хранится в ключе реестра CommDB в разделе HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCOM Name Arbiter

    Откройте редактор реестра (regedit) и перейдите в указанную ветку.


Значение параметра ComDB в двоичном формате определяет список COM портов зарезервированных в системе. Каждый бит определяет состояние соответствующего порта (от 1 до 255). К примеру, если нам нужно оставить резервацию только для COM3, hex значение ComDB будет равно 04 (0000 0100)

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

Самая распространённая проблема занятости порта встречается именно с портом номер 80 — одним из самых основных маршрутов у многих программ.

Итак, нам нужна наша любимая командная строка. Вызывается она через меню «Выполнить», которое, в свою очередь, вызывается комбинацией горячих клавиш Windows+R. В меню «Выполнить» вводим cmd — мы в командной строке.

Здесь нам необходима команда netstat -ano (прописываем именно так, с пробелом перед дефисом и без пробела без него!).

Мы увидим множество локальных адресов. все они имеют примерный вид xxx.xxx.x.xxx:PORT. Да, порт прописывается после двоеточия.

Выбираем конкретный порт, проводим пальцем до последнего столбца и узнаем ID процесса. Запоминаем число ID. На этом работа с командной строкой закончена.

Запускаем диспетчер задач (как его вызвать, знают все: Ctrl+Alt+Del или Ctrl+Shift+ESC).

Если вы используете систему Windows 8/8.1, то ID прописываются изначально во вкладке «Подробности». Если же Ваша OS — Windows 7 или ниже, то для начала идём в меню «Вид», выбираем пункт «Выбрать столбцы» и ставим галочку напротив PID.

Подтвердив изменения, мы увидим столбец с ID. Ищем число ID из командной строки, и тем самым легко узнаём, какой процесс, а следовательно — какая программа использует тот или иной порт. Итак, теперь Вы знаете, как проверить порты на предмет забитости, а это очень даже полезное умение в условиях большого количества программ, работающих в сети Интернет. Удачи!

Источник: dudom.ru

Когда вы подключаете к компьютеру новое COM или некоторые USB устройства (например, USB модем, мобильный телефон, Bluetooth адаптер, конвертеров последовательных портов в USB и т.п.), Windows определяет его через механизм Plug-n-Play и назначит ему номер COM порта в диапазоне от 1 до 255 (COM1, COM2, COM3 и т.д.). При повторном подключении этого же устройств, ему назначается номер COM порта (Communication Port, или Serial port), зарезервированный за ним ранее. Новым устройствам выдается первый незанятый номер COM порта. Не редкость, когда внешние устройства при подключении создают сразу несколько COM портов (в моем случае после подключения адаптера Bluetooth, в системе появилось сразу 10
!!!!
новых COM портов).

Ряд приложений (как правило, довольно древних), способны адресовать только двухзначные номера COM портов, и отказываются работать с COM100 и выше. Или видят только COM1-COM9 устройства. Что делать, если подключенное устройство получило высокий номер COM порта? Можно ли сбросить нумерацию для зарезервированных COM портов и удалить назначенные порты?

Содержание:

  • Изменить номер COM порта устройства в Windows
  • Определяем процесс, который использует COM в Windows
  • Сброс назначенных COM портов Windows через реестр

Изменить номер COM порта устройства в Windows

В Windows можно вручную изменить номер COM порта, назначенный устройству. Предположим требуемый COM порт уже занят, и мы хотим его попробовать его освободить. Для этого:

  1. Откройте диспетчер устройств (Device Manager) командой devmgmt.msc;
  2. В меню выберите View->Show Hidden Devices;Отобразить скрытые устройства
  3. Затем разверните Ports (COM & LPT) и найдите в списке устройство;
  4. Перейдите на вкладку Port Settings и нажмите кнопку Advanced;
  5. Текущий номер COM порта, назначенный устройству указан в поле COM Port Number;
  6. Чтобы изменить его, раскройте выпадающий список и выберите номер COMпорта, который хотите задать.Изменить номер назначенного COM порта

Но чаще всего изменить номер COM порт на другой не получится, так как все «низкие» COM порт уже используются (in use);

  1. В этом случае нужно попробовать удалить резервацию COM порта за другим устройством. В ветке Ports (COM & LPT) найдите которому назначен нужный вам номер COM порта (бледная иконка означает, что данный COM порт назначен, но в сейчас это устройство не подключено);
  2. Щелкните по нему ПКМ и выберите Uninstall;Удаление отключенного COM устройства
  3. Теперь вы можете назначить освобожденный COM порт другому устройству. Еще раз откройте свойства вашего устройство, перейдите на вкладку Port Settings -> Advanced. Задайте свободный номер COM порта для вашего устройства.Смена COM порта

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

Вы можете вывести полный список занятых COM портов в Windows с помощью PowerShell:

Get-WMIObject Win32_SerialPort | Select-Object Name,DeviceID,Description

Можно определить номер COM порта для определённого устройства по его имени, например:
Get-WMIObject Win32_SerialPort | Where-Object { $_.Name -like "*Arduino*"}|select name, deviceid

Или
Get-WMIObject Win32_SerialPort | Where-Object { $_.Name -like "*GPS*"}|select name, deviceid

Определяем процесс, который использует COM в Windows

Вы не сможете освободить COM порт устройства, которое используется Windows или запущенной программой, процессом. Сначала вам нужно завершить процесс/программу, которая использует сейчас COM порт. Чтобы определить имя процесса, который использует COM порт понадобится утилита Process Explorer (https://docs.microsoft.com/en-gb/sysinternals/downloads/process-explorer).

Сначала нужно вывести имя службы, которая использует COM порт. Выполните команду PowerShell:

get-pnpdevice -class Ports -ea 0| Select Name, PNPDeviceID, Status, Service

powershell: получить название процессов и служб использующих COM порты в windows

Имя службы данного COM порта указано в столбце Service. Например, для COM2 это Serial. Теперь нужно запустить Process Explorer с правами администратора и выбрать в меню Find -> Find Handle or DLL. В строке Hangde or DLL substring введите значение Service, полученное ранее. В нашем примере это
Serial
.

Process Explorer должен показать процесс, который использует сейчас ваш COM порт. Чтобы освободить COM порт, завершите процесс или программу.

Process Explorer - ищем процесс или программу, которая используется com serial порт в windows

Сброс назначенных COM портов Windows через реестр

Информация об используемых COM портах хранится в ключе реестра CommDB в разделе HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCOM Name Arbiter

  1. Откройте редактор реестра (regedit.exe) и перейдите в указанную ветку.

    Важно! Настоятельно рекомендуем предварительно создать резервную копию данной ветки реестра (File -> Export). В том случае, если что-то пойдет не так, вы сможете вернуться к первоначальной конфигурации COM портов.

    COM Name Arbiter

  2. Значение параметра ComDB в двоичном формате определяет список COM портов, зарезервированных в системе. Каждый бит определяет состояние соответствующего порта (от 1 до 255). К примеру, если нам нужно оставить резервацию только для COM3, hex значение ComDB будет равно 04 (0000 0100);ComDB

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

  3. Если нужно полностью сбросить все привязки COM, измените значение ключа ComDB на 0.Сбросить привязки COM портов

    Примечание. В разделе HKEY_LOCAL_MACHINEHARDWAREDEVICEMAPSERIALCOMM можно увидеть полный список COM портов, доступных в Windows.В разделе HKEY_LOCAL_MACHINEHARDWAREDEVICEMAPSERIALCOMM можно увидеться список COM портов, подключенных к системе.SERIALCOMM

  4. В ветке HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionPorts содержится список назначенных COM портов. Все ненужные порты можно удалить (в нашем примере мы оставим только COM3 и удалим остальные);список COM портов в реестре
  5. Отключите все оборудование и перезагрузите Windows;
  6. После перезагрузки включите оборудование в нужном порядке (переустановите конверторы USB-to-serial и т.д.). Все обнаруженные COM-порты автоматически определяться системой и им будут последовательно выделены номера COM портов.

Также вы можете использовать следующие две бесплатные утилиты для очистки занятых (In Use) COM портов:

  • COM Name Arbiter Tool – утилита для освобождения занятых COM портов. Запустите утилиту с правами администратора, выберите COM порты, которые вы хотите освободить и нажмите Clear unused Reservations и Remove non-present devices;утилита COM Name Arbiter для очистки занятых COM портов в Windows
  • Device Cleanup Tool – утилита используется для поиска в реестре информации о ранее подключенных устройств (в ветке HKEY_LOCAL_MACHINESYSTEMCurrentControlSetEnum) и удаления неиспользуемых устройств и очистки резерваций COM портов.

  • Ошибка инициализации приложения астрал отчет
  • Ошибка инициализации подсистемы записи дампов kvrt
  • Ошибка инициализации приложения адобе акробат
  • Ошибка инициализации плеера яндекс
  • Ошибка инициализации приложения adobe acrobat reader dc