feat: 完成S7 PLC模拟器完整实现
实现基于HSL Communication库的西门子S7 PLC模拟器系统,用于WCS开发测试。
核心功能:
- 多实例管理:支持创建和管理多个独立的S7服务器实例
- 内存模拟:支持M/DB/I/Q/T/C所有常用地址区域
- 地址解析:支持"M100"、"DB1.DBD0"、"I0.0"、"T1"、"C1"等S7地址格式
- 数据持久化:配置和内存数据自动保存到本地文件
- Web管理界面:提供直观的Web UI进行实例管理
- 实时监控:显示连接状态、请求数、客户端信息等
项目结构:
- WIDESEAWCS_S7Simulator.Core - 核心领域层
* Memory/ - 内存区域实现(I/Q/T/C/M/DB regions)
* Persistence/ - 文件持久化服务
* Server/ - S7服务器实例(HSL集成)
* Manager/ - 实例管理器
- WIDESEAWCS_S7Simulator.Server - Web API服务器
* Controllers/ - REST API控制器
- WIDESEAWCS_S7Simulator.Web - Web管理界面
* Pages/ - Razor Pages(列表/创建/编辑/详情)
- WIDESEAWCS_S7Simulator.UnitTests - 单元测试
技术细节:
- 线程安全的内存操作(ReaderWriterLockSlim)
- 大端字节序(S7 PLC规范)
- 完整的Dispose模式
- 原子性写入操作(文件持久化)
- 异步API设计
- Bootstrap 5 + Alpine.js 前端
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>