# ModbusTCP **Repository Path**: delphi_1/ModbusTCP ## Basic Information - **Project Name**: ModbusTCP - **Description**: 基于 Delphi7 + Indy9 开发的标准 Modbus TCP 主站程序,实现 03 功能码读取保持寄存器,支持报文收发、异常处理、配置保存、数据日志记录。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-18 - **Last Updated**: 2026-04-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Modbus TCP 主站上位机(Delphi7) 基于 Delphi7 + Indy9 开发的标准 Modbus TCP 主站程序,实现 03 功能码读取保持寄存器,支持报文收发、异常处理、配置保存、数据日志记录。 ## 开发环境 - 开发工具:Delphi 7 - 网络组件:Indy 9(原生自带) - 测试工具:Modbus Slave / ModbusTool ## 功能清单 - 标准 Modbus TCP 协议报文收发(MBAP 头 + PDU 数据) - 采用“先读报文头,再按协议长度读数据”的标准接收方式 - 正确解析协议长度字段,保证数据完整不丢失 - 内置 1000ms 接收超时,防止通信阻塞 - TCP 连接状态自动同步,异常断开后自动恢复界面状态 - INI 配置文件自动保存/加载(IP、端口、地址、寄存器数量) - CSV 格式数据日志存储,支持任意数量寄存器动态存储 - 一键清空历史数据日志 - 实时通信日志显示 ## 协议说明 - 报文结构:7 字节 MBAP 报文头 + 数据体 - 功能码:03(读取保持寄存器) - 支持自定义从站地址、起始地址、读取长度 ## 文件结构 项目目录/ - MainUnit.pas 主程序逻辑 - Config.ini 配置文件(自动生成) - DataLog.csv 数据日志(自动生成) - README.md 项目说明文档 ## 使用方法 1. 打开软件,自动加载上次保存的配置 2. 输入设备 IP 与端口(默认 502) 3. 点击连接,建立 TCP 连接 4. 设置寄存器起始地址与读取数量 5. 点击读取,自动解析数据并保存 CSV 日志 6. 可点击清空历史数据按钮重置日志 ## 运行截图 ![](./img/main.png) ## 项目特点 - 100% 兼容 Delphi7 + Indy9 - 无第三方组件依赖 - 协议解析严格标准,无粘包、分包、数据不完整问题 - 超时机制安全可靠,程序不会卡死 - 界面状态与真实 TCP 连接完全同步 - CSV 日志可直接用 Excel 打开 - 适合工控上位机学习、毕业设计、简历项目