lixiang 2 år sedan
förälder
incheckning
9b5a656532

+ 10 - 2
Venus/Framework/Common/Log/LOG.cs

@@ -64,9 +64,13 @@ namespace Aitex.Core.RT.Log
            var logItem= LogDefineManager.LogItems?.Where(x => x.Id == id).FirstOrDefault();
             if (logItem != null)
             {
+                var item1 = logItem.Id;
+                var item2 = string.Format(logItem.GlobalDescription_zh, values);
+                var item3 = module.ToString();
+
                 StringBuilder text = new StringBuilder();
-                text.Append(((int)logItem.Id).ToString().PadLeft(6));
-                text.Append(module.ToString().PadLeft(8));
+                text.Append(((int)item1).ToString().PadLeft(6));
+                text.Append(item3.PadLeft(8));
                 text.Append("    ");
                 text.Append(string.Format(logItem.GlobalDescription_zh, values));              
                 string message = text.ToString();
@@ -80,12 +84,16 @@ namespace Aitex.Core.RT.Log
                         Debug(message);
                         break;
                     case Level.Info:
+                         EV.PostInfoLog(module.ToString(), string.Format(((int)item1).ToString().PadRight(6)+ logItem.GlobalDescription_zh, values));
+
                         Info(message);
                         break;
                     case Level.Warning:
+                        EV.PostWarningLog(module.ToString(), string.Format(logItem.GlobalDescription_zh, values));
                         Warning(message);
                         break;
                     case Level.Error:
+                        EV.PostAlarmLog(module.ToString(), string.Format(logItem.GlobalDescription_zh, values));
                         Error(message);
                         break;
                     default:

+ 1 - 1
Venus/Framework/Common/OperationCenter/OperationManager.cs

@@ -207,7 +207,7 @@ namespace Aitex.Core.RT.OperationCenter
             }
 
             if (operation != "PMB.SetPMBChillerState")
-                EV.PostInfoLog("OP", $"Invoke operation {operation}{parameter}");
+                //EV.PostInfoLog("OP", $"Invoke operation {operation}{parameter}");
 
             if (_operationMap.ContainsKey(operation))
             {

+ 5 - 6
Venus/Venus_MainPages/Converters/EventItemToStringConverter.cs

@@ -17,14 +17,13 @@ namespace Venus_MainPages.Converters
             StringBuilder stringBuilder = new StringBuilder();
 
             if (item == null) return null;
-            var item1 = item.Id.ToString().PadRight(6);
-            var item2 = item.Level.ToString().PadRight(15);
-            var item3 = item.OccuringTime.ToString();
+            //var item1 = item.Id.ToString().PadRight(6);
+            //var item2 = item.Level.ToString().PadRight(15);
+            var item3 = item.OccuringTime.ToString().PadRight(20);
             var item4 = item.Description;
-            stringBuilder.Append(item1);
-            stringBuilder.Append(item2);
+            //stringBuilder.Append(item1);
+            //stringBuilder.Append(item2);
             stringBuilder.Append(item3);
-            stringBuilder.Append("  ");
             stringBuilder.Append(item4);
 
             return stringBuilder.ToString();   

+ 81 - 57
Venus/Venus_MainPages/ViewModels/OverViewModel.cs

@@ -12,6 +12,8 @@ using Venus_MainPages.Views;
 using System.Linq;
 using System.Threading;
 using System.Threading.Tasks;
+using Microsoft.Win32;
+using System.IO;
 
 namespace Venus_MainPages.ViewModels
 {
@@ -96,6 +98,11 @@ namespace Venus_MainPages.ViewModels
 
         private int m_ESCVoltage;
 
+        private bool m_GasIsFlowing;
+
+        private bool m_IsAutoMode;
+        private string m_SelectedRecipe;
+
         #endregion
 
         #region  属性      
@@ -386,6 +393,21 @@ namespace Venus_MainPages.ViewModels
             get { return m_BRFMatchC2; }
             set { SetProperty(ref m_BRFMatchC2, value); }
         }
+        public bool GasIsFlowing
+        {
+            get { return m_GasIsFlowing; }
+            set { SetProperty(ref m_GasIsFlowing, value); }
+        }
+        public bool IsAutoMode
+        {
+            get { return m_IsAutoMode; }
+            set { SetProperty(ref m_IsAutoMode, value); }
+        }
+        public string SelectedRecipe
+        {
+            get { return m_SelectedRecipe; }
+            set { SetProperty(ref m_SelectedRecipe, value); }
+        }
         #endregion
 
         #region 命令
@@ -451,9 +473,9 @@ namespace Venus_MainPages.ViewModels
         public DelegateCommand OpenButterflyValveViewCommand =>
             _OpenButterflyValveViewCommand ?? (_OpenButterflyValveViewCommand = new DelegateCommand(OnOpenButterflyValveView));
 
-        private DelegateCommand _GasSetPointCommand;
-        public DelegateCommand GasSetPointCommand =>
-            _GasSetPointCommand ?? (_GasSetPointCommand = new DelegateCommand(OnGasSetPoint));
+        //private DelegateCommand _GasCommand;
+        //public DelegateCommand GasCommand =>
+        //    _GasCommand ?? (_GasCommand = new DelegateCommand(OnGas));
 
         private DelegateCommand _HVCommand;
         public DelegateCommand HVCommand =>
@@ -466,6 +488,10 @@ namespace Venus_MainPages.ViewModels
         private DelegateCommand<object> _SetMatchModeCommand;
         public DelegateCommand<object> SetMatchModeCommand =>
             _SetMatchModeCommand ?? (_SetMatchModeCommand = new DelegateCommand<object>(OnSetMatchMode));
+
+        private DelegateCommand _LoadRecipeCommand;
+        public DelegateCommand LoadRecipeCommand =>
+            _LoadRecipeCommand ?? (_LoadRecipeCommand = new DelegateCommand(OnLoadRecipe));
         #endregion
 
         #region 构造函数
@@ -502,28 +528,50 @@ namespace Venus_MainPages.ViewModels
         {
             InvokeClient.Instance.Service.DoOperation($"{ModuleName}.Home");
         }
-        private void OnGas()
+        private async void OnGas()
         {
-            object[] mfc = new object[8];
-            string[] mfcSetPoint = new string[8];
-            for (int index = 0; index < mfc.Length; index++)
+            await Task.Run(async () => 
             {
-                mfc[index] = RtDataValues[$"{ModuleName}.MfcGas{index + 1}.SetPoint"];
-            }
-            //if (((Math.Abs((double)mfc[0] - (double)_oldmfc[0]) < 0.01) && (Math.Abs((double)mfc[1] - (double)_oldmfc[1]) < 0.01) && (Math.Abs((double)mfc[2] - (double)_oldmfc[2])) < 0.01)
-            //   || ((Math.Abs((double)mfc[0]) <= 0.01 && Math.Abs((double)mfc[1]) <= 0.01 && Math.Abs((double)mfc[2]) <= 0.01)))
-            //{
-            //    InvokeClient.Instance.Service.DoOperation($"{ModuleName}.{RtOperation.Abort}");
-            //    return;
-            //}
-
-            _oldmfc = mfc;
-            InvokeClient.Instance.Service.DoOperation($"{ModuleName}.{RtOperation.GasFlow}", mfc);
+                if (GasIsFlowing == true)
+                {
+                    InvokeClient.Instance.Service.DoOperation($"{ModuleName}.{RtOperation.Abort}");
+                }
+                else
+                {
+                    InvokeClient.Instance.Service.DoOperation($"{ModuleName}.MfcGas1.SetPoint", MfcGas1Setpoint);
+                    InvokeClient.Instance.Service.DoOperation($"{ModuleName}.MfcGas2.SetPoint", MfcGas2Setpoint);
+                    InvokeClient.Instance.Service.DoOperation($"{ModuleName}.MfcGas3.SetPoint", MfcGas3Setpoint);
+                    InvokeClient.Instance.Service.DoOperation($"{ModuleName}.MfcGas4.SetPoint", MfcGas4Setpoint);
+                    InvokeClient.Instance.Service.DoOperation($"{ModuleName}.MfcGas5.SetPoint", MfcGas5Setpoint);
+                    InvokeClient.Instance.Service.DoOperation($"{ModuleName}.MfcGas6.SetPoint", MfcGas6Setpoint);
+                    InvokeClient.Instance.Service.DoOperation($"{ModuleName}.MfcGas7.SetPoint", MfcGas7Setpoint);
+                    InvokeClient.Instance.Service.DoOperation($"{ModuleName}.MfcGas8.SetPoint", MfcGas8Setpoint);
+
+                    await Task.Delay(5000);
+                    object[] mfc = new object[8];
+                    string[] mfcSetPoint = new string[8];
+                    for (int index = 0; index < mfc.Length; index++)
+                    {
+                        mfc[index] = RtDataValues[$"{ModuleName}.MfcGas{index + 1}.SetPoint"];
+                    }
+                    //if (((Math.Abs((double)mfc[0] - (double)_oldmfc[0]) < 0.01) && (Math.Abs((double)mfc[1] - (double)_oldmfc[1]) < 0.01) && (Math.Abs((double)mfc[2] - (double)_oldmfc[2])) < 0.01)
+                    //   || ((Math.Abs((double)mfc[0]) <= 0.01 && Math.Abs((double)mfc[1]) <= 0.01 && Math.Abs((double)mfc[2]) <= 0.01)))
+                    //{
+                    //    InvokeClient.Instance.Service.DoOperation($"{ModuleName}.{RtOperation.Abort}");
+                    //    return;
+                    //}
+
+                    _oldmfc = mfc;
+                    InvokeClient.Instance.Service.DoOperation($"{ModuleName}.{RtOperation.GasFlow}", mfc);
+                }
+            });
+           
+           
         }
 
         private void OnRf()
         {
-            if (RtDataValues[$"{ModuleName}.FsmState"].ToString() == "RfPowering")
+            if (RtDataValues[$"{ModuleName}.FsmState"].ToString() == PMState.RfPowering.ToString())
             {
                 InvokeClient.Instance.Service.DoOperation($"{ModuleName}.{RtOperation.Abort}");
             }
@@ -532,7 +580,7 @@ namespace Venus_MainPages.ViewModels
 
         private void OnPurge()
         {
-            if (RtDataValues[$"{ModuleName}.FsmState"].ToString() == "Purge")
+            if (RtDataValues[$"{ModuleName}.FsmState"].ToString() ==PMState.Purge.ToString())
             {
                 //InvokeClient.Instance.Service.DoOperation($"{ModuleName}.StopPurge");
             }
@@ -544,7 +592,7 @@ namespace Venus_MainPages.ViewModels
 
         private void OnVent()
         {
-            if (RtDataValues[$"{ModuleName}.FsmState"].ToString() == "Venting")
+            if (RtDataValues[$"{ModuleName}.FsmState"].ToString()==PMState.Venting.ToString())
             {
                 //InvokeClient.Instance.Service.DoOperation($"{ModuleName}.StopVent");
             }
@@ -557,7 +605,7 @@ namespace Venus_MainPages.ViewModels
 
         private void OnPump()
         {
-            if (RtDataValues[$"{ModuleName}.FsmState"].ToString() == "Pumping")
+            if (RtDataValues[$"{ModuleName}.FsmState"].ToString() == PMState.Pumping.ToString())
             {
                 InvokeClient.Instance.Service.DoOperation($"{ModuleName}.{RtOperation.Abort}");
                 return;
@@ -636,28 +684,6 @@ namespace Venus_MainPages.ViewModels
 
         private async void OnSetSRf()
         {
-            //await Task.Run(async () =>
-            //{
-            //    if (SRFIsOn == true)
-            //    {
-            //        InvokeClient.Instance.Service.DoOperation($"{ModuleName}.SetSRf", SRFFwdPowerSetpoint, false);
-
-            //    }
-            //    else
-            //    {
-            //        InvokeClient.Instance.Service.DoOperation($"{ModuleName}.{VenusDevice.Match}.{AITRfOperation.SetMatchPosition}", SRFMatchC1, SRFMatchC2);
-            //        //InvokeClient.Instance.Service.DoOperation($"{ModuleName}.{VenusDevice.Match}.{AITRfOperation.SetMatchPositionC2}", SRFMatchC2);
-            //        //var t = Task.Run(async delegate
-            //        //{
-            //        //    await Task.Delay(20000);
-            //        //    return 42;
-            //        //});
-            //        //t.Wait();
-            //        await Task.Delay(20000);
-            //        InvokeClient.Instance.Service.DoOperation($"{ModuleName}.SetSRf", SRFFwdPowerSetpoint, true);
-
-            //    }
-            //});
             
             if (SRFIsOn == true)
             {
@@ -675,11 +701,7 @@ namespace Venus_MainPages.ViewModels
                 });
                 await t;
                 InvokeClient.Instance.Service.DoOperation($"{ModuleName}.SetSRf", SRFFwdPowerSetpoint, true);
-
             }
-
-
-
         }
         private async void OnSetBRf()
         {
@@ -718,17 +740,17 @@ namespace Venus_MainPages.ViewModels
             butterflyValveMessageBox.Show();
             butterflyValveMessageBox.Owner = _mainWindow;
         }
-
+        private void OnLoadRecipe()
+        {
+            OpenFileDialog dialog = new OpenFileDialog();
+            dialog.Filter = ".rcp|*.rcp";
+            dialog.InitialDirectory = Path.Combine(QueryDataClient.Instance.Service.GetData("GetRTPath").ToString(), "Recipes");
+            if (dialog.ShowDialog() == false) return;
+            SelectedRecipe = dialog.SafeFileName.Split('.')[0];
+        }
         private void OnGasSetPoint()
         {
-            InvokeClient.Instance.Service.DoOperation($"{ModuleName}.MfcGas1.SetPoint", MfcGas1Setpoint);
-            InvokeClient.Instance.Service.DoOperation($"{ModuleName}.MfcGas2.SetPoint", MfcGas2Setpoint);
-            InvokeClient.Instance.Service.DoOperation($"{ModuleName}.MfcGas3.SetPoint", MfcGas3Setpoint);
-            InvokeClient.Instance.Service.DoOperation($"{ModuleName}.MfcGas4.SetPoint", MfcGas4Setpoint);
-            InvokeClient.Instance.Service.DoOperation($"{ModuleName}.MfcGas5.SetPoint", MfcGas5Setpoint);
-            InvokeClient.Instance.Service.DoOperation($"{ModuleName}.MfcGas6.SetPoint", MfcGas6Setpoint);
-            InvokeClient.Instance.Service.DoOperation($"{ModuleName}.MfcGas7.SetPoint", MfcGas7Setpoint);
-            InvokeClient.Instance.Service.DoOperation($"{ModuleName}.MfcGas8.SetPoint", MfcGas8Setpoint);
+           
         }
 
         private void OnHV()
@@ -810,6 +832,8 @@ namespace Venus_MainPages.ViewModels
 
             PositionValue = -((int)(((int)RtDataValues[$"{ModuleName}.GetPVPosition"]) * 0.09));
 
+            GasIsFlowing = RtDataValues[$"{ModuleName}.FsmState"].ToString() == PMState.GasFlowing.ToString() ? true : false;
+
 
 
         }

+ 11 - 1
Venus/Venus_MainPages/ViewModels/TopViewModel.cs

@@ -93,6 +93,10 @@ namespace Venus_MainPages.ViewModels
         public DelegateCommand ClearCommand =>
                  _ClearCommand ?? (_ClearCommand = new DelegateCommand(OnClear));
 
+        private DelegateCommand _SkipCommand;
+        public DelegateCommand SkipCommand =>
+                 _SkipCommand ?? (_SkipCommand = new DelegateCommand(OnSkip));
+
         private DelegateCommand _BuzzerOffCommand;
         public DelegateCommand BuzzerOffCommand =>
                  _BuzzerOffCommand ?? (_BuzzerOffCommand = new DelegateCommand(OnBuzzerOff));
@@ -212,6 +216,13 @@ namespace Venus_MainPages.ViewModels
 
         private void OnClear()
         {
+            CurrentEventItem = null;
+            alarmQuery.Clear();
+            EventLogList.Clear();
+
+        }
+        private void OnSkip()
+        {
             if (alarmQuery.Count > 0)
             {
                 alarmQuery.Dequeue();
@@ -225,7 +236,6 @@ namespace Venus_MainPages.ViewModels
                 }
             }
         }
-
         private void OnBuzzerOff()
         {
             InvokeClient.Instance.Service.DoOperation($"{ModuleName}.SignalTower.SwitchOffBuzzer");

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 718 - 781
Venus/Venus_MainPages/Views/OverView.xaml


+ 2 - 1
Venus/Venus_MainPages/Views/TopView.xaml

@@ -112,7 +112,8 @@
                 </ToggleButton>
             </StackPanel>
             
-            <Button Content="Clear"  Grid.Column="6" Grid.Row="1" BorderThickness="0" Command="{Binding ClearCommand}"/>
+            <Button  Content="Skip"   Grid.Column="6" Grid.Row="1" BorderThickness="0" Command="{Binding SkipCommand}"/>
+            <Button  Content="Clear"  Grid.Column="7" Grid.Row="1" BorderThickness="0" Command="{Binding ClearCommand}"/>
             <!--<Button Content="Reset"       Grid.Column="7" Grid.Row="1" BorderThickness="0" Command="{Binding ResetCommand}"/>
             <Button Content="Buzzer Off"  Grid.Column="8" Grid.Row="1" BorderThickness="0" Command="{Binding BuzzerOffCommand}"/>-->
             <!--<Border   BorderBrush="#FF0A1624"  CornerRadius="6"  Grid.Column="8"  Grid.RowSpan="2">

+ 3 - 4
Venus/Venus_RT/Config/_ioDefineVenus.xml

@@ -137,8 +137,7 @@
 		<AO_ITEM Index="6" Name="AO_MFC7_Flow_Setpoint"              BufferOffset="12" Device="" Addr="d1012" Note="MFC" />
 		<AO_ITEM Index="7" Name="AO_MFC8_Flow_Setpoint"              BufferOffset="14" Device="" Addr="d1014" Note="MFC" />
 		<AO_ITEM Index="8" Name="AO_He_Flow_Setpoint"                BufferOffset="16" Device="" Addr="d1016" Note="MFC" />
-		<AO_ITEM Index="9" Name="AO_Turbo_Pump_N2_Flow_Setpoint"     BufferOffset="18" Device="" Addr="d1018" Note="MFC" />
-		
+		<AO_ITEM Index="9" Name="AO_Turbo_Pump_N2_Flow_Setpoint"     BufferOffset="18" Device="" Addr="d1018" Note="MFC" />		
 		<AO_ITEM Index="10" Name="AO_Valve_Temperature_Setpoint"     BufferOffset="20" Device="" Addr="d1020" Note="阀门加热设定温度" />
 		<AO_ITEM Index="11" Name="AO_Valve_Temp_Limit_Setpoint"      BufferOffset="22" Device="" Addr="d1022" Note="Temp Limit" />
 		<AO_ITEM Index="12" Name="AO_Foreline_Temperature_Setpoint"  BufferOffset="24" Device="" Addr="d1024" Note="前级管道设定温度" />
@@ -146,8 +145,8 @@
 		<AO_ITEM Index="14" Name="AO_CHB_Wall_Temperature_Setpoint"  BufferOffset="28" Device="" Addr="d1028" Note="腔体壁设定温度" />
 		<AO_ITEM Index="15" Name="AO_CHB_Wall_Temp_Limit_Setpoint"   BufferOffset="30" Device="" Addr="d1030" Note="Temp Limit" />
 		<AO_ITEM Index="16" Name="AO_Heartbeat"                      BufferOffset="32" Device="" Addr="d1032" Note="PC to PLC" />
-		<AO_ITEM Index="17" Name="AO_ESC_He_Pressure_Setpoint"       BufferOffset="34"           addr="d1034" Note="He气体压力设定" />
-		<AO_ITEM Index="18" Name="AO_ESC_He_Control_Mode"            BufferOffset="36"           addr="d1036" Note="He气体控制模式" />
+		<AO_ITEM Index="17" Name="AO_ESC_He_Pressure_Setpoint"       BufferOffset="34" Device=""       Addr="d1034" Note="He气体压力设定" />
+		<AO_ITEM Index="18" Name="AO_ESC_He_Control_Mode"            BufferOffset="36" Device=""       Addr="d1036" Note="He气体控制模式" />
 		<AO_ITEM Index="19" Name="" />
 		<AO_ITEM Index="20" Name="" />
 		<AO_ITEM Index="21" Name="" />

+ 3 - 1
Venus/Venus_RT/Devices/CometRF.cs

@@ -317,13 +317,15 @@ namespace Venus_RT.Devices
             _diIntlk = IO.DI[$"{Module}.DI_RF_Generator_Interlock"];
             Initalized = false;
         }
-
+        ErrorEventArgsDevice oldargs;
         private void OnErrorHandler(ErrorEventArgsDevice args)
         {
             //SetPowerOnOff(false, out _);
             Status = GeneratorStatus.ERROR;
             StatusMatch = GeneratorStatus.ERROR;
+            if (oldargs != null && oldargs.Code == args.Code) return;
             LOG.Write(eEvent.ERR_RF,Module, $"{Module} Comet RF Error {args.Reason}");
+            oldargs = args;
         }
 
         public override bool Initialize()

+ 2 - 2
Venus/Venus_Simulator/Config/_ioDefineVenus.xml

@@ -145,8 +145,8 @@
 		<AO_ITEM Index="14" Name="AO_CHB_Wall_Temperature_Setpoint"  BufferOffset="28" Device="" Addr="d1028" Note="腔体壁设定温度" />
 		<AO_ITEM Index="15" Name="AO_CHB_Wall_Temp_Limit_Setpoint"  BufferOffset="30" Device="" Addr="d1030" Note="Temp Limit" />
 		<AO_ITEM Index="16" Name="AO_Heartbeat"  BufferOffset="32" Device="" Addr="d1032" Note="PC to PLC" />
-		<AO_ITEM Index="17" Name="AO_ESC_He_Pressure_Setpoint"  BufferOffset="34" addr="d1034" Note="He气体压力设定" />
-		<AO_ITEM Index="18" Name="AO_ESC_He_Control_Mode"  BufferOffset="36" addr="d1036" Note="He气体控制模式" />
+		<AO_ITEM Index="17" Name="AO_ESC_He_Pressure_Setpoint"  BufferOffset="34" Addr="d1034" Note="He气体压力设定" />
+		<AO_ITEM Index="18" Name="AO_ESC_He_Control_Mode"  BufferOffset="36" Addr="d1036" Note="He气体控制模式" />
 		<AO_ITEM Index="19" Name="" />
 		<AO_ITEM Index="20" Name="" />
 		<AO_ITEM Index="21" Name="" />

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 2 - 1
Venus/Venus_Themes/Themes/Generic.xaml


+ 0 - 5
Venus/Venus_UI/Config/VenusMenu.json

@@ -49,11 +49,6 @@
         "View": "PlatformView"
       },
       {
-        "Id": "Process",
-        "Name": "Process",
-        "View": "ProcessView"
-      },
-      {
         "Id": "",
         "Name": "",
         "View": ""