# CommunicationPlatform **Repository Path**: KITE_SKY/communication-platform ## Basic Information - **Project Name**: CommunicationPlatform - **Description**: 设计的一个通信平台 - **Primary Language**: C# - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-11 - **Last Updated**: 2026-03-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CommunicationPlatform #### 介绍 设计的一个通信平台 #### 软件目录结构 ``` TestBenchCSPlatform/ # 测试台上位机解决方案根目录 ├─ TestBenchCS.sln # 解决方案文件 │ # 1. 核心抽象层(通信+设备+测试台通用规则) ├─ 01_Core/ │ ├─ Core.Abstractions/ # 纯抽象接口/模型/枚举 │ │ ├─ Communication/ # 通用通信抽象(不变) │ │ │ ├─ ICommClient.cs # 客户端通信接口 │ │ │ ├─ ICommServer.cs # 服务端通信接口(可选,测试台服务端) │ │ │ ├─ IProtocol.cs # 协议抽象接口 │ │ │ └─ CommEnums.cs # 通信状态/错误码枚举 │ │ ├─ Device/ # 设备抽象(不变) │ │ │ ├─ IDevice.cs # 设备通用接口 │ │ │ ├─ IDeviceManager.cs # 设备管理器接口 │ │ │ ├─ DeviceEnums.cs # 设备类型/状态枚举 │ │ │ └─ DeviceProtocolBind.cs # 设备-协议绑定模型 │ │ ├─ TestBench/ # 新增:测试台核心抽象 │ │ │ ├─ ITestTask.cs # 测试任务接口(创建/执行/暂停/终止) │ │ │ ├─ ITestItem.cs # 测试项接口(单步测试逻辑) │ │ │ ├─ ITestReport.cs # 测试报告接口(生成/导出) │ │ │ └─ TestEnums.cs # 测试状态/类型/结果枚举 │ │ ├─ Model/ # 核心数据模型(通信+设备) │ │ └─ Events/ # 核心事件(通信+设备+测试任务) │ │ ├─ CommStateChangedEventArgs.cs │ │ ├─ DeviceStateChangedEventArgs.cs │ │ └─ TestTaskStateChangedEventArgs.cs # 测试任务状态事件 │ └─ Core.Framework/ # 核心框架逻辑 │ ├─ Manager/ # 核心管理器 │ │ ├─ ProtocolManager.cs # 协议管理器 │ │ ├─ DeviceManager.cs # 设备管理器 │ │ └─ TestTaskManager.cs # 测试任务管理器(新增) │ └─ Extensions/ # 核心扩展方法 │ # 2. 内核层(通信底层实现,无业务) ├─ 02_Kernel/ # 无变化,聚焦通信底层 │ ├─ Kernel.Network/ # TCP/UDP/HTTP底层 │ ├─ Kernel.Protocol/ # Modbus/OPC UA/MQTT底层 │ └─ Kernel.Resources/ # 系统资源管理 │ # 3. 协议模块(插件化,适配测试台测试项) ├─ 03_ProtocolModules/ # 新增协议测试项逻辑 │ ├─ Protocol.TCP/ │ │ ├─ Client/ # TCP通信实现 │ │ ├─ Server/ # TCP服务端实现 │ │ └─ TestItems/ # 新增:TCP测试项(端口扫描/数据收发/延迟测试) │ │ ├─ TcpPortScanTest.cs │ │ ├─ TcpDataTransTest.cs │ │ └─ TcpDelayTest.cs │ ├─ Protocol.Modbus/ │ │ ├─ Client/ # Modbus通信实现 │ │ ├─ TestItems/ # 新增:Modbus测试项(寄存器读写/线圈测试) │ │ ├─ ModbusRegisterReadTest.cs │ │ ├─ ModbusRegisterWriteTest.cs │ │ └─ ModbusCoilTest.cs │ ├─ Protocol.OPCUA/ │ │ ├─ Client/ # OPC UA通信实现 │ │ ├─ TestItems/ # 新增:OPC UA测试项(节点订阅/读写) │ │ ├─ OpcUaNodeReadTest.cs │ │ ├─ OpcUaNodeWriteTest.cs │ │ └─ OpcUaNodeSubscribeTest.cs │ └─ Protocol.HTTP/ # 同理,新增HTTP测试项 │ # 4. 设备层(设备管理+设备测试配置) ├─ 04_Device/ │ ├─ Device.Models/ # 设备模型(新增测试配置) │ │ ├─ DeviceInfo.cs # 设备基础信息 │ │ ├─ DeviceConfig.cs # 设备配置(含测试参数模板) │ │ ├─ DeviceProtocolConfig.cs # 设备-协议绑定配置 │ │ └─ DeviceTestTemplate.cs # 新增:设备测试参数模板(复用测试配置) │ ├─ Device.Business/ # 设备业务(关联测试) │ │ ├─ DeviceService.cs # 设备增删改查 │ │ ├─ DeviceProtocolBinder.cs # 设备-协议绑定 │ │ └─ DeviceTestTemplateService.cs # 测试模板管理 │ └─ Device.Storage/ # 设备配置存储 │ # 5. 测试台核心层(测试任务+测试项+报告) ├─ 05_TestBench/ │ ├─ TestBench.Models/ # 测试台核心模型 │ │ ├─ TestTask.cs # 测试任务(绑定设备+测试项列表) │ │ ├─ TestItem.cs # 测试项(关联协议+参数+结果) │ │ ├─ TestParam.cs # 测试参数(下发值/预期值/阈值) │ │ ├─ TestResult.cs # 测试结果(成功/失败/数据/日志) │ │ └─ TestReport.cs # 测试报告(任务汇总/明细/统计) │ ├─ TestBench.Business/ # 测试台业务逻辑 │ │ ├─ TestTaskService.cs # 测试任务管理(创建/执行/暂停/终止) │ │ ├─ TestItemExecutor.cs # 测试项执行器(核心:单步测试逻辑) │ │ ├─ TestDataCollector.cs # 测试数据采集/回显 │ │ └─ TestReportService.cs # 测试报告生成/导出(PDF/Excel/JSON) │ └─ TestBench.Storage/ # 测试数据存储 │ ├─ ITestStorage.cs # 测试数据存储接口 │ ├─ LocalTestStorage.cs # 本地存储(测试任务/结果/报告) │ └─ DbTestStorage.cs # 数据库存储(可选,企业级) │ # 6. 客户端(上位机UI,测试台核心交互) ├─ 06_Client/ │ ├─ Client.WPF/ # WPF上位机主项目(MVVM) │ │ ├─ App.xaml + App.xaml.cs # 应用入口(加载测试台/设备/样式) │ │ ├─ MainWindow.xaml + .cs # 主窗口(测试台总控) │ │ │ │ │ # UI视图层(测试台核心交互) │ │ ├─ Views/ │ │ │ ├─ Device/ # 设备管理(增删改查/协议绑定) │ │ │ │ ├─ DeviceListView.xaml │ │ │ │ └─ DeviceConfigView.xaml │ │ │ ├─ TestTask/ # 测试任务(核心) │ │ │ │ ├─ TestTaskCreateView.xaml # 创建任务(绑定设备+测试项) │ │ │ │ ├─ TestTaskConfigView.xaml # 配置测试参数(下发值/预期值) │ │ │ │ ├─ TestTaskExecuteView.xaml # 执行测试(启停/暂停/实时监控) │ │ │ │ └─ TestTaskHistoryView.xaml # 历史任务/报告 │ │ │ ├─ TestMonitor/ # 测试监控(数据回显/状态展示) │ │ │ │ ├─ RealTimeDataView.xaml # 实时数据曲线/表格 │ │ │ │ ├─ TestStateView.xaml # 测试状态/设备状态 │ │ │ │ └─ LogView.xaml # 操作/测试日志 │ │ │ ├─ TestReport/ # 测试报告(预览/导出/打印) │ │ │ │ ├─ TestReportPreviewView.xaml │ │ │ │ └─ TestReportExportView.xaml │ │ │ ├─ StyleSetting/ # 样式/皮肤设置(不变) │ │ │ └─ Common/ # 通用控件(测试控件/数据展示) │ │ │ │ │ # 视图模型层(MVVM核心) │ │ ├─ ViewModels/ │ │ │ ├─ Device/ # 设备VM │ │ │ ├─ TestTask/ # 测试任务VM(核心) │ │ │ │ ├─ TestTaskCreateVM.cs │ │ │ │ ├─ TestTaskConfigVM.cs │ │ │ │ ├─ TestTaskExecuteVM.cs │ │ │ │ └─ TestTaskHistoryVM.cs │ │ │ ├─ TestMonitor/ # 测试监控VM │ │ │ │ ├─ RealTimeDataVM.cs │ │ │ │ ├─ TestStateVM.cs │ │ │ │ └─ LogVM.cs │ │ │ ├─ TestReport/ # 测试报告VM │ │ │ ├─ StyleSettingVM.cs # 样式VM │ │ │ └─ Base/ # 基础VM(INotifyPropertyChanged) │ │ │ │ │ # 客户端业务逻辑(关联测试台+设备+协议) │ │ ├─ Business/ │ │ │ ├─ DeviceClientService.cs # 设备管理 │ │ │ ├─ TestTaskClientService.cs # 测试任务管理(调用TestBench层) │ │ │ ├─ TestMonitorService.cs # 测试监控(数据采集/回显) │ │ │ └─ StyleService.cs # 样式管理 │ │ │ │ │ # 样式/资源(测试台专属样式) │ │ ├─ Assets/ │ │ │ ├─ Styles/ # 基础样式(新增测试台视图样式) │ │ │ │ ├─ Global/ # 全局样式 │ │ │ │ ├─ Themes/ # 主题/皮肤 │ │ │ │ ├─ Pages/ # 页面样式(TestTask/TestMonitor) │ │ │ │ └─ Controls/ # 测试控件样式(数据曲线/表格) │ │ │ ├─ StyleConfig/ # 样式配置 │ │ │ ├─ Images/ # 测试台图标(任务/状态/设备) │ │ │ ├─ Fonts/ # 字体 │ │ │ └─ TestTemplates/ # 测试参数模板(JSON/XML) │ │ │ │ │ # 通信适配(关联设备+测试任务) │ │ ├─ Communication/ │ │ │ ├─ ClientCommAdapter.cs # 通信适配(按设备+测试项执行通信) │ │ │ └─ Session/ # 客户端会话 │ │ │ │ │ └─ Properties/ # 项目属性 │ └─ Client.Tests/ # 客户端单元测试 │ ├─ TestTask/ # 测试任务逻辑测试 │ ├─ Device/ # 设备管理测试 │ └─ Communication/ # 通信适配测试 │ # 7. 服务端(可选,测试台数据同步/多客户端) ├─ 07_Server/ │ ├─ Server.Console/ # 控制台服务端 │ │ ├─ Program.cs # 服务端入口(设备/测试任务管理) │ │ ├─ Host/ # 服务端宿主 │ │ ├─ Business/ # 服务端业务(测试数据同步/报告存储) │ │ │ ├─ DeviceServerService.cs │ │ │ ├─ TestTaskServerService.cs │ │ │ └─ TestReportServerService.cs │ │ ├─ Config/ # 服务端配置 │ │ └─ Properties/ │ └─ Server.WebAPI/ # WebAPI服务端(测试数据/报告接口) │ ├─ Controllers/ # Device/TestTask/TestReport控制器 │ └─ Models/ # 复用Shared模型 │ # 8. 共享层(跨端共享模型/工具) ├─ 08_Shared/ │ ├─ Shared.Models/ # 共用数据模型 │ │ ├─ Communication/ # 通信模型 │ │ ├─ Device/ # 设备模型 │ │ ├─ TestBench/ # 测试台模型(DTO) │ │ │ ├─ TestTaskDto.cs # 测试任务DTO │ │ │ ├─ TestResultDto.cs # 测试结果DTO │ │ │ └─ TestReportDto.cs # 测试报告DTO │ │ └─ Style/ # 样式模型 │ ├─ Shared.Utils/ # 共用工具 │ │ ├─ Serialization/ # 序列化(测试配置/报告) │ │ ├─ Logging/ # 日志工具 │ │ ├─ Style/ # 样式工具 │ │ ├─ Device/ # 设备工具 │ │ └─ TestBench/ # 测试台工具 │ │ ├─ TestDataAnalyzer.cs # 测试数据分析(阈值判断/统计) │ │ ├─ TestReportExporter.cs # 报告导出(PDF/Excel) │ │ └─ TestParamValidator.cs # 测试参数校验 │ └─ Shared.Extensions/ # 共用扩展方法 │ # 9. 辅助工具(测试台调试/配置) ├─ 09_Tools/ │ ├─ ProtocolDebugger/ # 协议调试工具(单协议测试) │ ├─ TestParamEditor/ # 测试参数模板编辑器 │ ├─ TestReportViewer/ # 测试报告查看器 │ ├─ StyleDesigner/ # 样式设计工具 │ └─ DataAnalyzer/ # 测试数据分析工具(曲线/统计) ``` #### 软件架构 软件架构说明 #### 安装教程 1. xxxx 2. xxxx 3. xxxx #### 使用说明 1. xxxx 2. xxxx 3. xxxx #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)