Commit Graph

7 Commits

Author SHA1 Message Date
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