射频识别(RFID)技术

条码技术

作者:陈广 日期: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 条码

EAN-13 代码主要包括 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)。

校验码的计算步骤如下:

  1. 从代码位置序号[2]开始,所有偶数位的数字代码求和。
  2. 将步骤 1 的和乘以 3。
  3. 从代码位置序号[3]开始,所有奇数位的数字代码求和。
  4. 将步骤 2 与步骤 3 的结果相加。
  5. 用 10 减去步骤 4 所得的个位数作为校验码(如果个位数为 0,则校验码为 0)。
举例说明

上图中,小瓶矿泉水条码为: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

13 位零售商品店内条码

前缀码为 20~24 的商品条码,为零售店内部使用的条码,属于商品条码的一种,店内条码使用的码制也为 EAN-13。有如下四种代码结构:

  • 前缀码为两位数字,其值为 20~24。
  • 商品种类代码由4~6位数字组成,用于标识不同各类的零售商品,由商店自行编制。
  • 价格或度量值代码由4~5位数字组成,用于表示某一具体零售商品的价格或度量值信息。
  • 价格或度量值的校验码在结构三和结构四中包含,为 1 位数字,根据价格或度量值代码的各位数字计算而成,用于检验整个价格或度量值代码的正误。计算方法请查看国家标准:GB/T 18283-2008。
  • 校验码为 1 位数字,根据前 12 位计算而成,用于检验整个代码的正误。计算方法与之前所述的零售代码相同。
举例说明

......等待完成

EAN-8 条码

EAN-8 代码由前缀码、商品项目代码和校验码三部分组成,其结构如下所示:

  • 前缀码为三位数字,前缀码的分配同 EAN-13。690~699代表中国。
  • 商品项目代码由 4 位数字组成。由中国物品编码中心负责分配和管理。
  • 校验码为 1 位数字,用于检验整个编码的正误。校验码的计算方法为在 8 位编码前面补足 5 个0,然后按照 EAN-13 代码计算。

8 位零售商品代码留给商品项目代码的空间极其有限。以前缀码 690 为例,只有 4 位数字可以用于商品项目的编码,即只可以标识 10000 种商品。因此如非确有必要,8 位的零售商品代码应当慎用。

在我们,由中国物品编码中心对 8 位零售商品代码进行统一分配,以确保代码在全球范围内的唯一性,厂商不得自行分配,已经注册使用了 EAN-13 商品条码的企业,当商品的包装较小,且符合以下任意一个条件时,才能额外注册使用缩短码 EAN-8:

  1. 13 位代码的条码符号的印刷面积超过商品标签最大面积的 1/4 或全部可印刷面积的 1/8 时;
  2. 商品标签的最大面面积小于 40 平方厘米或全部可印刷面积小于 80 平方厘米时;
  3. 产品本身是直径小于 3cm 的圆柱体时。

随着印刷及识别技术的不断提升,现在已经很少能见到使用 EAN-8 条码的商品了,比如我们经常使用的签字笔,虽然印刷面积非常小,但依旧可以使用 EAN-13 条码。

UPC 条码

UPC 条码是用来表示 UCC-12 商品标识代码的条码符号,由美国统一代码委员会(UCC)制定的条码码制,主要用于美国和加拿大区。UPC 条码可以用 UPC-A 和 UPC-E 两种商品条码的符号来表示。UPC-A 是 12 位代码的条码符号表示,UPC-E 是特定条件下将 12 位代码消0后得到的 8 位代码的符号表示。

需要指出,当产品出口到北美地区并且客户指定时,企业才需要申请使用 12 位代码。中国厂商如需申请 12 位商品代码,需经中国物品编码中心统一办理。

UPC-A

12 位代码由厂商识别代码、商品项目代码和校验码组成,其结构如下图所示:

  • 厂商识别代码是统一代码委员会分配给厂商的代码,由左起 6~10位数字组成。其中 X12 为系统字符,其应用规则如下表所示:
系统字符 应用范围
0,6,7 一般商品
2 商品变量单元
3 药品及医疗用品
4 零售商店内码
5 代金券
1,8,9 保留
  • 商品项目代码由厂商编码,由 1~5位数字组成,编码方法与 13 位代码相同。
  • 校验码为 1 位数字,在 X12 前补上数字0后按照 13 位代码结构校验码的计算方法计算。

UPC-E

UPC-E 是标准尺寸的 UPC-A 数字条码的压缩版,用于杂货店和其他零售场所。压缩版主要用于包装上没有足够面积显示全尺寸 UPC-A 条码的小尺寸产品。需要注意的是,每个 UPC-E 条码都对应一个 UPC-A 条码,它只是那一个 UPC-A 条码的压缩后的版本。

一维物流条码

商品条码标识系统是在物流供应链中广泛应用的物品标识系统,能够实现上下游企业间信息传递的“无缝”对接。箱码(Case Code)是商品外箱上使用的条码标识,企业在订货、配送、收货、库管、发货、送货及退货等物流过程中扫描箱码后,相关信息便自动记录到企业信息系统中,实现数据的自动采集与分析,从而降低物流成本,提升企业效率。系列货运包装箱代码(SSCC)是为物流单元,如:托盘、集装箱等,提供的唯一标识。在物流配送过程中,企业仅需扫描 SSCC,便实现对整个托盘/集装箱产品信息的采集,从而大幅提升供应链效率。

箱码

箱码是商品外包装箱上使用的条码标识,是商品订货、批发、配送及仓储等流通过程中应用的条码符号,专业术语称为储运包装商品条码(详见 GB/T 16830-2008)或非零售商品条码。箱码有三种形式:

  1. ITF-14 条码:
  • 只用在物流仓储环节,不用于 POS 结算
  • 条码对印刷精度要求不高
  • 适合直接印刷在表面不够光滑、受力后外包装容易变形的材料上,如:瓦楞纸或纤维板。

如上图所示,单瓶矿泉水上使用的是 EAN-13 条码,而矿泉水较少成箱出售,所以 24 瓶矿泉水的包装箱上使用的是 ITF-14 条码,仅用于物流仓储环节。这种情况下的 ITF-14 箱码有两种编码方法:

  • 取内装消费单元条码前 12 位,在前加 1、2…8 中任一位,并在最后产生一位校验码,构成 14 位代码。这是编码的首选方式。
  • 重新编制一个区别于内装产品的 EAN-13 编码,前补0,构成 14 位代码。很明显图中的矿泉水包装箱用的是这种方式。
  1. EAN-13 条码:
  • 既用于物流仓储,又用于 POS 结算

如上图所示,超市内的啤酒可单瓶购买,但人们也喜欢成箱购买。此时重新编制一个区别于内装产品的 EAN-13 条码,在结算时只需扫描箱码便可结算。

  1. GS1-128 条码
  • 用于供应链精细化管理
  • 条码所表示产品信息更加丰富,条码长度可变
  • 通常以标签的形式粘贴在产品外箱上

ITF-14 条码:

ITF-14 条码由矩形保护框、左侧空白区、起始符、7 对数据符、终止符、右侧空白区组成,如下图所示:

储运包装商品 14 位代码结构如下表所示:

储运包装商品 14 位代码中的第 1 位数字为包装指示符,用于指示储运包装商品的不同包装级别,取值范围为:1,2,...,8,9。其中:1~8用于定量储运包装商品,9 用于变量储运包装商品。

储运包装商品 14 位代码中的第 2 位到第 13 位数字为内部所含零售商品代码前 12 位,是指包含在储运包装商品内的零售商品代码去掉校验码后的 12 位数字。

储运包装商品 14 位代码中的最后一位为校验码,计算方法同 EAN-13 校验码计算方法。

Code 128 条码

Code 128 码于 1981 年推出,是一种长度可变、连续性的字母数字条码。CODE 128 条码可以表示全部 128 个 ASCII 码字符(数字、字母的大、小写、符号和控制符)。与其他一维条码比较起来,相对较为复杂,支持的字元也相对较多,又有不同的编码方式可供交互运用,因此其应用弹性也较大。

Code 128 条码结构

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 的编码方式

Code 128 条码具有 A、B、C 三种不同的编码类型,起始符编码决定了使用哪种编码方式:

  1. Code 128 A:编码为211412。包括所有标准的大写英文字母、数字字符0~9、标点字符、控制字符(ASCII值为00~95的字符)和 7 个特殊字符。
  2. Code 128 B:编码为211214。包括所有标准的大写英文字母、数字字符0~9、标点字符、小写英文字母字符(ASCII值为32~127的字符)和 7 个特殊字符。
  3. Code 128 C:编码为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-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 编码:

从左到右依次为:

  • 起始符:标识一个 Code 128 条码的开始。
  • FNC1:标识此条码为 GS1-128 条码。
  • 批号:应用标识符(10)表示其后的数字123456是一个批号。它是可变长应用标识符,所以结尾处需添加一个【FNC1】符号。
  • 数量:应用标识符(30)代表数量,其后的1000表示这批货的数量为 1000 个。它是可变长应用标识符,所以结尾处需添加一个【FNC1】符号。
  • 日期:应用标识符(17)代表有效期,190722表示 2019 年 7 月 22 日。它是固定长度应用标识符,结尾处无需添加【FNC1】符号。
  • 校验码:用于检测编码是否正确。注意,校验码不会出现在条码下方供人识读的数字中。
  • 终止符:标识 Code 128 条码的结束。

条码识读设备

条码误读设备由条码扫描和译码两部分组成。现在绝大部分的条码误读器都将扫描器和译码器集成为一体。人们根据不同的用途和需要设计了各种类型的扫描器。

条码识读设备按识别方式可分为两类:

  1. 激光式:激光扫描器是一种远距离条码识读设备,其性能优越,因而被广泛应用。特点是扫描时会在扫描物上映射出一条或多条红线。激光扫描器的扫描方式有单线扫描、光栅扫描和全角度扫描三大种方式。激光扫描器的优点是识读距离适应能力强,且具有穿透保护膜识读的能力,识读速度快,准确率高。缺点是对识读的角度要求较严格,只能识读一维码。
  2. 图像式:采用面阵 CCD 摄像方式进行扫描,又称 CCD 扫描器。它的最大优点是可识别一维码及二维码,而且可以实现条码自动扫描(或称被动扫描)。与激光扫描器相比,CCD 扫描器价格便宜,更为结实耐用。从长远发展的角度看,图像方式在条码采集中的应用将是主要的趋势。

手持式条码扫描器

手持式条码扫描器是一种被广泛应用的远距离条码阅读设备。也是多们接触得最多的条码识读设备,超市、商场、各种零售行业,均使用这类设备。

手持式扫描器有激光式和 CCD 式。激光枪只能识别一维码,而 CCD 枪则是一维码、二维码都可以识别。在扫描物体时,如果物体表面映射出一条红线,则表明此扫描器为激光枪;如果散射出一片白光,中间有一个红点,则表明此扫描器为 CCD 枪。

手持式扫描器的通信方式分为有线和无线两种,上图中的左侧图片为有线扫描器,一般使用串口或 USB HID 通信方式,使用 USB HID 的最大优势是无需安装任何驱动程序便可使用。

上图中右侧图片为无线扫描器,一般使用蓝牙进行通信,价格相比有线扫描器略高,但移动范围更广,室内可达到 10 米的移动距离,可根据应用场景进行选择。

固定式条码扫描器

固定式条码扫描器一般为图像式条码识读设备,多用于二维码支付。饮食店、药店、医院均可见其身影。

全向扫描平台

全向扫描器一般用于大型超市的收款台,可方便、快速地对商品进行扫描。它一般有 3~5 个扫描方向,扫描线数一般为 20 条左右。可以安装在柜台下面,也可以安装在柜台侧面。

数据采集器

又称数据终端,它是手持式扫描器与掌上电脑(PDA)的功能组合为一体的设备单元。数据采集器扫描条码后,可先将条码数据存储起来,根据需要再将数据以不同的传输方式送给 PC 机,根据实际情况需要,采集的数据可以实时传送,也可以批处理传送。

数据采集器可使用多种无线传输方式进行数据传输,如蓝牙、WIFI、3G、4G等,只要有手机信号的地方便能传输数据,满足多样的应用需求。数据采集器作为一种终端设备,还可以进行二次开发,直接利用终端的应用软件对数据进行处理。

数据采集器多用于物流及仓储管理。我们在领快递时可看到快递哥一般是拿着一个 PDA 终端对货物扫码后再交给你。

条码打印设备

......等待完成

;

© 2018 - IOT小分队文章发布系统 v0.3