作者:陈广 日期:2019-7-25
本文所用部分类型条码可通过以下程序生成,物联网专业学生出品,相当不错。
20 世纪 40 年代后期,美国的一们工程师乔•伍德兰德(Joe Woodland)决心发明一种自动的超市结账系统,因为手工计算价格太慢,而且费用较高,经常出错。他和贝尼•西尔佛(Beny Silver)开始研究用条码表示食品项目并开发相应的自动识别设备,并于 1949 年获得了美国专利,这种条码备案如图 3-1 所示,被称作公牛眼条码。遗憾的是当时的商品经济还不十分发达,而且工艺上也没有达到印刷这种条码的水平,因此该条码没有被普遍使用。
--- Joe Woodland图像和公牛眼条码图片
1951 年伍德兰德加入了 IBM,在这之后他和西尔佛两人也在一直研究可以扫码的机器,然而机器过于笨重和昂贵,这导致他们的研究一直不能被放入实际应用中。直到 20 年后,另一项技术的出现使扫描成为可能:激光。扫描器终于被发明出来并投入使用。乔•伍德兰德作为 IBM 公司的工程师成为北美地区的统一代码 —— UPC 的奠基人。
到了 70 年代早期,超市利润率萎缩,劳动成本上升,非常需要条码这种工具。 但是,自动结算系统的运转,需要超市和包装品公司就标准条码问题达成一致,从而将条形解译为价格。如果各家商店使用不兼容的条码,将会出现混乱。于是 1973 年,美国统一代码委员会(Uniform Code Council,UCC)成立,于同年建立 UPC 商品条码应用系统,并公布了 UPC 条码标准。食品杂货业把 UPC 商品条码作为该行业的通用商品标识,对条码技术在商业流通领域里的广泛应用起到了积极的推动作用。1974 年,戴维•阿利尔推出 39 条码,很快被美国国防部所采纳,作为军号用条码码制。39 条码是第一个字母、数字式的条码,后来广泛应用于工业领域。
1976 年,美国和加拿大在超市中成功地使用了 UPC 商品条码应用系统,这给人以很大的鼓舞,尤其使欧洲人产生了很大的兴趣。1977年,欧共体在 12 位的 UPC-A 商品条码的基础上,开发出了与 UPC-A 商品条码兼容的欧洲物品编码系统(European Article Numbering System,简称 EAN 系统),并签署了欧洲物品编码协议备忘录,正式成立了物流物品编码协会(European Article Numbering Association,EAN)。1981 年,由于 EAN 已发展成为一个国际性组织,因而改称为“国际物品编码协会”(International Article Numbering Association,EAN International)。
1981 年,128 条码由 Computer-Identics 公司推出。1982 年,93 条码投入使用。这两种条码的符号密度均比 39 条码高将近 30%。随着条码技术的发展和条码码制种类不断增加,条码的标准化显得越来越重要。为此,美国曾先后制定了军号用标准:交叉 25 条码、39 条码和 Codabar 条码等 ANSI 标准。同时,一些行业也开始建立行业标准,以适应发展的需要。
从 20 世纪 80 年代中期开始,我国的一些高等院校、科研部门及一些出口企业,把条码技术的研究和推广逐步提到议事日程。一些行业如图书、邮电、物资管理部门和外贸部门已开始使用条码技术。1988 年 12 月 28 日,经国务院批准,国家技术监督局成立了“中国物品编码中心”。该中心的任务是研究、推广条码技术;统一组织、开发、协调、管理我国的条码工作。1991 年 4 月,中国物品编码中心代表我国加入国际物品编码协会(EAN),为全面开展我国条码工作创造了先决条件。
自 1988 年成立以来,中国物品编码中心一直致力于推广 GS1 全球统一编码标识系统在我国的广泛应用。商品条码是这套 GS1 全球技术体系的基础和核心,相当于商品在全球流通的“身份证”和“通行证”。截至目前,中国物品编码中心累计为我国 50 多万家企业、上亿种产品赋予了全球唯一“身份证”,在促进我国商业现代化、现代物流的发展以及对外贸易等方面作出了巨大贡献。
一家企业的产品要进驻大型超市上架销售,一般要求产品包装上必须有条码。企业要使用条码来标识自己的产品,必须按照国家规定向国家物品编码中心申请。物品编码中心规定:依法取得营业执照和相关合法经营资质证明的生产者、销售者和服务提供者,可以申请注册厂商识别代码。企业可以通过网上或编码中心各地分支机构窗口办理注册手续,网上办理地址:
http://mis.ancc.org.cn/anccoh/
企业获得厂商识别代码后,按标准自行编制商品项目代码,并通过中国商品信息服务平台通报编码信息。厂商代码有效期为两年,期满后应进行复审。
在 GS1 标准体系中,定义了 3 种代码结构:13 位、12 位和 8 位,分别用 EAN-13、UPC-A 和 EAN-8 条码来表示,并适用不同的情形。
EAN 条码包括 EAN-13 和 EAN-8 两种,都是由代码及条码符号构成,对于全球流通的商品标示必须使用该类条码。EAN 条码是全球公认的商品条码,也常用于超市的店内散装物品标识。
EAN-13 代码主要包括 13 位零售商品代码和 13 位零售商品店内码代码两种,前者可在国际范围内通过扫码流通和销售,后者只能用于某一零售店内部的交易过程。
我国的 13 位零售商品代码由厂商识别代码、商品项目代码、校验码三部分组成。其代码由 GS1 系统、中国物品编码中心以及系统成员共同编写完成,主要编码分配模式如下图所示:
13 位零售商品代码按照厂商申请的厂商识别代码位数的不同,共有四种结构形式:
厂商识别码由 7~10 位数字组成,依法取得营业执照和相关合法经营资质证明的生产者、销售者和服务提供者,可以申请注册厂商识别代码,中国物品编码中心负责分配和管理。
厂商识别代码的前 3 位代码为前缀码,国际物品编码协会已分配给中国物品编码中心的前缀码为 690~699,根据厂商识别码的位数不同,13 位零售商品代码共有四种结构形式。对于中国来说,不同前缀码对应不同的结构形式。其中690、691采用结构一,692~696采用结构二,697采用结构三,698 和 699 两个前缀码我国尚未启用。国际物品编码协会已分配给国家(地区)编码组织的部分前缀码见下表,完整前缀码分配表可登录中国物品编码中心网站查询。
前缀码 | 编码组织所在国家(地区)/应用领域 |
---|---|
000~019 030~039 060~139 |
美国 |
020~029 040~049 200~299 |
店内码 |
050~059 990~999 |
优惠券 |
400~440 | 德国 |
613 | 阿尔及利亚 |
615 | 尼日利亚 |
627 | 科威特 |
690~699 | 中国 |
950 | GS1总部 |
951 | GS1总部(产品电子代码) |
960~969 | GS1总部(缩短码) |
977 | 连续出版物 |
978~978 | 图书 |
980 | 应用票据 |
注意,图书的前缀码统一为 978~979,它是不分国家的。
商品项目代码由 2~5 位数字组成,一般由厂商编制,也可由中国物品编码中心负责编制。不难看出,由 2 位数字组成的商品项目代码有 00~99 共 100 个编码容量,可以标识 100 种商品。同理,3 位商品项目代码可以标识 1000 种商品,4 位商品项目代码可以标识 10000 种商品,而由 5 位数字组成的商品项目代码则可以标识多达 100000 种商品。
校验码为 1 位数字,用于检验整个编码的正误。校验码的计算方法是:首先确定代码位置序号。代码位置序号是指包括校验码在内的,由右至左的顺序号(校验码的代码位置序号为1)。
校验码的计算步骤如下:
上图中,小瓶矿泉水条码为:6921168511280
,大瓶矿泉水条码为:6921168509256
。可到以下网址查询条码所对应的产品信息:
http://www.ancc.org.cn/Service/queryTools/internal.aspx
692前缀表明厂商识别码为 8 位数字,即69211685
代表了 “农夫山泉股份有限公司”。1128
是“农夫山泉饮用天然水380ml”的编码,最后一位0
是校验码;0925
是“农夫山泉饮用天然水550ml”的编码,校验码为6
。
接下来以6921168509256
为例计算最后一位校验码6
是否正确。首先给每位代码编制位置序号:
步骤 | 举例说明 |
---|---|
从序号[2]开始求出偶数位上数字之和① | 5+9+5+6+1+9=35 ① |
①×3=② | 35*3=105 ② |
从序号[3]开始求出奇数位上数字之和③ | 2+0+8+1+2+6=19 ③ |
②+③=④ | 105+19=124 ④ |
用10减去结果④中的个位数,即为校验码的值 | 10-4=6 校验码=6 |
前缀码为 20~24 的商品条码,为零售店内部使用的条码,属于商品条码的一种,店内条码使用的码制也为 EAN-13。有如下四种代码结构:
......等待完成
EAN-8 代码由前缀码、商品项目代码和校验码三部分组成,其结构如下所示:
0
,然后按照 EAN-13 代码计算。8 位零售商品代码留给商品项目代码的空间极其有限。以前缀码 690 为例,只有 4 位数字可以用于商品项目的编码,即只可以标识 10000 种商品。因此如非确有必要,8 位的零售商品代码应当慎用。
在我们,由中国物品编码中心对 8 位零售商品代码进行统一分配,以确保代码在全球范围内的唯一性,厂商不得自行分配,已经注册使用了 EAN-13 商品条码的企业,当商品的包装较小,且符合以下任意一个条件时,才能额外注册使用缩短码 EAN-8:
随着印刷及识别技术的不断提升,现在已经很少能见到使用 EAN-8 条码的商品了,比如我们经常使用的签字笔,虽然印刷面积非常小,但依旧可以使用 EAN-13 条码。
UPC 条码是用来表示 UCC-12 商品标识代码的条码符号,由美国统一代码委员会(UCC)制定的条码码制,主要用于美国和加拿大区。UPC 条码可以用 UPC-A 和 UPC-E 两种商品条码的符号来表示。UPC-A 是 12 位代码的条码符号表示,UPC-E 是特定条件下将 12 位代码消0
后得到的 8 位代码的符号表示。
需要指出,当产品出口到北美地区并且客户指定时,企业才需要申请使用 12 位代码。中国厂商如需申请 12 位商品代码,需经中国物品编码中心统一办理。
12 位代码由厂商识别代码、商品项目代码和校验码组成,其结构如下图所示:
系统字符 | 应用范围 |
---|---|
0,6,7 | 一般商品 |
2 | 商品变量单元 |
3 | 药品及医疗用品 |
4 | 零售商店内码 |
5 | 代金券 |
1,8,9 | 保留 |
0
后按照 13 位代码结构校验码的计算方法计算。UPC-E 是标准尺寸的 UPC-A 数字条码的压缩版,用于杂货店和其他零售场所。压缩版主要用于包装上没有足够面积显示全尺寸 UPC-A 条码的小尺寸产品。需要注意的是,每个 UPC-E 条码都对应一个 UPC-A 条码,它只是那一个 UPC-A 条码的压缩后的版本。
商品条码标识系统是在物流供应链中广泛应用的物品标识系统,能够实现上下游企业间信息传递的“无缝”对接。箱码(Case Code)是商品外箱上使用的条码标识,企业在订货、配送、收货、库管、发货、送货及退货等物流过程中扫描箱码后,相关信息便自动记录到企业信息系统中,实现数据的自动采集与分析,从而降低物流成本,提升企业效率。系列货运包装箱代码(SSCC)是为物流单元,如:托盘、集装箱等,提供的唯一标识。在物流配送过程中,企业仅需扫描 SSCC,便实现对整个托盘/集装箱产品信息的采集,从而大幅提升供应链效率。
箱码是商品外包装箱上使用的条码标识,是商品订货、批发、配送及仓储等流通过程中应用的条码符号,专业术语称为储运包装商品条码(详见 GB/T 16830-2008)或非零售商品条码。箱码有三种形式:
如上图所示,单瓶矿泉水上使用的是 EAN-13 条码,而矿泉水较少成箱出售,所以 24 瓶矿泉水的包装箱上使用的是 ITF-14 条码,仅用于物流仓储环节。这种情况下的 ITF-14 箱码有两种编码方法:
0
,构成 14 位代码。很明显图中的矿泉水包装箱用的是这种方式。如上图所示,超市内的啤酒可单瓶购买,但人们也喜欢成箱购买。此时重新编制一个区别于内装产品的 EAN-13 条码,在结算时只需扫描箱码便可结算。
ITF-14 条码由矩形保护框、左侧空白区、起始符、7 对数据符、终止符、右侧空白区组成,如下图所示:
储运包装商品 14 位代码结构如下表所示:
储运包装商品 14 位代码中的第 1 位数字为包装指示符,用于指示储运包装商品的不同包装级别,取值范围为:1,2,...,8,9。其中:1~8用于定量储运包装商品,9 用于变量储运包装商品。
储运包装商品 14 位代码中的第 2 位到第 13 位数字为内部所含零售商品代码前 12 位,是指包含在储运包装商品内的零售商品代码去掉校验码后的 12 位数字。
储运包装商品 14 位代码中的最后一位为校验码,计算方法同 EAN-13 校验码计算方法。
Code 128 码于 1981 年推出,是一种长度可变、连续性的字母数字条码。CODE 128 条码可以表示全部 128 个 ASCII 码字符(数字、字母的大、小写、符号和控制符)。与其他一维条码比较起来,相对较为复杂,支持的字元也相对较多,又有不同的编码方式可供交互运用,因此其应用弹性也较大。
Code 128 条码符号的组成和基本格式如下图所示:
从左往右是黑白相间的条形码,黑的叫“条”(B),白的叫“空”(S)。仔细观察,条和空都有 4 种不同的宽度。将它从细到粗赋予 1、2、3、4 这几个值做为其编码。其中编码为 2 的条或空的宽度为编码为 1 的条或空的宽度的 2 倍;4 的宽度为 1 的宽度的 4 倍。这种简单的条码表达方式使得我们可以轻易读取条码所代表的编码,如上图中的起始符部分由 3 个条和 3 个空组成,它所代表的编码为211232
。终止符则由 4 个条和 3 个空组成,编码为2331112
。Code 128 条码长度可变,但包括起始符和终止符在内,不可超过232个字元;
Code 128 条码具有 A、B、C 三种不同的编码类型,起始符编码决定了使用哪种编码方式:
211412
。包括所有标准的大写英文字母、数字字符0~9、标点字符、控制字符(ASCII值为00~95的字符)和 7 个特殊字符。211214
。包括所有标准的大写英文字母、数字字符0~9、标点字符、小写英文字母字符(ASCII值为32~127的字符)和 7 个特殊字符。211232
。包括 100 个两位数字00~99和 3 个特殊字符。采用字符集 C 时,每个条码字符表示两位数字。这就使得条码具有很高的数据密度。如果条码数据具有 12 位或更多,同 ITF 相比,Code 128 占用空间更小。图 3-11 使用的就是 C 编码。三种编码方式所包含的字符集以及对应的编码,请参考:GB/T 15425-2014。下图为同样的数字,使用三种编码方式进行表示的结果:
可以看到,如果只表示数字,使用 Code 128 C 编码优势非常明显,只需一半的条数即可完成。
由于 Code 128 的条的大小有四种,因此对打印机的打印质量要求很高。Code 128 不适合采用点阵打印机和 FA 喷墨打印机,也不适合采用橡皮凸版在箱板纸包装箱上进行打印。
GS1-128 条码是符合 GS1 标准的 Code 128 条码。也就是说,GS1-128 是 Code 128 的一种特殊形式,一个子集。GS1-128 条码表示的是带应用标识符(AI)的数据。有关应用标识符(AI),请参考《GS1 标准》这一章。为将 GS1-128 和 Code 128 区分开来,需要在起始符后加上【FNC1】符号(编码为:411131
)。
上所使用两种编码来表示相同的数据,可以观察到 GS1-128 在起始符后面多了一个【FNC1】符号,其余部分类似。在 GS1-128 中,01
表示一个应用标识符(AI),在使用数据表示时,会将其用小括号括起来。
【FNC1】(编码为:411131
) 是 Code 128 字符集中的一个字符,是个特殊字符,作为控制用途。需要注意的是【FNC1】不是 ASCII 字符集中(可见或非可见)的字符,无法打印,它只存在于 Code 128 编码中。
另外,【FNC1】还用于可变长 AI 尾部,用于标识一个可变长 AI 的结束(固定长度 AI 结尾不需要 FNC1)。如下图所示 GS1-128 编码:
从左到右依次为:
(10)
表示其后的数字123456
是一个批号。它是可变长应用标识符,所以结尾处需添加一个【FNC1】符号。(30)
代表数量,其后的1000
表示这批货的数量为 1000 个。它是可变长应用标识符,所以结尾处需添加一个【FNC1】符号。(17)
代表有效期,190722
表示 2019 年 7 月 22 日。它是固定长度应用标识符,结尾处无需添加【FNC1】符号。条码误读设备由条码扫描和译码两部分组成。现在绝大部分的条码误读器都将扫描器和译码器集成为一体。人们根据不同的用途和需要设计了各种类型的扫描器。
条码识读设备按识别方式可分为两类:
手持式条码扫描器是一种被广泛应用的远距离条码阅读设备。也是多们接触得最多的条码识读设备,超市、商场、各种零售行业,均使用这类设备。
手持式扫描器有激光式和 CCD 式。激光枪只能识别一维码,而 CCD 枪则是一维码、二维码都可以识别。在扫描物体时,如果物体表面映射出一条红线,则表明此扫描器为激光枪;如果散射出一片白光,中间有一个红点,则表明此扫描器为 CCD 枪。
手持式扫描器的通信方式分为有线和无线两种,上图中的左侧图片为有线扫描器,一般使用串口或 USB HID 通信方式,使用 USB HID 的最大优势是无需安装任何驱动程序便可使用。
上图中右侧图片为无线扫描器,一般使用蓝牙进行通信,价格相比有线扫描器略高,但移动范围更广,室内可达到 10 米的移动距离,可根据应用场景进行选择。
固定式条码扫描器一般为图像式条码识读设备,多用于二维码支付。饮食店、药店、医院均可见其身影。
全向扫描器一般用于大型超市的收款台,可方便、快速地对商品进行扫描。它一般有 3~5 个扫描方向,扫描线数一般为 20 条左右。可以安装在柜台下面,也可以安装在柜台侧面。
又称数据终端,它是手持式扫描器与掌上电脑(PDA)的功能组合为一体的设备单元。数据采集器扫描条码后,可先将条码数据存储起来,根据需要再将数据以不同的传输方式送给 PC 机,根据实际情况需要,采集的数据可以实时传送,也可以批处理传送。
数据采集器可使用多种无线传输方式进行数据传输,如蓝牙、WIFI、3G、4G等,只要有手机信号的地方便能传输数据,满足多样的应用需求。数据采集器作为一种终端设备,还可以进行二次开发,直接利用终端的应用软件对数据进行处理。
数据采集器多用于物流及仓储管理。我们在领快递时可看到快递哥一般是拿着一个 PDA 终端对货物扫码后再交给你。
......等待完成
;