立体库使用“低档” RFID的注意点

daizhicun
daizhicun 这家伙很懒,还没有设置简介

0 人点赞了该文章 · 756 浏览

10年前,RFID的概念就开始流行起来,那时候对单片机挺感兴趣,找了些志同道合的朋友一起“研究”; 最简单的那种,串口的;还到电子市场买了些类似于公交卡那样的RFID白卡;
结果成本非常低的“惊人”;
   读卡器成本大概65元左右;
    RFID卡一张4元;
读卡器成本只有市场高端读卡器的1/100 ;
当时的想法是:做学校的学生考勤和家长手机短信绑定;感觉应该有市场;
后来因为自己做的读卡器毕竟是串口的,不方便,再说几十块钱的东西,能指望有什么质量;
就买了周立功单片机的一个最便宜的读卡器,当时是300元,usb口的;调用它的dll使用;效果还不错;
只是推销了学校,根本就没人要;


言归正传,这么多年过去了,也没看到RFID热起来;

但是不免有些客户喜欢赶潮流,指明项目中要用RFID;

于是只能用了,使用下来,有几个小体会:

    1.如何利用条码:
    RFID卡都有uid号,也就是全局唯一的识别码,比如:E28011052000309A,E28011052000309E,E2801105200030C3,E280110520003B5C (很像MD5的16位加密密文)
      但是我个人不喜欢直接用这个16进制堆积的条码;毕竟自定义的条码可以做的有意义,所以最好能有可读性强的条码代替;
       实现方法有两种:
       1.软件控制,做一个条码映射表,把每个RFID的UID条码和自己自定义的条码做映射一个逻辑条码;
        在程序所有地方,输送线的跟踪,堆垛机的调度,RF的读取;都以逻辑条码为准;
        2. 对RFID某个固定扇区写入自定义条码, 稍微高档一点的条码是可写的,早期的我印象可以写入1k字节;现在应该容量更大了;不过咱们只要几十个字节就够了;
       每个RFID投入使用前,先用RFID读写卡器,写入自定义条码;
      当然,我个人肯定倾向于第二种方法,但是前提是我们都是使用低档的RFID,每个RFID的成本低到甚至只有几分钱;所以RFID只能是只读的,只有第一种方法;

       第一种方法,如果不想做映射表(你指望客户帮你做这个几千条码的映射吗?很多时候都是遇到什么都不懂的客户啊),其实可以自定义一个hash运算;只要保证唯一就行;

    2.注意抗干扰:
     1.防止误多;我们常常担心的是读卡率,其实比这个更糟糕的"乱读";
      如果几个RFID卡距离太近,读卡器读出的条码往往不是你想要的那个;所以要注意拉开距离;
     特别是入库口的读卡器,经常会把第1排货架的条码读出来当真实条码;对付这个问题,最简单直接的方法,是把立体库里靠近读卡器的几个货位锁掉,不放货物;           而且堆垛机如果正在做出库,常常会把货叉上的RFID条码当做入库站台的条码,电磁干扰无处不考虑;
    所以对于入库站台的条码,要判断堆垛机是否有正在执行中的任务,如果有,就别读了,反正读到了也不能马上执行,不如等堆垛机空闲了再读;如果货叉不在中位,也别读,免得干扰;
                  
    2.读卡器读取的”闪烁“,在循环读取同一个条码的时候:一会读到,一会有读不到;这就让程序控制有点麻烦,所以我们要结合输送线的光电信号,只要连续2次读到同一个条码,就认为该位置就是该条码了,如果之后再有读不到的也不管了;当然,高档的读码器可能会好些;但是既然选择了便宜;就要放低姿态,在软件上多做各种保护吧;
   
    3.多条码的读取;在大超市里,购物的时候,每个货物上都有一个rfid芯片,你把小推车一过闸门,就自动感应出所有的货物清单和总价格;这是个多么酷的事情,作为一个悲观主义者,我觉得有生之年看不到这样的东西真的投入实战;
    在立体库里,当你想一口气读取多个条码的时候,哪怕只有两个;读卡器会一会告诉你读了A,一会读了B,一会什么都没有读到,一会告诉你读了A和B;
     所以对付这种情况,我采样了多次,以读到的最多的出现2次为准;所以对付多条吗的读取,软件上的异常保护处理,真的挺麻烦的;感觉多条吗有点噩梦感;

   3. 注意通讯方式
       考虑到低档和低成本,所以咱们的通讯方式也是最原始的,使用的是串口,为了在压缩成本,串口也不是1对1的,而是多个读码器公用一个串口;
       这就要轮训,如果你有10个RFID;每个读取做1秒的周期(太快,又怕读取率,”闪烁率“太高)的话,全部轮训下来,要10秒;这个也太慢了;
       所以要控制读取,不是每个RFID都要不停的读,要结合输送机的光电信号,有货的时候才去读,这样同一时刻真正需要轮训的可能就1,2个,轮训周期就短了;
      当然,条件允许的情况下,最好还是通过网线做TCP/IP通讯;
      我们最常见的称重机,就没见过不是串口通讯的,就算用网线,也是假的,通过虚拟串口工具转的假网线通讯;      

而且称重机有两种方式读取:
       1.我们问一次,它提供一次重量;这样我们自己可以控制时序,比如连续3次读取的重量一致;就认为读取成功;
        2.称重机主动给,但是频率非常高,1秒要给几十上百次,搞得PC也太悲催了;

总之,立体库其实一般用不到RFID多少高深的东西,也许有的项目需要东西出库的时候,把产品的属性写入到RFID里;但是库内运作也仅仅就用它一个条码而已;
和常见的条码阅读器作用类似;
但是要考虑通讯方式是个磁场,所以干扰,误读考虑的要比较多;

发布于 2020-10-12 17:22

免责声明:

本文由 daizhicun 原创发布于 大董知识库 ,著作权归作者所有。

登录一下,更多精彩内容等你发现,贡献精彩回答,参与评论互动

登录! 还没有账号?去注册

暂无评论

All Rights Reserved Powered BY WeCenter V4.1.0 © 2023 京ICP备16065701号