Browse Source

1.解决跑片动画错误的bug(暂时提高刷新速度解决问题,后续考虑加入线程安全队列解决此问题)
2.recipe tolerance功能继续开发

lixiang 1 year ago
parent
commit
9da9c2f753

+ 15 - 9
Venus/Venus_MainPages/ViewModels/OperationOverViewModel.cs

@@ -179,7 +179,8 @@ namespace Venus_MainPages.ViewModels
             set
             {
                 RobotMoveInfoChanged(m_robotMoveInfo, value);
-                m_robotMoveInfo = value;
+                //m_robotMoveInfo = value;
+                SetProperty(ref m_robotMoveInfo, value);
             }
         }
         public WaferInfo LLAWafer
@@ -328,9 +329,11 @@ namespace Venus_MainPages.ViewModels
         {
             get { return m_EfemRobotMoveInfo; }
             set
-            {
+            {              
                 EFEMRobotMoveInfoChanged(m_EfemRobotMoveInfo, value);
-                m_EfemRobotMoveInfo = value;
+                //m_EfemRobotMoveInfo = value;
+                SetProperty(ref m_EfemRobotMoveInfo, value);
+
             }
         }
         public RobotPosition CurrentRobotPosition
@@ -450,7 +453,7 @@ namespace Venus_MainPages.ViewModels
         public OperationOverViewModel()
         {
             DispatcherTimer timer = new DispatcherTimer();
-            timer.Interval = TimeSpan.FromSeconds(0.1);
+            timer.Interval = TimeSpan.FromSeconds(0.01);
             timer.Tick += Timer_Tick;
             timer.Start();
 
@@ -699,7 +702,7 @@ namespace Venus_MainPages.ViewModels
             }
 
             #region Rotating
-            if (oldValue.Action == RobotAction.None && (newValue.Action == RobotAction.Rotating))
+            if ((oldValue.Action == RobotAction.None||oldValue.ArmTarget != newValue.ArmTarget) && (newValue.Action == RobotAction.Rotating))
             {
                 var TMRobotMoveActionBladeTarget = newValue.BladeTarget;
                 if (TMRobotMoveActionBladeTarget != null)
@@ -725,7 +728,7 @@ namespace Venus_MainPages.ViewModels
             #endregion
 
             #region pick 和 place LL
-            else if (oldValue.Action == RobotAction.None && (newValue.Action == RobotAction.Placing || newValue.Action == RobotAction.Picking))
+            else if ((oldValue.Action == RobotAction.None || oldValue.ArmTarget != newValue.ArmTarget) && (newValue.Action == RobotAction.Placing || newValue.Action == RobotAction.Picking))
             {
                 var TMRobotMoveActionBladeTarget = newValue.BladeTarget;
                 if (TMRobotMoveActionBladeTarget != null)
@@ -789,7 +792,7 @@ namespace Venus_MainPages.ViewModels
             #endregion
 
             #region pick 和 place pm
-            else if (oldValue.Action == RobotAction.None && newValue.Action == RobotAction.Extending)
+            else if ((oldValue.Action == RobotAction.None || oldValue.ArmTarget != newValue.ArmTarget) && newValue.Action == RobotAction.Extending)
             {
                 var TMRobotMoveActionBladeTarget = newValue.BladeTarget;
                 if (TMRobotMoveActionBladeTarget != null)
@@ -832,7 +835,7 @@ namespace Venus_MainPages.ViewModels
                     Robot2XAction = WaferRobotXAction.Extend;
                 }
             }
-            else if (oldValue.Action == RobotAction.None && newValue.Action == RobotAction.Retracting)
+            else if ((oldValue.Action == RobotAction.None|| oldValue.ArmTarget != newValue.ArmTarget) && newValue.Action == RobotAction.Retracting)
             {
                 var TMRobotMoveActionBladeTarget = newValue.BladeTarget;
                 if (TMRobotMoveActionBladeTarget != null)
@@ -866,7 +869,8 @@ namespace Venus_MainPages.ViewModels
                 return;
             }
             #region pick 和 place LL
-            if (oldValue.Action == RobotAction.None && (newValue.Action == RobotAction.Placing || newValue.Action == RobotAction.Picking))
+            
+            if ((oldValue.Action == RobotAction.None || oldValue.ArmTarget!=newValue.ArmTarget) && (newValue.Action == RobotAction.Placing || newValue.Action == RobotAction.Picking))
             {
                 var TMRobotMoveActionBladeTarget = newValue.BladeTarget;
                 if (TMRobotMoveActionBladeTarget != null)
@@ -990,6 +994,8 @@ namespace Venus_MainPages.ViewModels
             #endregion
 
         }
+
+
         private void addDataKeys()
         {
             if (PMAIsInstalled == true)

+ 5 - 0
Venus/Venus_MainPages/Views/OperationOverView.xaml

@@ -60,6 +60,11 @@
 
             <customControls:WaferRobotControl OriginT="PMA"    Canvas.Left="310" Canvas.Top="160"   Width="160" Height="240"     RobotTAction="{Binding Robot1TAction}" RobotXAction="{Binding Robot1XAction}"  RobotWafer="{Binding TMBladeAWafer}" IsEnabled="False" Opacity="{Binding RtDataValues[TM.IsOnline],Converter={StaticResource IsOnlineToOpacityConverter}}"/>
             <customControls:WaferRobotControl OriginT="PMD"    Canvas.Left="310" Canvas.Top="160"   Width="160" Height="240"     RobotTAction="{Binding Robot2TAction}" RobotXAction="{Binding Robot2XAction}"  RobotWafer="{Binding TMBladeBWafer}" IsEnabled="False" Opacity="{Binding RtDataValues[TM.IsOnline],Converter={StaticResource IsOnlineToOpacityConverter}}"/>
+
+
+            <TextBlock Text="{Binding RobotMoveInfo}"     FontSize="20" Canvas.Left="700" Canvas.Top="250" />
+
+            <TextBlock Text="{Binding EfemRobotMoveInfo}" FontSize="20" Canvas.Left="700" Canvas.Top="350" />
         </Canvas>
 
         <Grid Width="280" Height="170" Canvas.Left="30" Canvas.Top="250"  unity:GridOptions.LineBrush="#afb4db"  unity:GridOptions.ShowBorder="True" Background="#E9EDF4" Visibility="{Binding PMAIsInstalled,Converter={StaticResource bool2VisibilityConverter}}">

+ 2 - 0
Venus/Venus_Simulator/Devices/TMSimulatorServer.cs

@@ -36,6 +36,8 @@ namespace Venus_Simulator.Devices
 
             if (str.Contains("RQ WAF_CEN DATA"))
             {
+                Thread.Sleep(1500);
+
                 string t = new Random().Next(0, 359).ToString().PadLeft(6, '0');
                 string r = new Random().Next(0, 50000).ToString().PadLeft(6, '0');
                 OnWriteMessage($"WAF_CEN RT 000000 000000 000000 000000 LFT 000000 000000 000000 000000 OFFSET {r} {t}");