using System.Diagnostics; using System.Linq; using Aitex.Core.RT.IOCore.Interlock.Base; using MECF.Framework.Common.Equipment; namespace Aitex.Core.RT.IOCore; public class InterlockDaemonManager : InterlockManagerBase { public InterlockDaemonManager() { RootNodeName = "Daemon"; } /// /// /// public override void Monitor() { // 按Module扫描Interlock Limit foreach (var moduleName in _dicActionsPerModule.Keys.ToList()) { Debug.Assert(moduleName != ModuleName.UnDefined, $"Interlock Manager CanSetDo() undesired module name {ModuleName.UnDefined}"); foreach (var action in _dicActionsPerModule[moduleName].ToList()) action.Monitor(); } } }