Modbus TCP-over-RTU 网络透传接入
本文依据已有操作手册整理为线上操作参考。原文标为预期或未执行的操作,仍须按实际环境验证。
完成同一地址连续十次采集、两次FC06写入、独立FC03读回、历史刷新及正常停止恢复。
**开始前准备:**具有产品、设备、模型、发布、控制与历史权限;本地应用、单节点FMQ和FMQX网页版可用,本设备连接参数已获取
开始前先了解
本篇通过TCP承载完整Modbus RTU帧,FMQX网页版作为演示从站,完成读取、写入、独立读回、历史查询与正常停止恢复。
点表零基地址0~9各自201~210是十个地址的初始样例。本轮十次连续样本是在同一个零基地址0依次411~420,恢复后再读421。
本篇平台数据格式为Modbus TCP over RTU;当前真实设备会话使用Modbus RTU/TCP,在线帧含RTU CRC,没有原生Modbus TCP的MBAP头。
复制模板前先替换这些参数
本篇代码使用普通模板名;截图保留实际历史资源。请先完成以下核对,再保存为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. 首次配置:导入本篇寄存器点表
**操作位置:*物联网→设备接入→*采集点表 操作步骤:将上方完整CSV按替换清单核对后保存为UTF-8文件RTU点表.csv,再导入平台;核对11个字段及零基地址。原截图为首次配置记录,本轮复用已保存资源。

0至9为采集点,100为写入设定。
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 起始地址与数量 | 使用0基地址;0至9以及100各一条,数量均为1。 必填 · 填写: 0~9、100;数量1 |
| 采集点表 | 导入11个整数点;0~9是十个采集地址,100是写入地址。本轮连续十次在地址0完成。 必填 · 填写: 11个字段 |
2. 首次配置:选择TCP承载和数据格式
操作位置:产品管理→本产品→基本信息 操作步骤:****接入协议选TCP,数据格式选Modbus TCP over RTU,保存修改。 本步保留首次配置记录;本轮复用已保存资源。

本篇最终产品为TCP与Modbus TCP over RTU。
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 接入协议 | 本篇设备主动连接FMQ,保持TCP长连接。 必填 · 填写: TCP |
| 数据格式 | 在产品基本信息选择本篇已验证的数据格式。 必填 · 填写: Modbus TCP over RTU |
3. 首次配置:开启采集点的显示和历史
操作位置:产品→功能定义→修改物模型 操作步骤:采集点开启图表显示、实时监测、只读数据和历史存储。 本步保留首次配置记录;本轮复用已保存资源。

采集点只读且保留历史。
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 只读数据 | 采集点0至9开启;地址100关闭,才能从平台写入。 必填 · 填写: 采集点开启;写入设定关闭 |
| 历史存储 | 11个属性均开启;写入后的历史以独立读取为准。 必填 · 填写: 开启 |
4. 首次配置:允许写入设定并存储历史
*操作位置:产品→功能定义→修改物模型 操作步骤:写入设定关闭只读数据,**开启***历史存储。 本步保留首次配置记录;本轮复用已保存资源。

地址100是可写整数属性。
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 只读数据 | 采集点0至9开启;地址100关闭,才能从平台写入。 必填 · 填写: 采集点开启;写入设定关闭 |
| 历史存储 | 11个属性均开启;写入后的历史以独立读取为准。 必填 · 填写: 开启 |
| 整数范围 | 本篇采用一个16位无符号整数,无工程单位。 必填 · 填写: 0~65535;步长1;单位留空 |
5. 首次配置:绑定本设备和从站地址
**操作位置:*产品→Modbus 运行草稿→*设备绑定 操作步骤:选择本设备编号,Unit ID填1并启用。 本步保留首次配置记录;本轮复用已保存资源。

这条绑定使用已建立会话收发RTU帧。
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 设备 Client ID | 选择本产品的封装寄存器设备;与FMQX注册身份一致。 必填 · 填写: 本设备编号 |
| Unit ID | RTU帧第一个字节的从站地址;平台和设备必须相同。 必填 · 填写: 1 |
6. 首次配置:保存独立读取范围
**操作位置:*产品→Modbus 运行草稿→*轮询范围 **操作步骤:**配置0至9和100共11条FC03范围,数量1,间隔5000毫秒。 本步保留首次配置记录;本轮复用已保存资源。

每个点按正常5秒周期读取。
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 起始地址与数量 | 使用0基地址;0至9以及100各一条,数量均为1。 必填 · 填写: 0~9、100;数量1 |
| 读取功能码 | 保持寄存器使用FC03;FC06回显不能代替独立读取。 必填 · 填写: 3 |
| 间隔、超时与重试 | 每条范围每5秒读取;3秒超时,重试0,优先级0。 必填 · 填写: 5000 / 3000 ms;0 / 0 |
7. 首次配置:核对地址、类型与倍率
**操作位置:*产品→Modbus 运行草稿→*点位映射 **操作步骤:**每条范围映射对应物模型,检查UINT16、BE/BE、倍率1和偏移0。 本步保留首次配置记录;本轮复用已保存资源。

地址和物模型逐点对应,不把40001直接填入零基地址。
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 线缆类型、字节序和字序 | 本篇单寄存器UINT16,高字节和高字在前。 必填 · 填写: UINT16 / BE / BE |
| 倍率与偏移 | 实际值=原始值×倍率+偏移;本篇保持原值。 必填 · 填写: 倍率1;偏移0 |
**完整连接与点位JSON模板(不含密码)**json
{
"schemaVersion": 3,
"groups": [
{
"id": "tutorial_demo-device",
"name": "封装教程",
"sortOrder": 62,
"isSystem": false
}
],
"sessions": [
{
"id": "import_demo-device",
"groupId": "tutorial_demo-device",
"name": "封装寄存器",
"protocol": "ModbusRTU",
"transport": "TCP",
"host": "127.0.0.1",
"port": 8888,
"unitId": 1,
"clientId": "demo-device",
"tcpPassiveRegistration": true,
"autoReconnect": false,
"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网页版 更多操作 中选择 导入配置。原步骤截图保留原批次操作。

导入本篇独立分组和会话。
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 导入配置 | 在FMQX网页版配置文件菜单导入本篇会话配置。 必填 · 填写: 连接配置.json |
二、发布并确认运行配置
9. 确认发布本篇产品
**操作位置:*产品详情→*基本信息 **操作步骤:**核对本篇产品名称和编号,在发布确认框点击 确定。

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

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

核对本篇连接方向、目标地址、端口与站号
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 完整连接参数 | 只读核对主机、端口、身份、站号、RTU校验与重连设置;本次补图未保存。 必填 · 填写: 按实施方案填写 · 示例:按实际环境填写 |
12. 核对沿用点表和写入点
**操作位置:*FMQX网页版→本篇会话→*物模型参数 **操作步骤:**核对零基地址0~9与100,并确认地址100可写。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

刷新后核对本篇实际历史记录
参数从哪里获取与如何填写
设备接入向导
| 字段 / 控件 | 填写说明 |
|---|---|
| 采集点表 | 导入11个整数点;0~9为十个采集地址,100用于写入。本轮连续十次样本始终使用地址0。 |
协议与发布生效
| 字段 / 控件 | 填写说明 |
|---|---|
| 接入协议 | 本篇设备主动连接FMQ,保持TCP长连接。 必填 · 填写: TCP修改后须发布。TCP:本篇设备主动连接FMQ,保持TCP长连接;本篇设备主动连接FMQ,保持TCP长连接。 |
| 数据格式 | 在产品基本信息选择本篇已验证的数据格式。 必填 · 填写: Modbus TCP over RTU修改后须发布。Modbus TCP over RTU:在产品基本信息选择本篇已验证的数据格式;在产品基本信息选择本篇已验证的数据格式。 |
| 设备 Client ID | 选择本产品的封装寄存器设备;与FMQX注册身份一致。 必填 · 填写: 本设备编号修改后须发布。 |
| Unit ID | RTU帧第一个字节的从站地址;平台和设备必须相同。 必填 · 填写: 1修改后须发布。 |
| 起始地址与数量 | 使用0基地址;0至9以及100各一条,数量均为1。 必填 · 填写: 0~9、100;数量1修改后须发布。 |
| 读取功能码 | 保持寄存器使用FC03;FC06回显不能代替独立读取。 必填 · 填写: 3修改后须发布。 |
| 间隔、超时与重试 | 每条范围每5秒读取;3秒超时,重试0,优先级0。 必填 · 填写: 5000 / 3000 ms;0 / 0修改后须发布。 |
| 线缆类型、字节序和字序 | 本篇单寄存器UINT16,高字节和高字在前。 必填 · 填写: UINT16 / BE / BE修改后须发布。 |
| 倍率与偏移 | 实际值=原始值×倍率+偏移;本篇保持原值。 必填 · 填写: 倍率1;偏移0修改后须发布。 |
| 发布与同步详情 | 保存草稿后发布,查看目标节点结果APPLIED,再连接设备。 修改后须发布。 |
功能定义
| 字段 / 控件 | 填写说明 |
|---|---|
| 只读数据 | 采集点0至9开启;地址100关闭,才能从平台写入。 必填 · 填写: 采集点开启;写入设定关闭修改后须发布。 |
| 历史存储 | 11个属性均开启;写入后的历史以独立读取为准。 必填 · 填写: 开启修改后须发布。 |
| 整数范围 | 本篇采用一个16位无符号整数,无工程单位。 必填 · 填写: 0~65535;步长1;单位留空修改后须发布。 |
FMQX网页版连接
| 字段 / 控件 | 填写说明 |
|---|---|
| 导入配置 | 在FMQX网页版配置文件菜单导入本篇会话配置。 修改后须重连。 |
| Host / IP | 本篇填写FMQ监听主机;这个方向由从站主动连接平台。 必填 · 填写: 127.0.0.1修改后须重连。 |
| Port | 填写管理员提供的实际FMQ TCP监听端口。 必填 · 填写: 8888修改后须重连。 |
| 协议与角色 | FMQ负责主站读取与命令,FMQX网页版演示从站提供寄存器及RTU协议响应。 必填 · 填写: Modbus RTU / TCP / 从站模拟器修改后须重连。Modbus RTU / TCP / 从站模拟器:FMQ负责主站读取与命令,FMQX网页版演示从站提供寄存器及RTU协议响应;FMQ负责主站读取与命令,FMQX网页版演示从站提供寄存器及RTU协议响应。 |
| CRC与接收间隔 | 校验RTU CRC,保持长连接;自动重连关闭。 必填 · 填写: CRC开启;20 ms;保持长连接修改后须重连。 |
| 连接 | 配置已应用后连接本篇会话,确认已连接。 修改后须重连。 |
设备上报与演示回复
| 字段 / 控件 | 填写说明 |
|---|---|
| 初始寄存器 | 地址0~9初值201~210;本轮地址0连续411~420并恢复421,地址100只用于两次写入。 必填 · 填写: 原始0:201,…,9:210;本轮0:411~420 |
| 同一地址十次连续样本 | 同一零基地址0依次411~420;原点表0~9各自201~210是不同地址初值。 必填 · 填写: 地址0:411、412、413、414、415、416、417、418、419、420 |
设备运行状态
| 字段 / 控件 | 填写说明 |
|---|---|
| 恢复后的目标值 | 写前当前45,将目标设55后发送一次;原待发图未显示目标数字,以FC06原帧核对真实55。 必填 · 填写: 写前45;本次目标55 |
| 真实写入及回显 | 核对站1、地址100、值55的FC06请求和回显。 必填 · 填写: FC06 / 1 / 100 / 55 |
| 独立读回 | 在FC06回显之后核对另一次FC03对地址100的读取响应;期望值按当前步骤区分,不能把FC06回显当作独立读回。 必填 · 填写: 连续阶段读45;恢复阶段读55 |
| 平台当前值 | 按当前阶段核对地址100的独立FC03读回;滑块待发值不作设备执行依据。 必填 · 填写: 首次读回45;恢复后读回55 |
历史数据
| 字段 / 控件 | 填写说明 |
|---|---|
| 设备与字段 | 历史数据只选择本篇封装寄存器和写入设定。 必填 · 填写: 封装寄存器 / 写入设定 |
| 时间范围 | 填写覆盖本篇当前采集或写后独立读取的完整日期时间。 必填 · 填写: 以本篇本轮真实历史筛选图为准 |
| 刷新后重新查询 | 保持同一设备、字段与完整时间范围,点击结果区刷新并核对实际行。 |
停止与恢复
| 字段 / 控件 | 填写说明 |
|---|---|
| 停止与恢复 | 先取消本篇产品发布停止轮询,断开会话;恢复先发布应用再连接。 |
| 保留数据 | 结束停止发送、轮询及连接;保留产品、设备、模型、会话和历史。 |
当前运行复验与历史核对
| 字段 / 控件 | 填写说明 |
|---|---|
| 发布与应用状态 | 确认产品身份,发布后等待本轮运行快照APPLIED。 修改后须发布。 |
| 完整连接参数 | 只读核对主机、端口、身份、站号、RTU校验与重连设置;本次补图未保存。 必填 · 填写: 按实际配置填写修改后须重连。 |
| 零基地址与当前值 | 地址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 | 等待独立轮询,再刷新历史,避免连续重发。 |

