【问题标题】:How do I identify which barcode scanner scanned a label?如何识别扫描标签的条码扫描器?
【发布时间】:2016-09-29 19:03:56
【问题描述】:

我有一个 Rails 应用程序,可以在整个制造过程中跟踪我们的产品。我想在每个工作站都有一个条形码扫描仪,并让员工在完成该项目的工作后扫描该项目的条形码。

StatusUpdate#new 视图有一个文本字段,它接受条形码扫描的项目编号并为该项目编号和当前时间创建记录。我还希望能够识别扫描条形码的扫描仪。

是否可以识别出使用了 10 种条码扫描仪中的哪一种?

我知道一些扫描仪能够在扫描的条形码之前输入前缀,因此我可以解析该前缀以识别所使用的扫描仪。我希望可能有另一种解决方案。

【问题讨论】:

  • 扫描仪只是一个接口,不会被枚举。您可以让他们根据该终端上的扫描仪登录,您可以利用它。
  • 您使用的是什么类型的条码扫描器(制造商和 P/N)以及如何将它们连接到您的系统?
  • 您能否让工作人员扫描固定在其工作站上的条形码,然后才能扫描该项目?这将需要每个表单两个文本字段。您可以使站点和项目条形码“不兼容”,这样表单就不会混淆它们。
  • 扫描仪都将连接到远程工作站,扫描仪附近不会有显示器。这是在制造环境中,我想让它尽可能简单地供工人使用。我不希望他们每次都必须扫描和识别,因为这会使他们和软件的过程复杂化。

标签: ruby-on-rails barcode


【解决方案1】:

我已将多台扫描仪连接到制造环境中的工作站,并且能够配置软件来判断哪个扫描仪正在读取什么代码。这是通过将扫描仪设置为串行设备(USB 上的虚拟 COM 端口)并让软件在每个串行端口上侦听来完成的。

由于不了解更多关于扫描设备和连接性的信息,我无法真正评论这是否适用于您的情况。

【讨论】:

    【解决方案2】:

    如果条形码扫描仪使用不同的工作站,那么您可以尝试通过请求来自的 IP 地址来识别它们。 如果您可以将符号添加到条形码值,那么您可以只提取该符号作为标识符。如果您使用Code 128 条形码,您还可以使用checksum 额外验证提醒数据是否正确。

    【讨论】:

    • 扫描仪将全部挂接到同一个工作站,所以我无法使用请求的 IP。我们当前的条码扫描仪无法添加前缀字符。
    • 如果没有其他输入设备,那么如果在主条形码之前/之后放置另一个需要扫描的特殊条形码怎么办?并使用具有特殊值(如“00000001”、“000002”)的“控制”条码来识别站点?然后,您的应用应在批次中查找前一个/第二个条形码作为源站标识符
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多