【发布时间】:2021-02-24 22:29:39
【问题描述】:
我正在为包装分拣机编写一个 PLC 程序(Q 系列 Mitsubishi PLC,GXWORKS 2 软件)。机器的逻辑如下:
1.包裹被引入传送带。条形码阅读器扫描仪获取包裹条形码。
2.条码发送到我们的SMS(分拣管理系统),它计算出口并发送回PLC。
3.包裹到达计算出的出口,然后导出到滑槽。
产品的跟踪由编码器和移位寄存器完成。这意味着每个内存地址都代表传送带中的一个物理位置。然后,移位寄存器将代表包的位沿着内存缓冲区移动,直到位到达代表出口的地址,从而可以导出包。
我的问题不是产品的追踪,而是产品ID的追踪:
当包裹进入传送带时,会为该产品设置一个 ID (1,2,...,n)。这个想法是,这个 ID 用于跟踪该包的状态,例如,如果包是在正确的出口中派生的,是否有损坏的条形码等。
我的问题是,我怎样才能有效地跟踪这个 ID。我在考虑使用相同的移位寄存器,而不是移动一个位,而是移动一个更大的数字,例如 |1|0000011|,其中第一位的作用就像一个标志,代表产品的存在,其余的数字是产品编号。当标志到达出口地址时,我可以减去 10000011 - 10000000 = 00000011,得到产品 ID。
有没有更有效的方法来做到这一点?
【问题讨论】:
-
在计算出的出口前是否有条形码扫描仪?在出口前检查条形码是有意义的,以确保它位于正确的位置。
-
我的机器入口只有一个条码扫描器:(
-
传送带上同时有多少个包裹?在给定时间传送带上总是有 1 个包裹?
-
传送带上最多可以有 70 个包裹。传送带入口处并不总是包裹,因为感应是手动的,有时可能没有包裹被感应。
标签: plc