Автоматизация складской логистики часто ставит перед нами сложные задачи, такие как необходимость одновременного считывания нескольких штрихкодов разных форматов (например, GS1 Expanded, GS1 Expanded Stacked и EAN13) на высокой скорости. Типичная ситуация: этикетка наносится автоматически аппликатором, коробка движется по конвейеру со скоростью около 300 мм/с, а штрихкоды расположены в разных плоскостях (горизонтально и вертикально). Обычные бюджетные или офисные сканеры в таких условиях часто «пасуют», выдавая ошибки считывания или пропуская коды.
В этой статье мы подробно разберем, почему стандартные решения вроде Zebra DS457 могут не справляться, и проанализируем профессиональные способы решения этой задачи, начиная от настройки освещения и заканчивая внедрением промышленных систем машинного зрения.
Разберем, почему стандартные имидж-сканеры часто не срабатывают на конвейере. Основная причина кроется в технологии работы матрицы. Большинство недорогих сканеров используют технологию Rolling Shutter (построчный перенос). При движении объекта со скоростью 300 мм/с изображение штрихкода получается «срезаным» или «наклонным», что делает его нечитаемым для алгоритмов распознавания.
Вторая проблема — время экспозиции. При недостаточном освещении сканер автоматически увеличивает выдержку, что приводит к «смазу» изображения (motion blur). Выясним, какие аппаратные и программные изменения помогут нам преодолеть эти ограничения.
Для гарантированного считывания в движении мы рекомендуем рассмотреть переход на индустриальные серии. Проанализируем основные преимущества таких устройств:
Рассмотрим конкретные модели, которые отлично подходят для задач ритейла (например, под требования «Ленты»):
ImagePerfect, которая позволяет за один цикл сделать несколько кадров с разными настройками фокуса и яркости.GS1 благодаря мощным алгоритмам фильтрации шумов.Если бюджет ограничен и покупка «Боинга» (дорогого промышленного сканера) пока невозможна, рассмотрим вариант с захватом изображения и его последующим анализом на стороне сервера или ПК. Некоторые сканеры Zebra поддерживают протокол SNAPI, который позволяет передавать не просто текстовые данные, а полноценную фотографию этикетки.
Разберем алгоритм работы такой системы:
Пример логики обработки на стороне системы (условный код):
// Пример логики обработки полученного массива кодов
РезультатСканирования = ПрочитатьШтрихкодыИзИзображения(ДанныеКартинки);
Если РезультатСканирования.Количество() < 3 Тогда
Сообщить("Внимание: Считано " + РезультатСканирования.Количество() + " кодов из 3!");
ОстановитьКонвейер();
Иначе
ПроверитьСоответствиеЗаданию(РезультатСканирования);
КонецЕсли;
Проанализируем ситуацию, когда штрихкоды расположены слишком далеко друг от друга или в разных плоскостях. В этом случае эффективно поставить три недорогих сканера последовательно или параллельно. Каждый сканер настраивается на свой узкий участок этикетки:
EAN13.Такой подход позволяет использовать более простые устройства, так как каждому из них нужно «поймать» только один тип кода в предсказуемой позиции. Важно настроить логику в 1С или контроллере так, чтобы данные от трех сканеров объединялись в один пакет по временной метке или событию прохождения коробки.
Современные имидж-сканеры поддерживают технологию Multi-Code Data Formatting. Разберем, как она помогает в нашей задаче. Эта функция позволяет настроить сканер так, чтобы он:
EAN13, потом GS1), разделяя их специальными префиксами.Это значительно упрощает интеграцию с 1С, так как система получает уже готовый, проверенный набор данных, и нам не нужно писать сложную логику «склейки» сообщений в коде программы.
Посмотрим на ситуацию с точки зрения физики процесса. Если сканирование происходит «через раз», попробуем выполнить следующие действия:
Stacked и увеличить агрессивность чтения (Decoding Aggressiveness).Таким образом, для решения задачи «Ленты» наиболее надежным вариантом является установка одного промышленного сканера с Global Shutter и поддержкой MDF. Это обеспечит стабильную работу системы без необходимости постоянной доработки софта и исключит ошибки человеческого фактора при проверке читабельности этикеток.