条码技术是在计算机与信息技术基础上发展起来的一门容编码,印刷、自动识别、数据采集和处理于一身的新兴技术。由于其具有快速、准确、低成本、高可靠性等优点,因而发展十分迅速,条码技术的普及应用不仅提高了各行各业的管理效率和经营效益,而且也随着它在超级市场、邮政等方面的应用来到了百姓身边,悄悄地改变着人们的生活。
近年来,随着我国市场经济的迅速发展和进入WTO的必要条件,各部门、各行业对于经营管理信息化,自动化的要求日益迫切,条码技术作为一种方便、快捷的信息传递和处理手段,越来越受到人们的关注。应当指出的是,我国的条码技术还处于发展初期,专门从事条码技术研究和市场推广人员非常缺乏。条码技术在国际事务中越来越重要的地位使我们感到在这一技术领域蕴藏着巨大的商机。
第零章 条码概论
条码的发展
条码是一种可印刷的机器语言,它是不同宽度的条和空按一定规则排列而成的图形符号。
条码最早出现在40年代,但其实际的应作和发展还是近20年的事情。早在40年代,IBM公司的伍德兰德和伯尼.西尔两位工程师就开始研究用代码描述食器项目以及相应的自动识别设备。其发明的“公牛眼”代码成为世界上第一种条码。之后的几十年间,条码技术有了飞速的发展,不仅在编码种类上有了CODE
39、CODE 128、CODE BAR 等几十甚至上百种的编码方案。还开发出了对条码技术有着重大意义的二维条码。
条码在中国
我国于1988年经国务院批准成立了“中国物品编码中心”,使国内开发条码、普及条码的工作走上正轨。目前条码技术在我国主要应用在工业、商业、图书馆、邮电、化工、仓库等领域。在我国即将加入WTO,进入世界经贸大市场的前提下,由于其条码的技术含量高,国内的前景十分看好,并且附加值高,能带来可观的经济效益和社会效益。
一个完整的条码系统
一个完整的条码系统是由条码编码技术、条码印制、条码输入、条码识别及后台的数据库组成。
第一章 条码基础知识
条码的分类
分类是按照选定的属性(或特征)去分类对象,将具有某种共同属性(或特征)的分类对象集合在一起的过程。因此,分类的目的不同、角度不同,分类时所选择的分类对象的属性(或特征)也就各不相同,因而分类的结果也迥然不同。
(1) 按条码有无字符符号间隔,可分为两种
l 连续型条码即没有条码字符间隔的条码。如四九条码(CODE 49)EAN-128 码等。
l 非连续型条码即有条码字符间隔的条码。如三九条码、二五条码、CODEBAR条码等。
(2) 按照字符符号个数固定与否,可分为两种
l 定长条码即条码字符个数固定和条码。比如UPC 条码、EAN条码等。
l 非定长条码即条码字符个数不固定的条码。如:CODE 39 CODEBAR等。
(3) 扫描起点的可选性划分,可分为两种
l 双向条码即起始符和终止符两端均可作为扫描起点的条码。如CODE 39 CODEBAR 等。
l 单向条码,即扫描起点在起始符的条码。
(4) 按条码的码制划分
目前世界上流行的有几十种,如UPC 、EAN 、CODE 39、CODEBAR、CODE128等等。
条码识别的特点
条码自动只别技术的特点有以下几点:
l 准确性高,
l 成本低
l 可靠性高
l 误码率小于百万分之一
l 首读率可达98%
l 数据输入速度快
条码符号的结构
一个完整的条码符号是由两侧静区、起始字符、数据字符、校验字符(可选)和终止字符组成。让我们通过(图一)来看一个条码符号的完整结构。
(图一)
l 静区:一般大于最小窄条的10倍宽度。该区域的设定目的在于确保条
码识别的可靠性。
l 起始字符:条码符号的第一位字符是起始字符,它的特殊条空结构用
于识别一个条码符号的开始。
l 数据字符:位于起始字符的后面,由条码字符表示的数据。其中可能
有一倍于最小窄条(空)的位空作为分隔符.
l 校验字符:通常在条码码制中都定义了校验字符。当符号中的各字符
被解码时,将对其进行一系列的数学运算,并将结果与校验字符比较,来验证信息的有效性。
l 终止字符:条码符号的最后一位是终止字符,它的特殊条空结构用于
识别条码符号的结束。
条码元素构成方式
条码的构成方式有多种,但它们都具有以二进制为基础进行编和内部处理的共同特点。我们以两种构成方式为例:
l 构成方式1
如(图二)所示,条和空的基本编码模块分别设定为二进制1和0,即条为1,空为0。
1 0 1 1 1 1 0 0 0 1 1 1 0 1
(图二)
l 构成方式2
1 1 0 0 1
(图三)
在图三中,我们又见到了一种构成方式,这种构成方式是以宽单元为1,窄单元为0进行编码。
其它的构成方式还有很多,我们不一一列出。
第二章 国际流行的几种码制
目前,从总的来说,我们有一维和二维两种编码,我们分别介绍在国际上常用的几种一维和二维条码。
根据不同的行业。评价一种码制的好坏可以从以下几个方面进行:
l 字符集的大小,即编码的字符的多少;
l 密度的高低,即单位长度(25.4mm)的条码符号(不包括空白区)所表示字符个数多少;
l 条、空数的多少;
l 条码字符符号间隔的大小;
l 自动校验查错能力的有无和强弱。
以上几点往往是互相制约的,在设计选用条码时要根据应用的不同情况有所侧重。
一、一维条码
UPC码 (UNIVERSAL Product Code)
UPC码通用于北美地区,因此进入美国的商品必须采用UPC码。由于国际物品编码协会推出的EAN码在世界范围内得到迅速推广应用,所以现在只有销往北美地区的极少数商品仍需使用UPC码。作为一种编码方法,我们只对UPC码作一个简单的了解。
UPC码是一种长度固定的、连续型的数字式码制,其字符集只有0~9十个数字。共有UPC-A、UPC-B、UPC-C、UPC-D、UPC-E五个版本,但只有UPC-A,UPC-E比较流行。
EAN码(European Article Numbering Code)
1977年,欧洲各国按照UPC码的标准制定了欧洲物品编码EAN 码,它与UPC 码兼容,并与UPC码具有相同的符号体系。EAN码的字符编码结构与
UPC码相同,它也是长度固定、连续型的数字式码制,其字符集是0~9十个数字,EAN码有两种类型:EAN-13、EAN-8。其中EAN-13是13位的标准码,它的代码结构如表一所示,EAN-8是缩短码,代码结构如表二所示。
前缀码 厂商代码 商品项目 校验字符
P1P2P3 M1M2M3M4 I1 I2 I3 I4 I5 C
表 一 EAN-13代码结构
前缀码 商品项目 校验字符
P1P2P3 I1 I2 I3 I4 I5 C
表 二 EAN-8代码结构
EAN码是一种比较特殊的码制,它符号的结构不同于上文所说的符号结构,如图四所示。
图四
EAN码与UPC码的关系
EAN码和UPC码在技术上是完全兼容的,但这只是单向兼容,即EAN系统可以识别UPC码,反之不兼容。
ISBN/ISSN(International Standard Book Number/International
Standard Serials Number)
ISBN是国际物品编码协会与国际标准书号中心达成了一致协议,把图
书作为一种特殊商品,所规定的编码。并把978作为ISBN系统的前缀。
ISSN与ISBN类似,是国际物品编码协会与国际标准期刊号中心达成
了一致协议,把期刊作为一种特殊商品,所规定的编码。并把977作为ISSN系统的前缀。并可以根据需要增加附加码。
店内码
在商店内有些商品,例如鲜肉、水果、熟食品等是以随机重量销售的。这些商品的编码任务一般不宜由商品的生产者负责,而是由零售商完成。零售商进货以后,对商品进行包装,用专用设备对商品称重并自动编码和制成条码,最后将条码粘贴或吊挂在商品包装上。这样的条码只能用于商店内部的自动化管理系统,因此称为店内码。店内码的长度应从常规的商品代码中选取,例如13位、12位、8位。以下是两种国际上惯用的店内码模式:
一、当EAN-13代码作为店内码时,其结构与13位的国际通用商品代码不同,结构如表三:
前缀码 商品项目字符 校验字符
2 I1 I2 I3 I4 I5 I6 I7 I8 I9 I10 I11 C
表 三 EAN-13作店内码的代码结构
二、当EAN-8代码作为店内码时,其前缀码可以取为“2”或“0”,详见表四:
前缀码 商品项目字符 校验字符
(00000)2 I1 I2 I3 I4 I5 I6 COR (00000)0 I1 I2 I3 I4 I5
I6 C
表 四 EAN-8作店内码的代码结构
CODE 39码(CODE 3 OF 9)
于1974年由INTERMEC 公司推出。它是第一个字母数字式混合码制。
39码是一种长度可变的、离散型、自校验、字母数字式码制。它的字符集是:数字0—9、26个大写字母A—Z 及7个特殊字符--、.、SPACE、$、/、+和%,共43个字符。39码的每个字符由9个元素组成,其中5个是条,4个是空。5个条中有2个宽条3个窄条,4个空中有1个宽空3个窄空,即在一个字符的条码符号中有9个元素中有3个宽元素6个窄元素。它采用宽为1,窄为0
的编码构成。39码均以★号开始和结尾。39码是离散码,符号中相邻两个字符之间用1个位空分隔开,此位空不包含任何信息。它是一种双向可读、非定长的码制,并具有自校验功能,因此一般情况下不使用.校验字符,只有在特定应用场合对数据准确性有特别要求时,才采用附加校验符.
全ASCII 39码是39码的一种扩展用法,它利用标准39码和条码字符,经特定方法组合而表示ASCII字符集的128个字符.
库德巴码( CODEBAR BAR CODE)
库德巴码是1972年推出的。它广泛应用于医疗卫生及图书行业,也用于胶卷及邮政快件上
在一个库德巴码中,每一个条码字符由7个单元构成(四条夹三空),其中两个是宽单元(为“1”),其余是窄单元(为“0”)。它的字符集中仅有20个字符:数字0~9、字母A、B、C、D,特殊字符$、--、:、/、.+。
库德巴码是一种离散型条码,可以由A、B、C、D四字母作起始符与终止符。并且它是一种具有较强自校验功能的、双向可读的、非定长的码制。
由于它的密度较高,最窄条宽规定的较小,所以很难控制其印制质量。
CODE-128码
128码(CODE 128)出现于1981年,是一种长度可变的连续型字母数字式码制。它采用四种元素的宽度,除终止符(STOP)由13个单位元素组成外,其它每个字符有3个条和4个空,共11个单位元素宽度,所以又称为(11,3)码。128码采用三个字符集,分别为字符集A、字符集B、字符集C。字符集A包括所有标准的大写英文字母、数字字符、控制字符、特殊字符及辅助字符;字符集B包括所有标准的大写和小写英文字母、数字字符、特殊字符及辅助字符;字符集C包括00~99的100个数字以及辅助字符。因为字符集C中的一个条码字符表示两个数字字符,因此使用该字符集表示数信息可以比其它字符集信息量增加一倍,即条码符号的密度提高一倍。这三个字符集的交替使用可将127个ASCII码编码。三个字符集之前可以能过SHIFT
A 、SHIFT B、SHIFT C进行字符集之间的转换。
二、二维条码
一维条码有一个明显的弱点,那就是在垂直的方向上没有包含的信息。这主要有两个目的:
1、 为保证局部损坏的条码能正确识别;
2、 使扫描容易完成。
通常,我们要在不增加面积的基础上提高条码的密度,一种简明的方法就是减少条码的宽度来增加信息量,但这种方法并不实用。我们可采用的方法是由一维条码向二维条码扩展。目前,根据实现的原理和结构的差异,二维条码可分为堆积式(层排式)和棋盘式(矩阵式)两大类型。
堆积式二维条码的编码原理建立在一维条码基础上,根据需要将多层的一维条码堆积成二行或多行,从而形成二维条码。有代表性的堆积式二维码有:Code
49 、PDF417、Code 16k等。
矩阵式二维条码以矩阵的形式组成。在矩阵相应元素位置上用点的出现表示二进制的“1”,点的不出现表示二进制的“0”,点的排列组合确定了矩阵码所代表的意义。具有代表性的矩阵码如Code
one、 Data Matrix、 Maxicode等。
除了用途不同外,二维条码同一维条码在信息容量、错误纠正等方面也存在较大差别,一维条码同二维条码的对照表如表五所示
项目类型 信息密度与信息容量 错误校验及纠正能力 垂直方向是否携带信息 用 途 对数据库和通讯网络的依赖
识读设备
一维条码 信息密度较低,信息容量较小 可通过校验字符进行错误校验,但没有错误纠正能力。 不携带信息,垂直方向是为了识读方便并降低因局部损坏造成不误码率
主要用于对“物品”的标识 多数应用场合必须依赖数据库及通讯网络的存在 光笔,CCD,LASER GUN
二维条码 信息密度高,容量大 具有错误校验和错误纠正能力,并可根据实际应用设置不同的安全等级 携带信息因对印刷缺陷或局部损坏等方面的敏感性强,引入了错误纠正机制,用于恢复丢失信息
用于对“物品”的描述 可不依赖数据库及通讯网络的存在而单独应用 对于堆积式二维条码可用:CCD,LASER
GUN;对于矩阵式仅能用CCD
表 五 一维条码与二维条码的比较
PDF417码
PDF417是一种多层、可变长度、具有高容量和错误纠正能力的边续型二维条码。每一个PDF417符号可以表示超过1100个字节、1800个ASCII字符或2700个数字的数据。PDF417可通过CCD、LASER
GUN或二维成像设备识读。
每一个PDF417条码符号均由多层堆积而成,其层数为3~90。每一层由起始/终止符、左、右层指示符、及1到30个符号字符组成。每一个符号字符由17个模块构成,其中包含有4个条和4个空,每个条、空由1到6个模块组成。PDF417的符号字符集可分为三个相互独立的子集即三个簇。每一簇均以不同的条、空形式表示929个符号字符值,故每一簇不可能与其它簇混淆。每一层仅用其中一簇符号字符表示数据,每三层重复一次。由于任何两个相临层都由不同簇符号字符组成,故译码器在译码时可利用穿过不同层的扫描数据。
表六列举了PDF417的特性。
项 目 特 性
可编码字符集 全ASCII字符及扩展ASCII字符,8位二进制数据,多达811800种不同的字符集或解释
类型 连续型,多层
字符自校验 有
符号尺寸 可变高度:(3到90层)宽度:(90到583X)
双向可读 是
错误纠正码词数 2到512个
最大数据容量(安全等级为0时) 每个符号表示1850个文本字符2710个数字1108个字节
附加选择 宏PDF417、GLI、截短PDF417
表 六 PDF417的特性
Maxicode 码
MAXICODE 码是一种固定长度(尺寸)的矩阵式二维条码,它由紧密相连的多行六边形模块和位于符号中央位置的定位图形组成。
MAXICODE允许对256个国际字符编码,包括值为0~127的ASCII字符和值为128~256的扩展ASCII字符
每个模块表示一个二进制位,深色模块表示“1”,浅色模块表示“0”每个字符由六个模块组成。
在每个MAXICODE符号有一个俗称为“牛眼”的中央定位图形,四周排列着33层模块,每层分别由30个或29个模块组成。
与条码有关的几个基本概念
1.条码(BAR CODE)
由一组规则排列的条,空及对应字符组成的标记,用以表示一定的信息。
2.条码系统(BAR CODE SYSTEM)
由条码符号设计,制作及扫描阅读组成的自动识别系统。
3.条(BAR)
条码中反射率较低的部分。
4.空(SPACE)
条友中反射率较高的部分。
5.静区(CLEAR AREA)
条码左右两端外侧与空的反射率相同的限定区域。
6.起始符(START CHARACTER)
位于条码起始位置的若干条与空。
7.终止符(STOP CHARACTER)
位于条码终止位置的若干条与空。
8.条码字符(BARCODE CHARACTER)
表示一个字符的若干空与条。
9.条码校验符(BARCODE CHECK CHARACTER)
表示校验码的条码字符。
10.模块(MODULE)
组成条码的基本单位。
11.PCS值
条码中空的反射率RL与条的反射率RD之差与空的反射率RL的比值。
PCS=(RL-RD)/RL*100%
12.正确识别率PSRR
PSRR=扫描总次数-(误识次数+拒识次数)/扫描总次数*100%
13.首资读出率FRR
首次读出率是指首次读出条码符号的数量与识读条码符号总数量的比值。
FRR=识别读出条码符号数量/识读条码符号的总数量*100%
14.误识率SER
误识主要是指错误识别次数与识别总数的比值。
SER=识别错误次数/识别总次数*100%
|