轮询并将 MODBUS RTU 设备数据记录到 CSV 文件
从 MODBUS RTU 串口设备读取数据,并将解析后的数值直接导出到 CSV 文件的完整指南,支持自定义值列绑定和日志文件轮转
1. 协议配置:MODBUS RTU
通信类型: 主动轮询(RS485/COM上的主站/从站)
由于MODBUS以二进制格式传输数据,解析器必须提取特定的保持寄存器(例如40001)或输入寄存器。如果您的传感器使用32位浮点数,请配置解析器读取两个相邻的16位寄存器,并应用正确的字节交换(字节序)来重建浮点数。
应用此基础配置进行串行连接:
{
"port": "COM3",
"baud_rate": 9600,
"data_bits": 8,
"stop_bits": 1,
"parity": "none",
"protocol": "modbus_rtu_serial",
"poll_interval_ms": 1000
}
用于查询和解析数据的MODBUS RTU插件选择

MODBUS RTU查询队列:用于读取不同寄存器的自定义配置
准备好将 MODBUS RTU 连接到 CSV 文件 了吗?
2. 数据库设置:CSV 文件
使用内置的「本地数据库」导出模块。无需外部驱动程序。
使用以下 SQL 脚本创建目标表。 不要多年持续记录到单个 CSV 文件中。使用软件的「日志文件轮换」设置,每天自动启动新文件(例如 `Log_YYYYMMDD.csv`)。这可以防止文件过大而无法在 Excel 中打开。
No SQL required. You can define a custom header row in the plugin settings to match the exported variables.

选择将解析数据导出到 CSV 或文本文件的插件。

CSV 导出:文件类型选择和微调。

CSV 数据格式规则(日期、数字等)。

CSV 文件中的列配置。
3. 协议特定故障排除
- 超时或CRC错误: 与TCP不同,串行MODBUS RTU依赖于严格的时序。请确认RS485 A/B导线未反接,并且软件中的波特率和设备ID与从站设备完全匹配。
- 设备返回“非法地址”错误代码: 请尝试在MODBUS请求中使用功能码3而非功能码4。否则,请确认您使用的是正确的寄存器地址。请尝试指定绝对偏移量(而非逻辑地址如40001)。
- 我有多个值想要导出到一行数据中。但现在记录器每行只写一个值: 您需要在MODBUS插件设置中启用“一次性导出所有数据”选项。
4. 数据库特定故障排除
- Excel 打开文件,但所有数据都挤在一列中: 这是区域设置问题。在北美,列表分隔符是逗号(,),但在欧洲,通常是分号(;)。请确保 Data Logger 中设置的分隔符与打开文件的计算机的区域设置匹配。
- 如何让我的 serial.print 写入 CSV 文件?: 这是最简单的情况。在您的情况下,记录器不需要处理任何内容。只需在解析前启用记录到文件,并将日志文件扩展名更改为「csv」即可。
- 我可以将 CSV 数据写入网络共享以便从我的计算机使用吗?: 是的,您可以将目标路径指定为「\\服务器名\文件夹\文件名.csv」。如果您的传入数据速度很快,最好频繁创建新的日志文件,例如每小时一次。