瀏覽代碼

hv update

sangwq 2 年之前
父節點
當前提交
155e2ecfe1
共有 2 個文件被更改,包括 9 次插入2 次删除
  1. 8 2
      Venus/Venus_RT/Devices/ESC5HighVoltage.cs
  2. 1 0
      Venus/Venus_RT/Devices/JetPM.cs

+ 8 - 2
Venus/Venus_RT/Devices/ESC5HighVoltage.cs

@@ -26,6 +26,8 @@ namespace Venus_RT.Devices
         public int CenterTapVoltage { get; private set; }
         public int PositiveOutputCurrent { get; private set; }
         public int NegativeOutputCurrent { get; private set; }
+
+        public bool IsOn { get; private set; }
         public enum Operation
         {
             Attention,
@@ -85,9 +87,10 @@ namespace Venus_RT.Devices
         };
 
         private readonly int _readInterval = 1000;
-        private readonly int _readTimeout = 2000;
+        private readonly int _readTimeout = 5000;
         private readonly AsyncSerialPort _serial;
         private Stopwatch _queryWatch = new Stopwatch();
+        private int _opFlag = 0;
 
         private Operation _lastReadCommand = Operation.Invalid;
         private string _lastAlarmString = string.Empty;
@@ -124,7 +127,7 @@ namespace Venus_RT.Devices
         {
             if ((_queryWatch.ElapsedMilliseconds > _readInterval && _lastReadCommand == Operation.Invalid) || _queryWatch.ElapsedMilliseconds > _readTimeout)
             {
-                SendCommand(Operation.ReadOutputVoltage);
+                SendCommand(_opFlag++ % 2 == 0 ? Operation.ReadOutputVoltage : Operation.ReadStatus);
                 _queryWatch.Restart();
             }
         }
@@ -176,6 +179,9 @@ namespace Venus_RT.Devices
                         case Operation.ReadPositiveOutputCurrent:
                             PositiveOutputCurrent = nData;
                             break;
+                        case Operation.ReadStatus:
+                            IsOn = (nData & 0x04) != 0;
+                            break;
                     }
                 }
                 else

+ 1 - 0
Venus/Venus_RT/Devices/JetPM.cs

@@ -185,6 +185,7 @@ namespace Venus_RT.Devices
         public double ESCHePressure => _pressureController.ESCHeGauge.Value;
 
         public int ESCOutputVoltage => _ESCHV.OutputVoltage;
+        public bool IsHVOn => _ESCHV.IsOn;
 
         public float CoolantInletTempFB => _Chiller.CoolantInletTcFeedback;
         public float CoolantOutletTempFB => _Chiller.CoolantOutletTcFeedback;