ГОСТ Р ИСО/МЭК 15417-2009
ГОСТ Р ИСО/МЭК 15417-2009 — это национальный стандарт Российской Федерации, идентичный международному стандарту ISO/IEC 15417:2007, который устанавливает требования к символике штрихового кода Code 128. Стандарт определяет структуру символа, кодирование данных, размеры, алгоритмы контрольной суммы и требования к качеству печати. Он входит в семейство стандартов, регламентирующих автоматическую идентификацию и сбор данных (АИСД).
История и принятие
Стандарт был разработан на основе международного стандарта ISO/IEC 15417:2007, который, в свою очередь, базировался на более ранних отраслевых спецификациях (например, AIM USS-128). Необходимость в унификации возникла из-за широкого распространения Code 128 в логистике, розничной торговле и промышленности, где требовалась высокая плотность записи данных и поддержка полного набора символов ASCII.
В Российской Федерации стандарт был принят и введён в действие Приказом Федерального агентства по техническому регулированию и метрологии (Росстандарт) в 2009 году. Дата введения — 1 января 2010 года. ГОСТ Р ИСО/МЭК 15417-2009 полностью идентичен международному оригиналу и не содержит дополнительных национальных требований. Он заменил ранее действовавший ГОСТ Р 51002-96, который описывал общие требования к символике штриховых кодов, но не детализировал Code 128.
Структура символа Code 128
Символ Code 128 представляет собой линейный (одномерный) штриховой код с переменной длиной. Он состоит из последовательности модулей — самых узких элементов (штрихов или пробелов). Каждый знак кодируется тремя штрихами и тремя пробелами, общая ширина которых составляет 11 модулей. Исключение составляет стоп-символ, который имеет ширину 13 модулей.
Зоны символа
Стандарт определяет следующие обязательные зоны:
- Тихая зона (свободная зона): Область перед начальным штрихом и после конечного штриха, свободная от любых графических элементов. Минимальная ширина — 10 модулей с каждой стороны.
- Стартовый символ (Start): Указывает на начало данных и определяет начальный режим кодирования (A, B или C).
- Зона данных: Последовательность кодируемых знаков, включая символы-функции (FNC1–FNC4).
- Контрольный символ (Check Digit): Вычисляется по модулю 103 на основе всех символов от стартового до последнего знака данных.
- Стоп-символ (Stop): Обозначает конец символа.
Наборы знаков (Режимы кодирования)
Code 128 поддерживает три набора знаков (режима), которые переключаются с помощью специальных символов:
- Набор A (Code A): Включает цифры, прописные латинские буквы (A–Z), знаки препинания, управляющие символы (ASCII 00–95) и символы-функции.
- Набор B (Code B): Включает цифры, прописные и строчные латинские буквы (A–Z, a–z), знаки препинания и символы-функции. Охватывает диапазон ASCII 32–127.
- Набор C (Code C): Кодирует только цифры от 00 до 99. Каждый знак представляет собой двузначное число (от 00 до 99), что позволяет упаковать две цифры в один символ. Это обеспечивает максимальную плотность записи для числовых данных.
Переключение между наборами осуществляется с помощью символов Shift (для временного перехода на один символ) и Code A, Code B, Code C (для постоянного переключения).
Кодирование и контрольная сумма
Алгоритм кодирования
Каждый символ (кроме стартового и стопового) имеет числовое значение от 0 до 102. Это значение соответствует позиции в таблице кодирования для текущего набора знаков. Например, цифра «1» в наборе B имеет значение 17, а в наборе C — значение 01.
Контрольная сумма (Check Digit)
Контрольный символ (C) вычисляется по следующему алгоритму:
- Присвоить стартовому символу значение 0 (для набора A), 1 (для B) или 2 (для C).
- Для каждого последующего символа (включая символы данных и функции) умножить его числовое значение на его порядковый номер (начиная с 1 для первого символа после стартового).
- Суммировать все полученные произведения.
- Разделить сумму на 103. Остаток от деления является значением контрольного символа.
- Выбрать символ, соответствующий этому остатку, из текущего набора знаков.
Контрольная сумма является обязательной и проверяется декодером. Если она не совпадает, сканер выдаёт ошибку или игнорирует код.
Требования к качеству и печати
ГОСТ Р ИСО/МЭК 15417-2009 устанавливает параметры, обеспечивающие надёжное считывание:
- Размеры модуля: Минимальная ширина модуля (X) — 0,191 мм (7,5 мил). Для стандартных применений рекомендуется X = 0,33 мм (13 мил). Максимальная ширина модуля не ограничена, но влияет на общую длину символа.
- Допуски на ширину элементов: Отклонение ширины штрихов и пробелов от номинала не должно превышать ±0,5 модуля.
- Контрастность: Минимальный контраст между штрихами и пробелами (PCS) — 0,5. Рекомендуется использовать чёрные штрихи на белом фоне.
- Дефекты: Не допускаются пятна, царапины, разрывы штрихов, которые могут привести к ложному считыванию или его отсутствию.
- Маркировка: Под символом может располагаться человекочитаемая строка (OCR-B), содержащая закодированные данные. Она не является частью символа и не влияет на считывание.
Применение
Code 128 является одним из самых распространённых штриховых кодов в мире. Его применение охватывает:
- Логистика и транспорт: Маркировка грузов, транспортных упаковок, паллет. Высокая плотность позволяет кодировать длинные идентификаторы (например, SSCC-18).
- Розничная торговля: Используется для маркировки товаров, не подпадающих под стандарт EAN-13 (например, ювелирные изделия, книги, лекарства). В России часто применяется для маркировки товаров, подлежащих обязательной маркировке (например, обувь, табак, лекарства).
- Промышленность: Учёт деталей, инструментов, комплектующих. Возможность кодировать буквы и цифры делает его удобным для серийных номеров.
- Здравоохранение: Маркировка образцов крови, препаратов, медицинского оборудования.
- Документооборот: Кодирование номеров заказов, накладных, договоров.
Преимущества и недостатки
Преимущества
- Высокая плотность записи: Код может содержать до 48 символов (в режиме C — до 48 цифр) при стандартном размере.
- Поддержка полного набора ASCII: Возможность кодировать буквы, цифры, знаки препинания и управляющие символы.
- Переменная длина: Длина кода не фиксирована, что позволяет адаптировать его под конкретные данные.
- Высокая надёжность: Встроенная контрольная сумма и алгоритм самокоррекции (при использовании дополнительных символов) обеспечивают низкую вероятность ошибки.
- Совместимость: Поддерживается всеми современными сканерами и принтерами штриховых кодов.
Недостатки
- Линейность: Как и все одномерные коды, Code 128 требует прямой видимости и точного позиционирования сканера.
- Чувствительность к повреждениям: Сильные повреждения (разрывы, замятия) могут сделать код нечитаемым.
- Сложность декодирования: По сравнению с простыми кодами (например, Code 39), требует более сложного алгоритма декодирования.
Связанные стандарты
ГОСТ Р ИСО/МЭК 15417-2009 является частью серии стандартов на символики штриховых кодов. К ним относятся:
- ГОСТ Р ИСО/МЭК 15416-2009 — метод оценки качества печати линейных символов.
- ГОСТ Р ИСО/МЭК 15420-2009 — символика EAN/UPC (используется в розничной торговле).
- ГОСТ Р ИСО/МЭК 15438-2009 — символика PDF417 (двумерный код).
- ГОСТ Р ИСО/МЭК 16022-2009 — символика Data Matrix (двумерный код).
Источники
- ГОСТ Р ИСО/МЭК 15417-2009. Автоматическая идентификация. Кодирование штриховое. Спецификация символики Code 128 (Code 128). — М.: Стандартинформ, 2009.
- ISO/IEC 15417:2007. Information technology — Automatic identification and data capture techniques — Code 128 bar code symbology specification.
- AIM USS-128. Uniform Symbology Specification — Code 128. — AIM International, 1994.
- Федеральное агентство по техническому регулированию и метрологии. Приказ № 123-ст от 15.12.2009.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →