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

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

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

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

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

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

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

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

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

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

  5. пятая область состоит из четырех штрихов и четырех пробелов общей шириной 17 модулей и соот­ветствует второму знаку символа со структурой (n,k) = (17,4);

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

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

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

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

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

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

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

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


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

Левый



шаблон-
ограничитель


Контрольный
знак
(17,4)


Шаблон
поиска
А1


1-й знак
символа
(17,4)


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


Шаблон поиска В1

5-й знак символа (17,4)


2-й знак символа (17,4)

Шаблон поиска В2

3-й знак символа (17,4)

4-й знак символа (17,4)

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


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

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

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

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

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

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

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

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

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

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

Диапазон значений

Груп- па

Сумма предыдущих групп $эим

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

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

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

Общее число комбинаций элементов четного поднабора 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 - (vODD х TEVEN) + vEVEN + GSUM,

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

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

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

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

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

''ODD - (Vs - Gsum) °'V TevEn!

''even “ (Vs - Gsum) mo° TEVEN.

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

Vodd = (3544 - 2948) div 104 = 596 div 104 = 5;
Veven = (3544 - 2948) mod 104 = 596 mod 104 = 76.

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

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

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

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

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

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

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

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

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

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

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

4

3

36

14

13

156

5

4

48

15

14

168

6

5

60

16

15

180

7

6

72

17

16

192

8


84

18

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



  1. Кодирование данных

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

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

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

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

  3. двоичное поле символа переменной длины (7.2.5.3);

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

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

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

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

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

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