瀏覽代碼

revise reservoir low level bug

chenzk 6 天之前
父節點
當前提交
ad0f7a04a5
共有 1 個文件被更改,包括 6 次插入5 次删除
  1. 6 5
      CyberX8_RT/Devices/Reservoir/StandardHotReservoirDevice.cs

+ 6 - 5
CyberX8_RT/Devices/Reservoir/StandardHotReservoirDevice.cs

@@ -432,7 +432,7 @@ namespace CyberX8_RT.Devices.Reservoir
         /// </summary>
         private void LowLevelOperation()
         {
-            if (!_reservoirData.LowLevel)   //true是正常的
+            if (ReservoirData.WaterLevel < SC.GetValue<double>($"Reservoir.{Module}.LowLevel"))  
             {
                 ReservoirItem reservoirItem = ReservoirItemManager.Instance.GetReservoirItem(Module);
                 foreach (var metalDevice in _metalDevices)
@@ -505,7 +505,7 @@ namespace CyberX8_RT.Devices.Reservoir
                     TemperatureController temperatureController = DEVICE.GetDevice<TemperatureController>(reservoirItem.TCID);
                     if (temperatureController != null && temperatureController.TemperatureData.ControlOperationModel == 5)
                     {
-                        LOG.WriteLog(eEvent.ERR_RESERVOIR, Module, $"TC run status abnormal, DisableTC !");
+                        LOG.WriteLog(eEvent.ERR_RESERVOIR, Module, $"TC run status abnormal, Disable TC !");
                         temperatureController.DisableOperation("", null);
                     }
                 }
@@ -1089,7 +1089,8 @@ namespace CyberX8_RT.Devices.Reservoir
         /// <returns></returns>
         private bool AutoOperation(string cmd, object[] args)
         {
-            if (!_reservoirData.LowLevel)
+            double lowLevel = SC.GetValue<double>($"Reservoir.{Module}.LowLevel");
+            if (ReservoirData.WaterLevel < lowLevel)
             {
                 LOG.WriteLog(eEvent.ERR_RESERVOIR, Module, $"Lowlevel was activated, can't switch to Auto mode");
                 return false;
@@ -1214,7 +1215,7 @@ namespace CyberX8_RT.Devices.Reservoir
                 }
                 return false;
             }
-            if(!_reservoirData.LowLevel) //信号是相反的
+            if(ReservoirData.WaterLevel < SC.GetValue<double>($"Reservoir.{Module}.LowLevel")) 
             {
                 if (entity != null && !entity.IsError)
                 {
@@ -1387,7 +1388,7 @@ namespace CyberX8_RT.Devices.Reservoir
         /// <returns></returns>
         public bool AutoDireplen()
         {
-            if (!_reservoirData.LowLevel && !_isAutoDIReplenError)
+            if (ReservoirData.WaterLevel < SC.GetValue<double>($"Reservoir.{Module}.LowLevel") && !_isAutoDIReplenError)
             {
                 _isAutoDIReplenError = true;
                 LOG.WriteLog(eEvent.ERR_RESERVOIR, Module, $"LowLevel is activate,Can't AutoDireplen");