编码是 RFID 项目悄悄成功或悄悄失败的那一步。读写器可以很完美、天线可以最优、中间件可以很优雅,但只要写进每枚标签的 EPC 不唯一、不稳定、不可验证,下游所有数字都会变成虚构。
好消息是编码是一个确定性流程。四个决定,按固定顺序执行,就能消掉几乎全部风险。
EPC 编码方案里到底该放什么?
EPC 应该只标识这件物理商品,不能包含它在生命周期中会变化的信息。方案要在写第一枚标签之前定好,因为之后再改就意味着要重写在库商品。
- 默认采用 SGTIN-96 结构:厂商识别前缀、商品参考、序列号。它全球唯一,所有 Gen2 读写器都能识别。
- 除非有明确理由,否则把方案控制在 96 位以内;更长的 EPC 读取更慢,通用支持也更差。
- 绝不要把仓库库位、归属或状态编进 EPC。这些会变,而标签不可能按仓库的速度跟着变。
- 订购标签前先和 GS1 确认厂商前缀长度;前缀短一位,序列号空间就永久受限。
- 为序列号预留一段有文档记录的位段,序列号永不复用,即使商品已报废。
把方案写成一张表:字段、位段、示例值。编码错误几乎都能追溯到"只存在某个人脑子里的方案"。
为什么 TID 校验比 EPC 校验更重要?
回读 EPC 只能证明写入落到了正确的存储区。读 TID 才能证明这枚标签就是你以为的那一枚。
- TID 区是芯片出厂时写入的,在多数 Gen2 芯片上永久锁定,因此是唯一可信的身份锚点。
- 要校验 TID 非零、整批唯一,并且与订购时指定的芯片厂商和型号一致。
- 部分假冒或降级 Inlay 的 TID 看起来合法,但与数据手册的掩码不符;做一次掩码校验几秒钟就能识别。
- 在中间件里把 TID 与 EPC 一起存下来。日后 EPC 读错时,TID 能告诉你是不是同一枚物理标签。
- TID 读不出来的标签一律拒收;一枚无法确认身份的标签不值得贴到商品上。
各存储区应该按什么顺序锁定?
锁定不可逆。顺序排对了,出错只损失一枚标签,而不是整批。
- 先写 EPC 和可选的用户区,再回读校验两者。
- 只有校验通过之后才锁 EPC 区,而且只在应用确实需要不可篡改时才锁。
- 用户区若承载批次、有效期等现场可能需要更正的数据,就不要锁。
- 先设置访问密码与灭活密码,再锁其他区;密码存在中间件里,不要写在纸上。
- 试点阶段绝不锁定。锁定属于量产动作,等方案冻结之后再做。
零售与物流场景多数只锁 EPC 区、保留用户区可写;受监管商品则可能需要在整个货架期内保持用户区可写。
一次验证流程到底该检查什么?
验证不是"打印机响没响",而是一段有明确失败动作的脚本化回读。
- 整卷每一枚标签都读 EPC、TID 与用户区,而不是抽样。
- 把 EPC 与预期序列比对,空缺与重复当场就能发现。
- 确认 TID 存在、本轮唯一,且与订购的芯片型号一致。
- 确认已锁区拒绝测试写入,以此证明锁定真的生效。
- 按卷记录通过、失败、返工数量,并把日志与批次记录放在一起。
失败率超过很小比例的整卷应隔离处理,而不是在产线上手工纠正。手工纠正正是重复 EPC 的诞生地。
哪些编码器与打印机设置会造成"静默失败"?
多数编码缺陷是设置问题而不是硬件故障,而且它们会静默失败——因为打印机照样出纸。
- 功率设得太低会间歇性写入;标签看上去正常,10 厘米能读,3 米读不到。
- 功率设得太高会打伤薄标签的 Inlay,产出"能读一次然后死掉"的标签。
- 标签校准不对会偏移写入位置,编码器把数据写到了间隙而不是 Inlay 上。
- 碳带与 Inlay 不匹配表现为打印发虚,但 EPC 完全合法,把真正的问题从操作员眼前藏起来。
- 用手持机代替一体式验证器,会漏掉边缘标签,而这些标签到了月台门就会失败。
功率要按 Inlay 数据手册设定,再用你实际通道门距离上的读取测试来证明。
怎么让编码质量在几个月里保持稳定?
编码质量会漂移:操作员换人时漂移,标签批次更换时漂移,打印机保养之后也会漂移。
- 每个班次开工前做 5 枚标签的读取距离检查,并记录结果。
- 每个标签批次抽一整卷做 EPC 序列审计,而不是每个项目只做一次。
- 新批次到货时比对 TID 厂商掩码,因为供应商确实会换芯片。
- 工位常备一枚已知良好的参考标签,量产前先读一遍。
- 每一条重复 EPC 告警都当作有根因的事件处理,而不是当成可以随手清掉的噪音。
结论
编码决定了唯一性是被保证还是被丢掉,而任何中间件都无法挽回一个重复的 EPC。
- 先设计 EPC 方案,控制在 96 位,绝不把可变属性编进去。
- 除 EPC 之外必须校验 TID,因为 TID 是唯一出厂锚定的身份。
- 最后再锁定,且试点阶段绝不锁。
- 用周期性读取距离测试证明编码质量,而不是靠打印机"滴"一声。
只要编码这一步有文档、有责任人、有审计,RFID 项目的其余部分就有了稳定地基;反之,其他所有投入都会继承一个它自己修不好的数据问题。






