Commit Graph

13 Commits

Author SHA1 Message Date
SL f59093980c [Common]
InterlockDaemonAction对象Monitor方法中输出信息的等级修改为Info。
InterlockDaemonAction对象Monitor方法中如果SetDo失败,输出错误信息到日志,而不是PostWarningLog。
2023-08-18 10:06:41 +08:00
SL 9690d35a11 [Common]
修正BoolDataPollLimit和DoubleDataPollLimit中CurrentValue的处理逻辑,当Data.Poll返回null时,CurrentValue强制返回无法使当前Limit命中的值,以避免Limit意外触发。
IInterlockLimit接口增加Description属性。
IInterlockLimitDataProvider接口中增加Description属性。
从InterlockManagerBase中移除_dicLimit字段。
IoValueProviderBase中的Name属性返回IO名称,包含地址的IO全名通过Description属性返回。
2023-08-17 15:44:38 +08:00
SL 74c2f66484 [Common]
将字段_dicLimitToActionMap、_dicLimitPerModule从InterlockManager对象移至InterlockManagerBase对象。
优化InterlockManager对象的Initialize方法,精简代码。
优化Interlock相关对象的目录结构和命名空间。
2023-08-17 09:43:24 +08:00
SL 75a3a81bc7 [Common]
InterlockManagerBase新增_dicLimits字段,确保相同条件的Limit仅创建一个实例。
修正InterlockManager对象创建_dicLimitToActionMap字典错误的问题。
2023-08-17 01:24:28 +08:00
SL babf55f5d8 [Common]
修正InterlockManagerBase的Initialize方法判断配置文件的Root节点名称时,不同派生类使用不同名称导致加载失败的问题。
修改InterlockManager对象的基类为InterlockManagerBase,并删减重复的代码。
2023-08-17 01:10:47 +08:00
SL 243d9a89fb [Common]
新增IInterlockAction接口。
新增InterlockManagerBase对象,整合InterlockManager和InterlockDaemonManager公共代码。
2023-08-16 15:21:02 +08:00
SL a018001cac [Common]
优化InterlockDaemonManager对象,增加Limit OR逻辑定义的支持。
新增InterlockActionBase对象,简化代码。
2023-08-16 15:06:29 +08:00
SL 168fc69d6f [Common]
InterlockManager初始化时检查传入的配置文件是否不存在。
修正InterlockDaemonManager中Daemon节点拼写错误的问题。
2023-08-15 18:10:11 +08:00
SL 7ae695656b 优化Interlock系统,增加Interlock Daemon相关对象,用于在后台监测数据,并自动设置DO输出。 2023-08-10 16:44:46 +08:00
SL 742726ae32 移除全局BypassInterlock系统参数,现在可针对每个Module单独配置。
InterlockManager中增加SetEventLevel()方法,当PM进入Service模式时,允许将Interlock事件打印信息的等级降为Info。
移除BypassEnableTable系统参数。
2023-08-09 17:57:50 +08:00
DESKTOP-1N1NK8A\auvkk e31e0426cc [Common]
修正InterlockManager的Monitor()方法中遍历互锁条件字典时可能引发“集合已修改”异常的问题。fix #1
2023-05-13 10:13:55 +08:00
DESKTOP-1N1NK8A\auvkk be713cd7af [Common]
优化InterlockAction的CanDo函数的互锁信息生成方法。
修正InterlockLimitRangeDouble构造函数错误抛出InvalidCastException异常的问题。
修正InterlockLimitRangeInt和InterlockLimitRangeShort未实现字串解析构造函数的问题。
修正InterlockManager的CreateInterlockLimit函数中未将新生成的InterlockLimit对象添加到_dicLimitToActionMap字典中的问题。
移除IOType对象中的ToIoType()扩展方法,因为IO的前缀为ModuleName,而不是DI_、DO_等。
2023-04-24 11:54:06 +08:00
DESKTOP-1N1NK8A\auvkk 1248151339 [Common]
重写InterlockManager,使代码更易于维护和易读。
新增AiLimit和AoLimit对象。
新增IIOAccessor接口,并IOAccessor对象继承自此接口。
新增接口
新增IAnalogInterlockLimitRange接口,及其实现对象InterlockLimitRangeDouble、InterlockLimitRangeInt、InterlockLimitRangeShort,用于存储和判断模拟IO的互锁条件。
新增InvalidIoNameException、InvalidIoTypeException、IoNotFoundException对象。
新增扩展方法ToIoType(),用于从IO名称中解析IO的类型。
优化InterlockLimit对象,泛型定义中增加IOAccessor类型定义,将其对应的IO对象放在基类中,以简化DiLimit、DoLimit、AiLimit、AoLimit对象。
2023-04-23 16:43:08 +08:00