Sorry, если уже было, но поиском ответа не нашел.
На ноутбуке установлен USB-эмулятор COM-порта, например, http://www.ftdichip.com/Documents/InstallGuides.htm
Эмулятор настроен, к примеру, на COM4
В USB-порт воткнуто некоторое работоспособное устройство.
Также на ноуте имеет несколько сторонних программ для работы с этим устройством через COM-порт.
Беда в том, что если поработать с одной программой, настроив ее на COM4, а потом ее штатно закрыть, запустить другую программу нельзя — пишет, что COM-порт занят.
отсоединение шнурка, «запретить/разрешить» драйвер USB2COM не помогает.
решает только перезагрузка. но это очень неудобно.
может, кто знает програмку, которая может высвободить незакрытый кем-то COM-порт?
если кто знает программный алгоритм, тоже буду благодарен.
Re: Как высвободить занятый COM-порт?
От: | mpn-2005 |
Дата: | 05.10.11 07:47 |
Оценка: |
Здравствуйте, m-Dima, Вы писали:
Процесс не может получить доступ к файлу, так как он используется другим процессом в Windows 11 —
MD>Привет, All.
MD>Sorry, если уже было, но поиском ответа не нашел.
MD>На ноутбуке установлен USB-эмулятор COM-порта, например, http://www.ftdichip.com/Documents/InstallGuides.htm
MD>Эмулятор настроен, к примеру, на COM4
MD>В USB-порт воткнуто некоторое работоспособное устройство.
MD>Также на ноуте имеет несколько сторонних программ для работы с этим устройством через COM-порт.
MD>Беда в том, что если поработать с одной программой, настроив ее на COM4, а потом ее штатно закрыть, запустить другую программу нельзя — пишет, что COM-порт занят.
MD>отсоединение шнурка, «запретить/разрешить» драйвер USB2COM не помогает.
MD>решает только перезагрузка. но это очень неудобно.
MD>может, кто знает програмку, которая может высвободить незакрытый кем-то COM-порт?
MD>если кто знает программный алгоритм, тоже буду благодарен.
Выдернуть и вставить USB-COM должно помогать.
Не очень правда удобно, но проще чем перезагружаться.
Re: Как высвободить занятый COM-порт?
От: | ononim |
Дата: | 05.10.11 07:59 |
Оценка: |
MD>Также на ноуте имеет несколько сторонних программ для работы с этим устройством через COM-порт.
MD>Беда в том, что если поработать с одной программой, настроив ее на COM4, а потом ее штатно закрыть, запустить другую программу нельзя — пишет, что COM-порт занят.
MD>отсоединение шнурка, «запретить/разрешить» драйвер USB2COM не помогает.
А если стопнуть сервис TapiSrv?
Как много веселых ребят, и все делают велосипед.
Re[2]: Как высвободить занятый COM-порт?
От: | m-Dima |
Дата: | 05.10.11 08:51 |
Оценка: |
Здравствуйте, mpn-2005, Вы писали:
лекция 353 Виртуальный СОМ порт
M2>Здравствуйте, m-Dima, Вы писали:
MD>>Привет, All.
MD>>Sorry, если уже было, но поиском ответа не нашел.
MD>>На ноутбуке установлен USB-эмулятор COM-порта, например, http://www.ftdichip.com/Documents/InstallGuides.htm
MD>>Эмулятор настроен, к примеру, на COM4
MD>>В USB-порт воткнуто некоторое работоспособное устройство.
MD>>Также на ноуте имеет несколько сторонних программ для работы с этим устройством через COM-порт.
MD>>Беда в том, что если поработать с одной программой, настроив ее на COM4, а потом ее штатно закрыть, запустить другую программу нельзя — пишет, что COM-порт занят.
MD>>отсоединение шнурка, «запретить/разрешить» драйвер USB2COM не помогает.
MD>>решает только перезагрузка. но это очень неудобно.
MD>>может, кто знает програмку, которая может высвободить незакрытый кем-то COM-порт?
MD>>если кто знает программный алгоритм, тоже буду благодарен.
M2>Выдернуть и вставить USB-COM должно помогать.
M2>Не очень правда удобно, но проще чем перезагружаться.
не помогает, увы. я же писал, что выдергивал шнурок.
Re[2]: Как высвободить занятый COM-порт?
От: | m-Dima |
Дата: | 05.10.11 08:52 |
Оценка: |
Здравствуйте, ononim, Вы писали:
MD>>Также на ноуте имеет несколько сторонних программ для работы с этим устройством через COM-порт.
MD>>Беда в том, что если поработать с одной программой, настроив ее на COM4, а потом ее штатно закрыть, запустить другую программу нельзя — пишет, что COM-порт занят.
MD>>отсоединение шнурка, «запретить/разрешить» драйвер USB2COM не помогает.
O>А если стопнуть сервис TapiSrv?
попробую, спасибо.
отпишусь, если поможет
Re: Как высвободить занятый COM-порт?
Когда-то у меня был телефон Siemens и некий шнурок в USB, который позволял работать с телефоном на низком уровне. Этот шнурок эмулировал COM. Софт искал телефон автоматом и однажды перестал находить. Оказалось, что софт сканировал диапазон портов (скажем COM1-COM32), а телефон оказался вне диапазона (на 33-М).
Поиски в реестре по COM32 вывели на некую ветку, в которой оказались подветки для всех предыдущих значений. После чистки телефон обнаружился на COM1. Потом я нашел, этот список и через девайс-менеджер. Причем в моем случае порт инкрементился не при каждом вызове софта и подключении телефона и не исчезал при перезагрузке.
Я склоняюсь к тому, что это глюк дров. Девайс забивал некое соответствие USB-подключения и номера порта, а потом почему-то забывал сбросить. Соответственно в след.раз считал, что уже подключен аналогичный девайс и брал себе очередной порт.
Re[2]: Как высвободить занятый COM-порт?
Это я к тому, что поиск в реестре приводит иногда к интересным результатам. Это — раз.
А два — если драйвер не «отключить/включить», а удалить/установить?
Re[3]: Как высвободить занятый COM-порт?
От: | m-Dima |
Дата: | 05.10.11 13:09 |
Оценка: |
Re[4]: Как высвободить занятый COM-порт?
Ну я предлагал в плане эксперимента.
Еще в менеджере устройств можно включить режим «показывать скрытые» и даже незаконнекченные
Источник: www.rsdn.org
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 порт. В этом случае придется прибегнуть к редактированию реестра.
Сброс привязок 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 порт. В этом случае придется прибегнуть к редактированию реестра.
Сброс привязок COM портов через реестр
Информация об используемых COM портах хранится в ключе реестра CommDB в разделе HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCOM Name Arbiter
-
Откройте редактор реестра (regedit) и перейдите в указанную ветку.
Значение параметра ComDB в двоичном формате определяет список COM портов зарезервированных в системе. Каждый бит определяет состояние соответствующего порта (от 1 до 255). К примеру, если нам нужно оставить резервацию только для COM3, hex значение ComDB будет равно 04 (0000 0100)
Источник: auto-technologies.ru
Как очистить занятые com-порты в ОС Windows
Рассмотрим вопрос очистки занятых COM-портов на рабочих местах.
При подключении нового COM или USB-устройства ОС Windows назначает первый свободный номер COM-порта в диапазоне от 1 до 255.
Ряд устаревших приложений корректно работают только с портами COM1-COM9.
Что делать, если порты заняты? Как сбросить нумерацию для зарезервированных портов?
Как очистить занятые com-порты в ОС Windows
Указанные способы применяются, если при попытке смены автоматически выданного порта система пишет, что «низкие» COM уже используются (in use). Методика проверена на Windows 7.
Способ 1. Смена номера COM-порта для конкретного устройства
Чтобы освободить требуемый порт:
- запустите Диспетчер устройств (Device Manager) через командную строку с правами администратора;
set devmgr_show_nonpresent_devices=1
start devmgmt.msc
- в меню выберите « Вид — Показать скрытые устройства » (« View — Show Hidden Devices »);
- разверните ветку Ports (COM
- переназначьте освобожденный COM-порт другому устройству.
Способ 2. Если не получается освободить занятый COM-порт, применяем сброс привязок COM портов через реестр
✅ Для этого используем программу COM Name Arbiter Setter .
Интерфейс интуитивно понятен — убирая «галочку» с выбранного порта, информация добавляется в реестр, и порт освобождается.
⚡ Подписывайтесь на канал или задавайте вопрос на сайте — постараемся помочь всеми техническими силами. Безопасной и производительной работы в Windows и 1С.
Источник: dzen.ru