# Bkl.DatangDGA **Repository Path**: apant/Bkl.DatangDGA ## Basic Information - **Project Name**: Bkl.DatangDGA - **Description**: 该仓库(Bkl.DatangDGA)看起来是一个用于变压器油中溶解气体分析(Dissolved Gas Analysis, DGA) 的系统,主要用于电力设备(如变压器)的状态监测与故障诊断。 - **Primary Language**: C# - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-01 - **Last Updated**: 2025-09-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 该仓库(Bkl.DatangDGA)看起来是一个用于变压器油中溶解气体分析(Dissolved Gas Analysis, DGA) 的系统,主要用于电力设备(如变压器)的状态监测与故障诊断。以下是基于代码的具体分析: 1. 核心功能 该系统通过分析变压器油中溶解的各种气体(如 H₂、CH₄、C₂H₂等)的含量及产气率,判断设备是否存在故障(如过热、局部放电等),并生成告警信息。核心功能包括: 气体数据处理:收集和存储不同气体(如 H₂、CO、CH₄、C₂H₂等)的历史数据和实时数据。 产气率计算:计算绝对产气率(CalcAGPR)和相对产气率(CalcRGPR),用于评估气体随时间的变化速率。 三比值法分析:通过三种特征气体的比值(如 C₂H₂/C₂H₄、CH₄/H₂等)判断设备故障类型,对应代码中的ThreeRatioCode和ThreeCodeValidation。 告警机制:当气体浓度或产气率超过阈值时,生成告警信息并通过消息队列(如 NetMQ)发布。 2. 技术栈 开发框架:基于.NET 5.0(从global.json可知)。 数据存储与访问:使用 Entity Framework Core 进行数据库操作(BklDbContext)。 分布式计算:集成 Orleans(AnalysisDGAGrain),用于分布式任务调度和状态管理(如定期计算产气率)。 消息通信:使用 NetMQ 实现发布 - 订阅模式(PublisherSocket),用于实时推送设备状态和告警。 缓存:通过 Redis(IRedisClient)存储中间计算结果(如产气率),提升访问效率。 响应式编程:使用Rx.NET(Subject、Observable)处理实时数据流,实现高效的事件驱动逻辑。 3. 主要模块与代码结构 DGAAnalysis类:核心分析逻辑,包含: 气体数据的读取(ReadGasValue、ReadGasAbsValue)。 产气率计算(CalcAGPR、CalcRGPR)。 三比值法验证(ThreeCodeValidation),判断设备状态是否异常。 DGAService类:后台服务,负责: 接收设备实时状态数据(DeviceState)。 维护设备的分析实例(_analysis列表),定期从数据库加载配置。 计算总可燃气体(CmbuGas)和总烃(TotHyd)等衍生指标。 通过 NetMQ 发布设备状态和告警信息。 AnalysisDGAGrain类:基于 Orleans 的分布式 grain,负责: 定期触发产气率计算(ProcessAGPR、ProcessRGPR)。 维护设备绑定关系和计算结果的持久化(IPersistentState)。 4. 应用场景 该系统主要用于电力行业的变压器状态监测,通过分析油中溶解气体的成分和变化趋势,提前预警设备潜在故障(如绝缘老化、局部放电、过热等),减少非计划停机,提高设备运行可靠性。 总结 Bkl.DatangDGA是一个基于.NET 5.0 的电力设备 DGA 分析系统,集成了数据库访问、分布式计算、实时消息通信等技术,核心功能是通过气体分析实现变压器故障诊断与告警,适用于电力系统的设备状态监测场景。根据提供的代码片段,该仓库(Bkl.DatangDGA)看起来是一个用于变压器油中溶解气体分析(Dissolved Gas Analysis, DGA) 的系统,主要用于电力设备(如变压器)的状态监测与故障诊断。以下是基于代码的具体分析: 1. 核心功能 该系统通过分析变压器油中溶解的各种气体(如 H₂、CH₄、C₂H₂等)的含量及产气率,判断设备是否存在故障(如过热、局部放电等),并生成告警信息。核心功能包括: 气体数据处理:收集和存储不同气体(如 H₂、CO、CH₄、C₂H₂等)的历史数据和实时数据。 产气率计算:计算绝对产气率(CalcAGPR)和相对产气率(CalcRGPR),用于评估气体随时间的变化速率。 三比值法分析:通过三种特征气体的比值(如 C₂H₂/C₂H₄、CH₄/H₂等)判断设备故障类型,对应代码中的ThreeRatioCode和ThreeCodeValidation。 告警机制:当气体浓度或产气率超过阈值时,生成告警信息并通过消息队列(如 NetMQ)发布。 2. 技术栈 开发框架:基于.NET 5.0(从global.json可知)。 数据存储与访问:使用 Entity Framework Core 进行数据库操作(BklDbContext)。 分布式计算:集成 Orleans(AnalysisDGAGrain),用于分布式任务调度和状态管理(如定期计算产气率)。 消息通信:使用 NetMQ 实现发布 - 订阅模式(PublisherSocket),用于实时推送设备状态和告警。 缓存:通过 Redis(IRedisClient)存储中间计算结果(如产气率),提升访问效率。 响应式编程:使用Rx.NET(Subject、Observable)处理实时数据流,实现高效的事件驱动逻辑。 3. 主要模块与代码结构 DGAAnalysis类:核心分析逻辑,包含: 气体数据的读取(ReadGasValue、ReadGasAbsValue)。 产气率计算(CalcAGPR、CalcRGPR)。 三比值法验证(ThreeCodeValidation),判断设备状态是否异常。 DGAService类:后台服务,负责: 接收设备实时状态数据(DeviceState)。 维护设备的分析实例(_analysis列表),定期从数据库加载配置。 计算总可燃气体(CmbuGas)和总烃(TotHyd)等衍生指标。 通过 NetMQ 发布设备状态和告警信息。 AnalysisDGAGrain类:基于 Orleans 的分布式 grain,负责: 定期触发产气率计算(ProcessAGPR、ProcessRGPR)。 维护设备绑定关系和计算结果的持久化(IPersistentState)。 4. 应用场景 该系统主要用于电力行业的变压器状态监测,通过分析油中溶解气体的成分和变化趋势,提前预警设备潜在故障(如绝缘老化、局部放电、过热等),减少非计划停机,提高设备运行可靠性。 总结 Bkl.DatangDGA是一个基于.NET 5.0 的电力设备 DGA 分析系统,集成了数据库访问、分布式计算、实时消息通信等技术,核心功能是通过气体分析实现变压器故障诊断与告警,适用于电力系统的设备状态监测场景。