Browse Source

修改gaspanel CEXH和DPR使用iotrigger

huangping 3 weeks ago
parent
commit
1f9c2d3b94

+ 5 - 5
Furnace/FurnaceGasPanelUI/Views/Maintenances/ELK/GasPanelViewModel.cs

@@ -346,13 +346,13 @@ namespace FurnaceGasPanelUI.Views.Maintenances.ELK
 
 
 
-        [Subscription("PM1.ValveAV91.DeviceData")]
-        public AITValveData ValveDPR { get; set; }
+        [Subscription("PM1.IsDPROn")]
+        public bool IsDPROn { get; set; }
         public string ValveDPRBrush
         {
             get
             {
-                if (ValveDPR != null && ValveDPR.Feedback)
+                if (IsDPROn)
                 {
                     return "Green";
                 }
@@ -1523,7 +1523,7 @@ namespace FurnaceGasPanelUI.Views.Maintenances.ELK
                     dialog.IsOpen = ValveBWR.Feedback;
                     break;
                 case "DPR":
-                    dialog.IsOpen = ValveDPR.Feedback;
+                    dialog.IsOpen = IsDPROn;//ValveDPR.Feedback;
                     break;
                 case "CEXH":
                     dialog.IsOpen = IsCEXHOn;
@@ -1554,7 +1554,7 @@ namespace FurnaceGasPanelUI.Views.Maintenances.ELK
                         InvokeClient.Instance.Service.DoOperation($"{ValveBWR.UniqueName}.{AITValveOperation.GVTurnValve}", dialog.IsOpen);
                         break;
                     case "DPR":
-                        InvokeClient.Instance.Service.DoOperation($"{ValveDPR.UniqueName}.{AITValveOperation.GVTurnValve}", dialog.IsOpen);
+                        InvokeClient.Instance.Service.DoOperation($"PM1.SetDPREnable", dialog.IsOpen);
                         break;
                     case "CEXH":
                         InvokeClient.Instance.Service.DoOperation($"PM1.SetCEXHEnable", dialog.IsOpen);

+ 1 - 0
Furnace/FurnaceRT/Config/System.sccfg

@@ -4594,6 +4594,7 @@
 		<config default="false" name="IsF2ClnOn" description="IsF2ClnOn" max="" min="" paramter="" tag="" unit="" type="Bool" visible="false"/>
 		<config default="false" name="IsHFClnOn" description="IsHFClnOn" max="" min="" paramter="" tag="" unit="" type="Bool" visible="false"/>
 		<config default="false" name="IsDEPOOn" description="IsDEPOOn" max="" min="" paramter="" tag="" unit="" type="Bool" visible="false"/>
+		<config default="false" name="IsDPROn" description="IsDPROn" max="" min="" paramter="" tag="" unit="" type="Bool" visible="false"/>
 
 		<config default="false" name="IsCEXHEnable" description="IsCEXHEnable " max="" min="" paramter="" tag="" unit="" type="Bool" visible="false"/>
 		<config default="false" name="IsF2Enable" description="IsF2Enable " max="" min="" paramter="" tag="" unit="" type="Bool" visible="false"/>

+ 2 - 1
Furnace/FurnaceRT/Equipments/PMs/PMAux.cs

@@ -158,6 +158,7 @@ namespace FurnaceRT.Equipments.PMs
             set
             {
                 _isCEXHOn = value;
+                SC.SetItemValue($"PM1.IsCEXHEnable", value);
                 TrigCEXHON?.SetTrigger(value, out _);
             }
         }
@@ -171,7 +172,7 @@ namespace FurnaceRT.Equipments.PMs
             set
             {
                 _isDPROn = value;
-                SC.SetItemValue($"PM1.DPROn", value);
+                SC.SetItemValue($"PM1.IsDPROn", value);
                 TrigDPRON?.SetTrigger(value, out _);
             }
         }

+ 1 - 0
Furnace/FurnaceRT/Equipments/PMs/PMModule.cs

@@ -373,6 +373,7 @@ namespace FurnaceRT.Equipments.PMs
             DATA.Subscribe($"{Module}.HTR1Enable", () => IsHTR1Enable);
             DATA.Subscribe($"{Module}.HTR2Enable", () => IsHTR2Enable);
             DATA.Subscribe($"{Module}.HTR3Enable", () => IsHTR3Enable);
+            DATA.Subscribe($"{Module}.IsDPROn", () => _isDPROn);
             DATA.Subscribe($"{Module}.IsCEXHOn", () => _isCEXHOn);
             DATA.Subscribe($"{Module}.IsF2ClnOn", () =>
             {

+ 5 - 7
Furnace/FurnaceRT/Equipments/PMs/PMModuleRecipeExecutor.cs

@@ -202,13 +202,11 @@ namespace FurnaceRT.Equipments.PMs
                             SetDEPOEnable(new object[1] { set });
                             break;
                         case "DPR":
-                            valveName = "DPR";
-                            if (_valves.Any(x => x.Name == valveName))
-                            {
-                                var valve = _valves.Find(x => x.Name == valveName);
-                                if (valve != null)
-                                    valve.TurnValve(set, out _);
-                            }
+                            IsDPROn=set;    
+                            break;
+                        case "CEXH":
+                            IsCEXHOn=set;
+                            SetCEXHEnable(new object[1] { set });
                             break;
                         case "AGV":
                             valveName = "AGVPump";

+ 20 - 10
Furnace/FurnaceUI/Views/Editors/ELK/RecipeGasPanelSettingViewModel.cs

@@ -128,13 +128,13 @@ namespace FurnaceUI.Views.Editors.ELK
                 return "#FFB0D1F1";
             }
         }
-        [Subscription("PM1.ValveAV93.DeviceData")]
-        public AITValveData ValveDPR { get; set; }
+        
+        public bool IsDPRON { get; set; }
         public string ValveDPRBrush
         {
             get
             {
-                if (ValveDPR != null && ValveDPR.VirtualFeedback)
+                if (IsDPRON)
                 {
                     return "Green";
                 }
@@ -1231,7 +1231,7 @@ namespace FurnaceUI.Views.Editors.ELK
                         if (ValveBWR != null) InvokeClient.Instance.Service.DoOperation($"{ValveBWR.UniqueName}.{AITValveOperation.GVVirtualTurnValve}", item.Value);
                         break;
                     case "ValveAV93":
-                        if (ValveDPR != null) InvokeClient.Instance.Service.DoOperation($"{ValveDPR.UniqueName}.{AITValveOperation.GVVirtualTurnValve}", item.Value);
+                        //if (ValveDPR != null) InvokeClient.Instance.Service.DoOperation($"{ValveDPR.UniqueName}.{AITValveOperation.GVVirtualTurnValve}", item.Value);
                         break;
                     case "HMNT":
                         if (HMNT != null) InvokeClient.Instance.Service.DoOperation($"{HMNT.UniqueName}.{AITValveOperation.GVVirtualTurnValve}", item.Value);
@@ -1251,6 +1251,9 @@ namespace FurnaceUI.Views.Editors.ELK
                     case "CZERO":
                         if (CZERO != null) InvokeClient.Instance.Service.DoOperation($"{CZERO.UniqueName}.{AITValveOperation.GVVirtualTurnValve}", item.Value);
                         break;
+                    case "DPR":
+                        IsDPRON = item.Value;
+                        break;
                     case "CEXH":
                         IsCEXHOn = item.Value;
                         break;
@@ -1425,7 +1428,10 @@ namespace FurnaceUI.Views.Editors.ELK
                         item.Value = ValveBWR.VirtualFeedback;
                         break;
                     case "ValveAV93":
-                        item.Value = ValveDPR.VirtualFeedback;
+                        //item.Value = ValveDPR.VirtualFeedback;
+                        break;
+                    case "DPR":
+                        item.Value = IsDPRON;
                         break;
                     case "CEXH":
                         item.Value = IsCEXHOn;
@@ -1482,11 +1488,15 @@ namespace FurnaceUI.Views.Editors.ELK
                     setCmd = "BWR";
                     break;
                 case "DPR":
-                    var valveDpr = !ValveDPR.VirtualFeedback;
-                    setValue = valveDpr;
-                    SelectedStep.ValveSets.FirstOrDefault(x => x.Name == "ValveAV93").SetValue(valveDpr);
-                    InvokeClient.Instance.Service.DoOperation($"{ValveDPR.UniqueName}.{AITValveOperation.GVVirtualTurnValve}", valveDpr);
-                    setCmd = "ValveAV93";
+                    IsDPRON = !IsDPRON;
+                    setValue = IsDPRON;
+                    SelectedStep.ValveSets.FirstOrDefault(x => x.Name == "DPR").SetValue(IsDPRON);
+                    setCmd = "DPR";
+                    //var valveDpr = !ValveDPR.VirtualFeedback;
+                    //setValue = valveDpr;
+                    //SelectedStep.ValveSets.FirstOrDefault(x => x.Name == "ValveAV93").SetValue(valveDpr);
+                    //InvokeClient.Instance.Service.DoOperation($"{ValveDPR.UniqueName}.{AITValveOperation.GVVirtualTurnValve}", valveDpr);
+                    //setCmd = "ValveAV93";
                     break;
                 case "DP1":
                     var valveDP1 = !BothPump1.VirtualFeedback;