|
|
80ea47e627
|
重构MQTT事件处理和激活状态管理功能
|
2025-10-05 14:45:41 +08:00 |
|
|
|
b96101dea6
|
feat: 实现 MQTT 服务事件驱动机制,实时响应服务器变化
|
2025-10-05 12:52:22 +08:00 |
|
|
|
b85ffdc21b
|
1 feat: 重构数据加载完成事件的处理机制
2
3 - 从IDataLoaderService接口中移除OnLoadDataCompleted事件
4 - 在IEventService接口中新增OnLoadDataCompleted事件和RaiseLoadDataCompleted方法
5 - 在EventService实现类中实现数据加载完成事件的触发功能
6 - 修改DataLoaderService不再直接触发事件,而是通过IEventService来触发
7 - 更新MQTT、OPC UA和S7后台服务以订阅事件服务中的数据加载完成事件
8 - 修改数据加载完成事件的监听方式,统一使用事件服务进行管理
9
10 此重构改进了事件处理的架构设计,使事件管理更加集中和一致。
|
2025-10-05 11:21:05 +08:00 |
|
|
|
a6fc543e4f
|
1 feat(mqtt): 实现MQTT服务器状态管理与事件系统
2
3 1. 在MqttServer和MqttServerDto模型中添加IsConnect属性,用于跟踪连接状态
4 2. 重构MqttManagementService服务,使用事件驱动方式管理服务器状态变化
5 3. 实现MqttServerChangedEventArgs事件参数类,支持区分不同变更类型
6 4. 在IEventService中添加OnMqttServerChanged事件,实现事件通知机制
7 5. 优化数据存储结构,将MqttServers从ObservableCollection改为ObservableDictionary
8 6. 更新MqttServiceManager以正确处理连接状态和事件触发
9 7. 在WPF层更新UI以响应服务器状态变化
10 8. 删除不再需要的Helper类(DataServicesHelper, MessageHelper, SiemensHelper)
11 9. 在NLog配置中添加调试器输出目标以便调试
12 10. 完善VariableHistoryViewModel防止空引用异常
|
2025-10-05 00:28:25 +08:00 |
|
|
|
ec1f94a898
|
1 refactor(config): 将AppSettings移至Application层并更新配置结构
2
3 - 将AppSettings从DMS.Infrastructure移至DMS.Application
4 - 将DatabaseSettings重命名为AppSettings.Database并更新所有引用
5 - 将配置文件从appSettings.json更改为dms_config.json
6 - 更新所有项目引用以使用新的AppSettings命名空间
7 - 移除DI容器中的SqlSugarDbContext直接实例化
8 - 添加Material Design Icons字体并更新设置视图UI
9 - 通过移除不必要的变量映射更新来优化S7服务
10 - 将数据库连接字符串属性名从Database更新为DbName
|
2025-10-04 18:42:12 +08:00 |
|
|
|
5eae862d5f
|
feat.修复新添加设备添加变量OpcServer报错问题,修改初始化菜单的内容
|
2025-10-04 00:42:59 +08:00 |
|
|
|
745cd43513
|
本次提交对系统进行了两项主要的重构和优化:
1. 重构数据处理链:
* 移除了 CheckValueChangedProcessor 和 LoggingProcessor,简化了数据处理流程。
* 调整了 App.xaml.cs 中的处理器注册顺序,使处理链更加清晰。
2. 优化OPC UA变量变更处理:
* 完全重构了 OpcUaServiceManager 中的 OnVariableChanged 事件处理方法。
* 新逻辑能够根据变量属性(IsActive, PollingInterval 等)的变化,进行精确的、针对单个节点的订阅和取消订阅操作,取代了之前重置整个设备订阅的低效方式。
* 实现了对已删除变量的订阅取消逻辑,确保了资源的正确释放。
这些变更显著提升了 OPC UA 订阅管理的效率和精确性。
|
2025-10-02 22:30:24 +08:00 |
|
|
|
c4a840c8b8
|
本次提交对 OPC UA 服务的接口进行了重构,主要变更如下:
1. 简化接口: OpcUaService 的 SubscribeToNode 和 UnsubscribeFromNode 方法的参数类型从 OpcUaNode 对象更改为 string 类型的节点ID。这使得上层服务在调用时无需构造完整的
OpcUaNode 对象,降低了接口的复杂性。
2. 更新实现: OpcUaService 和 OpcUaServiceManager 的内部实现已更新,以兼容新的基于字符串的接口。
3. 优化变量更新: OpcUaServiceManager 中的 OnVariableChanged
事件处理逻辑被修改,现在能够更细粒度地处理单个变量的激活状态和轮询间隔的变化,避免了不必要的整个设备订阅的重新加载。
|
2025-10-02 22:03:31 +08:00 |
|
|
|
acd397ea55
|
特性:为 OpcUaServiceManager 和 S7ServiceManager 添加 VariableChanged 事件订阅
- OpcUaServiceManager 更新:
- 添加了 OnVariableChanged 事件订阅
- 实现了 OnVariableChanged 事件处理方法,根据变量属性变化类型进行相应处理
- 对于 OPC UA Node ID、更新类型或轮询间隔变化,重新设置设备订阅
- 对于激活状态变化,更新设备上下文中的变量列表
- 对于变量删除,从设备上下文中移除对应变量
- S7ServiceManager 更新:
- 添加了 OnVariableChanged 事件订阅
- 实现了 OnVariableChanged 事件处理方法,根据变量属性变化类型进行相应处理
- 对于 S7 地址变化,更新设备上下文中的变量映射
- 对于激活状态变化,更新设备上下文中的变量列表
- 对于变量删除,从设备上下文中移除对应变量
- 改进系统响应性:
- 使 OPC UA 和 S7 服务能够实时响应变量属性变更
- 提高了系统在变量配置更改时的动态适应能力
- 确保服务能够根据变量状态变化及时更新其内部数据结构
|
2025-10-02 19:47:29 +08:00 |
|
|
|
cdfb906112
|
feat(处理器): 增强变量处理链并实现批量更新
- 新增 UpdateDbVariableProcessor 处理器,通过队列和定时器实现数据库的批量更新,以降低负载。
- 重构 ValueConvertProcessor 处理器,使其能够解析 ConversionFormula 公式,计算出最终的 DisplayValue。
- 扩展 IVariableRepository 仓储接口,添加 UpdateBatchAsync 方法,并使用SqlSugar实现高效的批量更新。
- 优化 VariableContext 模型,将 NewValue 类型统一为 string,简化了数据流并提升了类型安全。
|
2025-10-02 17:35:35 +08:00 |
|
|
|
6e9f7c4a44
|
feat: 为多个服务添加日志记录功能并改进批量导入变量处理
- 为OpcUaServiceManager添加日志记录功能,并实现OnBatchImportVariables事件处理器
- 为OpcUaService添加全面的日志记录,包括连接、断开、读写节点等操作
- 为DataEventService添加日志记录功能,跟踪数据加载和变量值变更事件
- 为S7ServiceManager添加OnBatchImportVariables事件处理器,处理批量导入变量事件
- 在VariableTableViewModel中改进变量添加逻辑,确保变量被正确添加到数据存储中
- 在VariableManagementService中完善变量表信息的填充逻辑
|
2025-10-02 11:26:50 +08:00 |
|
|
|
e43c0df1cf
|
完成的变更:
1. 向 VariableTableManagementService 添加了 IEventService 依赖
2. 将内存操作和事件触发逻辑合并到数据库操作方法中:
- CreateVariableTableAsync 现在会在数据库创建后自动添加到内存并触发事件
- UpdateVariableTableAsync 现在会在数据库更新后自动更新内存并触发事件
- DeleteVariableTableAsync 现在会在数据库删除后自动从内存移除并触发事件
3. 从类中删除了独立的内存操作方法
4. 从接口中移除了内存操作方法
5. 更新了所有调用这些服务的代码,使它们不再调用已删除的内存方法
6. 扩展了 IEventService 以支持 VariableTableChanged 事件
|
2025-10-01 19:16:47 +08:00 |
|
|
|
e84a202438
|
主要变更:
1. 创建了 DeviceStateType 枚举来区分状态类型(激活/连接)
2. 创建了 DeviceStateChangedEventArgs 统一事件类
3. 更新了 IEventService 接口,将两个事件合并为一个
4. 更新了 EventService 实现以支持新事件
5. 更新了所有相关服务(DeviceMonitoringService, OpcUaServiceManager, S7ServiceManager, DeviceDataService, DeviceItemViewModel)
关键优点:
- 减少了事件类型的数量,简化了事件系统
- 为设备状态变化提供了一致的处理方式
- 保持了向后兼容性,将旧类标记为 [Obsolete]
|
2025-10-01 18:41:05 +08:00 |
|
|
|
c0223b083a
|
实现的功能:
1. 添加了对 EventService.OnDeviceChanged 事件的订阅
2. 实现了 OnDeviceChanged 事件处理方法,根据变化类型进行相应处理
3. 实现了 HandleDeviceAdded 方法,当设备添加时:
- 检查设备协议是否为 OPC UA
- 将设备添加到监控列表
- 如果设备是激活状态,则自动连接设备
|
2025-10-01 18:28:06 +08:00 |
|
|
|
74fde6bd8b
|
完成S7变量启用和停用更新
|
2025-09-16 14:42:23 +08:00 |
|
|
|
ffa24f861e
|
修改了目录架构
|
2025-09-16 12:29:09 +08:00 |
|
|
|
5ab18f95f0
|
修复S7服务轮询问题
|
2025-09-15 20:54:32 +08:00 |
|
|
|
4773e87886
|
修改批量导入变量返回实体,防止Io为0的问题
|
2025-09-15 13:12:14 +08:00 |
|
|
|
42aaf9c01b
|
初步完成邮件功能
|
2025-09-13 19:08:43 +08:00 |
|
|
|
5a39796f0e
|
添加 double 类型的变量值
|
2025-09-13 08:24:06 +08:00 |
|
|
|
c173ab08d3
|
完成设备的启用和停用并更新界面
|
2025-09-12 17:22:15 +08:00 |
|
|
|
d20b35185f
|
初步完成OpcUa设备的开启连接,关闭断开连接的功能
|
2025-09-12 15:45:14 +08:00 |
|
|
|
5ca4fe7124
|
初步完成历史记录(未完成)
|
2025-09-11 11:04:07 +08:00 |
|
|
|
a43b978097
|
基本完成MQTT消息的发送
|
2025-09-10 18:15:31 +08:00 |
|
|
|
a9ca89b44a
|
初步完成MQTT消息的发送
|
2025-09-09 18:17:15 +08:00 |
|
|
|
7fad87fff5
|
修复变量值不更新的问题
|
2025-09-09 15:57:04 +08:00 |
|
|
|
1dad2a0d2f
|
初步完成AppDataCenterService的重构
|
2025-09-09 15:28:07 +08:00 |
|
|
|
94ef1dec84
|
初步重构WPF项目中的DataService和App项目中的DataCenterServicce
|
2025-09-09 13:35:16 +08:00 |
|
|
|
1f9c0a1111
|
1 实现 MQTT 变量数据发布功能
2
3 - 迁移 IMqttServiceManager 接口到 DMS.Core
4 - 在 DataCenterService 中添加 MQTT 服务器和变量别名的加载逻辑
5 - 实现 MqttPublishProcessor 的核心处理逻辑
6 - 为 DTO 和 ViewModel 的 MqttAliases 属性提供默认空列表初始化
7 - 更新 AutoMapper 映射配置以支持 VariableMqttAliasDto
|
2025-09-07 08:51:18 +08:00 |
|
|
|
be16e1a5d7
|
修改退出时关闭所有服务和连接
|
2025-09-06 19:59:21 +08:00 |
|
|
|
e4cb38cd1d
|
初步完成Mqtt后台服务的改造
|
2025-09-06 15:19:04 +08:00 |
|
|
|
52f76e2377
|
完成Mqtt服务器添加功能
|
2025-09-06 12:03:39 +08:00 |
|
|
|
08f9de137e
|
将pollLevel属性名改为pollingInterval
|
2025-09-05 20:24:27 +08:00 |
|
|
|
6e123b47cc
|
将PollLevelType类型改为int类型
|
2025-09-05 19:59:21 +08:00 |
|
|
|
2fe13021da
|
初步完成S7后台服务的改造
|
2025-09-05 15:59:14 +08:00 |
|
|
|
831f342b2c
|
初步完成变更新
|
2025-09-05 07:03:47 +08:00 |
|
|
|
d23c8bbd90
|
测试完成OpcUa后台服务功能
|
2025-09-04 21:38:56 +08:00 |
|
|
|
4e73488e8f
|
重新设计OpcUaBackgroundService后台服务
|
2025-09-04 21:04:27 +08:00 |
|
|
|
bc8bc58d9b
|
初步完成数据处理链条
|
2025-09-04 13:40:07 +08:00 |
|
|
|
bdae3355aa
|
修改OpcUa后台服务(未完成)
|
2025-09-03 19:58:02 +08:00 |
|
|
|
5e19bad149
|
初步完成数据中心服务类
|
2025-09-02 20:28:29 +08:00 |
|
|
|
6d7636d664
|
修复数据类型属性不统一的问题
|
2025-09-02 16:45:24 +08:00 |
|
|
|
e0e48d3b71
|
完成OpcUaService对数据类型的读取
|
2025-09-02 14:37:43 +08:00 |
|
|
|
254ab63837
|
完成OpcUaService服务
|
2025-09-01 21:03:34 +08:00 |
|
|
|
f80a1669fb
|
完成连接OpcUa服务器
|
2025-08-25 21:26:18 +08:00 |
|
|
|
8290c96b1b
|
临时提交
|
2025-08-25 20:16:57 +08:00 |
|
|
|
f821024756
|
修改了一些内容
|
2025-08-22 20:24:09 +08:00 |
|
|
|
2addd6d3b5
|
修改了从Excel导入
|
2025-08-11 12:48:51 +08:00 |
|
|
|
26bd0aa03b
|
临时提交
|
2025-07-28 11:08:56 +08:00 |
|
|
|
824c3e4df6
|
重构CpuType
|
2025-07-27 21:58:50 +08:00 |
|