Код нанесён и визуально выглядит нормально. Ручной сканер его читает. Но система контроля на линии отбраковывает часть единиц, а часть кодов не считывается уже за пределами предприятия — при приёмке у получателя.
Причина в том, что читаемость Data Matrix — не бинарное свойство. Код может быть прочитан в одних условиях и не прочитан в других, и запас между этими состояниями определяется несколькими параметрами одновременно. На высокой скорости запас минимален, и любое отклонение выводит код за границу читаемости.
Ключевой принцип: факт прочтения кода не означает, что код качественный. Он означает, что в данных условиях данного считывающего устройства запаса хватило. Оценивать нужно не результат отдельного чтения, а запас читаемости.
- Из чего состоит Data Matrix
- Размер модуля: базовый параметр
- Контраст и его источники
- Свободная зона вокруг кода
- Геометрические искажения
- Размазывание при движении
- Вибрация
- Фокус и глубина резкости
- Блики и отражения
- Конденсат и загрязнение
- Освещение и угол съёмки
- Почему ручной сканер прочитал, а этого мало
- Классы качества и статистическая оценка
- Почему код читается на заводе и не читается дальше
- Дерево поиска причины
- Методика проверки на линии
- Частые вопросы
- Выводы
Из чего состоит Data Matrix
Понимание структуры кода необходимо для диагностики: разные дефекты повреждают разные элементы, и по характеру повреждения можно определить причину.
| Элемент | Назначение | Что происходит при повреждении |
|---|---|---|
| Модуль | Минимальная ячейка кода, светлая или тёмная | Ошибка в одном модуле восстанавливается, во многих — код не декодируется |
| Сплошная L-образная граница | Определяет положение и ориентацию кода | Код не обнаруживается либо распознаётся с неверной ориентацией |
| Пунктирная граница | Задаёт размер матрицы и шаг модулей | Неверное определение сетки, массовые ошибки чтения |
| Область данных | Содержит закодированную информацию | Восстанавливается коррекцией ошибок до определённого предела |
| Коррекция ошибок | Позволяет восстановить повреждённые данные | Расходуется на компенсацию дефектов, запас сокращается |
| Свободная зона | Отделяет код от окружающего изображения | Код не обнаруживается или граница определяется неверно |
Механизм коррекции ошибок — причина, по которой дефектный код может читаться. Часть повреждений восстанавливается математически. Но восстановление расходует запас: код, у которого коррекция израсходована на компенсацию дефектов нанесения, не выдержит дополнительного повреждения при транспортировке или загрязнении.
Важно! Отсюда следует практический вывод: проверять нужно не факт прочтения, а величину оставшегося запаса. Код, прочитанный на пределе возможностей, на следующем этапе цепочки прочитан не будет.
Размер модуля: базовый параметр
Модуль — минимальный элемент кода. От его размера зависят все остальные требования: к разрешению нанесения, к оптике камеры, к времени экспозиции, к допустимым отклонениям положения.
Правило: считывающая система должна получать на каждый модуль достаточное число пикселей изображения. Если модуль занимает слишком мало пикселей, границы между соседними модулями размываются, и определить их состояние надёжно невозможно.
| Что зависит от размера модуля | Характер зависимости |
|---|---|
| Требуемое разрешение нанесения | Модуль должен формироваться несколькими элементами печати, а не одним |
| Допустимое смещение при экспозиции | Смещение сопоставимое с модулем делает код нечитаемым |
| Требуемое разрешение камеры | На модуль должно приходиться достаточное число пикселей |
| Допустимое отклонение фокуса | Мелкий модуль требует более точного фокусирования |
| Устойчивость к загрязнению | Частица загрязнения перекрывает больше мелких модулей, чем крупных |
| Время нанесения | Крупный код требует больше времени на формирование |
| Требуемая площадь на упаковке | Прямая зависимость |
Отсюда основная развилка проектирования: уменьшение кода сокращает время нанесения и требует меньше места, но ужесточает требования ко всему остальному. Увеличение кода делает систему устойчивее, но занимает площадь и увеличивает время нанесения.
Контраст и его источники
Считывающая система различает модули по разнице яркости между тёмными и светлыми участками. Недостаточная разница делает границы неопределёнными.
Что снижает контраст
- Неподходящий расходный материал под поверхность. Чернила недостаточно закрепляются или впитываются, изображение получается бледным.
- Недостаточная энергия при лазерном нанесении. Изменение материала слабое, контраст низкий.
- Цвет фона упаковки. Тёмный или пёстрый фон снижает разницу яркости.
- Глянцевая поверхность. Отражения выравнивают яркость тёмных и светлых участков.
- Прозрачный или полупрозрачный материал. Фон просвечивает и меняет восприятие модулей.
- Износ печатающего узла. Постепенное снижение плотности нанесения.
- Загрязнение оптики камеры. Снижение контраста на этапе съёмки, а не нанесения.
Как определить источник
Сравните код на упаковке с изображением, которое видит камера. Если на упаковке контраст визуально хороший, а на изображении низкий — проблема в условиях съёмки: освещении, оптике, угле. Если контраст низкий и физически — проблема в нанесении или в материале.
Отдельный случай: контраст, достаточный для человеческого глаза, может быть недостаточным для системы контроля. Глаз адаптируется и распознаёт изображение при значительно меньшей разнице яркости, чем требуется алгоритму декодирования. Визуальная оценка «код видно нормально» не является проверкой.
Свободная зона вокруг кода
Вокруг кода должна быть чистая область без изображений. Она позволяет системе определить границы кода.
Типичные нарушения:
- код нанесён слишком близко к элементу дизайна упаковки;
- код попадает на границу цветовых зон;
- рядом с кодом расположены дата, номер партии или другая надпись;
- код нанесён на край упаковки или на сгиб;
- соседний код или штрихкод расположен вплотную;
- смещение при нанесении привело к попаданию кода на элемент дизайна.
Диагностический признак: если код читается на части единиц и не читается на других при визуально одинаковом качестве нанесения, проверьте разброс положения. Вероятно, при смещении код попадает на элемент упаковки, нарушающий свободную зону.
Геометрические искажения
Алгоритм декодирования строит сетку модулей по границам кода. Искажение геометрии приводит к тому, что сетка не совпадает с фактическим положением модулей.
| Искажение | Как выглядит | Причина |
|---|---|---|
| Растяжение или сжатие | Код вытянут или сжат по одной оси | Несоответствие заданной скорости фактической, сбой энкодера |
| Перекос | Прямоугольник превратился в параллелограмм | Изменение скорости во время нанесения, боковое смещение продукта |
| Разрыв по вертикали | Часть кода смещена относительно остальной | Скачок продукта во время нанесения, кратковременная остановка |
| Кривизна | Код изогнут | Нанесение на криволинейную поверхность, деформация упаковки |
| Перспективное искажение | Одна сторона кода больше другой | Камера расположена под углом, наклон поверхности |
| Локальная деформация | Часть кода искажена, остальное нормально | Складка, сгиб или неровность упаковки в зоне нанесения |
Часть искажений компенсируется алгоритмами декодирования, но компенсация расходует тот же запас, что и коррекция ошибок. Код с выраженным искажением может читаться в идеальных условиях и не читаться при малейшем дополнительном дефекте.
Размазывание при движении
Наиболее специфичная для высокой скорости причина. Продукт движется во время экспозиции камеры, и изображение смазывается.
Смещение, мм = скорость поверхности, мм/с × время экспозиции, с
Величину смещения нужно сопоставлять с размером модуля. Ориентир: смещение, сопоставимое с размером модуля, делает границы неразличимыми. Смещение в пределах небольшой доли модуля обычно приемлемо.
| Соотношение смещения и модуля | Результат |
|---|---|
| Существенно меньше модуля | Изображение чёткое, запас читаемости сохраняется |
| Около четверти модуля | Лёгкое размытие границ, запас сокращается |
| Около половины модуля | Границы размыты, декодирование на пределе |
| Сопоставимо с модулем | Соседние модули сливаются, код не декодируется |
Как устраняется
Единственный способ уменьшить смещение при неизменной скорости — сократить время экспозиции. Это требует компенсации освещённостью: при более короткой выдержке на матрицу попадает меньше света, и без усиления подсветки изображение станет тёмным и потеряет контраст.
Альтернативные пути: увеличить размер модуля, чтобы то же смещение составляло меньшую его долю; применить импульсную подсветку, синхронизированную с экспозицией; снизить скорость продукта в зоне контроля, если позволяет компоновка.
Характерный признак: размытие направленное — код смазан вдоль направления движения, поперёк остаётся чётким. Если размытие равномерное во всех направлениях, причина не в движении, а в фокусе.
Вибрация
Вибрация действует на двух этапах: при нанесении и при съёмке. Последствия разные.
При нанесении. Смещение продукта или устройства нанесения в момент формирования кода приводит к искажению геометрии: разрывам, ступенчатости границ, неравномерности модулей. Дефект физически присутствует на упаковке.
При съёмке. Смещение камеры или продукта во время экспозиции даёт размытие. Код на упаковке при этом нормальный — дефект только в изображении.
Различить помогает проверка самой упаковки: если код на отбракованной единице при внимательном рассмотрении имеет геометрические дефекты, вибрация действовала при нанесении. Если код физически нормальный, а изображение размыто — при съёмке.
Источники вибрации: соседнее оборудование, работа компрессоров, неотбалансированные вращающиеся узлы, стыки конвейеров, недостаточно жёсткое крепление оборудования маркировки к раме.
Фокус и глубина резкости
Камера настроена на определённое расстояние до поверхности. Отклонение от него выводит изображение из зоны резкости.
Глубина резкости — диапазон расстояний, в пределах которого изображение остаётся достаточно чётким. Она тем меньше, чем крупнее оптическое увеличение, то есть чем мельче код требуется различить.
Источники колебания расстояния
- Разная высота продукта. В пределах допуска упаковки, но достаточная для выхода за глубину резкости.
- Подскок лёгкой упаковки. На стыках конвейеров и при ускорении.
- Деформация упаковки. Мягкая тара меняет форму под собственным весом или при контакте с направляющими.
- Криволинейная поверхность. На цилиндрической таре разные участки кода находятся на разном расстоянии.
- Вращение продукта. Меняет расстояние до зоны нанесения кода.
- Провисание конвейерной ленты. Изменение высоты продукта на разных участках.
Диагностический признак: размытие равномерное во всех направлениях, не имеет выраженного направления. Проверяется просмотром сохранённых изображений отбракованных единиц.
Блики и отражения
Глянцевые, металлизированные и влажные поверхности отражают свет подсветки в объектив. В зоне блика информация об изображении теряется полностью.
| Поверхность | Характер проблемы |
|---|---|
| Металлизированная плёнка | Зеркальное отражение, блик занимает значительную область |
| Алюминиевая поверхность | Направленное отражение, положение блика зависит от угла |
| Глянцевый лак или ламинация | Отражение от верхнего слоя поверх нанесённого кода |
| Стекло | Отражение от двух поверхностей, преломление |
| Влажная поверхность | Локальные блики от капель, положение непредсказуемо |
| Прозрачная плёнка | Отражение плюс просвечивание фона |
Способы устранения: изменение геометрии освещения — рассеянная подсветка вместо направленной, освещение под малым углом к поверхности, кольцевая подсветка; применение поляризационных фильтров; изменение угла установки камеры относительно поверхности; смена точки нанесения на менее отражающий участок упаковки.
Конденсат и загрязнение
Два разных явления с похожими последствиями.
Конденсат образуется на холодной упаковке в тёплом помещении. Плёнка влаги создаёт локальные блики и искажает изображение. При нанесении конденсат мешает закреплению чернил и адгезии этикетки.
Устранение: обдув зоны нанесения и контроля, поддержание температурного режима, размещение маркировочного участка до охлаждения продукта, если позволяет технология.
Загрязнение накапливается на самой упаковке и на оптике камеры. На упаковке — пыль, брызги продукта, следы смазки. На оптике — постепенное запыление, приводящее к плавному снижению качества изображения.
Признак загрязнения оптики: доля отбраковки растёт постепенно и восстанавливается после очистки. Признак загрязнения упаковки: дефекты локальные, положение случайное.
Освещение и угол съёмки
Освещение определяет, как поверхность выглядит для камеры. Один и тот же код при разной подсветке даёт разное изображение.
| Параметр | На что влияет |
|---|---|
| Интенсивность | Позволяет сократить экспозицию без потери контраста |
| Направление | Определяет положение бликов и характер теней |
| Угол падения | Малый угол подчёркивает рельеф, прямой — цветовой контраст |
| Рассеянность | Рассеянный свет уменьшает блики на глянцевых поверхностях |
| Спектр | Влияет на контраст между цветом кода и цветом фона |
| Синхронизация | Импульсная подсветка позволяет получить высокую освещённость на короткое время |
Отдельный фактор — посторонняя засветка. Общее освещение цеха, солнечный свет из окна, свет от соседнего оборудования могут вносить неконтролируемый вклад. Характерный признак: доля отбраковки меняется в зависимости от времени суток или от того, включено ли освещение в цехе.
Почему ручной сканер прочитал, а этого мало
Наиболее частое возражение при обсуждении отбраковки: код читается, значит, он нормальный. Это неверно по трём причинам.
Неограниченное время. Ручной сканер делает попытки чтения до успеха. Оператор держит его над кодом секунду или три — этого достаточно для десятков попыток при разном положении. Система на линии имеет один кадр.
Управляемые условия. Оператор интуитивно подбирает угол и расстояние, при которых код читается. Камера на линии зафиксирована.
Отсутствие оценки запаса. Сканер даёт бинарный результат: прочитано или нет. Он не показывает, был ли код прочитан с большим запасом или на пределе возможностей.
Практический вывод: код, который ручной сканер прочитал не с первой попытки или при подборе положения, в потоке на скорости прочитан не будет. Проверка ручным сканером годится для подтверждения наличия кода, но не для оценки его качества.
Классы качества и статистическая оценка
Существуют стандартизованные методы оценки качества нанесения кода. Они дают не бинарный результат, а численную характеристику по нескольким параметрам: контраст, равномерность модулей, состояние границ, наличие дефектов, осевая неравномерность.
Практическое значение такой оценки — она показывает запас. Код высокого класса выдержит дополнительные повреждения при транспортировке и всё равно будет прочитан. Код низкого класса читается только в идеальных условиях.
Почему оценка должна быть статистической
Проверка одного образца ничего не говорит о процессе. Значение имеет распределение: какой класс качества получают все коды, насколько велик разброс, есть ли тенденция к ухудшению.
Практический подход: периодически отбирать выборку и оценивать качество каждого кода. Отслеживать не только среднее значение, но и худшие результаты — именно они определяют долю единиц, которые не будут прочитаны дальше по цепочке.
Диагностическая ценность: если средний класс качества высокий, а отдельные коды существенно хуже, причина в нестабильности — механике, вариации продукта, кратковременных сбоях. Если все коды примерно одинаково низкого класса, причина систематическая — параметры процесса, материал, износ узла.
Почему код читается на заводе и не читается дальше
Отдельный класс проблем: система контроля на линии код принимает, а при приёмке у получателя он не считывается.
| Причина | Что происходит |
|---|---|
| Код был на пределе читаемости | Запас израсходован, любое дополнительное повреждение выводит за границу |
| Повреждение при транспортировке | Истирание при контакте с соседними упаковками, сдавливание в паллете |
| Незакреплённое нанесение | Код смазывается при контакте, если не успел закрепиться до упаковки |
| Термоусадка группового материала | Плёнка деформируется над кодом или создаёт складки |
| Отслоение этикетки | Адгезия ослабевает при изменении температуры |
| Конденсат на складе | Перепад температур при перемещении, влага на поверхности кода |
| Иные условия считывания | Оборудование получателя работает при других освещённости и расстоянии |
| Выцветание | Снижение контраста при длительном хранении или воздействии света |
Общий знаменатель большинства случаев — недостаточный запас качества при выпуске. Система контроля настроена на бинарное решение «читается или нет», и коды, прошедшие на пределе, отправляются как годные.
Решение: оценивать не факт чтения, а качество, и устанавливать порог отбраковки с запасом на последующие воздействия.
Дерево поиска причины
Последовательность вопросов, приводящая к конкретной причине.
Вопрос 1. Код физически присутствует на упаковке?
Нет → проблема в нанесении или в сигнале запуска. Переходите к диагностике устройства нанесения и датчика присутствия.
Да → переходите к вопросу 2.
Вопрос 2. Код читается ручным сканером?
Нет → дефект физический, находится в нанесении или механике. Переходите к вопросу 3.
Да, но не с первой попытки → код на пределе качества. Проблема в нанесении, но проявляется через контроль. Переходите к вопросу 3.
Да, уверенно → проблема в условиях съёмки. Переходите к вопросу 5.
Вопрос 3. Какой характер дефекта на упаковке?
| Наблюдаемое | Направление поиска |
|---|---|
| Код бледный, низкий контраст | Расходный материал, параметры нанесения, износ узла, совместимость с поверхностью |
| Отсутствуют фрагменты, пропуски | Состояние печатающего узла, прерывание процесса нанесения |
| Код растянут или сжат | Несоответствие скорости, энкодер |
| Код перекошен | Изменение скорости при нанесении, боковое смещение продукта |
| Код смазан физически | Контакт до закрепления, недостаточное время сушки |
| Код смещён относительно нужной точки | Механика подачи, задержка от датчика, разброс положения |
| Код на сгибе или краю | Точка нанесения выбрана неверно либо смещение продукта |
| Рядом с кодом элемент дизайна | Нарушение свободной зоны, смещение при нанесении |
Вопрос 4. Дефект постоянный или переменный?
На всех единицах одинаково → систематическая причина: параметры процесса, материал, износ, настройка.
На части единиц → нестабильность: разброс положения продукта, вариация упаковки, кратковременные сбои.
Вопрос 5. Что видно на изображении из системы контроля?
| Изображение | Причина |
|---|---|
| Размытие вдоль направления движения | Экспозиция велика для текущей скорости |
| Размытие равномерное во всех направлениях | Код вне зоны резкости, колебание расстояния |
| Яркое пятно поверх кода | Блик от подсветки или постороннего источника |
| Изображение тёмное | Недостаточная освещённость при короткой экспозиции |
| Код обрезан краем кадра | Смещение продукта, код выходит из области анализа |
| Кода нет в кадре | Ошибка синхронизации, смещение точки нанесения |
| Изображение с мутной пеленой | Загрязнение оптики, конденсат на защитном стекле |
| Код виден чётко, но отбракован | Критерии оценки, несоответствие производственному заданию |
Вопрос 6. Проблема зависит от скорости?
Исчезает при снижении скорости → исчерпан временной запас. Кандидаты: экспозиция, время нанесения, стабильность подачи, быстродействие обработки.
Не зависит от скорости → параметры процесса, материал, настройки, износ.
Методика проверки на линии
Шаг 1. Соберите образцы. Отберите не менее нескольких десятков отбракованных единиц и столько же прошедших контроль. Сравнение обязательно — без него неясно, чем отличаются дефектные.
Шаг 2. Выгрузите изображения. Если система сохраняет изображения отбракованных единиц, просмотрите их. Это самый информативный источник: видно, что именно увидела камера.
Шаг 3. Проверьте физические образцы. Читаются ли коды ручным сканером, с какой попытки, требуется ли подбор положения.
Шаг 4. Измерьте разброс положения. На выборке измерьте координаты кода относительно упаковки. Разброс, сопоставимый с размером кода, указывает на механику.
Шаг 5. Проверьте зависимость от скорости. Снизьте скорость и оцените долю отбраковки. Изменение указывает на временные ограничения.
Шаг 6. Проверьте зависимость от позиции и времени. Соберите статистику по товарным позициям и по времени смены. Привязка к конкретной позиции указывает на материал или рецепт, к времени — на дрейф параметров или прогрев.
Шаг 7. Оцените качество кодов, прошедших контроль. Если годные коды имеют невысокий класс качества, проблема не в отдельных дефектах, а в общем уровне процесса — и часть кодов не будет прочитана дальше по цепочке.
Частые вопросы
Можно ли увеличить размер кода, чтобы решить проблему читаемости?
Часто это действительно эффективное решение. Более крупный модуль повышает устойчивость ко всем перечисленным факторам: смещению при экспозиции, отклонению фокуса, загрязнению. Ограничения: требуется свободная площадь на упаковке, увеличивается время нанесения, что может стать проблемой на высокой скорости. Проверять нужно, укладывается ли увеличенное время нанесения в доступное окно.
Почему одна и та же система работает на одной позиции и не работает на другой?
Различия между позициями по материалу упаковки, цвету фона, состоянию поверхности, геометрии и стабильности положения. Параметры процесса, подобранные для одной упаковки, могут не подходить для другой. Практическое требование — отдельный рецепт для каждой позиции с индивидуальными параметрами нанесения и настройками контроля, а не единые настройки для всего ассортимента.
Доля отбраковки растёт постепенно. С чего начать?
Постепенный рост указывает на процессы накопления: загрязнение оптики, износ печатающего узла, износ механики, дрейф параметров. Начните с самого простого — очистите оптику камеры и защитные стёкла. Если после этого доля отбраковки вернулась к прежней, причина найдена. Если нет — проверьте состояние узла нанесения и разброс положения продукта.
Что делать, если получатель сообщает о нечитаемых кодах, а у нас всё проходит контроль?
Проблема в запасе качества. Система контроля принимает решение по принципу «читается или нет», и коды, прочитанные на пределе, отправляются как годные. Проверьте класс качества выборки годных кодов. Если он невысокий, требуется либо улучшить нанесение, либо ужесточить критерии отбраковки с запасом на последующие воздействия. Отдельно проверьте, не повреждается ли код после нанесения — при упаковке, транспортировке, термоусадке.
Как понять, что проблема в камере, а не в нанесении?
Просмотрите изображения отбракованных единиц и сравните с физическими образцами. Если код на упаковке визуально нормальный, а на изображении размыт, засвечен или обрезан — проблема в условиях съёмки. Если код имеет физические дефекты — в нанесении или механике. Дополнительная проверка: пропустите через систему заведомо качественный образец. Его отбраковка однозначно указывает на контроль.
Выводы
Читаемость Data Matrix определяется не одним параметром, а совокупностью: размером модуля, контрастом, геометрией, свободной зоной и условиями считывания. Каждый фактор расходует общий запас, который обеспечивается механизмом коррекции ошибок.
На высокой скорости запас минимален, поэтому проблемы, незаметные на низкой производительности, становятся определяющими. Специфичные для скорости факторы — размазывание при экспозиции, колебание расстояния до поверхности, нестабильность положения продукта.
Диагностика строится на разделении: дефект физически на упаковке или только в изображении. Это первое разветвление определяет, где искать причину — в нанесении и механике или в условиях съёмки. Дальнейшее уточнение выполняется по характеру дефекта и по зависимости от скорости, позиции и времени.
Отдельного внимания требует оценка запаса. Факт прочтения кода не подтверждает его качество: код, прочитанный на пределе, не будет прочитан после транспортировки и у получателя. Контроль должен оценивать качество нанесения, а не только факт декодирования.
Укажите параметры производства: тип продукции и упаковки, материал поверхности, производительность линии, способ нанесения, характер дефекта и условия его проявления. При наличии — приложите фотографии дефектных кодов и образцы упаковки. Подготовим оценку причины и вариантов её устранения.



