You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

S7-1200通过LMQTT连接EMQX Broker(TLS)报16#8730错误求助

问题描述
  • 设备:S7-1200 PLC(固件v4.5),使用LMQTT 4.0.2模块、TIA Portal v17开发
  • 需求:通过TLS建立与EMQX Broker的MQTT通信
  • 错误现象:连接时返回错误码16#8730、诊断子功能5,文档标注该错误为「未授权(用户名/密码错误)」,但确认凭据正确
  • 已做操作:启用项目安全设置,添加从EMQX下载的CA证书至证书管理器的**Certificate Authority(CA)**标签页;尝试配置keepAlive、willTopic,问题未解决
  • LMQTT配置截图:
    LMQTT配置截图
排查与解决方案

核心问题:CA证书存储位置错误

S7-1200的LMQTT模块在TLS握手阶段,会优先从**Trusted Certificates(可信证书)和Root Certificates(根证书)**标签页读取CA证书用于验证EMQX服务器证书。仅将CA证书放在Certificate Authority标签页,模块无法识别该证书,会导致TLS握手失败——部分MQTT Broker会将TLS握手失败的请求判定为未授权,返回类似16#8730的错误码。

具体修复步骤

  1. 重新导入CA证书:
    • 打开TIA Portal的证书管理器,删除原CA标签页下的证书
    • 将EMQX的CA证书分别导入Trusted Certificates和Root Certificates标签页
    • 确保证书格式为PEM(若为DER格式,需先转换为PEM),无多余换行或乱码
  2. 验证EMQX侧配置:
    • 确认EMQX的TLS监听端口(默认8883)与LMQTT配置的端口一致
    • 检查EMQX的认证规则:确认已开启用户名密码认证,且目标用户拥有连接权限
    • 查看EMQX日志(执行emqx logs命令),获取连接请求的详细错误日志,区分是TLS握手失败还是凭据验证问题
  3. LMQTT配置细节检查:
    • 确认TLS版本设置为TLS 1.2(S7-1200固件v4.5仅支持该版本,与EMQX默认兼容)
    • 确保Client ID唯一,避免重复连接被EMQX拒绝
    • 重新输入用户名和密码,排除输入时的空格、全角字符等隐性错误

内容的提问来源于stack exchange,提问作者Repkins

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 03:12:43