using SHJX.Service.Control.Extends; using SHJX.Service.Control.Common.Assets; namespace SHJX.Service.Control.Pipeline.Nodes.LiquidNode { public class TitrationDropperOpen : INode { #region Fields private static readonly ILogger logger = LogFactory.BuildLogger(typeof(LiquidPipeSwitch)); private static TaskExtend _taskExtend; private static IDataManager _dataManager; #endregion public TitrationDropperOpen(TaskExtend taskExtend, IDataManager dataManager) { Name = nameof(TitrationDropperOpen); _taskExtend = taskExtend; _dataManager = dataManager; } public override INode Invoke() { try { EquipmentNames.TitrationDropperForward.RegisterOpen(); Thread.Sleep(300); EquipmentNames.TitrationDropperInversion.RegisterOpen(); Thread.Sleep(2000); //Thread thread = new Thread(thThread); //thread.IsBackground = true; //thread.Start(); bool res2 = true; do { Thread.Sleep(300); char[] readData = EquipmentNames.TitrationDropper.MotorRead(); if (readData is null or not { Length: 8 }) { continue; } res2 = readData[6 - 1].Equals('0'); } while (!res2); EquipmentNames.TitrationDropperInversion.RegisterClose(); Thread.Sleep(300); EquipmentNames.TitrationDropperForward.RegisterClose(); logger.LogInformation($"滴定1****滴嘴打开"); return this; } catch { return this; } } } }