# S7-PLC-DB-SIM **Repository Path**: delphi_1/S7-PLC-DB-SIM ## Basic Information - **Project Name**: S7-PLC-DB-SIM - **Description**: 包含 S7 仿真服务端 + 测试客户端,实现基于自定义 S7 协议的 DB 块数据读写功能。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-19 - **Last Updated**: 2026-04-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # S7-PLC DB 块读写仿真系统 本项目包含 S7 仿真服务端 + 测试客户端,实现基于自定义 S7 协议的 DB 块数据读写功能,可用于 PLC 通信调试、协议学习、自动化测试。 ## 项目说明 本项目包含两个工程: - Server:S7 仿真 PLC 服务端(监听 102 端口) - Client:PC 上位机客户端(读写 DB 数据) 实现功能: - 服务端(模拟 PLC) - 监听端口:102 - 支持 COTP 握手、S7 会话建立 - 支持 DB1 块读、写操作 - 数据区:0~1023 字节 - 初始数据:10,20,30,40 - 长连接、永不超时、不断线 - 自动输出运行日志 S7Debug.log - 客户端 - 连接 PLC 仿真服务端 - 支持指定 DB 号、起始地址、数据长度 - 支持批量数据写入(逗号分隔) - 实时显示读写结果与异常信息 ## 运行截图 ![](./img/main.png) ## 目录结构 S7-PLC-DB-SIM/ - README.md 项目说明 - Server/ 仿真PLC服务端 - Client/ 上位机客户端 ## 通信规则 - 写数据报文偏移:20 - 总长度 = 20 + 数据长度 - 服务端读取位置:RecvBuf[20] - 功能码:读 0x31,写 0x37 ## 使用方法 1. 启动 Server 2. 启动 Client,连接 127.0.0.1:102 3. 输入 DB 号、起始地址、长度 4. 写入数据用逗号分隔:10,20,30,40,50 5. 点击读写,查看日志 ## 稳定说明 - 无崩溃 - 无断开 - 无超时 - 任意长度均可正常读写