您好,欢迎访问湖南辰控智能科技有限公司官网!

400-807-8997
湖南辰控智能科技有限公司
您的位置:首页 > 新闻动态 > 产品新闻
联系我们

湖南辰控智能科技有限公司

地址:湖南省长沙雨花区国际企业中心13栋8楼
电话:400-807-8997

咨询热线400-807-8997

云组态远程模块MQTT接入使用说明书

发布时间:2026-06-12人气:0

目录

1. 前言(概述)

2. 前置条件与软硬件清单

3. 模块硬件通道配置指南(PLC 采集通道设置)

4. 采集变量组态配置(PLC 点位映射)

5. MQTT 客户端基础参数配置(连接鉴权、服务器参数)

6. MQTT 上下行通信协议规范(上报 / 下发 / 应答 JSON 报文)

7. 采集规则与传输策略配置(上传模式、休眠、轮询周期)

8. 典型对接案例(西门子 S7-1200 + 第三方 MQTT 平台)

9. 故障排查与常见问题

10. 附录(参数对照表、Topic 规范、错误码)

1 前言

1.1 产品简介

辰控智能远程硬解模块集成网口以太网 + RS485/232 串口双采集通道,原生内置 MQTT3.1.1 协议客户端,无需外置网关,直连西门子、三菱等主流 PLC,实现 PLC 寄存器数据实时上云、云端远程下发指令修改 PLC 变量,适配第三方私有 MQTT 服务器、华为 IoTDA、阿里云 IoT 等物联网平台对接。
模块分为以太网通道(最多 8 路网口)、串口通道(1 路硬件串口)两种采集链路,支持变化上传、周期定时上传双模式,硬件硬解码 PLC 协议,不依赖脚本解析,稳定性优于软解析方案。

1.2 MQTT 对接能力说明

1. 上行:PLC 实时变量主动上报PLC 点位变化 / 定时周期触发 JSON 格式数据推送至 MQTT 服务端;

2. 下行:云端远程写控 PLCMQTT 服务端下发控制报文,模块解析后写入 PLC 寄存器、M 区、DB 块点位;

3. 应答回执:写指令结果回复:模块收到下发写指令后,固定返回应答报文,反馈写入成功 / 失败状态码;

4. 协议固定版本:version:"1.0",全链路 UTF-8 JSON 编码。

1.3 文档适用范围

本文档面向设备工程师、物联网运维人员,指导辰控远程模块从 PLC 接线通道配置变量添加→MQTT 参数填写平台联调全流程配置,对接任意第三方 MQTT Broker(华为 IoTDA / 自建 MQTT 服务器)。

2 前置条件与软硬件清单

2.1 硬件清单

序号

名称

规格参数

备注

1

辰控智能远程硬解模块

XBOX-4G8 路网口 + 1 串口)

硬件固件≥V2.3

2

西门子 S7-1200 PLC

IP[192.168.2.55](192.168.2.55),端口 102

示例设备,可替换其他 PLC

3

网线 / 串口线

超五类网线、RS485 屏蔽线

以太网 / 串口分别接线

4

上位调试电脑

安装辰控云组态配置软件

本地参数配置

2.2 软件清单

1. 辰控智能云组态配置工具(PC 端);

2. MQTT 调试工具(MQTT.fx,可选,用于报文调试);

3. 第三方 MQTT 服务信息:服务器 IP / 域名、端口、ClientID、账号、密码、发布 / 订阅 Topic(由平台方提供)。

2.3 网络前提

1. 模块与 PLC 同局域网(以太网采集),串口线正确接 PLC RS485 端子;

2. 模块可访问外网 MQTT 服务器(开放 1883 非加密 / 8883 加密端口);

3. 华为 IoTDA 对接需提前在平台创建产品、注册设备,获取 DeviceID、密钥、接入地址。

3 模块硬件通道配置指南(PLC 采集通道设置)

进入辰控云组态软件【网络通道配置】菜单,分为以太网通道(1~8 通道)、串口通道两类配置,模块默认 8 路网口、1 路硬件串口。

3.1 以太网通道配置(示例:通道 1 对接 S7-1200

通道序号

协议类型

PLC IP 地址

端口

运行模式

网络通道 1

西门子 S7 协议

[192.168.2.55](192.168.2.55)

102

单线程采集

通道 2~8

自定义模式

[0.0.0.0](0.0.0.0)

0

单线程(闲置默认)

 

说明:闲置网口默认 IP [0.0.0.0](0.0.0.0),如需新增其他 PLC,修改对应通道 IP 与协议。

3.2 串口通道配置

串口通道固定硬件参数:波特率 9600、数据位 8、无校验 (N)、停止位 19600,N,8,1,支持 Modbus-RTU、自定义串口协议,如需修改串口参数在【串口通道配置】页签修改。

3.3 配置保存

通道参数填写完成后点击【保存通道配置】,模块自动重启通讯链路,约 30s 完成 PLC 握手。

4 采集变量组态配置(PLC 点位映射)

进入【变量配置】【添加变量】,绑定已配置的 PLC 通道,支持 bool 布尔、float32 浮点数据类型,支持读写 / 只读属性配置,示例配置如下表(S7-1200 点位): 

ID

所属设备名称

变量名称

PLC 寄存器地址

数据类型

读写属性

是否本地存储

说明

1

S7 1200(Ethernet)_1

启动

M30.2

bool

读写

不储存

设备启停开关,云端可下发修改

2

S7 1200(Ethernet)_1

显示

Q0.2

bool

只读

不储存

PLC 输出点位,仅上报无法远程写

3

S7 1200(Ethernet)_1

浮点启动

DB1.12

float32

读写

不储存

DB 块浮点参数

4

S7 1200(Ethernet)_1

浮点 1

DB1.0

float32

读写

不储存

DB 块浮点数据

5

S7 1200(Ethernet)_1

启动运算

M30.3

bool

读写

不储存

运算使能点位

4.1 批量导入功能

支持 Excel 表单批量导入变量:【导入表单】选择点位清单一键生成全部变量,适用于上百点位批量配置场景。

4.2 热更新推送

勾选【热更新】,新增 / 修改变量无需重启模块,实时生效并同步 MQTT 上报规则。

5 MQTT 客户端基础参数配置

菜单路径:【采集配置】MQTT 上传平台】选择「第三方 MQTT 服务器」,填写连接鉴权全参数。 

5.1 MQTT 基础连接参数表

参数项

参数说明

必填

填写规范

服务器地址

MQTT Broker 域名 / IP

私有 MQTT IP;华为 IoTDA 填平台接入域名

端口号

MQTT 端口

非加密 1883TLS 加密 8883

客户端标识 ClientID

MQTT 唯一客户端 ID

平台分配唯一标识,华为 IoTDA 规则:产品 ID_设备 ID_0_时间戳

用户名

MQTT 接入账号

可选

Broker 开启鉴权时必填

密码

MQTT 接入密钥

可选

Broker 开启鉴权时必填

上传模式

数据触发模式

变化上传 / 定时周期上传

变量上报间隔

最小上报间隔

单位 ms,示例:10ms(最快轮询周期)

休眠时间

闲置休眠时长

可选

长时间无变量访问,到达时间暂停采集节省带宽

 

补充:华为 IoTDA 对接时,ClientID、用户名、DeviceSecret 由平台注册设备后自动生成,直接复制填入配置框即可。

5.2 Topic 配置(发布 / 订阅)

1. 发布 Topic(上行上报):模块主动发布实时数据至该主题(平台订阅此 Topic 接收 PLC 数据);

2. 订阅 Topic(下行控制):模块订阅该主题,接收平台下发写控指令;

3. 应答 Topic(写指令回执):模块收到下发指令后,向应答 Topic 推送执行结果。

6 MQTT 上下行通信协议规范(JSON 报文,固定 version=1.0

全链路 JSON 采用 UTF-8 编码,分为实时数据上报、云端下发写指令、指令应答回执三类报文,是模块与 MQTT 平台数据交互标准。

6.1 上行:实时变量上报报文(type:variant_data

6.1.1 参数定义表

字段名

数据类型

必填

说明

type

string

固定值:variant_data(标识实时数据上报)

version

string

固定:"1.0",协议版本

time

Number

毫秒级 Unix 时间戳,模块本地系统时间

params

Object

键值对:key = 变量名,value = 变量实时数值,支持多变量同时上报

6.1.2 标准示例报文

json
{
    "type":"variant_data",
    "version":"1.0",
    "time":1600324099000,
    "params":{
        "启动":true,
        "显示":false,
        "浮点启动":25.68,
        "浮点1":12.32,
        "启动运算":true
    }
}

 

触发规则:变化上传:变量数值发生改变立即上报;周期上传:按配置上报间隔定时全量上报所有变量。

6.2 下行:云端远程写控指令报文(type:write_variant

平台向订阅 Topic 下发指令,模块解析后写入对应 PLC 点位。

6.2.1 参数定义

字段名

数据类型

必填

说明

id

string

消息唯一流水 ID,平台随机生成,用于应答匹配

type

string

固定:write_variant(远程写指令标识)

version

string

固定 "1.0"

time

Number

毫秒 Unix 时间戳

params

Object

key = 变量名,value = 待写入目标值,批量多变量写入

6.2.2 下发指令示例

json
{
    "id":"e910fbf051b2ba26",
    "type":"write_variant",
    "version":"1.0",
    "time":1743139324368,
    "params":{
        "启动":false,
        "浮点1":36.9
    }
}

 

约束:只读变量(如 Q0.2 显示)无法下发写入,下发无效,应答返回错误码。

6.3 下行应答:写指令回执报文(type:write_variant_reply

模块执行写指令后,固定发布应答报文,id 与下发指令 id 一一对应,code 为执行结果码。

6.3.1 参数定义

字段名

数据类型

必填

说明

id

string

和下发 write_variant 消息 id 保持一致

type

string

固定:write_variant_reply(写指令应答)

version

string

固定 "1.0"

time

Number

毫秒时间戳

code

int

0 = 写入成功;非 0 = 错误码(见附录错误码表)

6.3.2 应答报文示例

json
{
    "id":"e910fbf051b2ba26",
    "type":"write_variant_reply",
    "version":"1.0",
    "time":1743139324368,
    "code":0
}

7 采集规则与传输策略配置

7.1 上传模式选择

1. 变化上传(推荐):仅变量数值变更时触发 MQTT 上报,节省流量,适用于工业设备低频变化场景;

2. 定时全量上传:按上报间隔周期,全量推送所有配置变量,适用于需要全量快照的平台。

7.2 休眠配置说明

休眠时间:无任何变量数据交互达到设定时长,模块暂停 PLC 轮询采集、暂停 MQTT 上报;任意变量触发变化后自动唤醒恢复采集。

适用场景:设备夜间停机、长时间无人运维,降低模块功耗与流量消耗。

7.3 断线重连策略

模块内置退避式重连机制:MQTT 断开后首次 5s 重连,失败后间隔翻倍,最大重连间隔 120s;网络恢复自动重连 Broker,重连成功后补发断线期间变化数据(可选开启)。

8 典型对接案例:S7-1200 对接华为 IoTDA 平台

8.1 华为平台前置操作

1. 登录华为云 IoTDA 控制台创建产品,产品模型添加属性:启动 (bool)、显示 (bool)、浮点启动 (float)、浮点 1 (float)、启动运算 (bool)

2. 产品下注册设备,获取接入域名、DeviceIDDeviceSecret(密码)

3. 获取平台系统 Topic

 设备上报 Topic$oc/devices/{device_id}/sys/properties/report(模块发布)

 平台下发 Topic$oc/devices/{device_id}/sys/commands/request_id={xxx}(模块订阅)

 指令应答 Topic$oc/devices/{device_id}/sys/commands/response/request_id={xxx}(模块发布回执)

8.2 辰控模块参数填写

1. MQTT 服务器地址:华为 IoTDA 对应区域接入域名,端口 8883TLS 加密);

2. ClientID、用户名、密码按华为设备鉴权规则填写;

3. 发布 / 订阅 Topic 复制华为平台 Topic 填入组态软件;

4. 上传模式勾选「变化上传」,上报间隔 10ms

8.3 联调验证

1. PLC 修改变量数值,查看华为平台设备详情页实时数据;

2. 华为平台控制台下发属性修改指令,查看 PLC 点位同步变化;

3. 平台查看模块返回应答 code=0,代表远程写入成功。

9 故障排查与常见问题

故障现象

排查方向

解决方案

MQTT 连接失败,模块日志提示无法连接 Broker

1. 服务器地址 / 端口错误;2. 鉴权账号密码错误;3. 外网不通

核对 MQTT 参数,ping 服务器 IP,检查防火墙放行 1883/8883 端口

变量不上报数据

1.PLC 通讯断开;2. 变量配置错误;3. 上传模式设置错误

网口 ping PLC IP,核对 PLC 点位地址,切换定时上传测试

平台下发指令无应答

1. 订阅 Topic 错误;2. 变量为只读无法写入;3.PLC 离线

核对订阅主题,检查变量读写属性,排查 PLC 接线

上报数据乱码

编码格式异常

模块固定 UTF-8,平台接收端统一配置 UTF-8 解析

10 附录

附录 A:指令应答错误码对照表(code 字段)

错误码

含义

0

远程写入 PLC 点位成功

1

变量为只读,禁止下发写入

2

PLC 通讯离线,点位无法访问

3

下发数据类型与 PLC 变量类型不匹配(bool 传入浮点)

4

变量名称不存在(参数 params 键名错误)

附录 BPLC 点位规则速查表

1. M 区:M30.2→bit 布尔点位;

2. Q 区:Q0.2→PLC 输出,大多只读;

3. DB 块:DB1.0DB1.12→DB 块浮点 float32

附录 CMQTT 安全配置建议

1. 公网对接优先启用 MQTTS8883 端口 TLS 加密),禁用 1883 明文端口;

2. ClientID、账号密码定期轮换,禁止明文保存;

3. 华为 IoTDA 推荐使用证书鉴权模式,关闭密钥明文鉴权提升安全性。


标签:全部

推荐资讯

400-807-8997