Código de producto universal

Simbología de código de barras utilizada para el seguimiento de artículos comerciales en tiendas

Un código de barras UPC

El Código Universal de Producto ( UPC o código UPC ) es una simbología de código de barras que se utiliza en todo el mundo para rastrear artículos comerciales en las tiendas.

La simbología elegida tiene barras (o espacios) de exactamente 1, 2, 3 o 4 unidades de ancho cada una; cada dígito decimal que se va a codificar consta de dos barras y dos espacios elegidos para tener un ancho total de 7 unidades, tanto en forma de paridad "par" como "impar", lo que permite escanearlos en cualquier dirección. Se entremezclan "patrones de protección" especiales (de 3 o 5 unidades de ancho, que no codifican un dígito) para facilitar la decodificación.

Un UPC (técnicamente, un UPC-A) consta de 12 dígitos que se asignan de forma única a cada artículo comercial. La organización internacional GS1 asigna los dígitos utilizados tanto para el UPC como para el código de barras del Número de artículo internacional (EAN) relacionado . [1] Las estructuras de datos UPC son un componente de los Números de artículo comercial global (GTIN) y siguen la especificación global GS1, que se basa en estándares internacionales. Algunos minoristas, como los de ropa y muebles, no utilizan el sistema GS1, sino que utilizan otras simbologías de código de barras o sistemas de números de artículo. Algunos minoristas utilizan la simbología de código de barras EAN/UPC, pero no utilizan un GTIN para productos que se venden solo en sus propias tiendas.

Las investigaciones indican que la adopción y difusión del UPC estimularon la innovación y contribuyeron al crecimiento de las cadenas de suministro minoristas internacionales. [2]

Historia

En 1932, Wallace Flint propuso un sistema de pago automático mediante tarjetas perforadas . Bernard Silver y Norman Joseph Woodland , un estudiante de posgrado del Instituto Tecnológico de Drexel , desarrollaron un código de estilo diana y solicitaron la patente en 1949. [3] [4]

En la década de 1960 y principios de la de 1970, los ferrocarriles de América del Norte experimentaron con códigos de barras multicolores para el seguimiento de vagones , pero este sistema finalmente se abandonó [5] y se reemplazó por un sistema basado en radio llamado Identificación Automática de Equipos (AEI) .

En 1973, un grupo de asociaciones comerciales de la industria de comestibles formó el Consejo de Código Uniforme de Producto (UPCC) que, con la ayuda de los consultores Larry Russell y Tom Wilson de McKinsey & Company , definió el formato numérico que formó la base del Código Uniforme de Producto. [6] Las empresas de tecnología, incluidas Charegon, IBM , Litton-Zellweger, Pitney Bowes-Alpex, Plessey-Anker, RCA , Scanner Inc., Singer y Dymo Industries /Data General, presentaron propuestas alternativas para las representaciones de símbolos al consejo. [ cita requerida ] El Comité de Selección de Símbolos finalmente eligió implementar la propuesta de IBM diseñada por George J. Laurer , pero con una ligera modificación de la fuente en el área legible por humanos. [ cita requerida ]

El primer artículo con código UPC que se escaneó en una caja de venta minorista fue un paquete de 10 (50 unidades) de chicles Wrigley's Juicy Fruit , comprado en el supermercado Marsh en Troy, Ohio , a las 8:01 am del 26 de junio de 1974. [7] La ​​caja registradora de NCR marcó 67 centavos. [8] El carrito de compras también contenía otros artículos con código de barras, pero el chicle fue el primero que se recogió en la caja. Un facsímil del paquete de chicles se exhibió en el museo de historia estadounidense del Instituto Smithsoniano en Washington, DC [9] [10]

Murray Eden fue consultor del equipo que creó el código de barras Universal Product Code. [11] [12] Como presidente de un comité de científicos del Instituto Tecnológico de Massachusetts , ayudó a "seleccionar un símbolo que soportara la inevitable avalancha de tecnología que se avecinaba". [13] Eligió la fuente y se le ocurrió la idea de agregar números en la parte inferior, que es un sistema a prueba de fallos , en caso de que el lector de códigos de barras no funcione correctamente. [14] [15]

Propuesta de IBM

A fines de 1969, IBM en Research Triangle Park (RTP) en Carolina del Norte le encargó a George Laurer que determinara cómo fabricar un escáner y una etiqueta para supermercados. A fines de 1970, Heard Baumeister proporcionó ecuaciones para calcular los caracteres por pulgada que se podían lograr con dos códigos de barras de IBM, Delta A y Delta B. En febrero de 1971, Baumeister se unió a Laurer.

Delta B comparó el ancho de las barras con el ancho del espacio para los bits de código. Esto era extremadamente sensible a la propagación de la tinta, donde niveles inadecuados de tinta o presión harían que ambos bordes de una barra se extendieran hacia afuera o se encogieran hacia adentro.

A mediados de 1971, William "Bill" Crouse inventó un nuevo código de barras llamado Delta C. [4] Logró cuatro veces más caracteres por pulgada que Delta B.

Delta C logró su mayor rendimiento utilizando únicamente bordes iniciales con bordes iniciales o finales con bordes finales, lo que no se vio afectado por la distribución uniforme de la tinta. El código proporcionó el mejor rendimiento cuando tenía un conjunto de caracteres definido con una distancia de referencia fija que abarcaba la mayor parte o, preferiblemente, la totalidad del carácter.

En agosto de 1971, Crouse se unió al proyecto del escáner. Después de varios meses, no habían logrado ningún avance. Conocían la etiqueta de diana de RCA que se podía escanear con un simple escáner láser de línea recta, pero una etiqueta legible era demasiado grande.

Aunque Litton Industries propuso un símbolo de ojo de buey cortado a la mitad para reducir el área, seguía siendo demasiado grande y presentaba los mismos problemas de impresión de manchas de tinta que el símbolo RCA. La redundancia y la capacidad de verificación se eliminaron por completo. También estaban al tanto de las numerosas propuestas de todo el mundo, ninguna de las cuales era viable.

La etiqueta UPC que muestra las características generales de las propuestas de Baumeister

En la primavera de 1972, Baumeister anunció un gran avance: propuso una etiqueta con barras ligeramente más largas que la distancia entre todas las barras que se necesitaba leer en una sola pasada. Esta etiqueta podía escanearse con un simple escáner en "X", apenas un poco más complejo que el escáner láser de línea recta. Al día siguiente, Baumeister sugirió que si la etiqueta se dividiera en dos mitades, la longitud de las barras podría reducirse casi a la mitad.

Estas dos propuestas redujeron la superficie desde el centro de la diana en un tercio y luego en un sexto. La imagen de la derecha muestra la etiqueta propuesta por Baumeister. No especificó ningún código de barras específico, ya que eso era bien entendido. Excepto el código de barras y los diez dígitos, la etiqueta UPC actual es su propuesta. Poco después, Baumeister se trasladó a otra área de RTP.

Laurer procedió a definir los detalles de la etiqueta y a redactar una propuesta. NJ Woodland fue designado planificador del proyecto y ayudó a Laurer a redactar su propuesta.

El primer intento de Laurer con un código de barras utilizó el Delta B. El tamaño de la etiqueta resultante fue de aproximadamente seis pulgadas por tres pulgadas, lo cual era demasiado grande. Crouse sugirió que Laurer utilizara su código de barras Delta C y proporcionó una copia de su patente que tenía un conjunto de caracteres alfanuméricos de muestra y reglas para generar alfabetos de otros tamaños. Esto redujo el tamaño de la etiqueta a aproximadamente 1,5 pulgadas × 0,9 pulgadas (38 mm × 23 mm).

Más tarde, Laurer le pidió ayuda a Crouse para saber cómo el escáner podía detectar una etiqueta. Juntos definieron las barras de protección y una definición de cómo detectar la etiqueta. Las barras de protección también proporcionaban identificación para la discriminación de media etiqueta y barras de entrenamiento para los circuitos de umbral del escáner. Laurer tenía una definición completa de la etiqueta y procedió a escribir su propuesta. [16]

Anteriormente, Crouse había tenido la idea de una varita sencilla que se pudiera usar como anillo y pulsera. Decidió desarrollar esa varita para ofrecer una demostración de la etiqueta. [ cita requerida ]

El 1 de diciembre de 1972, IBM presentó la propuesta de Laurer al Comité de Supermercados de Rochester, Minnesota , el lugar donde IBM desarrollaría el escáner. Durante la presentación, Crouse hizo una demostración de laboratorio en la que leyó etiquetas similares a las del UPC con su lector de anillos. Además de leer las etiquetas normales, leyó la gran etiqueta de dos páginas desplegable en el centro del folleto de la propuesta. Luego pasó a una página que mostraba una foto de artículos etiquetados sobre una mesa. Las etiquetas eran pequeñas y defectuosas debido a la resolución de la foto impresa, pero el lector leyó muchas de ellas. Esta demostración mostró la solidez del código Delta C puro. La propuesta fue aceptada.

Un mes después, el 1 de enero de 1973, Crouse regresó al grupo de Tecnología Avanzada de IBM y Laurer siguió teniendo la plena responsabilidad de la marca.

Dymo Industries , fabricante de dispositivos de impresión portátiles, insistió en que el código fuera independiente de los caracteres [ se necesita una aclaración ], de modo que los dispositivos de impresión portátiles pudieran producir el código de barras en la tienda si los artículos no estaban codificados por los fabricantes. La propuesta de Dymo fue aceptada por IBM y se incorporó a la última propuesta de IBM.

Se decidió que las dos mitades de la etiqueta debían tener un conjunto diferente de caracteres numéricos. El conjunto de caracteres que Laurer derivó de la patente Delta C utilizaba siete incrementos o unidades imprimibles, en las que se imprimían dos barras y dos espacios. Esto producía veinte combinaciones de caracteres, pero había dos pares que, al leerse con las reglas de Delta C, producían el mismo código para el par.

Como dieciocho caracteres no eran suficientes, Laurer intentó añadir una unidad al conjunto de caracteres. Esto dio como resultado veintiséis caracteres Delta C que podían proporcionar los dos conjuntos de caracteres decimales, pero también añadía un catorce por ciento al ancho de la etiqueta y, por tanto, a la altura. Esto supondría un aumento del treinta por ciento en el área o una etiqueta de 1,7 pulgadas × 1,03 pulgadas (43 mm × 26 mm). Laurer consideró que esto no era aceptable.

Laurer volvió al conjunto de caracteres original con veinte caracteres, pero cuatro de ellos eran dos pares con la misma lectura Delta C. Decidió utilizarlos todos. Para distinguirlos entre sí, mediría el ancho de una barra en cada uno de ellos. Para cada par, esas barras tendrían una o dos unidades de ancho.

Laurer no aplicó las ecuaciones de Baumeister a este conjunto. Creía que una sola medición del ancho de barra no sería demasiado grave. Resultó que habría sido necesario un aumento del cincuenta por ciento en el ancho y la altura para un aumento del área de más del doble. Laurer admitió más tarde que estos cuatro caracteres en cada conjunto eran responsables de la mayoría de los errores de lectura del escáner.

El matemático David Savir recibió la tarea de demostrar que el símbolo podía imprimirse y que cumpliría con los requisitos de fiabilidad, y probablemente desconocía las ecuaciones de Baumeister. Él y Laurer añadieron dos dígitos más a la decena para detectar y corregir errores .

Luego decidieron agregar paridad par/impar al número de unidades llenas de barras en cada lado. La paridad par/impar es una técnica utilizada para detectar cualquier número impar de errores de bits en un flujo de bits. Decidieron utilizar paridad par en una mitad y par en la otra. Esto proporcionaría una indicación adicional de qué mitad del ticket se estaba leyendo. Esto significaba que cada ancho de barra debía leerse con precisión para proporcionar una buena lectura. También significaba que cada espacio también sería conocido.

El requisito de que cada ancho de bit se lea con precisión básicamente anuló la ventaja de Delta C, excepto la medición de referencia de Delta C. Solo el extraño conjunto de caracteres y el tamaño de la etiqueta permanecen como una sombra del código Delta C. El tamaño seguía siendo el calculado para Delta C puro. Si el tamaño de la etiqueta se hubiera recalculado correctamente, teniendo en cuenta las mediciones de ancho de barra requeridas, la etiqueta habría sido demasiado grande para ser aceptable.

La ingeniería mecánica y el diseño de circuitos electrónicos suelen requerir diseños en el peor de los casos utilizando tolerancias conocidas. Muchos ingenieros que trabajaban con códigos de barras tenían poca experiencia con estas cosas y utilizaban métodos algo intuitivos. Esta fue la causa del bajo rendimiento del código Delta B y, muy probablemente, la falla del escáner de diana de RCA.

La siguiente tabla muestra las etiquetas viables, disponibles a principios de la década de 1970, con sus tamaños.

Tipo de etiquetaDimensiones de la etiquetaÁrea
Diana con código morseGrandeGrande
En el blanco con Delta B12,0 pulgadas (300 mm) de diámetro113,10 pulgadas 2 (729,7 cm 2 )
En el blanco con Delta A9,0 pulgadas (230 mm) de diámetro63,62 pulgadas 2 (410,5 cm 2 )
Baumeister 1º con Delta B6,0 pulgadas × 5,8 pulgadas (150 mm × 150 mm)34,80 pulgadas 2 (224,5 cm 2 )
Baumeister 2 mitades con Delta B6,0 pulgadas × 3,0 pulgadas (152 mm × 76 mm)18,00 pulgadas 2 (116,1 cm 2 )
Baumeister 2 mitades con Delta A4,5 pulgadas × 2,3 pulgadas (114 mm × 58 mm)10,35 pulgadas 2 (66,8 cm 2 )
Baumeister con Delta C1,5 pulgadas × 0,9 pulgadas (38 mm × 23 mm)1,35 pulgadas 2 (8,7 cm 2 )

Esto supone que se trata de un blanco con la misma información y una legibilidad fiable.

Composición

Cada código de barras UPC-A consta de una franja escaneable de barras negras y espacios blancos sobre una secuencia de 12 dígitos numéricos. No pueden aparecer letras , caracteres ni ningún otro tipo de contenido en un código de barras UPC-A. Existe una correspondencia uno a uno entre el número de 12 dígitos y la franja de barras negras y espacios blancos, es decir, solo hay una forma de representar visualmente cada número de 12 dígitos y solo hay una forma de representar numéricamente cada franja de barras negras y espacios blancos.

El área escaneable de cada código de barras UPC-A sigue el patrón S L LLLLLMRRRRR R E, donde los patrones de protección S (inicio), M (medio) y E (fin) se representan de la misma manera en cada código de barras UPC-A y las secciones L (izquierda) y R (derecha) representan colectivamente los 12 dígitos numéricos que hacen que cada UPC-A sea único. El primer dígito L indica un sistema numérico particular que se utilizará en los dígitos siguientes. El último dígito R es un dígito de verificación de detección de errores , que permite detectar algunos errores en el escaneo o la entrada manual. Los patrones de protección separan los dos grupos de seis dígitos numéricos y establecen el tiempo.

UPC-AUPC-E

UPC-A 042100005264 es equivalente a UPC-E 425261 con el patrón de paridad "EOEEOO", que está definido por el sistema de numeración UPC-A 0 y el dígito de verificación UPC-A 4.

Formato

Los códigos de barras UPC-A se pueden imprimir a distintas densidades para adaptarse a una variedad de procesos de impresión y escaneo. El parámetro dimensional significativo se denomina dimensión x (ancho de un elemento de módulo individual). El ancho de cada barra (espacio) se determina multiplicando la dimensión x y el ancho del módulo (1, 2, 3 o 4 unidades) de cada barra (espacio). Dado que los patrones de protección incluyen dos barras cada uno, y cada uno de los 12 dígitos del código de barras UPC-A consta de dos barras y dos espacios, todos los códigos de barras UPC-A constan exactamente de (3 × 2) + (12 × 2) = 30 barras, de las cuales 6 representan patrones de protección y 24 representan dígitos numéricos.

La dimensión x del código UPC-A en su tamaño nominal es de 0,33 mm (0,013"). La altura nominal del símbolo del código UPC-A es de 25,9 mm (1,02"). Las barras que forman los patrones de protección S (inicio), M (centro) y E (fin) se extienden hacia abajo 5 veces la dimensión x, con una altura nominal del símbolo resultante de 27,55 mm (1,08"). Esto también se aplica a las barras del primer y último dígito numérico del código de barras UPC-A. El código UPC-A se puede reducir o ampliar en cualquier valor entre el 80 % y el 200 %.

Debe haber una zona tranquila, con un ancho de al menos 9 veces la dimensión x, en cada lado del área escaneable del código de barras UPC-A. [17] [18] Para un número GTIN-12 codificado en un código de barras UPC-A, el primer y el último dígito de la interpretación legible por humanos siempre se colocan fuera del símbolo para indicar las zonas tranquilas que son necesarias para que los lectores de códigos de barras UPC funcionen correctamente.

Codificación

El código de barras UPC-A se representa visualmente mediante franjas de barras y espacios que codifican el número UPC-A de 12 dígitos. Cada dígito está representado por un patrón único de 2 barras y 2 espacios. Las barras y los espacios tienen un ancho variable, es decir, 1, 2, 3 o 4 módulos de ancho. El ancho total de un dígito es siempre de 7 módulos; en consecuencia, el número UPC-A de 12 dígitos requiere un total de 7×12 = 84 módulos .

Un UPC-A completo tiene 95 módulos de ancho: 84 módulos para los dígitos (secciones L y R) combinados con 11 módulos para los patrones de protección S (inicio), M (medio) y E (fin). Los patrones de protección S (inicio) y E (fin) tienen 3 módulos de ancho y utilizan el patrón barra-espacio-barra , donde cada barra y espacio tiene un módulo de ancho. El patrón de protección M (medio) tiene 5 módulos de ancho y utiliza el patrón espacio-barra-espacio-barra-espacio , donde cada barra y espacio también tiene un módulo de ancho. Además, un símbolo UPC-A requiere una zona silenciosa (espacio adicional de 9 módulos de ancho) antes de los patrones de protección S (inicio) y después de los patrones de protección E (fin).

Tabla de codificación para el patrón de código de barras UPC-A S L LLLLLMRRRRR R E

Zona tranquila
S
(inicio)
L
(dígito numérico izquierdo)
M
(medio)
R
(dígito numérico derecho)
E
(fin)

Zona tranquila
01234567890123456789

Los dígitos del lado izquierdo del UPC-A (los dígitos a la izquierda del patrón de protección M (medio)) tienen paridad impar, lo que significa que el ancho total de las barras negras es un número impar de módulos. Por el contrario, los dígitos del lado derecho tienen paridad par. En consecuencia, un escáner UPC puede determinar si está escaneando un símbolo de izquierda a derecha o de derecha a izquierda (el símbolo está al revés). Después de ver un patrón de protección S (inicio) o E (fin) (son lo mismo, barra-espacio-barra , en cualquier dirección en la que se lean), el escáner verá primero dígitos de paridad impar, si se escanea de izquierda a derecha, o dígitos de paridad par, si se escanea de derecha a izquierda. Con la información de paridad/dirección, un símbolo al revés no confundirá al escáner. Cuando se enfrenta a un símbolo al revés, el escáner puede simplemente ignorarlo (muchos escáneres alternan escaneos de izquierda a derecha y de derecha a izquierda, por lo que leerán el símbolo en un pase posterior) o reconocer los dígitos y colocarlos en el orden correcto. Hay otra propiedad en la codificación de dígitos. Los dígitos del lado derecho son el inverso óptico de los dígitos del lado izquierdo, es decir, las barras negras se convierten en espacios blancos y viceversa. Por ejemplo, el lado izquierdo "4" es espacio × 1 - barra × 1 - espacio × 3 - barra × 2 , mientras que el lado derecho "4" es barra × 1 - espacio × 1 - barra × 3 - espacio × 2 .

Numeración

La cantidad de códigos de barras UPC-A y UPC-E está limitada por los estándares utilizados para crearlos.

UPC-A
(valores posibles por dígito izquierdo) (dígitos de la izquierda) × (valores posibles por dígito derecho) (5 dígitos correctos) = 10 6 × 10 5 = 100 , 000 , 000 , 000. {\displaystyle {\begin{aligned}{\text{(valores posibles por dígito izquierdo)}}^{\text{(dígitos izquierdos)}}&\times {\text{(valores posibles por dígito derecho)}}^{\text{(5 dígitos derechos)}}\\=10^{6}&\times 10^{5}=100.000.000.000.\end{aligned}}}
UPC-E
(valores posibles por dígito) (dígitos) × (posibles patrones de paridad por número UPC-E) = 10 6 × 2 = 2 , 000 , 000. {\displaystyle {\begin{aligned}{\text{(valores posibles por dígito)}}^{\text{(dígitos)}}&\times {\text{(patrones de paridad posibles por número UPC-E)}}\\=10^{6}&\times 2=2.000.000.\end{aligned}}}

Dígito del sistema numérico

A continuación se muestra una descripción de todos los sistemas numéricos posibles con el esquema de numeración UPC-A de 12 dígitos correspondiente L LLLLLRRRRR R , donde L denota el dígito del sistema de numeración y R el dígito de control.

0–1, 6–9
Para la mayoría de los productos, los dígitos LLLLL son el código del fabricante (asignado por la organización GS1 local ) y los dígitos RRRRR son el código del producto.
2
Reservado para uso local (tienda/almacén), para artículos vendidos por peso variable. A los artículos de peso variable, como carnes, frutas frescas o verduras, la tienda les asigna un número de artículo si se envasan allí. En este caso, LLLLL es el número de artículo y RRRRR es el peso o el precio, y la primera R determina cuál (0 para el peso).
3
Medicamentos según el código nacional de medicamentos (NDC). Los productos farmacéuticos en los EE. UU. utilizan los 10 dígitos centrales del UPC como su número NDC. Aunque por lo general solo se escanean los medicamentos de venta libre en el punto de venta, los UPC basados ​​en el NDC se utilizan en los paquetes de medicamentos con receta y productos quirúrgicos y, en este caso, se denominan comúnmente códigos UPN. [19]
4
Reservado para uso local (tienda/almacén), a menudo para tarjetas de fidelización o cupones de tiendas.
5
Cupones . Los dígitos LLLLL son los dígitos 2 a 6 del prefijo UPC del producto, los tres RRR siguientes son un código de familia (establecido por el fabricante o suministrado por la cámara de compensación de cupones) y los dos RR siguientes son un código de valor (según la tabla de códigos de valor GS1), que determina el monto del descuento. Estos cupones se pueden duplicar o triplicar. [20]

Cálculo del dígito de control

El UPC incluye un dígito de control para detectar errores comunes en la entrada de datos. Por ejemplo, los códigos UPC-A eligen el dígito de control para satisfacer la ecuación del dígito de control : incógnita 12 estilo de visualización x_{12}}

( 3 incógnita 1 + incógnita 2 + 3 incógnita 3 + incógnita 4 + 3 incógnita 5 + incógnita 6 + 3 incógnita 7 + incógnita 8 + 3 incógnita 9 + incógnita 10 + 3 incógnita 11 + incógnita 12 ) 0 ( modificación 10 ) . {\displaystyle (3x_{1}+x_{2}+3x_{3}+x_{4}+3x_{5}+x_{6}+3x_{7}+x_{8}+3x_{9}+x_{10}+3x_{11}+x_{12})\equiv 0{\pmod {10}}.}

Si un código ingresado no satisface la ecuación, entonces no es un UPC-A válido.

El dígito de control UPC-A se puede calcular de la siguiente manera:

  1. Sumar los dígitos en posiciones impares (primero, tercero, quinto,..., undécimo) .
  2. Multiplica el resultado por 3.
  3. Añade la suma de los dígitos en las posiciones pares (segundo, cuarto, sexto,..., décimo) al resultado.
  4. Encuentra el resultado módulo 10 (es decir , el resto, cuando se divide por 10) y llámalo M.
  5. Si M es cero, entonces el dígito de verificación es 0; de lo contrario, el dígito de verificación es 10 − M .

Por ejemplo, en un código de barras UPC-A "03600029145 x 12 ", donde x 12 es el dígito de control desconocido, x 12 se puede calcular mediante:

  1. Suma los dígitos impares (0 + 6 + 0 + 2 + 1 + 5 = 14).
  2. Multiplica el resultado por 3 (14 × 3 = 42).
  3. Suma los dígitos pares (42 + (3 + 0 + 0 + 9 + 4) = 58).
  4. Encuentra el resultado módulo 10 (58 mod 10 = 8 = M ).
  5. Si M no es 0, reste M de 10 ( 10 − M = 10 − 8 = 2 ).

Por lo tanto, el dígito de control x 12 es 2.

Se selecciona la ecuación del dígito de verificación para que tenga propiedades de detección de errores razonables (consulte el algoritmo de Luhn ).

  • UPC-A puede detectar el 100% de errores de un solo dígito.
    Un error de un solo dígito significa que exactamente un dígito es incorrecto. Sea d la diferencia módulo 10 del dígito erróneo y el dígito correcto . El valor de d no puede ser cero porque eso significa que los dígitos son los mismos, pero d puede ser cualquier otro valor en {1, 2, 3, 4, 5, 6, 7, 8, 9}. Si el dígito de error está en una posición impar (peso 1), el lado izquierdo de la ecuación del dígito de control cambia en d y la equivalencia ya no es cero. Si el dígito de error está en una posición par (peso 3), entonces el lado izquierdo cambia en 3 d , pero ese cambio también es distinto de cero módulo 10, por lo que la ecuación del dígito de control no se satisface.
  • El sistema UPC-A puede detectar aproximadamente el 89 % de los errores de transposición. En concreto, si y solo si la diferencia entre dos dígitos adyacentes es 5, el sistema UPC-A no puede detectar su transposición.
    1. Si se transponen dos dígitos vecinos, uno de los dígitos a tendrá un peso de 1 y el otro dígito b = a + d tendrá un peso de 3, donde d es la diferencia entre los dos dígitos. Si los dígitos estuvieran en el orden correcto, contribuirían
      1 a + 3 b = 1 a + 3 ( a + d ) = 4 a + 3 d {\displaystyle 1a+3b=1a+3(a+d)=4a+3d}
      al lado izquierdo de la ecuación del dígito de control. En el orden transpuesto, contribuyen
      1 b + 3 a = 3 a + 1 ( a + d ) = 4 a + d {\displaystyle 1b+3a=3a+1(a+d)=4a+d} .
      al lado izquierdo. Restando las dos contribuciones se obtiene cuánto cambian el lado izquierdo:
      ( 4 a + 3 d ) ( 4 a + d ) = 2 d {\displaystyle (4a+3d)-(4a+d)=2d}
      Se detectará un error siempre que el cambio modular sea distinto de cero; si 2d ≡ 0 módulo 10, entonces no se detectará el cambio. En consecuencia, solo cuando la diferencia de caracteres d ≡ 5 no se detectará un error (cuando d ≡ 0 la "transposición" degenerada no es un error).
    2. Consideremos a continuación con qué frecuencia una transposición tiene una distancia d de 5.
Aquí está la tabla de transposiciones d para códigos de barras UPC-A , donde d { 0 , 1 , 2 , , 9 } : {\displaystyle d\in \{0,1,2,\ldots ,9\}:}
Tabla de transposiciones d para códigos de barras 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
Suma1018161412108642
La suma de filas contiene el número de d transposiciones, por lo tanto, la proporción de errores de transposición no detectables es (ignorando las transposiciones donde d = 0 ):
10 18 + 16 + 14 + 12 + 10 + 8 + 6 + 4 + 2 = 10 90 = 11.111 % . {\displaystyle {\frac {10}{18+16+14+12+10+8+6+4+2}}={\frac {10}{90}}=11.111\ldots \%.}

Variaciones

UPC en su uso más común técnicamente se refiere a UPC-A.

Existen otras variantes del UPC:

  • El UPC-B es una versión de 12 dígitos del UPC sin dígito de control, desarrollada para el Código Nacional de Medicamentos (NDC) y el Código Nacional de Artículos Relacionados con la Salud. [21] [ verificación fallida ] Tiene 11 dígitos más un código de producto de 1 dígito, y no es de uso común. [22]
  • UPC-C es un código de 12 dígitos con un código de producto y un dígito de control; no es de uso común. [22]
  • El UPC-D es un código de longitud variable (12 dígitos o más) en el que el duodécimo dígito es el dígito de control. Estas versiones no se utilizan habitualmente.
  • UPC-E es un código de 6 dígitos, que tiene su equivalente en el código UPC-A de 12 dígitos con sistema numérico 0 o 1.
  • UPC-2 es un suplemento de 2 dígitos del UPC que se utiliza para indicar la edición de una revista o publicación periódica.
  • UPC-5 es un suplemento de 5 dígitos del UPC que se utiliza para indicar el precio minorista sugerido para los libros.

UPC-E

Para permitir el uso de códigos de barras UPC en paquetes más pequeños, donde un código de barras completo de 12 dígitos puede no caber, se desarrolló una versión de UPC con supresión de ceros, llamada UPC-E, en la que el dígito del sistema numérico, todos los ceros finales en el código del fabricante y todos los ceros iniciales en el código del producto, se suprimen (omiten). [23] Esta simbología difiere de UPC-A en que solo usa un código de 6 dígitos, no usa el patrón de protección M (medio) y el patrón de protección E (final) se forma como barra espaciadora-barra espaciadora-barra espaciadora , es decir, el código de barras UPC-E sigue el patrón SDDDDDDE. La forma en que un UPC-E de 6 dígitos se relaciona con un UPC-A de 12 dígitos está determinada por el patrón numérico UPC-E y el patrón de paridad UPC-E. Solo puede corresponder al sistema de numeración UPC-A 0 o 1, cuyo valor, junto con el dígito de control UPC-A, determina el patrón de paridad UPC-E de la codificación. Con los dígitos del código del fabricante representados por M y los dígitos del código del producto por P, entonces:

Último dígito UPC-EPatrón numérico UPC-EEquivalente UPC-ANúmeros de productos disponibles
0MMPPP00 o 1 + MM000-00PPP + dígito de controlPPP = 000-999
1MMPPP10 o 1 + MM100-00PPP + dígito de controlPPP = 000-999
2MMPPP20 o 1 + MM200-00PPP + dígito de controlPPP = 000-999
3MMMPP30 o 1 + MMM00-000PP + dígito de controlPP = 00-99
4MMMMP40 o 1 + MMMM0-0000P + dígito de controlP = 0-9
5Mmmmm50 o 1 + MMMMM-00005 + dígito de control5 = P
6Mmmmm60 o 1 + MMMMM-00006 + dígito de control6 = P
7Mmmmm70 o 1 + MMMMM-00007 + dígito de control7 = P
8Mmmmm80 o 1 + MMMMM-00008 + dígito de control8 = P
9Mmmmm90 o 1 + MMMMM-00009 + dígito de control9 = P

Por ejemplo, un UPC-E 654321 puede corresponder al UPC-A 065100004327 o 165100004324, dependiendo del patrón de paridad UPC-E de los dígitos codificados, como se describe a continuación:


Dígito de control UPC-A
Patrón de paridad UPC-E para UPC-A

sistema numérico 0

Patrón de paridad UPC-E para UPC-A

sistema de numeración 1

0¡Eeeeeee!¡OOOOOOO!
1EEEEOOOOOEOEE
2EEOOEOOOOOOOO
3¡Eeeeeee!OOOEEEO
4EOEEOOOOOOOE
5EOOEEOOEOOOE
6EOOOEEOEEEEOO
7EOEOEOOEOEOE
8EOEOOEOEOEEO
9EOOEOEOEEOEO
Tabla de codificación para el patrón de código de barras UPC-E SDDDDDDE
S
(inicio)
O
(dígito de paridad impar)
E
(dígito de paridad par)
E
(fin)
01234567890123456789

3-2-1-1

2-2-2-1

2-1-2-2

1-4-1-1

1-1-3-2

1-2-3-1

1-1-1-4

1-3-1-2

1-2-1-3

3-1-1-2

1-1-2-3

1-2-2-2

2-2-1-2

1-1-4-1

2-3-1-1

1-3-2-1

4-1-1-1

2-1-3-1

3-1-2-1

2-1-1-3

UPC-E 654321 con patrón de paridad "EOEOEO" (UPC-A 065100004327) se codificaría como

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.

El código de barras se vería así:

EAN-13

El EAN-13 se desarrolló como un superconjunto del UPC-A, agregando un dígito adicional al comienzo de cada número UPC-A. Esto amplió la cantidad de valores únicos teóricamente posibles por diez veces a 1 billón. Los códigos de barras EAN-13 también indican el país en el que se encuentra la empresa que vende el producto (que puede o no ser el mismo que el país en el que se fabrica el producto). Los tres dígitos iniciales del código determinan esto, de acuerdo con los códigos de país GS1 . Cada código UPC-A se puede convertir fácilmente al código EAN-13 equivalente anteponiendo el dígito 0 al código UPC-A. Esto no cambia el dígito de control . Todos los sistemas de punto de venta ahora pueden entender ambos por igual.

EAN-8 es una variación de 8 dígitos del código de barras EAN.

Notas sobre el uso de UPC:

  • Actualmente, todos los productos marcados con un EAN serán aceptados en América del Norte, además de aquellos que ya estén marcados con un UPC.
  • Los productos con un UPC existente no necesitan volver a marcarse con un EAN.
  • En América del Norte, el EAN agrega un 30% más de códigos, principalmente agregando los dígitos del 10 al 12 a los dígitos 00 al 09 del UPC. Este es un poderoso incentivo para eliminar gradualmente el UPC.

Véase también

Referencias

  1. ^ "GRÁFICO DE CÓDIGOS DE BARRAS GS1". GS1 US . 3 de abril de 2013. Archivado desde el original el 7 de enero de 2012 . Consultado el 7 de julio de 2011 .
  2. ^ Basker, Emek; Simcoe, Timothy (2021). «Upstream, Downstream: Diffusion and Impacts of the Universal Product Code». Revista de Economía Política . 129 (4): 1252–1286. doi :10.1086/712762. ISSN  0022-3808. S2CID  229505646. Archivado desde el original el 17 de mayo de 2021. Consultado el 14 de marzo de 2021 .
  3. ^ Patente estadounidense 2612994, Woodland, Norman J. y Silver, Bernard , "Aparato y método de clasificación", expedida el 7 de octubre de 1952 
  4. ^ ab "UPC - La transformación del comercio minorista". IBM . 7 de marzo de 2012. Archivado desde el original el 12 de noviembre de 2021 . Consultado el 12 de noviembre de 2021 .
  5. ^ "Una breve historia del código de barras". Esquire . 153 (3): 42. Marzo de 2010. Archivado desde el original el 1 de junio de 2016.
  6. ^ "Nuestra historia innovadora: las primeras veces que McKinsey se convirtió en un referente". mckinsey.com . 2013. Archivado desde el original el 12 de octubre de 2013.(ver diapositiva 10 de 18)
  7. ^ Nelson, Benjamin (1997). De las tarjetas perforadas a los códigos de barras: un viaje de 200 años con descripciones de más de 260 códigos . Peterborough, NH: Helmers Publishing. ISBN 978-091126112-7.
  8. ^ Alfred, Randy (26 de junio de 2008). "26 de junio de 1974: ¡Por chicle! Hay una nueva forma de comprar chicle". Wired . Archivado desde el original el 24 de agosto de 2010.
  9. ^ Heller, Nathan. "Escaneando especies". Harvard Magazine . Septiembre-octubre de 2005.
  10. ^ "La historia del código de barras". Smithsonian. 23 de septiembre de 2015. Archivado desde el original el 9 de febrero de 2022. Consultado el 12 de agosto de 2021 .
  11. ^ "Historia oral: Murray Eden - Wiki de historia de la ingeniería y la tecnología". ethw.org . 10 de noviembre de 1999. Archivado desde el original el 21 de enero de 2021 . Consultado el 4 de enero de 2021 .
  12. ^ Comisión Nacional de Productividad y Calidad del Trabajo (1975). Tecnología aplicada a la industria alimentaria: Informe preliminar. p. 15. Archivado desde el original el 19 de marzo de 2022 . Consultado el 14 de enero de 2021 .
  13. ^ Haberman, Alan L. (2001). Twenty-Five Years Behind Bars: The Proceedings of the Twenty-Fifth Anniversary of the UPC at the Smithsonian Institution, 30 de septiembre de 1999. Comité de Publicaciones Wertheim de la Universidad de Harvard. pp. 74, 108. ISBN 978-0-674-00657-7.
  14. ^ Casanova, Stephanie (18 de agosto de 2020). «Murray Eden, un ingeniero biomédico amante del canto, muere en Tucson a los 99 años». Arizona Daily Star . Archivado desde el original el 14 de enero de 2021. Consultado el 14 de enero de 2021 .
  15. ^ Roth, Brad (17 de abril de 2020). "Murray Eden". Medium . Archivado desde el original el 21 de enero de 2021. Consultado el 14 de enero de 2021 .
  16. ^ "Alumni Hall Of Fame Members". Asociación de Antiguos Alumnos de la Universidad de Maryland . La Universidad de Maryland. 2005. Archivado desde el original el 23 de junio de 2007. Consultado el 10 de junio de 2009. Después de graduarse en Maryland en 1951, George Laurer se unió a IBM como ingeniero junior y fue ascendiendo hasta llegar a ingeniero senior. En 1969, regresó al lado técnico de la ingeniería y más tarde se le asignó la monumental tarea de diseñar un código y un símbolo para la identificación de productos para el Consejo de Códigos Uniformes de Productos de Alimentos. Su solución, el Código Universal de Productos, cambió radicalmente el mundo minorista. Desde entonces, ha mejorado el código agregando un decimotercer dígito.
  17. ^ rainman_63 (6 de abril de 2005). «Dibujo de códigos de barras UPC-A con C#». codeproject.com . Archivado desde el original el 29 de agosto de 2011. Consultado el 7 de julio de 2011 .{{cite web}}: CS1 maint: nombres numéricos: lista de autores ( enlace )
  18. ^ Manual de especificaciones de símbolos UPC. Consejo de Código Uniforme . 1986.
  19. ^ "Códigos de barras para productos farmacéuticos y quirúrgicos". UPCs.com . 24 de marzo de 2022. Archivado desde el original el 28 de febrero de 2023 . Consultado el 28 de febrero de 2023 .
  20. ^ "Códigos de barras para cupones". SimplyBarcodes.com . Archivado desde el original el 16 de febrero de 2022. Consultado el 16 de febrero de 2022 .
  21. ^ "NHRIC (Código Nacional de Artículos Relacionados con la Salud)". HealthData . Departamento de Salud y Servicios Humanos de EE. UU. Archivado desde el original el 8 de marzo de 2021 . Consultado el 12 de octubre de 2015 .
  22. ^ ab "Bar Code 1: A Web Of Information About Bar Code UPC and EAN Bar Code Page". Adams Communications . 20 de junio de 2013. Archivado desde el original el 8 de marzo de 2021 . Consultado el 10 de julio de 2019 .
  23. ^ "Simbología UPC-A: información general sobre UPC-E y conversión de UPC-A a UPC-E". barcodeisland.com . Archivado desde el original el 26 de febrero de 2020 . Consultado el 21 de enero de 2013 .

Lectura adicional

  • US 3832686, Bilgutay, Ilhan M., "Bar Code Font", publicado el 11 de mayo de 1972, emitido el 27 de agosto de 1974 
  • US 3145291, Brainerd, HB, "Sistema de identificación", publicado el 2 de julio de 1959, emitido el 18 de abril de 1964  Código de barras del ferrocarril.
  • US 3617707, Shields, Charles B. & Stapelfeldt, Roelif, "Sistema automático de identificación de vehículos", publicado el 17 de agosto de 1967, emitido el 2 de noviembre de 1971 
  • US 3723710, Crouse, William G. y Jones, John E., "Método y dispositivo para leer y decodificar un código de barras de alta densidad con reloj automático", publicado el 28 de junio de 1971, emitido el 27 de marzo de 1973 
  • Historia de la UPC - Museo de Historia de la ID - Donde vive la historia de la UPC en Wayback Machine (archivado el 7 de julio de 2019)
  • UPC-Search.org Base de datos gratuita en línea de códigos UPC
  • Prefijo de empresa GS1 Lista de prefijos de tres dígitos GS1 que indica el país de origen de la empresa en el código UPC (no necesariamente el país de fabricación)
Obtenido de "https://es.wikipedia.org/w/index.php?title=Código_universal_de_producto&oldid=1248402430"