Modbus RTU 经 MQTT 透传接入
本文依据已有操作手册整理为线上操作参考。原文标为预期或未执行的操作,仍须按实际环境验证。
完成同一地址连续十次采集、两次FC06写入、独立FC03读回、历史刷新及正常停止恢复。
**开始前准备:**具有产品、设备、模型、发布、控制与历史权限;本地应用、单节点FMQ和FMQX网页版可用,本设备连接参数已获取
开始前先了解
本篇通过MQTT承载完整Modbus RTU帧,FMQX网页版作为演示从站,完成读取、写入、独立读回、历史查询与正常停止恢复。
点表零基地址0~9各自201~210是十个地址的初始样例。本轮十次连续样本是在同一个零基地址0依次411~420,恢复后再读421。
写入设定使用零基地址100。FC06接收、回显、寄存器状态与另一FC03响应分别核对。
复制模板前先替换这些参数
本篇代码使用普通模板名;截图保留实际历史资源。请先完成以下核对,再保存为UTF-8文件或发送报文。
- register_0等是点表模板标识;平台点表、映射、FMQX物模型中的identifier必须逐项相同。地址、站号与读写属性以现场正式点表为准。
- demo-device是设备编号模板。将clientId中的设备编号、每个收发主题中的设备编号和TCP上报的clientId一起替换为平台该设备编号;MQTT身份中的产品号、租户号也须替换为当前设备连接参数。
- 连接文件中的host、port及监听方向须改为当前环境实际地址;127.0.0.1表示运行FMQX的本机。涉及MQTT时同步核对产品号、用户名、订阅主题和responseRoute,密码仅在连接页面安全填写。
- 分组、会话及订阅id是导入文件内部引用;如需改名,groupId必须与对应分组id一致。先核对再导入,不要在保留会话上重复创建同名连接。
- 代码块是按既有无密码资产或原代码改写的客户模板,尚未证明本版模板已成功导入。历史截图、发送时间和业务通过范围仍以各步骤记录为准;不要将模板名当作旧证据中的实际资源名。
一、首次配置与沿用资源
保留2026-10-13首次配置或导入的原始来源;本轮复用既有产品、设备、点表与会话,没有重新创建、保存模型或导入。
完整11点UTF-8采集点表CSV模板csv
identifier,name,datatype,unit,registerarea,wiredatatype,byteorder,wordorder,functioncode,addressbase,startaddress,quantity,scale,offset,intervalms
register_0,采集点1,integer,,HOLDING_REGISTER,UINT16,BE,BE,3,0,0,1,1,0,5000
register_1,采集点2,integer,,HOLDING_REGISTER,UINT16,BE,BE,3,0,1,1,1,0,5000
register_2,采集点3,integer,,HOLDING_REGISTER,UINT16,BE,BE,3,0,2,1,1,0,5000
register_3,采集点4,integer,,HOLDING_REGISTER,UINT16,BE,BE,3,0,3,1,1,0,5000
register_4,采集点5,integer,,HOLDING_REGISTER,UINT16,BE,BE,3,0,4,1,1,0,5000
register_5,采集点6,integer,,HOLDING_REGISTER,UINT16,BE,BE,3,0,5,1,1,0,5000
register_6,采集点7,integer,,HOLDING_REGISTER,UINT16,BE,BE,3,0,6,1,1,0,5000
register_7,采集点8,integer,,HOLDING_REGISTER,UINT16,BE,BE,3,0,7,1,1,0,5000
register_8,采集点9,integer,,HOLDING_REGISTER,UINT16,BE,BE,3,0,8,1,1,0,5000
register_9,采集点10,integer,,HOLDING_REGISTER,UINT16,BE,BE,3,0,9,1,1,0,5000
register_100,写入设定,integer,,HOLDING_REGISTER,UINT16,BE,BE,3,0,100,1,1,0,5000共11个数据点和1行表头;0~9为十个采集地址,100为写入地址。保存为RTU点表.csv。 此处使用可替换的客户模板名;导入或发送前按本节替换清单核对。
1. 首次配置:导入11个正式寄存器点
**操作位置:*物联网→设备接入→*采集点表 操作步骤:将上方完整CSV按替换清单核对后保存为UTF-8文件RTU点表.csv,再导入平台;核对11个字段及零基地址。原截图为首次配置记录,本轮复用已保存资源。

采集点0~9与写入点100,数量均为1。
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 轮询起始地址 | 0~9和100各一条范围;使用零基地址。 必填 · 填写: 0~9、100 |
| 地址基准、倍率与偏移 | 零基地址0在参考标号中常写40001;物理量=原值×倍率+偏移。 必填 · 填写: 基准0 / 倍率1 / 偏移0 |
| 采集点表 | 导入11个整数点;0~9是十个采集地址,100是写入地址。本轮连续十次在地址0完成。 必填 · 填写: RTU点表.csv |
2. 首次配置:填写本篇设备身份与站号
**操作位置:*设备接入向导→*设备 操作步骤:****设备标识填本篇编号,名称为本篇名称,从站地址1。 本步保留首次配置记录;本轮复用已保存资源。

设备编号与后续绑定和会话一致。MQTT接入IP/端口使用FMQX Broker参数。
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 设备标识 | 产品内唯一设备编号;与运行绑定及FMQX身份一致。 必填 · 填写: FastBee_RtuMQTT_Tutorial_01 |
| 从站地址/Unit ID | RTU帧第一个字节的站号。 必填 · 填写: 1 |
3. 首次配置:确认产品、协议与设备范围
**操作位置:*设备接入向导→*确认 操作步骤:核对MODBUS_RTU、传输方式、1台设备和11个采集字段。 本步保留首次配置记录;本轮复用已保存资源。

确认本篇独立产品与设备,不混用其他教程资源。
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 产品名称 | 每篇使用独立产品;复验复用已保留资源。 必填 · 填写: FastBee_透传寄存器 |
| 设备协议 | 载荷为带站号、功能码和CRC的Modbus RTU二进制帧。 必填 · 填写: MODBUS_RTU |
| 传输方式 | 承载RTU帧的网络通道,需要与FMQX会话一致。 必填 · 填写: MQTT |
4. 首次配置:设置采集点为只读并保存历史
**操作位置:*产品详情→功能定义→*采集点1 操作步骤:****开启图表、实时监测、只读与历史;核对其余9点同样设置。 本步保留首次配置记录;本轮复用已保存资源。

采集点允许查询历史,无写入控件。
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 采集点标识 | 0~9映射为FastBee_register_0~9,原始初值分别201~210;本轮地址0改为411~420。 必填 · 填写: FastBee_register_0 |
| 只读数据 | 十个采集点开启;写入设定关闭。 必填 · 填写: 采集点开;写入设定关 |
| 历史存储 | 11个属性均开启,独立读回才能产生相应属性历史。 必填 · 填写: 开启 |
| 图表显示与实时监测 | 十个采集点开启;写入设定关闭。 必填 · 填写: 采集点开;写入设定关 |
| 整数范围与单位 | UINT16取0~65535、步长1;本篇无工程单位,实物按正式点表填写。 必填 · 填写: 0~65535;步长1;单位留空 |
5. 首次配置:设置地址100为可写属性
**操作位置:*产品详情→功能定义→*写入设定 **操作步骤:**取消只读,开启历史,图表与实时监测关闭后保存。 本步保留首次配置记录;本轮复用已保存资源。

写入设定保留运行状态控制与历史。
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 写入属性标识 | 保持寄存器地址100对应的可写整数属性。 必填 · 填写: FastBee_register_100 |
| 只读数据 | 十个采集点开启;写入设定关闭。 必填 · 填写: 采集点开;写入设定关 |
| 历史存储 | 11个属性均开启,独立读回才能产生相应属性历史。 必填 · 填写: 开启 |
| 整数范围与单位 | UINT16取0~65535、步长1;本篇无工程单位,实物按正式点表填写。 必填 · 填写: 0~65535;步长1;单位留空 |
6. 首次配置:核对设备绑定与Unit ID
**操作位置:*产品详情→Modbus协议配置→*设备绑定 **操作步骤:**选本篇设备,Unit ID为1并启用。 本步保留首次配置记录;本轮复用已保存资源。

所有读取与写入均绑定同一个从站身份。
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 设备绑定 | 选择本篇设备,Unit ID为1,启用;不要绑定其他教程设备。 必填 · 填写: FastBee_RtuMQTT_Tutorial_01 / 1 / 启用 |
| 从站地址/Unit ID | RTU帧第一个字节的站号。 必填 · 填写: 1 |
7. 首次配置:核对FC03轮询范围
**操作位置:*产品详情→Modbus协议配置→*轮询范围 **操作步骤:**地址0~9与100各读1个寄存器,间隔5000毫秒。 本步保留首次配置记录;本轮复用已保存资源。

11条启用范围,超时3000毫秒、重试0。
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 读取功能码 | FC03读取保持寄存器;不能把FC06回显当作读取。 必填 · 填写: 3 |
| 轮询起始地址 | 0~9和100各一条范围;使用零基地址。 必填 · 填写: 0~9、100 |
| 数量 | 每次读取一个16位寄存器。 必填 · 填写: 1 |
| 轮询间隔 | 每个范围每5000毫秒读取;复验结束应停止轮询。 必填 · 填写: 5000 ms |
| 超时与重试 | 本篇3000毫秒超时、重试0、优先级0;失败先查连接与地址。 必填 · 填写: 3000 ms / 0 / 0 |
**完整连接与点位JSON模板(不含密码)**json
{
"schemaVersion": 3,
"groups": [
{
"id": "tutorial_demo-device",
"name": "RTU透传教程",
"sortOrder": 60,
"isSystem": false
}
],
"sessions": [
{
"id": "import_demo-device",
"groupId": "tutorial_demo-device",
"name": "透传寄存器",
"protocol": "ModbusRTU",
"transport": "MQTT",
"host": "127.0.0.1",
"port": 1883,
"unitId": 1,
"autoReconnect": false,
"clientId": "S&demo-device&883&1",
"username": "admin",
"mqttProtocolVersion": "3.1.1",
"qos": 1,
"requestTopic": "/883/demo-device/function/get",
"responseTopic": "/883/demo-device/property/post",
"modbusThingModels": [
{
"modelName": "采集点1",
"identifier": "register_0",
"type": 1,
"dataType": "Integer",
"isReadonly": true,
"initialValue": 201,
"mapping": {
"dataArea": "HoldingRegisters",
"address": 0,
"length": 1,
"wireFormat": "UInt16",
"byteOrder": "BigEndian",
"wordOrder": "HighWordFirst",
"scale": 1,
"offset": 0
}
},
{
"modelName": "采集点2",
"identifier": "register_1",
"type": 1,
"dataType": "Integer",
"isReadonly": true,
"initialValue": 202,
"mapping": {
"dataArea": "HoldingRegisters",
"address": 1,
"length": 1,
"wireFormat": "UInt16",
"byteOrder": "BigEndian",
"wordOrder": "HighWordFirst",
"scale": 1,
"offset": 0
}
},
{
"modelName": "采集点3",
"identifier": "register_2",
"type": 1,
"dataType": "Integer",
"isReadonly": true,
"initialValue": 203,
"mapping": {
"dataArea": "HoldingRegisters",
"address": 2,
"length": 1,
"wireFormat": "UInt16",
"byteOrder": "BigEndian",
"wordOrder": "HighWordFirst",
"scale": 1,
"offset": 0
}
},
{
"modelName": "采集点4",
"identifier": "register_3",
"type": 1,
"dataType": "Integer",
"isReadonly": true,
"initialValue": 204,
"mapping": {
"dataArea": "HoldingRegisters",
"address": 3,
"length": 1,
"wireFormat": "UInt16",
"byteOrder": "BigEndian",
"wordOrder": "HighWordFirst",
"scale": 1,
"offset": 0
}
},
{
"modelName": "采集点5",
"identifier": "register_4",
"type": 1,
"dataType": "Integer",
"isReadonly": true,
"initialValue": 205,
"mapping": {
"dataArea": "HoldingRegisters",
"address": 4,
"length": 1,
"wireFormat": "UInt16",
"byteOrder": "BigEndian",
"wordOrder": "HighWordFirst",
"scale": 1,
"offset": 0
}
},
{
"modelName": "采集点6",
"identifier": "register_5",
"type": 1,
"dataType": "Integer",
"isReadonly": true,
"initialValue": 206,
"mapping": {
"dataArea": "HoldingRegisters",
"address": 5,
"length": 1,
"wireFormat": "UInt16",
"byteOrder": "BigEndian",
"wordOrder": "HighWordFirst",
"scale": 1,
"offset": 0
}
},
{
"modelName": "采集点7",
"identifier": "register_6",
"type": 1,
"dataType": "Integer",
"isReadonly": true,
"initialValue": 207,
"mapping": {
"dataArea": "HoldingRegisters",
"address": 6,
"length": 1,
"wireFormat": "UInt16",
"byteOrder": "BigEndian",
"wordOrder": "HighWordFirst",
"scale": 1,
"offset": 0
}
},
{
"modelName": "采集点8",
"identifier": "register_7",
"type": 1,
"dataType": "Integer",
"isReadonly": true,
"initialValue": 208,
"mapping": {
"dataArea": "HoldingRegisters",
"address": 7,
"length": 1,
"wireFormat": "UInt16",
"byteOrder": "BigEndian",
"wordOrder": "HighWordFirst",
"scale": 1,
"offset": 0
}
},
{
"modelName": "采集点9",
"identifier": "register_8",
"type": 1,
"dataType": "Integer",
"isReadonly": true,
"initialValue": 209,
"mapping": {
"dataArea": "HoldingRegisters",
"address": 8,
"length": 1,
"wireFormat": "UInt16",
"byteOrder": "BigEndian",
"wordOrder": "HighWordFirst",
"scale": 1,
"offset": 0
}
},
{
"modelName": "采集点10",
"identifier": "register_9",
"type": 1,
"dataType": "Integer",
"isReadonly": true,
"initialValue": 210,
"mapping": {
"dataArea": "HoldingRegisters",
"address": 9,
"length": 1,
"wireFormat": "UInt16",
"byteOrder": "BigEndian",
"wordOrder": "HighWordFirst",
"scale": 1,
"offset": 0
}
},
{
"modelName": "写入设定",
"identifier": "register_100",
"type": 1,
"dataType": "Integer",
"isReadonly": false,
"initialValue": 0,
"mapping": {
"dataArea": "HoldingRegisters",
"address": 100,
"length": 1,
"wireFormat": "UInt16",
"byteOrder": "BigEndian",
"wordOrder": "HighWordFirst",
"scale": 1,
"offset": 0
}
}
]
}
]
}按替换清单核对后保存为连接配置.json,在FMQX网页版选择导入配置;本次正文改写不代表此模板已实际导入。 此处使用可替换的客户模板名;导入或发送前按本节替换清单核对。
8. 首次配置:导入FMQX网页版连接配置
**操作位置:*FMQX网页版→*配置文件 操作步骤:将本节完整JSON按替换清单核对后保存为UTF-8文件连接配置.json,在FMQX网页版 更多操作 中选择 导入配置。原步骤截图保留原批次操作。

使用本篇分组与会话,凭据另行填写。
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 协议与运行模式 | FMQ负责主站读取与命令,FMQX网页版演示从站提供寄存器及RTU协议响应。 必填 · 填写: Modbus RTU / MQTT / 从站模拟器 |
| 导入配置 | 在FMQX网页版配置文件菜单导入本篇UTF-8 JSON;凭据由管理员另行提供。 必填 · 填写: 连接配置.json |
二、发布并确认运行配置
9. 确认发布本篇产品
**操作位置:*产品详情→*基本信息 **操作步骤:**核对本篇产品名称和编号,在发布确认框点击 确定。

确认发布当前MQTT透传产品,保留产品名称、ID及完整确认框。
10. 确认运行配置已应用
**操作位置:*产品详情→*同步详情 **操作步骤:**打开同步详情,核对当前快照的应用状态。

本篇节点已应用当前配置
三、核对参数并连接从站
11. 只读核对完整连接参数
**操作位置:*FMQX网页版→本篇会话→*连接配置 **操作步骤:**只读核对主机、端口、身份、站号及RTU参数。

核对本篇连接方向、目标地址、端口与站号、MQTT身份和请求响应Topic
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 完整连接参数 | 只读核对主机、端口、身份、站号、RTU校验与重连设置;本次补图未保存。 必填 · 填写: 按实施方案填写 · 示例:按实际环境填写 |
12. 确认账号与凭据已保存
**操作位置:*FMQX网页版→本篇会话→*连接配置 **操作步骤:**核对 Client ID 和 Username,确认密码框提示已保存且不回显。

透传MQTT密码已保存且不会回显
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| MQTT账号与已保存凭据 | 使用本设备正式连接信息;密码保存后不回显,不填入手册。 必填 · 填写: 按实施方案填写 · 示例:已保存的凭据不会在此显示 |
13. 核对沿用点表和写入点
**操作位置:*FMQX网页版→本篇会话→*物模型参数 **操作步骤:**核对零基地址0~9与100,并确认地址100可写。

本篇11个正式寄存器点和初始值
14. 连接本篇从站会话
**操作位置:*FMQX网页版→*本篇会话 **操作步骤:**核对会话名称后点击 连接,等待显示已连接。

本篇原身份从站会话已连接。
四、同一地址连续采集十次
15. 填写同一地址的首个值411
**操作位置:*FMQX网页版→物模型参数→*采集点1 **操作步骤:**在零基地址0的编辑框输入 411,核对地址后确认。

同一地址0的新采样值411
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 从站寄存器值 | 在同一零基地址0依次输入411~420;恢复后再设421。 必填 · 填写: 按实施方案填写 · 示例:411~420;恢复421 |
| 零基地址 | 用于完成“填写同一地址的首个值411”。 必填 · 填写: 0 |
| 首个值 | 用于完成“填写同一地址的首个值411”。 必填 · 填写: 411 |
16. 在同一地址依次采集到420
**操作位置:*FMQX网页版→物模型参数→*采集点1 **操作步骤:**仍在地址0依次设置412~420,每次确认后等待一次实际采集;图中为最后420待确认态。

同一地址0的新采样值420
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 从站寄存器值 | 在同一零基地址0依次输入411~420;恢复后再设421。 必填 · 填写: 按实施方案填写 · 示例:411~420;恢复421 |
| 连续值 | 用于完成“在同一地址依次采集到420”。 必填 · 填写: 411~420 |
| 零基地址 | 用于完成“在同一地址依次采集到420”。 必填 · 填写: 0 |
五、首次写42并独立读回
17. 首次下发地址100的设定42
**操作位置:*设备详情→运行状态→*写入设定 操作步骤:核对写前当前值,将待下发目标设为42并点击发送一次;图中只保留写前基线和发送入口,实际目标由下一步原帧确认。

本次写前当前值和发送入口;原图没有显示待发目标数字。
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 写入地址 | 用于完成“首次下发地址100的设定42”。 必填 · 填写: 100 |
| 本次目标 | 用于完成“首次下发地址100的设定42”。 必填 · 填写: 42 |
18. 确认从站收到写42请求
**操作位置:*FMQX网页版→本篇会话→*真实日志 **操作步骤:**查看本次接收的FC06写单寄存器请求,核对地址100与数值42。

FC06写入42:设备接收请求
19. 确认从站回显写42
**操作位置:*FMQX网页版→本篇会话→*真实日志 **操作步骤:**查看紧随本次请求的发送回显,核对功能码、地址和值。

FC06写入42:设备回显
20. 查看从站地址100当前42
**操作位置:*FMQX网页版→本篇会话→*物模型参数 **操作步骤:**核对零基地址100的当前值为42。

设备寄存器100真实值42
21. 核对另一次FC03响应42
**操作位置:*FMQX网页版→本篇会话→*真实日志 **操作步骤:**查看FC06之后另一条FC03响应,核对地址100读回值42,不要把FC06回显当作读取。

独立FC03读回设定42
22. 查看平台读回当前值42
**操作位置:*设备详情→*运行状态 **操作步骤:**刷新本篇设备运行状态,查看写入设定当前值42。

独立FC03读回后平台当前值42
六、正常停止与恢复读取
本轮由操作员正常断开再连接,不将这一过程称为网络故障恢复。
23. 正常停止本篇连接
**操作位置:*FMQX网页版→*本篇会话 **操作步骤:**点击 断开,等待本篇会话显示已断开。

从站已断开,配置和历史继续保留
24. 恢复同一会话连接
**操作位置:*FMQX网页版→*本篇会话 **操作步骤:**继续使用原会话和身份点击 连接,核对已连接及保留的地址0当前420。

正常恢复连接后,保留当前会话、Modbus RTU/MQTT、流量、地址0当前420与变化时间。
25. 核对恢复后的新读取421
**操作位置:*FMQX网页版→本篇会话→*真实日志 操作步骤:查看正常恢复后地址0的新FC03响应,核对新值421。

恢复后FC03读取地址0,返回421
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 零基地址 | 用于完成“核对恢复后的新读取421”。 必填 · 填写: 0 |
| 恢复后新值 | 用于完成“核对恢复后的新读取421”。 必填 · 填写: 421 |
七、恢复后写43并独立读回
26. 恢复后下发地址100的设定43
**操作位置:*设备详情→运行状态→*写入设定 操作步骤:核对写前当前值,将待下发目标设为43并点击发送一次;图中只保留写前基线和发送入口,实际目标由下一步原帧确认。

本次写前当前值和发送入口;原图没有显示待发目标数字。
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 写入地址 | 用于完成“恢复后下发地址100的设定43”。 必填 · 填写: 100 |
| 本次目标 | 用于完成“恢复后下发地址100的设定43”。 必填 · 填写: 43 |
27. 确认从站收到写43请求
**操作位置:*FMQX网页版→本篇会话→*真实日志 **操作步骤:**查看本次接收的FC06写单寄存器请求,核对地址100与数值43。

FC06写入43:设备接收请求
28. 确认从站回显写43
**操作位置:*FMQX网页版→本篇会话→*真实日志 **操作步骤:**查看紧随本次请求的发送回显,核对功能码、地址和值。

FC06写入43:设备回显
29. 查看从站地址100当前43
**操作位置:*FMQX网页版→本篇会话→*物模型参数 **操作步骤:**核对零基地址100的当前值为43。

设备寄存器100真实值43
30. 核对另一次FC03响应43
**操作位置:*FMQX网页版→本篇会话→*真实日志 **操作步骤:**查看FC06之后另一条FC03响应,核对地址100读回值43,不要把FC06回显当作读取。

独立FC03读回设定43
31. 查看平台读回当前值43
**操作位置:*设备详情→*运行状态 **操作步骤:**刷新本篇设备运行状态,查看写入设定当前值43。

独立FC03读回后平台当前值43
八、停止轮询并保留资源
32. 最终断开并保留当前值
**操作位置:*FMQX网页版→*本篇会话 **操作步骤:**点击 断开,核对已断开、未启动以及保留的地址0当前421。

最终正常断开,保留当前会话、Modbus RTU/MQTT、流量、地址0当前421与变化时间。
33. 确认取消发布停止轮询
**操作位置:*产品详情→*取消发布 **操作步骤:**在本篇产品的取消发布确认框点击 确定。

停止本篇轮询并保留配置和历史
34. 确认停止配置已应用
**操作位置:*产品详情→*同步详情 **操作步骤:**核对取消发布后的REMOVE快照及应用结果。

本篇节点已应用当前配置
九、筛选、刷新与核对实际历史
写入历史会保留写前值及正常轮询产生的重复值。按本次时间与原帧核对两次写后读回,不以历史总行数等同于写入次数。
35. 填写采集点1的完整时间范围
**操作位置:*数据中心→*历史数据 **操作步骤:**填写覆盖本次运行的开始和结束日期时间。

完整日期与起止时间:2026-10-16 00:32:50至2026-10-16 00:33:37
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 本轮完整日期时间 | 使用真实运行时间范围;避免混入首次配置或其他运行。 选填 · 填写: 按实施方案填写 · 示例:按实际环境填写 |
| 开始时间 | 用于完成“填写采集点1的完整时间范围”。 必填 · 填写: 2026-10-16 00:32:50 |
| 结束时间 | 用于完成“填写采集点1的完整时间范围”。 必填 · 填写: 2026-10-16 00:33:37 |
36. 筛选本篇设备与采集点1
**操作位置:*数据中心→*历史数据 操作步骤:选择本篇设备与采集点1字段,核对查询对象。

核对本篇设备、属性和时间范围后查询
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 设备与字段筛选 | 采集点1对应地址0,写入设定对应地址100;保持本篇设备。 选填 · 填写: 按实施方案填写 · 示例:按实际环境填写 |
| 查询字段 | 用于完成“筛选本篇设备与采集点1”。 必填 · 填写: 采集点1 |
37. 刷新查询采集点1历史
**操作位置:*数据中心→*历史数据 **操作步骤:**保留本篇设备、字段和时间条件,点击结果区的刷新按钮重新查询。

刷新并重新查询本篇历史
38. 核对采集点1实际历史结果
**操作位置:*数据中心→历史数据→*查询结果 **操作步骤:**按时间和值核对同一零基地址0的411~420十条连续变化。

刷新后核对本篇实际历史记录
39. 填写写入设定的完整时间范围
**操作位置:*数据中心→*历史数据 **操作步骤:**填写覆盖本次运行的开始和结束日期时间。

完整日期与起止时间:2026-10-16 00:33:42至2026-10-16 00:34:07
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 本轮完整日期时间 | 使用真实运行时间范围;避免混入首次配置或其他运行。 选填 · 填写: 按实施方案填写 · 示例:按实际环境填写 |
| 开始时间 | 用于完成“填写写入设定的完整时间范围”。 必填 · 填写: 2026-10-16 00:33:42 |
| 结束时间 | 用于完成“填写写入设定的完整时间范围”。 必填 · 填写: 2026-10-16 00:34:07 |
40. 筛选本篇设备与写入设定
**操作位置:*数据中心→*历史数据 操作步骤:选择本篇设备与写入设定字段,核对查询对象。

核对本篇设备、属性和时间范围后查询
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 设备与字段筛选 | 采集点1对应地址0,写入设定对应地址100;保持本篇设备。 选填 · 填写: 按实施方案填写 · 示例:按实际环境填写 |
| 查询字段 | 用于完成“筛选本篇设备与写入设定”。 必填 · 填写: 写入设定 |
41. 刷新查询写入设定历史
**操作位置:*数据中心→*历史数据 **操作步骤:**保留本篇设备、字段和时间条件,点击结果区的刷新按钮重新查询。

刷新并重新查询本篇历史
42. 核对写入设定实际历史结果
**操作位置:*数据中心→历史数据→*查询结果 **操作步骤:**按时间和值核对同一零基地址100的42、43两次写后读回。

刷新后核对本篇实际历史记录
参数从哪里获取与如何填写
设备接入向导
| 字段 / 控件 | 填写说明 |
|---|---|
| 产品名称 | 每篇使用独立产品;复验复用已保留资源。 必填 · 填写: FastBee_透传寄存器 |
| 设备协议 | 载荷为带站号、功能码和CRC的Modbus RTU二进制帧。 必填 · 填写: MODBUS_RTUMODBUS_RTU:载荷为带站号、功能码和CRC的Modbus RTU二进制帧;载荷为带站号、功能码和CRC的Modbus RTU二进制帧。 |
| 传输方式 | 承载RTU帧的网络通道,需要与FMQX会话一致。 必填 · 填写: MQTTMQTT:承载RTU帧的网络通道,需要与FMQX会话一致;承载RTU帧的网络通道,需要与FMQX会话一致。 |
| 采集点表 | 导入11个整数点;0~9为十个采集地址,100用于写入。本轮连续十次样本始终使用地址0。 |
| 设备标识 | 产品内唯一设备编号;与运行绑定及FMQX身份一致。 必填 · 填写: FastBee_RtuMQTT_Tutorial_01 |
| 从站地址/Unit ID | RTU帧第一个字节的站号。 必填 · 填写: 1 |
功能定义
| 字段 / 控件 | 填写说明 |
|---|---|
| 采集点标识 | 0~9映射为FastBee_register_0~9,原始初值分别201~210;本轮地址0改为411~420。 必填 · 填写: FastBee_register_0修改后须发布。 |
| 写入属性标识 | 保持寄存器地址100对应的可写整数属性。 必填 · 填写: FastBee_register_100修改后须发布。 |
| 只读数据 | 十个采集点开启;写入设定关闭。 必填 · 填写: 采集点开;写入设定关修改后须发布。 |
| 历史存储 | 11个属性均开启,独立读回才能产生相应属性历史。 必填 · 填写: 开启修改后须发布。 |
| 图表显示与实时监测 | 十个采集点开启;写入设定关闭。 必填 · 填写: 采集点开;写入设定关修改后须发布。 |
| 整数范围与单位 | UINT16取0~65535、步长1;本篇无工程单位,实物按正式点表填写。 必填 · 填写: 0~65535;步长1;单位留空修改后须发布。 |
协议与发布生效
| 字段 / 控件 | 填写说明 |
|---|---|
| 设备绑定 | 选择本篇设备,Unit ID为1,启用;不要绑定其他教程设备。 必填 · 填写: FastBee_RtuMQTT_Tutorial_01 / 1 / 启用修改后须发布。 |
| 读取功能码 | FC03读取保持寄存器;不能把FC06回显当作读取。 必填 · 填写: 3修改后须发布。 |
| 轮询起始地址 | 0~9和100各一条范围;使用零基地址。 必填 · 填写: 0~9、100修改后须发布。 |
| 数量 | 每次读取一个16位寄存器。 必填 · 填写: 1修改后须发布。 |
| 轮询间隔 | 每个范围每5000毫秒读取;复验结束应停止轮询。 必填 · 填写: 5000 ms修改后须发布。 |
| 超时与重试 | 本篇3000毫秒超时、重试0、优先级0;失败先查连接与地址。 必填 · 填写: 3000 ms / 0 / 0修改后须发布。 |
| 线缆类型、字节序与字序 | 每点UINT16、BE/BE;BE表示高字节/高字在前。单寄存器仍按正式配置保存。 必填 · 填写: UINT16 / BE / BE修改后须发布。 |
| 地址基准、倍率与偏移 | 零基地址0在参考标号中常写40001;物理量=原值×倍率+偏移。 必填 · 填写: 基准0 / 倍率1 / 偏移0修改后须发布。 |
| 保存并发布 | 模型与协议草稿保存后发布,等待本篇快照实际应用。 修改后须发布。 |
FMQX网页版连接
| 字段 / 控件 | 填写说明 |
|---|---|
| 导入配置 | 在FMQX网页版配置文件菜单导入本篇UTF-8 JSON;凭据由管理员另行提供。 修改后须重连。 |
| 协议与运行模式 | FMQ负责主站读取与命令,FMQX网页版演示从站提供寄存器及RTU协议响应。 必填 · 填写: Modbus RTU / MQTT / 从站模拟器修改后须重连。Modbus RTU / MQTT / 从站模拟器:FMQ负责主站读取与命令,FMQX网页版演示从站提供寄存器及RTU协议响应;FMQ负责主站读取与命令,FMQX网页版演示从站提供寄存器及RTU协议响应。 |
| 连接主机 | 本地回归连接当前FMQ;实物需要填写设备侧可达的FMQ地址。 必填 · 填写: 127.0.0.1修改后须重连。 |
| 连接端口 | 取实际FMQ监听端口;更改后重新连接。 必填 · 填写: 1883修改后须重连。 |
| 校验RTU CRC | RTU帧末两字节为CRC低字节在前;保持开启。 必填 · 填写: 开启修改后须重连。 |
| 自动重连 | 本篇关闭,停止与恢复均由操作员明确执行。 必填 · 填写: 关闭修改后须重连。 |
| 连接 | 确认本篇会话已连接;仅连接成功不能代替实际采集与写后读回。 修改后须重连。 |
| MQTT Client ID | 使用本设备连接信息的完整身份;S、产品与租户编号不能省略。 必填 · 填写: S&FastBee_RtuMQTT_Tutorial_01&883&1修改后须重连。 |
| 请求Topic | FMQX订阅该地址接收FMQ主站读取或写入的RTU帧。 必填 · 填写: /883/FastBee_RtuMQTT_Tutorial_01/function/get修改后须重连。 |
| 响应Topic | FMQX将从站RTU响应发布到该地址。 必填 · 填写: /883/FastBee_RtuMQTT_Tutorial_01/property/post修改后须重连。 |
| MQTT版本与TLS | 本地使用MQTT3.1.1、TLS关闭;现场按已启用的监听及凭据填写。 必填 · 填写: 3.1.1 / TLS关闭修改后须重连。 |
设备上报与演示回复
| 字段 / 控件 | 填写说明 |
|---|---|
| 同一地址十次连续样本 | 同一零基地址0依次411~420;原点表0~9各自201~210是不同地址初值。 必填 · 填写: 地址0:411、412、413、414、415、416、417、418、419、420 |
设备运行状态
| 字段 / 控件 | 填写说明 |
|---|---|
| 平台当前值 | 按当前阶段核对地址100的独立FC03读回;滑块待发值不作设备执行依据。 必填 · 填写: 首次读回42;恢复后读回43 |
| 写入设定42 | 在运行状态设置42并点击发送;对应FC06、站1、地址100。 必填 · 填写: 42 |
| 恢复写入43 | 停止并恢复连接后下发新目标43,独立FC03读回。 必填 · 填写: 43 |
| 写后独立读取 | FC06回显后等待下一次FC03读地址100,核对平台与历史。 必填 · 填写: FC03 / 100 / 1 |
历史数据
| 字段 / 控件 | 填写说明 |
|---|---|
| 设备与字段 | 只查询本篇设备和需要核对的属性。 必填 · 填写: FastBee_RtuMQTT_Tutorial_01 / FastBee_register_0或100 |
| 采集时间窗 | 填写覆盖本篇当前采集或写后独立读取的完整日期时间。 必填 · 填写: 以本篇本轮真实历史筛选图为准 |
| 42时间窗 | 填写覆盖本篇当前采集或写后独立读取的完整日期时间。 必填 · 填写: 以本篇本轮真实历史筛选图为准 |
| 43时间窗 | 填写覆盖本篇当前采集或写后独立读取的完整日期时间。 必填 · 填写: 以本篇本轮真实历史筛选图为准 |
| 查询与刷新 | 完整选择设备、字段和时间,等页面加载完成后逐行核对。 |
停止与恢复
| 字段 / 控件 | 填写说明 |
|---|---|
| 停止与断开 | 停止本篇发送、轮询与连接;资源与历史保留。 |
| 取消发布停止轮询 | 结束取消本篇产品发布并等待REMOVE应用;再次验收需要重新发布。 |
当前运行复验与历史核对
| 字段 / 控件 | 填写说明 |
|---|---|
| 发布与应用状态 | 确认产品身份,发布后等待本轮运行快照APPLIED。 修改后须发布。 |
| 完整连接参数 | 只读核对主机、端口、身份、站号、RTU校验与重连设置;本次补图未保存。 必填 · 填写: 按实际配置填写修改后须重连。 |
| MQTT账号与已保存凭据 | 使用本设备正式连接信息;密码保存后不回显,不填入手册。 必填 · 填写: 已保存的凭据不会在此显示修改后须重连。 |
| 零基地址与当前值 | 地址0用于连续411~420及恢复421;地址100用于两次写入。 |
| 连接当前会话 | 保持本篇原身份连接;已连接后继续真实采集。 |
| 断开当前会话 | 由操作员正常停止;定时与自动回复均保持停止。 |
| 从站寄存器值 | 在同一零基地址0依次输入411~420;恢复后再设421。 必填 · 填写: 411~420;恢复421 |
| 地址100设定与发送 | 核对写前值、设置新目标并只发送一次;以FC06原帧确认目标。 |
| 真实RTU帧 | 分开查看接收FC06、发送回显和另一FC03响应,核对方向、时间、地址和值。 |
| 平台读回当前值 | 当前值应与独立FC03响应一致;不把下发状态当执行。 |
| 取消发布停止轮询 | 只停止本篇运行轮询;确认REMOVE/APPLIED,保留业务资源与历史。 |
| 本轮完整日期时间 | 使用真实运行时间范围;避免混入首次配置或其他运行。 选填 · 填写: 按实际配置填写 |
| 设备与字段筛选 | 采集点1对应地址0,写入设定对应地址100;保持本篇设备。 选填 · 填写: 按实际配置填写 |
| 查询与刷新 | 保留相同设备、字段和完整时间范围重新查询。 |
| 实际历史结果 | 核对地址0十次411~420和地址100两次写后读回;恢复421单独核对。 |
遇到问题时先查哪里
| 看到什么现象 | 可能原因 | 先检查哪里 | 如何恢复 |
|---|---|---|---|
| 无法连接 | 地址、端口、设备身份或凭据不一致 | 核对本篇产品已应用状态及平台连接信息 | 保持停止,修正连接参数后先读取已知点。 |
| 已连接但读数不符 | 地址基准、站号、数据类型或CRC配置不一致 | 对照正式点表与真实FC03请求和响应 | 停止重复写入,先验证已知地址。 |
| 写入后当前值未更新 | 仅下发或回显,尚未取得独立读取 | 分别核对FC06请求、回显和后续独立FC03 | 等待独立轮询,再刷新历史,避免连续重发。 |
| 连接信息尚未就绪 | 产品发布或运行同步尚未完成 | 确认产品和快照已应用后重新获取本设备连接信息 | 等待正式凭据就绪,不填空身份或复用其他设备口令。 |

