企业 制造 / IoT

Odoo 企业版 IoT 工位触发为什么不是“设备连上就能自动干活”:触发器、按键动作与打印绑定边界

企业版 IoT 不是设备接入后自动全能,而是先把工作中心、键盘型设备、按键与动作建立明确映射,再把质检打印定向发到指定设备。

企业 制造
进阶 开发者 1 分钟阅读
0 评论 0 点赞 0 收藏 3 阅读

制造现场一说 IoT,很多人脑子里出现的是“设备接上后,工位自己会动起来”。这当然很诱人,但企业版并没有把自动化做成黑盒魔法。

mrp_workorder_iot 先在 mrp.workcenter 上新增 trigger_ids,再定义独立的 iot.trigger 模型。一个 trigger 至少包含:键盘型 device_id、触发键 key、所属 workcenter_id 和具体 action。支持的动作也不是无限自由文本,而是枚举好的 SKIPPAUSVALIFINIRECOPROPPRSLPRNTPACKSCRA 等。

这说明企业版的自动化思想很务实:不是“任何设备事件都能随便触发任何操作”,而是先把某个工作中心允许哪些按键动作说清楚。再加上 device_id 域限制为 type = keyboard,你会发现它优先解决的是现场按钮盒、扫码键盘这类稳定输入源,而不是追求万物互联的炫技。

quality.py 里的 _compute_boxes() 更进一步把这些触发器按 IoT box 的 IP 聚合,再输出成 JSON。也就是说,前端不是只拿到一堆触发记录,而是拿到“哪台盒子上有哪些设备、每个设备什么键对应什么动作”的可执行映射表。这种按 box 分组的做法,能明显降低现场多盒子、多设备时的混乱。

action_print() 则体现了另一个常见边界:打印不是触发器动作的副产品,而是单独绑定到质检点设备。只要 quality_point_id.device_id 存在,返回动作里就会带上 device_ids,把打印任务定向发给指定硬件。也就是说,企业版区分“按钮触发作业动作”和“把打印发送到哪台设备”,这两件事不能混为一谈。

实施时最容易踩坑的地方,是把 IoT 设备接入当成业务规则配置的替代品。设备连上、盒子在线,只说明硬件通了;真正决定现场是否可用的,是 trigger 键位、工作中心绑定、动作枚举,以及打印设备是否正确挂在质量点上。

所以企业版 IoT 工位触发的核心,不是自动化本身,而是把自动化拆成一组可审计、可绑定、可限制的现场映射规则

DISCUSSION

评论区

想参与讨论?先 登录 再发表评论。
还没有评论,你可以成为第一个留言的人。