# tempCollect **Repository Path**: delphi_1/tempCollect ## Basic Information - **Project Name**: tempCollect - **Description**: Modbus-RTU 温度采集上位机 - **Primary Language**: Delphi - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-17 - **Last Updated**: 2026-04-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 工业 Modbus-RTU 温度采集上位机 ## 项目简介 这是一个基于 Delphi + CPort 开发的 Modbus-RTU 主机上位机程序,实现了通过串口与支持 Modbus-RTU 协议的设备(如温度传感器、PLC、仪表)进行数据交互,可作为工控上位机入门级项目。 本项目在**无单片机、仅电脑虚拟串口环境**下完成开发与测试,所有功能均可稳定运行。 --- ## 运行截图 ### 1. 主界面与串口配置 ![](./img/main.png) - 串口参数可配置(串口号、波特率) - 打开/关闭串口控制 - 实时收发日志显示 ### 2. Modbus 03 读指令交互 ![](./img/read.png) - 点击【读温度】按钮,发送标准 Modbus 03 指令 - 串口调试助手(虚拟串口另一端)收到完整报文 - 回复报文被程序解析,温度值显示在界面上 ### 3. Modbus 06 写指令交互 ![](./img/write.png) - 在输入框设置报警阈值,点击【设置报警阈值】发送 06 写指令 - 设备端回复成功后,程序显示写入成功提示 ### 4. 数据日志文件 ![](./img/log.png) - 每次读取的温度数据会自动写入 `TempLog.txt` - 按时间戳记录,便于后续查看与分析 --- ## 功能说明 1. 串口通讯 - 支持串口参数配置(串口号、波特率) - 打开/关闭串口,收发数据 - 自动绑定接收事件,实现异步接收 2. Modbus-RTU 协议支持 - 03 功能码:读取保持寄存器(如温度、压力等模拟量) - 06 功能码:写入单个寄存器(如设置报警阈值) - CRC16 校验自动计算与验证 3. 数据处理与显示 - 实时显示原始收发数据日志 - 解析 Modbus 回复,提取温度值并显示 - 写入成功提示,便于调试 4. 数据存储 - 温度数据自动保存到本地 `TempLog.txt` 文件,按时间戳记录 - 可用于后续数据分析与追溯 --- ## 开发与测试环境 - 开发工具:Delphi 7 - 串口控件:CPort 4.11k - 测试环境:虚拟串口(COM2/COM3) + 串口调试助手 - 通讯参数:9600, 8N1 --- ## 项目文件说明 collect/ - `collect.dpr`:工程主文件(程序入口) - `collect.cfg`:编译配置文件 - `collect.dof`:项目选项文件 - `collect.res`:资源文件 - `MainForm.pas`:核心代码单元(所有业务逻辑) - `MainForm.dfm`:窗体设计文件(控件布局) - `README.md`:项目说明文档 --- ## 核心代码模块 - Log():日志记录函数,格式化输出时间戳与信息 - CalcCRC16():标准 Modbus CRC16 校验计算 - btnOpenClick():串口打开/关闭,参数配置与事件绑定 - btnReadTempClick():Modbus 03 功能码读取温度 - btnSetAlarmClick():Modbus 06 功能码写入报警阈值 - ComPort1RxChar():串口接收事件,解析 Modbus 回复并更新界面 --- ## 测试方法 1. 使用虚拟串口工具创建一对虚拟串口(如 COM2 ↔ COM3) 2. 运行程序,选择 COM2,波特率 9600,点击【打开串口】 3. 点击【读温度】按钮,串口调试助手(COM3)将收到 03 指令 4. 在调试助手回复 `01 03 02 00 1E B8 91`(温度 30℃),程序将解析并显示 5. 温度数据将自动保存到 `TempLog.txt` 文件中 --- ## 作者说明 本项目为工控上位机学习入门项目,旨在掌握串口通讯、Modbus 协议与 Delphi 开发基础,所有代码均可稳定运行。