Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции ТЭИС.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
11.22 Mб
Скачать

3.3.Штриховое кодирование

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

Для формирования шрих-кодов различных форматов существует множество шрифтов. Наиболее распространенные форматы штрих-кодов приведены в приложении 1. Обычно шрифты штрих-кодов входят в комплект поставки программных продуктов таких как CorelDRAW. Здесь рассмотрим один из шрифтов, который в учебных заведениях может использоваться бесплатно. Данный шрифт разработан Chaos Microsystems Inc. (22-5330 Canotek RoadGloucester, ON, Canada K1J 9C3). Шрифт удовлетворяет требования к символике «ЕАН/ЮпиСи», определенным ГОСТ Р 51201-98, дата введения 01.01.1999.

Шрифт позволяет сформировать наиболее распространенный американский универсальный товарный код UPC и код в европейской системе кодирования EAN. Формирование может осуществляться вручную или через программное обеспечение.

Рассмотрим штрих-коды формата EAN. Коды EAN могут состоять из 13 (EAN-13) или 8 символов (EAN-8). Рассмотрим правила формирования штрих-кода в формате EAN-13 (см.рис.3.7).

Каждому виду изделия присваивается свой номер, состоящий из 13 цифр. Возьмем, к примеру, цифровой код: 5601721110013. Первые две цифры (56) означают страну происхождения (изготовителя или продавца) продукта. Коды стран сведены в приложении 2. Следующие пять (01721) - предприятие-изготовитель. Еще пять (11001) – код товара. Последняя цифра (3) - контрольная, используемая для проверки правильности считывания штрихов сканером.

Возможен также вариант, когда для кода страны-изготовителя отводится три знака, а для кода предприятия - четыре.

Нередко на товаре можно увидеть надпись, например: «Сделано в Голландии», а код, нанесенный на этикетку, этой стране не соответствует. Тут причин может быть несколько. Первая: фирма была зарегистрирована и получила код не в своей стране, а в той, куда направлен основной экспорт ее продукции. Вторая: товар был изготовлен на дочернем предприятии. Третья: возможно, товар был изготовлен в одной стране, но по лицензии фирмы из другой страны. И, наконец, четвертая, когда учредителями предприятия становятся несколько фирм из различных государств.

Пять символов, задающие код товара имеют следующий смысл:

1 – код наименования товара,

2 – код потребительских свойств,

3 – код размера, масса,

4 – код ингредиентов,

5 – код цвета.

Алгоритм расчета контрольного разряда ean

Для расчета контрольного разряда в EAN-8, EAN-13 и EAN-14 (ITF-14), включая и американские коды UPC-A и UPC-E, используется один и тот же алгоритм вычислений («по модулю 10»):

Пронумеровать все разряды справа налево (например, от 1 до 13 для EAN-13), начиная с позиции контрольного разряда (1-й).

ШАГ 1: Начиная со 2-го сложить значения всех ЧЕТНЫХ разрядов.

ШАГ 2: Полученную сумму умножить на 3.

ШАГ 3: Начиная с 3-го сложить значения всех НЕЧЕТНЫХ разрядов.

ШАГ 4: Сложить результаты, полученные во 2 и 3 шагах.

ШАГ 5: Значение контрольного разряда является наименьшим числом, которое в сумме с величиной, полученной в шаге 4, дает число, кратное 10.

Все недоразумения при расчетах возникают, как правило, по причине того, что многие неосознанно неправильно нумеруют разряды слева направо. При нумерации СПРАВА НАЛЕВО нет разницы в порядке расчета контрольного разряда С для 8, 12, 13 или 14-разрядного кода.

Рассмотрим пример расчета контрольного разряда С для кода 560172111001С (формат EAN-13).

Шаг 1. Сложить цифры, стоящие на четных местах: 6+1+2+1+0+1=11,

Шаг 2. Полученную сумму умножить на 3: 11*3=33,

Шаг 3. Сложить цифры, стоящие на нечетных местах, без контрольной цифры: 5+0+7+1+1+0=14,

Шаг 4. Сложить числа, полученные при выполнении 2 и 3 шагов: 33+14=47,

Шаг 5. Отбросить десятки: получим 7, из 10-7=3.

Итак, после расчета контрольного разряда получим код 5601721110013.

Если полученная после расчета цифра не совпадает с контрольной цифрой в штрих-коде, это значит, что товар произведен незаконно.

Теперь рассмотрим, как формировать графическое изображение штрих-кода в формате EAN-13 с помощью выбранного шрифта. В штрих-коде выделяют следующие составляющие (см. рис.3.8):

First Flag – графическое изображение первого левого символа,

Second Flag – графическое изображение второго левого символа,

Left Hand – графическое изображение пяти следующих левых символов (левая часть графического изображения штрих-кода),

CENTER – графическое изображение символа, разделяющего левую и правую часть графического изображения штрих-кода (центральный символ),

Right Hand – графическое изображение пяти правых символов (правая часть графического изображения штрих-кода),

Check character – графическое изображение самого правого символа (контрольного символа).

Для формирования графического изображения штрих кода используется таблица 3.2. Названия колонок таблицы соответствуют перечисленным составляющим штрих-кода. В каждой затемненной клетке таблицы с номером (i,j) содержится символ и в скобках его ASCII код. Если данный символ напечатать в выбранном штрих-кодовом шрифте, то его изображение будет соответствовать графическому изображению цифры i. Номер столбца таблицы - j выбирается в зависимости от того, в какую графическую составляющую входит цифра i.

Отметим, что в таблице содержится две колонки Left Hand: Left Hand A и Left Hand B. Кроме этого в таблице присутствует группа колонок Data Characters. В этой группе колонок содержится пятисимвольная маска, определяющая правила формирования левой части графического изображения штрих-кода. Графическое изображение текущего левого символа штрих-кода выбирается из колонки Left Hand A или Left Hand B в зависимости от того, чему равен (A или B) соответствующий символ маски. Маска определяется исходя из первого символа (First Flag) штрих-кода. Если первый символ i, то маска находится в i-ой строке таблицы 3.2.

Таблица 3.2

Данные для формирования графического изображения штрих кода

Символ штрих-кода

First Flag

Second Flag

Left Hand

A

Left Hand

B

Right Hand

Check character

Data Characters

1

2

3

4

5

Символ (код ASCII), определяющий графическое изображение символа штрих-кода

0

!(33)

` (96)

0 (48)

@(64)

P(80)

p(112)

A

A

A

A

A

1

«(34)

a(97)

1(49)

A(65)

Q(81)

q(113)

A

B

A

B

B

2

#(35)

b(98)

2(50)

B(66)

R(82)

r(114)

A

B

B

A

B

3

$(36)

c(99)

3(51)

C(67)

S(83)

s(115)

A

B

B

B

A

4

%(37)

d(100)

4(52)

D(68)

T(84)

t(116)

B

A

A

B

B

5

& (38)

e(101)

5(53)

E(69)

U(85)

u(117)

B

B

A

A

B

6

' (39)

f(102)

6(54)

F(70)

V(86)

v(118)

B

B

B

A

A

7

( (40)

g(103)

7(55)

G(71)

W(87)

w(119)

B

A

B

A

B

8

) (41)

h(104)

8 (56)

H(72)

X(88)

x(120)

B

A

B

B

A

9

*(42)

i(105)

9(57)

I(73)

Y(89)

y(121)

B

B

A

B

A

|(124) – CENTER

Рассмотрим подробнее правила формирования графического изображения штрих-кода. Пусть требуется получить графическое изображение штрих-кода 2001234567893.

Первый символ рассматриваемого штрих-кода равен 2. Графическое изображение 2 кодирует символ # (код ASCII 35). Маска в этом случае равна АВВАВ.

Второй символ равен 0. Графическое изображение 0 кодирует символ ` (код ASCII 96).

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

Так первый символ маски М равен А. Следовательно графическое изображение первого символа левой части, т.е. графическое изображение 0 кодирует символ 0 (код ASCII 48) взятый из соответствующей строки колонки Left Hand A.

Второй символ маски М равен В. Следовательно графическое изображение 1 (второго символа левой части) кодирует символ A (код ASCII 65) взятый из соответствующей строки колонки Left Hand B.

Аналогично получим, что графическое изображение 2 кодирует символ B(66), 3 – 3(51), 4 – D(68).

Итак, мы получили последовательность символов #`0AB3D, кодирующую First Flag, Second Flag и Left Hand части графического изображения рассматриваемого штрих-кода.

Далее включаем в эту последовательность символ, кодирующий графическое изображение разделителя CENTER. Это всегда символ | (код ASCII 124).

После этого переходим к кодированию правой части (Right Hand) графического изображения штрих-кода. Кодирование правой части в отличие от кодирования левой части не зависит от маски.

В рассматриваемом штрих-коде правая часть состоит из символов 56789. Графическое изображение 5 кодирует символ U(85), взятый из соответствующей строки колонки Right Hand.

Аналогично получим, что графическое изображение 6 кодирует символ V(86), 7 – W(87), 8 – X(88), 9 – Y(89).

В завершении кодируем контрольный символ (Check character). В рассматриваемом штрих-коде этот символ равен 3. Графическое изображение 3 кодирует символ s(115), взятый из соответствующей строки колонки Check character.

Итак графическое изображение штрих-кода 2001234567893 кодирует последовательность симолов #`0AB3D|UVWXYs. Само графическое изображение этого штрих-кода представлено на рис.3.9. Алгоритм формирования графического изображения штрих-кода представлен блок-схемой на рис.3.10.