کد جهانی محصول

کد جهانی محصول ( UPC یا کد UPC ) یک نماد بارکد است که در سراسر جهان برای ردیابی اقلام تجاری در فروشگاه ها استفاده می شود.
نماد شناسی انتخاب شده دارای میله ها (یا فضاهایی) به عرض هر کدام دقیقاً 1، 2، 3 یا 4 واحد است. هر رقم اعشاری که باید رمزگذاری شود شامل دو نوار و دو فضای انتخاب شده است که دارای عرض کلی 7 واحد باشد، در هر دو شکل برابری "زوج" و "فرد"، که امکان اسکن در هر جهت را فراهم می کند. "الگوهای محافظ" ویژه (عرض 3 یا 5 واحد، بدون رمزگذاری یک رقم) برای کمک به رمزگشایی با هم مخلوط می شوند.
یک UPC (از لحاظ فنی، یک UPC-A) شامل 12 رقم است که به طور منحصر به فرد به هر کالای تجاری اختصاص داده می شود. سازمان بینالمللی GS1 ارقام مورد استفاده را برای بارکد UPC و شماره مقاله بینالمللی مرتبط (EAN) اختصاص میدهد . [1] ساختارهای داده UPC جزء اعداد اقلام تجاری جهانی (GTIN) هستند و از مشخصات جهانی GS1 پیروی می کنند که بر اساس استانداردهای بین المللی است. برخی از خرده فروشان، مانند پوشاک و مبلمان، از سیستم GS1 استفاده نمی کنند، در عوض از سایر نمادهای بارکد یا سیستم شماره مقاله استفاده می کنند. برخی از خرده فروشان از نماد بارکد EAN/UPC استفاده می کنند، اما برای محصولاتی که فقط در فروشگاه های خودشان فروخته می شوند از GTIN استفاده نمی کنند.
تحقیقات نشان می دهد که پذیرش و انتشار UPC نوآوری را تحریک کرده و به رشد زنجیره های تامین خرده فروشی بین المللی کمک کرده است. [2]
تاریخچه
والاس فلینت یک سیستم پرداخت خودکار را در سال 1932 با استفاده از کارت های پانچ پیشنهاد کرد . برنارد سیلور و نورمن جوزف وودلند ، دانشجوی فارغ التحصیل از موسسه فناوری درکسل ، کدی به سبک چشم گاو نر ایجاد کردند و در سال 1949 برای ثبت اختراع درخواست کردند. [3] [4]
در دهه 1960 و اوایل دهه 1970، راهآهنها در آمریکای شمالی با کدهای چندرنگی برای ردیابی واگنهای ریلی آزمایش کردند ، اما این سیستم در نهایت کنار گذاشته شد [5] و با یک سیستم مبتنی بر رادیو به نام شناسایی تجهیزات خودکار (AEI) جایگزین شد .
در سال 1973، گروهی از انجمن های تجاری از صنعت خواربارفروشی، شورای کد محصول یکنواخت (UPCC) را تشکیل دادند که با کمک مشاوران لری راسل و تام ویلسون از McKinsey & Company ، قالب عددی را که اساس محصول یکنواخت را تشکیل می داد، تعریف کردند. کد. [6] شرکتهای فناوری از جمله Charegon، IBM ، Litton-Zellweger، Pitney Bowes-Alpex، Plessey-Anker، RCA ، Scanner Inc.، Singer، و Dymo Industries /Data General، پیشنهادهای جایگزینی را برای نمایش نمادها به شورا ارائه کردند. [ نیاز به نقل از ] کمیته انتخاب نماد سرانجام پیشنهاد IBM طراحی شده توسط جورج J. Laurer را انتخاب کرد ، اما با اندکی تغییر در فونت در ناحیه قابل خواندن توسط انسان. [ نیازمند منبع ]
اولین موردی که با علامت UPC در یک صندوق خردهفروشی اسکن شد، یک بسته 10 عددی (50 چوب) از آدامس Wrigley's Juicy Fruit بود که در سوپرمارکت Marsh در تروی، اوهایو ، در ساعت 8:01 صبح در 26 ژوئن 1974 خریداری شد. [7] صندوق NCR 67 سنت افزایش یافت. [8] سبد خرید حاوی اقلام بارکد دیگری نیز بود، اما آدامس اولین آدامس بود که در صندوق برداشت شد. فاکسی از بسته آدامس در موزه تاریخ آمریکا مؤسسه اسمیتسونیان در واشنگتن دی سی به نمایش گذاشته شد [9] [10]
موری ادن مشاور تیمی بود که بارکد جهانی محصول را ایجاد کرد. [11] [12] به عنوان رئیس کمیته ای از دانشمندان در مؤسسه فناوری ماساچوست ، او به "انتخاب نمادی کمک کرد که هجوم اجتناب ناپذیر فناوری را که در پیش بود تحمل کند." [13] او فونت را انتخاب کرد، و به این فکر افتاد که اعداد را به پایین اضافه کند، که یک سیستم بی خطر است ، در صورتی که بارکدخوان به درستی کار نمی کند. [14] [15]
پیشنهاد IBM
در اواخر سال 1969، IBM در پارک تحقیقاتی مثلثی (RTP) در کارولینای شمالی، جورج لورر را مأمور تعیین چگونگی ساخت اسکنر و برچسب سوپرمارکت کرد. در اواخر سال 1970، هرد باومایستر معادلاتی را برای محاسبه کاراکتر در هر اینچ ارائه کرد که توسط دو بارکد IBM، دلتا A و دلتا B قابل دستیابی بود. در فوریه 1971، باومایستر به Laurer پیوست.
دلتا B عرض نوار را با عرض فاصله با بیت های کد مقایسه کرد. این نسبت به پخش جوهر بسیار حساس بود، جایی که سطوح نامناسب جوهر یا فشار باعث میشود هر دو لبه میله به بیرون پخش یا منقبض شوند.
در اواسط سال 1971، ویلیام "بیل" کروز یک بارکد جدید به نام دلتا سی اختراع کرد .
دلتا C عملکرد بالاتر خود را تنها با استفاده از لبههای منتهی یا انتهایی به انتهایی به دست آورد که تحت تأثیر پخش یکنواخت جوهر قرار نگرفت. کد زمانی بهترین عملکرد را داشت که دارای یک مجموعه کاراکتر تعریف شده با فاصله مرجع ثابتی بود که بیشتر یا ترجیحاً همه کاراکترها را در بر می گرفت.
در آگوست 1971، کروز به تلاش اسکنر پیوست. بعد از چند ماه هیچ پیشرفتی نداشتند. آنها از برچسب چشم گاو نر RCA که میتوانست با یک اسکنر لیزری ساده اسکن شود، آگاه بودند، اما یک برچسب قابل خواندن بسیار بزرگ بود.
اگرچه صنایع Litton پیشنهاد کرد که نماد چشم گاو نر به نصف بریده شود تا مساحت کاهش یابد، اما همچنان بسیار بزرگ بود و همان مشکلات چاپ لکه دار جوهر را به عنوان نماد RCA ارائه می کرد. افزونگی و قابلیت بررسی به طور کامل حذف شد. آنها همچنین از پیشنهادهای بسیاری از سرتاسر جهان آگاه بودند که هیچ یک از آنها قابل اجرا نبود.

در بهار 1972، باومایستر یک پیشرفت را اعلام کرد. او برچسبی با میلههایی پیشنهاد کرد که کمی بیشتر از فاصله تمام میلههایی بود که باید در یک پاس خوانده شوند. این برچسب را می توان با یک اسکنر ساده "X" اسکن کرد که فقط کمی پیچیده تر از اسکنر لیزری خط مستقیم است. روز بعد باومایستر پیشنهاد کرد که اگر برچسب به دو نیمه تقسیم شود، طول میله را می توان تقریباً به نصف برش داد.
این دو پیشنهاد ناحیه چشم گاو نر را یک سوم و سپس یک ششم کاهش دادند. تصویر سمت راست برچسب پیشنهاد شده توسط Baumeister را نشان می دهد. او هیچ بارکد خاصی را مشخص نکرد زیرا به خوبی درک شده بود. به جز نوار کدگذاری و ده رقمی، برچسب UPC امروز پیشنهاد او است. مدت کوتاهی پس از آن، Baumeister به منطقه دیگری از RTP منتقل شد.
Laurer اقدام به تعریف جزئیات برچسب و نوشتن یک پروپوزال کرد. NJ Woodland به عنوان برنامه ریز پروژه منصوب شد و به Laurer در نوشتن پروپوزال خود کمک کرد.
اولین تلاش Laurer با بارکد از Delta B استفاده کرد. اندازه برچسب حاصل حدود شش اینچ در سه اینچ بود که خیلی بزرگ بود. Crouse به Laurer پیشنهاد کرد که از بارکد Delta C خود استفاده کند و یک کپی از حق اختراع خود را ارائه کرد که دارای یک مجموعه حروف عددی و قوانین نمونه برای تولید الفبای اندازه های دیگر بود. این اندازه برچسب را به حدود 1.5 اینچ × 0.9 اینچ (38 میلی متر × 23 میلی متر) کاهش داد.
بعداً Laurer از Crouse در مورد چگونگی تشخیص برچسب توسط اسکنر درخواست کمک کرد. آنها با هم میله های محافظ و تعریفی از نحوه تشخیص برچسب را تعریف کردند. میلههای محافظ همچنین شناسایی برای تشخیص نیم برچسب و میلههای آموزشی برای مدارهای آستانه اسکنر ارائه میدهند. Laurer تعریف کاملی از برچسب داشت و به نوشتن پیشنهاد خود ادامه داد. [16]
قبلاً کروز ایده ای برای یک عصای ساده داشت که مانند انگشتر و دستبند پوشیده می شد. او تصمیم گرفت آن گرز را توسعه دهد تا نمایشی از برچسب ارائه دهد. [ نیازمند منبع ]
در 1 دسامبر 1972، IBM پیشنهاد Laurer را به کمیته سوپر مارکت در روچستر، مینهسوتا ، جایی که IBM اسکنر را توسعه میداد، ارائه کرد. در طول ارائه، کروز یک نمایش آزمایشگاهی ارائه داد که در آن برچسبهای UPC مانند را با عصای حلقهای خود خواند. او علاوه بر خواندن برچسب های معمولی، برچسب بزرگ دو صفحه ای در دفترچه پروپوزال را مطالعه کرد. سپس به صفحهای برگشت که عکسی از اقلام برچسبدار روی میز را نشان میداد. برچسب ها به دلیل وضوح عکس چاپ شده کوچک و معیوب بودند، اما عصا بسیاری از آنها را می خواند. این نمایش استحکام کد دلتا C خالص را نشان داد. پیشنهاد پذیرفته شد.
یک ماه بعد، در 1 ژانویه 1973 کرووس به گروه فناوری پیشرفته آیبیام بازگردانده شد و لورر مسئولیت کامل این برچسب را بر عهده داشت.
Dymo Industries ، سازندگان دستگاههای چاپ دستی، اصرار داشتند که کد مستقل از کاراکتر باشد، [ توضیح لازم است ] تا دستگاههای چاپ دستی بتوانند بارکد را در فروشگاه تولید کنند، اگر اقلام توسط تولیدکنندگان بارکد نشده باشند. پیشنهاد Dymo توسط IBM پذیرفته شد و در آخرین پیشنهاد IBM گنجانده شد.
تصمیم گرفته شد که دو نیمه برچسب باید مجموعه متفاوتی از کاراکترهای عددی داشته باشند. مجموعه کاراکتر Laurer که از پتنت دلتا C مشتق شده است از هفت افزایش یا واحد قابل چاپ استفاده می کند که در آن دو نوار و دو فاصله چاپ می شود. این بیست ترکیب از کاراکترها را به دست آورد، اما دو جفت وجود داشت که با خواندن قوانین دلتا C کد یکسانی را برای جفت به دست میداد.
از آنجایی که هجده کاراکتر کافی نبود، لور سعی کرد یک واحد را به مجموعه کاراکترها اضافه کند. این بیست و شش کاراکتر دلتا C به دست میدهد که میتواند دو مجموعه نویسه اعشاری را ارائه دهد، اما همچنین چهارده درصد به عرض برچسب و در نتیجه ارتفاع اضافه میکند. این یک افزایش سی درصدی در مساحت یا یک برچسب 1.7 در × 1.03 اینچ (43 میلی متر × 26 میلی متر) خواهد بود. لورر احساس کرد که این قابل قبول نیست.
لورر به مجموعه شخصیتهای اصلی با بیست کاراکتر بازگشت، اما چهار تای آن دو جفت با قرائت دلتا سی یکسان بودند. او تصمیم گرفت از همه آنها استفاده کند. برای تمایز بین جفت ها، او یک عرض میله را در هر یک از جفت ها اندازه می گرفت تا آنها را از یکدیگر متمایز کند. برای هر جفت، عرض آن میله ها یک یا دو واحد خواهد بود.
لورر معادلات بومیستر را در این مجموعه اعمال نکرد. او احساس کرد که اندازه گیری عرض یک میله خیلی جدی نخواهد بود. همانطور که معلوم شد برای افزایش بیش از دو برابری مساحت، به بیش از پنجاه درصد افزایش در عرض و ارتفاع نیاز داشت. لورر بعداً اعتراف کرد که این چهار شخصیت در هر مجموعه مسئول اکثر خطاهای خواندن اسکنر هستند.
دیوید ساویر، ریاضیدان، وظیفه اثبات چاپ نماد و الزامات قابلیت اطمینان را بر عهده داشت و به احتمال زیاد از معادلات باومیستر بی اطلاع بود. او و لورر دو رقم دیگر را برای تشخیص و تصحیح خطا به ده عدد اضافه کردند .
سپس آنها تصمیم گرفتند که برابری زوج و فرد را به تعداد واحدهای پر شده با میله در هر طرف اضافه کنند. برابری فرد/ زوج تکنیکی است که برای تشخیص هر تعداد فرد خطای بیت در جریان بیت استفاده می شود. آنها تصمیم گرفتند در یک نیمه از زوج و در نیمه دیگر استفاده کنند. این نشان می دهد که نیمی از بلیط خوانده شده است. این بدان معنی است که هر عرض نوار باید به طور دقیق خوانده شود تا خواندن خوب ارائه شود. همچنین به این معنی بود که هر فضا نیز شناخته می شود.
نیاز به خواندن دقیق عرض هر بیت اساساً مزیت دلتا C را به جز اندازه گیری مرجع دلتا C باطل می کند. فقط مجموعه کاراکترهای عجیب و اندازه برچسب به عنوان سایه ای از کد دلتا سی باقی می ماند. اندازه هنوز همان اندازه برای دلتا C خالص محاسبه شده بود. اگر اندازه برچسب به درستی دوباره محاسبه شده بود، با در نظر گرفتن اندازهگیریهای عرض میله مورد نیاز، برچسب خیلی بزرگتر از آن بود که قابل قبول نباشد.
مهندسی مکانیک و طراحی مدارهای الکترونیکی معمولاً به بدترین طرحها با استفاده از تلورانسهای شناخته شده نیاز دارند. بسیاری از مهندسانی که با کدهای بارکد کار می کنند تجربه کمی در مورد چنین چیزهایی داشتند و از روش های تا حدودی بصری استفاده می کردند. این دلیل عملکرد ضعیف کد دلتا B و به احتمال زیاد شکست اسکنر چشم گاو نر RCA بود.
جدول زیر برچسب های قابل کار موجود در اوایل دهه 1970 را با اندازه آنها نشان می دهد.
نوع برچسب | ابعاد برچسب | منطقه |
---|---|---|
چشم گاو نر با کد مورس | بزرگ | بزرگ |
چشم گاو نر با دلتا بی | قطر 12.0 اینچ (300 میلی متر). | 113.10 در 2 (729.7 سانتی متر مربع ) |
چشم گاو نر با دلتا A | قطر 9.0 اینچ (230 میلی متر). | 63.62 در 2 (410.5 سانتی متر مربع ) |
Baumeister 1 w/ Delta B | 6.0 اینچ × 5.8 اینچ (150 میلی متر × 150 میلی متر) | 34.80 در 2 (224.5 سانتی متر مربع ) |
باومایستر 2 نیمه با دلتا بی | 6.0 اینچ × 3.0 اینچ (152 میلی متر × 76 میلی متر) | 18.00 در 2 (116.1 سانتی متر مربع ) |
باومایستر 2 نیمه با دلتا A | 4.5 اینچ × 2.3 اینچ (114 میلی متر × 58 میلی متر) | 10.35 در 2 (66.8 سانتی متر مربع ) |
باومیستر با دلتا سی | 1.5 اینچ × 0.9 اینچ (38 میلی متر × 23 میلی متر) | 1.35 در 2 (8.7 سانتی متر مربع ) |
این به فرض یک چشم گاو نر با همان اطلاعات و خوانایی قابل اعتماد است.
ترکیب
هر بارکد UPC-A از یک نوار قابل اسکن از نوارهای سیاه و فضاهای سفید بالای یک دنباله 12 رقمی تشکیل شده است. هیچ حروف ، کاراکتر یا محتوای دیگری از هر نوع نباید در بارکد UPC-A ظاهر شود. یک تناظر یک به یک بین عدد 12 رقمی و نوار نوارهای سیاه و فاصله سفید وجود دارد، یعنی تنها یک راه برای نمایش بصری هر عدد 12 رقمی وجود دارد و تنها یک راه برای نمایش هر نوار از نوار سیاه وجود دارد. و فاصله های سفید عددی.
ناحیه قابل اسکن هر بارکد UPC-A از الگوی S LLLLLMRRRRR R E پیروی می کند ، که در آن الگوهای محافظ S (شروع)، M (وسط) و E (پایان) در هر بارکد UPC-A و L نشان داده می شوند. بخش های (چپ) و R (راست) در مجموع 12 رقم عددی را نشان می دهند که هر UPC-A را منحصر به فرد می کند. اولین رقم L یک سیستم عددی خاص را نشان می دهد که توسط ارقام زیر استفاده می شود. آخرین رقم R یک رقم بررسی خطا در تشخیص خطا است که به شما امکان می دهد برخی از خطاها را در اسکن یا ورود دستی شناسایی کنید. الگوهای محافظ دو گروه شش رقمی را از هم جدا کرده و زمان بندی را تعیین می کنند.
UPC-A | UPC-E |
---|---|
![]() |
![]() |
UPC-A 042100005264 معادل UPC-E 425261 با الگوی برابری "EOEEOO" است که توسط سیستم اعداد UPC-A 0 و رقم چک UPC-A 4 تعریف می شود.
قالب بندی
بارکدهای UPC-A را می توان در تراکم های مختلف چاپ کرد تا انواع فرآیندهای چاپ و اسکن را در خود جای دهد. پارامتر ابعادی قابل توجه، x-dimension (عرض عنصر واحد واحد) نامیده می شود. عرض هر میله (فضا) با ضرب بعد 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 را می توان از 80% کاهش داد یا بزرگنمایی کرد 200 درصد
یک منطقه ساکت، با عرض حداقل 9 برابر x-dimension، باید در هر طرف ناحیه قابل اسکن بارکد UPC-A وجود داشته باشد. [17] [18] برای یک عدد GTIN-12 که در یک بارکد UPC-A کدگذاری شده است، اولین و آخرین رقم تفسیر قابل خواندن توسط انسان همیشه در خارج از نماد قرار می گیرد تا مناطق ساکتی را که برای بارکد UPC لازم است نشان دهد. اسکنرها به درستی کار کنند
رمزگذاری
ارزش | رمزگذاری L | رمزگذاری R | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 3 | 2 | 1 | 1 | 3 | 2 | 1 | 1 | |||||||
1 | 2 | 2 | 2 | 1 | 2 | 2 | 2 | 1 | |||||||
2 | 2 | 1 | 2 | 2 | 2 | 1 | 2 | 2 | |||||||
3 | 1 | 4 | 1 | 1 | 1 | 4 | 1 | 1 | |||||||
4 | 1 | 1 | 3 | 2 | 1 | 1 | 3 | 2 | |||||||
5 | 1 | 2 | 3 | 1 | 1 | 2 | 3 | 1 | |||||||
6 | 1 | 1 | 1 | 4 | 1 | 1 | 1 | 4 | |||||||
7 | 1 | 3 | 1 | 2 | 1 | 3 | 1 | 2 | |||||||
8 | 1 | 2 | 1 | 3 | 1 | 2 | 1 | 3 | |||||||
9 | 3 | 1 | 1 | 2 | 3 | 1 | 1 | 2 |
بارکد 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 ماژول عرض دارند و از الگوی bar-space-bar استفاده می کنند که در آن هر نوار و فاصله یک ماژول عرض دارد. الگوی محافظ M (وسط) 5 ماژول عرض دارد و از الگوی space-bar-space-bar-space استفاده میکند که در آن هر نوار و فاصله یک ماژول نیز عرض دارد. علاوه بر این، یک نماد UPC-A به یک منطقه آرام (فضای اضافی با عرض 9 ماژول) قبل از S (شروع) و بعد از الگوهای محافظ E (پایان) نیاز دارد.
منطقه آرام |
S (شروع) |
L (رقم عددی سمت چپ) |
M (وسط) |
R (رقم عددی سمت راست) |
E (پایان) |
منطقه آرام | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | |||||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
ارقام سمت چپ UPC-A (اعداد سمت چپ الگوی محافظ M (وسط) دارای برابری فرد هستند، که به این معنی است که عرض کل نوارهای سیاه تعداد فرد ماژول است. برعکس، ارقام سمت راست دارای برابری یکنواخت هستند. در نتیجه، یک اسکنر UPC می تواند تعیین کند که آیا یک نماد را از چپ به راست یا از راست به چپ اسکن می کند (نماد وارونه است). پس از دیدن یک الگوی محافظ S (شروع) یا E (پایان) (که یکسان هستند، نوار فاصله-نوار ، در هر جهتی که خوانده شوند)، اسکنر ابتدا ارقام برابری فرد را می بیند، اگر از چپ به راست اسکن شود. یا حتی ارقام برابری، در صورت اسکن از راست به چپ. با اطلاعات برابری/جهت، یک نماد وارونه اسکنر را گیج نمی کند. هنگامی که با یک نماد وارونه مواجه میشوید، اسکنر ممکن است به سادگی آن را نادیده بگیرد (بسیاری از اسکنرها اسکنهای چپ به راست و راست به چپ را جایگزین میکنند، بنابراین نماد را در یک پاس بعدی میخوانند) یا ارقام را تشخیص داده و قرار میدهند. به ترتیب درست ویژگی دیگری در رمزگذاری رقم وجود دارد. ارقام سمت راست معکوس نوری ارقام سمت چپ هستند، یعنی نوارهای سیاه به فضاهای سفید تبدیل می شوند و بالعکس. به عنوان مثال، سمت چپ "4" فاصله × 1 - نوار × 1 - فاصله × 3 - نوار × 2 است ، در حالی که سمت راست "4" نوار × 1 - فاصله × 1 - نوار×3 - است. فضا×2 .
شماره گذاری
تعداد بارکدهای UPC-A و UPC-E با توجه به استانداردهای مورد استفاده برای ایجاد آنها محدود است.
- UPC-A
- UPC-E
رقم سیستم اعداد
در زیر شرحی از تمام سیستم های اعداد ممکن با طرح شماره گذاری 12 رقمی UPC-A LLLLLRRRRR R ارائه شده است ، که در آن L رقم سیستم شماره گذاری و R رقم بررسی است.
- 0–1، 6–9
- برای اکثر محصولات ارقام LLLLL کد سازنده (تخصیص داده شده توسط سازمان محلی GS1 ) و ارقام RRRRR کد محصول هستند.
- 2
- برای استفاده محلی (فروشگاه/انبار)، برای اقلام فروخته شده با وزن متغیر رزرو شده است. اقلام با وزن متغیر، مانند گوشت، میوه های تازه یا سبزیجات، در صورتی که در آنجا بسته بندی شده باشند، توسط فروشگاه یک شماره کالا به آنها اختصاص می دهد. در این مورد، LLLLL شماره اقلام است، و RRRRR یا وزن یا قیمت است، با اولین R تعیین می کند که کدام (0 برای وزن).
- 3
- داروها بر اساس شماره کد ملی دارو (NDC). داروسازی ها در ایالات متحده از 10 رقم میانی UPC به عنوان شماره NDC خود استفاده می کنند. اگرچه معمولاً فقط داروهای بدون نسخه در محل فروش اسکن می شوند، UPC های مبتنی بر NDC در بسته های داروهای تجویزی و محصولات جراحی استفاده می شوند و در این مورد معمولاً کدهای UPN نامیده می شوند. [19]
- 4
- برای استفاده محلی (فروشگاه/انبار)، اغلب برای کارت های وفاداری یا کوپن های فروشگاه رزرو شده است.
- 5
- کوپن ها ارقام LLLLL ارقام 2-6 از پیشوند UPC محصول هستند، سه رقم RRR بعدی یک کد خانواده (تنظیم شده توسط سازنده یا ارائه شده توسط اتاق تسویه کوپن) و دو RR بعدی یک کد ارزشی هستند (مطابق با مقدار GS1). جدول کد)، که میزان تخفیف را تعیین می کند. این کوپن ها می توانند دو یا سه برابر شوند. [20]
محاسبه رقم را بررسی کنید
UPC شامل یک رقم چک برای تشخیص خطاهای رایج ورود داده ها است. به عنوان مثال، کدهای UPC-A برای برآورده کردن معادله رقم چک، رقم چک را انتخاب میکنند :
اگر کد وارد شده معادله را برآورده نکند، یک UPC-A معتبر نیست.
رقم چک UPC-A ممکن است به صورت زیر محاسبه شود:
- ارقام را در موقعیت های فرد (اول، سوم، پنجم،...، یازدهم) جمع کنید.
- حاصل را در 3 ضرب کنید.
- مجموع ارقام را در موقعیت های زوج (دوم، چهارم، ششم،...، دهم) به نتیجه اضافه کنید.
- مدول حاصل 10 (یعنی باقیمانده، وقتی بر 10 تقسیم شود) را پیدا کنید و آن را M بنامید .
- اگر M صفر باشد، رقم چک 0 است. در غیر این صورت رقم چک 10 - M است .
به عنوان مثال، در یک بارکد UPC-A "03600029145 x 12 "، که در آن x 12 رقم چک ناشناخته است، x 12 ممکن است توسط:
- ارقام فرد را جمع کنید (0 + 6 + 0 + 2 + 1 + 5 = 14).
- حاصل را در 3 ضرب کنید (14 × 3 = 42).
- ارقام زوج را اضافه کنید (42 + (3 + 0 + 0 + 9 + 4) = 58).
- مدول نتیجه 10 را بیابید (58 mod 10 = 8 = M ).
- اگر M 0 نیست، M را از 10 کم کنید ( 10 - M = 10 - 8 = 2 ).
بنابراین، رقم بررسی x 12 2 است.
معادله رقم چک به گونهای انتخاب میشود که ویژگیهای تشخیص خطای معقولی داشته باشد (به الگوریتم Luhn مراجعه کنید ).
- UPC-A می تواند 100% خطاهای تک رقمی را تشخیص دهد.
- خطای تک رقمی به این معنی است که دقیقا یک رقم اشتباه است. مدول اختلاف 10 رقم اشتباه و رقم صحیح d باشد . مقدار d نمی تواند صفر باشد زیرا به این معنی است که ارقام یکسان هستند، اما d می تواند هر مقدار دیگری در {1، 2، 3، 4، 5، 6، 7، 8، 9} باشد. اگر رقم خطا در موقعیت فرد باشد (وزن 1)، سمت چپ معادله رقم چک با d تغییر می کند و معادل دیگر صفر نیست. اگر رقم خطا در موقعیت زوج باشد (وزن 3)، آنگاه سمت چپ 3 روز تغییر می کند ، اما این تغییر نیز مدول 10 غیر صفر است، بنابراین معادله رقم چک برآورده نمی شود.
- UPC-A می تواند حدود 89 درصد از خطاهای انتقال را تشخیص دهد. به طور خاص، اگر و فقط اگر تفاوت بین دو رقم مجاور 5 باشد، UPC-A نمی تواند جابجایی آنها را تشخیص دهد.
- اگر 2 رقم همسایه جابهجا شوند، یکی از ارقام a با 1 وزن میشود و رقم دیگر b = a + d با 3 وزن میشود که d تفاوت بین دو رقم است. اگر ارقام به ترتیب صحیح خود بودند، مشارکت می کردند
- در سمت چپ معادله رقم چک. در ترتیب جابجایی، آنها مشارکت می کنند
- .
- به LHS کم کردن این دو سهم نشان می دهد که آنها چقدر LHS را تغییر می دهند:
- تا زمانی که تغییر مدولار غیرصفر باشد، خطا شناسایی خواهد شد. اگر 2d ≡ 0 مدول 10، آنگاه تغییر تشخیص داده نخواهد شد. در نتیجه، تنها زمانی که تفاوت کاراکتر d ≡ 5 باشد ، یک خطا شناسایی نمی شود (زمانی که d ≡ 0، "تغییر" منحط یک خطا نیست).
- بعد در نظر بگیرید که یک جابجایی چقدر فاصله d برابر با 5 دارد.
- اگر 2 رقم همسایه جابهجا شوند، یکی از ارقام a با 1 وزن میشود و رقم دیگر b = a + d با 3 وزن میشود که d تفاوت بین دو رقم است. اگر ارقام به ترتیب صحیح خود بودند، مشارکت می کردند
- در اینجا جدول d-transpositions برای بارکدهای UPC-A آمده است
جدول d -transpositions برای بارکدهای UPC-A دشماره0 1 2 3 4 5 6 7 8 9 1 0 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 2 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 3 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 4 3 3 3 4 3 5 3 6 3 7 3 8 3 9 5 4 4 4 5 4 6 4 7 4 8 4 9 6 5 5 5 6 5 7 5 8 5 9 7 6 6 6 7 6 8 6 9 8 7 7 7 8 7 9 9 8 8 8 9 10 9 9 مجموع 10 18 16 14 12 10 8 6 4 2
- مجموع ردیف حاوی تعداد d -transpositions است، بنابراین نسبت خطاهای جابجایی غیرقابل شناسایی است (با نادیده گرفتن جابهجایی که در آن d = 0 ):
-
- ▯
-
- مجموع ردیف حاوی تعداد d -transpositions است، بنابراین نسبت خطاهای جابجایی غیرقابل شناسایی است (با نادیده گرفتن جابهجایی که در آن d = 0 ):
تغییرات
UPC در رایج ترین کاربرد آن از نظر فنی به UPC-A اشاره دارد.
انواع دیگر UPC وجود دارد:
- UPC-B یک نسخه 12 رقمی UPC بدون رقم چک است که برای کد ملی دارو (NDC) و کد موارد مرتبط با سلامت ملی توسعه یافته است. [21] [ تأیید ناموفق ] دارای 11 رقم به اضافه یک کد محصول 1 رقمی است و مورد استفاده رایج نیست. [22]
- UPC-C یک کد 12 رقمی با کد محصول و یک رقم چک است. در استفاده رایج نیست [22]
- UPC-D یک کد با طول متغیر (12 رقم یا بیشتر) است که رقم دوازدهم آن رقم چک است. این نسخه ها مورد استفاده رایج نیستند.
- UPC-E یک کد 6 رقمی است که معادل آن در کد 12 رقمی UPC-A با سیستم شماره 0 یا 1 است.
- UPC-2 یک مکمل 2 رقمی برای UPC است که برای نشان دادن نسخه یک مجله یا نشریه استفاده می شود.
- UPC-5 یک مکمل 5 رقمی برای UPC است که برای نشان دادن قیمت خرده فروشی پیشنهادی برای کتاب ها استفاده می شود.
UPC-E
برای اجازه دادن به استفاده از بارکدهای UPC در بستههای کوچکتر، جایی که ممکن است یک بارکد کامل 12 رقمی مناسب نباشد، یک نسخه صفر سرکوبشده از UPC به نام UPC-E ساخته شد که در آن رقم سیستم اعداد، همه صفرهای انتهایی در سازنده است. کد، و تمام صفرهای اول در کد محصول، سرکوب می شوند (حذف می شوند). [23] این نماد شناسی با UPC-A متفاوت است زیرا فقط از یک کد 6 رقمی استفاده می کند، از الگوی نگهبان M (وسط) استفاده نمی کند، و الگوی محافظ E (انتها) به صورت فاصله-bar-space-bar- تشکیل می شود. space-bar ، یعنی بارکد UPC-E از الگوی SDDDDDDE پیروی می کند. روشی که در آن یک UPC-E 6 رقمی به یک UPC-A 12 رقمی مربوط می شود، توسط الگوی عددی UPC-E و الگوی برابری UPC-E تعیین می شود. این فقط می تواند با سیستم اعداد UPC-A 0 یا 1 مطابقت داشته باشد که مقدار آن به همراه رقم بررسی UPC-A، الگوی برابری UPC-E رمزگذاری را تعیین می کند. با ارقام کد سازنده که با M و ارقام کد محصول با P نشان داده می شوند، سپس:
آخرین رقم UPC-E | الگوی عددی UPC-E | معادل UPC-A | شماره محصولات موجود |
---|---|---|---|
0 | MMPPP0 | 0 یا 1 + MM000-00PPP + رقم چک | PPP = 000-999 |
1 | MMPPP1 | 0 یا 1 + MM100-00PPP + رقم چک | PPP = 000-999 |
2 | MMPPP2 | 0 یا 1 + MM200-00PPP + رقم چک | PPP = 000-999 |
3 | MMMPP3 | 0 یا 1 + MMM00-000PP + رقم چک | PP = 00-99 |
4 | MMMMP4 | 0 یا 1 + MMMM0-0000P + رقم چک | P = 0-9 |
5 | MMMMM5 | 0 یا 1 + MMMMM-00005 + رقم چک | 5 = P |
6 | MMMMM6 | 0 یا 1 + MMMMM-00006 + رقم چک | 6 = P |
7 | MMMMM7 | 0 یا 1 + MMMMM-00007 + رقم چک | 7 = P |
8 | MMMMM8 | 0 یا 1 + MMMMM-00008 + رقم چک | 8 = P |
9 | MMMMM9 | 0 یا 1 + MMMMM-00009 + رقم چک | 9 = P |
به عنوان مثال، یک UPC-E 654321 ممکن است با UPC-A 065100004327 یا 165100004324 مطابقت داشته باشد، بسته به الگوی برابری UPC-E ارقام رمزگذاری شده، همانطور که در ادامه توضیح داده شده است:
رقم چک UPC-A |
الگوی برابری UPC-E برای UPC-A سیستم شماره 0 |
الگوی برابری UPC-E برای UPC-A سیستم شماره 1 |
---|---|---|
0 | EEEOOO | OOOEEE |
1 | EEOEOO | OOEOEE |
2 | EEOOEO | OOEEOE |
3 | EEOOOE | OOEEEEO |
4 | EOEEOO | OEOOEE |
5 | EOOEEO | OEEOOE |
6 | EOOOEE | OEEEEOO |
7 | EOEOEO | OEOEOE |
8 | EOEOOE | OEOEEO |
9 | EOOEOE | OEEOEO |
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.
بارکد به شکل زیر خواهد بود:

EAN-13
EAN -13 به عنوان یک ابرمجموعه UPC-A توسعه داده شد که یک رقم اضافی به ابتدای هر عدد UPC-A اضافه می کند. این امر تعداد مقادیر منحصر به فرد را که از لحاظ نظری ممکن است ده برابر به 1 تریلیون افزایش داد. بارکدهای EAN-13 همچنین نشاندهنده کشوری هستند که شرکتی که محصول را میفروشد در آن مستقر است (که ممکن است با کشوری که کالا در آن تولید میشود یکی باشد یا نباشد). با توجه به کدهای کشور GS1 ، سه رقم اصلی کد این موضوع را تعیین میکند . هر کد UPC-A را می توان به راحتی با اضافه کردن 0 رقم به کد UPC-A به کد EAN-13 معادل تبدیل کرد. این رقم چک را تغییر نمی دهد . همه سیستمهای نقطه فروش اکنون میتوانند هر دو را به یک اندازه درک کنند.
EAN-8 یک تغییر 8 رقمی از بارکد EAN است.
نکات استفاده از UPC:
- تمام محصولاتی که با EAN علامت گذاری شده اند، در حال حاضر در آمریکای شمالی پذیرفته می شوند، علاوه بر محصولاتی که قبلاً با UPC علامت گذاری شده اند.
- محصولات با UPC موجود نیازی به علامت گذاری مجدد با EAN ندارند.
- در آمریکای شمالی، EAN 30٪ کدهای بیشتری را اضافه می کند، عمدتاً با افزودن ارقام 10 تا 12 به ارقام UPC 00 تا 09. این یک انگیزه قوی برای حذف تدریجی UPC است.
همچنین ببینید
مراجع
- ↑ «نمودار بارکد GS1». GS1 ایالات متحده 3 آوریل 2013. بایگانی شده از نسخه اصلی در 7 ژانویه 2012 . بازیابی شده در 7 جولای 2011 .
- ^ بسکر، ایمک؛ سیمکو، تیموتی (2021). "بالا، پایین دست: انتشار و تاثیرات کد جهانی محصول". مجله اقتصاد سیاسی . 129 (4): 1252-1286. doi : 10.1086/712762. ISSN 0022-3808. S2CID 229505646. بایگانی شده از نسخه اصلی در 17 مه 2021 . بازبینی شده در 14 مارس 2021 .
- ↑ ثبت اختراع ایالات متحده 2612994، Woodland, Norman J. & Silver, Bernard , "Classifying Apparatus and Method" صادر شده در 7 اکتبر 1952
- ^ ab "UPC - تحول خرده فروشی". آی بی ام 7 مارس 2012. بایگانی شده از نسخه اصلی در 12 نوامبر 2021 . بازبینی شده در 12 نوامبر 2021 .
- ↑ «تاریخچه مختصر بارکد». درخواست کنید . 153 (3): 42. مارس 2010. بایگانی شده از نسخه اصلی در 1 ژوئن 2016.
- ↑ «تاریخ نوآورانه ما – اولینهای مککینزی». mckinsey.com 2013. بایگانی شده از نسخه اصلی در 12 اکتبر 2013.(به اسلاید 10 از 18 مراجعه کنید)
- ↑ نلسون، بنجامین (1997). کارت های پانچ شده به بارکدها: سفری 200 ساله با شرح بیش از 260 کد . Peterborough, NH: Helmers Publishing. شابک 978-091126112-7.
- ↑ آلفرد، رندی (26 ژوئن 2008). "26 ژوئن 1974: توسط آدامس! راه جدیدی برای خرید آدامس وجود دارد". سیمی . بایگانی شده از نسخه اصلی در 24 اوت 2010.
- ^ هلر، ناتان. "اسکن گونه". مجله هاروارد . سپتامبر – اکتبر 2005.
- ↑ «تاریخچه بارکد». اسمیتسونیان 23 سپتامبر 2015. بایگانی شده از نسخه اصلی در 9 فوریه 2022 . بازبینی شده در 12 اوت 2021 .
- ↑ «تاریخ شفاهی: موری ادن - ویکی تاریخچه مهندسی و فناوری». ethw.org 10 نوامبر 1999. بایگانی شده از نسخه اصلی در 21 ژانویه 2021 . بازبینی شده در 4 ژانویه 2021 .
- ^ کمیسیون ملی بهره وری و کیفیت کار (1975). فناوری کاربردی در صنایع غذایی: گزارش مقدماتی. ص 15. بایگانی شده از نسخه اصلی در 19 مارس 2022 . بازبینی شده در 14 ژانویه 2021 .
- ↑ هابرمن، آلن ال. (2001). بیست و پنج سال پشت میله ها: مجموعه مقالات بیست و پنجمین سالگرد UPC در موسسه اسمیتسونیان، 30 سپتامبر 1999. کمیته انتشارات Wertheim دانشگاه هاروارد. ص 74، 108. شابک 978-0-674-00657-7.
- ↑ کازانووا، استفانی (18 اوت 2020). موری ادن، مهندس زیست پزشکی و عاشق آواز خواندن، در 99 سالگی در توسان درگذشت. آریزونا دیلی استار . بایگانی شده از نسخه اصلی در 14 ژانویه 2021 . بازبینی شده در 14 ژانویه 2021 .
- ↑ راث، براد (17 آوریل 2020). "موری ادن". متوسط بایگانی شده از نسخه اصلی در 21 ژانویه 2021 . بازبینی شده در 14 ژانویه 2021 .
- ↑ «اعضای تالار مشاهیر فارغ التحصیلان». انجمن فارغ التحصیلان دانشگاه مریلند دانشگاه مریلند. 2005. بایگانی شده از نسخه اصلی در 23 ژوئن 2007 . بازیابی شده در 10 ژوئن 2009 .
جورج لورر پس از فارغ التحصیلی از مریلند در سال 1951، به عنوان یک مهندس جوان به IBM پیوست و در رتبه های بالاتر تا مهندس ارشد کار کرد. در سال 1969، او به بخش فنی مهندسی بازگشت و بعداً وظیفه مهم طراحی کد و نماد برای شناسایی محصول برای شورای کد یکنواخت محصولات خواربارفروشی به او محول شد. راه حل او - کد جهانی محصول - به طور اساسی دنیای خرده فروشی را تغییر داد. از آن زمان، او کد را با افزودن یک رقم سیزدهم افزایش داده است.
- ^ rainman_63 (6 آوریل 2005). "طراحی بارکدهای UPC-A با سی شارپ". codeproject.com . بایگانی شده از نسخه اصلی در 29 اوت 2011 . بازیابی شده در 7 جولای 2011 .
{{cite web}}
: CS1 maint: نام های عددی: فهرست نویسندگان ( پیوند ) - ^ راهنمای مشخصات نماد UPC. شورای کد یکنواخت . 1986.
- ↑ «بارکد برای محصولات دارویی و جراحی». UPCs.com 24 مارس 2022. بایگانی شده از نسخه اصلی در 28 فوریه 2023 . بازبینی شده در 28 فوریه 2023 .
- ↑ «بارکد برای کوپن». SimplyBarcodes.com بایگانی شده از نسخه اصلی در 16 فوریه 2022 . بازبینی شده در 16 فوریه 2022 .
- ↑ «NHRIC (کد اقلام مرتبط با سلامت ملی)». HealthData . وزارت بهداشت و خدمات انسانی ایالات متحده. بایگانی شده از نسخه اصلی در 8 مارس 2021 . بازبینی شده در 12 اکتبر 2015 .
- ^ ab "Bar Code 1: Web of Information about Bar Code UPC and EAN Bar Code Page". ارتباطات آدامز 20 ژوئن 2013. بایگانی شده از نسخه اصلی در 8 مارس 2021 . بازیابی شده در 10 جولای 2019 .
- ↑ "نمادشناسی UPC-A – اطلاعات پس زمینه UPC-E و تبدیل UPC-A به UPC-E". barcodeisland.com . بایگانی شده از نسخه اصلی در 26 فوریه 2020 . بازبینی شده در 21 ژانویه 2013 .
در ادامه مطلب
- US 3832686, Bilgutay, Ilhan M., "Bar Code Font" منتشر شده در 11 مه 1972، صادر شده در 27 اوت 1974
- US 3145291، Brainerd، HB، "سیستم شناسایی"، منتشر شده در 2 ژوئیه 1959، صادر شده در 18 آوریل 1964 بارکد راه آهن.
- US 3617707, Shields, Charles B. & Stapelfeldt, Roelif, "Automatic car identification system" منتشر شده در 17 اوت 1967، صادر شده در 2 نوامبر 1971
- US 3723710, Crouse, William G. & Jones, John E., "روش و دستگاه برای خواندن و رمزگشایی یک بارکد خودکار با چگالی بالا" منتشر شده در 28 ژوئن 1971، صادر شده در 27 مارس 1973
لینک های خارجی
- تاریخچه UPC - موزه تاریخ ID - جایی که تاریخچه UPC در ماشین Wayback زندگی می کند (بایگانی شده در 7 ژوئیه 2019)
- UPC-Search.org پایگاه داده آنلاین رایگان UPCها
- پیشوند شرکت GS1 لیست سه رقمی پیشوند GS1 که کشور مبدا شرکت را در کد UPC نشان می دهد (الزاماً کشور سازنده نیست)