Переглянути джерело

Update OperationOverViewModelNew.cs name

chenkui 2 тижнів тому
батько
коміт
5f6b2088cf

+ 4 - 4
PunkHPX8_MainPages/PunkHPX8_MainPages.csproj

@@ -170,7 +170,7 @@
     <Compile Include="ViewModels\JobOperationViewModel.cs" />
     <Compile Include="ViewModels\LoginViewModel.cs" />
     <Compile Include="ViewModels\MaterialMovementViewModel.cs" />
-    <Compile Include="ViewModels\OperationOverViewModelNew.cs" />
+    <Compile Include="ViewModels\OperationOverNewViewModel.cs" />
     <Compile Include="ViewModels\OperationOverViewModel.cs" />
     <Compile Include="ViewModels\PMCounterViewModel.cs" />
     <Compile Include="ViewModels\CMMPowerSupplierViewModel.cs" />
@@ -245,8 +245,8 @@
     <Compile Include="Views\MaterialMovementView.xaml.cs">
       <DependentUpon>MaterialMovementView.xaml</DependentUpon>
     </Compile>
-    <Compile Include="Views\OperationOverViewNew.xaml.cs">
-      <DependentUpon>OperationOverViewNew.xaml</DependentUpon>
+    <Compile Include="Views\OperationOverNewView.xaml.cs">
+      <DependentUpon>OperationOverNewView.xaml</DependentUpon>
     </Compile>
     <Compile Include="Views\PMCounterView.xaml.cs">
       <DependentUpon>PMCounterView.xaml</DependentUpon>
@@ -472,7 +472,7 @@
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>
     </Page>
-    <Page Include="Views\OperationOverViewNew.xaml">
+    <Page Include="Views\OperationOverNewView.xaml">
       <Generator>MSBuild:Compile</Generator>
       <SubType>Designer</SubType>
     </Page>

+ 0 - 42
PunkHPX8_MainPages/Unity/ContextMenuManager.cs

@@ -132,48 +132,6 @@ namespace PunkHPX8_MainPages.Unity
             }
             return _slotMenus;
         }
-
-        public void ReturnWafer(string menu, Slot p_from)
-        {
-            //try
-            //{
-            //    if (p_from == null || !p_from.IsValidSlot())
-            //        return;
-
-            //    //DialogButton btns = DialogButton.Transfer | DialogButton.Cancel;       
-            //    string info = " from " + p_from.ModuleID + " slot " + (p_from.SlotID + 1).ToString();
-            //    string message = "Are you sure to return the wafer: \n" + info;
-            //    //DialogButton m_dResult = DialogBox.ShowDialog(btns, DialogType.CONFIRM, message);
-
-            //    bool displayAlignerCondition = p_from.ModuleID == "LP1" || p_from.ModuleID == "LP2" || p_from.ModuleID == "LP3" || p_from.ModuleID == "EfemRobot"
-            //        || p_from.ModuleID == "LLA" || p_from.ModuleID == "LLB" || p_from.ModuleID == "LLC" || p_from.ModuleID == "LLD" || p_from.ModuleID == "Buffer";
-
-            //    displayAlignerCondition = displayAlignerCondition && (p_from.ModuleID != "Aligner");
-
-            //    bool displayPassCoolingCondition = (p_from.ModuleID.Contains("PM") || p_from.ModuleID == "TMRobot");
-
-            //    WindowManager wm = new WindowManager();
-            //    WaferTransferDialogViewModel _transferVM = new WaferTransferDialogViewModel(message, displayAlignerCondition, displayPassCoolingCondition);
-            //    _transferVM.AlignerVisibility = ShowAligner ? Visibility.Visible : Visibility.Hidden;
-            //    _transferVM.CoolingVisibility = ShowCooling ? Visibility.Visible : Visibility.Hidden;
-            //    bool? bret = wm.ShowDialogWithNoStyle(_transferVM);
-            //    if ((bool)bret)
-            //    {
-            //        //get and use transfer conditions
-            //        WaferTransferCondition conditions = _transferVM.DialogResult;
-
-            //        InvokeClient.Instance.Service.DoOperation(menu, p_from.ModuleID, p_from.SlotID,
-            //            conditions.IsPassCooling, conditions.CoolingTime);
-            //    }
-
-            //    p_from.ClearDragDropStatus();
-            //}
-            //catch (Exception ex)
-            //{
-            //    LOG.Write(ex);
-            //}
-        }
-
         #endregion
 
 

+ 66 - 268
PunkHPX8_MainPages/ViewModels/OperationOverViewModelNew.cs

@@ -40,7 +40,7 @@ using ExcelLibrary.BinaryFileFormat;
 
 namespace PunkHPX8_MainPages.ViewModels
 {
-    public class OperationOverViewModelNew : BindableBase
+    public class OperationOverNewViewModel : BindableBase
     {
         #region 常量
         private const string CURRENT_STATION = "CurrentStation";
@@ -52,19 +52,14 @@ namespace PunkHPX8_MainPages.ViewModels
         #region 私有字段
         private bool _isLp1Unable;
         private bool _isLp2Unable;
-        private bool _isLp3Unable;
 
         private ModuleInfo _LP1ModuleInfo;
         private ModuleInfo _LP2ModuleInfo;
-
-        private ModuleInfo _LP3ModuleInfo;
         private ModuleInfo _EFEMModuleInfo;
         private ModuleInfo _srd1ModuleInfo;
         private ModuleInfo _srd2ModuleInfo;
         private ModuleInfo _dummy1ModuleInfo;
         private ModuleInfo _dummy2ModuleInfo;
-
-        private ModuleInfo _loaderModuleInfo;
         private WaferRobotTAction m_Robot1TAction;
         private WaferRobotXAction m_Robot1XAction;
         private WaferRobotTAction m_Robot2TAction;
@@ -77,18 +72,20 @@ namespace PunkHPX8_MainPages.ViewModels
 
         private WaferInfo m_srd1Wafer;
         private WaferInfo m_srd2Wafer;
-        private WaferInfo m_loaderWaferA;
-        private WaferInfo m_loaderWaferB;
         private List<string> m_RtDataKeys = new List<string>();
         private Dictionary<string, object> m_RtDataValues;
         private bool m_EFEMIsInstalled;
-        private bool m_loaderInstalled;
         private WaferInfo m_EFEMBladeAWafer;
         private WaferInfo m_EFEMBladeBWafer;
         private WaferInfo m_Aligner1Wafer;
+        private WaferInfo m_vpw1Wafer;
+        private WaferInfo m_vpw2Wafer;
+        private WaferInfo m_platingCell1Wafer;
+        private WaferInfo m_platingCell2Wafer;
+        private WaferInfo m_platingCell3Wafer;
+        private WaferInfo m_platingCell4Wafer;
         private int m_LP1WaferCount;
         private int m_LP2WaferCount;
-        private int m_LP3WaferCount;
         private int m_dummy1WaferCount;
         private int m_dummy2WaferCount;
 
@@ -96,68 +93,20 @@ namespace PunkHPX8_MainPages.ViewModels
         private int m_CycleCountDisplay;
 
         private EFEM.RobotPosition m_CurrentRobotPosition;
-        
-        /// <summary>
-        /// Loader的sideA开启状态
-        /// </summary>
-        private bool m_loaderWaferVisibleA = false;
-        /// <summary>
-        /// Loader的sideB开启状态
-        /// </summary>
-        private bool m_loaderWaferVisibleB = false;
 
         private WaferInfo m_BladeAWafer;
         private WaferInfo m_BladeBWafer;
 
-        private string m_ATMModeIsOn;
-
         private string m_RouteState;
         /// <summary>
         /// 定时器
         /// </summary>
         private DispatcherTimer _timer;
         /// <summary>
-        /// 定时器1
-        /// </summary>
-        private DispatcherTimer _timer1;
-        /// <summary>
-        /// Loader1 Rotation Axis
-        /// </summary>
-        private BeckhoffStationAxis _loader1RotationAxis;
-        /// <summary>
-        /// Loader1 TlitA Axis
-        /// </summary>
-        private BeckhoffStationAxis _loader1TiltAAxis;
-        /// <summary>
-        /// Loader1 TlitB Axis
-        /// </summary>
-        private BeckhoffStationAxis _loader1TiltBAxis;
-        /// <summary>
-        /// Loader1 Rotation实际位置数据
-        /// </summary>
-        private double _loader1RotationMotorPosition;
-        /// <summary>
-        /// Loader1 TiltA实际位置数据
-        /// </summary>
-        private double _loader1TiltAMotorPosition;
-        /// <summary>
-        /// Loader1 TiltB实际位置数据
-        /// </summary>
-        private double _loader1TiltBMotorPosition;
-        /// <summary>
-        /// Loader1 TiltA当前station
-        /// </summary>
-        private string _loaderTiltACurrentStation;
-        /// <summary>
-        /// Loader1 TiltB当前station
-        /// </summary>
-        private string _loaderTiltBCurrentStation;
-        /// <summary>
         /// 是否存在Job
         /// </summary>
         private bool _isLp1HasNoJob;
         private bool _isLp2HasNoJob;
-        private bool _isLp3HasNoJob;
         #endregion
 
         #region  属性
@@ -171,11 +120,6 @@ namespace PunkHPX8_MainPages.ViewModels
             get { return _isLp2Unable; }
             set { SetProperty(ref _isLp2Unable, value); }
         }
-        public bool IsLP3Unable
-        {
-            get { return _isLp3Unable; }
-            set { SetProperty(ref _isLp3Unable, value); }
-        }
         public ModuleInfo LP1ModuleInfo
         {
             get { return _LP1ModuleInfo; }
@@ -192,12 +136,6 @@ namespace PunkHPX8_MainPages.ViewModels
             get { return _LP2ModuleInfo; }
             set { SetProperty(ref _LP2ModuleInfo, value); }
         }
-        public ModuleInfo LP3ModuleInfo
-        {
-            get { return _LP3ModuleInfo; }
-            set { SetProperty(ref _LP3ModuleInfo, value); }
-        }
-
         public ModuleInfo SRD1ModuleInfo
         {
             get { return _srd1ModuleInfo; }
@@ -220,11 +158,6 @@ namespace PunkHPX8_MainPages.ViewModels
             get { return _dummy2ModuleInfo; }
             set { SetProperty(ref _dummy2ModuleInfo, value); }
         }
-        public ModuleInfo LoaderModuleInfo
-        {
-            get { return _loaderModuleInfo; }
-            set { SetProperty(ref _loaderModuleInfo, value); }
-        }
         public WaferRobotTAction Robot1TAction
         {
             get { return m_Robot1TAction; }
@@ -297,17 +230,46 @@ namespace PunkHPX8_MainPages.ViewModels
             get { return m_EFEMBladeBWafer; }
             set { SetProperty(ref m_EFEMBladeBWafer, value); }
         }
-        public bool LoaderIsInstalled
-        {
-            get { return m_loaderInstalled; }
-            set { SetProperty(ref m_loaderInstalled, value); }
-        }
         public WaferInfo Aligner1Wafer
         {
             get { return m_Aligner1Wafer; }
             set { SetProperty(ref m_Aligner1Wafer, value); }
         }
 
+        public WaferInfo VPW1Wafer
+        {
+            get { return m_vpw1Wafer; }
+            set { SetProperty(ref m_vpw1Wafer, value); }
+        }
+
+        public WaferInfo VPW2Wafer
+        {
+            get { return m_vpw2Wafer; }
+            set { SetProperty(ref m_vpw2Wafer, value); }
+        }
+
+        public WaferInfo PlatingCell1Wafer
+        {
+            get { return m_platingCell1Wafer; }
+            set { SetProperty(ref m_platingCell1Wafer, value); }
+        }
+
+        public WaferInfo PlatingCell2Wafer
+        {
+            get { return m_platingCell2Wafer; }
+            set { SetProperty(ref m_platingCell2Wafer, value); }
+        }
+        public WaferInfo PlatingCell3Wafer
+        {
+            get { return m_platingCell3Wafer; }
+            set { SetProperty(ref m_platingCell3Wafer, value); }
+        }
+        public WaferInfo PlatingCell4Wafer
+        {
+            get { return m_platingCell4Wafer; }
+            set { SetProperty(ref m_platingCell4Wafer, value); }
+        }
+
         public WaferInfo SRD1Wafer
         {
             get { return m_srd1Wafer; }
@@ -319,16 +281,6 @@ namespace PunkHPX8_MainPages.ViewModels
             get { return m_srd2Wafer; }
             set { SetProperty(ref m_srd2Wafer, value); }
         }
-        public WaferInfo LoaderWaferA
-        {
-            get { return m_loaderWaferA; }
-            set { SetProperty(ref m_loaderWaferA, value); }
-        }
-        public WaferInfo LoaderWaferB
-        {
-            get { return m_loaderWaferB; }
-            set { SetProperty(ref m_loaderWaferB, value); }
-        }
         public int LP1WaferCount
         {
             get { return m_LP1WaferCount; }
@@ -339,11 +291,6 @@ namespace PunkHPX8_MainPages.ViewModels
             get { return m_LP2WaferCount; }
             set { SetProperty(ref m_LP2WaferCount, value); }
         }
-        public int LP3WaferCount
-        {
-            get { return m_LP3WaferCount; }
-            set { SetProperty(ref m_LP3WaferCount, value); }
-        }
         public int Dummy1WaferCount
         {
             get { return m_dummy1WaferCount; }
@@ -392,95 +339,12 @@ namespace PunkHPX8_MainPages.ViewModels
             get { return m_BladeBWafer; }
             set { SetProperty(ref m_BladeBWafer, value); }
         }
-        public string ATMModeIsOn
-        {
-            get { return m_ATMModeIsOn; }
-            set { SetProperty(ref m_ATMModeIsOn, value); }
-        }
       
         public string RouteState
         {
             get { return m_RouteState; }
             set { SetProperty(ref m_RouteState, value); }
         }
-        /// <summary>
-        /// Loader的sideA开启状态
-        /// </summary>
-        public bool LoaderWaferVisibleA
-        {
-            get { return m_loaderWaferVisibleA; }
-            set { SetProperty(ref m_loaderWaferVisibleA, value); }
-        }
-        /// <summary>
-        /// Loader的sideB开启状态
-        /// </summary>
-        public bool LoaderWaferVisibleB
-        {
-            get { return m_loaderWaferVisibleB; }
-            set { SetProperty(ref m_loaderWaferVisibleB, value); }
-        }
-       
-        /// <summary>
-        /// Loader1 Rotation Axis     
-        /// </summary>
-        public BeckhoffStationAxis Loader1RotationAxis
-        {
-            get { return _loader1RotationAxis; }
-            set { SetProperty(ref _loader1RotationAxis, value); }
-        }
-        /// <summary>
-        /// Loader1 TiltA Axis     
-        /// </summary>
-        public BeckhoffStationAxis Loader1TiltAAxis
-        {
-            get { return _loader1TiltAAxis; }
-            set { SetProperty(ref _loader1TiltAAxis, value); }
-        }
-        /// <summary>
-        /// Loader1 TiltB Axis     
-        /// </summary>
-        public BeckhoffStationAxis Loader1TiltBAxis
-        {
-            get { return _loader1TiltBAxis; }
-            set { SetProperty(ref _loader1TiltBAxis, value); }
-        }
-        /// <summary>
-        /// Loader1 Rotation实际位置数据
-        /// </summary>
-        public double Loader1RotationMotorPosition
-        {
-            get { return _loader1RotationMotorPosition; }
-            set { SetProperty(ref _loader1RotationMotorPosition, value); }
-        }
-        /// <summary>
-        /// Loader1 TiltA实际位置数据
-        /// </summary>
-        public double Loader1TiltAMotorPosition
-        {
-            get { return _loader1TiltAMotorPosition; }
-            set { SetProperty(ref _loader1TiltAMotorPosition, value); }
-        }
-        /// <summary>
-        /// Loader1 TiltB实际位置数据
-        /// </summary>
-        public double Loader1TiltBMotorPosition
-        {
-            get { return _loader1TiltBMotorPosition; }
-            set { SetProperty(ref _loader1TiltBMotorPosition, value); }
-        }
-        public string LoaderTiltACurrentStation
-        {
-            get { return _loaderTiltACurrentStation; }
-            set { SetProperty(ref _loaderTiltACurrentStation, value); }
-        }
-        /// <summary>
-        /// Loader TiltB当前station
-        /// </summary>
-        public string LoaderTiltBCurrentStation
-        {
-            get { return _loaderTiltBCurrentStation; }
-            set { SetProperty(ref _loaderTiltBCurrentStation, value); }
-        }
         public bool IsLP1HasNoJob
         {
             get { return _isLp1HasNoJob; }
@@ -491,11 +355,6 @@ namespace PunkHPX8_MainPages.ViewModels
             get { return _isLp2HasNoJob; }
             set { SetProperty(ref _isLp2HasNoJob, value); }
         }
-        public bool IsLP3HasNoJob
-        {
-            get { return _isLp3HasNoJob; }
-            set { SetProperty(ref _isLp3HasNoJob, value); }
-        }
         #endregion
 
         #region 命令
@@ -559,12 +418,9 @@ namespace PunkHPX8_MainPages.ViewModels
         #endregion
 
         #region 构造函数
-        public OperationOverViewModelNew()
+        public OperationOverNewViewModel()
         {
             addDataKeys();
-
-            ATMModeIsOn = Convert.ToBoolean(QueryDataClient.Instance.Service.GetConfig("System.IsATMMode")) == true ? "ATM Mode On" : "ATM Mode Off";
-
         }
 
         #endregion
@@ -580,7 +436,6 @@ namespace PunkHPX8_MainPages.ViewModels
             {
                 List<string> allModules = CommonFunction.GetValue<List<string>>(allModulesDictionary, "System.InstalledModules");
                 EFEMIsInstalled = allModules.Contains("EFEM");
-                LoaderIsInstalled = allModules.Contains(ModuleName.Loader1.ToString());
             }
             if (_timer == null)
             {
@@ -589,14 +444,6 @@ namespace PunkHPX8_MainPages.ViewModels
                 _timer.Tick += Timer_Tick;
             }
             _timer.Start();
-            if (_timer1 == null)
-            {
-                _timer1 = new DispatcherTimer();
-                _timer1.Interval = TimeSpan.FromMilliseconds(50);
-                _timer1.Tick += Timer1_Tick; 
-            }
-            _timer1.Start();            
-
             RtDataValues = QueryDataClient.Instance.Service.PollData(m_RtDataKeys);
         }
 
@@ -610,12 +457,6 @@ namespace PunkHPX8_MainPages.ViewModels
             {
                 _timer.Stop();
             }
-            if (_timer1 != null)
-            {
-                _timer1.Stop();
-            }
-            
-
         }
         
         private void OnMap(object obj)
@@ -722,15 +563,12 @@ namespace PunkHPX8_MainPages.ViewModels
 
             LP1ModuleInfo = ModuleManager.ModuleInfos["LP1"];
             LP2ModuleInfo = ModuleManager.ModuleInfos["LP2"];
-            LP3ModuleInfo = ModuleManager.ModuleInfos["LP3"];
             EFEMModuleInfo = ModuleManager.ModuleInfos["EfemRobot"];
             SRD1ModuleInfo = ModuleManager.ModuleInfos["SRD1"];
             SRD2ModuleInfo = ModuleManager.ModuleInfos["SRD2"];
             Dummy1ModuleInfo = ModuleManager.ModuleInfos["Dummy1"];
             Dummy2ModuleInfo = ModuleManager.ModuleInfos["Dummy2"];
 
-            LoaderModuleInfo = ModuleManager.ModuleInfos["Loader1"];
-
             if (ModuleManager.ModuleInfos["EfemRobot"].WaferManager.Wafers.Count != 0)
             {
                 BladeAWafer = ModuleManager.ModuleInfos["EfemRobot"].WaferManager.Wafers[0];
@@ -747,6 +585,30 @@ namespace PunkHPX8_MainPages.ViewModels
                     Aligner1Wafer = ModuleManager.ModuleInfos["Aligner1"].WaferManager.Wafers[0];
                 }
             }
+            if (ModuleManager.ModuleInfos["VPW1"].WaferManager.Wafers.Count != 0)
+            {
+                VPW1Wafer = ModuleManager.ModuleInfos["VPW1"].WaferManager.Wafers[0];
+            }
+            if (ModuleManager.ModuleInfos["VPW2"].WaferManager.Wafers.Count != 0)
+            {
+                VPW2Wafer = ModuleManager.ModuleInfos["VPW2"].WaferManager.Wafers[0];
+            }
+            if (ModuleManager.ModuleInfos["PlatingCell1"].WaferManager.Wafers.Count!=0)
+            {
+                PlatingCell1Wafer = ModuleManager.ModuleInfos["PlatingCell1"].WaferManager.Wafers[0];
+            }
+            if (ModuleManager.ModuleInfos["PlatingCell2"].WaferManager.Wafers.Count != 0)
+            {
+                PlatingCell2Wafer = ModuleManager.ModuleInfos["PlatingCell2"].WaferManager.Wafers[0];
+            }
+            if (ModuleManager.ModuleInfos["PlatingCell3"].WaferManager.Wafers.Count != 0)
+            {
+                PlatingCell3Wafer = ModuleManager.ModuleInfos["PlatingCell3"].WaferManager.Wafers[0];
+            }
+            if (ModuleManager.ModuleInfos["PlatingCell4"].WaferManager.Wafers.Count != 0)
+            {
+                PlatingCell4Wafer = ModuleManager.ModuleInfos["PlatingCell4"].WaferManager.Wafers[0];
+            }
             if (SRD1ModuleInfo != null&& SRD1ModuleInfo.WaferManager.Wafers.Count!=0)
             {
                 SRD1Wafer = SRD1ModuleInfo.WaferManager.Wafers[0];
@@ -755,22 +617,10 @@ namespace PunkHPX8_MainPages.ViewModels
             {
                 SRD2Wafer = SRD2ModuleInfo.WaferManager.Wafers[0];
             }
-            if(LoaderIsInstalled&&LoaderModuleInfo!=null)
-            {
-                if (LoaderModuleInfo.WaferManager.Wafers.Count != 0)
-                {
-                    LoaderWaferA = LoaderModuleInfo.WaferManager.Wafers[0];
-                }
-                if (LoaderModuleInfo.WaferManager.Wafers.Count != 0)
-                {
-                    LoaderWaferB = LoaderModuleInfo.WaferManager.Wafers[1];
-                }
-            }
             RobotMoveInfo = (RobotMoveInfo)QueryDataClient.Instance.Service.GetData("TM.RobotMoveAction");
             EfemRobotMoveInfo = (RobotMoveInfo)QueryDataClient.Instance.Service.GetData("EFEM.RobotMoveAction");
             LP1WaferCount = LP1ModuleInfo.WaferManager.Wafers.Where(x => x.WaferStatus != 0).Count();
             LP2WaferCount = LP2ModuleInfo.WaferManager.Wafers.Where(x => x.WaferStatus != 0).Count();
-            LP3WaferCount = LP3ModuleInfo.WaferManager.Wafers.Where(x => x.WaferStatus != 0).Count();
             //Dummy1WaferCount = 15;
             Dummy1WaferCount = Dummy1ModuleInfo.WaferManager.Wafers.Where(x => x.WaferStatus != 0).Count();
             Dummy2WaferCount = Dummy2ModuleInfo.WaferManager.Wafers.Where(x => x.WaferStatus != 0).Count();
@@ -779,7 +629,6 @@ namespace PunkHPX8_MainPages.ViewModels
 
             IsLP1Unable = (bool)QueryDataClient.Instance.Service.GetConfig("EFEM.IsLoadPort1Unable");
             IsLP2Unable = (bool)QueryDataClient.Instance.Service.GetConfig("EFEM.IsLoadPort2Unable");
-            IsLP3Unable = (bool)QueryDataClient.Instance.Service.GetConfig("EFEM.IsLoadPort3Unable");
 
             if (RtDataValues != null)
             {
@@ -795,55 +644,10 @@ namespace PunkHPX8_MainPages.ViewModels
                 IsLP1HasNoJob = lp1Cj == null ? true : false;
                 ControlJobInfo lp2Cj = CommonFunction.GetValue<ControlJobInfo>(RtDataValues, "LP2.CurrentControlJob");
                 IsLP2HasNoJob = lp2Cj == null ? true : false;
-                ControlJobInfo lp3Cj = CommonFunction.GetValue<ControlJobInfo>(RtDataValues, "LP3.CurrentControlJob");
-                IsLP3HasNoJob = lp3Cj == null ? true : false;
             }
         }
 
         int count = 0;
-        /// <summary>
-        /// 定时器1
-        /// </summary>
-        /// <param name="sender"></param>
-        /// <param name="e"></param>
-        private void Timer1_Tick(object sender, EventArgs e)
-        {
-            if (m_RtDataKeys.Count != 0)
-            {
-                RtDataValues = QueryDataClient.Instance.Service.PollData(m_RtDataKeys);
-                if (RtDataValues != null) 
-                {                
-                   
-                    Loader1TiltAMotorPosition = CommonFunction.GetValue<double>(RtDataValues, $"Loader1.TiltA.{MOTOR_POSITION}");
-                    Loader1TiltBMotorPosition = CommonFunction.GetValue<double>(RtDataValues, $"Loader1.TiltB.{MOTOR_POSITION}");
-                    Loader1RotationMotorPosition = CommonFunction.GetValue<double>(RtDataValues, $"Loader1.Rotation.{MOTOR_POSITION}");
-                    //判断Loader1的TiltA水平状态
-                    LoaderTiltACurrentStation = CommonFunction.GetCurrentStationLastContent(CommonFunction.GetValue<string>(RtDataValues, $"Loader1.TiltA.{CURRENT_STATION}"), "Loader1.TiltA");
-                    if (LoaderTiltACurrentStation == "HORI")
-                    {
-
-                        LoaderWaferVisibleA = true;
-                    }
-                    else if(LoaderTiltACurrentStation == "VERT")
-                    {
-                        LoaderWaferVisibleA = false;
-                    }
-                    //判断Loader1的TiltB水平状态
-                    LoaderTiltBCurrentStation = CommonFunction.GetCurrentStationLastContent(CommonFunction.GetValue<string>(RtDataValues, $"Loader1.TiltB.{CURRENT_STATION}"), "Loader1.TiltB");
-                    if (LoaderTiltBCurrentStation == "HORI")
-                    {
-                        LoaderWaferVisibleB = true;
-                    }
-                    else if (LoaderTiltBCurrentStation == "VERT")
-                    {
-                        LoaderWaferVisibleB = false;
-                    }
-
-                }
-
-            }
-                       
-        }
         
         private async void RobotMoveInfoChanged(RobotMoveInfo oldValue, RobotMoveInfo newValue)
         {
@@ -1188,16 +992,12 @@ namespace PunkHPX8_MainPages.ViewModels
         {
             m_RtDataKeys.Add("LP1.IsLoaded");
             m_RtDataKeys.Add("LP2.IsLoaded");
-            m_RtDataKeys.Add("LP3.IsLoaded");
             m_RtDataKeys.Add("LP1.CassettePlaced");
             m_RtDataKeys.Add("LP2.CassettePlaced");
-            m_RtDataKeys.Add("LP3.CassettePlaced");
             m_RtDataKeys.Add("LP1.CurrentControlJob");
             m_RtDataKeys.Add("LP2.CurrentControlJob");
-            m_RtDataKeys.Add("LP3.CurrentControlJob");
             m_RtDataKeys.Add("LP1.WaferSize");
             m_RtDataKeys.Add("LP2.WaferSize");
-            m_RtDataKeys.Add("LP3.WaferSize"); 
             m_RtDataKeys.Add("Dummy1.CassettePlaced"); 
             m_RtDataKeys.Add("Dummy2.CassettePlaced");
             m_RtDataKeys.Add("Dummy1.WaferSize");
@@ -1212,8 +1012,6 @@ namespace PunkHPX8_MainPages.ViewModels
             m_RtDataKeys.Add("Scheduler.Throughput");
             m_RtDataKeys.Add("EquipmentStatus");
             m_RtDataKeys.Add("Scheduler.PjNameList");
-            m_RtDataKeys.Add("PUF1.IsInRobotStation");
-
             m_RtDataKeys.Add("Scheduler.CjNameList");
         }
        

+ 4 - 2
PunkHPX8_MainPages/Views/OperationOverViewNew.xaml

@@ -1,4 +1,4 @@
-<UserControl x:Class="PunkHPX8_MainPages.Views.OperationOverViewNew"
+<UserControl x:Class="PunkHPX8_MainPages.Views.OperationOverNewView"
              xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
              xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
@@ -53,7 +53,9 @@
             </StackPanel>
         </Border>
         <Canvas >
-            <userControls:CellChamber  Height="600" Width="1000" Canvas.Left="130" Canvas.Top="106"></userControls:CellChamber>
+            <userControls:CellChamber  Height="600" Width="1000" Canvas.Left="130" Canvas.Top="106" VPW1Wafer="{Binding VPW1Wafer}"
+                                       VPW2Wafer="{Binding VPW2Wafer}" PlatingCell1Wafer="{Binding PlatingCell1Wafer}" PlatingCell2Wafer="{Binding PlatingCell2Wafer}"
+                                       PlatingCell3Wafer="{Binding PlatingCell3Wafer}" PlatingCell4Wafer="{Binding PlatingCell4Wafer}"></userControls:CellChamber>
         </Canvas>
         <Canvas Canvas.Left="160" Canvas.Top="-165">
             <TabPanel  Canvas.Left="1170"  Canvas.Top="140" Visibility="{Binding ElementName=CarrierRadioButton,Path=IsChecked,Converter={StaticResource boolToVisibility2}}">

+ 2 - 2
PunkHPX8_MainPages/Views/OperationOverViewNew.xaml.cs

@@ -19,9 +19,9 @@ namespace PunkHPX8_MainPages.Views
     /// <summary>
     /// OperationOverViewNew.xaml 的交互逻辑
     /// </summary>
-    public partial class OperationOverViewNew : UserControl
+    public partial class OperationOverNewView : UserControl
     {
-        public OperationOverViewNew()
+        public OperationOverNewView()
         {
             InitializeComponent();
         }

+ 2 - 2
PunkHPX8_RT/Config/Layout/ToolLayoutConfiguration.xml

@@ -243,7 +243,7 @@
 			<PermittedWaferSizeInMM>200</PermittedWaferSizeInMM>
 			<ResourceID>Dummy1</ResourceID>
 			<Type>Dummy</Type>
-			<MaxNumberOfSlots>25</MaxNumberOfSlots>
+			<MaxNumberOfSlots>3</MaxNumberOfSlots>
 			<DummyCassetteID>1</DummyCassetteID>
 		</Item>
 		<Item i:type="DummyCassette">
@@ -251,7 +251,7 @@
 			<PermittedWaferSizeInMM>200</PermittedWaferSizeInMM>
 			<ResourceID>Dummy1</ResourceID>
 			<Type>Dummy</Type>
-			<MaxNumberOfSlots>25</MaxNumberOfSlots>
+			<MaxNumberOfSlots>3</MaxNumberOfSlots>
 			<DummyCassetteID>2</DummyCassetteID>
 		</Item>
 

+ 16 - 6
PunkHPX8_Themes/UserControls/CellChamber.xaml

@@ -410,7 +410,17 @@
 
             <Polygon Points="1300,945 1300,900 1350,900 1350,945 1300,945" Fill="DarkGray" StrokeThickness="2" >
             </Polygon>
-            
+            <Canvas Width="300" Height="300" Canvas.Left="700" Canvas.Top="500">
+                <Rectangle Width="300" Height="300">
+                    <Rectangle.Fill>
+                        <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
+                            <GradientStop Color="Silver" Offset="0.0" />
+                            <GradientStop Color="White" Offset="0.5" />
+                            <GradientStop Color="Silver" Offset="1" />
+                        </LinearGradientBrush>
+                    </Rectangle.Fill>
+                </Rectangle>
+            </Canvas>
             <Canvas Width="500" Height="500" Canvas.Left="480" Canvas.Top="300"  RenderTransformOrigin="1 1">
                 <Canvas.RenderTransform>
                     <TransformGroup>
@@ -418,7 +428,7 @@
                     </TransformGroup>
                 </Canvas.RenderTransform>
 
-                <customControls:PunkRobotControl  OriginT="T_Origin"  Canvas.Left="150" Canvas.Top="85"   Width="540" Height="810"     RobotTAction="{Binding ElementName=efem,Path=RobotATAction}"  RobotXAction="{Binding ElementName=efem,Path=RobotAXAction}" RobotWafer="{Binding ElementName=efem,Path=RobotAWaferInfo}" Robot2Wafer="{Binding ElementName=efem,Path=RobotBWaferInfo}"/>
+                <customControls:GuangChuanRobotControl  OriginT="T_Origin"  Canvas.Left="-30" Canvas.Top="-180"   Width="540" Height="810"     RobotTAction="{Binding ElementName=efem,Path=RobotATAction}"  RobotXAction="{Binding ElementName=efem,Path=RobotAXAction}" RobotWafer="{Binding ElementName=efem,Path=RobotAWaferInfo}"/>
             </Canvas>
 
             <local:Loadport Canvas.Left="300" Canvas.Top="270" Width="300" Height="300" RotateTransformValue="90" HorizontalAlignment="Left" VerticalAlignment="Top"/>
@@ -442,11 +452,11 @@
 
             <TextBox IsReadOnly="True" BorderThickness="0"  Text="LP1" Canvas.Left="-243"  Canvas.Top="378" FontSize="55" Width="280"  Height="84" Background="Transparent" HorizontalContentAlignment="Center" HorizontalAlignment="Left" VerticalAlignment="Top"/>
             <TextBox IsReadOnly="True" BorderThickness="0"  Text="LP2" Canvas.Left="-243"  Canvas.Top="754" FontSize="55" Width="280"  Height="82" Background="Transparent"  HorizontalContentAlignment="Center" HorizontalAlignment="Left" VerticalAlignment="Top" RenderTransformOrigin="0.709,0.612"/>
-            <local:DualChamber Canvas.Left="1280" Canvas.Top="996" Width="400" RotateTransformValue="0" RobotWafer1="{Binding PlatingCell3Wafer}" RobotWafer2="{Binding PlatingCell4Wafer}" HorizontalAlignment="Center" VerticalAlignment="Top"></local:DualChamber>
-            <local:DualChamber Canvas.Left="1280" Canvas.Top="-45" Width="400" RotateTransformValue="180" RobotWafer1="{Binding PlatingCell2Wafer}" RobotWafer2="{Binding PlatingCell1Wafer}" HorizontalAlignment="Center" VerticalAlignment="Top"></local:DualChamber>
-            <local:DualChamber Canvas.Left="1712" Canvas.Top="445" Width="400" RotateTransformValue="270" RobotWafer1="{Binding VPW2Wafer}" RobotWafer2="{Binding VPW1Wafer}" HorizontalAlignment="Left" VerticalAlignment="Center"></local:DualChamber>
+            <local:DualChamber Canvas.Left="1280" Canvas.Top="996" Width="400" RotateTransformValue="0" RobotWafer1="{Binding ElementName=efem,Path=PlatingCell1Wafer}" RobotWafer2="{Binding ElementName=efem,Path=PlatingCell2Wafer}" HorizontalAlignment="Center" VerticalAlignment="Top"></local:DualChamber>
+            <local:DualChamber Canvas.Left="1280" Canvas.Top="-45" Width="400" RotateTransformValue="180" RobotWafer1="{Binding ElementName=efem,Path=PlatingCell3Wafer}" RobotWafer2="{Binding ElementName=efem,Path=PlatingCell4Wafer}" HorizontalAlignment="Center" VerticalAlignment="Top"></local:DualChamber>
+            <local:DualChamber Canvas.Left="1712" Canvas.Top="445" Width="400" RotateTransformValue="270" RobotWafer1="{Binding ElementName=efem,Path=VPW1Wafer}" RobotWafer2="{Binding ElementName=efem,Path=VPW2Wafer}" HorizontalAlignment="Left" VerticalAlignment="Center"></local:DualChamber>
             <local:DummyCassette Canvas.Left="380" Canvas.Top="965" RotateTransformValue="0" Width="225" Height="225" HorizontalAlignment="Left" VerticalAlignment="Top"/>
-            <local:SRD CassetteName="SRD" Canvas.Top="13" Width="225" Height="225" HorizontalAlignment="Center" VerticalAlignment="Top" SRD1Wafer="{Binding Srd1Wafer}" SRD2Wafer="{Binding Srd2Wafer}" SRDVisibility="Visible" Canvas.Left="450"/>
+            <local:SRD CassetteName="SRD" Canvas.Top="13" Width="225" Height="225" HorizontalAlignment="Center" VerticalAlignment="Top" Canvas.Left="450"/>
 
         </Canvas>
     </Viewbox>

+ 2 - 2
PunkHPX8_UI/Config/UIMenu.json

@@ -7,10 +7,10 @@
 
 		"MenuItem": [
 			{
-				"Id": "OperationOverView",
+				"Id": "OperationOverNewView",
 				"IsShow": "true",
 				"Name": "OverView",
-				"View": "OperationOverViewNew"
+				"View": "OperationOverNewView"
 			},
 			{
 				"Id": "JobOperationView",