allgosts.ru01. ОБЩИЕ ПОЛОЖЕНИЯ. ТЕРМИНОЛОГИЯ. СТАНДАРТИЗАЦИЯ. ДОКУМЕНТАЦИЯ01.080. Графические обозначения

ГОСТ ISO/IEC 24724-2011 Информационные технологии. Технологии автоматической идентификации и сбора данных. Спецификация символики штрихового кода GS1 DataBar

Обозначение:
ГОСТ ISO/IEC 24724-2011
Наименование:
Информационные технологии. Технологии автоматической идентификации и сбора данных. Спецификация символики штрихового кода GS1 DataBar
Статус:
Действует
Дата введения:
07/01/2012
Дата отмены:
-
Заменен на:
-
Код ОКС:
01.080.50, 35.040

Текст ГОСТ ISO/IEC 24724-2011 Информационные технологии. Технологии автоматической идентификации и сбора данных. Спецификация символики штрихового кода GS1 DataBar



МЕЖГОСУДАРСТВЕННЫЙ СОВЕТ ПО СТАНДАРТИЗАЦИ И. МЕТРОЛОГИИ И СЕРТИФИКАЦИИ

(МГС)

INTERSTATE COUNCIL FOR STANDARDIZATION, METROLOGY AND CERTIFICATION

(ISC)

МЕЖГОСУДАРСТВЕННЫЙ

СТАНДАРТ


ГОСТ ISO/IEC 24724 —

2011

Информационные технологии

ТЕХНОЛОГИИ АВТОМАТИЧЕСКОЙ ИДЕНТИФИКАЦИИ И СБОРА ДАННЫХ

Спецификация символики штрихового кода

GS1 DataBar

(ISO/IEC 24724, ЮТ)

Издание официальное

CTWAflfFTtMtftftti

2012

Предисловие

Цели, основные принципы и основной порядок проведения работ по межгосударственной стандарт* зации установлены ГОСТ 1.0 — 92 «Межгосударственная система стандартизации. Основные положения» и ГОСТ 1.2 — 2009 «Межгосударственная система стандартизации. Стандарты межгосударственные, правила и рекомендации по межгосударственной стандартизации. Правила разработки, принятия, применения, обновления и отмены»

Сведения о стандарте

1    ПОДГОТОВЛЕН Ассоциацией автоматической идентификации «ЮНИСКАН/ГС1 РУС» (ГС1 РУС) при участи Общества с ограниченной ответственностью (ООО) НПЦ «Интелком» (Российская Федерация) в рамках Межгосударственного технического комитета МТК517 «Технологии автоматической идентификации и сбора данных и биометрия» на основе аутентичного перевода на русский язык стандарта, указанного в пункте 4. выполненною ГС1 РУС

2    ВНЕСЕН Федеральным агентством по техническому регулированию и метрологии Российской Федерации

3    ПРИНЯТ Межгосударственным советом по стандартизации, метрологии и сертификации (протокол от 2 сентября 2011г. N9 47)

За принято проголосовали:

Краткое наименование страны по МК (ISO 3t66> 004-97

Код страны

по МК <»SO 3166) 004—В?

Соц>ащеии<ое наименование национального органа по стандартизации

Азербайджан

AZ

Азсгандэрт

Беларусь

BY

Госстандарт Республики Беларусь

Кыргызстан

KG

Кыргызстандарт

Молдова

МО

Молдова-С тзндэрт

Российская Федерация

RU

Росстандарт

Узбекистан

UZ

Узствндарт

Украина

UA

Гослотрвбстандарт Украины

4    Настоящий стандарт идентичен международному стандарту ISO/IEC 24724:2011 «Information technology — Automatic identification and data capture techniques — GS1 Data Bar bar code symbology specification» («Информационные технологии. Технологии автоматической идентификации и сбора данных. Спецификация символики штрихового кода GS1 DataBar»). за исключением дополнительных приложений ДА и ДБ, содержащих сведения о системе GS1 и перечень национальных организаций GS1 в странах — членах МГС. При применении настоящего стандарта рекомендуется использовать вместо ссылочных международных (региональных) стандартов соответствующие им межгосударственные стандарты, сведения о которых приведены в дополнительном приложении Д В

5    Приказом Федерального агентства по техническому регулированию и метрологии от 21 ноября 2011 г. N9 566-ст межгосударственный стандарт ГОСТ ISO/IEC 24724—2011 введен в действие для добровольного применения в качестве национального стандарта Российской Федерации с 1 июля 2012 г.

6    ВВЕДЕН ВПЕРВЫЕ

7    Следует обратить внимание на возможность того, что часть содержания данного стандарта может быть объектом латентных прав. ISO и IEC не несут ответственности за определение отдельных или всех подобных латентных прав

Информация о введении в действие (прекращении действия,) настоящего стандарта публикует-сяеуказателв «Национальныестандарты».

Информация об изменениях к настоящему стандарту публикуется в указателе (каталоге)«Национальные стандарты», а текст изменений — в информационных указателях ^Национальные стандарты». В случае пересмотра или отмены настоящего стандарта соответствующая информация будет опубликована в информационном указателе «Национальные стандарты»

©Стандартинформ. 2012

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

га

Содержание

5    Требования «символам GS1 DataBar Всенаправленный. GS1 DataBar Усеченный. GS1 DataBar

Приложение В (обязательное) Программа кодирования и декодирования ширины элементов на

Приложение С (обязательное) Ширина элементов контрольного знака в символах GS1 DataBar

Приложение D (обязательное) Разбиение длинных символов GS1 DataBar Расширенный и GS1 DataBar

Приложение ДВ (справочное) Сведения о соответствии ссылочных международных стандартов

Введение

Для обеспечения поддержки международной организацией GS1 символики, ранее называемой Символика ограниченных размеров (Reduced Space Symbology (RSS)), было присвоено новое наименование — GS1 DataBar.

Семейство GS1 OataBa г включает в себя три типа линейных символик, предназначенных для применения в системе GS11'. Первый тип символики представлен четырьмя видами символов штрихового кода: GS1 DataBar для всенаправленного считывания (далее — GS1 DataBar Всенаправленный) (GS1 DataBar Omnidirectional). GS1 DataBar Усеченный (GS1 DataBar Truncated). GS1 DataBar Двустрочный (GS1 DataBar Stacked) и GS1 DataBar Двустрочный для всенаправленного считывания (далее—GS1 DataBar Двустрочный Всенаправленный) (GS1 DataBar Stacked Omnidirectional). Двустрочные виды символов относят к многострочным символам. Второй тип символики представлен только одним типом символов штрихового кода — GS1 DataBar Ограниченный (GS1 DataBar Limited). Третий тип символики представлен двумя видами символов штрихового кода: символы с одной строкой (GS1 DataBar Расширенный для всенаправленного считывания (далее — GS1 DataBar Расширенный Всенаправленный) (GS1 DataBar Expanded Omnidirectional) и многостроч ныв символы (GS1 DataBar Расширенный Многострочный для всенаправленного считывания (далее — GS1 DataBar Расширенный Многострочный Всенаправленный) (GS1 DataBar Expanded Stacked Omnidirectional). Использование символики GS1 DataBar должно соответствовать требованиям GS1. установленным в Общих спецификациях GS1.

Символы GS1 DataBar Всенаправленный (GS1 DataBar Omnidirectional) и GS1 Data Ваг Двустрочный Всенаправленный (GS1 DataBar Stacked Omnidirectional) обеспечивают кодирование полной 14-раэрядиой структуры данных GS1 для идентификации предметов, называемой глобальным номером предмета торговли (Global Trade Item Number или GTIN). в линейном символе штрихового кода, который может быть сканирован на кассовых терминалах путем всенаправленного считывания зал рограмм ироеанными соответствующим образом сканерами. Символы штрихового кода GS1 DataBar Усеченный (GS1 DataBarTruncated) nGS1 DataBar Двустрочный (GS1 DataBar Stacked) обеспечивают кодирование в линейном символе 14-разрядной структуры данных GS1 для идентификации предметов, но они не пригодны для всенаправленного сканирования. Символы штрихового кода GS1 DataBar Ограниченный (GS1 DataBar Limited) обеспечивают кодирование 14-разредной структуры данных GS1 для идентификации предметов со значением разряда индикатора ноль или один в линейном символе, применяемом при маркировании мелких предметов. и не подлежат сканированию на кассовых терминалах. Символы GS1 DataBar Расширенный (GS1 DataBar Expanded)обеспечивают кодирование структуры данных GS1 для идентификации предметов, а также дополнительных строк элементов с идентификаторами применения AJ, представляющих, например, массу товара и дату реализации в линейном символе, который может быть сканирован на кассовых терминалах путем всенаправленного считывания запрограммированными соответствующим образом сканерами.

Любой символ семейства символик GS1 DataBar может быть напечатан как самостоятельны й линейный символ или как часть символа GS1 Композитный (GS1 Composite), являющаяся линейным компонентом в символике GS1 DataBar. над которым размещают соответствующий двумерный компонент.

Символы GS1 Data8ar предназначены для кодирования идентификационных номеров и данных, дополняющих идентификацию. Управление системой нумерации GS1 гарантирует всемирную уникальность идентифика ционных кодов, присвоенных конкретным предметам, а также последовательность присвоения этих кодов и связанных с ними соответствующих дополнительных данных. Основным преимуществом для пользователей системы GS1 является соответствие единообразно определяемых идентификационных кодов и форматов дополнительных данных требованиям, предъявляемым при проведении торговых операций.

Сноски в тексте стандарта, выделенные курсивом, приведены для пояснения текста оригинала.

Съедения о системе GS1 приведены в дополнительной приложении ДА.

МЕЖГОСУДАРСТВЕННЫЙ СТАНДАРТ

Информационные технологии

ТЕХНОЛОГИИ АВТОМАТИЧЕСКОЙ ИДЕНТИФИКАЦИИ И СБОРА ДАННЫХ Спецификация символики штрихового кода GS1 Data Ваг

Information technologies. Automatic kJentrfcation and data capture techniques. GS1 DataBar bar code symbology specification

Дата введения —2012 — 07—01

1    Область применения

Настоящий стандарт устанавливает требования к семейству символик GS1 DataBar. показатели данного семейства символик, кодирование знаков данных, форматы символов, размеры, требования к каче-ству печати символов, алгоритмы обнаружения ошибок и декодирования.

Требования к двумерным компонентам символов GS1 Композитный {GS1 Composite) установлены в ISO/IEC 24723.

2    Нормативные ссылки

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

ISO/IEC 646 Information technology — ISO 7-bit coded character set for information interchange (Информационные технологии. 7-битовый кодовый набор знаков ИСО для обмена информацией)

IS04217Codesforthe representation of currencies and funds (Коды для представления вапютифондов) ISO/IEC 15416 Information technology — Automatic identification and data capture techniques —Barcode pnnt quality test specification — Linear symbols (Информационные технологии. Технологии автоматической идентификации и сбора данных. Спецификация испытаний качества печати штрихового кода. Линейные символы)

ISO/IEC 15417 Information technology—Automatic identification and data capture techniques —Barcode symbology specification — Code 128 (Информационные технологии. Технологии автоматической идентификации и сбора данных. Спецификация символики штрихового кода Code 128)

ISO/IEC 15420 Information technology — Automatic identification and data capture techniques — EAN/UPC barcode symbology specification (Информационные технологии. Технологии автоматической идентификации и сбора данных. Спецификация символики штрихового кода EAN/UPC)

ISO/IEC 19762-11nformation technology—Automatic identification and data capture (AIDC) techniques— Harmonized vocabulary—Part 1: General terms relating to AIDC (Информационные технологии. Технологии автоматической идентификации и сбора данных (АИСД). Гармонизированный словарь. Часть 1. Общие термины в области АИСД)

Издание официальное

ISO/IEC 19762-2 Information technology—Automatic identification and data capture (AIDC) techniques— Harmonized vocabulary — Part 2: Optically readable media (ORM) (Информационные технологии. Технологии автоматической идентификации и сбора данных (АИСД). Гармонизированный словарь. Часть 2. Оптические носители данных (ОНД))

ISO/IEC 24723 Information technology — Automatic identification and data capture techniques — GS1 Composite barcode symbology specification (Информационные технологии. Технологии автоматической идентификации и сбора данных. С пецификация символики штрихового кода GS1 Композитный)

3 Термины и определения, сокращения, математические операторы

и условные обозначения

3.1    Термины и определения

8 настоящем стандарте применены термины и определения, установленные в ISO/IEC 19762-1 и ISO/IEC 19762-2. а также следующие термины с соответствующими определениями.

Примечание — Для гермгное. определенных в настоящем разделе, и ряда терминов ISO/IEC 19762 применимы приведенные ниже определения.

3.1.1    двумерный компонент (2D component): Двумерная составляющая символа GS1 Композитный (GS1 Composite), код ирующая дополнительную информацию о предмета, например номер партии или дату окончания срока годности.

3.1.2    строка элемента с идентификатором применения (Al element string): Строка знаков, содержащая идентификатор применения. за которым следует соответствующее поле данных.

3.1.3    методы кодирования (encodabon methods): Схемы уплотнения, применяемые е GS1 DataBar Расширенный (GS1 DataBar Expanded) и двумерных компонентах для кодирования типовых строк элементов с идентификаторами применения в строки с двоичным представлением, являющиеся более короткими, чем при использовании универсального метода уплотнения данных для указанной символики.

3.1.4    разряд индикатора (indicatordigit): Начальный разряд идентификационного номера предмета торговли GTIN-14. предназначенный для обозначения нескольких уровней (вложения) упаковки или для указания на предмет торговли переменной величины.

3.1.5    линейный компонент (linear component): Линейная часть символа GS1 Композитный (GS1 Composite), кодирующая основные идентификационные данные предмета торговли.

3.1.6    флаг сопровождения (linkage flag): Указатель, закодированный в линейном компоненте — символе GS1 DataBar или GS1-128. уведомляющий о сопровождении линейного компонента двумерным.

3.1.7cerMeHT(segment):Минимальная декодируемая часть символа штрихового кода, которая в символике СВ1 DoloBor состоит из оно ко символе и смежного с ним ш аблоно поиске.

3.1.8    GS1-128 (GS1-128): Определенное в Общих спецификациях GS1 подмножество символики Code 128. установленной ISO/IEC 15417.

3.1.9    декодирование с подсчетом (voting): Метод декодирования, в соответствии с которым декодированные значения сегмента сохраняются вместе с подсчитанным числом случаев их декодирования.

Примечание — Декодирование с подсчетом используют для декодирования символов GS1 DataBar по сегментам например, а случае использования всенаправленного сканирования.

3.2    Сокращения

AI—идентификатор применения (Application Identifier) (по ISO/iEC 15418).

2D—двумерный.

3.3    Математические операторы и условные обозначения

В настоящем стандарте применяются следующие математические операторы:

div—оператор целочисленною деления, который отбрасывает остаток от деления, ©охраняя при этом целочисленное значение частного от деления:

mod — оператор целочисленною деления, который отбрасывает частное, сохраняя при этом целочисленное значение остатка отделения.

В настоящем стандарте используются следующие условные обозначения, принятые в ISO:

0.2—знак «ЗАПЯТАЯ» для обозначения десятичной дроби (например. 0.2 равно 2/10). за исключением случаев, когда его применяют для индексирования или как знак-разделитель в записи (п.к):

12 345 — знак «ПРОБЕЛ» между цифрами указывает на разряды тысяч.

4 Описание символов

4.1    Тилы символов GS1 DataBar

Символика GS1 DataBar включает в себя три типа символов:

Первый тип символов GS1 DataBar представлен четырьмя видами:

•    GS1 DataBar для асе направленного считывания (далее — GS1 DataBar Всенаправленный) (GS1 DataBar Omnidirectional):

•    GS1 DataBar Усеченный (GS1 DataBar Truncated);

•    GS1 DataBar Двустрочный (G&1 DataBar Stacked);

•    GS1 DataBar Деустрочный для всенаправленного считывания (далее —GS1 DataBar Двустрочный Всенаправленный) (GS1 DataBar Stacked Omnidirectional).

Второй тип символов GS1 DataBar включает е себя только один вид:

-    GS1 DataBar Ограниченный (GS1 DataBar Limited).

Третий тип сим волов GS1 DataBar включает в себя два вида:

•    GS1 DataBar Расширенный (GS1 DataBar Expanded):

-    GS1 DataBar Расширенный Многострочный (GS 1 DataBar Expanded Stacked).

BcecHMBonb<GS1 DataBar первого типа содержат четыре знака символа в каждом символе и имеют

одинаковые правила кодирования и одинаковую структуру.

Символы GS1 DataBar второго типа отличаются по структуре от символов первого типа, содержат два знака символа и используют отличающиеся от предыдущего типа правила кодирования.

Символы GS1 DataBar третьего типа имеют особую структуру, определяемую символикой, набор пра-вил кодирования и могут содержать в себе переменное число знаков си мвола.

Символы GS1 DataBar Всенаправленный. GS1 DataBar Двустрочный всенаправленный. GS1 DataBar Расширенный и GS1 DataBar Расширенный Многострочный предназначены для посегментного считыеа-ния с помощью всенаправленных сканеров.

Примечание — В приложении J приведен сводный перечень показателей символов GS1 DataBar всех

типов.

4.2    Показатели символики

К показателям семейства символик GS1 DataBar относят:

a)    набор кодируемых знаков:

1)    для символов GS1 DataBar Всенаправленный, GS1 DataBar Усеченный. GS1 DataBar Дву-строчный. GS1 DataBar Двустрочный Всенаправленный и GS1 DataBar Ограниченный: цифры от 0 до 9;

2)    для символов GS1 DataBar Расширенный и GS1 DataBar Расширенный Многострочный — подмножество знаков 7-битового кодированного набора знаков по ISO/IEC 646. состоящее из прописных и строчных букв’1, цифр и 20 выбранных специальных графических знаков (знаков пунктуации)с добавлением функционального знака 1 — FNC1;

b)    структуру знака символа. Для каждого типа символов символики используют различные знаки символов со структурой (п.к), где п — число модулей в знаке символа. Модули размещаются в к штрихах и к пробелах;

c)    тип хода — непрерывный штриховой код. линейная символика;

d)    максимальный объем кодируемых данных (включая, где следует, предполагаемые идентификаторы применения без учета закодированных функциональных знаков FNC1);

1)    для символов GS1 DataBar Всенаправленный. GS1 Оа1аВагУсвченный. GS1 DataBar Дву-строчный. GS1 DataBar Двустрочный Всенаправленный и GS1 DataBar Ограниченный — идентификатор применения (01) вместе с 14-разредным числовым идентификатором предмета торговли:

2)    для символов GS1 DataBar Расширенный и GS1 DataBar Расширенный Многострочный — 74 цифры или41 алфавитный знак.

Примечание — Объем кодируемых дамтодх для символа GS1 DataBar Расширенный зависит от метода кодирования. Максимальный объект составляет 74 цифры для структуры данных с еден-

Имеются в виду буквы латинского алфавита.

тификагором применения {01} с добавлением сгруктур данных с другими идентификаторами применения при условии, что объем каждой структуры данных с идентификатором применения не более 70 цифр и не более 77 цифр для структур данных с идентификатором применения (01). идентификатором применения (392х) и каким-либо иным идентификатором применения;

e)    метод обнаружения ошибок:

1)    для символов GS1 DataBar Всенаправленный. GS1 Data Ваг Усеченный. GS1 DataBar Двустрочный. GS1 DataBar Дву строчный Всенаправленный — вычисление контрольной суммы по модулю 79:

2)    для символов GS1 DataBar Ограниченный — вычисление контрольной суммы по модулю 89:

3)    для символов GS1 DataBar Расширенный и GS1 DataBar Расширенный Многострочный — вычисление контрольной суммы по модулю 211:

f)    самоконтроль знака — присутствует:

д) двунаправленное декодирование — поддерживается.

4.3    Дополнительные свойства

К дополнительным свойствам символики GS1 DataBar относят:

a)    уплотнение данных. Для любого символа семейства GS1 DataBar методы уплотнения данных оптимизированы: для строк данных. подлежащих кодированию. Символы GS1 DataBar Расширенный оптимизированы для применяемых на практике конкретных сочетаний строк элементов с идентификаторами применения:

b)    связь компонентов. Все символы семейства символик GS1 DataBar содержат флаг сопровождения . Если флаг сопровождения не установлен, т. е. равен 0. то символ GS1 DataBar является самостоятельным отдельно расположенным символом. Если флаг сопровождения установлен, т. е. равен 1. то линейный компонент символа семейства GS1 DataBar через шаблон-разделитель связан с двумерным компонентом:

c)    эмуляцию символов GS1-128. Устройства считывания штрихового кода, настроенные на режим эмуляции символов GS1-128. передают данные, закодированные в символах семейства символик GS1 DataBar, как данные, закодированные в одном или нескольких символах GS1-128.

4.4    Структура символа

Каждый символ GS1 DataBar содержит внешние шаблоны-ограничители, знаки символа и шаблоны поиска. Кроме того, каждый символ включает в себя средства обнаружения ошибок.

Шаблоны — ограничители символов GS1 DataBar первого и третьего типов состоят из двух элементов шириной один модуль, образующих по обоим сторонам символа либо пару штрих/пробел. либо пару про-бел/штрих. В символах GS1 DataBar Двустрочный и GS1 DataBar Расширенный Многострочный шаблоны-ограничители расположены до обеим сторонам каждой строки символа. Символы GS1 DataBarOrpaHnnen-иый имеют особы© требовании к шаблону ограничителю символа ипреднзэнэчоныдлп предотвращения ошибочного считывания. В приложении 1.1 приведены рекомендации по печати элементов внешних шаблонов-ограничителей.

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

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

Все символы GS1 DataBar включают в себя флаг сопровождения. Если флаг сопровождения установлен. символ GS1 DataBar является линейным компонентом1* и вместе с прилегающим к нему шаблоном-разделителем должен быть увязан с двумерным компонентом по ISO/IEC 24723. Как правило, линейный компонент, являющийся символом GS1 DataBar. прилегающий к нему шаблон-разделитель и двумерный компонент печатаются одновременно и образуют единый символ GS1 Композитный. 8 случае предварительной печати линейного компонента GS1 DataBar с флагом сопровождения и последующим дополнительным нанесением двумерного компонента шаблон-разделитель должен быть напечатан с линейным компонентом GS1 DataBar no ISO/IEC 24723.

Символа GS1 Композитный.

Для некоторых видов символов GS1 DataBar не допускается инвертирование по цвету штрихов и пробелов, т. е. штрихи должны быть только тем ными. а пробелы — светлыми. Сканеры не должны предпринимать попыток декодирования комбинаций инвертированных штрихов и пробелов, т.к. может произойти ошибочное считывание инвертированных символов GS1 DataBar.

5 Требования к символам GS1 DataBar Всенаправленный, GS1

DataBar Усеченный, GS1 DataBar Двустрочный и GS1 DataBar

Двустрочный Всенаправленный

5.1 Основные показатели символа GS1 DataBar Всенаправленный

Символ GS1 DataBar Всенаправленный представлен линейной символикой, позволяющей закодировать 20000000000000 (2 х 10'э) числовых значений. Эти числовые значения выражены в 14 цифрах. Первая цифра обозначает флаг сопровожден ия, следующие 13 цифр—знаки данных. 13 знаков данных, включая контрольную цифру, образуют 14-разрядный идентификационный номер предмета GS1 вместес начальным разрядом индикатора. Значения, равные или большие 10 000 000 000 000. указывают назадан-иый флаг сопровождения и. следовательно, присутствие двумерного компонента. Например, значение 10001234567890 кодирует предмет с идентификационным номером 00012345678905 и флагом сопровождения. равным 1.

Символы GS1 DataBar Всенаправленный могут быть сканированы и декодированы по четы рем сегментам с последующим восстановлением полного символа, что обеспечивает возможность всенаправленного сканирования. Пример несвязанного линейного символа GS1 DataBar Всенаправленный, кодирующего значение 20012345678909 (при значении флага сопровождения, равном нулю), приведен на рисунке 1.



Рисунок 1 — Линейньы символ GS1 DataBar Всенаправленный, представляющий номер (01)20012345676909

Примечание — Начальные цифры (01) представляют собой подразумеваемый идентификатор применения. который не подлежит кодированию в символе. Последний разряд номера (9) не кодируют в символе напрямую, он представляет собой вычисляемую по модулю 10 контрольную цифру. Правила вычисления контрольной цифры приведены в приложении А. В приложении F приведен пример кодирования символа GS1 DataBar Всенаправленный.

5.2 Структура символ a GS1 DataBar Всенаправленный

Символ GS1 DataBar Всенаправленный состоит из восьми областей (слева направо), включающих в себя 96 модулей (рисунок 2):

a)    первая область состоит из одного пробела и одного штриха шириной один модуль каждый и соответствует левому шаблону-ограничителю;

b)    вторая область состоит из четырех пробелов и четырех штрихов общей шириной 16 модулей и соответствует первому знаку символа со структурой (л.к) = (16.4);

c)    третья область состоит из трех пробелов и двух штрихов общей шириной 15 модулей и соответствует левому шаблону поиска;

d)    четвертая область состоит из четырех штрихов и четырех пробелов общей шириной 15 модулей (при считывании справа налево) и соответствует второму знаку символа со структурой (п.к) - (15.4);

e)    пятая область состоит из четырех штрихов и четырех пробелов общей шириной 15 модулей и соответствует четвертому знаку символа со структурой (п.к) - (15.4);

О шестая область состоит из трех штрихов и двух пробелов общей шириной 1S модулей (при считывании справа налево) и соответствует правому шаблону поиска;

g)    седьмая область состоит из- четырех пробелов и четырех штрихов общей шириной 16 модулей (при считывании справа налево) и соответствует третьему знаку символа со структурой (п,к) = (16,4);

h)    восьмая область состоит из одного пробела и одного штриха шириной один модуль каждый и соответствует правому шаблону-ограничителю.

Рисунок 2 — Линейный символ GS1 DataBar Всенаправленный, представляющий номер (01)04412345676909


Примечание — Порядок расположения элементов знака символа определен по направлению к прилегающему к нему шаблону поиска.

»-X--X-<

Левый

1-й знак

Левый

2-й знак

4-й знак

Правый

3-й знак

Правый

шаблон-

символа

шаблон

символа

символа

шаблон

символа

■— шаблон-

ограничитель

(16.4)

поиска

<15.4)

(15.4)

поиска

(164)

ограничитель

Полный символ включает в себя 46 элементов (штрихов и пробелов), содержащих 96 модулей. В таблице Е .1 приложения Е приведены 46 элементов символа GS1 DataBar Всенаправленный. Символ GS1 DataBar Всенаправленный, предназначенный для всенаправленного сканирования, должен иметь высоту, равную или более ЗЗХ"(33 модуля).

Символ не требует наличия свободных зон. Ширина первого и последнего элементов в символе может быть более одного модуля при совпадении по цвету смежной с ними области подложки (светлой слева или темной справа), что не оказывает влияния на считывание символа.

5.2.1    Структура знака символа

Каждый из четырех знаков символа имеет структуру (г.к). Значение л равно 16 для первого и третьего (внешних) знаков символов и 1Ь для второго и четвертого (внутренних) знаков символов. 3-качение к равно 4.

На рисунке 2 стрелками показано направление следования элементов в каждом знаке символа. Элементы первого и четвертого знаков символа расположены слева направо, а элементы второго и четвертого знаков — справа налево, так что порядок следования элементов знаков символа всегда определяют по направлению к прилегающему шаблону поиска.

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

5.2.2    Значение знака символа

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

Размер X соответствует ио&улю.

GS1 DataBar Всенаправленный. GS1 DataBar Усеченный. GS1 DataBar Двустрочный и GS1 Data Ваг Двустрочный Всенаправленный приведен алгоритм формирования элементов знака символа, написанный на языке программирования С.

5.2.2.1 Значения внешних знаков символа

Действительные поднаборы четных элементов внешних знаков символа (первый и третий знаки символа) должны содержать хотя бы один элемент шириной один модуль. Действительные поднаборы нечетных элементов этих знаков могут не иметь в своем составе ни одного элемента шириной один модуль. Указанное ограничение по ширине для четных элементов обеспечивает наличие в знаках символа уникальных сумм модулей для размера, задаваемого «от края до подобного края» (штрих плюс пробел и пробел плюс штрих).

8таблице1 приведены характеристики поднаборов элементов знака символа со структурой (16.4), а также пары элементов четного и нечетного поднаборов по пяти группам, на которые разделено общее число сочетаний элементов в знаке символа. Оба поднабора имеют четное число модулей. Максимальная ширина элементов установлена таким образом, чтобы число модулей в паре смежных элементов никогда не превышало девяти модулей. Общее число комбинаций элементов в знаке символа со структурой (16.4) равно 2841. Значение знака символа ооструюгурой(1в.4)\/0вычисляют следующим образом

Vo - (Vooo * T6ven) * VgvEN + Gsjm-где TEV6N—общее число комбинаций элементов четного под набора;

Vooo — значение для нечетного поднабора;

VEVen — значение для четного поднабора;

G3UU — сумма произведений значений каждой предыдущей группы по таблице 1.

Для вычисления значений V0oo и V6Ven используют значение знака символа VD:

Vqdd = <VD ~ GSUm) drv TEVEfi;

VEVEN = (Vo “ G8Um) TgvEN-

Например, необходимо закодировать знак символа со структурой (16.4) и значением 2315. По таблице 1 определяют, что значение знака символа находится в диапазоне от 2015 до 2714. что соответствует группе 4. GSUM = 2016. a TEV6fl = 70. Применяя приведенные выше уравнения, получают;

Vooo ® (2315-2015) div 70 = 300 div 70 = 4;

Veven г (2315-2015) mod 70 = 300 mod 70 = 20.

Значение знака символа 2315 находится в группе 4 (таблица 1). Знак символа содержит нечетный поднабор элементов общей шириной 6 модулей и соответствующей величиной V0do =4 из 10 возможных значений (в диапазоне от 0 до 9) и четного лоднабора элементов общей шириной 10 модул ей и соогветству-ющеи величиной Veven г 20 из /и возможных значений (в диапазоне от о до Ь9). С помощью процедур, изложенных в приложении В. получают значения ширины нечетных элементов соответственно (12 21} модулей, а значения ширины четных элементов соответственно {1513} модулей. Таким образом, ширина элементов знака символа составляет^ 12 521 1 3} модулей в направлении к шаблону поиска, обозначенному стрелкой на рисунке 2.

Таблица 1 — Характеристики внешнего знака символа со структурой (16.4)

Диапазон

значений

Труп-

па

Сумма

предыдущих

групп

®sou

Отношение числа модулей а нечетиом/чегиэм поднаборах

Отношение значений самых широких элементов в нечютиом/четиом поднаборах, модули

Общее число комбинации элементов нечетною поднабора тооо

Общее число комбинации элементов четного поднабора Tev*w

ОтОдо 160

1

0

12/4

8/1

161

1

От 161 до 960

2

161

10/6

6/3

80

10

От 961 до 2014

3

961

8/6

4/5

31

34

От 2015 до 2714

4

2015

6/10

3/6

10

70

От 2715 до 2840

5

2715

4/12

1/8

1

126

S.2.2.2 Значения внутренних знаков символа

Комбинации нечетных элементов внутренних знаков символа (второй и четвертый знаки символа) должны иметь в своем составе хотя бы один элемент шириной один модуль. Действительные поднаборы четных элементов этих знаков могут не содержать ни одного элемента шириной один модуль. Указанные ограничения для четных элементов обеспечивают наличие в знаках символа уникальных сумм модулей для размера, задаваемого «от края до подобного края» (штрих плюс пробел и пробел плюс штрих).

8 таблице 2 приведены характеристики лоднаборов элементов в знаках символа со структурой (15.4) а также перечень пар элементов, взятых из четных и нечетных лоднаборов по четырем группам. Нечетный поднабор элементов имеет нечетное число модулей, а четный—четное число модулей. Максимальные размеры элементов в модулях установлены так. чтобы их число в паре смежных элементов было не более девяти модулей. Об шее число комбинаций элементов в знаке символа со структурой (15.4) равно 1597. Диапазон допустимых значений нечетного подмабора элементов имеет ограничение для значения ширины крайнею внутреннего элемента (нечетного элемента с номером-1}. которое не должно быть более четырех модулей.

Таблица 2 — Характеристики внутреннего знака символа со структурой (15,4)

Диапазон

значений

Труп-

па

Сумма

предыдущих

групп

69WM

Отношение числа модулей е нечотиом/четиом подиаборах

Отношение значении самых широких элеме-нтоа а нечетиомГчетиом подиаборах. модули

Общее число комбинации элементов нечетного поднабора тооо

Общее число комбинации элементов четного подмабора

От 0 до 335

1

0

5/10

2/7

4

84

От 336 до 1035

2

336

7/8

4/5

20

35

От 1036 до 1515

3

1036

9/6

6/3

48

10

От 1516 до 1596

4

1516

11/4

8/1

81

1

Значение знака символа со структурой (15.4) V0 вычисляют по формуле

= (VEVEN х TODO) + VOOD + GSUM.

где T0do—общее число комбинаций элементов нечетного под набора.

VEVEN — значение для четного поднабора:

Vqdo — значение для нечетного пюднабора:

Gsuu — сумма произведений значений каждой предыдущей группы.

Для вычисления значений VOOB и VEVEN используют значение знака символа VQ:

Veven ~ Mi — Gsufi*)divToDo;

^ооо = (V0 ~ GSIJU) rnod Тооо-

Следует обратить внимание на то. что смысл четного и нечетного поднаборов элементов ме няется в этих вычислениях на противоположный по сравнению с внешними знаками символа со структурой (16.4).

5.2.3 Значение символа

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

Таблица 3 — Значения пар знаков символа

Внешний знак символа

Внутренний знак символа

Пара знаков символа

Структура

Число комбинаций

Структура

Число комбинаций

Число

Диапазон

{я .К)

v0yl#oe)

<л.К>

комбинаций

значении

(16.4)

2841

(15.4)

1597

4537077

От 0 до 4537076

Значение пары знаков символа VPAIR вычисляют по формуле

* (1597 х Coutsioe) + Qnside-

где COUTSOg и Ст8ЮЕ — значения внешнего и внутреннего знаков символа соответствен но.

Для кодирования значений внешнего и внутреннего знаков символа (Coutsioe и СК8юе соответственно) исходя из значения VPAiR. используют формулы:

Coutsioe ~ ^pair divVINSI0E;

Qnside = Vpair mod VWsoe-

Напри мер. значение пары знаков символа VPA,„ — 1971265. Рассчитывают значения внешнего и внутреннего знаков символа Coutsioe hC,NS)DE:

Coutsioe 5 197126Sdiv 1597 = 1234;

Cwsos a 1971265 mod 1597 = 567.

Значение символа вычисляют путем комбинаций значений левой и правой пар знаков символа по следующей формуле

VsvMeot *{4537077 х VlPA1R) + VRPA1R.

где '/symbol-' значение символа;

VlPAIR и VRPAIR — значения правой и левой пар знаков символа.

Значения левой и правой пар знаков символа (VLPA,R и VRPAlR соответственно) ло значению символа V&rMsoi вычисляют по формулам:

VLPA(R = V3VMBOL div 4537077:

VRRA|R = Vsvueot mod 4537077.

Например, значение символа \/&ГМ801 — 1 234 567 890. Значения левой и правой пар знаков символа (VLPAe и VRPjMR соответственно) вычисляют по формулам:

VlPAtlR = 1234567890 div 45370 77 = 272;

Vrpair s 1234567890 mod 4537077 * 482946.

Путем комбинации значений знаков символа получают 20585067703929 значений, однако применяют только первые 20000000000000 значений (отО до 19999999999909). Старшим разрядом является значение флага сопровождения двумерным компонентом, которое равно 0 для каждого отдельного символа GS1 DataBar Всенаправленный. GS1 DataBarУсеченный, GS1 DataBar Двустрочный или GS1 DataBar Двустрочный Всенаправленный и 1 в случае, если к линейному символу GS1 DataBar Всенаправленный. GS1 DataBar Усеченный. G31 DatoDar Двустрочный или GG1 Data Oar Двустрочный Всенаправленный добавляют двумерный компонент. Указанные значения флага сопровождения отделяют от остальных 13 цифр при создании идентификационного обозначения предмета. Для формирования идентификационного номера GTiN-14 вычисляют и добавляют в конец обозначения подразумеваемую контрольную цифру, вычисленную ло модулю 10. Начальный префикс идентификатора применения (01) добавляют к передаваемым данным непосредственно после подлежащего обязательной передаче идентификатора символики )е0 или ]С1.

5.2.4 Шаблоны поиска

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

5.2.4.1 Структура шаблона поиска

Каждый из двух шаблонов поиска состоит из пяти элементов, содержащих 15 модулей. Лев ый шаблон поиска начинается и заканчивается пробелом, а правый шаблон поиска начинается и заканчивается штрихом. Элементы шаблона поисха нумеруют е направлении снаружи вовнутрь символа (рисунок2).

Сумма модулей элементов с номерами 2 и 3 находится а диапазоне от 10 до 12. а сумма модулей элементов с номерами 4 и 5 равна 2. Отношение совокупной ширины е паре элементов 2 и 3 к общей ширине четырех смежных элементов 2.3.4 и 5 находится в диапазоне от 10:12 до 12:14. Эти отношения используют на первом этапе логики распознавания шаблона поиска. Значения ширины элементов шаблона поисха (е модулях) для девяти кодируемых значений шаблона поиска приведены е таблице 4.

Таблица 4 — Значения шаблонов поиска и ширина элементов

вариант шаблона поиска

Ширина элеыента а модулях {при нумерации снаружи вовнутрь) дли элемента с номером

Т

2

3

4

5

0

3

8

2

1

1

1

3

5

5

1

1

2

3

3

7

1

1

3

3

1

9

1

1

4

2

7

4

1

1

5

2

5

б

1

1

6

2

3

8

1

1

7

1

5

7

1

1

8

1

3

9

1

1

Пары со значениями шаблона поиска (левый и правый) виОиОидне используют, так как значения О и 8 могут быть преобразованы в противоположные значения при возникновении одиночной краевой ошибки 1 -X. Оставшиеся 79 возможных пар значений шаблона поиска кодируют величину контрольной суммы по mod 79.

S.2A.2 Вычисление контрольной суммы

Значения для двух шаблонов поиска ClEFT и CrI6Ht могут быть представлены одним из девяти воз* можных значений. Пары значений шаблонов поиска ОививиОне используют. Таким образом, остается 79 (9 х 9-2 = 79) сочетаний пар значений шаблонов поиска. Значение контрольной суммы равно остатку от деления по модулю 79 взвешенной суммы значений ширины элементов в знаке символа.

Значение контрольной суммы по модулю 79 вычисляют по формуле

(W^E,., *• W,2E, 2 +...+ Wv4E,j ♦Wj .E*., ♦...+ W4eE4J) mod 79.

ГДв WN МЕЧ Ы — произведение ширины элемента (в модулях) на весовой коэффициент этого элемента по таблице 5. расположенного в позиции М знака символа N''.

Весовые коэффициенты вычисляют как степенную функцию с аргументом 3 по модулю 792>.

Таблица 5 — весовые коэффициенты элементов знаков символа для вычисления значения контрольной суммы

Номер ткана символа

Весовой коэффициент для элеыента е номером

1

2

3

4

S

в

7

в

1

1

3

9

27

2

6

18

54

2

4

12

36

29

8

24

72

58

3

16

65

37

32

17

51

74

4

64

34

23

69

49

68

46

59

Кодирование двух значений шаблона поиска проводят в следующем порядке:

temp равно значению контрольной суммы:

если temp больше или равно 8, то temp - temp + 1;

если temp больше или равно 72, то temp - temp * 1;

ClEFT - temp div 9;

Crksht г temp mod 9.

,JW— номер знака символа(1...4). M —порядковый номер элемента в этом знаке(1...8). WN U —ширина элемента (в модулях}. ENU — весовой коэффициент элемента.

2J Начиная с 1-го элешнта 1-го знака символа для данных.

В приложении F (F.1) приведен пример вычисления контрольной суммы и выбора контрольного знака.

5.2.4.3 Декодирование шаблона поиска

Декодирование шаблона поиска начинают с его идентификации путем сравнения общей ширины четырех расположенных рядом элементов со значениями ширины крайней левой или крайней правой пар элементов. Для шаблона поиска это отношение должно находиться в пределах от 12:9,5 до 14:12.5. Левый и правый шаблоны поиска отличают по инверсии темных и светлых элементов.

Установление шаблона поиска и проверка действительных пропорций знака символа и соответствующего шаблона поиска должны быть подтверждением того, что был сканирован надлежащий сегмент символа GS1 OataBarвсенаправленный. GS1 DataBarУсеченный, GS1 DataBarДвусгрочный или GS1 DataBar Двустрочный всенаправленный, соответствующий четверти символа.

5.2.5 Рекомендуемый алгоритм декодирования

Системы считывания штриховых кодов обеспечивают считывание настолько несовершенных символов. насколько это позволяют используемые на практике алгоритмы декодирования. В настоящем пункте приведен рекомендуемый алгоритм декодирования, используемый для расчета значения декодирувмости no ISO/IEC15416 при измерении качества печати символа.

Алгоритм включает в себя следующие этапы декодирования символа:

a)    обнаружение сегмента при помехе в символе слева направо и справа налево последовательности из четырех элементов с заданным соотношением:

при сканировании слева направо:

9.5:12 £ ((элемент 1 + элемент 2):{элемент 1 + элемент 2 » элемент 3 + элемент 4)) 512.5:14:

при сканировании справа налево:

9.5:12 £ {(элемент 3 + элемент 4): (элемент 1 к элемент 2 + элемент 3 ♦ элемент4)}£ 12.5:14.

Данное соотношение определяет со второго по пятый элементы шаблона поиска.

Используя метод, изложенный е перечислении с) 1) — 3). декодируют шаблон поиска для кахождв-ния нормированных значений «от края до подобного края» (штрих плюс пробел и пробел плюс штрих) Е1 и Е2. исходя из размера р. а также сумму размеров первых четырех элементов шаблона поиска. Проверяют соответствие значений Е1 и Е2 действительному шаблону поисжа символов штрихового кода GS1 DataBar Всенаправленный. GS1 DataBar Усеченный. GS1 DataBar Двустрочный nnnGS1 DataBar Двустрочный Всенаправленный.

Примечание — Нумерация элементов соответствует порядку их следования от внешнего края символа к его центру*, таким образом, первым элементом в левом шаблоне поиска считают крайний левый элемент, а первым элементом правого шаблона поиска — крайний правый (см. рисунок 2);

b)    определяют направление следования элементов и инверсию элементов «черный—белый» шаблона поиска. С помощью шаблона поисжа и ориентации устанавливают, какая (п.к) структура — (16.4) или (10,4) — подходит для прилегающего к нему знак символа, а также цвет (черный или белый) начального элемента:

c)    декодируют каждый прилегающий знак символа со структурой (16,4)следующим образом:

1) измеряют ширину семи размеров р. в,. е2, в34. е5 иев (рисунок 3).

Рисунок 3 — Измеряемые размеры при декодировании

Примечание — На рисунке3 первый элемент изображен е виде темного элемента слева, но знаки сим вола могут быть также зеркальным отражением слева направо и/или инвертированы по цветам темный'светлый по отношению к рисунку.

2)    преобразуют измеренные размерьте,.ег.вз.в45, ив6в нормированные значения Е,,Ег, Е3. Е„. Es и Е6. которые представляют собой ширину в целых значениях модулей (EJ изме-ренных размеров. Для значения Е, используют следующие выражения:

если 1,5р/16 £ в, < 2.5р/16. то Е, -2; если 2,5р/16 i е, < 3.5р/16. то Е, =3: если3.5р/1б£е,<4.5р/16. тоЕ, =4; eam4,Sp/16£et<5,5p/16. тоЕ, =5; если 5,5р/16 й в, < 6,5р/16. то Е, =6: если 6.5р/16 5 е, < 7,5р/16. то Е, =7: если 7,5р/16 й е, < 8,5р/16. то Е, =8: еслив.брЛб^в.хЭ.бр/^, тоЕ, =9.

Если данные условия не выполняются, знак символа считают ошибочным;

3)    определяют нормированные значения ширины элементов, исходя из значений Е. К ширине последнего элемента знака символа относят оставшиеся модули (вместо вычисления его ширины по значениям Е). Установление действительных размеров ширины элементов является единственным решением, при котором в знаке символа не должны присутствовать элементы с шириной менее одного модуля, и должен быть включен хотя бы один четный элемент с шири ной один модуль. Например, на рисунке 3 значения от Е, до Е6 равны {4 3 4 554}. Возможные производные наборы элементов могут быть рассчитаны как {4 03 1 41 30} (следует обратить внимание на присутствие элементов шириной 0 модулей). (3122 3221}. {22132312} (следует обратить внимание на отсутствие четных алементов шириной один модуль) или {1 3041 4 03} (следует обратить внимание на присутствие элементов шириной 0 модулей и на отсутствие четных элементов шириной один модуль). Только восемь значений ширины элементов {31223221} удовлетворяют этим требованиям, поэтому их выбирают в качестве значений ширины элементов. Если ни один из полученных наборов элементов не является действительным, то знак считают ошибочным. В приложении G приведена реализация алгоритма декодирования ширины этих элементов на языке программирования С;

4)    определяют значения четного и нечетного поднаборов с помощью программы, приведенной в приложении В;

5)    вычисляют значение знака символа из значений четного и нечетного лоднаборов;

6)    вычисляют и сохраняют значения произведений весовых коэффициентов на значения ширины элементов для расчета контрольной суммы;

d)    декодируют каждый прилегающий знак символа со структурой (15.4} следующим образом:

1)    измеряют ширину семи размеров р. е,.вг34. е5ив6 (рисунок 3);

2)    преобразуют измеренные размеры е,.е2, е3. в4„в5 ивев нормированные значения Е,, Ег, Е3, Е<. Es и Ев. которые представляют собой ширину в целых значениях модулей (Е,)этих измеренных размеров. Для i-ro значения Е используют следующие выражения:

если 1.5р/15£е,<2.5р/15.тоЕ, =2; если 2.5р/15 £ е, < 3,5р/15, то Et =3; если3.5р/15£в,<4.5р/15, тоЕ, =4; если4,5р/15£е,«5.5р/15. тоЕ, =5; если 5,5р/15 S ©j < 6.5р/15. то Е, =6; если6,5р/15£е,<7,5р/15.тоЕ, *7; если7,5р/15 5е1<8,5р/15. тоЕ, =8; если 8,5рЛ5 Z е, < 9.5р/15. то Е, в 9.

Если данные условия не выполняются, знак символа считают ошибочным;

3)    определяют значение знака символаооструктурой(15.4)всоответствииспорядком.установленным в перечислениях с) 3}—6);

e)    декодируют значение шаблона поиска с помощью следующего метода, использующего нормированные значения ширины элементов:

1) находят значение р как сумму элементов e^e^e* и е4 шаблона поиска;

2)    преобразуют измеренные размеры e,.e2„e3 и е4 в нормированные значения Е^Ег.ЕэиЕ^ которые представляют собой ширину в целых значениях модулей (Е,)этих измеренных размеров. Для i-ro значения Е используют следующие выражения:

если 1.5р/14£е,<2,5р/14.тоЕ, -2: если2.5р/14< 3.5р/14.тоЕ, =3: если3.5р/14£е»*<4.5р/14.тоЕ) =4; если 4,5р/14 Se, < 5.5р/14.то Е, - 5: если5.5р/14 5а1<6.5р/14.тоЕ1 =6: если 6.5рЛ4 S е( < 7.5р/14. то Е, = 7; если7.5р/14So,< 8.5р/14.тоЕ, *8: если8,5р/14£е, <9.5р/14,тоЕ, *9:

3)    значения для Е,. Е2. Еэ и Е« шаблона поиска приведены в таблице 4:

0 после декодирования всех четырех знаков данных и двух шаблонов поиска проверяют значения обоих шаблонов поиска на принадлежность к установленному набору ив 79 действительных пар значений, а также на совпадение значения контрольной суммы по модулю 79. вычисленной по двум шаблонам поиска. результатам расчета по модулю 79 суммы взвешенных значений ширины элементов (S.2.4.2) для знаков символа;

д) вычисляют значение флага сопровождения и идентификационного номера предмета по четырем знакам данных:

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

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

5.3 Специальные виды символов для особых применений

5.3.1 Символ GS1 DataBar Усеченный

Структура и правила кодирования символа GS1 DataBar Усеченный (рисунок 4) аналогичны символу GS1 DataBar Всенаправленный; отличием является высота символа, уменьшенная до минимального размера 13Х. Символ GS1 DataBar Усеченный может быть использован для маркировки мелких предметов торговли вместо символа GS1 DataBar Ограниченный в случае, когда требуется, чтобы разряд индикатора мог принимать более одного значения. Символ GS1 DataBar Усеченный применяют также с целью уменьшения высоты символа GS1 Композитный в случае, когда двумерный компонент состоит из четырех столбцов.

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

i II min in пни

Рисунок 4 — Символ GS1 DataBar Усеченный, представляющий номер (01)00012345678905

Полный размер символа GS1 DataBar усеченный, длина — 96Х при минимальной высоте 13Х.

5.3.2 Двустрочные версии символов

Определены две версии символов: с усечением по высоте и для всенаправленного считывания. Символ GS1 DataBar Двустрочный представляет собой символ GS1 DataBar Всенаправленный, в котором две половины символа размещены в двух усеченных ло высоте строках. Верхняя строка соответствует левой половине символа, к которой справа добавлен шаблон-ограничитель, состоящий из штриха шириной 1X и пробела шириной 1Х. Нижняя строка соответствует правой половине символа, к которой слева добавлен шаблон-ограничитель. состоящий из штриха шириной 1Х и пробела шириной 1Х. Символ GS1 DataBar Двустрочный Всенаправленный подобен символу GS1 DataBar Двустрочный, за исключением полноразмерной высоты строк и наличия шаблона-разделителя высотой три модуля.

5.3.2.1 Символ GS1 DataBar Двустрочный

Символ GS1 DataBar Двустрочный (рисунок 5) представляет собой двустрочную версию символа, усеченного по высоте. Для сравнениям символе на рисунке 5 закодированы те же самые данные, что и на рисунке 4.

ними

Рисунок 5 — Символ GS1 DataBar Двустрочный, представляющий номер (01)00012345678905

Высота верхней строки символа — 5Х. а нижней — 7Х. высота шаблона-разделителя строк между обеими строками—не менее 1Х. Полный размер символа: длина — 50Х при высоте 13Х.

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

8 случае, если модули верхней и нижней строи символа, вертикально прилегающие к выбранному модулю шаблона — разделителя строк, имеют разные цвета, то модуль шаблона — разделителя строкдолжен иметь цвет, противоположный цвету модуля шаблона —разделителя строк, прилегающего к нему слева. Таким образом происходит чередование штрихов и пробелов шириной один модуль в шаблоне — разделителе строк в области с различными цветами модулей элементов верхней и нижней строк символа.

Символы US1 DataBar двустрочный могут быть использованы вместо символов GS1 DataBar ограниченный для маркировки мелких предметов в том случае, когда доступное пространство слишком мало для применения символов GS1 DataBar Ограниченный. Кроме того, укороченная длина символа GS1 DataBar Двустрочный позволяет использовать больший размер X и большие возможности для качественной печати. Тем не менее использование символов GS1 DataBar Ограниченный или GS1 DataBar Усеченный более предпочтительно, чем использование символов GS1 DataBar Двустрочный, при условии, что пространство для размещения символа позволяет это сделать без уменьшения размера X в связи с тем. что их проще сканировать считывающим карандашом или линейным сканером изображения.

Символы GS1 DataBar Двустрочный предназначены для считывания различными типами сканеров: считывающими карандашам и. ручными (переносными) лазерными ска нерами и двумерными сканерами изображения. Всенаправленные сканеры на кассовых терминалах е пун ктах розничной торговли не позволяют осуществлять эффективное считывание указанных символов.

5.3.2.2 Символ GS1 DataBar Двустрочный Всенаправленный

Символ GS1 DataBar Двустрочный Всенаправленный (рисунок 6) представляет собой полноразмерную версию двустрочного си мвола GS1 DataBar. состоящего из двух строк и предназначенного для всенаправленного считывания. Строки символа отделены между собой шаблоном-разделителем строк минимальной высотой ЗХ. состоящим изтрвх рядов минимальной высотой 1Х.

Верхний ряд шаблона — разделителя строк содержит модули противоположного цвета по отношению к прилегающим модулям штрихов и пробелов верхней строки символа, за исключением первых четырех и последних четырех модулей шаблона —разделителя строк и 13 модулей, расположенных под элементами 1. 2 и 3 шаблона поиска. Цвет указанных 13 модулей будет светлым под прилегающими штрихами шаблона поиска и чередующимся (темным, светлым, темным и тд.)^ под прилегающими пробелами шаблона поиска.

Рисунок 6 — Символ GS1 DataBar Двустрочный Всенаправленный. представляющий номер (01)00034567890125

Средняя строка шаблона — разделителя строк со стоит из чередующихся светлых и темных модулей, за исключением первых четырех и последних четырех модулей шаблона — разделителя строк.

Нижний ряд шаблона — разделителя строк содержит модули противоположного цвета по отношению к прилегающим снизу модуля м штрихов и пробелов нижней строки символа, за исключением первых четырех и последних четырех модулей шаблона — разделителя строк и 13 модулей, расположенных над элементами 1.2 и 3 шаблона поиска (в направлении справа налево). Указанные 13 модулей будут светлыми над прилегающими штрихами шаблона поиска и чередующимися (темными, светлыми, темными и т.д.)11 над прилегающими пробелами шаблона поиска. Единственный темный модуль среди 13 указанных модулей. прилегающих к шаблону поиска оо значением 32>. смещается на один модуль вправо так. чтобы он находился над штрихом шаблона поиска шириной три модуля.

Высота каждой строки символа имеет минимальное значение ЗЗХ, высота шаблона — разделителя строк—ЗХ. Полный размер символа: длина 50Х при минимальной высоте 69Х.

Символ GS1 DataBar Двустрочный Двустрочный Всенаправленный может применяться вместо символа GS1 DataBar Двустрочный Всенаправленный в конкретных применениях с использованием всенаправленного «санирования в случае необходимости использования иных геометрических пропорций.

6 Требования к символу GS1 DataBar Ограниченный

6.1 Основные показатели

Символ GS1 0а1аВагОграниченный представлен линейной символикой, позволяющей закодировать 4000000000000 (4 х Ю12) числовых значений (6.2.3). В дополнение к флагу сопровождения, обеспечивающему связь с двумерным компонентом, может быть закодирован полный набор идентификационных номеров с разрядами индикатора 1 или 0.

Символы GS1 DataBar Ограниченный предназначены для считывания сканерами различного типа — считывающими карандашами, ручными (переносными) лазерными сканерами, а также линейными и двумерными сканерами изображений. Всенаправленные сканеры на кассовых терминалах в пунктах розничной торговли не позволяют осуществлять эффективное считывание указанных символов. На рисунке 7 приведен пример символа GS1 DataBar Ограниченный.

Рисунок 7 — Символ GS1 DataBar Ограниченный, представляющий номер (01)15012345678907

6.2 Структура символа

Символ GS1 DataBar Ограниченный состоит из пяти областей (порядок следования — слева направо), включающих в себя 79 модулей (рисунок 8):

a)    первая область состоит из одного пробела и одного штриха шириной один модуль каждый и соответствует левому шаблону-ограничителю:

b)    вторая область состоит из семи пробелов и семи штрихов общей шириной 26 модулей и соответствует левому знаку символа со структурой (п,к) - (26.7);

c)    третья область состоит из семи пробелов и семи штрихов общей шириной 18 модулей и соответствует контрольному знаку со структурой (п.к) - (18.7);

d)    четвертая область состоит иэ семи пробелов и семи штрихов общей шириной 26 модулей и соответствует правому знаку символа оо структурой (п.к)= (26.7);

e)    пятая область соответствует правому шаблону-ограничителю и состоит иэ трех элементов—пробела шириной один модуль, следующего за ним штриха шириной один модуль и следующего за ним пробела шириной пять модулей.

Левый


шаблон-

ограничитель


Левы* шаблон- ~ограничитель

Левый знак

Контрольный

Правый знак

символа

знак

символа

(26.7)

(18.7)

(26.7)

Правый

"~шабпон-

ограничител»

I

I



Левы И знак символе (26.7)




(a)


Конгрсг.ьнь* I Правый знак


знак

(16.7)


символе

(26.7)


Правый шаблон-ограничитель


ill [fill111 III ш

(Ь)

Рисунок 8 — Символ GS1 DataBar Ограниченный, представляющий номер (01)00312345678906 — (а), и этот же символ, напечатанный на темной подложке для демонстрации пробела шириной 5 модулей в правом шаблоне-ограничителе — (Ь)

Полный символ содерж:ит 47 элементов, включающих в себя 79 модулей. В таблице Е.2 приложения Е приведены все элементы символа GS1 DataBar Ограниченный. Высота символа GS1 DataBar Ограниченный должна быть не менее 10Х.

Однако светлые модули по краям символа GS1 DataBar Ограниченный могут выглядеть как свободные зоны. Для их отличия от свободных зон рекомендуемый алгоритм декодирования символа должен проверять шаблоны-ограничители для исключения возможности ошибочного считывания символа UPC-Ae качестве символа GS1 DataBar Ограниченный.

6.2.1 Структура знака символа

Каждый из двух знаков символа имеет структуру (п.к). Знаки символа п и к имеют значения 26 и 7 соответственно.

На рисунке 8 стрелками показано направление следования элементов в символе (слева направо).

Каждый знак символа содержит два поднабора элементов—элементы с четной и нечетной нумера* цией. Понятий «счетной» и «с нечетной» нумерацией соотносятся с порядковым номером элементов в каждом поднаборе. Пробелы являются нечетными элементами, штрихи — четными. Например, под набор с нечетной нумерацией состоит из первого, третьего, пятого, седьмого, девятого, одиннадцатого и тринадцатого элементов в каждом знаке символа, начиная с крайнего левого элемента. Поднабор из семи элементов содержит не менее семи модулей (минимальное значение) и не более 19 модулей (максимальное значение). Оба поднабора содержат нечетное число модулей. Общая сумма числа модулей в четном и нечетном поднаборах каждого знака символа равна 26.

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

6.2.2 Значение знака символа

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

Действительные лодиаборы четных элементов должны включать в себя хотя бы один элемент шириной один модуль. Действительные поднаборы нечетных элементов могут не иметь в своем составе ни одного элемента шириной один модуль. Указанное ограничение по ширине для четных элементов обеспечивает наличие е знаках символа уникальных сумм модулей для размера, задаваемого «от края до подобного края» (штрих плюс пробел и пробел плюс штрих).

8 таблице 6 приведены характеристики поднаборов элементов знака символа со структурой (26.7), а также пар элементов из четного и нечетного поднаборов по семи группам. Оба поднабора имеют нечетное число модулей. Максимальная ширина элементов установлена таким обраэом. чтобы число модулей в паре смежных элементов было не более девяти. Общее число комбинаций элементов е знаке символа со структурой (26.7) равно 2013571.

Таблица 6 — Характеристики знака символа со структурой (26.7)

Диапазон

значении

Груп

па

Сумма

предыдущих

ipynn

Gsuu

Отношение числа модулей

а нечеткоыГчетном поднаборах

Отношение значений самых широких элементов в нечетномГчетиом

nivv-xfirpiiv ылдупх

Общее числа комбинаций элементов н счетного поднабора тооо

Общее число комбинаций эпементое четною лолнабора

^*VCN

ОгОдо

183063

1

0

17/9

63

6538

28

От 183064 до 820063

2

183064

13/13

5/4

875

728

Or 820064 до 1000775

3

820064

9/17

3/6

28

6454

От 1000776 до 1491020

4

1000776

15/11

5/4

2415

203

От 1491021 до 1979844

5

1491021

11/15

4/5

203

2408

От 1979845 до 1996938

6

1979845

19/7

8/1

17094

1

От 1996939 до 2013570

7

1996939

7/19

1/8

1

16632

Значение знака символа V0 вычисляют по следующей формуле

VD = (V0DD Х TEven) + VgvEN + Озим-

где TEyEN—общее число комбинаций элементов четного лоднабора:

Vooo — значение для нечетного поднабора:

VEVen — значение для четного лоднабора:

Gsuu — сумма произведений значений для каждой предыдущей группы.

Значения V0oo и VEven вычисляют с использованием значения знака символа VD по формулам:

V00D = (V0-Gsuu)divTEv6H;

VevEN = (Vq ~Gsuu)n>OdTEvEN-

Например, необходимо закодировать знак символа со значением 917 879. По табли це 6 определяют, что значение знака символа находится в диапазоне значений группы 3 и соответствует GSUM = 820064 и Teven = 6454. Применяя приведенные выше уравнений, определяют:

Vooo а (9178-79 - 820064) div 6454 = 97815 div 6454 = 15;

VEV6N = (917879 - 820064) mod 6454 = 97815 mod 6454 = 1005.

Используя алгоритм, приведенный в приложении В. определяют ширину нечетных и четных элементов. Знак символа из группы 3 (таблица 6) включает в себя нечетный поднабор элементов общей шириной 9 модулей и соответствующим значением V0dd -15 из 28 возможных значений (в диапазоне от 0 до 27) и четного поднабора элементов общей шириной 17 модулей и соответствующим значением VEVEh — 1005 из 6454 возможных значений (едиапаэоне от 0до6453). Ширина нечетных элементов соответствует (12 11112} модулям, а ширина четных элементов — {1235123} модулям. Таким образом, ширина элементов знака символа для данных составляет (11221315111223} модулей в направлении слева направо.

6.2.3 Значение символа

Значение символа вычисляют путем комбинации значений левого и правого знаков символа по следующей формуле

^symbol “ (2013571 х V0LEFT) + VORI6HT, где VSYMBOL — значение символа:

V0LEFT и V0RIGHT — значения левого и правого знаков символа соответственно.

Кодирование значений правого и левого знаков символа (V0LEM и V0RIGHr соответственно) исходя из значения VsrMeoi. проводят с помощью следующих формул:

Voieft = VsYM&ot div 2013571;

Уики."! -V»TMBWV mod 2013671.

Путем комбинации значений знаков символа можно получить 4054468172041 значений. однако применяют только первые 4000000000000 значений (от 0 до 1999999999999 и от 2015133531096 до 4015133531095). Указанные диапазоны значений выбирают таким образом, чтобы наличие двумерного компонента можно было определить по числу модулей каждого поднабора левого знака символа без декодирования правого знака символа. У отдельного линейного символа GS1 DataBar Ограниченный значения левого знака символа находятся в диапазоне от 0 до 993260. в то время как символ GS1 DataBar Ограниченный в составе символа GS1 Композитный имеет значения левого знака символа в диапазоне от 1000776 до 1994036.

Если значения знака символа попадают во второй диапазон (от 2015133531096 и выше), это указывает на наличие флага сопровождения и двумерного компонента, сопровождающего символ GS1 DataBar Ограниченный. В этом случае значение основных данных вычисляют путем вычитания значения 2015133531096 из значения символа GS1 DataBar Ограниченный. Разность должна быть в интервале значений отО до 1999999999999. что соответствует первому диапазону значений, и. таким образом, определяют основную идентификацию предмета торговли.

Значения отО до 1999999999999 соответствуют первым 13 разрядам номера GTIN-14 основного идентификатора предмета. Разряд индикатора принимает два возможных цифровых значения — ноль и единицу. Для формирования идентификационного номера GTIN-14 к окончанию данных, подлежащих передаче, добавляют вычисляемую по модулю 10 контрольную цифру. Начальный префикс идентификатора применения (01) добавляют к передаваемым данным непосредственно после подлежащего обязательной передаче идентификатора символики ]е0 или ]С 1.

6.2.4 Контрольный знак символа

Символ GS1 DataBar Ограниченный имеет контрольный знак символа (далее — контрольный знак), который одновременно выполняет функции шаблона поиска символа. Контрольный знак расположен между двумя знака ми символа.

62.4.1 Структура контрольного знака

Контрольный знак со структурой (18.7) кодирует 89 значений—от О до 88. Контрольный знак состоит из 7 пробелов общей шириной 9 модулей и 7 штрихов общей шириной 9 модулей. Комбинации элементов контрольного знака выбирают таким образом, чтобы исключить возможность дублирования при смещении и/или зеркальном отображении слева направо комбинаций 14 элементов, присутствующих в зоне непосредственной близости к середине символа. 8 приложении С приведена ширина элементов контрольного зна ка для 89 закодированных значений.

6.2.4.2 Вычисление значения контрольного знака

Значение контрольного знака равно остатку от деления по модулю 89 взвешенной суммы значений ширины элементов знаков символа.

Значение контрольного знака по модулю 89 вычисляют по формуле

(W|.,E, | +W,.2E1i2 ♦...♦ W.jaE,.,* *-W3.,E2., ♦...+Wj.^Ej.,,,) mod 89.

где WN uEnm11 — произведение весового коэффициента знака символа N для позиции элемента с порядковым номером М на значение ширины данного элемента М (в модулях) в знаке символа N (таблица 7).

Весовые коэффициенты вычисляют как степенную функцию с аргументом 3 по модулю 89г\

Таблица 7 — Весовые коэффициенты элементов знаков символа для вычисления значения контрольного знака по модулю 89

Номер

Весовой коэффициент элемента с номером (при нумерации слева направо)

символа

1

2

3

4

6

«

7

в

в

10

11

12

13

14

1

1

3

9

27

81

65

17

51

64

14

42

37

22

66

2

20

60

2

6

18

54

73

41

34

13

39

28

84

74

В приложении F (F.2) приведен пример кодирования символа GS1 DataBar Ограниченный.

6.2.5 Шаблон поиска

Шаблон поиска ларам ыризуе юн ш ношением ширины знаки* символа к ширине ком i рольней о знака символа, которое определяется через номинальное отношение 26:1826 ширины 14 элементое контрольного знака символа к 14 элементам каждого из двух прилегающих знаков символа. Кроме того, символ идентифицируют по контрольному знаку символа, соответствующему действительным комбинациям пробелов и штр ихое контрольного знака символа. Возможность зеркального отображения или смещения комбинаций элементов контрольного знака символа, которая может возникнуть в реальных символах, устранена путем удаления соответствующих сочетаний из набора контрольных знаков.

62.6 Рекомендуемый алгоритм декодирования

Системы считывания штриховых кодов обеспечивают считывание настолько несовершенных символов. насколько это позволяют используемые на практике алгоритмы декодирования. 8 настоящем разделе приведен рекомендуемый алгоритм декодирования, используемый для расчета значения декодируемости по ISO/IEC15416 при измерении качества печати символа.

Алгоритм включает в себя следующие этапы декодирования каждого знака символа:

а) осуществляют обнаружение символа путем поиска трех последовательностей, состоящих из четырнадцати элементое. с отношением значений ширины в соотношении (26 ± 1,5):18:(26 ± 1.5) (дополнительно с учетом допуска на изменение скорости сканирования, если это требуется для данного сканирующего устройства);

,J Whm — ширина элемента. Ецы — весовой коэффициент элемента. 2J Начиная с первого элемента первого знака символа для данных.

b)    получают подтверждение, что центральная последовательность является действительным контрольны м знаком. Используя метод, изложенный в этапах с) 1) и с) 2) (за исключением того, что на этапе, указанном в перечислении с) 2). значение делителя р равно 18, а не 26), определяют значения ширины элементов. Сравнивают полученные результаты со значениями. приведенными в приложении С;

c)    проводят декодирование двух знаков символа следующим образом:

1) измеряют тринадцать параметров р, в,. е2, е3. е«. е5. е6. в7, ев, е9. в10, е,,. и е12 (рисунок 9);

Нечетный, Нечетный^

Четный, Четный^

Нечетныйэ

Нечетный4 Нечетный Четный^ Четный4

, НечетныНечетный; Четный^ Четный^ Четный;

Рисунок 9 — Измеряемые параметры при декодировании


2)    преобразуют измеренные размеры е,. е2. е3, е4, е$. е6. е7. еа. е9. в,0. еч1, и е,2 в нормированные значения Е,. Е2, Е3. Е4< Е5. Е6, Ег, Ев, Ед. Е1С>. Е„ и Е12. которые представляют собой ширину указанных измеренных размеров (Е,) в целых значениях модуля. Для определения Е, используют следующие выражения:

если 1,5р/26 £ в, < 2.5р/26. то Е, - 2; если 2.5р/2б £ е, < 3,5р/26. то Е, * 3: если3.5р/2б£в,<4.5р/26. тоЕ, -4\ если4.5р/2б£е*<5,5р/26. тоЕ* =5: если 5.5р/26 £ е, < 6.5р/26, то Е, - 6; если 6,5р/26 £ в, < 7.5р/26. то Е, - 7; если7.5р/2б£е,<8.5р/26.тоЕ, =8: если 8,Sp/26 5 Oj < O.Sp/26, то Е, * О.

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

3)    определяют нормированные значения ширины элементов величин Е. К ширине последнего элемента знака символа относят оставшиеся модули (вместо вычисления его ширины на основе значении Е). Набор действительных значений ширины элементов является единственным решением, при котором отсутствуют элементы шириной менее одного модуля и присутствует хотя бы один четный элемент шириной один модуль. Например, на рисунке 9 значениям от Е, до Е,2 соответствуют {334664335423}. Возможными производными наборами элементов являются {12133312140212}. {21224221231121}или {3031 5130322030}. Только четырнадцать значений ширины элементов {21224221231121} удовлетворяют требованиям к действительной ширине элементов, поэтому их выбирают в качестве значений ширины элементов. Если ни один из полученных наборов значений ширины элементов не является действительным, знак считают ошибочным. 8 приложении G приведена реализация алгоритма декодирования ширины этих элементов на языке программирования С;

4)    определяют значения четного и нечетного поднаборов с помощью программы, приведенной в приложении В;

d)    после декодирования двух знаков символа и контрольного знака символа проводят проверку на совпадение значений контрольного знака, вычисленных на основе шаблона поиска по модулю 89. результатам расчета по модулю 89 суммы взвешенных значений ширины элементов для знаков символа:

e)    вычисляют значение флага сопровождения и идентификационного номера предмета по значениям двух знаков символа:

0 в качестве дополнительной меры проводят вторичные проверки изменения скорости сканирования, абсолютного времени сканирования, размеров символа и т.п.. целесообразность которых определяют исходя из конкретного типа устройства считывания и предполагаемых условий применения;

д) подтверждают, что выполняются все нижеперечисленные условия:

1)    расстояние от начала символа (т. е. от левого края крайнеголевою пробела шаблона-ограничителя) до правою края первою штриха (г. е. второго элемента шаблона-ограничителя) более (3/52) р первою знака символа (т. е. больше 1.5 модулей):

2)    расстояние от начального края штриха шаблона-ограничителя до начального края первого штриха левого знака символа должно соответствовать ((N-+1 )/26)р ± 0.5 модулей, где N соответствует нормированному значению Е первого пробела, определенному в 6.2.6 на этапе

с) 3) (т. в. номинальная ширина штриха шаблона-ограничителя соответствует одному модулю);

3)    в случае обнаружения последовательности, состоящей не менее чем из 10 элементов, предшествующих и включающих в себя первый штрих (с порядком нумерации. при котором номер 10 присвоен наиболее удаленному штриху слева, а номер 1 — первому штриху), элементы с первого по восьмой вкпючитепьно не должны декодироваться в качестве двух действительных знаков символа UPC-А (в соответствии с ISO/IEC15420) с номинальным размером X. составляющим 25 % значения <1/26)р (т. е. 0.25 ном икального размера модуля левою знака символа GS1 DataBar Ограниченный).

Если какое-либо из условий 1) — 3) не выполняется, то сканирование символа GS1 DataBar Ограниченный должно быть забраковано;

h) подтверждают, что расстояние от левою края правою шаблона-ограничителя до правого края штриха этого шаблона-ограничителя равно значению (1/13) р правого знака символа (±0.5 модулей), а также, что расстояние от левою края конечною штриха шаблона-ограничителя до окончания символа (т. е. до завершения конечного пробела) более (5/26) р (т. е. 5 модулей).

Примечание — Для предотвращения ошибочного считывания символов UPC-А е качестве символов GS1 DataBar Ограниченный сканер должен выполнять этапы декодирования, соответствующие указанным выше этапам д) и h). Дополнительные пояснения приведены в приложении н.5.

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

7 Требования к символам GS1 DataBar Расширенный и GS1 DataBar

Расширенный Многострочный

7.1 Основные показатели символа GS1 DataBar Расширенный

Символ GS1 DataBar Расширенный представлен линейной с им вошкой с символами переменной длины, ело собной закодировать до 74 цифровых или 41 алфавитною знака данных—строк элементов с идентификаторами применения AI. с внутренним представлением в виде двоичного числа. Символы GS1 DataBar Расширенный могут быть использованы для кодирования основных и дополнительных данных, предназначенных для использования на кассовых терминалах в пунктах розничной торговли, а также для иных применений при наличии соответствующих сканеров и соответствующим образом настроенного прикладного программного обеспечения.

Символы GS1 DataBar Расширенный могут быть сканированы и декодированы по 22 сегментам с последующим восстановлением полною символа, что обеспечивает возможность всенаправленного сканирования. Пример символа GS1 DataBar Расширенный приведен на рисунке 10.

Рисунок 10 — Символ GS1 DataBar Расширенный, представляющий номер (01 >98698765432106(3202)012345{15)991231

7.2 Структура символа

7.2.1 Общая структура символа

Первый знак символа в любом символе является контрольным знаком, в котором закодированы контрольная сумма и длина символа. Пример символа GS1 DataBar Расширенный, приведенный на рисунке 11. содержит один контрольный знак символа и пять знаков символа.

Символы GS1 DataBar Расширенный построены в виде последовательности триплетов, состоящих из шаблона поиска, расположенного между двумя знаками символа. При нечетном числе знаков символа (при порядке следования слева направо) шаблон поиска размещают за последним знаком символа. Порядок следования элементов в знаках символа с нечетной нумерацией — слева направо, в знаках символа с четной нумерацией — справа налево. В знаках символа 1". 2.5.6.9,10ит.д. первым элементом (самым дальним элементом от прилегающего шаблона поиска) является пробел, в то время как в знаках символа 3. 4. 7. 8.11. 12 и т. д. первым элементом является штрих. Символ GS1 DataBar Расширенный всегда начинается и заканчивается левымиправым шаблонами-ограничителями, также как и каждая строка многострочного символа. Пример символа GS1 DataBar Расширенный, состоящего из шести знаков символа и одиннадцати областей (слева направо), имеет следующую структуру (рисунок 11):

a)    первая область состоит из одного пробела и одного штриха шириной один модуль каждый и соответствует левому шаблону-ограничителю:

b)    вторая область состоит из четырех пробелов и четырех штрихов общей шириной 17 модулей и соответствует контрольному знаку символа со структурой (п.к) - (17.4);

c)    третья область состоит из трех пробелов и двух штрихов общей шириной 15 модулей и соответствует шабл ону поиска А1;

d)    четвертая область состоит из четырех штрихов и четырех пробелов общей шириной 17 модулей и соответствует первому знаку символа со структурой (п.к) - (17.4) (порядок следования элементов — справа налево);

e)    пятая область состоит из четырех штрихов и четырех пробелов общей шириной 17 модулей и соответствует второму знаку символа со структурой (п.к) = (17.4);

0 шестая область состоит из трех штрихов и двух пробелов общей шириной 15 модулей и соответствует шаблону поиска В2:

д) седьмая область состоит из четырех пробелов и четырех штрихов обшей шириной 17 модулей и соответствует третьему знаку символа со структурой (п.к) - (17.4) (порядок следования элементов — справа налево):

h) оосьмал область состоит из *ютырох пробелов и1 ютькрех штрихов общей шириной 17 модулей и соответствует четвертому знаку символа со структурой (п.к) - (17.4);

>) девятая область состоит из трех пробелов и двух штрихов общей шириной 15 модулей и соответствует шабл ону поиска В1;

j)    десятая область состоит из четырех штрихов и четырех пробелов общей шириной 17 модулей и соответствует пятому знаку символа со структурой (п.к)= (17.4) (порядок следования элементов — справа налево);

k)    одиннадцатая область состоит из одного пробела и одного штриха шириной один модуль каждой и соответствует правому шаблону-ограничителю.

Примечание — Порядок следования элементов знака символа определяют по направлению к прилегающему к нему шаблону поиска.

Символ GS1 DataBar Расширенный (рисунок 11) состоит из 67 элементов, общая ширина которых равна 151 модулю. В таблице Е.З приложения Е приведены все67 элементов символа GS1 DataBar Расширенный. указанного на рисунке 11. Наименьшая высота символа GS1 DataBar Расширенный должна быть равна 34 модулям.

При подсчете числа знаков символа для данных контрольный знак символа условно считают знаком символа для данных. Поэтому для данной записи знаком символа с номером 1 является контрольный знак символа, знаком символа с номером 2 — первый знак символа (рисунок 11) и т.д.

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

Рисунок 11 — Символ GS1 DataBar Расширенный, представляющий номер (01)90012345678906(3103)001750

7.2.2    Структура знака символа

Каждый знак символа для данных (далее — знаксимвола) и контрольный знак символа имеют структуру (п.к). Значение п равно 17. а значение к —4.

Порядок следования элементов первого, третьего и прочих знаков символов с нечетной нумера* цией — слева направо, а второго, четвертого и прочих знаков символов с четной нумерацией — справа налево, такчто элементы знака символа всегда следуют по направлению к прилегающему к ним шаблону поиска. На рисунке 11 стрелками показано направление следования элементов в каждом знаке символа.

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

7.2.3    Значение знака символа

Каждому значению знака символа по определенному алгоритму присваивают комбинацию значений ширины элементов для четного и нечетного поднаборов. 6 этом алгоритме задают число элементов, число модулей, максимальную ширину элемента, а также возможность присутствия в поднаборе любого элемента шириной более одного модуля. В приложении В приведен алгоритм формирования элементов знака символа GS1 DataBar Расширенный, написанный на языке программирования С.

Действительные поднаборы нечетных элементов должны включать в себя хотя бы один элемент шириной один модуль. Действительные поднаборы четных элементов могут не содержать ни одного элемента шириной один модуль. Указанное ограничение по ширине для нечетных элементов обеспечивает наличие в знаках символа уникальных сумм модулей для размера, задаваемого « от края до подобного края »(штрих плюс пробел и пробел плюс штрих).

Кроме того, существует дополнительное ограничение, заключающееся в том. что первый (наиболее удаленный от шаблона поиска) нечетн ый элемент должен быть шириной менее пяти модулей. Данное ограничение обеспечивает отсутствие появления ложною шаблона поиска при захвате элементов прилегающих к нему знаков символа.

В таблице 8 приведены характеристики под на боров элементов для знака символа со структурой (17.4), а также пары элементов из четного и нечетного поднаборов, объединенные в пять групп. В нечетном поднаборе — четное число модулей, в четном поднаборе — нечетное число модулей. Максимальная ширина элементов установлена таким образом, чтобы число модулей в паре смежных элементов было не более девяти модулей. Общее число комбинаций элементов в знаке символа соструктурой (17.4) равно 4192.

Таблица 8 — Характеристики знака символа со структурой (17.4)

Диапазон

значений

Труп-

па

Сумма

предыдущих

групп

^SUM

Соотношение числа модулей в нечетных/четных поди аборах

Соотношение значений самых широких элементов а нечетнмх>'четммх поднаборах, модули

Общее число

комбинаций

элементов

нечетного

поднабора

тооо

Общее число комбинаций элементов чехною поднабора TEVEN

От 0 до 347

1

0

12/5

7/2

87

4

От 348 до 1387

2

348

10/7

5/4

52

20

От 1388 до 2947

3

1388

8/9

4/5

30

52

От 2948 до 3987

4

2948

6/11

3/6

10

104

От 3988 до 4191

5

3988

4/13

1/8

1

204

Значение знака символа Vs вычисляют по следующей формуле

Vs = (Vooo х TEVEN) ♦ VEVE4 + Gsuu.

где TEVEN—общее число комбинаций элементов четного поднабора;

Vooo — значение для нечетного поднабора;

VEVEN — значение для четного поднабора;

GSUM — сумма произведений значений для каждой предыдущей группы.

Для кодирования конкретного значения знака символа Vs вычисляют VODD и VEVEN по следующим формулам;

Vooo ~ (V8 ~ GSUm) drv "^EVEN*

Veven s (Vg ~Gsum)^<x1 TEven-

Например, необходимо закидириеа1ь знак символа си значением 3544. С помощью таблицы 8 определяют, что значение знака символа находится в диапазоне, соответствующем группе 4. где GSUM = 2948. a TEVENI = 104. С помощ-ью приведенных выше уравнений определяют:

Vooo г <3544 - 2948) div 104 = 596 drv 104 = 5;

Veven * (3544 - 2948) mod 104 = 596 mod 104 = 76.

Для вычисления ширины элементов используют алгоритм, приведенный в приложении В. Знаку символа, значение которого находится в группе 4. соответствует согласно таблице 8 нечетный поднабор элементов общей шириной 6 модулей и значением Vooo г 5 из 10 возможных значений (в диапазоне от 0 до 9) и четный поднабор элементов общей шириной 11 модулей и значением = 76 из 104 возможных значений (в диапазоне от 0 до 103). Значения ширины нечетных элементов соответственно будут равны {131 1} модулям, а значения ширины четных элементов соответственно — {41 4 2} модулям. Таким образом, ширина элементов знака символа будет равна {14 3 1 1412} модулям.

7.2.4 Двоичное значение символа

Каждое значение знака символа от 0 до- 4095 представляет 12-битовый номер, используемый для кодирования значения символа. Двоичные значения каждого знака символа последовательно соединяют для формирования кодированной двоичной строки. Первый знак символа (второй знаксимвола) содержит старший бит.

Длины двоичной строки в зависимости от числа знаков символа приведены в габли це 9.

Таблица 9 — Число битов в зависимости от размера символа

Число знаков символа

Число знаков символа дли донных

Число битов в кодированной строке

Число знаков символе

Число знаков символа для да иных

Число битов в кодированной строке

4

3

36

14

13

1S6

5

4

48

15

14

168

6

5

60

16

15

180

7

6

72

17

16

192

8

7

84

16

17

204

9

8

96

19

18

216

10

9

108

20

19

228

11

10

120

21

20

240

12

11

132

22

21

252

13

12

144

7.2.5 Кодирование данных

Данные пользователя, подлежащие кодированию в символе GS1 DataBar Расширенный, должны екл ючать в себя идентификаторы применения и поля данных, которые соответствуют требования м общих спецификаций GS1 к данным, структурированным так же. как они должны быть закодированы в символе GS1-128. При кодировании символа GS1 DataBar Расширенный должны соблюдаться правила соединения строк элементов с идентификаторами применения А!для символов GS1-128. например, использования знака FNC1 для отделения строки элементов переменной длины от следующей за ней строки элементов.

Двоичная строка GS1 DataBar Расширенный может быть разделена на несколько (до пяти) двоичных полей. Первые два поля используют во всех символах. Дополнительно может быть использовано от одного до трех оставшихся полей. Указанные поля включают в себя:

a)    поле флага сопровождения двумерным компонентом (7.2.5.1);

b)    поле метода кодирования (7.2.5.2);

c)    двоичное поло символе переменной длины (7.2.S.3);

d)    поле уплотненных данных (7.2.5.4);

в) поле универсального уплотнения данных (7.2.S.5).

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

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

72.5.1    Поле флага сопровождения двумерным компонентом

В данном поле должен быть один бит. указывающий, является ли символ GS1 DataBar Расширенный частью символа GS1 Композитный. Значение данного бита, равное нулю, указывает на обособленный линейный символ GS1 DataBar Расширенный, а значение, равное единице. — на его использование в качестве линейного компонента символа GS1 Композитный.

72.5.2    Поле метода кодирования

Поле метода кодирования содержит один или более битое. Данное поле код ируется непосредственно за флагом сопровождения двумерным компонентом. Значение поля определяет, является ли символ универсальным символом или символом, ориентированным на особое применение, который начинается полем уплотненных данных (например, для эффективного отображения строки элементов с идентификатором при* мвнемия А1 для идентификации предмета). Значения поля метода кодирования установлены в таблице 10.

Таблица 10—Методы и параметры кодирования

Значение поля метода кодирования

Число знаков символа

Длина поля уплотненных данных, биты’1

Наличие поля универсального уплотнения данных

Идентификаторы применения Л1 в строках элементов

1

От 5 до 22

44

Да

(01) И прочив AJ

00

От 4 до 22

Не регламентируется

Да

Любые А!

0100

б (фиксированная длина)

55

Нет

(01) и (3103)

0101

6 (фиксированная длина)

55

Нет

(01) и (3202Ш3203)

01100

От 6до22

42

Да

(01)и(392х)

01101

От 7 до 22

52

Да

(01) и (393х)

0111000

8 (фиксированная дгыка)

76

Нет

(01). (310х) и (11)

0111001

8 (фиксированная длина)

76

Нет

(01). (320х) и (11)

0111010

8 (фиксированная длина)

76

Нет

(01). (Э10х) н (13)

0111011

8 (фиксированная длина)

76

Нет

(01). (320х) и (13)

0111100

8 (фиксированная длина)

76

Нет

(01), <Э10х) и (15)

0111101

8 (фиксированная длина)

76

Нет

(01). <Э20х) и (15)

0111110

8 (фиксированная длина)

76

Нет

(01). (310х) и (17)

0111111

8 (фиксированная длина)

76

Нет

(01). (320х)и(17)

Поле метода кодирования со значением «1» предназначено для кодирования данных, связанных с основной идентификацией, с идентификатором применения AI (01), и дополнительных данных с иными идентификаторами применения А).

I юле метода кодирования со значением «00» предназначено для кодирования данных о предметах, для которых не применима основная идентификация AI (01). Данное значение устанавливает, что будет закодирован символ переменной длины, состоящий из четырех или более знаков символа. В составе символа присутствует поле универсального уплотнения данных, но отсутствует поле уплотненных данных.

Поля метода кодирования со значениями «0100» и «0101» предназначены для кодирования основной идентификации предметов и значения их массы переменной величины. Поля метода кодирования со значениями от «0111000» до «0111111» предназнач ены для кодирования основной идентификации предмета, значения массы и одного из четырех полей данных с иными идентификаторами применения AI.

Поля метода кодирования со значениями «01100» и «01101» предназначены для кодирования основной идентификации предмета и его цены.

7.2.5.3 Двоичное поле символа переменной длины

Данное поле присутствует только е символах переменной длины с полями метода кодирования со значениями «1», «00». «01100» и «01101» и расположено непосредственно за полем метода кодирования. Длина поля — два бита. Первый бит имеет значение « ноль» в том случае, если символ содержит четкое число знаков символа, и значение «единица», если содержит нечетное число знаков символа. Второй бит является битом размера группы и принимает значение «ноль» в том случае, если число знаков символа в символе менее или равно 14. и значение «единица», если число знаков символа более 14. Эти два бита вместе с набором шаблонов поиска обеспечивают двойную проверку числа знаков символа, установленного в контрол ьном знаке символа (7.2.6).

В зависимости от идентификатора применения At.

7.2.5.4 Поле уплотненных данных

Двоичные данные в этом поле интерпретируются в соответствии с конкретным методом кодирования. Все символы, кроме тех. для которых в поле метода кодирования установлено значение «00». содержат попе уплотненных данных.

7.2.5.4.1    Поле метода кодирования со значением «1» для данных основной идентификации предмета

Данный метод кодирования может быть использован в случае, если в начале сообщения, подлежа*

щего кодированию, присутствует строка элемента с идентификатором применения AI (01). В строке элемек* та с идентификатором применения AI для идентификации предмета отбрасывают деухразрадный идентификатор (01) и контрольную цифру. Остальные 13 цифр кодируют в 44-битовом поле уплотненных данных в пяти группах, включающих в себя од ну, три. три, три и три цифры, кодируемых в четырех, десяти, десяти, десяти и десяти битах соответственно. Каждую группу кодируют простым преобразованием из десятичного в двоичный формат. Дополнительные вспомогательные данныес иными идентификаторами применения А1 кодируют е поле универсального уплотнения данных непосредственно после 44 -битового поля уплотненных данных.

Устройство декодирования восстанавливает данные поля уплотненных данных, преобразуя 44 бита в пяти фуппах по четыре, десять, десять, десять и десять битое соответственно в 13 цифр. и добавляет две цифры: 01 — в качестве префикса и контрольную цифру, вычисленную по модулю 10. е конец строки элементов с AI. Оста ешуюся часть двоичной строки декодируют с использованием универсального уплотнения данных.

Например, если при кодировании сообщения (01)00012345678905(10)АВС123 использован метод «1». то в поле уплотненны х данных е действительности включают только цифры. выделенные полужирны м шрифтом. Номер партии АВС123 и идентификатор применения AI (10)* кодируют в поле универсального уплотнения данных непосредственно после 44-битового поля уплотненных данных. На выходе устройства декодирования будет последовательность данных ")еО010001234567890510АВС123*.

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

7.2.5.4.2    Поле метода кодирования со значением «0100» для идентификации предмета переменной массы (с точностью задания массы 0.001 кг)

Данный метод кодирования может быть использован в случае, если подлежащее кодированию сообщение состоит только из двух строк элементов AI: строки с идентификатором применения AI (01). за которой следует строка с идентификатором применения AI (3103)21. Строка элемента At (01) для идентификации предмета должна иметь значение разряда индикатора, равное 9. В строке элементов с идентификатором применения AI (3103) для переменной массы предмета должна быть указана его масса, которая должна быть не более 32,767 кг. Две строки элементов с AI уплотняют до 40 и 15 битов соответственно, образуя общее поле длиной 55 битов. С помощью метода кодирования со значением «0100» кодируют символ фиксированной длины, состоящий из шести знаков символа без поля универсального уплотнения данных.

При кодировании двух строк элементовс идентификатором применения AI в строке элемента с А! (01) отбрасывают первые три цифры (019) и последнюю контрольную цифру. Остальные 12 цифр кодируют в 40-битовом поле уплотненных данных е четырех группах по три цифры е каждой, кодируемых соответственно в 10 битах. В строке элемента с AI (3103) отбрасывают первые четыре цифры (3103). Остальные шесть цифр в диапазоне от 000000 до 032767 кодируют в 15 битах и добавляют в поле уплотненных данных.

Устройство декодирования декодирует первые 40 битое как 12 цифр путем преобразования каждой из четырех групп по 10 битое в три цифры и добавляет перед этими 12 цифрами пре фикс из трех цифр—019. а в конец первой строки элемента с AI — контрольную цифру, вычисленную по основанию 10. Далее указанное устройство преобразует остальные 15 битое в десятичное числовое значение, дополняя полученные цифры начальными кулями до шести цифр, затем добавляет префикс AI. равный 3103. к декодированному шестизначному значению массы для формирования второй строки элемента с AI в сообщении.

Например, если при кодировании сообщения (01 )9001234567890&(3103)001750 использован метод кодирования со значением «0100». то в поле уплотненных данных е действительности включают только выделенные полужирным шрифтом цифры, но на выходе устройства декодирования будет последовательность данных Те001900123456789083103001750".

7.2.5.4.3    Поле метода кодирования со значением «0101» для идентификации предмета переменной массы (с точностью задания значения массы 0.001 или 0.01 фунта)

Указанный метод кодирования может быть использован е случае, если подлежащее кодированию сообщение состоит только из двух строк элементов с AI: строки с AI (01). за которой следует строка с AI (3202) или AI (3203р. Строка элемента с AI (01) для идентификации предмета должна иметь значение разряда индикатора. равное 9. В строке элемента с AI (3202) для переменного значения массы предмета должна быть указана его масса, которая должна быть не более 99,99 фунтов. В строке элемента с AI (3203) для переменного значения массы должна быть указана его масса. но не более 22.767 фунтов. Две строки элементов с AI уплотняют до 40 и 15битов соответственно, образуя общее поле длиной 55 битое. С помощью метода кодирования со значением *0101» кодируют символ фиксированной длины, состоящий из шести знаков символа без поля универсального уплотнения данных.

При кодировании двух с трок элементов с идентификатором применения А1 в строке элемента сА1 (01) отбрасывают первые три цифры (019) и последнюю контрольную цифру. Остальные 12 цифр кодируют в 40-битовом поле уплотненных данных в четырех группах по три цифры в каждой группе, кодируемых соответственно в 10 битах. 8 строках элементов с А1 (3202) и AI (3203) отбрасывают первые четыре цифры (3202 и 3203 соответственно). Для AI (3202) значения для оставшихся 6 цифр в диапазоне от 0 до 9 999 кодируют 15 битами и добавляют в поле уплотненных данных. Для AI (3203) значен ия для оставшихся 6 цифр должны находиться в диапазоне от 0 до 22767. К этому значению прибавляют 10000. результат кодируют в 15 битах и добавляют в поле уплотненных данных.

Устройство декодирования декодирует первые 40 битов как 12 цифр путем преобразования каждой из четырех групп по 10 битов в три цифры, затем добавляет перед этими 12 цифрами префикс, состоящий из трех цифр — 019. а в конце первой строки элемента с AI — контрольную цифру, вычисленную по модулю 10. Затем устройство декодирования преобразует оставшиеся 15 битов в десятичное числовое значение. В случае если это значение менее 10000, то оно будет преобразовано в шесть цифр, которым предшествует идентификатор применения AI. равный (3202), с целью создания строки элемента с AI в сообщении. 8 случае если значение более 19000. из него следует вычесть 10000. дополняя полученные цифры начальными нулями до шести цифр. Затем устройство декодирования добавляет префикс идентификатора применения AI (3203) к декодированному шестираэрядному значению массы для формирования второй строки элемента с AI в сообщении.

Например, если при кодировании сообщения (01 )9001234567890в(3202)000156 использован метод кодирования со значением «9101». в поле уплотненных данных в действительности включают только выделенные полужирным шрифтом цифры, но на выходе устройства декодирования будет последовательность данных >001900123456769083202000156'.

7.2.5.4.4    Поля методов кодирования со значения ми от «0111000» до «0111111» для идентификации предмета, его переменной массы и календарной даты

Указанный метод кодирования может быть использован е случае, если подлежащее кодированию сообщение состоит из двух или трех строк элементов с идентификаторами применения AI: AI (01). AI (ЗЮх) или А! (320х) (х — в диапазоне от 0 до 9) в качестве необязательного дополнения AI (11). или А! (13). или AI (15). или А! (17). Строка элемента с AI <01)для идентификации предмета должна иметь значение индикатора. равное 9. В строке элемента с AI для переменной массы могут быть указаны числовые значения в диапазоне от 0 до 99999. С помощью методов кодирования со значениями от «0111000» до «0111111» кодируют символ фиксированной длины, состоящий из восьми знаков символа без поля универсального уплотнения данных.

Ниже приведены восемь методов кодирования данных, связанных с предметом, его переменной массой и календарной датой.

Метод *0111000*

AI (01) + AJ(310x} + А1 (11)

Масса не тто предмета в метрических единицах величин и дата изготовления

Метод *0111001*

AI (01) + А1 (320х)+ А1 (11)

Масса нетто предмета в неметрических (британских) единицах величин и дате изготовления

11 Идентификатор применения AI (3202) обозначает массу нетто е фунтах с двумя десятичными разрядами после запятой, идентификатор применения At (3203) обозначает массу нетто в фунтах с тремя десятичными разрядами после запятой.

Метод *0111010*

AI (01) + AJ(310x) + А1 (13)

Массе не тто предмета в метрических единицах величин и дата упаковывания

Метод *0111011"

AI (01) + AJ (320х) + А1 (13)

Масса не тто предмета в неметрических (британских) единицах величин и дата упаковывания

Метод *0111100"

AI (01) +AJ(310x) + AI (15)

Масса не тто предмета в метрических единицах величин и дата реализации

Метод *0111101'

AI (01) +AJ(320x} + AI (15)

Масса не тто предмета в неметрических (британских) единицах величин и дата реализации

Метод *0111110"

AI (01) + AI(310x)+ AI (17)

Масса не тто предмета в метрических единицах величин и дата окончания срока годности

Метод “0111111"

AI (01) + AJ (320x) + AI (17)

Масса не тто предмета в неметрических (британских) единицах величин и дата окончания срока годности

Три строки элементов AI уплотняют до 76 битов, при этом идентификацию предмета уплотняют до 40 битов, значение массы — до 20 битов и значение даты — до 16 битое.

При кодирован ии трех строк элементов AI в строке элемента с иде нтифика тором применения AI (01) отбрасывают первые три цифры (019) и последнюю контрольную цифру. Остальные 12 цифр кодируют в 40-битовом поле уплотненных данных в четырех группах по три цифры в каждой, кодируемых в десяти битах соответственно. В строке элементов с идентификаторами применения AI (ЗЮх и 320х) для обозначения массы отбрасывают 3-разрядный префиксА1(310или 320). Из оставшейся 7-значной строки элемента с AI удаляют второй разряд слева (ноль) с целью формирования строки из в цифр. Указанные 6 цифр, состоящие из цифры последнего разряда AI и последних пяти цифр значения массы, кодируют в 20 битах и добавляют в поле уплотненных данных. В строке элементов с идентификаторами применения AJ (11). AI (13). А] (15) или А1 (17)отбрасывают2-разрядный префикс AI (11.13.15 или 17) и преобразуют оставшиеся шесть цифр со структурой кГГММДД» {«YYMMDD»)' в уплотненную строку со значениями от 0 до 38399 и кодируют уплотненные данные в 16 битах с помощью следующей формулы

(YY х 384) ♦ ((ММ - 1) х 32) ♦ (DD).

Значение 38400 в 16-битовом подполе обозначает, что попе данных не подлежит кодированию. Этот вариант применяют для кодирования идентификации предмета и массы в случае, если методы кодирования со значениями *0100” или “010Г не поддерживают данное значение массы.

Устройство декодирования декодирует первые 40 битов в 12 цифр, преобразуя каждую из четырех групп по 10 битое в три цифры, и добавляет перед этими 12 цифрами префикс трех цифр (019). а в конец первой строки элемента с AI — контрольную цифру, вычисленную по модулю 10.

Затем устройство декодирования преобразует следующих 20 битов по основанию 10 для получения шести десятичных цифр, размещает ноль после первой цифры (слева) для создания последовательности из семи цифр, а затем добавляет префикс AI (310) или AI (320) перед указанной строкой для формирования второй строки элементов с AI передаваемого сообщения. После этого устройство декодирования преобразует последние 16 битов в числовое- значение. Если при декодировании последних 16 битов получают значение 38400, то следующие данные не подлежат декодированию.

Иное значение свидетельствует о том. что была закодирована календарная дата. В соответствии с приведенной выше формулой устройством декодирования должно быть выделено 6-раэрядное значение даты и в соответствии с установленной процедурой к нему должен быть добавлен в качестве префикса идентификатор применения AI (11). А1 (13). AI (15) или AI (17).

Например, если при кодировании сообщения (01)90012345678968(3103)012233(15)991231 использован метод кодирования со значением *0111000*, то в поле уплотненных данных е действительности включают только выделенные полужирным шрифтом цифры, но на выходе устройства декодирования будет последовательность данных “]е00190012345678908310301223315991231".

7.2.5.4.5    Поле метода кодирования со значением «01100» для идентификации предмета переменной величины и его цены

Указанный метод кодирования может быть использован в случае, если подлежащее кодированию сообщение состоит только из двух строк элементов с AI: строки с At (01). за которой следует строка с AI (392х). Строка элемента с AI (01) для идентификации предмета должна включать в себя разряд индикатора 9. Значение цены предмета, указанное в строке элемента с AI (392х), может иметь от нуля до трех цифр после десятичной запятой (в диапазоне з качений х от 0 до 3). Строку элемента с AI (01) для идентификации предмета уплотняют до 40 битов, а число десятичных разрядов после запятой в AI (392х) кодируют в двух битах. Затем цифры цены кодируют с помощью универсального числового кодирования. Все дополнительные строки элементов кодируют с помощью универсального кодирования.

При кодировании двух строк элементов AI в строке элемента с AI (01) отбрасывают три первые цифры (019) и последнюю контрольную цифру. Остальные 12 цифр кодируют в 40-битовом поле уплотненных данных вчетырех группах по три цифры в каждой, соответственно кодируемых в десяти битах. В строке элемента А1 (392х)отбрасывают первые три цифры (392). Следующую цифру (х). определяющую положение десятичной запятой и принимающую значение в интервале от О до 3. непосредственно кодируют в следующих двух битах. Данные, записанные после десятичной запятой, кодируют с помощью универсального кодирования, начиная со схемы числового кодирования.

Устройство декодирования декодирует первые 40 битов в 12 цифр, преобразуя каждую из четырех групп по десять битов в три цифры, и добавляет перед указами ыми 12 цифрами префикс из трех цифр — 019. а в конец первой строки элементов с AI — контрольную цифру, вычисленную по модулю 10. Затем указанное устройство добавляет первые три цифры идентификатора применения AI392 и преобразует следующие два бита в цифру, значение которой определяет положение десятичной запятой. Остальную часть сообщения декодируют с помощью универсального кодирования.

Например, при кодировании сообщения (01 >90012345678908(3922)795с использованием метода кодирования со значением «01100» в поле уплотненных данных в действительности включают только выделенные полужирным шрифтом цифры. На выходе устройства декодирования будет последовательность данных >001900123456789083922795’.

7.2.5.4.6    Поле метода кодирования со значением «01100» для идентификации предмета переменной величины и его цены с кодом валюты по ISO 4217

Указанный метод кодирования может быть использован в случае, если подлежащее кодированию сообщение состоит только из двух строк элементов с AI: строки с AI (01). за которой следует строка с AI (393х). Строка элемента с AI (01) для идентификации предмета должна включать в себя разряд индикатора 9. Значение цены предмета торговли, указанное в строке элемента с AI (393х), может иметь от нуля до трех цифр после десятичной запятой (в диапазоне значений хот 0 до 3). Строку элементов с AI (01) для идентификации предмета уплотняют до 40 битов, а число десятичных разрядов после запятой в AI (393х) кодируют и двух би'ах.Трехзмвчный кид палки ы ни ISO 4217 кццируюг вдвсжи бишх. За нам цифры цены лидирую г с помощью универсального числового кодирования. Все дополнительные строки элементов кодируют путем универсального кодирования.

При кодировании двух строк элементов AI в строке элементов с AI (01) отбрасывают три первые цифры (019) и последнюю контрольную цифру Остальные 12 цифр кодируют в 40-битовом полеуплот-немныхданныхвчетырехгруппахпотрицифрыекаждой. соответственно кодируемых в десяти битах. В строке элемента с AI (393х) отбрасывают первые три цифры (393). Следующую цифру (х). определяющую положение десятичной запятой и принимающую значение в интервале от 0 до 3. непосредственно кодируют в следующих двух битах. Следующие три цифры, соответствующие коду валюты по ISO 4217. кодируют непосредственно в. следующих десяти битах. Данные, записанные после трехэначного кода валюты по ISO 4217, кодируют с помощью универсального кодирования, начиная со схемы числового кодирования.

Устройство декодирования декодирует первые 40 битое в 12 цифр, преобразуя каждую из четырех групп по десять битов в три цифры, и добавляет перед указанными 12 цифрами префикс из трех цифр — 019. а в конец первой строки элемента с AI — контрольную цифру, вычисленную по модулю 10. Далее указанное устройство добавляет первые три цифры идентификатора применения AI (393) и преобразует следующие два бита в цифру, значение которой определяет положение десятичной запятой. Затем декодируют следующие десять битое. в которых непосредственно закодированы три цифры кода валюты по ISO 4217. Остальную часть сообщения декодируют с помощью универсального кодирования.

Например, если при кодировании сообщения (01)90012345678908(3932)0401234 использован метод кодирования со значением «01101». то в поле уплотненных данных в действительности включают только выделенные полужирным шрифтом цифры, но на выходе устройства декодирования будет последовательность данных,'}е00190012345678908393 20401234'.

7.2.5.5 Поле универсального уплотнения данных

В поле- универсального уплотнения данных кодируют строки элементов с At путем их преобразования в двоичную строку, используя комбинацию трех схем кодирования:

a)    схемы числового кодирования, применяемой для чисел и знаков FNC1 и использующей для коди-рованного знака 3.5 бита:

b)    схемы алфавитно-цифрового кодирования, применяемой для кодирования комбинации чисел и прописных букв, использующей 5 битов для кодирования любой цифры или знака FNC1. а 6 битов — для кодирования любой буквы:

c)    схемы кодирования знаков no ISO/IEC 646. применяемой для комбинации прописных и строчных букв, чисел и большинства специальных графических знаков (знаков препинания), использующей для кодирования любой цифры 5 битов, любой буквы — 7 битов и любого специального графического знака — 8 битов.

Универсальное уплотнение данных предназначено для кодирования строк элементов с At, отличающихся от специально кодируемых с помощью одного из способов кодирования уплотненных данных. Поле универсального уплотнения данных я вляется последним полем в символе переменной длины. После того как все дани ые были обработаны с помощью схемы универсального уплотнения данных, процесс универсал ьного кодирования завершают процедурой заполнения по 7.2.5.5.4.

7.2.5.S.1 Схема числового кодирования

Схема числового кодирования является схемой кодирования «по умолчанию», которая действует нач иная с начала поля универсального кодирования данных. В соответствии с этой схемой две цифры или цифра и знак FNC1 (в любом порядке) подлежат кодированию в семи битах. 7-битоеое значение определяют следующим образом

Значение - (11 х D,) ♦ D* + 8.

где D, и D2 — значения первой и второй цифры или значение знака FNC1 соответственно (знаку FNC1 присвоено значение 10).

Значениям в диапазоне от 8 до 127 соответствуют 7-битовые двоичные величины е диапазоне от "ОООЮОО' до “111111Г (два знака FNC1 не могут быть закодированы в семи битах). Двоичная последовательность из четырех нулей ''0000" в начале поля или следующая за окончанием предыдущей 7-битовой величины, определяемой по схеме числового кодирования, является указателем фиксации (или перехода) схемы алфавитно-цифрового кодирования (таблица 11).

Таблица 11—Схема числового кодирования

Кодируемый(е) зивк(и)

Закодированные двоичные величины

Пары «цифра — цифра», «цифра — знак FNC1* и «знак FNC1 — цифра»

От ОООГОООдр 1111111

Указатель фиксации схемы алфавитно-цифрового кодирования

0000

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

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

b)    если остается один знак, который не является цифрой, в поле уплотнения данных появляется указатель фиксации схемы алфавитно-цифрового кодирования:

c)    если остается один знак, который является цифрой, сначала вычисляют размер символа, необходимый для кодирования текущей двоичной строки, а затем число недостающих битов, равное числу битое, требуемых для доведения общего числа битов до следующего четного числа, кратного 12:

1)    если остается семь или более недостающих битов, кодируют цифру и знак FNC1. заполняющие следующие семь битое. Этот замыкающий знак FNC1 распознается как заполнитель и не передается устройством считывания:

2)    если остается от четырех до шести битов, к цифровому значению добавляют единицу и кодируют результат в следующих четырех битах:

3) в остальных случаях применяют больший по размеру символ, кодирующий цифру и знак FNC1. дополняющие следующие семь битов. Этот замыкающий знак FNC1 распознается как заполнитель и не передается устройством считывания.

Все остальные биты кодируют в соответствии с процедурой заполнения по 7.2.S.5.4;

d) если не остается ни одного знака, то все оставшиеся биты кодируют в соответствии с процедурой заполнения по7,2.5.5.4.

Каждый раз. когда появляется указатель фиксации схемы алфавитно-цифрового кодирования, схема кодирования соответствующим образом изменяется. В случае если следующий знак данных необходимо закодировать как знак по ISO/IEC 646. в схеме алфавитно-цифрового кодирования предусмотрено появления указателя фиксации схемы кодирования знаков no ISO/IEC 646. следующего за указателем фиксации схемы алфавитно-цифрового кодирования.

8 процессе декодирования должны быть проведены следующие слециальн ые проверки, когда уплотнение в соответствии со схемой числового кодирования действует в конце символа:

a)    если последние семь битов, представленные по схеме числового кодирования, непосредственно перед последовательностью заполнителей кодируют цифру, за которой следует знак FNC1. то знак FNC1 игнорируют;

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

1)    если значение равно нулю, то сообщение завершено;

2)    в остальных случаях значение декодируется как последняя цифра в сообщении, равная десятичному значению минус единица.

7 2.5.5.2 Схема алфавитно-цифрового кодирования

С помощью схемы алфавитно-цифрового кодирования кодируют цифры, знак FNCI/указатель фиксации схемы числовою кодирования, прописные буквы, пять специальных графических знаков (знаков препинания) и два знака указателя фиксации. Последовательность закодированных битов не имеет фиксированного числа битов на один знак. Биты присваивают в соответствии с длиной (в битах) каждого закодированного знака. Для кодирования каждого знака используют от трех до шести битов в соответствии с таблицей 12.

Таблица 12 — Схема алфавитно-цифрового кодирования

Знаки

Двсятнчн ые змачвни я знаков ASCII

Эакод и роеэкн ое значение

За кодированные двоичные данные

0 — 9

48 — 57

Десятичное значение ASCII минус 43 (5 битое)

От 00101 ДО01110

Знак FNC1/указатель фиксации схемы числового кодирования

15 (5 битов)

01111

A—Z

65 — 90

Десятичное значение ASCII минус 33 (6 битое)

От 100000 до 111001

• (ЗВЕЗДОЧКА)

42

58 (6 битов)

111010

.(ЗАПЯТАЯ)

44

59 (6 битов)

111011

- (МИНУС или дефис)

45

60 (6 битов)

111100

. (ТОЧКА в конце предложения или ТОЧКА как разделитель разрядов в десятичном числе1' )

46

61 (6 битов)

111101

/(ДРОБНАЯ ЧЕРТА)

47

62 (6 битов)

111110

Схема числового кодирования

0 (Збита)

000

Указатель фиксации схемы кодирования знаков по ISO/IEC 646

4 (5 битое)

00100

Знак кТОЧКА» используют в международных стандартах как разделитель разрядов в десятичном числе (в Российской Федерации для этих целей используют знак «ЗАПЯТАЯ»).

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

a)    если следующим знаком данных является знак FNC1. его кодируют по схеме алфавитно-цифрового кодирования;

b)    если следующий знак данных может быть закодирован только с помощью схе мы кодирования знаков по ISO/IEC 646. то в поле уплотнения данных кодируют указатель фиксации схемы кодирования знаков по ISO/IEC 646;

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

d)    если следующие четыре или более знаков данных могут быть закодированы с помощью схемы числового кодирования и они замыкают строку данных, то в поле уплотнения данных кодируют указатель фиксации схемы числового кодирования.

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

При декодировании кодированного двоичного поля сначала в поле проверяют первый (или три первых) бита, следующий(ие) за ранее декодированным знаком ил и расположенный(ые) в начале поля:

a)    если первый бит равен «1». следующий знак должен быть декодирован как 6-битовый знак;

b)    если первые три бита равны « 000». то это указатель фиксации;

c)    в остальных случаях следующий знак декодируют как 5-битовый знак.

7.2.5.5.3 Схема кодирования знаков по ISO/IEC 646

При этом способе кодируют цифры, прописные и строчные буквы, а также 21 специальный графический знак по ISO/IEC 646. знак FNC1 и два знака указателя фиксации, требуемые символикой. Двоичный кодированный поток не имеет фиксированного числа битов для одного знака. Биты присваивают в соответствии с длиной (в битах) каждого кодируемого знака. Для кодирования каждого знака необходимо от трех до восьми битов (таблица 13).

Таблица 13 — Схема кодирования знаков по 1SO/1EC 646

Знаки

Десятичные значения знаков ASCII

Кодируемое

значение

Закодированные двоичные денные

0 — 9

48 — 57

Десятичное значение ASCII минус 43 (5 битов)

От 00101 ДО 01110

FNC1 /указатель фиксации схемы

чисппплгл агпдирпАаыия

15 (5 битое)

01111

A—Z

65 — 90

Десятичное значение ASCII минус 1 (7 битое)

От 1000000 до 1011001

а — z

97 — 122

Десятичное значение ASCII минус 7 (7 битое)

От 1011010 до 1110011

! (ВОСКЛИЦАТЕЛЬНЫЙ ЗНАК)

33

232 (8 битов)

11101000

'(КАВЫЧКА)

34

233 (8 битое)

11101001

% (ПРОЦЕНТЫ)

37

234 (8 битов)

11101010

& (КОММЕРЧЕСКОЕ И)

38

235 (8 битов)

11101011

•(АПОСТРОФ)

39

236 (8 битов)

11101100

((СКОБКА ЛЕВАЯ)

40

237 (8 битов)

11101101

) (СКОБКА ПРАВАЯ)

41

238 (8 битов)

11101110

’(ЗВЕЗДОЧКА)

42

239 (8 битов)

11101111

+ (ПЛЮС)

43

240 (8 битов)

111ЮООО

.(ЗАПЯТАЯ)

44

241 (8 битов)

11110001

Окончание таблицы 13

Знаки

Десятичные значения знаков ASCII

Кодируемое

значение

Закодированные двоичные данные

• (МИНУС или ДЕФИС)

45

242 (8 битое)

11110010

. (ТОЧКА в конце предложения или ТОЧКА'»)

46

243 (8 битое)

11110011

/(ДРОБНАЯ ЧЕРТА)

47

244 (8 битое)

11110100

: (ДВОЕТОЧИЕ)

58

245 (8 битое)

11110101

; (ТОЧКА С ЗАПЯТОЙ)

59

246 (8 битое)

11110110

«(МЕНЬШЕ)

60

247 (8 битое)

11110111

= < РАВНО)

51

246 (8 битое)

11111000

> (БОЛЬШЕ)

62

249 (8 битое)

11111001

? (ВОПРОСИТЕЛЬНЫЙ ЗНАК)

63

250 (8 битое)

11111010

. (ПОДЧЕРКИВАНИЕ)

95

251 (8 битое)

11111011

ПРОБЕЛ

32

252 (8 битое)

11111100

Указатель фиксации схемы числового кодирования

0 (3 бита)

000

Указатель фиксации схемы алфавитно-цифрового кодирования

4 (5 битов)

00100

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

a)    если следующим знаком является знак FNC1. его кодируют согласно схеме кодирования знаков nolSO/IEC 646;

b)    если следующие четыре знака могут быть закодированы по схеме числового кодирования и в последующих десяти знаках отсутствует знак, который можетбыгь закодирован только с помощью схемы кодирования знаков no ISO/IEC 646. то в поле универсального уплотнения данных кодируют указатель фиксации схемы числового кодирования:

c)    если следующие пять знаков могут быть закодированы по схеме алфавитно-цифрового кодирований и в последующих десяти знаках отсутствует знак, который может быть закодирован только с помощью схемы кодирования знаков по ISO/IEC 646. то в поле универсального уплотнения данных кодируют указатель фиксации схемы алфавитно-цифрового кодирования.

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

При декодировании кодированного двоичного поля сначала производят проверку первых трех или пяти битов, следующих за ранее декодированным знаком или расположенных е начале поля:

a)    если первые три бита равны «000». это соответствует указателю фиксации схемы числового кодирования:

b)    в противном случае берут десятичное значение первых пяти битов. Если это значение:

1)    равно 15 или менее, то следующий знак декодируют как 5-битовый знак:

2)    находится в диапазоне от 16 до 28. то следующий знак декодируют как 7-битовый знак:

3)    равно 29 или более, то следующий знак декодируют как 8-бигоаый знак.

7.2.S.5.4 Биты-заполнители для поля универсального уплотнения данных

Число знаков символа в символе должно быть наименьшим необходимым числом для кодирования данных в этом символе. Тем не менее после кодирования данных в поле уплотнения данных в символе

Знак «ТОЧКА» используют как разделитель разрядов в (десятичной числе (в Российской Федерации для этих целей используют знак «ЗАПЯТАЯ»),

может возникнуть недостаток битое. Указанный недостаток должен быть восполнен последовательностью битов-заполнителей для достижения полной информационной емкости символа.

Строку битов-заполнителей создают путем повтора 5-битовых последовательностей ’00100", которые одновременно являются указателем фиксацию схемы кодирования знаков по ISOrtEC 646 в схеме алфавитно-цифрового кодирования и указателем фиксации схемы алфавитно-цифрового кодирования в схеме кодирования знаков по ISO/IEC 646. так что способы кодирования и их указатели фиксацию чередуются без кодирования дополнительных данных. Последняя дополнительная последовательность может быть усечена справа, если в символе недостаточно битов.

Если схема числового кодирования завершает кодирование данных, перед чередующейся последовательностью битов-заполнителей "00100" требуется 4-битовый указатель фиксации алфавитно-цифрового кодирования *0000". Например, если кодирование завершается е схеме числового кодирования и остается семь битов, они должны быть закодированы как "000000Г. что является указателем фиксации схемы алфавитно-цифрового кодирования ’0000", за которым следуют первые три бита указателя фиксации “001' схемы кодирования знаков no ISO/IEC 646 "00100". Первый 4-биговый указатель фиксации может быть сокращен, если для заполнения требуется менее четырех битов.

7.2.6 Контрольный знак символа

Первым знаком символа GS1 DataBar Расширенный является контрольный знак символа. В нем закодирована информация о длине символа и контрольной сумме взвешенных значений ширины элементов знаков символа для данных (далее — знаки символа). Используют только первые 4009 значений (от 0 до 4008) контрольного знака символа.

Число знаков символа S (в диапазоне от 4 до 22) и значение контрольной суммы кодируют в контрольном знаке следующим образом:

Значение контрольного знака = 211 х (S -4) ♦ значение контрольной суммы.

Значение контрольной суммы равно остатку от деления по модулю 211 взвешенною суммы значений ширины элементов в знаке символа. Весовые коэффициенты, приведенные в таблице 14. вычисляют как степенную функцию с аргументом 3 по модулю 211. начиная с первого элемента первого знака символа.

Таблицам — Весовые коэффициенты элементов знаков символа для вычисления значения контрольной суммы по модулю 211

Расположение знака символа па отношению к шаблону поиска

Весовой коэффициент знака символа лля элемента с номером

1

2

3

4

б

б

7

в

Слева от А1*

Справа от А1

1

3

О

27

81

32

96

77

Слева от А2

20

60

180

118

143

7

21

63

Справа or А2

189

145

13

39

117

140

209

205

Слева от В1

193

157

49

147

19

57

171

91

Справа от В1

62

186

136

197

169

85

44

132

Слева от В 2

185

133

188

142

4

12

36

108

Справа от В2

113

12В

173

97

80

29

87

50

Слева огС1

150

28

84

41

123

156

52

156

Справа от С1

46

138

203

187

139

206

196

166

Слева or С2

76

17

51

153

37

111

122

155

Справа от С2

43

129

176

106

107

110

119

146

Слева от Р1

16

48

144

10

30

90

59

177

Справа от D1

109

116

137

200

178

112

125

164

Слева or D2

70

210

208

202

184

130

179

115

Справа от D2

134

191

151

31

93

68

204

190

Окончание таблицы 14

Расположение знака символа па отношению к шаблону поиска

весовой коэффициент знака сиыаола для элемента с номерам

1

2

3

4

б

б

7

в

Слева от Е1

148

22

66

198

172

94

71

2

Справа от Е1

6

18

54

162

64

192

154

40

Слева от Е2

120

149

25

75

14

42

126

167

Справа от Е2

79

26

78

23

69

207

199

175

Слева от F1

103

98

83

38

114

131

182

124

Справа от F1

161

61

183

127

170

88

S3

159

Слева от F2

55

165

73

6

24

72

5

15

Справа от F2

45

135

194

160

58

174

100

89

’ Слева от шаблоне поиска А1 расположен контрольный знак, для элементов которого не устанавливают весовые коэффициенты.

Значение контрольной суммы ло модулю 211 вычисляют по формуле

(W, |Е,, + W, гЕ, з +...+ W, вЕ,, + ■ ■■+ W^^E^e) mod 211,

где Wn mEn и — произведение ширины элемента (в модулях) на весовой коэффициент этого элемента, расположенного в позиции М знака символа N":

N—обозначение знака символа (например, “справа от СГ. что соответствует знаку символа, расположенному справа от шаблона поиска С1) по таблице 14 не является последовательным, а определяется в соответствии с последовательностью расположения знаков символа по таблице 16;

х—обозначение последнего зна ка символа в сим воле.

8 приложении F. раздел F.3 приведен пример кодирования символа GS1 DataBar Расширенный.

7.2.7 Шаблон поиска

Для символов GS1 DataBar Расширенный предусмотрено двенадцать уникальных шаблонов поиска символа. Эти шаблоны размешены между ларами знаков символа. В связи с тем. что шаблоны поиска являются смежными со знаками символа, символ может быть сканирован по каждому из сегментов, состоящим из знака символа и смежного с ним шаблона поиска.

8 случае, если символ состоит из нечетного числа знаков символа, то он должен быть завершен последним шаблоном поиска и правым шаблоном-ограничителем. В этом случае последний шаблон поиска будет прилегать справа к последнему знаку символа.

Двенадцать шаблонов базируются на шести основных шаблонах — от А до F. Каждый основной шаблон имеет два варианта исполнения: первый, в котором начальным элементом является пробел слева, и второй, в котором начальным элементом является штрих. Оба варианта основного шаблона поиска распознают с помощью черно-белой инверсии их элементов. 12 шаблонам поиска присвоены обозначения А1. А2. 81. В2. С1. С2. D1. D2. Е1. Е2. F1 и F2. В вариантах шаблонов, в обозначении которых присутствует «1». начальным элементом является пробел слева. Элементы вариантов шаблонов, в обозначении которых присутствует «2». являются зеркальным отображением с инвертированием черного и белою цветов шаблонов с обозначением «1». Значения ширины элементов (в модулях) приведены для шести базовых шаблонов в таблице 15.

Каждый шаблон поиска состоит из пяти элементов общей шириной 15 модулей. Для вариантов шаблонов собозначвнием «1» общее число модулей в элементах 2 и 3 находится в диапазоне от 10 до 12. а общее число модулей в элементах 4 и 5 равно 2. Отношение суммы модулей элементов 2 и 3 к сумме модулей элементов 2. 3. 4 и 5 находится в диапазоне от 10:12 до 12:14. Эти отношения используют на  первом этапе логики распознавания шаблона поиска. Аналогично, для шаблонов поиска. имеющих в обо* значении цифру «2». сопоста вляют общую ширину 1.2. 3 и 4 элементов с общей шириной элементов 3 и 4.

Таблица 15 — Ширина элементов шаблонов поиска

Номер элемента а шаблоне

Номер элемента а шаблоне

Обозначение шаблона поиска

1

2

Э

4

5

Обозначение шаблона поиска

1

2

3

4

5

Ширина элемента а модул (начальным элементом явля пробел)

ях

1СТС»

Ширина элемента а модулах (начальным элементом является штрих)

А1

1

В

4

1

1

А2

1

1

4

8

1

В1

3

6

4

1

1

В2

1

1

4

6

3

С1

3

4

6

1

1

С2

1

1

6

4

3

D1

3

2

в

1

1

D2

1

1

8

2

3

Е1

2

6

5

1

1

Е2

1

1

5

б

2

F1

2

2

9

1

1

F2

1

1

9

2

2

В символах GS1 DataBar Расширенный шаблоны поиска применяют в 10 уникальных наборах, выбираемых в зависимости от длины символа (таблица 16). Набор делят на две группы. В любой группе каждый набор имеет уникальное подмножество шаблонов поиска для его отличия от других наборов а группе. Указанные последовательности наборов предназначены для предотвращения ошибок при определении длины символа, которые могут появиться при ошибочном декодировании контрольного знака.

Таблица 16 — Последовательности шаблонов поиска

Число

Порядок следования шаблонов поиска

сегмемюо

1

2

3

4

5

б

7

8

В

10

11

Групп

а 1

4

А1

А2

5 или б

А1

В2

81

7 или 8

А1

С2

В1

D2

9 или 10

А1

Е2

В1

D2

С1

11 или 12

А1

Е2

В1

D2

D1

F2

13 или 14

А1

Е2

В1

D2

Е1

F2

F1

Группа 2

15 или 16

А1

А2

В1

В2

С1

С2

D1

02

17 или 18

А1

А2

В1

82

С1

С2

D1

Е2

Е1

19 или 20

А1

А2

В1

В2

С1

С2

D1

Е2

F1

F2

21 или 22

А1

А2

В1

82

С1

D2

D1

Е2

Е1

F2

F1

7.2.8 Символ GS1 DataBar Расширенный Многострочный

Символ GS1 DataBar Расширенный может быть представлен лострочносчислом строкот2до 11. На рисунке 12 приведен символ, состоящий из двух строк. Символ GS1 DataBar Расширенный Многострочный применяют в случае, если область для нанесения символа или печатающее устройство не позволяют обеспечить печать символа в одну строку. Высота каждой строки символа равна 34Х. высота шаблона — разделителя строк — ЗХ. На рисунках 10 и 12 приведены примеры символов, в которых закодированы одни и те же данные.

Рисунок 12 — Символ GS1 DataBar Расширенный Многострочный, представляющий номер (01)98898765432106<3202)012345(15)991231

Число знаков символа во всех строках, кроме последней, должно быть четным. В случае если символ GS1 DataBar Расширенный Многострочный является линейным компонентом символа GS1 Композитный. первая строка символа GS1 DataBar Расшире нный Многострочный должна содержать не менее четырех знаков символа. Порядок расположения строк символа - сверху вниз. При необходимости последняя строка символа должна содержать минимум два знака символа с дополнительными заполнителями. В случае если символ GS1 DataBar Расширенный Многострочный является частью символа GS1 Композитный. двумерный компонент должен быть напечатан над его верхней строкой.

Каждая строка символа GS1 DataBar Расширенный Многострочный должна иметь шаблон поиска между каждой парой знаков символа и шаблоны-ограничители вначале и е конце строки из двух элементов . Последняя строка символа может иметь нечетное число знаков сим вола, при этом последний шаблон поиска должен быть расположен рядом с правым шаблоном-ограничителем.

Первая строка и последующие нечетные строки символа должны начинаться с пробела, в го время как вторая строка и следующие четные строки должны начинаться со штриха. Исключение может быть сделано только для последней (нижней)строки (рисунок 13). В случае если строка содержит четное число пар сегментов (2.4 и так далее пар. что соответствует 4.8 и так далее сегментам), то четные строки должны быть напечатаны с обратным порядком следования элементов, то есть как их зеркальное отображение для того, чтобы четные строки начинались со штриха. В случае если в строке имеется нечетное число пар сегментов (1, 3.5 и так далее пар. что соответствует 2.6,10 и так далее сегментам), то четные строки должны естественным образом начинаться со штриха. В таблице 17 приведены строки символа с указанием порядка следования элементов.

Таблице 17 — Строки символа СС1 DetaDar Расширенный Многострочный с указанием порядка следования элементов в сегментах

Номер

Ширима символа ■ сегментах

строен

2

4

6

в

10

12

14

13

13

20

1

П

П

п

п

п

п

п

п

п

п

2

П

о

п

о

п

о

п

о

п

о

3

П

П

п

п

п

4

П

о

п

5

П

п

6

П

о

7

П

8

П

9

П

10

П

11

П

П — прямой порядок следования элементов в строке. О — обратный порядок следования элементов: недопустимые варианты оставлены незаполненными.

Шаблон — разделитель строк высотой но менее ЗХ. отделяющий строки символа друг от друга, состоит из трех рядов высотой не менее 1Х.

Черны й или белый цвет каждого модуля для любого ряда шаблона — разделителя строк определяют следующим образом. Цвет первых четырех и последних четырех модулей каждого ряда шаблона — раз* делителя строк должен быть светлым. Верхний ряд шаблона — разделителя строк содержит модули противоположного цвета по отношению к модулям штрихов и пробелов расположенной выше смежной строки символа за исключением 13 модулей под каждым из шаблонов поиска этой строки: под элементами

1.2 и 3 для варианта шаблонов поиска «Группа 1» и под элементами 3.4 и 5 варианта шаблонов поиска «Группа 2»'\ Цвет указанных 13 модулей должен быть светлым под смежными штрихами шаблона поиска и чередующимся (темным, светлым, темным и т.д.) про смежными пробелами шаблона поиска.

Средний ряд состоит из чередующихся светлых и темных модулей, за исключением окончаний.

Структура нижнего ряда аналогична структуре верхнего ряда. Цвет модулей нижнего ряда должен быть противоположным цвету модулей штрихов и пробелов расположенной ниже смежной строки символа, за исключением ее окончаний и 13 модулей над каждым шаблоном поиска: над элементами 1.2 и 3 варианта шаблонов поиска «Группа 1» и над элементами 3.4 и 5 варианта шаблонов поиска «2». Цвет указанных 13 модулей должен быть светлым над смежными штрихами шаблона поиска и чередующимся (темным. светлым, темным и т.д.) над смежными пробелами шаблона поиска.

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

На рисунке 12 приведен пример символа GS1 DataBar Расширенный Многострочный, состоящего из восьми знаков символа. Символ включает в себя две строки, каждая из которых содержит четыре знака символа. Верхняя строка включает в себя первые четыре знака символа и заканчивается с правой стороны шаблоном-ограничителем, состоящим из одного пробела и одного штриха шириной 1Х каждый. Нижнюю строку наносят как зеркальное отображение данной строки так. как она должна быть напечатана в нормальном виде. Нижняя строка начинается слева с зеркального отображения четырех оставшихся знаков символа и заканчивается с правой стороны шаблоном-ограничителем, состоящим из одного штриха и одного пробела шириной 1Х каждый. Общий размер символа, приведенного а качестве примера на рисунке 12. имеет следующие параметры: длина символа —102Х. высота — 71Х.

Существует исключение для требования о полной перестановке строки. Если последняя строка должна быть отображена зеркально слева направо и при этом она является неполной строкой с нечетным числом шаблонов лоиска. то данную строку смещают на один модуль вправо путем добавления к левой части строки модуля пробела. Данное требование обусловлено тем. что неполная строка с нечетным числом шаблонов поиска имеет симметричные шаблоны — ограничители штрихов, которые после полной перестановки (без сдьи1с! на идин модуль) будуi имшь ючни такой же виц. На рисунке 13 приведен пример символа GS1 DataBar Расширенный Многострочный, для которого должно быть проведено смещение на один модуль последней строки.

Рисунок 13 — Символ GS1 DataBar Расширенный Многострочный, представляющий номер (01)95012345678903(3103)000123

7.2.9 Рекомендуемый алгоритм декодирования

Системы считывания штриховых кодов обеспечивают считывание настолько несовершенных символов. насколько это позволяют используемые на практике алгоритмы декодирования. В настоящем подразделе приведен рекомендуемый алгоритм декодирования, который применяют для расчета значения деко-дируемости nolSO/IEC 15416 при измерении качества печати символа. Алгоритм включает в себя следующие этапы декодирования символа:

a)    проводят поиск сегмента методом сканирования символа слева направо и справа налево с цепью нахождения последовательности иэчетырехэлементовсотношением:

при сканировании слева направо:

9.5:12 5 {(элемент 1 + элемент 2): (элемент 1 + элемент 2 + элемент 3 + элемент 4)) £12.5:14;

при сканировании справа налево:

9.5:12 й {(элемент 3 ♦ элемент 4): (элемент 1 + элемент 2 + элемент 3 + элемент 4)) £12,5:14.

Данное соотношение определяет элементы шаблона поиска со второго по пятый.

Используя метод, приведенный в перечислении Ь). декодируют шаблон поиска для нахождения нормированных значений «от края до подобного края» (штрих плюс пробел и пробел плюс штрих) Е1 и Е2. исходя из размера (р) суммы значений ширины первых четырех элементов шаблона поиска. Проверяют соответствие значений Е1 и Е2 действительному шаблону поиска символа GS1 DataBar Расширенный Многострочный:

b)    осуществляют проверку соответствия отношения ширины каждого смежного знака символа к ширине шаблона поиска значению (17 ± 1,5): 15. затем декодируют каждый знак данных следующим образом:

1) проводят семь измерений параметров ширины p,e,.e2.e3, в.,. в5 и е* (рисунок 14);

Нечетный, Нечетный;

Четный,    Четный?

Нечетныйз Нечетный^

Чегный3 Четный4

Рисунок 14 — Измеряемые параметры ширины при декодировании


Примечание — На рисунке 14 первый элемент показан как левый темный элемент, однако знаки символа также могут быть представлены с отражением слева направо и/или инвертированием элементов «темный — светлый».

2) преобразуют измеренные значения е,. е2. е3. е4. е5 и е6 е нормативные значения Е,. Е2. Е3. E^.EjjhEj. которые представляют собой ширину в целых модулях (Е,) этих измеренных размеров. Для значения Е, используют следующие выражения: если 1.5p/17se, <2.5рЛ7.тоЕ. -2,

если2.5р/17£е, если 3.5р/17 £в, если4.5р/17£е, если 5.5р/17 бсли6.5р/17£е, если 7.5р/17 £е, если 8.5р/17£е,


<    3.5р/17. то Е, — 3

<    4.5рУ17, то Е. -А

<    5.5рЛ7. то Е. = 5

<    6,5рЛ7. то Е, = 6

<    7,5рУ17, то Е. =7 <8,5рЛ7.тоЕ, =8

<    9.5р/17. то Е, =9.

Если данные условия не выполняются, знак символа считают ошибочным;


3)    определяют нормированные значения ширины элементов исходя из величин Е. К ширине последнего элемента (вмвстовевычиспения по значениям Е) относят оставшиеся модули. Определение действительных размеров ширины элементов является единственным решением, при котором е знаке символа отсутствуют элементы шириной менее одного модуля и присутствует хотя бы один нечетный элемент шириной един модуль. Например, на рисунке^ значения от Е, до Е« равны {4 26 73 3}. Возможными полученными наборами элементов будут {2 2 0 61 21 3}. {311 5 2 1 2 2} или {40243031}. Только значения ширины для восьми эле ментов {31 1521 2 2} удовлетворяют требованиям, поэтому их выбирают в качестве значений ширины элементов. Если ни один полученный набор значений ширины элементов не является действительным, то знак считают ошибочным. В приложении G приведена реализация алгоритма декодирования ширины элементов на языке программирования С;

4)    определяют значения четного и нечетного поднаборов с помощью программы, приведенной в приложении В:

5)    вычисляют значение знака символа из значений четного и нечетного поднаборов;

6)    декодируют значения шаблона поиска с помощью приведенного выше метода определения нормированной ширины элементов и выбирают шаблон поиска по таблице 15;

7)    вычисляют и сохраняют значения произведений весовых коэффициентов на значения ширины элементов для расчета контрольной суммы:

c)    проверяют (после декодирования всех знаков символа и шаблонов поиска, учтенных в контрольном знаке), соответствует ли контрольная сумма по модулю 211. вычисленная на основе контрольного знака, взвешенной сумме значений ширины элементов знаков символа по модулю 2111‘;

d)    преобразуют знаки данных в двоичную строку с последующим ее переводом в строку элементов с идентификаторами применения AI;

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

При разработке сканеров, предназначенных для практического считывания символов GS1 DataBar Расширенный и GS1 DataBar Расширенный Многострочный, требуются средства обеспечения надежности измерений, такие как сбор избыточных данных. В приложении Н приведены дополнительные рекомендации по декодированию символов, которые следует учитывать для минимизации ошибочных считываний.

8 Качество символа

8.1    Параметры линейной символики

ВISO/IEC15416 установлена типовая методика измерения и классификации символов штрихового кода, в соответствии с которой должна проводиться оценка качества символов семейства символик GS1 DataBar. Рекомендуемые алгоритмы декодирования, установленные в настоящем стандарте для всех типов символов символики GS1 DataBar. следует использовать при оценке параметров «декодирование» и «декодируемосты» по ISO/IEC 15416. Все элементы в шаблонах — разделителях строк должны быть визуально различимы. При оценке качества символа качество шаблонов—разделителей строк не оценивают. В приложении J приведен ы рекомендации по печати символов.

8.2    Дополнительный критерий для оценки «годен/брак»

ISO/IEC 15416 предусматривает возможность установления в спецификации символики дополнительного критерия «годен/брак». Для первого и третьего типа символов символики GS1 DataBar дополнительный критерий заключается е том. что при каждом тестовом сканировании должны присутствовать оба внутренних элемента шаблона-ограничителя, ширина каждого из которых должна быть не более трех размеров Z2>. Каждому отдельному профилю отражения при сканировании, который не соответствует этому требованию, должен быть присвоен класс 0.

В настоящем стандарте определены новые комбинации элементов — штрихов и пробелов шаблонов-ограничителей в символе GS1 DataBar Ограниченный. Элементы — штрихи и пробелы шаблонов-ограничителей е настоящее время проверяют с помощью нового рекомендуемого алгоритма декодирования

'•' См. 7.2.6.

2> Размер Z — средняя ширина нанесенных узких элементов е символе штрихового кода.

в соответствии с требованиями 6.2.6. перечисления д) и h). Кроме того, конечный правый шаблон-ограничитель должен удовлетворять следующему требованию или. в противном случае, сканированию присваивают класс качества 0.

Совокупная ширина внутреннего пробела и штриха конечною шаблона-ограничителя должна быть более 11/52 суммарной ширины четырнадцати элементов, образующих правый знак символа (т.в. 5.5 модулей).

8.3 Многострочные символы

8    соответствии стребоваииями ISO/IEC15416 каждая строка многострочного символа должна оцениваться также. как отдельный символ. Пути сканирования должны проходить через полосу проверки, пересекающую символ вдоль осевой линии, перпендикулярную к штрихам и занимающую 80 % высоты штрихов каждой строки символа (по ISO/IEC15416) для того, чтобы минимизировать последствия возможного захвата смежных строк. Минимальное число сканирований каждой строки должно быть менее десяти или числа, полученного в результате деления высоты строки на диаметр измерительной апертуры. Полный класс символа должен соответствовать наименьшему полному классу строки этого символа.

9    Передаваемые данные

Семейство символик GS1 Data Ваг предназначено для применения совместно с идентификаторами символики по ISO/IEC 15424. Прикладные информационные системы, использующие символы GS1 DataBar. должны обеспечивать использование идентификаторов символик устройствами считывания. Система GS1 устанавливают обязательные требования к применению идентификаторов символики. Прикладные информационные системы. не использующие идентификаторы символик, не смогут обеспечить распознавание идентификаторов применения в символах GS1 DataBar или будут ошибочно интерпретировать данные символов других символик в качестве данных с идентификаторами применения. Для символов GS1 DataBar используют префикс идентификатора символики ']е0". Если линейный символ GS1 DataBar сопровождает двумерный компонент, то строка элементов данных с А1 следует непосредственно за данными в линейном компоненте.

Информация, закодированная в символах GS1 DataBar Всенаправленный. GS1 DataBar Усеченный. GS1 DataBar Двустрочный. GS1 DataBar Двустрочный Всенаправленный или GS1 DataBar Ограниченный, должна передаваться, например, как последовательность "}е00110012345678902'. где выделенные полужирным шрифтом цифры 1001234567890 представляют собой данные, закодированные в символе. К зтим данным добавляют префикс идентификатора символики, идентификатор применения «01» для идентификации предмета и контрольную цифру «2», вычисленную по модулю 10. согласно алгоритму GS1.

8 симьилах GS t DataBiif Расширенный и GS1 DataBar Расширенный Mhui ос i ричны й кодирую г идентификаторы применения, поэтому в качестве префжса к закодированным данным добавляют префикс идентификатора символики. В символах GS1 DataBar Расширенный и GS1 DataBar Расширенный Многострочный может быть закодирован знак FNC1. который передается как управляющий знак <GS> (десятичное значение знака в наборе знаков ASCII-29), если он не является последним знаком в символе — в этом случае знак FNC1 не передается.

Для символов GS1 Композитный строки элементов с AI в двумерном компоненте должны передаваться непосредственно после данных, закодированных в линейном компоненте. Как. правило, устройство считывания должно декодировать оба компонента, если в линейном компоненте задан флаг сопровождения. Однако устройство считывания также должно обеспечивать режим функционирования, при котором декодируется и передается только линейный компонент, независимо от состояния флага сопровождения. Данный режим поддерживают прикладные информационные системы, в которых необходима только основная идентификация предметов.

Устройство считывания должно поддерживать дополнительный вариант обработки для эмуляции символики. Этот режим обеспечивает эмуляцию символики GS1-128 при передаче данных в соответствии с Общими спецификациям GS1. Идентификатор символики должен быть представлен как «]С1». Если длина символа GS1 DataBar Расширенный более 48 знаков данных, то передачу данных осуществляют в двух сообщениях. Каждое сообщение должно иметь префикс идентификатора символики «]С1» и не должно содержать более48 знаков данных. Сообщения должны быть разбиты на две строки элементов (приложение D).

10    Представление для визуального чтения

При печати символа данные представления для визуального чтения должны быть расположены под соответствующим символом и напечатаны удобным для восприятия шрифтом. Спецификации по применению GS1 устанавливают дополнительные требования к представлению для визуального чтения.

11    Минимальная и максимальная ширина модуля (X)

Минимальное и максимальное значения размера X должны быть установлены в стандартах по приме нению.

Размер X допжен быть постоянным на всем протяжении данного символа. При нал ичии связи с дву* мерным компонентом символ GS1 DataBar должен иметь одинаковый с ним размер X.

12    Параметры, устанавливаемые исходя из заданного применения

Параметры, связанные с содержанием данных, размер X. минимальная высота символа, минимальный класс качества символа, тип символа, размещение символа и прочие необходимые прикладные параметры устанавливаются GS1 для каждого конкретного применения.

Вычисление контрольной цифры

С помощью символов GS1 DataBar Всенаправленный. GS1 DetaBar Усеченный. GS1 DataBar Двустрочный. GS1 DataBar Двустрочный Всенаправленный и GS1 DataBar Ограниченный кодируют структуру данных для нумерации GS1 GT1N-14, которая может представлять собой 14-рэзрядный идентификационный номер предмета (таблица АЛ).

В символах GS1 DataBar Расширенный также кодируют структуру данных для нумерации GS1 GTIN-14 с использованием идентификатора применения «01». В символах GS1 DataBar Расширенный и GS1 DataBar Расширенный Многострочный может быть также закодирована структура данных для нумерации SSCC-18 с испогь-эованием идентификатора применения «00».

Таблица А.1 — Вычисление контрольной цифры структур нумерации GS1

Структура

Позиции разрядов

GS1

GTIN-14

N

1

N

2

N

3

N

4

N

S

N

6

N

1

N

8

N

9

N

10

N

11

N

12

N

13

N

14

SSCC-13

N

т

N

2

N

Э

N

4

N

5

N

6

N

1

N

8

N

9

N

10

Н

11

N

12

N

13

N

14

Ы

1 S

N

16

М

17

N

Умножают значение каждой позиции на весовые коэффициенты

хЭ

х1

хЗ

х1

хЗ

х1

хЭ

х1

хЗ

к1

хЗ

XI

хЗ

х1

хЗ

х1

м3

Складывают результаты умножения на весовые коэффициенты и обозначают полученное число «Сумма»

Вычитают полученное число кСуммак из ближайшего равного или большего числа, кратного 10. Результат вычитания является контрольной цифрой =====------=-----у N

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

Программа кодирования и декодирования ширины элементов на языке программирования С

В каждом подмножестве со структурой (n.k) значениям символа присваивают комбинации размеров элементов (раэгшчной ширины). Подпрограмма кодирования getRSSwidths на ямке программирования С вычисляет размер (ширину) элементов для заданного значения подмножества. Подпрограмма декодирования gelRSSvalue на языке программирования С вычисляет подмножество значений при заданных размерах элементов. Последовательные значения присваивают размерам поднабора элементов в установленном порядке.

Примечание — В программе на языке С использованы первоначальные идентификаторы, включающие в себя аббревиатуру «RSS». В программу на языке С не были внесены изменения, для того чтобы избежать внесения технических изменений в доступное к открытом/ доступу программное обеспечение.

Последовательность размеров элементов начинают с присвоения элементам с наименьшие» номерами в поднаборах размера, равного одному модулю, или наименьшего размера, подходящего для данного поднабора (в соответствии с первой комбинацией под номером 0. всем ее элементам, кроме последнего, должен быть присвоен размер, равный одному модулю, если при этом для последнего элемента не будет превышено ограничение максимального размера элемента). Последующие значения присваивают следующей действительной комбинации, которая обеспечивает наименьшие размеры (самые узкие) из возможных для элементов с младшими номерами. Например, поднабор из 6 модулей содержит значения с номерами от 0 до 9 и соответствующие комбинации размеров элементов:

Значение

Комбинация размеров (ширина) элементов

0

1113

1

1 122

2

1131

3

12 12

4

1 221

5

13 11

6

2 112

7

2 12 1

9

22 1 1

9

3 111


Комбинации с элементами, ширина которых превышает максимально допустимую (переменная maxWidth). пропускают. Кроме того, исключают шаблоны, а которых отсутствуют элементы шириной один модуль (переменная noNarrow = 0).

/**•............................................................*.....

*    getRSSwidths

*    подпрограмма генерации размеров (ширины) элементов GS1 DataBar для заданного значения.

*

*    Calling arguments (аргументы вызова):

*    val = задаваемое значение ’ п = число модулей

'elements8 число пар элементов а наборе (для GS1 DataBar Всенаправленный. GS1 DataBar Усеченный, GS1 DataBar Двустрочный. GS1 DataBar Двустрочный Всенаправленный и GS1 DataBar Расширенный = 4; GS1 DataBar Ограниченный = 7)

’ maxWtdth = максимальная ширина элемента а модулях

*    noNarrow = 0 пропуск шаблонов, не имеющих элементов шириной один модуль

*    Return (возвращаемое значение):

’ static ini widths() = размеры { ширина) элементов

........................................................................,

void getRSSwidths(int val. int n. int elements, int maxWidth. kit noNarrow)

{

int bar. int elmWidth;

int i;

int mxwelement int subVal. lessVal; int narrowMask = 0;

for (bar = 0: bar < elemenls-1: bar**)

{

for (elmWidth = 1. narrowMask |= (1«bar);

elmWidth++. narrowMask &= -<1«bar))

{

/* получение всех комбинаций */

subVal = combins{n-eimWi(]th-1. elements-bar-2);

/* исключение комбинаций с отсутствием элементов шириной один модуль V if {(InoNanow) && (narrowMask == 0} &&

(n-etmWidth-(elements-bar-l) >= elements-bar-1))

{

subVal -= combins(n-elmWidth-{efements-bar), elements-bar-2);

}

f* исключение комбинаций с размером (шириной) элемента более допустимой > maxVal V if {elements-bar-1 > 1)

{

lessVal = 0;

for (mxwElement = n-elm Width-(elements-bar-2); mxwElement > maxWidth: mxwElement-)

lessVal +-= combirrs(n-elmWidth-mxwElement-1, elements-bar-3);

)

subVal — lessVal * (elements-1-bar);

}

else if (n-elmWidth > max Width)

{

subVal-:

}

vat — subVal: if (val < 0) break:

}

val += subVal; n — elmWidth; w»dths[bar] = elmWidth;

}

w>dths[bar] = n; return;

)

/”•...........*.................*....................................

*    getRSSvalue

*    подпрограмма вычисления подмножества значений при заданных размерах (ширине) элементов.

*    Calling arguments (аргументы вызова):

*    widths() = заданные размеры (ширина) элементов

*    elements = число пар элементов в наборе (для GS1 DataBar Всенаправленный. GS1 DataBar усеченный. GS1 DataBar Двусгрочный. GS1 DataBar Двустрочный Всенаправленный и GS1 DataBar Расширенный = 4; GS1

DataBar ограниченный * 7);

*

*    maxWidth = максимальная ширина элемента а модулях

*    noNarrow = 0 пропуск шаблонов, не имеющих элементов шириной один модуль

а

*    Return (возвращаемое значение):

' Значения подмножества

........*............*........................*...........*..........V

int getRSSvalue (int widths!), int elements, int maxWidth. int noNarrow)

{

int val» 0: ini n; int bar: int elmWidth; int i;

int mxwElement: int subVal. lessVal: int narrowMask = 0;

for (n * i ■ 0; i < elements: i++)

{

n +- widths|i]:

}

for {bar = 0: bar < elements-1; bar++)

{

for (elmWidth = 1. narrowMask |= (1«bar); elmWidth < width s{bar]; elmWidth++, narrowMask &= ~{1«bar)) {

Г получение всех комбинаций nk 7

subVal = combins{n-elmWkJth-1. elements-bar-2):

Г исключение комбинаций с отсутствующими узкими элементами V Н ((InoNarrow) && (narrowMask == 0) && {n-elmWidth-{etements-bar-1)>= elements-bar-1))

{

subVal -» combins(n-elmW»dth-{elements-bar), elements-bar-2);

}

Г исключение комбинаций с шириной элемента более допустимой > maxVal 7 if (elements-bar-1 > 1)

{

lessVal = 0:

for (mxwElement = n-elmWidth-{elements-bar-2):

mxwElement > maxWidth: mxwElement-)

{

lessVal -*-= combins(n-etmWidth-mxwElement-1. elemen1s-bar-3):

}

subVal -= lessVal * {elements-1-bar);

}

else if (n-elmWidth > maxWidth)

(

subVal-;

}

val += subVal;

}

n — elmWidth:

}

return (val);

)

/........*...........*........................*............*...........

’ компоновка (n,r): возврат множества комбинаций г. выбираемых из п: * Комбинации = п! / ((п - г)! * г!)

..........*........................*.......*..............*.........‘V

int combins(*nt п. int г) { int i, j:

int maxDenom, minOenom; int val;

if (n-r > r) {

minOenom = r; maxDenom = n-r;

}

else {

minOenom = n-п maxDenom = r;

}

val = 1; j=1:

for (i * n; i > maxDenom; i~) { val *= i:

if (j <= minDenom} { val /= j;

i++:

}

}

for (; j <= minDerwm: j++) { val rf=j;

}

return (val);

Ширина элементов контрольного знака в символах GS1 OataBar Ограниченный

Значе

ние

После

де-

оатель-

ность'1

Ширина элементов а знаке символа (or крайнего левого пробела до крайнего правого штриха},

модули

St

at

S2

62

S3

63

S4

64

SS

65

se

66

S7

67

0

0

1

1

1

1

1

1

1

1

1

1

3

3

1

1

1

1

1

1

1

1

1

1

1

1

1

2

3

2

1

1

2

2

1

1

1

1

1

1

1

1

1

3

3

1

1

1

3

3

1

1

1

1

1

1

1

2

1

1

3

2

1

1

4

4

1

1

1

1

1

1

1

2

1

2

3

1

1

1

5

5

1

i

1

1

1

1

1

3

1

1

3

1

1

1

6

6

1

1

1

1

1

2

1

1

1

1

3

2

1

1

7

7

1

1

1

1

1

2

1

1

1

2

3

1

1

1

8

8

1

1

1

1

1

2

1

2

1

1

3

1

1

1

9

9

1

1

1

1

1

3

1

1

1

1

3

1

1

1

10

10

1

1

1

2

1

1

1

1

1

1

3

2

1

1

11

11

1

1

1

2

1

1

1

1

1

2

3

1

1

1

12

12

1

1

1

2

1

1

1

2

1

1

3

1

1

1

13

13

1

1

1

2

1

2

1

1

1

1

3

1

1

1

14

14

1

1

1

3

1

1

1

1

1

1

3

1

1

1

15

15

1

2

1

1

1

1

1

1

1

1

3

2

1

1

16

16

1

2

1

1

1

1

1

1

1

2

3

1

1

1

17

17

1

2

1

1

1

1

1

2

1

1

3

1

1

1

18

18

1

2

1

1

1

2

1

1

1

1

3

1

1

1

19

19

1

2

1

2

1

1

1

1

1

1

3

1

1

1

20

20

1

3

1

1

1

1

1

1

1

1

3

1

1

1

21

21

1

1

1

1

1

1

1

1

2

1

2

3

1

1

22

22

1

1

1

1

1

1

1

1

2

2

2

2

1

1

23

23

1

1

1

1

1

1

1

1

2

3

2

1

1

1

24

24

1

1

1

1

1

1

1

2

2

1

2

2

1

1

25

25

1

1

1

1

1

1

1

2

2

2

2

1

1

1

26

26

1

1

1

1

1

1

1

3

2

1

2

1

1

1

27

27

1

1

1

1

1

2

1

1

2

1

2

2

1

1

28

28

1

1

1

1

1

2

1

1

2

2

2

1

1

1

29

29

1

1

1

1

1

2

1

2

2

1

2

1

1

1

См. примечание к таблице.

Продолжение

Значе

ние

После

де-

оателъ-

ность

Ширина элементов о знаке символа {от крайнего левого пробела до крайнего правого штриха).

модули

SI

В1

S2

62

S3

ез

S4

64

S5

65

S6

66

S7

67

30

30

1

1

1

1

1

3

1

1

2

1

2

1

1

1

31

31

1

1

1

2

1

1

1

1

2

1

2

2

1

1

32

32

1

1

1

2

1

1

1

1

2

2

2

1

1

1

33

33

1

1

1

2

1

1

1

2

2

1

2

1

1

1

34

34

1

1

1

2

1

2

1

1

2

1

2

1

1

1

35

35

1

1

1

3

1

1

1

1

2

1

2

1

1

1

36

36

1

2

1

1

1

1

1

1

2

1

2

2

1

1

37

37

1

2

1

1

1

1

1

1

2

2

2

1

1

1

36

38

1

2

1

1

1

1

1

2

2

1

2

1

1

1

39

39

1

2

1

1

1

2

1

1

2

1

2

1

1

1

40

40

1

2

1

2

1

1

1

1

2

1

2

1

1

1

41

41

1

3

1

1

1

1

1

1

2

1

2

1

1

1

42

42

1

1

1

1

1

1

1

1

3

1

1

3

1

1

43

43

1

1

1

1

1

1

1

1

3

2

1

2

1

1

44

45

1

1

1

1

1

1

1

2

3

1

1

2

1

1

45

52

1

1

1

2

1

1

1

1

3

1

1

2

1

1

46

57

1

2

1

1

1

1

1

1

3

1

1

2

1

1

47

63

1

1

1

1

1

1

2

1

1

1

2

3

1

1

46

64

1

1

1

1

1

1

2

1

1

2

2

2

1

1

49

65

1

1

1

1

1

1

2

1

1

3

2

1

1

1

50

66

1

1

1

1

1

1

2

2

1

1

2

2

1

1

Э1

/4

1

1

1

2

1

1

2

1

1

1

2

2

1

1

52

74

1

1

1

2

1

1

2

1

1

2

2

1

1

1

53

75

1

1

1

2

1

1

2

2

1

1

2

1

1

1

54

76

1

1

1

2

1

2

2

1

1

1

2

1

1

1

55

77

1

1

1

3

1

1

2

1

1

1

2

1

1

1

56

78

1

2

1

1

1

1

2

1

1

1

2

2

1

1

57

79

1

2

1

1

1

1

2

1

1

2

2

1

1

1

56

82

1

2

1

2

1

1

2

1

1

1

2

1

1

1

59

126

1

1

1

1

2

1

1

1

1

1

2

3

1

1

60

127

1

1

1

1

2

1

1

1

1

2

2

2

1

1

61

128

1

1

1

1

2

1

1

1

1

3

2

1

1

1

62

129

1

1

1

1

2

1

1

2

1

1

2

2

1

1

63

130

1

1

1

1

2

1

1

2

1

2

2

1

1

1

64

132

1

1

1

1

2

2

1

1

1

1

2

2

1

1

65

141

1

2

1

1

2

1

1

1

1

1

2

2

1

1

Продолжение

Значе

ние

После

де-

аагель*

носгь

Ширина элементов о знаке символа (от крайнего левого пробела до крайнего правого штриха),

модули

S!

81

S2

82

S3

83

S4

во

SS

В5

S6

Вв

S7

87

бб

142

1

2

1

1

2

1

1

1

1

2

2

1

1

1

67

143

1

2

1

1

2

1

1

2

1

1

2

1

1

1

66

144

1

2

1

1

2

2

1

1

1

1

2

1

1

1

69

145

1

2

1

2

2

1

1

1

1

1

2

1

1

1

70

146

1

3

1

1

2

1

1

1

1

1

2

1

1

1

71

210

1

1

2

1

1

1

1

1

1

1

2

3

1

1

72

211

1

1

2

1

1

1

1

1

1

2

2

2

1

1

73

212

1

1

2

1

1

1

1

1

1

3

2

1

1

1

74

213

1

1

2

1

1

1

1

2

1

1

2

2

1

1

75

214

1

1

2

1

1

1

1

2

1

2

2

1

1

1

76

215

1

1

2

1

1

1

1

3

1

1

2

1

1

1

77

216

1

1

2

1

1

2

1

1

1

1

2

2

1

1

78

217

1

1

2

1

1

2

1

1

1

2

2

1

1

1

79

220

1

1

2

2

1

1

1

1

1

1

2

2

1

1

80

316

2

1

1

1

1

1

1

1

1

2

2

2

1

1

81

317

2

1

1

1

1

1

1

1

1

3

2

1

1

1

62

318

2

1

1

1

1

1

1

2

1

1

2

2

1

1

63

319

2

1

1

1

1

1

1

2

1

2

2

1

1

1

84

320

2

1

1

1

1

1

1

3

1

1

2

1

1

1

65

322

2

1

1

1

1

2

1

1

1

2

2

1

1

1

86

323

2

1

1

1

1

2

1

2

1

1

2

1

1

1

Я7

?

1

1

?

1

1

1

1

1

?

?

1

1

1

68

337

2

1

1

1

1

1

1

1

2

2

1

2

1

1


Примечание — Последоватег*>ность — это серия порядковых номеров 8 21 х 21 =441 комбинациях (пронумерованных от 0 до 440). созданных подпрограммой 'getRSSwidths" (приложение В) для всех комбинаций из 8 модулей для первых 6 пробелов и первых б штрихов. Последовательность вычисляют как Гзначе-ние комбинаций пробелов' х 21) + 'значение комбинаций штрихов'. Перечень порядковых номеров может применяться вместо перечня значений ширины штрихов и пробелов для определения набора контрольных знаков.


Аргументы вызова для подпрограммы getRSSwidths. позволяющие генерировать штрихи и пробелы: val    = 'значение комбинации пробелов* или 'значение комбинации штрихов* для пробелов

или штрихов (от 0 до 20);



Разбиение* длинных символов G&1 DataBar Расширенный и GS1 OataBar Расширенный Многострочный для режима эмуляции символик, используемых GS1

Символы GS1 DataBar Расширенный и GS1 DataBar Расширенный Многострочный, которые включают в себя более 48 знаков данных, в режиме эмуляции символик, используемых GS1. перед передачей должны быть разбиты на две части. Разбиение должно быть осуществлено в начале строки элемента, которая присутствует в части, превышающей 48 знаков. Строки элементе» определяют либо по присутствию знака-разделителя FNC1. либо по окончанию строки элемента фиксированной длины с А) (таблица D.1). Для тоге чтобы найти строки элементов, имеющие более 48 знаков, устройство считывания должно обеспечить выполнение следующих действий:

a)    если данные в символах GS1 DataBar Расширенный и GS1 DataBar Расширенный Многострочный превышают 48 знаков, считывание символа проводят с его начала:

b)    проверяют первые две цифры данных в линейном компоненте (первые две цифры идентификатора применения AI);

c)    если первые две цифры совладают с парами цифр, приведенными в графе «Первые две цифры идентификатора применения» таблицы D.1. пропускают столько знаков, сколько указано в графе «Число знаков» таблицы D.1 для данной пары цифр:

d)    если первые две цифры не совпадают с указанными в таблице D.1, то идентификатор применения не является идентификатором применения фиксированной длины и следует провести поиск с начала символа с целью обнаружения первого знака FNC1 или до конца символа, в зависимости от того, что будет первым:

e)    если число знаков превышает ограничение на 48 знаков, разбивают данные а начале последней обработанной строки элементов. В противном случае выполняют действие, указанное в перечислении Ь).

Если первое сообщение заканчивается знаком FNC1. то этот знак не передают.

Таблица D.1 — Идентификаторы применения для строк элементов фиксированной длины

Первые две цифры идентификатора применения

Число знаков (включая идентификатор применения и попе данных)

Первые две цифры идеи тификатора применения

Число энвкоо (включая идентификатор применения и поле денных)

00

20

18

8

01

16

19

8

0?

1R

?п

4

03

16

23

2П+41'

04

18

31

10

11

8

32

10

12

8

33

10

13

8

34

10

14

8

35

10

15

8

36

10

16

8

41

16

17

8

Примечание ' цифрами 2 и 3).

— Где п—третья цифра идентификатора применения (следует сразу за

Идентификаторами применения для строк элементов фиксированной длины являются только те. в которых первые две цифры совпадают с приведенными е графе 1 «Первые две цифры идентификатора применения» таблицы D.1. Остальные идентификаторы применения могут быть определены строками элементов данных, которые имеют одно значение длины, но эти строки элементов должны рассматриваться как имеющие переменную дгмну, поскольку они отсутствуют в таблице идентификаторов с заранее установленной длиной. В будущем не предусматривается дополнение таблицы D.1.

Элементы символов

Описания всех элементов по порядку для разлитых символов GS1 DataBar приведены в таблицах Е.1. Е.2 и Е.З.

Таблица Е.1—Описание элементов символов GS1 DataBar Всенаправленный*’, GS1 DataBar Усеченный. GS1 DataBar Двустрочный. GS1 DataBar Даустрочный Всенаправленный

Номер

элемента

Тип

элемента

Описание элемента

1

Пробел

Левый шаблон-ограничитель-, внешний элемент {шириной один модуль)

2

Штрих

Левый шаблон-ограничитель, внутренний элемент (шириной один модуль)

3

Пробел

Первый знак символа, нечетный элемент номер 1

4

Штрих

Первый знак символа, четный элемент номер 1

5

Пробел

Первый знак символа, нечетный элемент номер 2

6

Штрих

Первый знак символа, четный элемент номер 2

7

Пробел

Первый знак символа, нечетный элемент номер 3

8

Штрих

Первый знак символа, четный элемент номер 3

9

Пробел

Первый знак символа, нечетный элемент номер 4

10

Штрих

Первый знак символа, четный элемент номер 4

11

Пробел

Левый шаблон поиска, элемент номер 1

12

Штрих

Левый шаблон поиска, элемент номер 2

13

Пробел

Левый шаблон поиска, элемент номер 3

14

Штрих

Левый шаблон поиска, элемент номер 4 {шириной один модуль)

15

Пробел

Левый шаблон поиска, элемент номер 5 (шириной один модуль)

16

Штрих

Второй знак символа, чотпий оломонт помор 4

17

Пробел

Второй знак символа, нечетньм элемент номер 4

18

Штрих

Второй знак символа, четный элемент номер 3

19

Пробел

Второй знак символа, нечетный элемент номер 3

20

Штрих

Второй знак символа, четный элемент номер 2

21

Пробел

Второй знак символа, нечетньм элемент номер 2

22

Штрих

Второй знак символа, четный элемент номер 1

23

Пробел

Второй знак символа, нечетный элемент номер 1

24

Штрих

Четвертый знак символа, нечетный элемент номер 1

25

Пробел

Четвертый знак символа, четный элемент номер 1

26

Штрих

Четвертый знак символа, нечетный элемент номер 2

27

Пробел

Четвертый знак символа, четный элемент номер 2

28

Штрих

Четвертый знак символа, нечетный элемент номер 3

29

Пробел

Четвертый знак символа, четный элемент номер 3

Окончание таблицы £. 1

Номер

элемента

Тип

элемента

Описание элемента

30

Шгрих

Четвертый знак символа, нечетный элемент номер 4

31

Пробел

Четвертый знак символа, четный элемент номер 4

32

Шгрих

Правый шаблон поиска, элемент номер 5 {шириной один модуль)

33

Пробел

Правый шаблон поиска, элемент номер 4 {шириной один модуль)

34

Шгрих

Правый шаблон поиска, элемент номер 3

35

Пробел

Правый шаблон поисха. элемент номер 2

36

Шгрих

Правый шаблон поисха. элемент номер 1

37

Пробел

Третий знак символа, четный элемент номер 4

36

Шгрих

Третий знак символа, нечетный элемент номер 4

39

Пробел

Третий знак символа, четный элемент номер 3

40

Шгрих

Третий знак символа, нечетный элемент номер 3

41

Пробел

Третий знак символа, четный элемент номер 2

42

Шгрих

Третий знак символа, нечетный элемент номер 2

43

Пробел

Третий знак символа, четный элемент номер 1

44

Шгрих

Третий знак символа, нечетный элемент номер 1

45

Пробел

Правый шаблон-ограничитель, внутренний элемент {шириной один модуль)

46

Шгрих

Правый шаблон-огрэничитель. внешний элемент (шириной один модуль)

Таблица Е.2 — Описание элементов символа GS1 DataBar Ограниченный'1

Номер

элемента

Тип

элемента

Описание элемента

1

Пробел

Левый шаблон-ограничитель, внешний элемент {шириной один модуль)

2

Штрих

Левый шаблон-ограничитель, внутренний элемент (шириной один модуль)

3

Пробел

Левый знак символа, элемент знаке символа номер 1. нечетный элемент номер 1

4

Штрих

Левый знак символа, элемент знака символа номер 2. четный элемент номер 1

5

Пробел

Левый знак символа, элемент знака символа номер 3. нечетный элемент номер 2

6

Штрих

Левый знак символа, элемент знака символа номер 4. четный элемент номер 2

7

Пробел

Левый знак символа, элемент знака символа номер 5. нечетный элемент номер 3

8

Штрих

Левый знак символа, элемент знака символа номер 6. четный элемент номер 3

9

Пробел

Левый знак символа, элемент знака символа номер 7. нечетный элемент номер 4

10

Штрих

Левый знак символа, элемент знака символа номер 6. четный элемент номер 4

11

Пробел

Левый знак символа, элемент знака символа номер 9. нечетный элемент номер 5

12

Штрих

Левый знак символа, элемент знака символа номер 10. четный элемент номер 5

13

Пробел

Левый знак символа, элемент знака символа номер 11, нечетный элемент номер 6

Окончание таблицы £.2

Номер

элемента

Тип

элемента

Описание элемента

14

Штрих

Левый знак символа, элемент знака символа номер 12. четный элемент номер 6

15

Пробел

Левый знак символа, элемент знака символа номер 13. нечетный элемент номер 7

16

Штрих

Левый знак символа, элемент знака символа номер 14. четный элемент номер 7

17

Пробел

Контрольный знак символа, элемент номер 1

18

Штрих

Контрольный знак символа, элемент номер 2

19

Пробел

Контрольный знак символа, элемент номер 3

20

Штрих

Контрольный знак символа, элемент номер 4

21

Пробел

Контрольный знак символа, элемент номер 5

22

Штрих

Контрольный знак символа, элемент номер 6

23

Пробел

Контрольный знак символа, элемент номер 7

24

Штрих

Контрольный знак символа, элемент номер 8

25

Пробел

Контрольный знак символа, элемент номер 9

26

Штрих

Контрольный знак символа, элемент номер 10

27

Пробел

Контрольный знак символа, элемент номер 11

28

Штрих

Контрольный знак символа, элемент номер 12

29

Пробел

Контрольный знак символа, элемент номер 13 (шириной один модуль)

30

Штрих

Контрольный знак символа, элемент номер 14 (шириной один модуль)

31

Пробел

Правый знак символа, элемент знака символа номер 1. нечетный элемент номер 1

32

Штрих

Правый знак символа, элемент знака символа номер 2. четный элемент номер 1

33

Пробел

Правый знак символа, элемент знака символа номер 3. нечетный элемент номер 2

34

Штрих

Правый знак символа, элемент знака символа номер 4. четный элемент номер 2

35

Пробел

Правый знак символа, элемент знака символа номер 5. нечетный элемент номер 3

36

Штрих

Правый знак символа, элемент знака символа номер 8. четный элемент номер 3

37

Пробел

Правый знак символа, элемент знака символа номер 7. нечетный элемент номер 4

38

Штрих

Правый знак символа, элемент знака символа номер 8. четный элемент номер 4

39

Пробел

Правый знак символа, элемент знака символа номер 9. нечетный элемент номер 5

40

Штрих

Правый знак символа, элемент знака символа номер 10. четный элемент номер 5

41

Пробел

Правый знак символа, элемент знака символа номер 11. нечетный элемент номер 6

42

Штрих

Правый знак символа, элемент знака символа номер 12. четный элемент номер 6

43

Пробел

Правый знак символа, элемент маха символа номер 13. нечетный элемент номер 7

44

Штрих

Правый зим символа, элемент знака символа номер 14. четный элемент номер 7

45

Пробел

Правый шаблон-ограничитель, знак-ограничитель, внутренний элемент (шириной один модуль)

46

Штрих

Правый шаблон-ограничигегъ, элемент — штрих (шириной один модуль или. по крайней мере, шириной пять модулей)

47

Пробел

Правый шаблон-ограничитель, внешний элемент (шириной пять модулей)

Таблице Е.З — Описание элементов символа GS1 DataBar Расширенный (а формате для шести сегментов)11

Ноыьр

Тип

Описание элемента

эпеыснта

элемента

1

Пробел

Левый шаблон-ограничитель, внешний элемент (шириной один модуль)

2

Штрих

Левый шаблон-ограничитель, внутренний элемент (шириной один модуль)

3

Пробел

Первый знак символа, нечетный элемент номер 1 (ограничен 4 модулями или менее)

4

Штрих

Первый знак символа, четный элемент номер 1

5

Пробел

Первый знак символа, нечетный элемент номер 2

6

Штрих

Первый знак символа, четный элемент номер 2

7

Пробел

Первый знак символа, нечетный элемент номер 3

8

Штрих

Первый знак символа, четный элемент номер 3

9

Пробел

Первый знак символа, нечетный элемент номер 4

10

Штрих

Первый знак символа, четный элемент номер 4

11

Пробел

Шаблон поиска А1. элемент номер 1

12

Штрих

Шаблон поиска А1, элемент номер 2

13

Пробел

Шаблон поиска А1. элемент номер 3

14

Штрих

Шаблон поиска А1. элемент номер 4 (шириной один модуль)

15

Пробел

Шаблон поиска А1. элемент номер 5 (шириной один модуль)

16

Штрих

Второй знак символа, четный элемент номер 4

17

Пробел

Второй знак символа, нечетный элемент номер 4

18

Штрих

Второй знак символа, четный элемент номер 3

19

Пробел

Второй знак символа, нечетный элемент номер 3

20

Штрих

Второй знак символа, четный элемент номер 2

21

Пробел

Второй знак символа, нечетный элемент номер 2

22

Штрих

Второй знак символа, четный элемент номер 1

23

Пробел

Второй знак символа, нечетный элемент номер 1 (ограничен 4 модулями или менее)

24

Штрих

Третий знак символа, нечетный элемент номер 1 (ограничен 4 модулями или менее)

25

Пробел

Третий знак символа, четный элемент номер 1

26

Штрих

Третий знак символа, нечетный элемент номер 2

27

Пробел

Третий знак символа, четный элемент номер 2

28

Штрих

Третий знак символа, нечетный элемент номер 3

29

Пробел

Третий знак символа, четный элемент номер 3

30

Штрих

Третий знак символа, нечетный элемент номер 4

31

Пробел

Третий знак символа, четный элемент номер 4

32

Штрих

Шаблон поиска В2. элемент номер 5 (шириной один модуль)

33

Пробел

Шаблон поиска В2. элемент номер 4 (шириной один модуль)

34

Штрих

Шаблон поиска В2. элемент номер 3

35

Пробел

Шаблон поиска В2. элемент номер 2

36

Штрих

Шаблон поиска В2. элемент номер 1

Окончание таблицы £.3

Номер

Тип

Описание элемента

элемента

элемента

37

Пробел

Четвертый знак символа, четный элемент номер 4

38

Штрих

Четвертый знак символа, нечетный элемент номер 4

39

Пробел

Четвертый знак символа, четный элемент номер 3

40

Штрих

Четвертый знак символа, нечетный элемент номер 3

41

Пробел

Четвертый знак символа, четный элемент номер 2

42

Штрих

Четвертый знак символа, нечетный элемент номер 2

43

Пробел

Четвертый знак символа, четный элемент номер 1

44

Штрих

Четвертый знак символа, нечетный элемент номер 1 {ограничен 4 модулями или менее)

45

Пробел

Пятый знак символа, нечетный элемент номер 1 (ограничен 4 модулями или менее)

46

Штрих

Пятый знак символа, четный элемент номер 1

47

Пробел

Пятый знак символа, нечетный элемент номер 2

48

Штрих

Пятый знак символа, четный элемент номер 2

49

Пробел

Пятый знак символа, нечетный элемент номер Э

50

Штрих

Пятый знак символа, четный элемент номер 3

51

Пробел

Пятый знак символа, нечетный элемент номер 4

52

Штрих

Пятый знак символа, четный элемент номер 4

53

Пробел

Шаблон поиска В1. элемент номер 1

54

Штрих

Шаблон поиска В1. элемент номер 2

55

Пробел

Шаблон поиска В1. элемент номер 3

56

Штрих

Шаблон поиска В1. элемент номер 4 (шириной один модуль)

57

Пробел

Шаблон поиска В1. элемент номер 5 (шириной один модуль)

58

Штрих

Шестой знак символа, четный элемент номер 4

59

Пробел

Шестой знак символа, нечетный элемент номер 4

60

Штрих

Шестой знак символа, четньм элемент номер 3

61

Пробел

Шестой знак символа, нечетный элемент номер 3

62

Штрих

Шестой знак символа, четньм элемент номер 2

63

Пробел

Шестой знак символа, нечетный элемент номер 2

64

Штрих

Шестой знак символа, четный элемент номер 1

65

Пробел

Шестой знак символа, нечетный элемент номер 1 (ограничен 4 модулями или менее)

66

Штрих

Правый шаблон-ограничитель, внутренний элемент (шириной один модуль)

67

Пробел

Правый шаблон-ограничитель, внешний элемент (шириной один модуль)

Примеры кодирования данных

F.1 Пример кодирования данных в символах GS1 OataBar Всенаправленный и GS1 Data Ваг Усеченный В символе GS1 DataBar Всенаправленный — линейном компоненте в составе символа GS1 Композитный (рисунок F.1) закодирован флаг сопровождения со значением 1, указывающий на присутствие двумерного компонента. и номер предмета горювли 24012345678905.

Рисунок F.1 — Пример символа GS1 Композитный

Этапы вычисления ширины элементов линейного компонента — символа GS1 DataBar Всенаправленный:

a)    определяют значение символа как сумму значений флага сопровождения 10000000000000 и идентификационного номера 2401234567890 предмета, равную 12401234567890 (контрольный знак отбрасывают; в данном примере контрольный знак равен 5):

b)    рассчитывают значения левой и правой пар знаков символа:

left = 12401234567890 div 4537077 = 2733309; right = 12401234567890 mod 4537077 = 1170097;

c)    рассчитывают значения каждого из четырех знаков символа:

data 1 = left div 1597 = 2733309 div 1597 = 1711; data 2 = left mod 1597 = 2733309 mod 1597 = 842: data 3 = right div 1597 = 1170097 div 1597 = 732; data 4 = right mod 1597 = 1170097 mod 1597 = 1093;

d)    рассчитывают значения для нечетного и четного поднаборов элементов для четырех знаков символа: data 1 представляет собой значение первого знака символа со структурой (16.4) — 1711, которое находится

вгруппеЗсв нечетными и 8 чвгными модулями1*. Применяя уравнения для вычисления значений Vodo и V6Ven из значения data 1. получают:

Voooi = (data 1 - 961) div 34 * (1711 - 961) div 34 = 750 div 34 = 22:

Veveni s (data 1 -961) mod 34 ={1711 -961) mod 34 = 750 mod 34 = 2; data 2 представляет собой значение второго знака символа со структурой (15.4) - 842. которое находится в труппе 2 с 7 нечетными и 8 четными модулями *. Применяя уравнения для вычисления значений VEvet4 и Vqdo из значения data 2. получают:

V6ven2 = (data 2 - 336) div 20 = (842 - 336) div 20 = 506 div 20= 25:

Voi»2 = (data 2 - 336) mod 20 = (842 - 336) mod 20 = 506 mod 20 = 6: data 3 представляет собой значение третьего знака символа со структурой (16.4) - 732. которое находится в группе 2 с 10 нечетными и 6 четными модулями''. Применяя уравнения для вычисления значений VOOD и VEVSN из значения data3. получают:

Vooo3 = (data 3-161) div 10 = (732 - 161)div 10 = 571 div 10 = 57;

Vevenj * (data 3 - 161) mod 10 = (732 - 161) mod 10 = 571 mod 10= 1; data 4 представляет ообой значение четвертого знака символа со структурой (15.4) — 1 093. которое находится в группе 3 с 9 нечетными и 6 четными модулями21. Применяя уравнения для вычисления VEVen 14 Vood 143 значения data 4. получают:

Vevenj = (data 4 - 1036) div 48 = (1093 - 1036) div 48 = 57 div 48 = 1:

Voooj = (data 4 - 1036) mod 48 = (1093 - 1036) mod 48 = 57 mod 48 = 9;

e)    применяя алгоритм кодирования ширины поднаборов элементов символа GS1 DataBar (приложение В), получают следующие значения ширины элементов (в модулях) из значений поднаборов:

для поднабора нечетных элементов 1-го знака символа: odd 1 (для значения V0oat = 22) = 3 113;

для поднабора четных элементов 1-го знака символа: even 1 {для значения VEVEN1 = 2) = 113 3.

Таким обрезом, ширина элементов 1 -го знака символа со значением data 1s3111133 3; для поднабора нечетных элементов 2-го знака символа: odd 2 (для значения Vqqqj = в) = 1 2 31: для поднабора четных элементов 2-го знака символа: even 2 (для значения VEVEN2 = 25) =3113.

Таким образом, ширина элементов 2-го знака символа со значением data 2=132131 13 (при отображении слева направо);

для поднабора нечетных элементов Э-го знака символа: odd 3 (для значения ~ 57) = 3 3 3 1; для поднабора четных элементов 3-го знака символа: even 3 (для значения VEVEN3 = 1) = 112 2.

Таким образом, ширина элементов 3-го знака символа со значением data 3=31313212 (при отображении слева направо);

для поднабора нечетных элементов 4-го знака символа: odd 4 (для значения VOOQ4 * 9) * 1 2 4 2: для поднабора четных элементов 4-го знака символа: even 4 (для значения VEVE44 = 1) = 1 1 2 2.

Таким образом, ширина элементов 4-го знака символа со значением data 4 = 1121422 2:

0    вычисляют контрольную сумму'*:

datai: 3x1 + tx3 + 1x9+ 1x27 + 1x2+ 3x6 + 3x18 + 3x54    = 270

data 2:    1x4 + 3x12 + 2 x 36+ 1x29 + 3x8 + 1x24 + 1x72 + 3x 58    = 435

data 3: 3x16+ 1x48 + 3x65+ 1x37 + 3x32 + 2x17+ 1x51 +2 x74 = 657 data 4: 1 x64 ♦ 1 x34 + 2x23 ♦ 1x69 + 4 x49 + 2x68 + 2x46+ 2 x59 = 755

2125

Таким образом, контрольная сумма = 2125 mod 79 = 71;

g)    вычисляют два контрольных знака символа из контрольной суммы:

71    более или равно 8. так что промежуточное значение для пары шаблонов поиска 71 + 1 = 72:

72    больше или равно 72. так что значение для пары шаблонов поиска 72 + 1 » 73: значение левого контрольного знака равно 73 div 9 = 8;

значение правого контрольного знака равно 73 mod 9=1;

значению левого контрольного знака, равному в. соответствует следующая комбинация элементов (в модулях) 13911;

значению правого контрольного знака, равному 1. соответствует следующая комбинация элементов (в модулях) 3 5 5 1 1 (при отображении слева направо);

h)    устанавливают ширину всех элементов символа е последовательности (левый шаблон-ограничитель. 1-й знак символа ', левый контрольный знак'. 2-й знак символа* (зеркальное отображение), 4-й знак симво-ла’. правый контрольный знак61 (зеркальное отображение), Э-й знак символа* (зеркальное отображение) и правый шаблон-ограничитель) *:

1    1. 3111133 3. 1391 1. 31131231, 1121422 2. 1 1 55 3, 2 12 313 1 3, 1 1.

F.2 Пример кодирования данных в символе GS1 DataBar Ограниченный

В символе GS1 DataBar Ограниченный (рисунок F.2) закодирован номер предмета торговли 00098765432105.


I





Рисунок F.2 — Пример символа GS1 DataBar Ограниченный

Этапы вычисления ширины элементов символа GS1 DataBar Ограниченный:

a)    исходя из идентификационного номера предмета торговли 00036765432105. определяют значение символа. равное 9876543210 (контрольную цифру 5 отбрасывают);

b)    рассчитывают значения левого и правого знаков символа:

left data = 9876543210 dtv 2013571 = 4904: nght data = 9876543210 mod 2013571 = 1991026;

c)    вычисляют значения четного и нечетного поднаборов элементов для двух знаков символа:

значение левою знака символа (left data), равное 4904. находится в группе 1 с 17 нечетными и 9 четными модулями1*, таким образом:

значение нечетного поднабора элементов левого знака символа:

left odd = (left data - 0) cfcv 28 = 4904 div 28 = 175; значение четного поднабора элементов левого знака символа:

left even = (left data - 0) mod 28 = 4904 mod 28 = 4:

значение правого знака символа (right data), равное 1991026, находится в группе 6 с 19 нечетными и 7 четными модулями2-1, таким образом:

значение нечетного поднабора элементов правого знака символа:

right odd = (right data - 1979845) div 1 = 11181 div 1 = 11181: значение четного поднабора элементов правого знака символа:

right even = (right data - 1979845) mod 1 = 11181 mod 1=0:

d)    применяя алгоритм кодирования ширины элементов для лоднабороа символа GS1 DataBar (приложение В), получают следующие размеры ширины элементов (в модулях) из значений поднаборов:

для поднабора нечетных элементов левого знака символа:

left odd (для значения 175) = 1 1 2 2 2 4 5; для поднабора четных элементов левого знака символа:

left even (для значения 4)= 11 11221.

Таким образом, ширина элементе» левого знака символа равна 11112121224251: для поднабора нечетных элементов правого знака символа:

right odd (для значения 11181) = 33 13522: для поднабора четных элементов правого мака символа:

right even (для значения 0) = 1111111.

Таким образом, ширина элементов правого знака символа равна 31311131512121: в) вычисляют контрольную сумму *: значение для левого знака символа:

left = 1x1 + 1 *3+1x9 + 1x27 + 2x81 + 1x65 + 2x17 + 1x51 +2x64 + 2x14 +

+ 4X42 +2 x37 + 5x22 + 1x66 = 926; значение правого знака символа:

right = 3x20 + 1 х60 + 3x2 ♦ 1 хб + 1 х 18 + 1 х54 + 3x73 + 1x41 +

+ 5x34 + 1x13 + 2x39+ 1x28 + 2x84 ♦ 1x74 = 995.

Следовательно, контрольная сумма = (926 + 995) mod 89 = 52:

f) вычисляют ширину элементов (в модулях) контрольного знака (приложение В) для значения 52=11121 12112211 1:

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

1 1.11 112121224251.11121121 12211 1.3131113151212 1.11 5.

F.3 Пример кодирования данных в символе GS1 DataBar Расширенный

В символе GS1 DataBar Расширенный (рисунок F.3) закодирована строка элемента с идентификатором применения (10)12А. Данные в настоящем примере не содержат основную идентификацию предмета и являются условными.



Рисунок F.3 — Пример символа GS1 DataBar Расширенный

Этапы вычисления ширины элементов символа GS1 DataBar Расширенный:

a)    определяют значение, подлежащее кодированию в символе 1012А.

b)    устанавливают значения в двоичных полях:

бит флага сопровождения11 значение метода кодирования *

биты 8 поле символа переменной длины31

биты данных*:


= 0 (отсутствует двумерный компонент);

= 00 (отсутствует особое уплотнение А!, но некоторые А! могут быть закодированы по знакам);

= 00 (четное число знаков символа: число знаков символа менее или равно 14);

= 0010011 (схема числового кодирования для пары цифр «10»);

= 0010101 (схема '«елового кодирования для пары цифр «12»):

= 0000 (указатель фиксации схемы алфавитно-цифрового кодирования);

= ЮОООО (схема алфавитно-цифрового кодирования для знака «А»); = 0010000 (для заполнения поля).

Таким образом, строкой данных является последовательность 000000010011001010100001000000010000;

Примечание — В данном примере описан метод кодирования, приведенный в 7.2.5.

c)    строку данных разбивают на группы по 12 битов каждая: 000000010011. 001010100001 и 000000010000. Определяют значения трех знаков символа:

data 1 = 000000010011 = 19; data 2 = 001010100001 = 673; data 3 = 000000010000 = 16:

d)    рассчитывают значения нечетного и четного поднаборов данных для трех знаков символа1*: значение первого знака символа (data 1} 19 находится в группе 1 с 12 нечетными и 5 четными модулям*.

следовательно:

значение нечетного поднабора элементов:

odd 1 = (data 1-0) div 4 = 19 cfev 4=4: значение четного поднабора элементов:

even 1 = (data 1 -0)mod4 * 19mod4*3;

значение второго знака символа (data 2) 673 находится в группе 2 с 10 нечетными и 7 четными модулям*, следовательно:

значение нечетного поднабора элементов:

odd 2 - (data 2 - 346) div 20 = 325 div 20 = 16; значение четного поднабора элементов:

even 2 = (data 2 — 346) mod 20 = 325 mod 20 = 5:

значение третьего знака символа (data 3) 16 находится в группе 1 с 12 нечетными 5 четными модулями, следовательно

значение нечетного поднабора элементов:

odd 3 = (data 3 — 0) drv 4 = 16 eftv 4 = 4; значение четного подкабора элементов:

even 3 = (data 3-0) mod 4=16 mod 4=0;

e)    применяя алгоритм кодирования ширины элементов для поднаборов символа GS1 DataBar (приложение В), получают следующие размеры ширины элементов из значений поднаборов:

для поднабора нечетных элементов 1-го знака символа:

odd 1 (для значения 4) в 117 3: для поднабора четных элементов 1-го знака символа:

even 1 (для значения 3) = 2 111.

Таким образом, ширина элементов первого знака символа (в модулях) равна 121 17131 (зеркальное отображение слева направо);

для поднабора нечетных элементов 2-го знака символа:

odd 2 (для значения 16) ■ 1 5 1 3; для поднабора четных элементов 2-го знака символа:

even 2 (для значения 5) = 1 2 2 2.

Таким образом, ширина элементов второго знака символа (в модулях) равна 1 152123 2; для поднабора нечетных элементов Э-го знака символа;

odd 3 (для значения 4) = 117 3; для поднабора четных элементов 3-го знака символа:

even 3 (для значения 0) = 1112.

Таким образом, ширина элементов третьего знака символа (в модулях) равна 111 17 13 2 (зеркальное отображение слева направо);

f)    вычисляют контрольную сумму11:

значение для первого знака символа:

data 1 = 1x1 +2x3 + 1x9 + 1x27 + 7x81 + 1x32 + 3x95+ 1x77 = 1007; значение для второго знака символа:

data 2 = 1x20 + 1x60 + 5x180* 1x118+ 1x143 + 2x7 + 3x21 +2x63 = 1562; значение для третьего знака символе:

data 3 = 1x189* 1x145+ 1x13+ 1x39 + 7x117 + 1x140 + 3 x209 + 2 x205 = 2382.

Значение контрольной суммы = (1007 + 1562 + 2382) mod 211 = 98:

g)    вычисляют значение контрольного знака символа ': 211(4 - 4) + 98 = 98.

Значения нечетного и четного под на боров для конгрогъного знака символа':

Значение контрольного знака, равное 98. находится е группе 1 с 12 нечетными и 5 четными модулями, таким образом:

значение нечетного поднабора элементов:

odd с = (значение контрольного знака) div 4 = 98 <fcv 4 = 24:

значение четного поднабора элементов:

even с = (значение контрольного знака) mod 4 = 98 mod 4 = 2.

Используя алгоритм расчета ширины элементов в поднаборах для символа GS1 DataBar Расширенный (приложение В), получают следующие размеры ширины элементов (в модулях): в нечетном поднаборе odd с (для значения 24) =15 15: в четном лоднаборе even с (для значения 2) = 1 2 1 1.

Таким образом, ширина элементов контрольного знака, в модулях равна 1152115 1:

h)    устанавливают ширину всех элементов символа (левый шаблон-ограничитель, контрольный знак, шаблон поиска А1, первый знак символа (со значением data 1) (зеркальное отображение), второй знак символа (со значением data 2). шаблон поиска А2. третий знак символа (со значением data 3) (зеркальное отображение) и правый шаблон-ограничитель):

1 1. 1 1 521 1 5 1.1 84 1 1.1 31 7 1 1 2 1.1 1 5212 32. 1 1 4 81.23 1 7 1 1 1 1.1 1.

Программа декодирования ширины элемента на языке программирования С

ttnclude <sld*o.h>

/................*..........................................*..........

' Две подпрограммы — elements{) и elementsExp() -

*    входные данные:

*    eDist[| = первые нормированные (2*К>-2 значения «от края до подобного края»

*    {всегда начиная с внешнего шаблона поиска!!) и

*    N и К. определяющие структуру знака.

*    выходные данные:

' widths {] = 2‘К размеры ширины элементов.

е

’ Для символов GS1 DataBar Всенаправленный. GS1 DataBar Усеченный. GS1 DataBar Двустрочный или GS1 DataBar Двустрочный Всенаправленный вызов:

*    elements {'eOist.‘widths,15.4) внутренних знаков символа &

’ elements (*eDist*wid ths.16.4) для внешних знаков символа.

*

*    Для GS1 DataBar Ограниченный вызов elements (*eDist.*widths.26.7).

*    Для GS1 DataBar Расширенный вызов etementsExpfeDist,'widths, 17.4).

......*................................................*......**’/

г.....................................................................

’ подпрограмма e!ements{) определяет ширину элементов знака (п,к) при по крайней мере одном * элементе с четным номером шириной ровно один модуль.

’{Примечание — Элементы с четными номерами — 2-й. 4-й. 6-й и т.д. имеют нечетные индексы).

..............................*........................*.......7 void elements- (int ‘eOist, int ’widths, int N. int K) { int i;

int minEven: int barSum:

Г получение размеров ширины элементов из нормированных измерений «от края до подобного края»’/ minEven = 10; Г начинают с завышенного наименьшего значения V

barSum = widths (О) » 1; Л сначала предполагают, что ширина первого штриха равна 1 модулю*/ for (i = 1: i < К'2-2; i += 2) {

widlhs[i) - eDist(i-1| • widths(i-l); widthB(i+1] = eDist[i] • widthsji); barSum += widths[i] + widths(i+t|; if (widths(i] < minEven) minEven = widths[i}:

}

widths(K*2-1| = N - barSum; Г ширина последнего четного элемента составляет N модулей 7 d (widthstK‘2-1) < minEven) minEven = w»dthsjK‘2-1]; if (minEven > 1) (

Л минимальная четная ширина четного элемента слишком большая, следует откорректировать ее на 1 */ for (i = 0: i < К*2; i ♦= 2) { widths{i| += minEven-1: wrdthsfrH) — minEven-1;

)

}

return:

Г.........*..........*..................................

*    подпрограмма elementsExp() определяет ширину элементов знака (п.к)

*    при по крайней мере одном элементе с нечетным номером шириной ровно один модуль '{Примечание — Элементы с нечетными номерами — 1-й. 3-й. 5-й и т.д. имеют четные индексы)

...........................................г......................../

void etementsExp (kit ‘eDist. int ^widths, tnt N. kit K) { int i;

int minOdd: int barSum;

Г получение размеров ширины элементов из нормированных измерений «от края до подобного края»*/ minOdd = 8; /* начинают с минимума == предполагаемая ширина первого элемента V barSum = widthsJOJ = 8; /* сначала предполагают, что ширина первого штриха максимальная/8 модулей V tor (i = 1:i<K'2-2;i+=2){

widthsfi] = eOist{i-1] • widths(i-l); widthsji+tj - eDist[i] • widths^!]; barSum += widths(i) + widths[i+1]; if (widths[i+1) < minOdd) minOdd = widths{i+1);

}

widths(K’2-1j = N - barSum: Г последний четный элемент составляет N модулей V if (minOdd > 1 > {

Г минимальная ширина нечетных элементов слишком ветка, следует уточнить, чтобы минимагъная ширина нечетных элементов составляла t V for(i = 0: i < К*2; i ♦» 2){ wvdthsp] — minOdd-1; vwdthsfi+1] += minOdd-1;

)

}

return:

}

r.....................................................................

* пример () демонстрирует подпрограммы «elements* для GS1 DataBar Всенаправленный, GS1 DataBar Усеченный, GS1 DataBar Двустрочный, GS1 DataBar Двусгрочный Всенаправленный. GS1 DataBar Ограниченный и GS1 DataBar Расширенный.

....................................*................................/ void main (void) ( int eDist14[6] = { 5.3,3,3,4.5 }:

int eDistUm(12] - ( 2.3.4.3.4.4.6.6.2.2.3.4 fc

int eOistExp[6] = {2,3,3,3,3.3);

int w»dthsl14);

int i;

Г для внешнего знака символа символов штрихового кода GS1 DataBar Всенаправленный, GS1

DataBar Усеченный. GS1 DataBar Двустрочный или GS1 DataBar Двустрочиый Всенаправленный г V elements(eDist14, widths, 16.4); printf(*\n GS1 Data Bar {16.4) elements: ’); for (i * 0; i < 8: i*+) prints *%d ". widthsji});

Г для внутреннего знака символа символов штрихового кода GS1 DataBar Всенаправленный. GS1

DataBar Усеченный. GS1 DataBar Двустрочный или GS1 DataBar Двустрочкьм Всенаправленный г V elements(eDist14. widths. 15,4); printfOn GS1 DataBar (15,4) elements: *); for (i * 0: i < 8; i++) printf(*%d ". widths|i]):

Г для GS1 DataBar Ограниченный 7 elements(eOistUm, widths. 26,7); printf(*Vi GS1 DataBar Limited elements: ’): for (i * 0; i < 14; i++) printf("%d ". wkJthsfi]);

Г для GS1 Da la Ваг Расширенный V elementsExp(eDistExp. widths. 17.4); prtntf(*Vr GS1 DataBar Expanded elements; ’): for (i * 0: i < 8; i++) printfC%d". widths [i]):

printff\n"):

return;

}

Приложение H (справочное)

Рекомендации no минимизации ошибок при считывании

Н.1 Основные положении*

Все версии символов GS1 DataBar (кроме GS1 DataBar Ограниченный) разработаны для обеспечения возможности сканирования по сегментам, каждый из которых содержит шаблон поиска и смежный знак символа. Некоторые сканеры могут требовать декодирования отдельных сегментов для обеспечения эффективного всенаправленного сканирования. Для таких сканеров важно свести к минимуму возможность возможность ошибочного считывания ненадлежащего сегмента (например, обнаруженного в графическом изображении или в несоответствующей месте в пределах символа).

Кроме того, для всех типов сканеров и всех типов символов GS1 DataBar (включая GS1 DataBar Ограниченный) из-за того, что значение контрольного знака может быть получено в большей степени из значений ширины элементов, чем из значений знаков символа, существует вероятность того, что при наличии двух ошибок смещения края в пределах одного знака символа эти ошибки могут быть необнаружены. что повлечет за собой ошибочное считывание символа.

На рисунке Н.1 приведен пример двух необнаруженных ошибок смещения края в символе GS1 DataBar Всенаправленный. Верхний символ — первоначальный символ, который был сканирован, и нижний символ — реконструированный на основе денных, декодированных в результате ошибочного считывания верхнего символа.

0100614166026677

Рисунок Н.1—Два действительных символа GS1 DataBar Всенаправленный, отличающиеся только двумя смещенными краями внутри одного знака символа

Указанные особенности символики GS1 DataBar требуют введения допонительных мер повышения надежности, связанных с необходмостыо сбора избыточных данных. Рекомендуется использовать нижеуказанные алгоритмы, хотя приемлемы и иные алгоритмы, которые обеспечивают подобный уровень надежности.

Н.2 Декодирование с подсчетом

a)    Схема алгоритма декодирования с подсчетом

При обработке каждой пинии сканирования подсчитывают число случаев декодирования какого-либо значения-кандидата в каждой позиции сегмента (или символа GS1 DataBar Ограниченный в целом). Для каждой позиции сегмента ведут отдельные списки эначений-кандидатое (до 24 для GS1 DataBar Расширенный, один для GS1 DataBar Ограниченный и четыре для всех других).

После -обработки каждой линии сканирования выбирают (для каждой позиции сегмента или символа GS1 DataBar Ограниченный в целом) значение-кандидат, которое было декодировано чаще других, независимо от того, какие еще сегменты были обнаружены вдоль этой линии сканирования. Необходимо, чтобы число декодирований подходящего значения-кандидата на позицию сегмента {или символа GS1 DataBar Ограниченный в цепом), по меньшей мере, на два превышало число декодирований следующего за ним подходящего значения-кандидата. Если е данной позиции было декодировано только одно значение-кандидат, необходимо, чтобы оно было декодировано по крайней мере дважды.

Для символа GS1 DataBar Ограниченный указанное требование подразумевает, что символ должен быть декодирован с одним и тем же значением по крайней мере дважды.

b)    Пример

Пусть в символе GS1 DataBar Всенаправленный закодированы следующие значения знаков символа — А. В. С и D. Результатом первого сканирования стали знаки АВ. второго — BCD. третьего — D и четвертого — АВС. Таким обрезом, все четыре знака были считаны дважды, следовательно декодирование может быть продолжено.

Теперь вместо этого допустим, что четвертое сканирование привело к результату АВЕ. где Е — иное значение для третьего знака. Теперь ошибочно считано значение третьего знака символа. Следует продолжить сканирование до тех пор. пока число считываний одного из значений-кацдидатов на третий знак не будет на два более, чем другое (или другие).

Продолжая этот пример, допустим, что в результате следующего сканирования были получены АВС. и следующего за ним сканирования — FBC. где F — иное значеше для первого знака. Третий знак теперь определен как С, поскольку его значение было считано три раза, а значение Е — только один раз (на два считывания меньше).

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

Н.З Построчное декодирование

Если обычное использование сканера предусматривает такую ориентацию сканера, при которой линии сканирования проходят вдоль всего символа или отдельной сторожи символа, то допопнитет>но к декодированию с подсчетом, приведенному в Н.2. рекомендуется использовать дополнительные меры защиты. Декодер должен воспринимать только данные, которые заключены, по меньшей мере, е двух смежных сегментах, т. е. в последовательности «шаблон поиска — знак символа — знак символа — шаблон поиска» или «знак символа — шаблон поиска — знак символа». Таким образом, изолированные последоватегъности «шаблон поисхв — знак символа» следует игнорировать.

Н.4 Проверки постоянства

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

a)    Проверка размеров (ширины)

Проверяют, чтобы отношения размера четьдох выбранных элементов шаблона поиска и размера примыкающего знака символа к номинальным значениям отличались не более чем на 7 %. (В число четырех выбираемых элементов шаблона поиска не включают внешний элемент в паре из двух узких элементов, т.е. для размера знака символа в шаблоне поиска с шириной элементов {1. 5. 7 .1. 1) выбирают первые четыре элемента).

b)    Проверка рэстискивания краски

Проверяют, чтобы среднее отклонение от номинального значения ширины штрихов в шаблоне поиска не отличалось более чем на О.ЗХ от среднего отклонения штрихов е примыкающем к нему знаке символа.

Н.5 Рекомендации по декодированию символа GS1 DataBar Ограниченный

Настоящий стандарт устанавливает дополнительные новые требования к штрихам шаблонов — ограничителей GS1 DataBar Ограниченный для обеспечения печати и декодирования с целые предотвращения возможного ошибочного считывания некоторых символов UPC-A 8 качестве символов GS1 DataBar Ограниченный.

Н.5.1 Рекомендации относительного исходного рекомендуемого алгоритма декодирования, касающиеся штрихов шаблонов-ограничителей

Исходный рекомендуемый ал гори гм декодирования не требует присутствия штрихов шаблонов-ограничителей для проведения декодирования. Однако необходима проверка наличия надлежащих знаков-ограничителей. Кроме того, необходима проверка присутствия широкого пробела, расположенного слева от начатъного штриха шаблона — ограничителя символа.

На рисунке 8(a) приведен исходный символ DataBar Ограниченный, содержащий следующие шаблоны-ограничители:

•    левый шаблон-ограничитель, состоящий из пробела шириной по меньшей мере в один модуль и штриха шириной в один модуль:

•    правый шаблон-ограничигвль. состоящий из пробела шириной в один модуль и штриха шириной по меньшей мере в один модуль. Следует обратить внимание на то. что светлое поле, примыкающее к шаблону-ограничителю, изображенное на рисунке 8(a) и более явно изображенное на рисунке 8(b), не является частью шаблона-ограничителя исходного символа GS1 DataBar Ограниченный.

Н.5.2 Возможное ошибочное считывание символа UPC-A

Перевернутый вверх символ GS1 DataBar Ограниченный может совпадать с комбинацией штрихов и пробелов в пределах символа UPC-А. что может быть причиной случайного «ошибочного считывания» (т. е. сканирования символа UPC-А с использованием рекомендуемого алгоритма декодирования, изначально установленного для символики GS1 DataBar Ограниченный, послужит причиной допустимого декодирования символа GS1 DataBar Ограниченный). Полученные в результате декодированные данные будут представлять допустимое, но отличающееся от закодированного в символе UPC-А значение глобального номера предмета торгов гм GTIN).

Существует «проблемный» символ со значением 1332350 внутри символа UPC-А. начинающегося со знаков символа, представляющих значения 2. 4, 7 и 9 (т. е. соответствующих префисам предприятий GS1 02.04.07 и 09). Примеры каждого прецедента приведены на рисунке Н.2 вместе с соответствующим символом GS1 DataBar Ограниченный, который может быть ошибочно считан. Ошибочное считывание может произойти с одним из указанных символов или с подобными символами, которые превращаются е один из таких символов при ошибке края.

9 S


Z 6 fi О

С I

II


I


V 8 9 0

1111




е

7 4

i


Рисунок Н.2 — Прецеденты для символов UPC-А (с префиксами 09. 07. 04 и 02). которые могут быть источником проблем

Н.5.3 Методы предотвращения ошибочного считывания символов UPC-A

В рекомендуемый алгоритм декодирования GS1 DalaBar Ограниченный включены три метода, приведенные) в настоящем стандарте. Эти методы содержатся в пересмотренном рекомендуемом алгоритме декодирования. установленном в 6.2.6 настоящего стандарта. Комбинирование) этих методов должно эффективно устранить возможность ошибочного считывания символов UPC-А. Эти методы или подобные им должны быть реализованы в сканерах для GS1 DataBar Ограниченный.

Н.5.3.1 Мероприятие 1

Исходным рекомендуемым алгоритмом декодирования не предусмотрена проверка внутренних элементов шаблонов-ограничителей.

В качестве примера следует рассмотреть правый шабпон-ограничитепь. расположенный с левой стороны перевернутого вверх символа GS1 DalaBar Ограниченный, приведенного на рисунке Н.З. В шаблоне-ограничителе узкий пробел всегда имеет ширину в один модуль.

Примечание — Следует обратить внимание на го, что соответствующий пробел в проблемном символе UPC-А имеет ширину 2 модуля.

tOBQZIZllSPGIQ

2



0    0    0    9    0


4    3    6    7    0    7


Рисунок Н.З— Прецедент для символа с префиксом 02 (аналогичен для символа с префиксом 04)

Проверка внутренних элементов существующего шаблона-ограничигеля исключает из проблемного списка все символы UPC-А. начинающиеся с знаков символа со значениями 2 и 4.

Н.5.3.2 Мероприятие 2

Верхний символ 6S1 DaLaBar Ограниченный в изображенной паре, существующий на законном основании, был ошибочно считан с использованием исходного рекомендуемого алгоритма декодирования как изображенный снизу символ UPC-А. Правь» шаблон-ограничитель, расположенный с левой стороны символа GS1 DalaBar Ограниченный на рисунке Н.4. представлен сочетанием узкий пробел — штрих неопределенной ширины, означающим что пробел всегда имеет ширину IX. а штрих может иметь любую ширину.

8 0 0 6 3Z£9« 0£8 10


I II




9


6 5 5 9 9


6 8 17 4


Рисунок Н.4 — Прецедент для символа с префиксом 07 (аналогичен для символа с префиксом 09)

Дополни тельное требование к шаблонам-ограничителям о присутствии в их составе пробела шириной IX. штриха шириной 1Х и пробела шириной 5Х должно исключить из проблемного списка все символы UPC-А. начинающиеся со знаков символа со значениями 7 и 9. без ущерба для существующих принтеров и почти для всех существующих символов.

Эго требование, однако, сказывается на некоторых уже напечатанных символах — тех. которые напечатаны на номинально темном фоне и в которых конечный штрих шаблона-ограничителя может сливаться с фоном, как это было допустимо в первоначальной спецификации. Такие символы в дальнейшем не должны декодироваться как символы GS1 DalaBar Ограниченный, а новые символы должны производиться с конечным пробелом в качестве последнею элемента правого шаблона-ограничителя.

Такие или эквивалентные им проверки должны проводиться всеми сканерами, которые реализуют возможность декодирования символов GS1 DalaBar Ограниченный.

Н.5.3.3 Мероприятие 3

Эго мероприятие предотвращает ошибочное считывание в случае неполного сканирования части символа UPC-А, которая представляется содержащей символ GS1 DataBar Ограниченный с широким начальным штрихом в шаблоне-ограничителе, обнаруживая присутствие знаков символа UPC-А на другом конце линии сканирования, как показано на рисунке Н.5.

7




Рисунок Н.5— Прецедент для символа с префиксом 07 (аналогичен для символа с префиксом 09). когда линия сканирования проходит через верхний край символа

Рекомендуемый алгоритм декодирования должен быть откорректирован для осуществления проверки окончания символа UPC-А (т. в. левого окончания символа GS1 DataBar Ограниченный) с щелью исключения неполных сканирований, приводящих к ошибочному считыванию во вновь разрабатываемых сканерах.

Декодер должен обнаруживать наличие по крайней мере 10 элементов слева от декодируемого символа GS1 DataBar Ограниченный. В случае их присутствия декодер должен признать недействительным сканирование. если первые 8 элементов (включая начальный штрих шаблона —ограничителя GS1 DataBar Ограниченный) декодируются как два действительных знака правого окончания символа UPC-A.

Н.5.3.4 Выводы

Выполнение мероприятия 1 эффективно решает проблему с символами UPC-А. начинающимися со знаков символа со значениями с 2 и 4.

Выполнение мероприятия 2 эффективно решает проблему с символами UPC-А. начинающимися со знаков символа со значениями с 7 и 9.

Выполнение мероприятия 3 эффективно решает проблему сканирований лещ утлом и неполных сканирований и приплат />п<1Апмитяпныу1г> ыаляжыпетк влпЙявпк к марплриатмем 1 и 7

С помощью модификации символов и рекомендуемого алгоритма декодирования, приведенными в настоящем подразделе, проблема возможного ошибочного считывания символов UPC-А эффективно решена с минимальным ущербом для уже существующих реализаций GS1 DataBar Ограниченный. Почти все существующие символы GS1 DataBar Ограниченный могут быть считаны сканерами, которые выполняют эти дополнительные проверки, потому что пробелы в новых шаблонах-ограничителях, как правило, уже присутствуют при их нанесении на светлую подложку.

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

Примечание — Изменения могут потребоваться для принтеров и/или программного обеспечения для нанесения светлого поля, примыкающего к шаблону-ограничителю, в -случае печати символов на темной подложке.

Эго приводит к возникновению новых требований к маркировке упаковки, исключающих появление каких-либо меток вблизи правой части символа (по край ней мере, на расстоянии 5Х). Предполагается, что большинство существующих символов GS1 DataBar Ограниченный уже удовлетворяет этим требованиям.

Рекомендации по печати символов

1.1    Рекомендации для шаблона-ограничителя

Символы GS1 DataBar первого и третьего типов начинаются и заканчиваются шаблоном-ограничителем, который состоит из светлого и темного элементов шириной один модуль каждый. Из-за отсутствия свободной зоны в символе внешний элемент шаблона-ограничителя может визуально сливаться с фоном в том случае, если их цвета совпадают {светлый цвет слева или темный справа). Необходимо обеспечить присутствие в символе внешних элементов. Например, на рисунках 2. в и 11 светлые внешние элементы шаблона-ограничителя визуально неотличимы от фона, однако присутствуют в символе.

Новый, расположенный слева шаблон-ограничитель символа GS1 DataBar Ограниченный, в отличие от указанного в первой редакции настоящего стандарта, состоит из одного светлого элемента шириной один модуль и одного темного элемента шириной один модуль, а расположенный справа шаблон-ограничигвль состоит из трех элементов: светлого — шириной один модуль, темного — шириной один модуль и светлого — шириной пять модулей. Внешние светлые элементы могут сливаться с фоном и быть неразличимы на светлом фоне. Обязательным требованием является присутствие в символе внешних пробелов шаблона-ограничителя, поскольку сканеры требуют их наличия.

Ни один из символов GS1 DataBar не допускает инвертирования цветов штрихов и пробелов. То есть штрихи должны быть темными, а пробелы — светлыми. Сканеры не должны предпринимать попыток декодирования комбинаций штрихов и пробелов в случав их инвертирования, поскольку инвертированный символ GS1 DataBar может быть ошибочно считан.

1.2    Печать пиксельных (растровых) изображений

Графическое программное обеспечение, используемое для создания символов штрихового кода с помощью устройств печати пиксельных (растровых) изображений, должно обеспечивать масштабирование каждого штриха и пробела 8 точном соответствии с размером пикселя применяемого принтера. Для символик, декодируемых на основе измерений «ог края до подобного фая», в состав которых входят все символики семейства GS1 DataBar. число пикселей в составе каждого знака символа должно быть фиксированным целым числом, кратным числу модулей в символе или в знаке символа. Таким образом, конкретное устройство печати может воспроизвести только определенный диапазон размеров X. В ISO/IEC 15419 приведены общие требования к цифровым системам создания изображений и печати символов штрихового кода.

Компенсация единообразного приращения (или сокращения) размеров символов штрихового кода должна быть обеспечена путем смещения на одно и тоже значение ширины всех штрихов и пробелов символа. Это может быть достигнуто путем замены целого числа темных пикселей на светлые или светлых на темные единообразно для каждой пары «штрих — пробел» в символе и для последнего штриха в символе. Например, во всех пикселях у одного и того ию края каждого штриха оимоопэ можот был. прооодоиа с*лома цоота с томного из соотлый или у пикселей по обоим краям каждого штриха символа может быть заменен цвет с темного на светлый при условии, что разрешающая способность устройства печати допускает такую замену. Любой порядок замены цвета пикселей темного на светлый или светлого на темный является приемлемым, если корректировка выполняется единообразно по всему символу и не приводит к изменению размеров «от края до подобного края» игы общей ширины знака символа. Невыполнение указанных правил приводит к ухудшению качества печати символов и в большинстве случаев приводит к невозможности их считывания.

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

Пример для программистов

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

a)    преобразуют желаемое увеличение символа или размера X до размера модуля в пикселях, округляя до ближайшего целого значения. Если результат приводит к размеру X. меньшему минимального допустимого в рамках данного применения, то следует округлить его до ближайшего большего целого значения;

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

c)    применяют полученные результаты для определения числа пикселей в каждом штрихе и пробеле символа.

Пример

Используя файлы цифрового изображения символов штрихового кода для вывода на устройство печати с разрешающей способностью 24 точки/мм. формируют символ с размером X 0.27 мм и уменьшением ширины штриха на 0.06 мм.

Размер модуля, равный 24 точхи/ым х 0,27 мм/модуль = 6.5 пикселей, округляют до значения 6 пикселей на модуль.

Компенсацию ширины шгриха. равную 0.0& мм х 24 пикселя/мм в 1.4 пикселя, округляют до 2 пикселей.

В результате получают число пикселей е штрихах и пробелах, приведенное е таблице 1.1.

Таблица 1.1 — Пример корректировки числа пикселей с учетом разрешающей способности устройства печати и сокращения ширины штриха

Число мо-дулей

Число пикселей

о штрихах

в пробелах

1

4

8

2

10

14

3

16

20

4

22

26

1.3    Рекомендации для пользователей программного обеспечения по печати пиксельных изображений

При первоначальной печати символа е системе, состоящей из программного обеспечения для печати

символов штрихового кода и печатающего устройства, пользователь согласно ISO/IEC 15416 должен проверить соответствие символа, предназначенного для печати, требуемому классу качества печати и размеру X. Если напечатанный символ не соответствует требуемому классу качества, пользователь может увеличить размер X или изменить приращение или сокращение ширины штриха. Данная процедура может продолжаться до тех пор. пока не будет достигнут требуемый класс качества символа. Следует учитывать, что не все системы печати могут обеспечить создание символов штрихового кода требуемого качества при малых значениях размера X.

1.4    Рекомендации по управлению процессом печати

Для управления процессом печати рекомендуется проводить оценку среднего приращения или сокращения ширины штриха, а также корректировки для их соответствующей компенсации. Параметр «декодируемосгь». измеряемый в соответствии с ISO/IEC 15416, зависит от двух факторов: систематического приращения или сокращения ширины шгриха и ог вариации размеров «от края до подобного краям.

1.5    Расстояние между символами

Символы GS1 DataBar должны находиться на таком расстоянии друг от друга, которое обеспечивает присутствие в поле фения сканера только одного символа.

1.6    Печать шаблона — разделителя строк

Если символ GS1 DataBar наносят как линейный компонент с соответствующим флагом сопровождения, одновременно должен быть напечатан необходимый шаблон — разделитель строк. Символ считают надействи-юяьным ди юл пир, ituKd не Суды гчиючыан двумерный кимминеш.

В некоторых процедурах печати могут возникнуть трудности при нанесении рядов шаблона — раэде/ытеля строк высотой один модуль а связи с искажением некоторых элементов шаблона — разделителя строк из-за размывания или растекания красителя.

Для того чтобы заранее компенсировать вертикальное искажение в процессе печати, уменьшают соответствующим образом высоту штрихов элементов шаблона — разделителя строк до тех пор. пока все элементы шаблона — разделителя строк не будут визуально различимы.

Если шаблон—разделитель строк по-прежнему визуально неразличим, то высоту каждого ряда е шаблоне — разделителе строк увеличивают до двух модулей (максимальное значение), при этом высота символа также должна быть увеличена. В этом случае высота знаков символа не должка быть менее установленного минимального размера. Если после указанных действий шаблон — разделитель строк остается визуально неразличимым, то увеличивают размер X символа, при этом высота и ширина символа также должны быть соответственно увеличены.

Приложение J

ГОСТ ISO/1EC 24724—2011


(справочное)

Сводный перечень параметров символики GS1 Data Ваг

Паране гры

СИМВОЛИКИ

Типы символов

051 0В18В» всенаправленный

OSi ОайВаг Усеченный

OSi OataBar Деустрочный

GSl OataBar Деустрочный всеиапраалаиный

GS1 оавввг Ограниченный

GSl OataBar Расширенный

GSl OataBar Расширенный Много строчный

Всенаправленное

Присутствует

Отсутствует

Отсутствует

Присутствует

Отсутствует

Присутствует

Отсутствует

сканировало

Лееый/Лрвеый

в:Ы9-.Ь

в:Ь/Ь:а

г.Ь/Ь:«

9fc / 8t:8

Переменный

Переменный

шаблоны*

Е>:»/»:Е>

b:$/$:b

ограничители 11

Денные

А1(01) вместе с

А1(01)вместес

АЦ01)вместес

АЦ01) вместе с

А1(01)еыестес

Основная идвнти-

Основная идвнти-

для передачи

14-разрядным

14-разрядиым

14-разрядиым

14-разрядиым

14-разрядиым

фикаиия и другие

фиквция и другие

GTIN

GTIN

GTIN

GTIN

GTN

строки элементов

строки элементов

с AI

сА1

Максимальная

емкость данных 21

16 цифр (нема-

16 цифр (иемэ-

16 цифр (нема-

16 цифр (нвмз-

16 цифр (на из-

74 цифры/41 буква

74 цифры /41 буква

манная)

ыеннвя)

мвнная)

менная)

меннвя)

Кодируемый

Поднабор по

Поднабор

набор знаков 31 Поддерживаемые значемая разряда

0- 9

0-9

0-9

0-9

0-9

ISO/IEC 646 31

по ISO/IEC64641

индикатора 41

0-9

0-9

0-9

1

о

0.1 (только)

0-9

0-9

Число знаков

символа для

двнгых/ шаблонов

поиска

4/2

4/2

4/2

4/2

2/1

4/2-22/11

4/2 -22/11

Число строк

1

1

2

2

1

1

2- 11

Структуре символе

Последователь-

Последователь-

(области)31

d1/#/d2/ 4d/rf/d3

di/K/d2/d4M/d3

41/Н/42

<11/№42

(d/cfc/rd

ностъ триплетов

ность триплетов

d4*W3

44*1/43

{даты*/ шаблон

(детые/ шаблон

поиске /овнше)

поиске /денные)

•41

СО


Параметры символики

Типы символов

GSl DataBar Всенаправленный

GSl OataBar Усеченный

GSl OataBar

Деуетрочный

GSl OataBar Двустроччмй всенаправленный

GSl ОавВаг Ограниченный

GSl OataBar Расширенный

GSl DataBar

Расширении# Много стро'ыый

Число элементов 6|

46

46

Верхняя

Верхняя

47

Переменное

Переменное

строка; 2$

строка: 25

Нижняя

Нижняя

строка' 26

строка: 26

Число модулей7*

96

96

Верхняя

Верхняя

79

Переменное

строка: 50

строка :50

Нижняя

Нижняя

строка; 50

строка: 50

Минимальная

высота символа

ЗЗХ

13Х

13Х

69 X

ЮХ

34Х

71Х (для 2 строк)

(5Х+1Х+7Х)

(ЗЗХ+ЗХ+ЗЗХ)

404Х (для 11

строк)

Максимальная

Не установлена

Не установлена

Не установлена

Не установлена

Не установлена

высота символа

ЗЗХ

13Х


Примечание 1 — Левый (или верхний ле еый) шаблон-ограгмчитель — лробел/штрих. правый шаблон-ограничитель — лробел/штрих. Следовательно, первый (крайний слева) элемент символа — ПРОБЕЛ.

Примечание 2 — Большинство форматов символов GS1 DataBar кодируют только обозначение предмета А1(01). Форматы символов GS1 DataBar Расширенный обеспечивают основную ндее-тификацню. например с идентификатором применения А1(01), AK8Q04) и строки элементов с прочими AI.

Примечание 2 — Форматы символов GS1 DataBar. за исключением символа GSl DataBar Расширены*. позволяют кодировать только 10 цифр. Форматы символов GS1 DataBar Расширежый допускают кодирование следующих знаков: 0 - 9. А - 2. а - г. 21 специальный графически;) знак, знак пумаувции и FCN1 (функциокальшй знак 1).

Примечание 4 — в разряде тдикатора символа GS1 DataBar Ограшчетый допускаются только цифры 0 и 1. Во всех остальных форматах символов GS1 DataBar разряд в зарезервирован для тары, содержащей смешанные предметы торговли.

Примечание Б — Область — это комбинация элементов со специальной функцией, например, шэблон-ограничителв. знак символа или шаблон поиска. Сокращения: 01 — первый зквк символа; И— лесый шаблон поиска: 02 — второй знак символа; 04 — четвертый знак символа; г!— правый шаблон поиска. 03 — третий знак символа: 10 — левый хек символа; сК — контрольный знак символа, го — правый знак символе. Все символы начинаются и закатиеаютея шаблоном-ограничителем.

Примечание 6 — Элементы — это штрихи «пробелы, каждый иэ которых состоит иэ определенного числа модулей.

Примечание 7 — Модуль — это ширьыа самско узкого штриха и самого узкого пробела, также называемая « размер X». Ширину символа также определяют в размерах X.

Примечание в— В соответствии с таблицей 13.


ГОСТ ISO/1EC 24724—2011


Сведения о системе GS1

GS1 — международная организация, управляющая системой кодирования идентификационных номеров, которая ранее находилась в ведении международных организаций EAN International и Uniform Code Council.

Система GS1 действует через сеть национальных и многонациональных агентств, называемых национальными организациями GS1. В наименовании национатьной организации после аббревиатуры GS1 следует наименование (обозначение) страны, например GS1 France или GS1 US. Идентификационные номера GS1 наиболее широко применяют для идентификации продукции, однако их можно использовать для идентификации других предметов в пределах существующих правил системы GS1.

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

Однако номера составлены так. что они позволяют осуществлять административный контроль системы и обеспечивают уникальность номеров в мировом масштабе.

Требования по применению приведены в (4] и предоставляются национальными организациями GS111. Адресные реквизиты головного офиса GS1:

GS1

Blue Tower Avenue Louise. 326 BE 1050 Brussels Belgium

Tet: *32 2 768 78 00

Наименования и адреса национальных организации GSt. действующих в странах—членах МГС. приведены в приложении ДБ.

Перечень национальных организаций GS1 в странах — членах МГС

На территории стран — членов Межгосударственного Совета по стандартизации, метрологии и сертификации на момент принятия настоящего стандарта действуют национальные организации GS1. сведения о которых приведены в таблице ДБ. 1.

Таблица ДБ.1 — Наименования и адреса национальных организаций GS1. действующих на территории стран — членов МГС

Краткое наименование страны по МК <МСО 3166) 004-97

Наименование национальной организации

Адрес, телефон, факс, e-mail, веб-сайт орюнизацим

международное {на английском языке)

на русском языке

Азербайджан

GS1 Azerbaijan

GS1 Азербайджан

AZ1010r. Баку.ул. Уз. Гаджибехоаа.41, офис 62 - 63. Тел. + 99412 4987405.

Факс: + 99412 4961058.

E-mail: web site:

Армения

GS1 Armenia

GS1 АРМЕНИЯ

0033 г. Ереван, гтр-т Баграмяна. 64/15. Тел. +374 10272 622.

Факс: +374 10 271 186.

E-mail: web site:

Беларусь

GS1 Belarus

Ассоциация автоматической идентификации ГС1 Бел.

2200ЭЗ т. Минск, ул. Судмалиса. 22. Телефакс: + 375 17 29809 13:

298 06 60:298 8952. E-mail: .  web site:

1 руэия

GS1 Georgia

GS1 I НУЗМИ

01/9 г. Юмлиси. пр-т чавчавадэе. ьи. Тел. + 995 32 29 47 24.

Факс: + 995 32 25 39 73.

E-mail: web site: httpJ/ 1ge-.org

Казахстан

GS1 Kazakstan

GS1 КАЗАХСТАН

г. Алматы, ул. Байэакова. 299. Тел. + 7 7272 479348: 473116. Факс: + 7 7272 4 74241: 75-59-32. E-mail: info@gs1 .kz web site: .kz

Кыргызстан

GS1 Kyrgyzstan

Ассоциация п редметной нумерации GS1 Кыргызстан

720064 г. Бишкек, ул. Ахунбаевэ. 42a. 3-й этаж. Тел. +996 312 51 08 25.

Факс: +996 312 51 29 14.

E-mail: info@gs1 kg.org web site:

Молдова

GS1 Moldova

Национальная Ассоциация Автоматической Идентифн нации GS1 МОЛДОВА

MD2009r. Кишинев, ул. M. Когалничану. 63. офис 52. Тел. + 373 22 24 5329.

Факс: + 373 22 24 1669 .

E-mail: web site:

Окончание таблицы ДБ. 1

Краткое

Наименование национальном организации

Ноименование страны no МК <ИСО 3!вв) 004-97

международное {на английском языке)

на русском языке

Адрес, телефон, факс, e-mail, ееб-сайт организации

Российская

Федерация

GS1 Russia

Ассоциация

автоматической

идентификации

«ЮНИСКАН/

ГС1 РУС»

119415 Москва, а/я 4.

Тел. ♦ 7 495 730 7103.

Факс: + 7 495 730 7105.

Е -mail: web site:

Таджикистан

GS1 Tajikistan

GS1 Таджикистан

734012 г. Душанбе, ул. Валаматзаде. 21. Тел.—

Факс: —

Е -mail: web site: —

Узбекистан

GS1 Uzbekistan

GS1УЗБЕКИСТАН

100047 г. Ташкент, ул. Бухара. 6. Тел. +998 71 236 71 31;

+998 71 236 78 28.

Факс: +998 71 236 79 46.

E-mail: web site:

Украина

GS1 Ukraine

Ассоциация

товарной

нумерации

Украины

«ДжиЭс! Украина»

04053 г: Киев. ул. Артема. 26. Тел. (380 44) 569 3281.

Факс: (380 44) 569 3279.

E-mail:

web site:


Примечания

1    В Туркменистане на момент принятия настоящего стандарта национальная организации GS1 отсутствовала.

2    На территории страны действует только одна национальная организация, указанная в настоящей таблице, официально представляющая международную организацию GS1.


Сведения о соответствии ссылочных международных стандартов межгосударственным стандартам

Сведения о соответствии ссылочных международных стандартов межгосударственным стандартам приведены в таблице ДВ.1.

Таблица ДВ.1 — Сведения о соответствии ссылочных международных стандартов межгосударственным стандартам

Обозначение ссылочного международного стандарта

Степень

соотеетстеея

Обозначение и наименование соответствующего межгосударственного стандарта

ISO/IEC 646

NEQ

ГОСТ 27463 — 87 « Системы обработки информации. 7-битные кодированные наборы символов»

ISO 4217

MOD

МК (ISO 4217) 003 «Межгосударственный классификатор валют»

ISO/IEC 15416

MOD

ГОСТ 30632—2002 (ISO/IEC 15416—2000) «Автоматическая идентификация. Кодирование штриховое. Линейные символы штрихового кода. Требования к испытаниям качества печати»

ISO/IEC 15417

MOD

ГОСТ 30743—2001 (ISO/IEC 15417—2000) «Автоматическая идентификация. Кодирование штриховое. Спецификация символики Code 128 (Код 128)»

ISO/IEC 15420

IDT

ГОСТ ISO/IEC 15420—2010 «Автоматическая идентификация. Кодирование штриховое. Спецификация символики штрихового кода EAN/UPC»

ISO/IEC 19762-1

в

ISO/IEC 19762-2

NEQ

ГОСТ 30721—2000 (ГОСТ Р 51294.3—99) / ГОСТ Р 51294.3—99 «Автоматическая идентификация. Кодирование штриховое. Термины и определения»

ISO/IEC 24723

в

•    Соответствующий межгосударственный стандарт отсутствует. Оригинал международного стандарта может быть предоставлен соответствующим национальным органом по стандартизации.

Пользователи Российской Федерации могут обратиться в Федеральный информационном фонд технических регламентов и стандартов (ФГУП «Стачдаргинформ»).

Примечание — В настоящей таблице использованы следующие условные обозначения степени соответствия стандартов:

- IDT — идентичные стандарты:

•    MOD — модифицированные стандарты:

•    NEO — неэквивалентные стандарты.

Библиография

(1] ISO/IEC 15419


{2] ISO/IEC 15424


(3] ISO/IEC 1541S


(4]    6S1 General

Specifications


Information technology — Automatic identification and data capture techniques—Barcode digital imaging and printing performance testing (Информационные технологии. Технологии автоматической идентификации и сбора данных. Эксплуатационные испытания при цифровом создании изображений и печати штрихового кода)

Information technology — Automatic identification and data capture techniques — Data Carrier Identifiers (including Symbology Identifiers)) (Информационные технологии. Технопогт автоматической идентификации и сбора данных. Идентификаторы носителей данных (включая идентификаторы символик))

Information technology—Automatic identification and data capture techniques — GS1 Application Identifiers and ASC MH10 Data Identifiers and maintenance (Информационные технологии. Технологии автоматической идентификации и сбора данных. Идентификаторы применения GS1 и идентификаторы данных ASC МН10 и порядок их ведения)

GS1, Brussels. Belgium (Общие спецификации GS1 (GS1. Брюссель. Бельгия))

УДК 681.5.015:621.3:006:354    МКС 01.080.50; 55.040    П85

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

Редактор 7! А. Леонова Технический редактор И. С. Гришанова Корректор Л. Я. Митрофанова Компьютерная верстка Т Ф. Кузнецовой

Сдано в набор 02.02.2012. Подписано в почат» 12.04.20t2. Формат &0хв4'/в. Бумага офсетная. Гарнитура Ариал. Почат» офсетная Уел. леч. л. 9.77. Уч.-над. п. 9.20. Тираж 124 эм. Зек 161

ФГУП «СТАНДАРТИНФОРМ*. 12399S Москаа. Гранатный пер.. 4.     

Набрано и отпечатано в Калужской типографии стандартов. 246021 Калуга, ул. Московская. 256.

При рассмотрении слева направо.

> Шаблон поиска выбирают по таблице 4.

‘ Идентификатор применения А/ (10) обозначает номер партии или пота.

2J Идентификатор применения Ai (3103) обозначает массу нетто е килограммах с тремя десятичными разрядами после запятой.

■ Обозначения е структуре яГГММДД»: ГГ — разряды десятков и единиц годэ (например, для 2009 — 09). ММ —порядковый номер месяца (например, для января — 01). ДО— порядковый номер дня в месяце (например, влюрой день — 02).

"WNU —ширина элемента. Еыи —весовой коэффициент элемента. N принимает значения от

дох:М — от 1 до В.

См. примечание к таблице D.1.

'* См. таблицу 1.

См. таблицу 2.

'* См таблицу 5.

* Значение data 1.

* Левый шаблон поиска.

4> Значение data 2.

s* Значение data 4.

** Правый шаблон поиска.

* Значение data 3. в* См. рисунок 2.

’* Си. таблицу 6.

2) Си. таблицу 7.

* По таблица 7.

"См. 7.2.5.1.

"См. 7.2.5.2.

"См. 7.2.5.3.

> См. 7.2.S.4 и 7.2.5.S.

См. таблицу 14.

31 В данном примере число знаков символа для банных с учетом контрольного знака равно 4.

См. таблицу в.