Почему отваливается сканер Mercury CL-200 в 1С при работе через RDP и как решить эту проблему

Системный администратор 1С v8.3 (Управляемые формы) 1С:Управление торговлей Торговля и дистрибуция
← На главную

При организации удаленной работы сотрудников через терминальный сервер (RDP) системные администраторы часто сталкиваются с нестабильной работой торгового оборудования. Типичный сценарий: беспроводной сканер штрихкодов Mercury CL-200 успешно подключается, виртуальный COM-порт пробрасывается в сессию, но при первой же попытке протестировать устройство в 1С или после непродолжительного времени работы порт «отваливается» и сканер перестает функционировать. Повторное появление порта происходит спонтанно, после чего он снова исчезает.

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

Причина 1. Блокировка виртуального порта антивирусным ПО (Kaspersky Endpoint Security)

Как показывает практика практикующих специалистов, одной из наиболее частых скрытых причин блокировки проброшенных портов является активность систем защиты на локальной машине пользователя. В частности, сетевые экраны и модули контроля устройств (например, Kaspersky Endpoint Security) могут расценивать процесс маппинга портов в RDP-сессию как потенциальную угрозу безопасности.

В момент инициализации теста устройства из 1С драйвер посылает активные запросы в порт для опроса оборудования. Антивирус фиксирует резкое изменение сетевой активности через службу проброса портов RDP и временно или перманентно блокирует этот канал обмена данными. При отключении защиты порт моментально восстанавливает работоспособность.

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

  1. Откроем консоль управления антивирусным ПО на локальном компьютере пользователя.
  2. Перейдем в раздел «Контроль устройств» (Device Control).
  3. Найдем в списке заблокированных или контролируемых устройств наш виртуальный COM-порт либо сам USB-контроллер сканера.
  4. Добавим аппаратный идентификатор сканера (Hardware ID, включающий параметры VID и PID) в список «Доверенные устройства».
  5. В настройках Сетевого экрана добавим в исключения RDP-клиент (процесс mstsc.exe) и разрешим неограниченный обмен данными по порту 3389 во внутренней локальной сети.

Решение 2. Альтернативный метод работы через Тонкий клиент 1С (Публикация базы)

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

Давайте разберем этот процесс по шагам:

  1. Выполним публикацию информационной базы 1С:Управление торговлей на веб-сервере (под управлением IIS или Apache) на стороне сервера.
  2. На локальных компьютерах пользователей, где установлен сканер Mercury CL-200, установим стандартный Тонкий клиент 1С:Предприятие той же версии платформы.
  3. Настроим подключение к базе в окне запуска 1С, указав веб-ссылку (URL) опубликованной базы.
  4. Установим локально драйвер торгового оборудования 1С на клиентских машинах.

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

Решение 3. Перевод сканера в режим эмуляции клавиатуры (USB-HID)

Среди технических специалистов существует заблуждение, что модель Mercury CL-200 поставляется исключительно в режиме эмуляции COM-порта и не может работать как клавиатурный сканер. Это не так. Данная модель является мультиинтерфейсной, однако ее перевод в другой режим работы требует точной последовательности действий.

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

Для настройки этого режима выполним следующие шаги:

  1. Возьмем руководство пользователя сканера (инструкцию по программированию), которое идет в комплекте или доступно на официальном сайте производителя.
  2. Считаем последовательно управляющие штрихкоды:
    • Штрихкод «Начало настройки» (Enter Setup);
    • Штрихкод режима «Интерфейс USB-HID» (или «Keyboard Emulation»);
    • Штрихкод «Конец настройки» (Exit Setup).
  3. Отключим базовую станцию сканера от USB-порта компьютера на 10-15 секунд и подключим обратно для перезагрузки контроллера.
  4. В настройках подключаемого оборудования 1С изменим тип подключения на «Клавиатура» и настроим префиксы/суффиксы (обычно используется суффикс возврата каретки CR или код #13).

Решение 4. Отключение энергосбережения USB-портов в Windows

Если порт пропадает после периода бездействия или сразу после теста устройства в 1С, причиной может выступать агрессивная политика энергосбережения операционной системы Windows на клиентском ПК. Система считает, что USB-устройство не используется активно, и отключает питание порта, что мгновенно разрывает RDP-мост.

Проанализируем процедуру отключения этой функции:

  1. На локальном компьютере откроем Диспетчер устройств (набрав в поиске или выполнив команду devmgmt.msc).
  2. Развернем ветку «Контроллеры USB».
  3. Для каждого элемента с названиями «Корневой USB-концентратор» (USB Root Hub) и «Generic USB Hub» выполним следующие действия:
    • Нажмем правой кнопкой мыши и выберем «Свойства»;
    • Перейдем на вкладку «Управление электропитанием»;
    • Снимем флажок с опции «Разрешить отключение этого устройства для экономии энергии»;
    • Нажмем кнопку «ОК».
  4. Дополнительно зайдем в «Панель управления» -> «Электропитание» -> «Настройка схемы электропитания» -> «Изменить дополнительные параметры питания». В разделе «Параметры USB» установим значение «Запрещено» для параметра «Временное отключение USB-порта».

Решение 5. Оптимизация нумерации и параметров COM-портов

При автоматической установке драйверов виртуального COM-порта система часто присваивает устройству высокие номера портов (например, COM16 или выше). Некоторые старые библиотеки интеграции 1С и механизмы перенаправления RDP работают некорректно со значениями портов выше 10.

Рекомендуется принудительно переназначить номер порта на более низкий свободный индекс:

  1. В Диспетчере устройств локального ПК найдем раздел «Порты (COM и LPT)».
  2. Откроем свойства виртуального COM-порта нашего сканера.
  3. Перейдем на вкладку «Параметры порта» и нажмем кнопку «Дополнительно».
  4. В выпадающем списке «Номер COM-порта» выберем свободный номер в диапазоне от COM3 до COM8.
  5. Проверим скорость передачи данных (Bits per second). Она должна быть одинаковой как в свойствах порта в диспетчере устройств локального ПК, так и в настройках подключения оборудования в 1С (обычно устанавливается значение 9600 или 115200).

Решение 6. Устранение сетевых задержек и аппаратный сброс контроллера

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

Для минимизации таких проблем рекомендуется:

В редких случаях сам беспроводной модуль сканера Mercury CL-200 может зависнуть из-за аппаратного сбоя во время тестирования портов. Если сканер перестал реагировать на любые изменения настроек, выполните его жесткий перезапуск: временно открутите крышку аккумуляторного отсека на рукоятке сканера, отключите разъем аккумулятора на 1-2 минуты, затем соберите устройство обратно. Это вернет внутренний микроконтроллер сканера в исходное рабочее состояние.

← На главную