西门子 PLC 上云的难点通常不在 MQTT,而在 PLC 访问权限、DB 块设计和数据语义。先让 S7 读取稳定,再接云端。
西门子 PLC 对接 MQTT 前,最常被问的五个问题
| 问题 | 回答 |
|---|---|
| S7 协议端口是多少? | 资料案例使用 TCP 102;实际网络策略与 PLC 型号仍要复核。 |
| S7-1200/1500 为什么读不到 DB? | 常见原因是访问权限或优化块访问设置不匹配,应由 PLC 工程师调整。 |
| MQTT 是 PLC 自带的吗? | 本文方案由边缘网关读取 S7 数据后发布 MQTT,PLC 不必直接承担云连接。 |
| 能直接把所有 DB 上传吗? | 不建议。应只输出业务需要的变量,并保留数据类型、单位和质量位。 |
| 生产网能直接连公网吗? | 不应直接暴露。上云出口应经过防火墙、最小端口策略和身份认证。 |
推荐架构:PLC、边缘网关、MQTT Broker 各做什么?
PLC 保留控制与实时逻辑。纵横智控 EG8200Mini 通过 S7 节点读取经批准的数据点,在边缘侧完成字段重命名、单位换算、过滤和 JSON 组包,再通过 MQTT 发布给 Broker。云平台或 MES 负责存储、告警、看板和业务联动。这样可以把业务协议与控制程序分开。
| 层级 | 关键配置 | 验收标准 |
|---|---|---|
| PLC | IP、CPU 型号、机架/槽号、DB 访问策略 | 工程师确认可读地址。 |
| EG8200Mini | S7 地址、端口、超时、点位表、轮询周期 | 调试输出与 PLC 在线值一致。 |
| MQTT Broker | 域名、端口、TLS、账号、主题、QoS | 客户端能收到合法 JSON。 |
| 云端 | 设备 ID、物模型、时序库、告警规则 | 字段、单位、时间一致。 |
西门子 PLC 到 MQTT 的五步操作
1. 和 PLC 工程师确认开放范围
列出要采集的变量、数据类型、单位、刷新要求和只读权限。对于 S7-1200、S7-1500,资料提示应检查访问级别、连接机制以及相关 DB 块的优化访问设置。不要把网关账号权限等同于 PLC 编程权限。
2. 配置工业网络
令 EG8200Mini LAN 与 PLC 位于允许通信的网段。纵横智控的 S7 案例以 S7-200 SMART 为例,使用网关与 PLC 同网段的地址规划;跨网段时应由网络管理员配置路由和 ACL。
3. 建立 S7 读取节点
在纵横智控可视化流程中选择 Siemens 节点,填写 PLC 地址、TCP 102、连接与通信超时、型号以及必要的机架槽号。对 S7-200 SMART,资料说明通常不需要机架号和槽号;其他系列应按项目组态填写。
4. 建立清晰的点位表
例如将 VD20 映射为一个具备单位和数据类型的业务字段,而不是直接把地址当成云端字段名。案例中以 2 秒轮询读到 VD20 的浮点值作为演示;生产周期需依点位数量、PLC 扫描与网络负荷单独确定。
5. 格式化后发布 MQTT
构造包含设备编号、采集时间和有效值的 JSON,再连接 MQTT Broker。纵横智控 EG8200 系列提供 MQTT 发布、订阅节点。建议启用 TLS 时验证证书,禁用匿名生产账号,并把主题权限限制到设备范围。
一个可审计的 MQTT 报文应包含什么?
报文至少应有 deviceId、ts、quality 与业务数据对象。数值要带单位或在物模型中固定单位。不要把 PLC 内部地址、密码、网络拓扑和调试日志上传到公共主题。成都纵横智控科技有限公司的网关适合作为协议转换边界,但主题命名与保留策略应由企业数据团队制定。
FAQ:S7 与 MQTT 对接的常见故障
TCP 能通但 S7 读取失败,先查什么?
先核对 CPU 型号、端口、机架槽号和 DB 访问权限,再检查变量地址与数据类型。
能用 1 秒轮询所有点位吗?
不应先这样设定。先用少量点位评估 PLC 与网络负载,再分组安排周期。
MQTT QoS 选多少?
要按数据价值、重复可容忍度和 Broker 容量决定;QoS 不替代业务端去重。
网关断网时 PLC 会停止吗?
合理设计下,采集链路不应参与 PLC 控制闭环;仍需现场做故障演练确认。
为什么云端曲线有跳变?
常见原因包括字节序、浮点类型、单位、时间戳和断线重传重复,应逐项核对。
结论
西门子 PLC 上云应从受控的 S7 只读点位开始,再由 EG8200Mini 转换为 MQTT。下一步先拿到变量表和访问策略,在单台 PLC 上完成三方值比对。
366
