本文由立卓科技有限公司针对在扫描枪方面的应用,小结了需要注意的若干问题,特别针对扫描枪通信是单向通讯,无法确认的特点做了探讨。
当前很多工业产品在生产、测试、物流配送时往往都需要一个身份标识。通过这个标识可以方便的查询到产品流水线的各个环节的相关测试数据以及库存位置等信息。而条形码或者二维码由于简单、可靠、廉价、便捷成为绝大多数产品的标识。通过扫描枪可以方便的扫描到条形码或二维码的数据,从而实现对产品的编号识别。
扫描枪可分为手持式、平台式等,扫描枪的接口可以为串口、并口、USB口或者PS2口等。实际应用中,涉及到条形码或者扫描枪的项目,通常会借助关系数据库需要保存相关条码内容以及该条码产品的相关参数,同时在现场还可能涉及到PLC等工业产品的通信、监控等操作。立卓软件可以便捷的和扫描枪以及PLC等产品通信,同时可以方便的和关系数据库进行通信。仅以立卓做过的项目而言,使用立卓软件和扫描枪配套的项目主要应用在车间流水线监测、产品在出库或者入库等物流方面。
这里简单总结下在应用中的几点认识:
(1)在和软件配套的时候,通常选用接口为串口的扫描枪。不论扫描枪是红外线还是激光的,其扫描的数据通常都是以ASCII码的形式通过串口传递到PC的,不同的扫描枪可能会在数据的头尾增加上一些包头或包尾的标识。一般讲来,通信都是比较简单的。不过绝大部分扫描枪的通信都是单向的,都是扫描枪把数据发给PC,发送的数据一般很少有校验,PC只是被动接收数据,而且难以判断数据的正确与否。
(2)一般涉及到扫描枪的项目,通常都会使用到关系数据库,保存条码内容以及该条码产品的相关参数。这里要考虑两方面的内容,一个是数据的多少,一个是数据间隔时间。所谓的数据多少,是指需要保存的历史纪录,在流水线上,通常每天会产生上千条纪录,这些纪录保存、查询都需要占有一定的空间,如果保存时间较短,数据较少,可以使用Access数据库,简单,便宜。如果每天数据量较多,保存的时间较长,则可以使用SQLSever或者Oracle等关系数据库,不过这两种数据库的价格都不低,在实际应用中,有时会用多个Access数据库或者每天保存到文本或Excel中等折中的方法实现数据的廉价保存。当然在使用折中的方法时,数据的查询等操作等都不是方便了。除了数据的多少外,实际应用中,有时还要关心数据的间隔时间。所谓数据的间隔时间,是指有时对于一条记录的若干字段可能在较短的时间内有若干更新操作,而且先更新的数据可能会影响到后更新的数据。比如在某条生产线上,需要进行两个参数的测试,当前者测试合格后,后者则继续测试。这种情况下,要注意两者之间的时间间隔。因为通过ODBC或者OLEDB等方式访问关系数据库时,是要用一定的时间的,这个时间通常是关系数据库本身决定,而且当数据较多时,一定要注意索引等方面的设置,以加快关系数据库的相关操作。
在使用扫描枪的工程中,有时会涉及到联动控制,比如先通过扫描枪扫描条码,条码保存到PC中,同时PC控制PLC或者其他仪表进行对该产品的测试等操作。在很多情况下,扫描枪本身和PLC间没有直接的通信,PLC无法判断测试的产品的条码,这时,是靠PC来通知PLC测试,然后把测试结果保存到该条码数据内。实际操作中一定要严格规范操作。