TitrationDropperOpen.cs 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. using SHJX.Service.Control.Extends;
  2. using SHJX.Service.Control.Common.Assets;
  3. namespace SHJX.Service.Control.Pipeline.Nodes.LiquidNode
  4. {
  5. public class TitrationDropperOpen : INode
  6. {
  7. #region Fields
  8. private static readonly ILogger logger = LogFactory.BuildLogger(typeof(LiquidPipeSwitch));
  9. private static TaskExtend _taskExtend;
  10. private static IDataManager _dataManager;
  11. #endregion
  12. public TitrationDropperOpen(TaskExtend taskExtend, IDataManager dataManager)
  13. {
  14. Name = nameof(TitrationDropperOpen);
  15. _taskExtend = taskExtend;
  16. _dataManager = dataManager;
  17. }
  18. public override INode Invoke()
  19. {
  20. try
  21. {
  22. EquipmentNames.TitrationDropperForward.RegisterOpen();
  23. Thread.Sleep(300);
  24. EquipmentNames.TitrationDropperInversion.RegisterOpen();
  25. Thread.Sleep(2000);
  26. //Thread thread = new Thread(thThread);
  27. //thread.IsBackground = true;
  28. //thread.Start();
  29. bool res2 = true;
  30. do
  31. {
  32. Thread.Sleep(300);
  33. char[] readData = EquipmentNames.TitrationDropper.MotorRead();
  34. if (readData is null or not { Length: 8 })
  35. {
  36. continue;
  37. }
  38. res2 = readData[6 - 1].Equals('0');
  39. } while (!res2);
  40. EquipmentNames.TitrationDropperInversion.RegisterClose();
  41. Thread.Sleep(300);
  42. EquipmentNames.TitrationDropperForward.RegisterClose();
  43. logger.LogInformation($"滴定1****滴嘴打开");
  44. return this;
  45. }
  46. catch
  47. {
  48. return this;
  49. }
  50. }
  51. }
  52. }