1) Размер р — измеренная ширина знака символа, е — измеренная ширина от края элемента до подобного края другого элемента, b — измеренная ширина штриха.
Продолжение таблицы 2
Значение символа |
Е 1 |
Е2 |
Е3 |
Е4 |
V |
Значение символа |
Е 1 |
Е2 |
Е3 |
Е4 |
V |
24 |
4 |
2 |
3 |
4 |
6 |
66 |
3 |
3 |
5 |
6 |
4 |
25 |
5 |
3 |
2 |
3 |
6 |
67 |
5 |
5 |
2 |
3 |
4 |
26 |
5 |
3 |
3 |
4 |
6 |
68 |
5 |
5 |
3 |
4 |
4 |
27 |
4 |
3 |
4 |
3 |
6 |
69 |
2 |
3 |
4 |
3 |
4 |
28 |
5 |
4 |
3 |
2 |
6 |
70 |
2 |
3 |
6 |
5 |
4 |
29 |
5 |
4 |
4 |
3 |
6 |
71 |
3 |
4 |
3 |
2 |
4 |
30 |
3 |
3 |
3 |
3 |
6 |
72 |
3 |
4 |
6 |
5 |
4 |
31 |
3 |
3 |
5 |
5 |
6 |
73 |
5 |
6 |
3 |
2 |
4 |
32 |
5 |
5 |
3 |
3 |
6 |
74 |
5 |
6 |
4 |
3 |
4 |
33 |
2 |
2 |
4 |
5 |
4 |
75 |
6 |
5 |
3 |
3 |
4 |
34 |
4 |
4 |
2 |
3 |
4 |
76 |
4 |
3 |
2 |
2 |
4 |
35 |
4 |
4 |
4 |
5 |
4 |
77 |
5 |
4 |
4 |
2 |
8 |
36 |
2 |
3 |
5 |
4 |
4 |
78 |
6 |
5 |
2 |
2 |
4 |
37 |
4 |
5 |
3 |
2 |
4 |
79 |
4 |
7 |
5 |
2 |
6 |
38 |
4 |
5 |
5 |
4 |
4 |
80 |
2 |
2 |
3 |
6 |
6 |
39 |
3 |
2 |
4 |
4 |
4 |
81 |
3 |
3 |
2 |
5 |
6 |
40 |
5 |
4 |
2 |
2 |
4 |
82 |
3 |
3 |
3 |
6 |
6 |
41 |
5 |
4 |
4 |
4 |
4 |
83 |
2 |
5 |
6 |
3 |
6 |
42 |
2 |
3 |
3 |
4 |
6 |
84 |
3 |
6 |
5 |
2 |
6 |
43 |
2 |
3 |
5 |
6 |
6 |
85 |
3 |
6 |
6 |
3 |
6 |
44 |
4 |
5 |
3 |
4 |
6 |
86 |
5 |
2 |
3 |
3 |
6 |
45 |
2 |
4 |
4 |
3 |
6 |
87 |
6 |
3 |
2 |
2 |
6 |
46 |
2 |
4 |
6 |
5 |
6 |
88 |
6 |
3 |
3 |
3 |
6 |
47 |
4 |
6 |
4 |
3 |
6 |
89 |
3 |
3 |
3 |
5 |
8 |
48 |
4 |
4 |
4 |
3 |
8 |
90 |
3 |
5 |
5 |
3 |
8 |
49 |
3 |
2 |
4 |
6 |
6 |
91 |
5 |
3 |
3 |
3 |
8 |
50 |
5 |
4 |
2 |
4 |
6 |
92 |
2 |
2 |
2 |
5 |
6 |
51 |
3 |
4 |
4 |
2 |
6 |
93 |
2 |
2 |
4 |
7 |
6 |
52 |
3 |
4 |
6 |
4 |
6 |
94 |
4 |
4 |
2 |
5 |
6 |
53 |
3 |
4 |
4 |
4 |
8 |
95 |
2 |
5 |
5 |
2 |
6 |
54 |
4 |
2 |
2 |
3 |
6 |
96 |
2 |
5 |
7 |
4 |
6 |
55 |
4 |
2 |
4 |
5 |
6 |
97 |
5 |
2 |
2 |
2 |
6 |
56 |
6 |
4 |
2 |
3 |
6 |
98 |
5 |
2 |
4 |
4 |
6 |
57 |
4 |
3 |
3 |
2 |
6 |
99 |
2 |
4 |
4 |
5 |
8 |
58 |
4 |
3 |
5 |
4 |
6 |
100 |
2 |
5 |
5 |
4 |
8 |
59 |
6 |
5 |
3 |
2 |
6 |
101 |
4 |
2 |
2 |
5 |
8 |
60 |
4 |
5 |
5 |
2 |
8 |
102 |
5 |
2 |
2 |
4 |
8 |
61 |
4 |
3 |
5 |
5 |
4 |
103 |
3 |
2 |
5 |
5 |
4 |
62 |
7 |
4 |
2 |
2 |
6 |
104 |
3 |
2 |
3 |
3 |
4 |
63 |
2 |
2 |
3 |
4 |
4 |
105 |
3 |
2 |
3 |
5 |
6 |
64 |
2 |
2 |
5 |
6 |
4 |
StopA |
5 |
6 |
4 |
2 |
6 |
65 |
3 |
3 |
2 |
3 |
4 |
StopB |
3 |
2 |
2 |
4 |
6 |
П р и м е ч а н и е — Значения StopA следует применять для декодирования в прямом направлении. Значения StopB применяют к шести крайним правым элементам знака Stop, при сканировании в обратном направлении.
Определяют значение V, обеспечивающее самоконтроль знака. Значение V содержится в таблице вместе с найденным знаком и должно быть равно сумме модулей в штрихах этого знака.
Проверяют соотношение
(V — 1,75) p / 11 (b 1 + b2 + bз) < (V + 1,75) p / 11.
B противном случае — знак содержит ошибку.
При вычислениях косвенно используют паритет знака для обнаружения всех ошибок декодирования, которые могут быть вызваны отдельными несистематическими ошибками по краям одного модуля.
При использовании указанных пяти этапов декодируют первый знак. Если первым знаком является знак Start, продолжают декодирование символа в нормальном прямом направлении, если это не знак Start, то он декодируется как знак Stop, и производится попытка декодирования всех последующих знаков в обратном направлении.
После того, как все знаки были декодированы, проверяют наличие действительных знаков Start и Stop и правильность контрольного знака символа.
Знаки символа переводят в соответствующие знаки данных из кодируемого набора А, В или С в соответствии со знаками Start, Code и Shift, используемыми в символе.
Кроме того, осуществляют иные вторичные проверки: свободных зон, ускорения луча, абсолютной синхронизации, размеров и т. д., которые считаются оправданными и соответствующими с учетом конкретного устройства считывания и планируемой среды применения.
П р и м е ч а н и е — В указанном алгоритме символ декодируется с использованием измерений «от края до подобного края» (е), а также дополнительного измерения совокупной ширины трех штрихов.
Качество символа
Общие положения
В международном стандарте [5] определена стандартизованная методология измерения и аттестации символов штрихового кода. Символы Code 128 следует оценивать в соответствии с указанным стандартом. Рекомендуемый алгоритм декодирования, приведенный в разделе 4.5 настоящего стандарта, для оценки параметров «декодирование» и «декодируемость» следует использовать после [5].
Декодируемость
Для вычисления декодируемости V применяют следующие правила, являющиеся дополнительными к указанным в [5]:
осуществляют подстановку V1 для V, в формуле V, = K / (S / 2 n),
где V — значение декодируемости для знака символа,
K — наименьшая абсолютная разность между измерением и порогом выбора,
S — общая ширина знака,
n — число модулей в знаке символа;
вычисляют V2
V _ 1,75 - (ABS ((Wb х 11 / S) - M))
V2 = 1,75 ,
где M — число темных модулей в знаке,
S — общая ширина знака,
Wb— совокупная ширина штрихов в знаке.
V — является меньшей из величин V1 и V2.
П р и м е ч а н и е — Следует обратить внимание, что знак Stop включает дополнительный завершающий штрих. При измерении декодируемости знак Stop должен быть проверен дважды, сначала с использованием шести крайних левых элементов, а затем шести правых элементов справа налево. Оба набора из шести элементов по ширине эквивалентны стандартному знаку.
4.6.3 Свободные зоны
В [5] предусмотрено, что в спецификации символики должны содержаться дополнительные критерии оценки. Для Code 128 минимальный размер свободной зоны установлен 10Z2. Обе свободные зоны (левая и правая в каждом профиле отражения при сканировании) должны быть измерены и оценены согласно [5] следующим образом:
свободная зона > 10 Z — класс 4,
свободная зона < 10 Z — класс 0
4.7 Параметры применения, определяемые пользователем
Параметры применения, определяемые пользователем, приведены в 4.7.1, 4.7.2 и приложении G.
Параметры символики и данных
Нормативные документы по применению должны учитывать следующие параметры:
выборка подмножества из кодируемого набора знаков при необходимости;
число знаков данных в символе, которое может быть постоянным, переменным или переменным в пределах установленного максимума;
должен ли использоваться контрольный знак данных (в дополнение к обязательному контрольному знаку символа) и если должен, то алгоритм его вычисления. Стандартное устройство считывания не должно проверять контрольный знак данных;
может или не может быть определено наименьшее значение размера X или диапазон значений размера X при условии, что соответствующий минимальный класс качества символа (с установленными измерительной апертурой и длиной волны излучения) определен;
наименьшая высота штриха;
наименьшая ширина свободной зоны более наименьшего значения 10X, если ожидаемые условия сканирования требуют этого, например сканирование считывающим карандашом символов с размером X ниже определенного значения;
рекомендуемое расширение набора знаков для использования со знаком FNC4.
Спецификация испытаний
Параметры оценки символов должны быть заданы определением класса качества согласно [5] в стандарте, устанавливающем требования по применению. Обозначение класса должно включать значение класса, измерительную апертуру и длину волны излучения, используемого при измерении.
ПРИМЕР
1,5 / 10 / 660, где 1,5 — полный класс качества символа;
10 — ссылочный номер измерительной апертуры (в настоящем примере диаметр 0,25 мм);
660 — длина волны в спектральном максимуме интенсивности отраженного излучения в нанометрах.
4.8 Передаваемые данные
Передаваемые данные от декодируемого символа Code 128 должны включать значения байтов знаков данных. Эти данные предваряются идентификатором символики, определенным в приложении С (при его использовании). Знаки Start и Stop, функциональные знаки, знаки Code и Shift, а также контрольный знак символа не должны содержаться в передаваемых данных.ПРИЛОЖЕНИЕ А
(обязательное)
Дополнительные свойства Code 128
А.1 Контрольный знак символа
Контрольный знак символа Code 128 рассчитывают следующим образом: