wenxiangchao
4 天以前 559890c482f5973f06aafdfec9550fee5ba3c7f2
refs
用户 wenxiangchao <wenxiangchao@ihengxin.com.cn>
星期一, 十一月 9, 2026 17:02 +0800
提交者 wenxiangchao <wenxiangchao@ihengxin.com.cn>
星期一, 十一月 9, 2026 17:02 +0800
提交559890c482f5973f06aafdfec9550fee5ba3c7f2
目录 2cfc5243a8d1315c913c10e9221edb1c3b992efc 目录 | zip | gz
parent 2e889843b4c171f2d6ad8e0d53084040703d11f6 查看 | 对比
feat: CAN 模拟器 TCP 化 + 多设备并发调试 + 后台生命周期管理

核心改造:
- CAN 模拟器 TCP 线协议化,独立 CanSimulatorServer 进程 (127.0.0.1:9000)
- 统一 CanDeviceDriver + ICanTransport (NodeChannelTransport / BrokerRpcTransport)
- 新增 DeviceBroker 独立进程,Broker 共享设备走 IPC 管道
- 分层资源管理 LayeredResourceManager + DbLeaseStore (arb.db 仲裁库)
- 总线应答器 EchoResponderToSender (BUS_ECHO ON)

调试面板改造:
- DeviceDebug 多标签页架构 (DeviceDebugTab + CanChannelView)
- CanChannelView 接收帧推送改用 Dispatcher.BeginInvoke 修复死锁
- DebugSessionManager 增加维护租约心跳续期 (120s 周期 < TTL 300s)

自动化与测试:
- IntegrationTest 新增逐设备一次收发测试 (CAN-001~004)
- CanDeviceDriver 惰性连接 EnsureConnectedAsync
- ValidateOwner 用完整 TTL 续期,避免砍短租约
- 回归测试 51/51 通过 (含 BrokerE2E + LayeredResourceManager)

文档:
- 程序架构解析报告 V3.1
- 仪器调用架构与数据流转报告
- 多进程仪器资源方案 / Broker IPC 对比等设计文档
20个文件已修改
60个文件已添加
1个文件已删除
16120 ■■■■■ 已修改文件
Aging.Infrastructure/Aging.Infrastructure.csproj 3 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
Aging.Infrastructure/Broker/BrokerClientChannel.cs 283 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
Aging.Infrastructure/Broker/BrokerPipeName.cs 19 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
Aging.Infrastructure/Broker/DeviceConfigHash.cs 78 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
Aging.Infrastructure/Contracts/IAutoDeviceFacade.cs 88 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
Aging.Infrastructure/Core/DbLeaseStore.cs 585 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
Aging.Infrastructure/Core/LayeredResourceManager.cs 231 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
Aging.Infrastructure/Drivers/BrokerRpcTransport.cs 152 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
Aging.Infrastructure/Drivers/CanDeviceDriver.cs 334 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
Aging.Infrastructure/Drivers/CanDriverAdapter.cs 576 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
Aging.Infrastructure/Drivers/DriverFactory.cs 7 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
Aging.Infrastructure/Drivers/ICanTransport.cs 34 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
Aging.Infrastructure/Drivers/NodeChannelTransport.cs 219 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
Aging.Infrastructure/InfrastructureBootstrapper.cs 79 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
Aging.Infrastructure/Services/AutoDeviceFacade.cs 287 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
Aging.Infrastructure/Services/CanBusService.cs 209 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
Aging.ResourceContracts/Aging.ResourceContracts.csproj 11 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
Aging.ResourceContracts/BrokerIpc.cs 91 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
Aging.ResourceContracts/DeviceOperationTypes.cs 36 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
Aging.ResourceContracts/IpcEnvelope.cs 33 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
Aging.ResourceContracts/LeaseTypes.cs 89 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
CanSimulator/CanBusSimulator.cs 108 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
CanSimulator/SimulatorFraming.cs 86 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
CanSimulatorServer/CanSimulatorServer.App/App.config 11 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
CanSimulatorServer/CanSimulatorServer.App/App.cs 39 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
CanSimulatorServer/CanSimulatorServer.App/CanSimulatorServer.App.csproj 36 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
CanSimulatorServer/CanSimulatorServer.App/MainWindow.cs 311 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
CanSimulatorServer/CanSimulatorServer.App/log4net.config 17 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
CanSimulatorServer/CanSimulatorServer.Core/CanBusManager.cs 71 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
CanSimulatorServer/CanSimulatorServer.Core/CanCommandExecutor.cs 188 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
CanSimulatorServer/CanSimulatorServer.Core/CanSimulatorServer.Core.csproj 20 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
CanSimulatorServer/CanSimulatorServer.Core/ServerSession.cs 238 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
CanSimulatorServer/CanSimulatorServer.Core/TcpSimulatorHost.cs 92 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
DeviceBroker/App.config 8 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
DeviceBroker/BrokerServer.cs 453 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
DeviceBroker/DeviceBroker.csproj 21 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
DeviceBroker/Program.cs 79 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
Plugin.DeviceConfig/DeviceConfig.xaml 9 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
Plugin.DeviceConfig/DeviceConfig.xaml.cs 29 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
Plugin.DeviceConfig/DeviceEditModal.xaml 66 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
Plugin.DeviceConfig/DeviceEditModal.xaml.cs 181 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
Plugin.DeviceConfig/Entity/DeviceDefinition.cs 48 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
Plugin.DeviceConfig/Model/DeviceConfigModel.cs 140 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
Plugin.DeviceConfig/Plugin.DeviceConfig.csproj 5 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
Plugin.DeviceConfig/V3AuthorityCatalog.cs 52 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
Plugin.DeviceDebug/DeviceDebug.xaml 141 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
Plugin.DeviceDebug/DeviceDebug.xaml.cs 613 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
Plugin.DeviceDebug/DeviceDebugTab.xaml 113 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
Plugin.DeviceDebug/DeviceDebugTab.xaml.cs 458 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
Plugin.DeviceDebug/Model/DebugSessionManager.cs 107 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
Plugin.DeviceDebug/Panels/CanChannelView.xaml 220 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
Plugin.DeviceDebug/Panels/CanChannelView.xaml.cs 485 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
Plugin.DeviceDebug/Panels/CanDebugPanel.xaml 219 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
Plugin.DeviceDebug/Panels/CanDebugPanel.xaml.cs 558 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
Plugin.IntegrationTest/App.config 12 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
Plugin.IntegrationTest/MainWindow.xaml 84 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
Plugin.IntegrationTest/MainWindow.xaml.cs 469 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
Plugin.IntegrationTest/Plugin.IntegrationTest.csproj 15 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
WPFProject/TapProject.sln 84 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
docs/DeviceConfig_DeviceDebug_Architecture.html 660 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
docs/Local + DeviceBroker 混合架构详细设计说明书 V3.0.html 359 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
docs/MultiProcess_Instrument_Resource_Solution.html 799 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
docs/OpenTAP_Instrument_Package_Analysis.html 486 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
docs/System_Architecture_V3_Restructured.html 578 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
docs/broker-ipc-comparison.html 348 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
docs/superpowers/plans/2026-11-03-local-broker-mvp.md 1328 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
docs/仪器注册与调试_逻辑与时序梳理.html 333 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
docs/仪器调用架构与数据流转_V3.1.html 282 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
docs/仪器调用程序结构与类调用说明.html 53 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
docs/程序架构解析报告_V3.1_TCP模拟器与统一驱动.html 342 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
tests/Aging.MvpTests/Aging.MvpTests.csproj 32 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
tests/Aging.MvpTests/App.config 8 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
tests/Aging.MvpTests/BrokerE2ETests.cs 334 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
tests/Aging.MvpTests/CanDeviceDriverTests.cs 120 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
tests/Aging.MvpTests/ContractSerializeTests.cs 39 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
tests/Aging.MvpTests/DbLeaseStoreTests.cs 160 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
tests/Aging.MvpTests/FacadeLeaseLifecycleTests.cs 49 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
tests/Aging.MvpTests/LayeredResourceManagerTests.cs 82 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
tests/Aging.MvpTests/SimulatorFramingTests.cs 130 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
tests/Aging.MvpTests/SimulatorServerCoreTests.cs 255 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
tests/Aging.MvpTests/UnitTest1.cs 13 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史