浏览代码

现场调试 ,添加match c1/c2下发功能

lixiang 2 年之前
父节点
当前提交
e30c3e7c9c

+ 43 - 8
Venus/Venus_MainPages/ViewModels/OverViewModel.cs

@@ -11,6 +11,7 @@ using Venus_Core;
 using Venus_MainPages.Views;
 using System.Linq;
 using System.Threading;
+using System.Threading.Tasks;
 
 namespace Venus_MainPages.ViewModels
 {
@@ -633,8 +634,31 @@ namespace Venus_MainPages.ViewModels
             InvokeClient.Instance.Service.DoOperation($"{ModuleName}.SetLiftPin", Convert.ToBoolean(upDown));
         }
 
-        private void OnSetSRf()
+        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)
             {
                 InvokeClient.Instance.Service.DoOperation($"{ModuleName}.SetSRf", SRFFwdPowerSetpoint, false);
@@ -642,9 +666,14 @@ namespace Venus_MainPages.ViewModels
             }
             else
             {
-                InvokeClient.Instance.Service.DoOperation($"{ModuleName}.{VenusDevice.Match}.{AITRfOperation.SetMatchPositionC1}", SRFMatchC1);
-                InvokeClient.Instance.Service.DoOperation($"{ModuleName}.{VenusDevice.Match}.{AITRfOperation.SetMatchPositionC2}", SRFMatchC2);
-                Thread.Sleep(100);
+                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(100);
+                    return 42;
+                });
+                await t;
                 InvokeClient.Instance.Service.DoOperation($"{ModuleName}.SetSRf", SRFFwdPowerSetpoint, true);
 
             }
@@ -652,7 +681,7 @@ namespace Venus_MainPages.ViewModels
 
 
         }
-        private void OnSetBRf()
+        private async void OnSetBRf()
         {
             if (BRFIsOn == true)
             {
@@ -661,9 +690,15 @@ namespace Venus_MainPages.ViewModels
             }
             else
             {
-                InvokeClient.Instance.Service.DoOperation($"{ModuleName}.{VenusDevice.BiasMatch}.{AITRfOperation.SetMatchPositionC1}", BRFMatchC1);
-                InvokeClient.Instance.Service.DoOperation($"{ModuleName}.{VenusDevice.BiasMatch}.{AITRfOperation.SetMatchPositionC2}", BRFMatchC2);
-                Thread.Sleep(100);
+                InvokeClient.Instance.Service.DoOperation($"{ModuleName}.{VenusDevice.BiasMatch}.{AITRfOperation.SetMatchPosition}", BRFMatchC1,BRFMatchC2);
+                //InvokeClient.Instance.Service.DoOperation($"{ModuleName}.{VenusDevice.BiasMatch}.{AITRfOperation.SetMatchPositionC2}", BRFMatchC2);
+                //Thread.Sleep(100);
+                var t = Task.Run(async delegate
+                {
+                    await Task.Delay(100);
+                    return 42;
+                });
+                await t;
                 InvokeClient.Instance.Service.DoOperation($"{ModuleName}.SetBRf", BRFFwdPowerSetpoint, true);
             }
             

+ 4 - 4
Venus/Venus_MainPages/Views/OverView.xaml

@@ -222,8 +222,8 @@
         
         <Ellipse Width="20" Height="20" Fill="{Binding BRFIsOn,Converter={StaticResource boolToColor}}"  Canvas.Left="650" Canvas.Top="305"/>
         <Button Height="20" Width="100" Content="BRF ON/OFF" Canvas.Left="680" Canvas.Top="305" Command="{Binding SetBRfCommand}"  Background="Gray"/>
-        <!--<Ellipse Width="20" Height="20" Fill="{Binding GasIsOn,Converter={StaticResource boolToColor}}"  Canvas.Left="500" Canvas.Top="590"/>-->
-        <Button Width="100" Content="Gas SetPoint" Canvas.Left="390" Canvas.Top="650" Background="Gray" Command="{Binding GasSetPointCommand}"/>
+        <Ellipse Width="20" Height="20" Fill="{Binding GasIsFlowing,Converter={StaticResource boolToColor}}"  Canvas.Left="360" Canvas.Top="650"/>
+        <Button Width="100" Content="Gas ON/OFF" Canvas.Left="390" Canvas.Top="650" Background="Gray" Command="{Binding GasSetPointCommand}"/>
         <Button Height="20"  Content="HV SetPoint" Canvas.Left="1290" Canvas.Top="316" Command="{Binding HVSetCommand}"  Background="Gray"/>
         <Ellipse Width="20" Height="20" Fill="{Binding HVIsOn,Converter={StaticResource boolToColor}}"  Canvas.Left="1380" Canvas.Top="316"/>
         <Button Height="20" Width="100" Content="HV ON/OFF" Canvas.Left="1410" Canvas.Top="316" Command="{Binding HVCommand}" CommandParameter="True" Background="Gray"/>
@@ -664,8 +664,8 @@
             
             <TextBlock  Text="BRF Match Mode" Grid.Row="5" FontSize="15" VerticalAlignment="Center"  HorizontalAlignment="Center"/>
             <StackPanel Grid.Row="5" Grid.Column="1" Grid.ColumnSpan="2" Orientation="Horizontal">
-                <RadioButton  Content="Manual" VerticalContentAlignment="Center" Command="{Binding SetMatchModeCommand}" CommandParameter="BRFManual" IsChecked="{Binding RtDataValues[PMA.BiasMatch.WorkMode]}"/>
-                <RadioButton  Content="Auto"   VerticalContentAlignment="Center" Command="{Binding SetMatchModeCommand}" CommandParameter="BRFAuto" Margin="10,0,0,0" IsChecked="{Binding RtDataValues[PMA.BiasMatch.WorkMode]}"/>
+                <RadioButton  Content="Manual" VerticalContentAlignment="Center" Command="{Binding SetMatchModeCommand}" CommandParameter="BRFManual" IsChecked="{Binding RtDataValues[PMA.BiasMatch.WorkMode],Converter={StaticResource converters:IntToBoolConverter},Mode=OneWay}"/>
+                <RadioButton  Content="Auto"   VerticalContentAlignment="Center" Command="{Binding SetMatchModeCommand}" CommandParameter="BRFAuto" Margin="10,0,0,0" IsChecked="{Binding RtDataValues[PMA.BiasMatch.WorkMode],Converter={StaticResource converters:IntToBoolConverter2},Mode=OneWay}"/>
             </StackPanel>
 
             <TextBlock Grid.Row="6" Text="BRF Fwd Power(W)" FontSize="15" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="10,0,0,0"/>

+ 45 - 9
Venus/Venus_RT/Devices/AdTecRF.cs

@@ -18,6 +18,7 @@ using MECF.Framework.Common.Device.Bases;
 using MECF.Framework.Common.Equipment;
 using Venus_Core;
 using Venus_RT.Modules;
+using System.Threading;
 
 namespace Venus_RT.Devices
 {
@@ -721,8 +722,8 @@ namespace Venus_RT.Devices
                 return false;
             }
 
-            DATA.Subscribe($"{Module}.{Name}.C1", () => C1);
-            DATA.Subscribe($"{Module}.{Name}.C2", () => C2);
+            DATA.Subscribe($"{Module}.{Name}.C1", () => TunePosition1);
+            DATA.Subscribe($"{Module}.{Name}.C2", () => TunePosition2);
             DATA.Subscribe($"{Module}.{Name}.WorkMode", () => (int)WorkMode);
 
             OP.Subscribe($"{Module}.{Name}.SetC1", (func, args) =>
@@ -794,18 +795,53 @@ namespace Venus_RT.Devices
         /// </summary>
         /// <param name="c1,c2">百分比数字</param>
         /// <param name="c2"></param>
+        /// 
+        private  async void setPos(float c1, float c2)
+        {
+            base.SetMatchPosition(c1, c2, out _);
+            SetWorkMode(EnumRfMatchTuneMode.Manual);
+            var t = Task.Run(async delegate
+            {
+                await Task.Delay(200);
+                return 42;
+            });
+            await t;
+
+            SetPosition(c1, c2);
+
+            t = Task.Run(async delegate
+            {
+                await Task.Delay(200);
+                return 42;
+            });
+            await t;
+
+            SetPresetMemory(0);
+            t = Task.Run(async delegate
+            {
+                await Task.Delay(200);
+                return 42;
+            });
+            await t;
+
+            SetWorkMode(EnumRfMatchTuneMode.Auto);
+        }
         public override void SetMatchPosition(float c1, float c2, out string reason)
         {
+
+            LOG.Write(eEvent.WARN_RF, Module, $"AdTec Match error [{c1}, {c2}]");
             base.SetMatchPosition(c1, c2, out reason);
 
-            SetWorkMode(EnumRfMatchTuneMode.Manual);
+            setPos(c1, c2);
+           
+
 
-            Task.Delay(500)
-                .ContinueWith(_ => SetPosition(c1, c2))
-                .ContinueWith(_ => Task.Delay(500))
-                .ContinueWith(_ => SetPresetMemory(0))
-                .ContinueWith(_ => Task.Delay(500))
-                .ContinueWith(_ => SetWorkMode(EnumRfMatchTuneMode.Auto));
+            //Task.Delay(500)
+            //    .ContinueWith(_ => SetPosition(c1, c2))
+            //    .ContinueWith(_ => Task.Delay(500))
+            //    .ContinueWith(_ => SetPresetMemory(0))
+            //    .ContinueWith(_ => Task.Delay(500))
+            //    .ContinueWith(_ => SetWorkMode(EnumRfMatchTuneMode.Auto));
 
             reason = "";
         }

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

@@ -981,7 +981,7 @@ namespace Venus_RT.Devices
                 return false;
             }
 
-            if(WaferManager.Instance.CheckNoWafer(Module, 0))
+            if(device == VenusDevice.ESCHV && WaferManager.Instance.CheckNoWafer(Module, 0))
             {
                 LOG.Write(evt, Module, $"Cannot Power ON {deviceName} as {Module} has no wafer");
                 return false;

+ 1 - 1
Venus/Venus_Themes/Converters/BoolToColor.cs

@@ -13,7 +13,7 @@ namespace Venus_Themes.Converters
         public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
         {
 
-            return (bool)value ? new SolidColorBrush(Colors.Green) : new SolidColorBrush(Colors.Gray);
+            return (bool)value ? new SolidColorBrush(Colors.LimeGreen) : new SolidColorBrush(Colors.Gray);
         }
 
         public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)