Browse Source

save only the last 200 entries in simulator's logs && add some key in UI

zhouhr 1 year ago
parent
commit
efafd434f0

+ 8 - 2
Venus/Framework/SimulatorCore/Commons/SerialPortDeviceViewModel.cs

@@ -55,6 +55,8 @@ namespace MECF.Framework.Simulator.Core.Commons
 
         protected SerialPortDeviceSimulator _simulator;
 
+        private int maxItemNumber = 200;
+
         public SerialPortDeviceViewModel(string name) : base(name)
         {
             ClearLogCommand = new DelegateCommand<string>(ClearLog);
@@ -110,7 +112,9 @@ namespace MECF.Framework.Simulator.Core.Commons
             Application.Current.Dispatcher.Invoke(new Action(() =>
             {
                 TransactionLogItems.Add(new TransactionLogItem() { Incoming = obj, OccurTime = DateTime.Now.ToString("HH:mm:ss.fff") });
-
+                if (TransactionLogItems.Count > maxItemNumber)
+                    TransactionLogItems = new ObservableCollection<TransactionLogItem>(TransactionLogItems.Skip(1).Take(maxItemNumber).ToList());
+                Poll();
             }));
         }
 
@@ -119,7 +123,9 @@ namespace MECF.Framework.Simulator.Core.Commons
             Application.Current.Dispatcher.Invoke(new Action(() =>
             {
                 TransactionLogItems.Add(new TransactionLogItem() { Outgoing = obj, OccurTime = DateTime.Now.ToString("HH:mm:ss.fff") });
-
+                if (TransactionLogItems.Count > maxItemNumber)
+                    TransactionLogItems = new ObservableCollection<TransactionLogItem>(TransactionLogItems.Skip(1).Take(maxItemNumber).ToList());
+                Poll();
             }));
         }
 

+ 7 - 2
Venus/Framework/SimulatorCore/Commons/SocketDeviceViewModel.cs

@@ -54,6 +54,7 @@ namespace MECF.Framework.Simulator.Core.Commons
             }
         }
 
+        private int maxItemNumber = 200;
         public string LocalPortSetPoint { get; set; }
 
         public ObservableCollection<TransactionLogItem> TransactionLogItems { get; set; }
@@ -107,7 +108,9 @@ namespace MECF.Framework.Simulator.Core.Commons
             Application.Current.Dispatcher.Invoke(new Action(() =>
             {
                 TransactionLogItems.Add(new TransactionLogItem() { Incoming = obj, OccurTime = DateTime.Now.ToString("HH:mm:ss.fff") });
-
+                if (TransactionLogItems.Count > maxItemNumber)
+                    TransactionLogItems = new ObservableCollection<TransactionLogItem>(TransactionLogItems.Skip(1).Take(maxItemNumber).ToList());
+                Poll();
             }));
         }
 
@@ -116,7 +119,9 @@ namespace MECF.Framework.Simulator.Core.Commons
             Application.Current.Dispatcher.Invoke(new Action(() =>
             {
                 TransactionLogItems.Add(new TransactionLogItem() { Outgoing = obj, OccurTime = DateTime.Now.ToString("HH:mm:ss.fff") });
-
+                if (TransactionLogItems.Count > maxItemNumber)
+                    TransactionLogItems = new ObservableCollection<TransactionLogItem>(TransactionLogItems.Skip(1).Take(maxItemNumber).ToList());
+                Poll();
             }));
         }
 

+ 22 - 1
Venus/Venus_Core/ValveType.cs

@@ -14,6 +14,22 @@ namespace Venus_Core
         PV32,
         PV41,
         PV42,
+        PV51,
+        PV52,
+        PV61,
+        PV62,
+        PV71,
+        PV72,
+        PV81,
+        PV82,
+        PV91,
+        PV92,
+        PVA1,
+        PVA2,
+        PVB1,
+        PVB2,
+        PVC1,
+        PVC2,
         N2,
         Mfc1,
         Mfc2,
@@ -23,6 +39,10 @@ namespace Venus_Core
         Mfc6,
         Mfc7,
         Mfc8,
+        Mfc9,
+        Mfc10,
+        Mfc11,
+        Mfc12,
         PVHe1,
         PVHe2,
         GasFinal,
@@ -35,6 +55,7 @@ namespace Venus_Core
         LoadlockVent,
         LoadlockPumping,
         PVHe3,
-        HeISO
+        HeISO,
+        MainPurge
     }
 }

+ 21 - 1
Venus/Venus_Core/VenusDevice.cs

@@ -10,6 +10,10 @@
         ValveMfc6,
         ValveMfc7,
         ValveMfc8,
+        ValveMfc9,
+        ValveMfc10,
+        ValveMfc11,
+        ValveMfc12,
 
         ValvePVN21,
         ValvePVN22,
@@ -21,6 +25,22 @@
         ValvePV32,
         ValvePV41,
         ValvePV42,
+        ValvePV51,
+        ValvePV52,
+        ValvePV61,
+        ValvePV62,
+        ValvePV71,
+        ValvePV72,
+        ValvePV81,
+        ValvePV82,
+        ValvePV91,
+        ValvePV92,
+        ValvePVA1,
+        ValvePVA2,
+        ValvePVB1,
+        ValvePVB2,
+        ValvePVC1,
+        ValvePVC2,
 
         ValveN2,
         ValvePVHe1,
@@ -28,7 +48,7 @@
         ValvePVHe3,
         ValveHeISO,
 
-
+        ValveMainPurge,
 
 
         ValveGasFinal,

+ 9 - 0
Venus/Venus_MainPages/ViewModels/GasLeakCheckViewModel.cs

@@ -14,6 +14,7 @@ using System.Text;
 using System.Threading.Tasks;
 using System.Windows.Threading;
 using Venus_Core;
+using Venus_MainPages.Unity;
 using Venus_Themes.CustomControls;
 using Venus_Unity;
 
@@ -32,6 +33,7 @@ namespace Venus_MainPages.ViewModels
         private bool[] m_GasIsCheck=new bool[9];
         public string ModuleName;
         private bool m_GasIsFlowing;
+        private bool m_IsAutoMode;
 
         private AITMfcData m_MFC1Data;
         private AITMfcData m_MFC2Data;
@@ -91,6 +93,11 @@ namespace Venus_MainPages.ViewModels
         #endregion
 
         #region  属性
+        public bool IsAutoMode
+        {
+            get { return m_IsAutoMode; }
+            set { SetProperty(ref m_IsAutoMode, value); }
+        }
         public ObservableCollection<PMLeakCheckResult> LeakCheckResultList
         {
             get { return m_LeakCheckResultList; }
@@ -562,10 +569,12 @@ namespace Venus_MainPages.ViewModels
             PMCurrentState = (PMState)Enum.Parse(typeof(PMState), RtDataValues[$"{ModuleName}.FsmState"].ToString());
 
             GasIsFlowing = (PMState)RtDataValues[$"{ModuleName}.FsmState"] == PMState.GasFlowing;
+            IsAutoMode = CommonFunction.GetValue<bool>(RtDataValues, $"{ModuleName}.IsOnline");
         }
         public void addDataKeys()
         {
             m_RtDataKeys.Clear();
+            m_RtDataKeys.Add("System.IsAutoMode");
             m_RtDataKeys.Add($"{ModuleName}.MfcGas1");
             m_RtDataKeys.Add($"{ModuleName}.MfcGas2");
             m_RtDataKeys.Add($"{ModuleName}.MfcGas3");

+ 1 - 1
Venus/Venus_RT/Devices/JetKepler2200APM.cs

@@ -670,7 +670,7 @@ namespace Venus_RT.Devices
                     double maxPressureDifference = SC.GetValue<double>("System.PMTMMaxPressureDifference");
                     if (Math.Abs(TMPressure - ChamberPressure) > maxPressureDifference)
                     {
-                        reason = $"{Module} and TM pressure difference exceeds the max limit {maxPressureDifference}";
+                        reason = $"{Module} and TM pressure difference exceeds the max limit {maxPressureDifference}, TMPressure:{TMPressure}, {Module}Pressure:{ChamberPressure}";
                         LOG.Write(eEvent.ERR_DEVICE_INFO, Module, reason);
                         return false;
                     }

+ 1 - 1
Venus/Venus_RT/Devices/JetVenusPM.cs

@@ -687,7 +687,7 @@ namespace Venus_RT.Devices
                     double maxPressureDifference = SC.GetValue<double>("System.PMTMMaxPressureDifference");
                     if (Math.Abs(TMPressure - ChamberPressure) > maxPressureDifference)
                     {
-                        reason = $"{Module} and TM pressure difference exceeds the max limit {maxPressureDifference}";
+                        reason = $"{Module} and TM pressure difference exceeds the max limit {maxPressureDifference}, TMPressure:{TMPressure}, {Module}Pressure:{ChamberPressure}";
                         LOG.Write(eEvent.ERR_DEVICE_INFO, Module, reason);
                         return false;
                     }

+ 2 - 0
Venus/Venus_RT/Venus_RT.csproj

@@ -150,6 +150,8 @@
     <Compile Include="Devices\JetEPDBase.cs" />
     <Compile Include="Devices\JetKepler2200APM.cs" />
     <Compile Include="Devices\JetPMBase.cs" />
+    <Compile Include="Devices\JetVenusSEPM.cs" />
+    <Compile Include="Devices\JetVenusSEPMBase.cs" />
     <Compile Include="Devices\JetVenusPM.cs" />
     <Compile Include="Devices\JetKepler2300PM.cs" />
     <Compile Include="Devices\PendulumValve.cs" />

+ 54 - 7
Venus/Venus_Simulator/Devices/CometRFSocketServer.cs

@@ -456,6 +456,56 @@ namespace Venus_Simulator.Instances
 
         protected byte[] BuildMessage(int transactionNumber, Mode mode, int commandNumber, int argumentNumber)
         {
+            //byte[] transaction = BitConverter.GetBytes(transactionNumber);
+            //byte[] argument = BitConverter.GetBytes(argumentNumber);
+            //byte[] Message;
+            //switch (mode) 
+            //{
+            //    case Mode.Read:
+            //        Message = new byte[] 
+            //        {
+            //            transaction[1],
+            //            transaction[0],
+            //            ProtocolIdentifierHighByte,
+            //            ProtocolIdentifierLowByte,
+            //            0x00,
+            //            0x07,
+            //            Address,
+            //            _read,
+            //            0x04,
+            //            argument[3],
+            //            argument[2],
+            //            argument[1],
+            //            argument[0],
+            //        };
+            //        break;
+            //    case Mode.Write:
+            //        byte[] command = BitConverter.GetBytes(commandNumber);
+            //        Message = new byte[]
+            //        {
+            //            transaction[1],
+            //            transaction[0],
+            //            ProtocolIdentifierHighByte,
+            //            ProtocolIdentifierLowByte,
+            //            0x00,
+            //            0x08,
+            //            Address,
+            //            _write,
+            //            0x04,
+            //            command[1],
+            //            command[0],
+            //            argument[3],
+            //            argument[2],
+            //            argument[1],
+            //            argument[0],
+            //        };
+            //        break;
+            //    default:
+            //        Message = null;
+            //        break;
+            //}
+            //return Message;
+
             List<byte> buffer = new List<byte>();
             buffer.Add(BitConverter.GetBytes(transactionNumber)[1]);
             buffer.Add(BitConverter.GetBytes(transactionNumber)[0]);
@@ -483,10 +533,6 @@ namespace Venus_Simulator.Instances
             if (mode == Mode.Read)
             {
                 buffer.Add(0x04);
-                //buffer.Add(sendData[0]);
-                //buffer.Add(sendData[1]);
-                //buffer.Add(sendData[2]);
-                //buffer.Add(sendData[3]);
                 buffer.Add(BitConverter.GetBytes(argumentNumber)[3]);
                 buffer.Add(BitConverter.GetBytes(argumentNumber)[2]);
                 buffer.Add(BitConverter.GetBytes(argumentNumber)[1]);
@@ -496,7 +542,7 @@ namespace Venus_Simulator.Instances
             {
                 buffer.Add(BitConverter.GetBytes(commandNumber)[1]);
                 buffer.Add(BitConverter.GetBytes(commandNumber)[0]);
-
+            
                 buffer.Add(BitConverter.GetBytes(argumentNumber)[3]);
                 buffer.Add(BitConverter.GetBytes(argumentNumber)[2]);
                 buffer.Add(BitConverter.GetBytes(argumentNumber)[1]);
@@ -508,8 +554,9 @@ namespace Venus_Simulator.Instances
             //    checkSum += buffer[i];
             //}
             //buffer.Add(checkSum);
-
-            return buffer.ToArray();
+            byte[] bytes = buffer.ToArray();
+            buffer.Clear();
+            return bytes;
         }
 
         public int BytesToInt(byte[] src, int offset)

+ 9 - 3
Venus/Venus_Simulator/Views/Simu_CometRFView.xaml.cs

@@ -1,5 +1,7 @@
 using System;
+using System.Collections.Generic;
 using System.Collections.ObjectModel;
+using System.Linq;
 using System.Windows;
 using System.Windows.Controls;
 using System.Windows.Input;
@@ -41,7 +43,7 @@ namespace Venus_Simulator.Views
         }
         public ObservableCollection<TransactionLogItem> TransactionLogItems { get; set; }
         private CometRFSocketServer _cometRFServer;
-
+        private int maxItemNumber = 200;
         public CometRFSimulatorViewModel(string name) : base(name)
         {
             _cometRFServer = new CometRFSocketServer(port);
@@ -73,7 +75,9 @@ namespace Venus_Simulator.Views
             Application.Current.Dispatcher.Invoke(new Action(() =>
             {
                 TransactionLogItems.Add(new TransactionLogItem() { Incoming = obj, OccurTime = DateTime.Now.ToString("HH:mm:ss.fff") });
-
+                if (TransactionLogItems.Count > maxItemNumber)
+                    TransactionLogItems = new ObservableCollection<TransactionLogItem>(TransactionLogItems.Skip(1).Take(maxItemNumber).ToList());
+                Poll();
             }));
         }
 
@@ -82,7 +86,9 @@ namespace Venus_Simulator.Views
             Application.Current.Dispatcher.Invoke(new Action(() =>
             {
                 TransactionLogItems.Add(new TransactionLogItem() { Outgoing = obj, OccurTime = DateTime.Now.ToString("HH:mm:ss.fff") });
-
+                if (TransactionLogItems.Count > maxItemNumber)
+                    TransactionLogItems = new ObservableCollection<TransactionLogItem>(TransactionLogItems.Skip(1).Take(maxItemNumber).ToList());
+                Poll();
             }));
         }