Как организовать считывание нескольких разноориентированных штрихкодов на движущемся конвейере?

Системный администратор Торговля и дистрибуция
← На главную

Автоматизация складской логистики часто ставит перед нами сложные задачи, такие как необходимость одновременного считывания нескольких штрихкодов разных форматов (например, GS1 Expanded, GS1 Expanded Stacked и EAN13) на высокой скорости. Типичная ситуация: этикетка наносится автоматически аппликатором, коробка движется по конвейеру со скоростью около 300 мм/с, а штрихкоды расположены в разных плоскостях (горизонтально и вертикально). Обычные бюджетные или офисные сканеры в таких условиях часто «пасуют», выдавая ошибки считывания или пропуская коды.

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

Причина низкой эффективности обычных сканеров в движении

Разберем, почему стандартные имидж-сканеры часто не срабатывают на конвейере. Основная причина кроется в технологии работы матрицы. Большинство недорогих сканеров используют технологию Rolling Shutter (построчный перенос). При движении объекта со скоростью 300 мм/с изображение штрихкода получается «срезаным» или «наклонным», что делает его нечитаемым для алгоритмов распознавания.

Вторая проблема — время экспозиции. При недостаточном освещении сканер автоматически увеличивает выдержку, что приводит к «смазу» изображения (motion blur). Выясним, какие аппаратные и программные изменения помогут нам преодолеть эти ограничения.

Решение 1: Использование промышленных стационарных сканеров (Fixed Industrial Scanners)

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

  1. Технология Global Shutter: В отличие от бытовых моделей, промышленные сканеры (например, серии Zebra FS или Datalogic Matrix) фиксируют весь кадр мгновенно. Это полностью исключает геометрические искажения кода при движении.
  2. Высокая частота кадров (FPS): Промышленные системы способны делать десятки снимков в секунду, выбирая лучший кадр для декодирования.
  3. Встроенная импульсная подсветка: Мощные светодиоды, синхронизированные с затвором, позволяют работать на минимальных выдержках, «замораживая» движение.

Рассмотрим конкретные модели, которые отлично подходят для задач ритейла (например, под требования «Ленты»):

Решение 2: Программная обработка изображений и использование SDK

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

Разберем алгоритм работы такой системы:

  1. Сканер работает в режиме непрерывной съемки.
  2. По сигналу датчика присутствия или программному триггеру кадр передается в специализированное ПО.
  3. Используется библиотека распознавания штрихкодов (например, Vintasoft или ZXing), которая умеет искать несколько кодов в одном кадре под любым углом.

Пример логики обработки на стороне системы (условный код):


// Пример логики обработки полученного массива кодов
РезультатСканирования = ПрочитатьШтрихкодыИзИзображения(ДанныеКартинки);

Если РезультатСканирования.Количество() < 3 Тогда
    Сообщить("Внимание: Считано " + РезультатСканирования.Количество() + " кодов из 3!");
    ОстановитьКонвейер();
Иначе
    ПроверитьСоответствиеЗаданию(РезультатСканирования);
КонецЕсли;

Решение 3: Многосканерная конфигурация («П-образная» схема)

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

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

Технология Multi-Code Data Formatting (MDF)

Современные имидж-сканеры поддерживают технологию Multi-Code Data Formatting. Разберем, как она помогает в нашей задаче. Эта функция позволяет настроить сканер так, чтобы он:

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

Практические советы по улучшению читаемости

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

  1. Усиление освещения: Установите внешний направленный светодиодный прожектор холодного света. Это позволит автоматике сканера уменьшить время экспозиции, что снизит «смаз» при движении 300 мм/с.
  2. Поляризационные фильтры: Если этикетка глянцевая или закрыта термопленкой, блики будут «ослеплять» камеру. Использование поляризатора на объективе сканера и источнике света решит эту проблему.
  3. Настройка параметров декодирования: В утилитах настройки (например, Zebra 123Scan) можно повысить приоритет для сложных кодов типа Stacked и увеличить агрессивность чтения (Decoding Aggressiveness).

Таким образом, для решения задачи «Ленты» наиболее надежным вариантом является установка одного промышленного сканера с Global Shutter и поддержкой MDF. Это обеспечит стабильную работу системы без необходимости постоянной доработки софта и исключит ошибки человеческого фактора при проверке читабельности этикеток.

← На главную