博文

树莓派 GPIO 与 OpenPLC V4:3.3V 逻辑与 24V 工业现场之间

树莓派是 OpenPLC 最常被拿来做 demo 的硬件,但它和真实工厂之间隔着一道电压与电流的物理鸿沟。这一篇专门讲清楚怎么安全地跨过去。

图:树莓派 GPIO 与 24V 现场之间的隔离

图:3.3V/16mA 的 Pi GPIO 与 24V 工业现场之间必须加光耦/电平转换/工业 I/O HAT 隔离层。

一、地址映射:IEC 地址 ↔ 物理引脚

OpenPLC 把树莓派 GPIO 映射到标准 IEC 61131-3 地址。规则很直观:

  • 奇数物理引脚(3, 5, 7, 11, 13…)→ 数字输入 %IX0.0, %IX0.1, %IX0.2 …
  • 偶数物理引脚 → 数字输出 %QX0.0, %QX0.1 …

于是你可以在 Editor 的梯形图里直接写 %IX0.3 代表接在 BCM 17 上的按钮,运行时负责把 IEC 地址翻译成物理 GPIO。V4 的 Editor 比 V3 更友好:在变量表的 location 单元格双击,会列出设备在配置页里暴露的全部可用地址,选就行。

硬件地址属于”目标配置”,不属于控制逻辑本身。写程序时先用未定位变量表达控制意图,最后再绑定到具体引脚——这样同一份逻辑能复用到不同板子。

二、物理现实:3.3V / 16mA 扛不住 24V

树莓派 GPIO 是 3.3V 逻辑,单脚最大约 16mA。而工业现场设备普遍 24V,一只 24V 接近开关直接怼到 GPIO 上会烧毁树莓派。

必须加隔离/电平转换层,常见三选一:

  1. 光耦隔离:最便宜可靠,输入侧吃 24V,输出侧给 3.3V 给 Pi。顺带解决地电位差。
  2. 电平转换模块:TXS0108E 一类双向电平转换,适合数字信号。
  3. 工业 I/O HAT:带光耦隔离、继电器/晶体管输出的扩展板,直接接 24V 现场,最省心,也最贴近”像 PLC 一样用”。

三、模拟量与 RS-485

  • 模拟输入(如电机电流传感器):接 Pi 的 ADC 引脚,OpenPLC 映射为 %IW;用它做趋势监测正是 AI 预测性维护的数据入口(见本系列 AI 篇)。
  • Modbus RTU(接 RS-485 总线上的既有设备):给 Pi 接一个 RS-485 HAT 到 UART,再在运行时设置里把串口配给 modbus_master 插件即可。

四、实操清单

  • 确认 Pi 型号与 GPIO 电流上限,绝不直连 24V 现场信号
  • 输入用光耦,输出用继电器/晶体管隔离 HAT
  • 在 Editor 用 location 下拉绑定 %IX / %QX,不要手敲地址
  • 需要 RS-485 时加 HAT 并启用 modbus_master
  • 先做仿真(Simulator)验证逻辑,再上真实 I/O

五、小结

树莓派 + OpenPLC V4 是把”软 PLC”概念跑通的最低成本途径,但隔离层不是可选项,是安全底线。加一块工业 I/O HAT,它才真正从”开发板实验”跨进”现场可用的控制器”门槛。

→ 下一篇回到软件层:从 MatIEC 到 STruC++,看 V4 编译器到底改了什么。


配套代码与参考仓库

系列导航 · 双向链接(OpenPLC V4 系列 · 共 12 篇)

本系列当前均为草稿(draft: true)。建议发布序:① → ③ → ② → ④ → ⑧ 打头,⑩⑪⑫ 作深度延展按读者反馈穿插。

相关阅读

← 返回博文列表