Открыть сервис

Линейный штриховой код

Линейный штриховой код (также одномерный штриховой код) — это способ кодирования информации в виде последовательности параллельных линий (штрихов) и пробелов различной толщины, предназначенный для считывания оптическими устройствами (сканерами). Относится к классу автоматической идентификации и сбора данных (AIDC). Основное назначение — быстрая и безошибочная передача цифрового или буквенно-цифрового идентификатора объекта (товара, документа, упаковки) в информационную систему.

История

Первые попытки автоматической идентификации товаров с помощью оптических меток относятся к 1930-м годам. В 1948 году студенты Дрексельского университета (США) Бернард Сильвер и Норман Вудленд разработали прототип системы, использующей ультрафиолетовое излучение и рисунок из концентрических окружностей (так называемый «бычий глаз»). Однако практическое применение технология получила лишь в 1970-х годах.

В 1973 году был принят универсальный стандарт Universal Product Code (UPC), разработанный компанией IBM. Первым товаром, промаркированным штриховым кодом UPC, стала упаковка жевательной резинки Wrigley’s Juicy Fruit, проданная в супермаркете в городе Трой, штат Огайо, в июне 1974 года. В 1977 году в Европе была создана система European Article Number (EAN), которая впоследствии стала международным стандартом (ныне — GS1). В СССР первые штриховые коды появились в конце 1980-х годов, а массовое внедрение началось в 1990-е.

Принцип действия

Линейный штриховой код представляет собой графическое изображение, состоящее из чередующихся тёмных (штрихов) и светлых (пробелов) элементов. Ширина каждого элемента кратна минимальной единице — модулю (X-размеру). Информация кодируется не только чередованием, но и относительной шириной штрихов и пробелов.

Считывание происходит следующим образом:

  1. Лазерный или светодиодный луч сканера освещает код.
  2. Отражённый от светлых участков свет фиксируется фотоприёмником.
  3. Аналоговый сигнал преобразуется в цифровой — последовательность битов (0 — пробел, 1 — штрих).
  4. Декодер по алгоритму, заложенному в символике, интерпретирует последовательность как цифры или символы.

Обязательными элементами любого линейного кода являются:

  • Зона тишины (слева и справа) — пустое пространство, необходимое для начала и окончания считывания.
  • Стартовый и стоповый символы — специальные последовательности, обозначающие границы данных.
  • Контрольная цифра (контрольная сумма) — вычисляется по определённому алгоритму (например, по модулю 10) для проверки корректности считывания.

Классификация и виды символик

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

Дискретные (двухпозиционные) символики

Каждый символ (цифра или буква) кодируется независимой группой штрихов и пробелов. Между символами имеется межзнаковый пробел.

  • Code 39 (Code 3 of 9) — одна из первых буквенно-цифровых символик. Кодирует 43 символа (цифры, заглавные буквы, знаки препинания). Широко применяется в промышленности, логистике, здравоохранении (например, маркировка образцов крови).
  • Code 128 — более плотная и универсальная символика. Кодирует 128 символов ASCII (цифры, буквы верхнего и нижнего регистра, управляющие символы). Используется в транспорте, складском учёте, почтовых отправлениях.
  • Interleaved 2 of 5 (ITF) — кодирует только цифры. Штрихи кодируют нечётные позиции, пробелы — чётные. Высокая плотность записи. Применяется для маркировки коробок, паллет (например, в стандарте ITF-14).

Непрерывные (многоуровневые) символики

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

  • EAN-13 (European Article Number) — международный стандарт для розничной торговли. Состоит из 13 цифр: первые 2-3 — код страны (например, 460-469 — Россия), следующие 4-5 — код производителя, затем 5 — код товара, последняя — контрольная цифра. Является развитием UPC-A (12 цифр, США и Канада).
  • EAN-8 — укороченный вариант (8 цифр) для товаров малого размера.
  • UPC-A — оригинальный американский стандарт, 12 цифр. В настоящее время совместим с EAN-13 (дополняется лидирующим нулём).

Специализированные символики

  • Codabar — кодирует цифры и несколько специальных символов. Используется в библиотеках, банках, медицинских учреждениях (например, для идентификации образцов).
  • GS1-128 (ранее UCC/EAN-128) — расширение Code 128, позволяющее кодировать дополнительные данные (срок годности, номер партии, вес) в виде идентификаторов применения (AI). Широко применяется в цепочках поставок.

Применение

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

  • Розничная торговля — маркировка товаров, сканирование на кассе, управление складскими запасами.
  • Логистика и транспорт — идентификация грузов, посылок, контейнеров, отслеживание перемещений.
  • Промышленность — учёт материалов, деталей, готовой продукции, контроль производственных процессов.
  • Здравоохранение — маркировка лекарств, образцов крови, медицинских приборов, идентификация пациентов.
  • Библиотечное дело — инвентаризация книг, выдача и приём изданий.
  • Почтовая связь — маркировка почтовых отправлений (например, российский почтовый идентификатор — 14-значный штриховой код).

Преимущества и ограничения

Преимущества

  • Скорость и точность — считывание в десятки раз быстрее ручного ввода, практически исключает ошибки.
  • Низкая стоимость — печать кода на этикетке или упаковке стоит копейки.
  • Простота — не требует сложного оборудования, совместим с большинством POS-систем.
  • Стандартизация — международные стандарты (GS1) обеспечивают совместимость во всём мире.

Ограничения

  • Малая ёмкость — максимальное количество информации (обычно 20-30 символов) недостаточно для кодирования сложных данных (описания, изображения, ссылки).
  • Линейность — код считывается только в одном направлении, требует определённой ориентации относительно сканера.
  • Чувствительность к повреждениям — частичное повреждение (царапина, загрязнение) может сделать код нечитаемым.
  • Необходимость прямой видимости — сканер должен «видеть» код, что ограничивает применение в автоматизированных системах без точного позиционирования.

Взаимосвязь с двумерными кодами

В отличие от линейных, двумерные штриховые коды (например, QR-код, Data Matrix, PDF417) кодируют информацию по двум осям (вертикальной и горизонтальной). Они обладают значительно большей ёмкостью (до нескольких килобайт), могут содержать текст, ссылки, изображения, а также встроенные механизмы коррекции ошибок (восстановление до 30% повреждённых данных). Однако двумерные коды требуют более сложных сканеров (камерных) и большего времени на обработку. Линейные коды остаются доминирующим стандартом в розничной торговле и логистике благодаря простоте, скорости и низкой стоимости.

Интересные факты

  • В 2011 году компания GS1 выпустила стандарт GS1 DataBar (RSS), который позволяет кодировать больше информации в меньшем пространстве, чем EAN-13. Внедряется для маркировки товаров малого размера (ювелирные изделия, косметика).
  • В России с 2019 года действует система обязательной маркировки товаров «Честный знак», использующая двумерные коды Data Matrix, однако линейные коды остаются обязательными для розничной торговли как идентификатор товара.
  • Первый в мире патент на штриховой код (№ 2 612 994) был выдан Норману Вудленду в 1952 году, но коммерческое использование началось лишь спустя 20 лет.

Источники

  • GS1 General Specifications (стандарты GS1, версия 2023).
  • ГОСТ Р 51294.1-99 «Штриховое кодирование. Термины и определения».
  • ГОСТ Р 51294.3-99 «Штриховое кодирование. Символика EAN/UPC».
  • История развития штрихового кодирования (материалы музея IBM, 2020).
  • Справочник по автоматической идентификации (AIM Global, 2021).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →