Commit Graph

28 Commits

Author SHA1 Message Date
auvkk c8848e60c9 导入Commit 42b498f IO相关对象的优化。 2024-01-05 13:44:53 +08:00
SL 558af89d22 修正InterlockManager中的INTLK动作列表正在加载时,其它线程已经开始遍历该列表,导致异常的问题。
优化InterlockManager中的变量名称。
2023-12-27 16:13:36 +08:00
hanqiangqiang 7aa17480e5 [Common]
InterlockManager中Monitor扫描忽略翻转时,键值对集合中不包含对象时,continue当前循环
2023-12-15 08:53:48 +08:00
auvkk 094abb37c9 [Common]
IoManager启动Monitor线程的时机从构造函数移至Initialize()方法。
BoolDataPollProvider中增加断言,方便调试时发现数据注册问题。

[UI.Client]
优化RecipeData的GetXmlString()方法,修正当ComboBox类型参数的Option不存在于格式模板文件中是,输出错误信息,而不是直接抛异常导致难以定位错误的问题。
2023-10-25 16:40:36 +08:00
SIC1016\caipeilun 8f66a4d067 Limit类新增ignoreReverse属性,=true忽略单项limit反转Action 2023-09-01 17:47:09 +08:00
DESKTOP-OKMOOJ9\MK 86af260ad6 [Common]
InterlockManagerBase的Initialize()方法新增对配置文件的Action节点ignoreReverse属性的支持,允许将Action配置为忽略Limit命中后翻转电平动作。
2023-08-30 23:06:49 +08:00
SL eb4925f5ec [Common]
修正InterlockManagerBase的Initialize方法中,如果Action重复,Debug.Assert判断逻辑错误导致没有提示的问题。
优化InterlockActionBase的IsSame方法,忽略DO名称大小写。
2023-08-21 11:51:09 +08:00
SL fe947f0e5a [Common]
InterlockManagerBase对象的Initialize方法中增加Action是否已经存在的判断,同一个Action仅允许定义一次。
2023-08-21 11:33:12 +08:00
SL 2b2b2e2051 [Common]
优化IInterlockAction和InterlockActionBase代码,整理注释。
2023-08-21 11:32:01 +08:00
SL f59093980c [Common]
InterlockDaemonAction对象Monitor方法中输出信息的等级修改为Info。
InterlockDaemonAction对象Monitor方法中如果SetDo失败,输出错误信息到日志,而不是PostWarningLog。
2023-08-18 10:06:41 +08:00
SL 07d4c4b792 [Common]
修正InterlockDaemonManager的Monitor方法输出Limit命中信息时错误使用Limit.Description属性的问题。
2023-08-17 17:39:50 +08:00
SL 8e55cb9782 [Common]
修正AiLimit返回CurrentValue产生转换异常的问题。
修正InterlockDaemonAction的Monitor方法输出的信息缩进错误的问题。
2023-08-17 16:38:08 +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 65cc498516 [Common]
整理InterlockDaemonManager代码结构。
2023-08-15 17:36:37 +08:00
SL 4ba62bfbbf [UI.Core]
移除EngMode相关的Converters。

[UI.Client]
ModuleStatusIndicator对象增加Warning图标和Warning图标Tips。

[RT.Equipment]
PMModuleBase对象新增IsInterlockBypassed属性,用于指示PM模组是否旁路互锁。
2023-08-15 15:36:38 +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 2ec983b465 [Common]
修正InterlockLimit对象的输出信息格式。
修正IoValve中触发Interlock后重复输出信息的问题。
2023-04-24 14:14:08 +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 ffa3b8ceb3 [Common]
Aitex\Core\RT\IoCore下新增Interfaces文件夹,存放IoCore中定义的接口文件。
2023-04-23 16:46:17 +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