Штрихкоды 

Штрихкоды

4.9

Все товары, продаваемые в супермаркетах, снабжаются штрихкодом, который несет информацию о стране, где произведен товар, о предприятии-производителе и собственно о товаре. На контроле эти штрихкоды считываются сканером, стоимость товаров автоматически находится в памяти магазинного компьютера и включается в счет покупателя. Это типичное применение технологии штрих-кодов, которая широко внедряется в промышленность и торговлю с целью отслеживания движения материальных ценностей и управления их учетом и хранением с минимальным участием персонала. Например, шифры ISBN, используемые для идентификации книг, в настоящее время в библиотеках определяются считывающими устройствами и служат для контроля выдачи книг во временное пользование по принятой в Великобритании схеме PLR (Public Lending Right).

Структура штрихкода показана на рис. 4.39. Он состоит из серии штрихов и пробелов, используемых для кодирования алфавитно-

Рис. 4.39. Структура штрихкода

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

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

Рис. 4.40. Распространенные штрихкоды

Система EAN (сокращение от European Article Number) ведет свое происхождение от более ранней американской версии UPC, или Universal Product Code. В обеих этих системах символы кодируются двумя штрихами и двумя пробелами, занимающими семь позиций. В этих системах могут быть представлены только цифровые данные. Для EAN и UPC характерен длинный поток данных, который может быть разбит на подмножества с помощью более широких сдвоенных штрихов. В супермаркетах Великобритании для кодирования товаров применяется система EAN с тремя группами цифр, обозначающими страну (5 для Великобритании, 3 для Франции и т. д.), фирму-производителя (например, 012427 для шотландской фирмы Baxter, выпускающей пакетированные супы) и собственно продукцию (например, 020108 для продукта Royal Game Soup). Система EAN также используется для маркировки книжной продукции кодом ISBN.

Система «чередование 2 из 5» используется также только для кодирования цифровых данных; символы в ней представляются парами, один штрихами и один пробелами. На каждый символ отводится пять позиций, две из которых являются широкими.

Количество данных, которые могут содержаться в линейном штрихкоде, определяется его длиной. Если необходимо закодировать большое количество данных, можно использовать двумерный штрихкод. Некоторые типы таких кодов приведены на рис. 4.41. С их помощью можно закодировать более 3 килобайт данных. Обычно на площади 50 х 50 мм можно разместить 1800 символов. Все эти коды снабжены специальными средствами обнаружения и коррекции ошибок.

Существуют два метода кодирования данных в двух измерениях. Первый из них, называемый многорядным кодированием, по сути, основан на выстраивании обычных линейных кодов в несколько рядов. Наиболее распространенными являются PDF-417 (широко используемый в автомобильной промышленности) и Code 16К. PDF-417 может иметь от 3 до 90 рядов, a Code 16К — до 16 рядов.

Во втором методе, матричном кодировании, используется матрица квадратов (например, система Data Matrix) или шестиугольников (например, Maxicode) для кодирования информации и некоторый способ позиционирования матрицы. На рис. 4.41 четко можно видеть окружности, используемые для этой цели в системе Maxicode.

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

Рис. 4.41. Примеры двумерных штрихкодов

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

Все системы кодирования оснащены эффективными средствами самоконтроля. Структура штрихкода имеет определенный формат, легко доступный для чтения и контроля машиной (например, соотношение 3/9 в системе Code 39). Кроме того, последняя цифра кода обычно является контрольной и образуется подобно методу циклического избыточного кода, который рассматривается в разд. Контроль ошибок.

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

Отражение может быть направленным (как от зеркала) или рассеянным (как от листа бумаги). Считывающие устройства работают исключительно с рассеянным отражением. Систему считывания штрихкода можно представить в виде рис. 4.42. Луч света не должен пересекать штрихкод под углом 90°, как можно было бы предположить, так как в этом случае отраженный луч мог бы «ослепить» приемник. Обычно сканирование производится под углами от 60° до 80°.

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

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

Рис. 4.42. Принцип действия устройства для считывания штрихкода

Считывающее устройство, находящееся на определенном расстоянии от штрихкода, будет иметь фиксированную длину прохода при сканировании. На рис. 4.43 приведен пример, когда считывающее устройство с длиной прохода 20 см и временем сканирования 5 мс (200 проходов в секунду) используется для чтения штрихкода размером 16x8 см. Штрихкод перемещается в горизонтальном направлении со скоростью 65 см/с. При лестничной ориентации он будет оставаться в поле просмотра в течение 8/65 = 0.123 с, что позволит произвести 24 операции считывания (на каждую затрачивается 5 мс). При ориентации штрихкода в виде частокола он успеет пройти только 4 см, оставаясь полностью в поле просмотра, и аналогичные вычисления показывают, что за это время считывание будет произведено только 12 раз. Вероятность получения пяти (см. выше) одинаковых результатов при чтении штрихкода увеличивается с ростом числа просмотров, поэтому в данном примере лестничная ориентация является предпочтительной.

Надежность системы считывания штрихкода оценивается по частоте первого чтения (FRR — first read rate), показывающей, сколько раз первый же проход дает правильный результат. FRR определяет, сколько должно быть получено одинаковых результатов, прежде чем считывание будет признано правильным. Типичным значением FRR считается 90%, при котором требуется от 3 до 5 идентичных результатов. При работе системы считывания можно принять меньшее значение FRR, если увеличить требуемое количество идентичных результатов.

Рис. 4.43. Оценка времени считывания штрихкода при различных его ориентациях

В производственных системах, где необходима идентификация изделий, устройства считывания штрихкода обычно управляются ПЛК. Например, в семействе ПЛК Allen Bradley считывающие устройства могут быть непосредственно подключены к стойке ПЛК через соответствующую плату интерфейса. Здесь используется поблочная передача чтения/записи (см. разд. Аналоговые входные платы) для настройки считывающего устройства, запуска процедуры чтения и получения информации, содержащейся в штрихкоде, которым маркировано изделие. Данный раздел основан на материале, предоставленном компанией Allen Bradley.