条形码基础知识

 


条码是什么?

条码:
条码技术是在计算机应用和实践中产生并发展起来的一种广泛应用于商业、邮政、图书管理、仓储、工业生产过程控制、交通等领域的自动识别技术,具有输入速度快、准确度高、成本低、可靠性强等优点,在当今的自动识别技术中占有重要的地位。

条码的概念

条码是由一组规则排列的条、空以及对应的字符组成的标记,“条”指对光线反射率较低的部分,“空”指对光线反射率较高的部分,这些条和空组成的数据表达一定的信息,并能够用特定的设备识读,转换成与计算机兼容的二进制和十进制信息。通常对于每一种物品,它的编码是唯一的,对于普通的一维条码来说,还要通过数据库建立条码与商品信息的对应关系,当条码的数据传到计算机上时,由计算机上的应用程序对数据进行操作和处理。因此,普通的一维条码在使用过程中仅作为识别信息,它的意义是通过在计算机系统的数据库中提取相应的信息而实现的。

条码技术的优点 

条码是迄今为止最经济、实用的一种自动识别技术。条码技术具有以下几个方面的优点:

A.输入速度快:与键盘输入相比,条码输入的速度是键盘输入的5倍,并且能实现"即时数据输入"。
B.可靠性高:键盘输入数据出错率为三百分之一,利用光学字符识别技术出错率为万分之一,而采用条码技术误码率低于百万分之一。
C.采集信息量大:利用传统的一维条码一次可采集几十位字符的信息,二维条码更可以携带数千个字符的信息,并有一定的自动纠错能力。
D.灵活实用:条码标识既可以作为一种识别手段单独使用,也可以和有关识别设备组成一个系统实现自动化识别,还可以和其他控制设备联接起来实现自动化管理。

另外,条码标签易于制作,对设备和材料没有特殊要求,识别设备操作容易,不需要特殊培训,且设备也相对便宜。

编码规则

唯一性:同种规格同种产品对应同一个产品代码,同种产品不同规格应对应不同的产品代码。根据产品的不同性质,如:重量、包装、规格、气味、颜色、形状等等,赋予不同的商品代码。 永久性:产品代码一经分配,就不再更改,并且是终身的。当此种产品不再生产时,其对应的产品代码只能搁置起来,不得重复起用再分配给其它的商品。 无含义:为了保证代码有足够的容量以适应产品频繁的更新换代的需要,最好采用无含义的顺序码。

条形码的码制区别

UPC:(统一产品代码) 只能表示数字 有A、B、C、D、E四个版本 版本 A - 12 位数字 版本 E - 7 位数字 最后一位为校验位 大小是宽1.5" 高1 " ,而且背景要与清晰 主要使用于美国和加W拿大地区,用于工业、医药、仓库等部门

当UPC 作为十二位进行解码时,定义如下: 第一位 = 数字标识 (已经由UCC(统一代码委员会)所建立). 第2-6位 = 生产厂家的标识号(包括第一位) 第7-11 = 唯一的厂家产品代码 第12位 = 校验位(used for error detection)

Code 3 of 9 : 能表示字母、数字和其它一些符号共43个字符:A -Z,0 - 9,-.$/+%,pace 条码的长度是可变化的 通常用“*”号作为起始、终止符 校验码不用 代码密度介于3 - 9.4个字符/每英寸 空白区是窄条的10倍 用于工业、图书、以及票证自动化管理上

Code 128: 表示高密度数据, 字符串 字符串可变长 符号内含校验码 有三种不同版本: A, B, and C 可用128个字符分别在 A, B, or C 三个字符串集合中 用于工业、仓库、零售批发

Interleaved 2-of-5 (I2 of 5): 只能表示数字0 -9 可变长度 连续性条码,所有条与空都表示代码,第一个数字由条开始,第二个数字由空组成 空白区比窄条宽10倍 应用于商品批发、仓库、机场、生产/包装识别、工业中 条码的识读率高,可适用于固定扫描器可靠扫描 在所有一维条码中的密度最高

Codabar(库德巴条码): 可表示数字0 - 9,字符$、+、 -、还有只能用作起始/终止符的a, b, c d四个字符

可变长度 没有校验位 应用于物料管理、图书馆、血站和当前的机场包裹发送中 空白区比窄条宽10倍 非连续性条码,每个字符表示为4条3空

PDF417 (二维码): 多行组成的条码 不需要连接一个数据库,本身可存储大量数据 应用于:医院、驾驶证、物料管理、货物运输 当条码受一定破坏时,错误纠正能使条码能正确解码 PDF417, 是Symbol科技公司于1990研制产品。它是一个多行、连续性、可变长、包含大量数据的符号标识。每个条码有3 - 90行,每一行有一个起始部分、数据部分、终止部分。它的字符集包括所有128个字符,最大数据含量是1850个字符。

二 维 条 码 技 术

一维条码只是在一个方向(一般是水平方向)表达信息,而在垂直方向则不表达任何信息,其一定的高度通常是为了便于阅读器的对准。
一维条码的应用可以提高信息录入的速度,减少差错率,但是一维条码也存在一些不足之处:
* 数据容量较小: 30个字符左右
* 只能包含字母和数字
* 条码尺寸相对较大(空间利用率较低)
* 条码遭到损坏后便不能阅读
在水平和垂直方向的二维空间存储信息的条码, 称为二维条码(2-dimensional bar code)。

与一维条码一样,二维条码也有许多不同的编码方法,或称码制。就这些码制的编码原理而言,通常可分为以下三种类型
1. 线性堆叠式二维码 是在一维条码编码原理的基础上,将多个一维码在纵向堆叠而产生的。典型的码制如:Code 16K、Code 49、PDF417等。
2. 矩阵式二维码 是在一个矩形空间通过黑、白像素在矩阵中的不同分布进行编码。典型的码制如: Aztec、Maxi Code、QR Code、 Data Matrix等。
3. 邮政码 通过不同长度的条进行编码,主要用于邮件编码,如:Postnet、BPO 4-State。

在许多种类的二维条码中,常用的码制有:Data Matrix, Maxi Code, Aztec, QR Code, Vericode, PDF417, Ultracode, Code 49, Code 16K 等,其中:
* Data Matrix 主要用于电子行业小零件的标识,如Intel的奔腾处理器的背面就印制了这种码。
* Maxi Code 是由美国联合包裹服务(UPS)公司研制的,用于包裹的分拣和跟踪。
* Aztec 是由美国韦林(Welch Allyn)公司推出的,最多可容纳3832个数字或3067个字母字符或1914个字节的数据。

下面,我们以PDF417码为例,介绍二维条码的特性和特点。

一)PDF417简介

PDF417码是由留美华人王寅敬(音)博士发明的。PDF是取英文Portable Data File三个单词的首字母的缩写,意为“便携数据文件”。因为组成条码的每一符号字符都是由4个条和4个空构成,如果将组成条码的最窄条或空称为一个模块,则上述的4个条和4个空的总模块数一定为17,所以称417码或PDF417码。

二)PDF417的特点

1. 信息容量大 PDF417码除可以表示字母、数字、ASCII字符外,还能表达二进制数。为了使得编码更加紧凑,提高信息密度,PDF417在编码时有三种格式:
* 扩展的字母数字压缩格式 可容纳1850 个字符;
* 二进制 / ASCII格式 可容纳1108 个字节;
* 数字压缩格式 可容纳2710 个数字。
2. 错误纠正能力 一维条码通常具有校验功能以防止错读,一旦条码发生污损将被拒读。而二维条码不仅能防止错误,而且能纠正错误,即使条码部分损坏,也能将正确的信息还原出来。
3. 印制要求不高 普通打印设备均可打印,传真件也能阅读。
4. 可用多种阅读设备阅读 PDF417码可用带光栅的激光阅读器,线性及面扫描的图像式阅读器阅读。
5. 尺寸可调以适应不同的打印空间
6. 码制公开已形成国际标准,我国也已制定了417码的国标。

三)PDF417的纠错功能

二维条码的纠错功能是通过将部分信息重复表示(冗余)来实现的。比如在PDF417码中,某一行除了包含本行的信息外,还有一些反映其它位置上的字符(错误纠正码)的信息。这样,即使当条码的某部分遭到损坏,也可以通过存在于其它位置的错误纠正码将其信息还原出来。

PDF417的纠错能力依错误纠正码字数的不同分为0~8共9级,见图4,级别越高,纠正码字数越多,纠正能力越强,条码也越大。当纠正等级为8时,即使条码污损50%也能被正确读出,如图5。
 

四)PDF417的几种变形

如图6,PDF417还有几种变形的码制形式:
* PDF417截短码 在相对“干净”的环境中,条码损坏的可能性很小,则可将右边的行指示符省略并减少终止符。
* PDF417微码 进一步缩减的PDF码。
* 宏PDF417码 当文件内容太长,无法用一个PDF417码表示时,可用包含多个(1~99999个)条码分块的宏PDF417码来表示。

二维条码的优势

从以上的介绍可以看出,与一维条码相比二维条码有着明显的优势,归纳起来主要有以下几个方面:
一)数据容量更大
图中的PDF417码包含了文字框中的所有文字。
二)超越了字母数字的限制
三)条码相对尺寸小
四)具有抗损毁能力

二维条码的应用

一)运输行业的应用

一个典型的运输业务过程通常经历:供应商-->货运代理,货运代理-->货运公司,货运公司-->客户等几个过程,在每个过程中都牵涉到发货单据的处理。发货单据含有大量的信息,包括:发货人信息、收货人信息、货物清单、运输方式等等。单据处理的前提是数据的录入,人工键盘录入的方式存在着效率低、差错率高的问题,已不能适应现代运输业的要求。
二维条码在这方面提供了一个很好的解决方案,将单据的内容编成一个二维条码,打印在发货单据上,在运输业务的各个环节使用二维条码阅读器扫描条码,信息便录入到计算机管理系统中,既快速又准确。
在美国,虽然 EDI 应用革新了业务流程的核心部分,但不巧的是它却忽略了流程中的关键角色--货运公司。许多 EDI 报文对于货运商来说总是迟到 ,以至于因不能及时确认准确的装运单信息而影响了货物运输和客户单据的生成。
美国货运协会 (ATA) 因此提出了纸上 EDI 系统。 发送方将EDI信息编成一张PDF417条码标签提交给货运商,通过扫描条码,信息立即传入货运商的计算机系统。这一切都发生在恰当的时间和恰当的地 点,使得整个运输过程的效率大大提高。


二)身份识别卡的应用

美国国防部已经在军人身份卡上印制 PDF417 码。 持卡人的姓名,军衔,照片和其他个人信息被编成一个PDF417码印在卡上。卡被用来做重要场所的进出管理及医院就诊管理。
该项应用的优点在于数据采集的实时性,低实施成本,卡片损坏(比如枪击)也能阅读,以及防伪性。
我国香港特别行政区的居民身份证也采用了PDF417码。其它的应用,如营业执照、驾驶执照、护照、我国城市的流动人口暂住证、医疗保险卡等也都是很好的应用方向。

三)文件和表格应用

日本Seimei 保险公司的每个经纪人在会见客户时都带着笔记本电脑。每张保单和协议都在电脑中制作并打印出来。当他们回到办公室后需要将保单数据手工输入到公司的主机中。
为了提高数据录入的准确性和速度,他们在制作保单的同时将保单内容编成一个PDF417条码,打印在单据上,这样他们就可以使用二维条码阅读器扫描条码将数据录入主机。
其它类似的应用还有:海关报关单、税务申报单、政府部门的各类申请表等等。

四)资产跟踪

美国钢管公司在各地拥有不同种类的管道需要维护。为了跟踪每根管子,他们将管子的编号,位置编号,制造厂商,长度,等级,尺寸,厚度以及其他信息编成一个PDF417条码,制成标签后贴在管子上。当管子移走或安装时,操作员扫描条码标签,数据库信息得到及时更新。
工厂可以采用二维条码跟踪生产设备;医院和诊所也可以采用二维条码标签跟踪设备、计算机及手术器械。

如 何 选 择 条 码 扫 描 器

近几年来,国内各大商场,连锁店等商业企业认识到了商业POS系统给商业企业管理带来的巨大效益,纷纷建设商业POS网络系统。对于网络系统的设计安装原理,各专业刊物均有详细介绍,这里主要谈谈作为商业POS系统前端数据采集部分的商业条码扫描器如何选择。
  商业条码扫描器常用的主要有:
  CCD扫描器,激光手持式扫描器和全角度激光扫描器三种。


一、CCD扫描器是利用光电藕合(CCD)原理,对条码印刷图案进行成像,然后再译码。它的优势是:无转轴,马达,使用寿命长;价格便宜。
  选择CCD扫描器时,最重要的是两个参数:
景 深 由于CCD的成像原理类似于照相机,如果要加大景深,则相应的要加大透镜,从而使CCD体积过大,不便操作。优秀的CCD应无须紧贴条码即可识读,而且体积适中,操作舒适。

分辨率 如果要提高CCD分辨率,必须增加成像处光敏元件的单位元素。低价CCD一般是5口像素(pixel),识读EAN,UPC等商业码已经足够,对于别的码制识读就会困难一些。中档CCD以1024pixel为多,有些甚至达到2048pixe1,能分辨最窄单位元素为0.1mm的条码。


二、激光手持式扫描器是利用激光二极管作为光源的单线式扫描器,它主要有转镜式和颤镜式两种。

转镜式的代表品牌是SP400,它是采用高速马达带动一个棱镜组旋转,使二极管发出的单点激光变成一线。

颤镜式的制作成本低于转镜式,但这种原理的激光枪不易提高扫描速度,一般为33次/秒。个别型号,如POTICON可以达到100次/秒,其代表品牌为Symbol,PSC和POTICON。

商业企业在选择激光扫描器时,最重要的是注意扫描速度和分辨率,而景深并不是关键因素。因为当景深加大时,分辨率会大大降低。优秀的手持激光扫描器应当是高扫描速度,固定景深范围内很高的分辨

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: C语言是一种广泛使用的编程语言,具有灵活、高效、快速的特点。基恩士条码枪是一种常用的扫码设备,它可以扫描条形码、二维码等,并将扫描到的数据传输到计算机中。 在使用基恩士条码枪时,由于需要将扫描到的数据传输到计算机中进行处理,因此需要对其进行通讯触发。而C语言可以通过编写程序来实现与基恩士条码枪的通讯触发。 具体来说,首先需要在计算机中安装驱动程序和基恩士条码枪的SDK。然后,通过C语言编写程序,调用SDK中的接口函数来实现与基恩士条码枪的通讯触发。例如,可以定义一个函数来打开基恩士条码枪的端口,并设置相关的参数,然后监控端口接收到的数据并进行处理。 在编写程序时,还需要考虑到不同的条码枪可能有不同的通讯协议和数据格式,因此需要根据不同的条码枪进行相应的设置和处理。 总的来说,使用C语言与基恩士条码枪进行通讯触发是一种常见的应用场景,通过合理地编写程序,可以实现数据的快速、准确地采集和处理,提高工作效率和准确度。 ### 回答2: c语言与基恩士条码枪通讯触发是一个非常重要的技术问题。在实际的业务场景中,我们常常需要将基恩士条码枪与c语言进行通讯,来实现各种业务逻辑方面的触发操作。具体的实现步骤,通常需要以下几个关键步骤: 首先,需要了解基恩士条码枪的通讯协议。不同的条码枪通讯协议不同,所以需要根据实际情况来进行选择。一般而言,基恩士条码枪通讯协议比较简单,通常采用串口(RS232)通讯的方式。 其次,需要在c语言中编写串口通讯的代码。这部分代码相对较为复杂,需要通过调用系统API来实现。一般而言,我们需要使用到串口初始化、打开、写入、读取等一系列操作。具体实现时,可以借助于开源的串口通讯库进行快速开发。 最后,需要实现基恩士条码枪的触发逻辑。这个逻辑根据不同的业务需求而变化,比如说,可以实现条码扫描后的数据显示、声音提示、打印标签等各种场景。具体实现时,需要根据条码读取数据的格式进行解析,然后根据不同的业务需求进行处理。 总之,c语言与基恩士条码枪通讯触发涉及到多个技术领域,包括硬件、通讯、编程等等,需要开发者具备较为扎实的技术功底才能够进行开发。 ### 回答3: C语言是一种广泛使用的编程语言,在许多应用中都能发挥作用。基恩士条码枪则是一种用于扫描条码的设备,常用于库存管理、物流管理等领域。要实现C语言与基恩士条码枪的通讯触发,需要遵循以下步骤: 1. 确定基恩士条码枪的接口类型和通讯方式。通常情况下,基恩士条码枪会提供串口、USB和蓝牙等接口,不同接口的通讯方式也有所不同。 2. 在C语言中使用相关的库或API,与基恩士条码枪进行通讯。这一步需要根据接口类型和通讯方式选择合适的库或API,例如使用Windows API中的SerialPort类来进行串口通讯,或使用Linux下的termios库来实现串口通讯。 3. 对条码枪的触发信号进行处理。基恩士条码枪通常会在扫描到条码后通过接口发送触发信号,需要在C程序中对这一信号进行处理,例如将扫描结果存储到文件中,或将其发送到网络上的其他设备。 4. 调试和测试。在实际使用过程中,可能会出现一些通讯故障或不兼容的情况,需要通过调试和测试来定位和解决这些问题。 总的来说,C语言与基恩士条码枪的通讯触发需要了解基础的串口通讯知识,以及对C语言相关库和API的熟练掌握。同时,合理的调试和测试也是确保通讯稳定性和可靠性的关键因素。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值