Универсальный код продукта - Universal Product Code

Штрих-код UPC

В Универсальный код продукта (UPC; избыточно: UPC code) - это символика штрих-кода который широко используется в США, Канаде, Европе, Австралии, Новой Зеландии и других странах для отслеживания предметы торговли в магазинах.

UPC (технически относится к UPC-A) состоит из 12 цифровых цифр, которые однозначно присваиваются каждой торговой единице. Наряду с соответствующими EAN штрих-код, UPC - это штрих-код, который в основном используется для сканирования предметов торговли на торговая точка, на GS1 технические характеристики.[1] Структуры данных UPC являются составной частью GTIN и следуйте глобальной спецификации GS1, которая основана на международных стандартах. Но некоторые розничные продавцы (одежда, мебель) не используют систему GS1 (скорее, другие символы штрих-кода или системы номеров товаров). С другой стороны, некоторые розничные торговцы используют символы штрих-кода EAN / UPC, но без использования GTIN (только для продуктов, продаваемых в их собственных магазинах).

1-310-592-1682

Уоллес Флинт в 1932 году предложил автоматизированную систему кассы, используя перфокарты. Бернард Сильвер и Норман Джозеф Вудленд, аспирант из Технологический институт Дрекселя (ныне Университет Дрекселя), разработал код в стиле яблочка и подал заявку на патент в 1949 году.[2][3]

В 1960-х и начале 1970-х гг. железные дороги в Северной Америке экспериментировали с разноцветные штрих-коды для отслеживания вагоны, но со временем от этой системы отказались[4] и заменен системой на основе радио под названием Автоматическая идентификация оборудования (AEI).

В 1973 году группа торговых ассоциаций из продуктовой индустрии сформировала Совет по унифицированному кодексу продукции (UPCC), которая с помощью консультантов Ларри Рассела и Тома Уилсона из McKinsey & Company, определил числовой формат, который лег в основу Единого кода продукта.[5] Технологические фирмы, включая Charegon, IBM, Литтон-Зеллвегер, Питни Боуз-Альпекс, Плесси-Анкер, RCA, Scanner Inc., Singer и Dymo Industries / Data General, выдвинуть совету альтернативные предложения по представлению символов.[нужна цитата ] Комитет по отбору символов, наконец, решил реализовать предложение IBM, разработанное Джордж Дж. Лаурер, но с небольшим изменением шрифта в удобочитаемой области.[нужна цитата ]

Первым товаром с UPC-маркировкой, который когда-либо сканировали на кассе, была упаковка из 10 штук (50 палочек) Ригли Сочные фрукты жевательная резинка, приобретенная в Супермаркет Марш в Трой, Огайо, в 8:01 26 июня 1974 года.[6] В NCR касса прибавила 67 центов.[7] В тележке для покупок были и другие товары со штрих-кодом, но жвачка была первой, которую забрали на кассе. Пакет жевательной резинки был выставлен на обозрение в Смитсоновский институт с Музей американской истории в Вашингтон.[8]

Предложение IBM

Примерно в конце 1969 г. Парк Исследований Треугольника (RTP) в Северной Каролине назначен Джордж Лаурер определить, как сделать сканер и этикетку для супермаркета. В конце 1970 года Херд Баумейстер представил уравнения для расчета символов на дюйм, достижимых двумя штрих-кодами IBM, Delta A и Delta B. В феврале 1971 года Баумейстер присоединился к Laurer.

В середине 1971 года Уильям «Билл» Крауз изобрел новый штрих-код под названием Delta C.[3]Он обеспечивает в четыре раза больше символов на дюйм, чем Дельта B. Дельта В сравнивает ширину полосы с шириной пробела и битами кода. Это было чрезвычайно чувствительно к растеканию чернил, когда слишком много чернил или давление приводили к растеканию обоих краев полосы наружу, а слишком мало - к их усадке. Что еще хуже, так как промежутки между решетками сжимаются и наоборот. Delta C добилась более высокой производительности, используя только ведущие или задние кромки, на которые не влияло равномерное распределение чернил. Код обеспечивает лучшую производительность, когда он имеет определенный набор символов с фиксированным опорным расстоянием, охватывающим большую часть или предпочтительно весь символ. В августе 1971 года Кроуз присоединился к разработке сканеров. Через несколько месяцев они не достигли прогресса. Им было известно о метке RCA «бычий глаз», которую можно было сканировать с помощью простого прямолинейного лазерного сканера, но читаемая этикетка была слишком большой. Хотя Litton Industries предложила разрезать символ «бычий глаз» пополам, чтобы уменьшить площадь, он все еще был слишком большим и создавал те же проблемы печати мазков чернил, что и символ RCA. Полностью убрали избыточность и возможность проверки. Им также было известно о многих предложениях со всего мира, ни одно из которых не было осуществимо.

Этикетка UPC с общей характеристикой предложений Baumeister

Весной 1972 года Баумейстер объявил о прорыве. Он предложил этикетку с полосами, которые были немного длиннее, чем расстояние по всем полосам, которое необходимо было прочитать за один проход. Эту этикетку можно было сканировать с помощью простого X-сканера, лишь немного более сложного, чем прямой лазерный сканер. На следующий день Баумейстер предположил, что, если этикетку разделить на две половины, длину полосы можно будет сократить почти вдвое. Эти два предложения уменьшили зону попадания в цель на треть, а затем на одну шестую. Изображение справа показывает этикетку, предложенную Баумейстером. Он не стал указывать какой-либо конкретный штрих-код, поскольку это было хорошо понятно. За исключением штрих-кодирования и десятизначного знака UPC, сегодня его предложение. Вскоре после этого Баумейстер перешел в другое направление RTP.

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

Первая попытка Лаурера со штрих-кодом использовала Delta B. Получившийся размер этикетки был примерно шесть на три дюйма, что было слишком большим. Крауз предложил Лауреру использовать его штрих-код Delta C и предоставил копию своего патента, в котором был образец набора буквенно-цифровых символов и правил для создания алфавитов другого размера. Это уменьшило размер этикетки примерно до 1,5 x 0,9 дюйма. Позже Лаурер попросил Крауса помочь в том, как сканер обнаруживает этикетку. Вместе они определили защитные полосы и определение того, как определять этикетку. Защитные планки также обеспечивали идентификацию для распознавания половинной метки и обучающие планки для пороговых схем сканера. У Лаурера было полное определение лейбла, и он приступил к написанию своего предложения.[9]

Ранее Кроуз придумал простую палочку, которую носили как кольцо и браслет. Он решил разработать эту палочку, чтобы продемонстрировать этикетку.[нужна цитата ]

1 декабря 1972 года IBM представила предложение Лаурера Комитету по супермаркетам в Рочестер, Миннесота, место, где IBM разработала сканер. Во время презентации Крауз провел лабораторную демонстрацию, где он читал UPC-подобные этикетки своей кольцевой палочкой. Помимо чтения обычных этикеток, он читал большую двухстраничную этикетку в буклете предложения. Затем он перешел на страницу с фотографией помеченных предметов, стоящих на столе. Этикетки были маленькими и дефектными из-за разрешения напечатанной фотографии, но палочка считывала многие из них. Эта демонстрация показала надежность чистого кода Delta C. Предложение было принято.

Через месяц, 1 января 1973 года, Крауз вернулся в группу IBM Advanced Technology, а Лаурер остался с полной ответственностью за лейбл.

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

Было решено, что две половины этикетки должны иметь разный набор цифровых символов. Набор символов Laurer, полученный из патента Delta C, использовал семь печатаемых приращений или единиц, где должны были быть напечатаны две полосы и два пробела. Это дало двадцать комбинаций символов, но было две пары, которые при чтении по правилам Delta C давали один и тот же код для пары. Поскольку восемнадцати символов было недостаточно, Лаурер попытался добавить одну единицу к набору символов. Это дало двадцать шесть символов Delta C, которые могли предоставить два набора десятичных символов, но это также добавило четырнадцать процентов к ширине метки и, следовательно, к высоте. Это будет 30-процентное увеличение площади или метка 1,7 "x1,03". Лаурер считал это неприемлемым. Он вернулся к исходному набору символов с двадцатью символами, но четыре из них были двумя парами с одинаковым чтением Delta C. Он решил использовать их все. Чтобы различать пары, он измерял ширину одной полосы в каждой из пар, чтобы отличить их друг от друга. Для каждой пары эти полоски будут шириной в одну или две единицы. Лаурер не применял уравнения Баумейстера к этому множеству. Он чувствовал, что всего лишь одно измерение ширины штанги не будет слишком серьезным. Как оказалось, для увеличения площади более чем вдвое потребовалось бы увеличение ширины и высоты более чем на пятьдесят процентов. Позже Лаурер признал, что эти четыре символа в каждом наборе ответственны за большинство ошибок чтения сканера.

Дэвиду Савиру, математику, было поручено доказать, что символ можно напечатать и он будет соответствовать требованиям надежности, и, скорее всего, он не знал об уравнениях Баумейстера. Он и Лаурер добавили еще две цифры к десяти для исправление и обнаружение ошибок. Затем они решили добавить четность / нечетность к количеству единиц, заполненных полосами с каждой стороны. Контроль четности / нечетности - это метод, используемый для обнаружения любого нечетного числа битовых ошибок в битовом потоке. Они решили использовать нечетное на одной половине и четное на другой. Это дало бы дополнительную информацию о том, какая половина билета читается. Это означало, что каждая полоса должна считываться точно, чтобы обеспечить хорошее считывание. Это также означало, что каждое пространство также будет известно. Требование точного чтения каждой разрядности в основном сводило на нет преимущество Delta C, за исключением эталонного измерения Delta C. Только странный набор символов и размер метки остаются тенью кода Delta C. Размер по-прежнему оставался рассчитанным для чистой Delta C. Если бы размер этикетки был правильно пересчитан с учетом необходимых измерений ширины полосы, этикетка была бы слишком большой, чтобы быть приемлемой.

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

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

Тип ярлыкаРазмеры этикеткиПлощадь
Бычий глаз с азбукой МорзеБольшойБольшой
Бычий глаз с Delta BДиаметр 12,0 дюймов (300 мм)113.10 дюйм2 (729,7 см2)
Бычий глаз с дельтой АДиаметр 9,0 дюйма (230 мм)63,62 дюйма2 (410,5 см2)
Баумейстер 1-й с Дельтой B6,0 дюйма × 5,8 дюйма (150 мм × 150 мм)34,80 дюйма2 (224,5 см2)
Баумейстер 2 тайма с Дельтой В6,0 дюйма × 3,0 дюйма (152 мм × 76 мм)18.00 в2 (116,1 см2)
Баумейстер 2 тайма с Дельтой А4,5 дюйма × 2,3 дюйма (114 мм × 58 мм)10,35 дюйма2 (66,8 см2)
Баумейстер с Delta C1,5 дюйма × 0,9 дюйма (38 мм × 23 мм)1,35 дюйма2 (8,7 см2)

Это предполагает наличие такой же информации и надежной читабельности.

Сочинение

Каждый штрих-код UPC-A состоит из сканируемой полосы черных полос и пробелов над последовательностью из 12 цифровых цифр. Нет письма, символы или другое содержимое любого рода может появиться на штрих-коде UPC-A. Между 12-значным числом и полосой черных полос и пробелов существует взаимно однозначное соответствие, то есть существует только один способ визуально представить каждое 12-значное число и есть только один способ представить каждую полосу черных полос. и пробелы в цифрах.

Сканируемая область каждого штрих-кода UPC-A соответствует шаблону S.LLLLLLMRRRRRрE, где S (начало), M (середина) и E (конец) защитные шаблоны представлены одинаково на каждом штрих-коде UPC-A, а секции L (слева) и R (справа) вместе представляют 12 числовых цифр, которые сделать каждый UPC-A уникальным. Первая цифра L указывает конкретную систему счисления, которая будет использоваться для следующих цифр. Последняя цифра р является обнаружение ошибок контрольная цифра, что позволяет обнаруживать некоторые ошибки при сканировании или вводе вручную. Охранные шаблоны разделяют две группы по шесть цифр и устанавливают время.

UPC-AUPC-E
UPC-A.pngUPC-E.png

Примечание. UPC-A 042100005264 эквивалентен UPC-E 425261 с шаблоном четности «EOEEOO», который определяется системой счисления 0 UPC-A и контрольной цифрой 4 UPC-A.

Форматирование

Штрих-коды UPC-A могут быть напечатаны с разной плотностью для соответствия различным процессам печати и сканирования. Существенный размерный параметр называется x-размерностью (ширина одиночного элемента модуля). Ширина каждой полосы (пробела) определяется путем умножения размера по оси x и ширины модуля (1, 2, 3 или 4 единицы) каждой полосы (пробела). Поскольку каждый защитный узор состоит из двух полосок, а каждая из 12 цифр штрих-кода UPC-A состоит из двух полосок и двух пробелов, все штрих-коды UPC-A состоят ровно из (3 × 2) + (12 × 2) = 30 столбцы, из которых 6 представляют собой защитные шаблоны, а 24 - числовые цифры.

Размер x для UPC-A при номинальном размере составляет 0,33 мм (0,013 дюйма). Номинальная высота символа для UPC-A составляет 25,9 мм (1,02 дюйма). Полосы, образующие защитные узоры S (начало), M (середина) и E (конец), расширяются вниз в 5-кратном размере по оси x, в результате чего номинальная высота символа составляет 27,55 мм (1,08 дюйма). Это также относится к полосы первой и последней числовой цифры штрих-кода UPC-A. UPC-A может быть уменьшен или увеличен от 80% до 200%.

На каждой стороне сканируемой области штрих-кода UPC-A должна присутствовать тихая зона, ширина которой не менее 9 раз превышает размер x.[10][11] Для номера GTIN-12, закодированного в штрих-коде UPC-A, первая и последняя цифры номера удобочитаемая интерпретация всегда помещаются за пределами символа для обозначения тихих зон, которые необходимы для правильной работы сканеров штрих-кода UPC.

Кодирование

Штрих-код UPC-A визуально представлен полосами штрихов и пробелов, которые кодируют 12-значное число UPC-A. Каждая цифра представлена ​​уникальным рисунком из 2 полосок и 2 пробелов. Полосы и пробелы имеют переменную ширину, то есть ширину 1, 2, 3 или 4 модуля. Общая ширина цифры всегда составляет 7 модулей; следовательно, для 12-значного номера UPC-A требуется всего 7 × 12 = 84 модуля.

Полный UPC-A имеет ширину 95 модулей: 84 модуля для цифр (секции L и R) в сочетании с 11 модулями для шаблонов защиты S (начало), M (середина) и E (конец). Шаблоны защиты S (начало) и E (конец) имеют ширину 3 модуля и используют шаблон бар-пробел, где каждая полоса и пробел имеют ширину в один модуль. Рисунок защиты M (средний) имеет ширину 5 модулей и использует рисунок пробел-пробел-пробел-пробел, где каждая полоса и пробел также имеют ширину в один модуль. Кроме того, для символа UPC-A требуется тихая зона (дополнительное пространство шириной 9 модулей) перед S (начало) и после шаблона защиты E (конец).

Таблица кодирования штрих-кода UPC-A SLLLLLLMRRRRRрE
Тихий
зона
S
(Начните)
L
(левая цифра)
M
(в середине)
р
(правая цифра)
E
(конец)
Тихий
зона
01234567890123456789
UPC-A Q.svgUPC-A S.svgUPC-A L0.svgUPC-A L1.svgUPC-A L2.svgUPC-A L3.svgUPC-A L4.svgUPC-A L5.svgUPC-A L6.svgUPC-A L7.svgUPC-A L8.svgUPC-A L9.svgUPC-A M.svgUPC-A R0.svgUPC-A R1.svgUPC-A R2.svgUPC-A R3.svgUPC-A R4.svgUPC-A R5.svgUPC-A R6.svgUPC-A R7.svgUPC-A R8.svgUPC-A R9.svgUPC-A S.svgUPC-A Q.svg

Цифры левой стороны UPC-A (цифры слева от защитного шаблона M (среднего)) имеют нечетную четность, что означает, что общая ширина черных полос представляет собой нечетное количество модулей. Напротив, цифры в правой части имеют четность. Следовательно, сканер UPC может определить, сканирует ли он символ слева направо или справа налево (символ перевернут). Увидев рисунок охранника S (начало) или E (конец) (они одинаковы, бар-пробел, в каком бы направлении они ни читались), сканер сначала увидит нечетные цифры четности при сканировании слева направо или четные цифры при сканировании справа налево. Обладая информацией о четности / направлении, перевернутый символ не запутает сканер. Столкнувшись с перевернутым символом, сканер может просто проигнорировать его (многие сканеры чередуют сканирование слева направо и справа налево, поэтому они будут читать символ при следующем проходе) или распознают цифры и помещают их. в правильном порядке. В кодировке цифр есть еще одно свойство. Цифры в правой части являются оптически инверсией цифр в левой части, то есть черные полосы превращаются в белые пробелы и наоборот. Например, левая часть «4» - это пробел × 1 - полоса × 1 - пробел × 3 - полоска × 2, при этом правая часть "4" равна бар × 1 - пробел × 1 - бар × 3 - пробел × 2.

Нумерация

Количество штрих-кодов UPC-A и UPC-E ограничено стандартами, используемыми для их создания.

UPC-A: (10 возможных значений на левую цифру ^ 6 левых цифр) × (10 возможных значений на правую цифру ^ 5 правых цифр) = 100000000000.
UPC-E: (10 возможных значений на цифру ^ 6 цифр) × (2 возможных шаблона четности на номер UPC-E) = 2 000 000.

Цифра системы счисления

Ниже приводится описание всех возможных систем счисления с соответствующей 12-значной схемой нумерации UPC-A. LLLLLLRRRRRр, где L обозначает цифру системы счисления и р контрольная цифра.

0–1, 6–9
Для большинства продуктов. Цифры LLLLL - это код производителя (назначается местным GS1 организации), а цифры RRRRR - это код продукта.
2
Зарезервировано для местного использования (магазин / склад) для товаров, продаваемых с переменным весом. Позиции с переменным весом, такие как мясо, свежие фрукты или овощи, получают в магазине номер позиции, если они там упакованы. В этом случае LLLLL - это номер позиции, а RRRRR - это либо вес, либо цена, причем первый R определяет, какой (0 для веса).
3
Наркотики Национальный кодекс по наркотикам (НДЦ) номер. Фармацевтические компании в США используют 10 средних цифр UPC в качестве своего номера NDC. Хотя обычно только лекарства, отпускаемые без рецепта сканируются в точках продаж, UPC на основе NDC используются на упаковках рецептурных лекарств и хирургических продуктах и ​​в этом случае обычно называются кодами UPN.[12]
4
Зарезервировано для местного использования (магазин / склад), часто для карты лояльности или купоны магазина.
5
купоны. Цифры LLLLL - это код производителя, первые три RRR - это семейный код (установленный производителем), а следующие два RRR - это код купона, который определяет размер скидки. Эти купоны можно удвоить или утроить[требуется разъяснение ].

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

UPC включает контрольную цифру для обнаружения типичных ошибок ввода данных. Например, коды UPC-A выбирают контрольную цифру чтобы удовлетворить уравнение контрольной цифры:

Если введенный код не удовлетворяет уравнению, то это недействительный код UPC-A.

Контрольная цифра UPC-A может быть рассчитана следующим образом:

  1. Суммируйте цифры в странный пронумерованные позиции (первая, третья, пятая, ..., одиннадцатая).
  2. Умножьте результат на 3.
  3. Сложите сумму цифр в даже - пронумерованные позиции (вторая, четвертая, шестая, ..., десятая) к результату.
  4. Найдите результат по модулю 10 (т.е. остаток при делении на 10) и назовем его M.
  5. Если M равен нулю, тогда контрольная цифра равна 0; в противном случае контрольная цифра 10 − M.

Например, в штрих-коде UPC-A "03600029145Икс12", где Икс12 неизвестная контрольная цифра, Икс12 можно рассчитать по:

  1. Суммируйте нечетные цифры (0 + 6 + 0 + 2 + 1 + 5 = 14).
  2. Умножьте результат на 3 (14 × 3 = 42).
  3. Сложите четные цифры (42 + (3 + 0 + 0 + 9 + 4) = 58).
  4. Найдите результат по модулю 10 (58 mod 10 = 8 = M).
  5. Если M не 0, вычесть M от 10 (10 − M = 10 − 8 = 2).

Таким образом, контрольная цифра Икс12 равно 2.

Уравнение контрольной цифры выбрано так, чтобы иметь разумные свойства обнаружения ошибок (см. Алгоритм Луна ).

  • UPC-A может обнаруживать 100% однозначных ошибок.
    Ошибка в одной цифре означает, что неверна ровно одна цифра. Пусть по модулю 10 разность ошибочной и правильной цифр равна d. Значение d не может быть нулем, потому что это означает, что цифры одинаковые, но d может быть любым другим значением в {1, 2, 3, 4, 5, 6, 7, 8, 9}. Если цифра ошибки находится в нечетной позиции (вес 1), левая часть уравнения контрольной цифры изменяется на d и эквивалентность больше не равна нулю. Если цифра ошибки находится в четном положении (вес 3), то левая часть изменяется на 3d, но это изменение также отличное от нуля по модулю 10, поэтому уравнение контрольной цифры не выполняется.
  • UPC-A может обнаруживать около 89% ошибок транспонирования. В частности, если и только если разница между двумя соседними цифрами равна 5, UPC-A не может обнаружить их перестановку.
    1. Если переставить 2 соседние цифры, то одна из цифр а будет взвешен на 1, а другая цифра б = а + d будет взвешен на 3, где d это разница между двумя цифрами. Если бы цифры были в правильном порядке, они бы вносили свой вклад
      слева от уравнения контрольной цифры. В транспонированном порядке они вносят вклад
      .
      в LHS. Вычитание двух вкладов дает, насколько они изменяют LHS:
      Ошибка будет обнаружена, пока модульное изменение не равно нулю; если 2д ≡ 0 по модулю 10, то изменение не будет обнаружено. Следовательно, только тогда, когда различие символов d ≡ 5 ошибка не будет обнаружена (когда d ≡ 0 вырожденная «перестановка» не является ошибкой).
    2. Затем посчитайте, как часто транспозиция имеет расстояние d из 5.
Здесь Таблица d-транспозиций для штрих-кодов UPC-A, где
Таблица d-транспозиции для штрих-кодов UPC-A
d
0123456789
10 00 10 20 30 40 50 60 70 80 9
21 11 21 31 41 51 61 71 81 9
32 22 32 42 52 62 72 82 9
43 33 43 53 63 73 83 9
54 44 54 64 74 84 9
65 55 65 75 85 9
76 66 76 86 9
87 77 87 9
98 88 9
109 9
Сумма1018161412108642
Ряд Сумма содержит количество d-транспозиции, поэтому доля необнаруживаемых ошибок транспонирования составляет (игнорируя транспозиции, где d = 0):

Вариации

Технически UPC в его наиболее распространенном использовании относится к UPC-A.

Существуют и другие варианты UPC:

  • UPC-B - это 12-значная версия UPC без контрольной цифры, разработанная для Национальный кодекс лекарственных средств (NDC) и Национальный кодекс товаров, связанных со здоровьем.[13][неудачная проверка ] Он состоит из 11 цифр и 1 цифры кода продукта и редко используется.[14]
  • UPC-C - это 12-значный код с кодом продукта и контрольной цифрой; не в общем пользовании.[14]
  • UPC-D - это код переменной длины (12 или более цифр), где 12-я цифра является контрольной цифрой. Эти версии не используются повсеместно.
  • UPC-E - это 6-значный код, который имеет эквивалент в 12-значном коде UPC-A с системой счисления 0 или 1.
  • UPC-2 представляет собой двузначное дополнение к UPC, используемое для обозначения выпуска журнала или периодического издания.
  • UPC-5 - это 5-значное дополнение к UPC, используемое для обозначения рекомендованной розничной цены на книги.

Поскольку UPC становится технологически устаревшим, ожидается, что[кем? ] что UPC-B и UPC-C исчезнут из общего использования к 2010-м годам. Стандарт UPC-D может быть изменен на EAN 2.0 или полностью отменен.[нужна цитата ]

UPC-E

Чтобы разрешить использование штрих-кодов UPC на небольших упаковках, где полный 12-значный штрих-код может не поместиться, была разработана версия UPC с подавлением нуля, названная UPC-E, в которой цифра системы счисления, все нули код производителя и все ведущие нули в коде продукта опускаются (опускаются).[15] Эта символика отличается от UPC-A тем, что в ней используется только 6-значный код, не используется защитный образец M (средний), а защитный образец E (конец) формируется как пробел-пробел-пробел-бар, то есть штрих-код UPC-E следует шаблону SDDDDDDE. Способ, которым 6-значный UPC-E соотносится с 12-значным UPC-A, определяется числовым шаблоном UPC-E и шаблоном четности UPC-E. Он может соответствовать только системе счисления 0 или 1 UPC-A, значение которой вместе с контрольной цифрой UPC-A определяет шаблон четности кодирования UPC-E. Если цифры кода производителя представлены знаком X, а цифры кода продукта - буквами N, тогда:

Последняя цифра UPC-EЦифровой шаблон UPC-EЭквивалент UPC-A
0XXNNN00 или 1 + XX000-00NNN + контрольная цифра
1XXNNN10 или 1 + XX100-00NNN + контрольная цифра
2XXNNN20 или 1 + XX200-00NNN + контрольная цифра
3XXXNN30 или 1 + XXX00-000NN + контрольная цифра
4XXXXN40 или 1 + XXXX0-0000N + контрольная цифра
5XXXXX50 или 1 + XXXXX-00005 + контрольная цифра
6XXXXX60 или 1 + XXXXX-00006 + контрольная цифра
7XXXXX70 или 1 + XXXXX-00007 + контрольная цифра
8XXXXX80 или 1 + XXXXX-00008 + контрольная цифра
9XXXXX90 или 1 + XXXXX-00009 + контрольная цифра

Например, UPC-E 654321 может соответствовать UPC-A 065100004327 или 165100004324, в зависимости от шаблона четности UPC-E закодированных цифр, как описано ниже:

UPC-A
контрольная цифра
Шаблон четности UPC-E для UPC-A

система счисления 0

Шаблон четности UPC-E для UPC-A

система счисления 1

0EEEOOOОООЭЭ
1EEOEOOOOEOEE
2EEOOEOOOEEOE
3EEOOOEOOEEEO
4EOEEOOOEOOEE
5EOOEEOOEEOOE
6EOOOEEOEEEOO
7EOEOEOOEOEOE
8EOEOOEOEOEEO
9EOOEOEOEEOEO
Таблица кодирования штрих-кода UPC-E SDDDDDDE
S
(Начните)
О
(цифра нечетной четности)
E
(четная цифра)
E
(конец)
01234567890123456789
UPC-E S.svgUPC-E 0ow.svg
3-2-1-1
UPC-E 1ow.svg
2-2-2-1
UPC-E 2ow.svg
2-1-2-2
UPC-E 3ow.svg
1-4-1-1
UPC-E 4ow.svg
1-1-3-2
UPC-E 5ow.svg
1-2-3-1
UPC-E 6ow.svg
1-1-1-4
UPC-E 7ow.svg
1-3-1-2
UPC-E 8ow.svg
1-2-1-3
UPC-E 9ow.svg
3-1-1-2
UPC-E 0ew.svg
1-1-2-3
UPC-E 1ew.svg
1-2-2-2
UPC-E 2ew.svg
2-2-1-2
UPC-E 3ew.svg
1-1-4-1
UPC-E 4ew.svg
2-3-1-1
UPC-E 5ew.svg
1-3-2-1
UPC-E 6ew.svg
4-1-1-1
UPC-E 7ew.svg
2-1-3-1
UPC-E 8ew.svg
3-1-2-1
UPC-E 9ew.svg
2-1-1-3
UPC-E E.svg

UPC-E 654321 с шаблоном четности "EOEOEO" (UPC-A 065100004327) будет закодирован как

1-1-1  4-1-1-1  1-2-3-1  2-3-1-1  1-4-1-1  2-2-1-2  2-2-2-1  1-1-1-1-1-1.

Штрих-код будет выглядеть так:

UPC-E-654321.png

EAN-13

В EAN-13 был разработан как суперсет UPC-A, добавляя дополнительную цифру в начало каждого номера UPC-A. Это увеличило количество теоретически возможных уникальных значений в десять раз до 1 триллиона. Штрих-коды EAN-13 также указывают на страну, в которой находится компания, продающая продукт (которая может совпадать, а может и не совпадать со страной, в которой производится товар). Это определяют три ведущие цифры кода в соответствии с Коды стран GS1. Каждый код UPC-A можно легко преобразовать в эквивалентный код EAN-13, добавив к коду UPC-A цифру 0. Это не меняет контрольная цифра. Все торговая точка теперь системы могут понимать оба одинаково.

EAN-8 представляет собой 8-значный вариант штрих-кода EAN.

Примечания по использованию UPC:

  • В настоящее время в Северной Америке будут приниматься все продукты, отмеченные EAN, в дополнение к тем, которые уже отмечены UPC.
  • Продукты с существующим UPC не нужно повторно маркировать EAN.
  • В Северной Америке EAN добавляет на 30% больше кодов, в основном за счет добавления цифр с 10 по 12 к цифрам с 00 по 09 UPC. Это мощный стимул для постепенного отказа от UPC.

Смотрите также

использованная литература

  1. ^ «КАРТА ШТРИХКОДОВ GS1». GS1 США. 3 апреля 2013 г.
  2. ^ Патент США 2612994, Woodland, Norman J. & Бернард Сильвер, «Классифицирующая аппаратура и метод», выпущенная 7 октября 1952 г. 
  3. ^ а б «UPC - Трансформация ритейла». Получено 28 апреля, 2016.
  4. ^ «Краткая история штрихового кода». Esquire. 153 (3): 42. Март 2010. Архивировано с оригинал 1 июня 2016 г.
  5. ^ «Наша инновационная история - первые в McKinsey». mckinsey.com. 2013. Архивировано с оригинал 12 октября 2013 г. (см. слайд 10 из 18)
  6. ^ Нельсон, Бенджамин (1997). Перфокарты в штрих-коды: 200-летнее путешествие с описаниями более 260 кодов. Питерборо, Нью-Хэмпшир: издательство Helmers. ISBN  978-091126112-7.
  7. ^ Альфред, Рэнди (26 июня 2008 г.). "26 июня 1974 г .: Жевательная резинка! Есть новый способ купить жевательную резинку". Проводной. В архиве из оригинала от 24 августа 2010 г.
  8. ^ Хеллер, Натан. «Сканирование видов». Гарвардский журнал. Сентябрь – октябрь 2005 г.
  9. ^ "Члены Зала славы выпускников". Ассоциация выпускников Мэрилендского университета. Университет Мэриленда. 2005. Архивировано с оригинал 23 июня 2007 г.. Получено 10 июня, 2009. После окончания штата Мэриленд в 1951 году Джордж Лаурер присоединился к IBM младшим инженером и дослужился до старшего инженера. В 1969 году он вернулся к технической стороне проектирования, и позже ему была поручена грандиозная задача по разработке кода и символа для идентификации продукта для Совета по унифицированным кодам продуктов питания. Его решение - Универсальный код продукта - радикально изменило мир розничной торговли. С тех пор он улучшил код, добавив 13-ю цифру.
  10. ^ rainman_63 (6 апреля 2005 г.). «Рисование штрих-кодов UPC-A с помощью C #». codeproject.com.
  11. ^ Руководство по спецификации символа UPC. Совет по единому кодексу. 1986.
  12. ^ «Штрих-коды для фармацевтических и хирургических товаров». SimplyBarcodes.com.
  13. ^ «NHRIC (Национальный кодекс товаров, связанных со здоровьем)». HealthData. Министерство здравоохранения и социальных служб США.
  14. ^ а б "Штрих-код 1: Сеть информации о штрих-кодах UPC и EAN Bar Code Page". Адамс Коммуникации. 20 июня 2013 г.
  15. ^ «Символика UPC-A - справочная информация UPC-E и преобразование UPC-A в UPC-E». barcodeisland.com. Получено 21 января, 2013.

дальнейшее чтение

  • США 3832686, Билгутай, Ильхан М., «Шрифт штрих-кода», опубликовано 11 мая 1972 г., опубликовано 27 августа 1974 г. 
  • США 3145291, Брейнерд, Х. Б., «Система идентификации», опубликованная 2 июля 1959 г., выпущенная 18 апреля 1964 г.  Штрих-код железной дороги.
  • США 3617707, Shields, Charles B. & Roelif Stapelfeldt, "Автоматическая система идентификации автомобилей", опубликовано 17 августа 1967 г., выпущено 2 ноября 1971 г. 
  • США 3723710, Кроуз, Уильям Г. и Джон Э. Джонс, "Метод и устройство для считывания и декодирования самосинхронизирующегося штрих-кода высокой плотности", опубликовано 28 июня 1971 г., опубликовано 27 марта 1973 г. 

внешние ссылки