Browse Source

update recipe btn

jiangjy 3 weeks ago
parent
commit
b49f4700fa

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

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

+ 2 - 0
Furnace/FurnaceRT/Config/FurnaceGemModel.xml

@@ -786,6 +786,7 @@
     <SVID id="332190046" valueType="Ascii" logicalName="PM1.SubRecipeLoopCount" value="" eventTrigger="" units="" description="" isArray="false" />
     <SVID id="332190047" valueType="Boolean" logicalName="PM1.RunningMode" value="" eventTrigger="" units="" description="" isArray="false" />
     <SVID id="332190048" valueType="Boolean" logicalName="PM1.EnableMinics" value="" eventTrigger="" units="" description="" isArray="false" />
+    <SVID id="332190049" valueType="Boolean" logicalName="PM1.IsDPROn" value="" eventTrigger="" units="" description="" isArray="false" />
     <SVID id="332200001" valueType="Boolean" logicalName="PM1.CMNT.Feedback" value="" eventTrigger="" units="" description="" isArray="false" />
     <SVID id="332200002" valueType="Boolean" logicalName="PM1.CMNT.SetPoint" value="" eventTrigger="" units="" description="" isArray="false" />
     <SVID id="332210001" valueType="F8" logicalName="PM1.ConcentrationO2.Value" value="" eventTrigger="" units="" description="" isArray="false" />
@@ -2694,6 +2695,7 @@
     <ECID id="330010034" valueType="Ascii" logicalName="PM1.TempProfile" value="" min="" max="" eventTrigger="" units="" description="Temp Profile" isArray="false" />
     <ECID id="330010035" valueType="Ascii" logicalName="PM1.RecipeRelevancyN2Purge" value="" min="" max="" eventTrigger="" units="" description="Is Open Recipe Relevancy N2Purge" isArray="false" />
     <ECID id="330010036" valueType="Ascii" logicalName="PM1.SelectN2PurgeMode" value="" min="" max="" eventTrigger="" units="" description="" isArray="false" />
+    <ECID id="330010037" valueType="Ascii" logicalName="PM1.IsDPROn" value="" min="" max="" eventTrigger="" units="" description="IsDPROn" isArray="false" />
     <ECID id="330020001" valueType="Ascii" logicalName="PM1.APC.AlarmRange" value="" min="" max="" eventTrigger="" units="" description="Alarm Range" isArray="false" />
     <ECID id="330020002" valueType="Ascii" logicalName="PM1.APC.AlarmTime" value="" min="" max="" eventTrigger="" units="" description="Alarm Time" isArray="false" />
     <ECID id="330020003" valueType="Ascii" logicalName="PM1.APC.AngleAlarmCondtionUnit" value="" min="" max="" eventTrigger="" units="" description="Angle Alarm Condtion Unit" isArray="false" />

BIN
Furnace/FurnaceRT/Config/VIDs/Equipment_VIDs_20250612.xlsx


File diff suppressed because it is too large
+ 1 - 1
Furnace/FurnaceRT/Config/VIDs/_ECID.xml


File diff suppressed because it is too large
+ 1 - 1
Furnace/FurnaceRT/Config/VIDs/_SVID.xml


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

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

+ 3 - 3
Furnace/FurnaceRT/Equipments/PMs/PMModule.cs

@@ -374,7 +374,7 @@ namespace FurnaceRT.Equipments.PMs
             DATA.Subscribe($"{Module}.HTR2Enable", () => IsHTR2Enable);
             DATA.Subscribe($"{Module}.HTR3Enable", () => IsHTR3Enable);
             DATA.Subscribe($"{Module}.IsDPROn", () => _isDPROn);
-            DATA.Subscribe($"{Module}.IsCEXHOn", () => _isCEXHOn);
+            DATA.Subscribe($"{Module}.IsCEXHOn", () => TrigCEXHON?.Value);
             DATA.Subscribe($"{Module}.IsF2ClnOn", () =>
             {
                 return IsF2ClnOn;
@@ -602,7 +602,7 @@ namespace FurnaceRT.Equipments.PMs
                 SetBoatManualMotion(param);
                 return true;
             });
-         
+
             OP.Subscribe($"{Name}.SetF2ClnEnable", (out string reason, int time, object[] param) =>
             {
                 reason = string.Empty;
@@ -943,7 +943,7 @@ namespace FurnaceRT.Equipments.PMs
         {
             _recipeRunningInfo.RecipeName = (string)param[0];
 
-     
+
             if (!RecipeParser.Parse(_recipeRunningInfo.RecipeName, ModuleName.PM1.ToString(), out var recipeHead, out var recipeSteps, out string reason, "Process"))
             {
                 PreprocessStartFailedWarning.Set($"Load process recipe {_recipeRunningInfo.RecipeName} failed, {reason}");

+ 4 - 3
Furnace/FurnaceRT/Equipments/PMs/PMModuleDevice.cs

@@ -1320,7 +1320,7 @@ namespace FurnaceRT.Equipments.PMs
         [Tag("CZERO")]
         public IoValve CZERO { get; set; }
 
-  
+
 
         // -------------------------------------------------------------------------
         [Tag("PressureGLBoxPG1")]
@@ -1761,7 +1761,7 @@ namespace FurnaceRT.Equipments.PMs
                     else if (device is HeaterBase)
                         _HTR2Group.Add(device as HeaterBase);
                     else if (device is IoFFU)
-                        _fFUs.Add(device as IoFFU);             
+                        _fFUs.Add(device as IoFFU);
                 }
                 else
                 {
@@ -2659,8 +2659,9 @@ namespace FurnaceRT.Equipments.PMs
             if (param != null && param.Length > 0)
             {
                 bool.TryParse(param[0].ToString(), out bool isEnable);
+                TrigCEXHON?.SetTrigger(isEnable, out _);
                 _fFUs.ForEach(a => a.SetSwitch(isEnable));
-               
+
             }
             return true;
         }

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

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

+ 11 - 11
Furnace/FurnaceUI/Views/Editors/ELK/RecipeGasPanelSettingViewModel.cs

@@ -128,13 +128,13 @@ namespace FurnaceUI.Views.Editors.ELK
                 return "#FFB0D1F1";
             }
         }
-        
-        public bool IsDPRON { get; set; }
+        [Subscription("PM1.ValveAV93.DeviceData")]
+        public AITValveData ValveDPR { get; set; }
         public string ValveDPRBrush
         {
             get
             {
-                if (IsDPRON)
+                if (ValveDPR != null && ValveDPR.VirtualFeedback)
                 {
                     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);
@@ -1252,7 +1252,7 @@ namespace FurnaceUI.Views.Editors.ELK
                         if (CZERO != null) InvokeClient.Instance.Service.DoOperation($"{CZERO.UniqueName}.{AITValveOperation.GVVirtualTurnValve}", item.Value);
                         break;
                     case "DPR":
-                        IsDPRON = item.Value;
+                        if (ValveDPR != null) InvokeClient.Instance.Service.DoOperation($"{ValveDPR.UniqueName}.{AITValveOperation.GVVirtualTurnValve}", item.Value);
                         break;
                     case "CEXH":
                         IsCEXHOn = item.Value;
@@ -1428,10 +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;
+                        item.Value = ValveDPR.VirtualFeedback;
                         break;
                     case "CEXH":
                         item.Value = IsCEXHOn;
@@ -1488,10 +1488,10 @@ namespace FurnaceUI.Views.Editors.ELK
                     setCmd = "BWR";
                     break;
                 case "DPR":
-                    IsDPRON = !IsDPRON;
-                    setValue = IsDPRON;
-                    SelectedStep.ValveSets.FirstOrDefault(x => x.Name == "DPR").SetValue(IsDPRON);
-                    setCmd = "DPR";
+                     var valveDpr = !ValveDPR.VirtualFeedback;
+                    setValue = valveDpr;
+                    InvokeClient.Instance.Service.DoOperation($"{ValveDPR.UniqueName}.{AITValveOperation.GVVirtualTurnValve}", valveDpr);
+                    setCmd = "ValveAV93";
                     //var valveDpr = !ValveDPR.VirtualFeedback;
                     //setValue = valveDpr;
                     //SelectedStep.ValveSets.FirstOrDefault(x => x.Name == "ValveAV93").SetValue(valveDpr);