扫描枪(BarCoder Reader)作为光学、机械、电子、软件应用等技术紧密结合的高科技产品,是继键盘和鼠标之后的第三代主要的电脑输入设备。扫描枪自80年代诞生之后,得到了迅猛的发展和广泛的应用,从最直接的图片、照片、胶片到各类图纸图形以及文稿资料都可以用扫描枪输入到计算机中,进而实现对这些图像信息的处理、管理、使用、存储或输出。
BarCoder Reader的通讯方式
条码扫描枪基本分为三种接口:串口(RS232)、PS/2和USB。前两种接口串口(RS232)和PS/2的条码扫描枪是不需要驱动或软件的。所以其实大多数条码扫描枪是可以不用安装驱动或软件,只有接口为USB串口模式和USB HID 模式的条码扫描枪才需要安装驱动。目前市面上有很多USB HID的扫码枪,他的工作方式和键盘的输入都是基于USB HID协议的。正因如此,我们可以在Automation Runtime中使用键盘,也能使用HID的扫码枪。
在本文中数显仪表将介绍在Automation Runtime环境中如何使用USB(HID)的扫码枪读取条码信息。
1、系统配置
①硬件配置
a、X20CP1585
b、基恩士HR100扫码枪ZEBEX扫码枪
②软件配置
AS:AS4.2.10.53
AR:G4.26
Library:AsUSB dvframe AsBrStr
2、Automation Runtime实现
在Automation Studio中集成了USB驱动库以及强大的DvFrame帧驱动库,可以通过以上两种接口访问USB扫码枪,如下展示的是USB驱动库所展示的例子程序。
直接导入这个例子程序后,下载到 PLC 以及连接扫码枪。发现有如下的执行结果:
在程序里,这个扫码枪是和键盘都是属于同一种输入设备,所以他们都是usbKbd(USB键盘)。
扫一个条码:(条码是 91250273908)。但是从系统中获取了2倍的字符长度的数据帧。
以下是字符转换的规律:
①当一个字符点击(键盘某个按键被点击)后,HID Usage ID对应的字符就会被传送到ReadDate数组里,而当该字符松开(键盘某个按键被释放)时,ReadData数组会收到(16#80+字符码)。举个例子:数字“9”键盘按下后,ReadData[]收到16#26;当“9”键盘释放后,ReadData[]收到16#A6。
②按钮“Shift”是切换大小写的,在该对应表中16#71和16#75。可通过Shift点击时的事件,切换大小写不同的字典。
仔细查看USB的报文转换(USB HID to PS/2 Scan Code Translation Table):
通过这个报文转换,就可以知道 USB 扫码枪传送了什么样的数据内容。只要剔除了报文的其他字符,就能得到扫码枪的实际的字符输入。
3、总结
根据Sample例子程序进行了字符串的拼接,使扫码一次能够得到完整的数据包。同时增加了断线再连接功能。目前报文译码已经实现了大小写字母,数字以及键盘中用到ASCII字符(控制字符除外)。
以上实现方式测试了文中所列的两款扫码枪设备以及国产扫码枪设备。贝加莱目前主流使用的PLC和PLC触摸屏一体机均包含USB接口,且能无缝支持该通讯设备。
关于贝加莱
贝加莱是一个总部位于奥地利并拥有遍布全球分支机构的创新驱动型自动化企业,2017年7月,贝加莱成为ABB集团全球机器与工厂自动化业务单元。作为全球工业自动化领域的领导者,贝加莱融合了前沿技术与先进的工程能力,为各个产业客户提供机器与工厂自动化、运动控制、HMI以及集成安全技术的完整解决方案。通过工业物联网通信标准如OPC UA、POWERLINK和openSAFETY以及贝加莱强大的Automation Studio软件开发环境,贝加莱不断重新定义自动化工程的未来。贝加莱保持持续的创新精神,为客户提供更为简化以及超出预期的工业自动化领域前沿技术与方案。
AS软件下载
1、以下版本免授权,可以随意安装使用:
AS_4.1.14.40_UP_DVD.zip
2、以下是最新的AS,需要在线申请90天授权:
申请90天授权的方法:见《Automation Studio Evaluation License无法提交申请表单的解决方法_V01》
3、安装AS4之后发现机器上安装的AS2.X版本无法使用。点击《AS4导致AS2不能用问题》
相关阅读
昌晖仪表聊二维码