Сканер штрихкодов: подключение, Data Matrix, типовые сбои
Сканер пищит на каждом штрихкоде, а в программе — тишина; или код маркировки «Честного ЗНАКа» никак не хочет распознаваться, хотя обычный штрихкод товара читается без проблем. В обоих случаях дело почти всегда не в поломке сканера, а в режиме передачи данных или в настройке под конкретный тип кода. Разбираем диагностику по порядку.
1. Симптом → причина → раздел#
| Симптом | Вероятная причина | Раздел |
|---|---|---|
| Пищит, но в программу (или в Блокнот) ничего не попадает | Не тот режим передачи данных (HID/COM/драйвер) или программа не настроена под сканер | §2 |
| Буквы вместо цифр или код не срабатывает после скана | Раскладка RU/EN не совпадает со сканером, либо не настроен суффикс Enter/Tab | §3 |
| Сканер не реагирует на конкретный код физически | Повреждённый/затёртый код, блики от плёнки, грязное окно, неверная дистанция или угол | §4 |
| EAN-13 читает, Data Matrix — нет | Сканер 1D (лазерный), для Data Matrix нужен 2D-имиджер | §5 |
| Касса не принимает код маркировки при чтении | 2D-сканер не настроен на передачу спецсимволов GS1/FNC1 | §6 |
2. Как сканер отдаёт данные: HID, COM или драйвер#
Три способа, которыми сканер передаёт считанный код в компьютер:
- HID-клавиатура — самый частый режим «без настройки»: сканер эмулирует клавиатуру и «печатает» код в поле, где сейчас курсор, как будто его набрали руками.
- Виртуальный COM-порт — сканер виден системе как последовательный порт; данные должна забирать сама программа кассы/товароучёта, «в любое поле» как с клавиатурой не получится.
- Режим драйвера производителя — данные идут через SDK/службу, обычно для сложных сценариев (несколько сканеров, программные профили).
Диагностический тест. Откройте Блокнот, поставьте курсор в поле и отсканируйте штрихкод. Код появился — сканер и режим (скорее всего HID) исправны, а если рабочая программа при этом молчит — проблема в её настройке (ждёт другой режим или курсор не в том поле). В Блокноте тоже пусто — дело в самом сканере или режиме передачи (§3). Тест сразу отделяет «сканер не работает» от «программа не слушает сканер».
3. Пищит, но ничего не попадает в программу#
Если тест в Блокноте (§2) тоже ничего не дал, ищите здесь:
- Суффикс после кода. В HID-режиме сканер должен добавлять после кода символ Enter (реже Tab) — иначе курсор остаётся в поле ввода, и программа не понимает, что ввод закончен. Включается служебным штрихкодом из листа программирования модели (обычно PDF на сайте производителя).
- Раскладка клавиатуры. Сканер эмулирует конкретную раскладку (обычно EN-US). При активной RU-раскладке в системе буквенные символы кода выходят абракадаброй, цифры — верно. Решение: переключить системную раскладку либо перепрограммировать сканер под RU тем же служебным штрихкодом.
- Программа ждёт не тот режим. В Блокноте всё печатается штатно, а программа кассы молчит — проверьте в её настройках режим приёма (HID/COM) и приведите к тому, в котором реально работает сканер.
4. Сканер не видит код физически#
Прежде чем менять настройки — проверьте банально физику считывания:
- Состояние кода. Заломы, потёртости, надрыв этикетки на изгибе упаковки часто делают часть штрихов нечитаемой.
- Блики. Глянцевая плёнка или целлофан над кодом отражает подсветку сканера — наклоните упаковку под другим углом или снимите плёнку.
- Окно сканера. Пыль, отпечатки пальцев или царапины на считывающем окне снижают контраст — протрите мягкой тканью.
- Дистанция и угол. У каждой модели свой рабочий диапазон; слишком близко или под острым углом — код «не попадает» в кадр.
- Тип кода не по силам сканеру — см. §5, отдельная и очень частая причина.
5. EAN-13 читает, а Data Matrix — нет: 1D против 2D#
Это не поломка, а физическое ограничение технологии: 1D (лазерный) сканер читает только линейные штрихкоды (EAN-13, EAN-8, Code128) — он буквально сканирует одну линию лазером и не умеет интерпретировать двумерный рисунок. 2D-имиджер делает снимок кода камерой и читает и линейные коды, и двумерные — QR, Data Matrix, включая коды маркировки «Честного ЗНАКа».
Как понять свою модель: смотрите паспорт на сайте производителя («лазерный»/«1D» или «имиджер»/«2D») либо просто отсканируйте любой QR-код — 1D сканер на него не отреагирует вовсе. Если для маркировки нужен 2D, а сканер 1D — это не настраивается, нужна замена на 2D-модель.
6. Настройка 2D-сканера под «Честный ЗНАК»#
Код маркировки — это GS1 DataMatrix: несколько полей переменной длины (код товара, серийный номер, криптохвост) без разделителей-пробелов, вместо которых стоит служебный управляющий символ-разделитель групп (GS, он же FNC1). Если сканер передаёт код «сырым» без этого символа, поля слипаются в одну строку, и касса не может разобрать код — даже если сам штрихкод считан идеально.
Типовая настройка (пункты меню — по инструкции вендора к вашей модели, обычно лист программирования или утилита конфигурации):
- Включить распознавание символики GS1 DataMatrix (иногда «AIM-идентификаторы» — префикс с типом и версией кода).
- Включить передачу управляющих символов (GS/FNC1) в выходной строке — без этого пункта разбор кода маркировки не сложится.
- Сохранить профиль штрихкодом «Сохранить настройки» из того же листа.
- Проверить на демо-коде маркировки (не на реальном товаре) — убедиться, что в программу приходит полная строка с читаемыми полями, а не слипшийся набор цифр.
7. Подключение к смарт-терминалу и сброс к заводским настройкам#
Смарт-терминал (Android). Убедитесь, что терминал поддерживает USB-OTG (host-режим — не каждая модель включает это из коробки), подключайте сканер через OTG-кабель в режиме HID-клавиатуры — самый совместимый вариант без SDK производителя. Часть сканеров не запитывается от терминала полноценно через OTG: если не включается или мигает нестабильно, нужен кабель с внешним питанием или сканер со своим аккумулятором. Проверяйте тем же тестом, что в §2.
Сброс и настройка с нуля. Лист программирования (набор служебных штрихкодов для настройки без ПК) ищите на сайте производителя по точной модели, обычно раздел «поддержка»/«документация». Типовой порядок для незнакомого или проблемного сканера:
- Factory Reset — служебный штрихкод сброса из листа программирования.
- Базовый профиль передачи — HID-клавиатура (или COM, если того требует программа кассы, см. §2).
- Суффикс Enter после каждого кода — отдельный служебный штрихкод (§3).
- GS1 DataMatrix + передача GS/FNC1 — если планируется сканировать маркировку (§6).
Сканируйте коды строго по порядку листа — некоторые модели требуют между шагами служебный код «Сохранить», пропуск которого откатывает настройку.
8. Пример#
Магазин с маркированным товаром переставил приёмку на новый 2D-сканер «из коробки». Обычные штрихкоды на упаковке считывались прекрасно, а коды маркировки касса не принимала — не находила товар в чеке. Проверка листа программирования показала: профиль по умолчанию не включал передачу GS-разделителя. После шагов из §6 (GS1 DataMatrix + управляющие символы + проверка на тестовом коде) маркированный товар стал пробиваться штатно.
9. Как это сделать в Cenaly#
- Сканер подключается через Cenaly Hardware Bridge; в разделе Оборудование видно его статус, а «Проверки оборудования» дают быстрый тест сканирования без реального товара — удобно проверять настройку из §6 или §7 сразу после изменения профиля.
- В POS Cenaly сканирование штрихкода используется для поиска товара по каталогу — штрихкод достаточно указать в карточке товара.
10. Частые вопросы#
Почему в Блокноте код печатается, а в кассовой программе — нет? Сканер и режим передачи исправны — дело в настройке программы: она либо ждёт другой режим (COM вместо HID), либо курсор был не в том поле ввода.
Обязательно ли покупать 2D-сканер, если я не работаю с маркировкой? Нет, для обычных штрихкодов EAN-13/Code128 хватает 1D-сканера — он дешевле. 2D нужен только под Data Matrix (маркировка, QR-коды).
Сканер настроен на «Честный ЗНАК», но код иногда не проходит проверку — это тоже настройка сканера? Не обязательно: если код считывается и передаётся полностью (проверьте на демо-коде из §6), а касса всё равно ругается — причина уже не в сканере, а в самой проверке маркировки, см. про маркировку.
Связанные статьи: маркировка на кассе · Cenaly Hardware Bridge · как выбрать кассу
Материал носит справочный характер и не заменяет консультацию сервисного центра или производителя оборудования. Первоисточники: техническая документация и листы программирования производителей сканеров штрихкодов, стандарт GS1 DataMatrix, методические рекомендации по маркировке товаров (честныйзнак.рф).