Browse Source

1 add vpw n2 animation
2 supplement safety data

chenzk 18 hours ago
parent
commit
ebc0f3b633

+ 21 - 0
PunkHPX8_MainPages/ViewModels/SystemSafetyViewModel.cs

@@ -29,9 +29,21 @@ namespace PunkHPX8_MainPages.ViewModels
         #region 内部变量
         private SafetyData _commonSafetyData;
 
+        #region VPW
+        private bool _isVpw1RotationOn;
+        private bool _isVpw2RotationOn;
+        #endregion
+
         #endregion
 
         #region 属性
+
+        #region VPW
+        public bool IsVpw1RotationOn { get { return _isVpw1RotationOn; } set { SetProperty(ref _isVpw1RotationOn, value); } }
+        public bool IsVpw2RotationOn { get { return _isVpw2RotationOn; } set { SetProperty(ref _isVpw2RotationOn, value); } }
+    
+        #endregion
+
         public SafetyData CommonSafetyData { get { return _commonSafetyData; } set { SetProperty(ref _commonSafetyData, value); } }
 
    
@@ -96,6 +108,11 @@ namespace PunkHPX8_MainPages.ViewModels
             _rtDataKeys.Add($"Safety.{SAFETY_DATA}");
             _rtDataKeys.Add($"Safety.{IS_INITIALIZED}");
 
+            _rtDataKeys.Add($"VPW1.Rotation.{IS_SWITCH_ON}");
+            _rtDataKeys.Add($"VPW2.Rotation.{IS_SWITCH_ON}");
+
+
+
         }
         
         /// <summary>
@@ -128,6 +145,10 @@ namespace PunkHPX8_MainPages.ViewModels
                 {
 
                     CommonSafetyData = CommonFunction.GetValue<SafetyData>(_rtDataValueDic, $"Safety.{SAFETY_DATA}");
+
+                    IsVpw1RotationOn = CommonFunction.GetValue<bool>(_rtDataValueDic, $"VPW1.Rotation.{IS_SWITCH_ON}");
+                    IsVpw2RotationOn = CommonFunction.GetValue<bool>(_rtDataValueDic, $"VPW2.Rotation.{IS_SWITCH_ON}");
+                    
                     //判断电机Moving状态
                     JudgeMoving();
                 }

+ 3 - 3
PunkHPX8_MainPages/Views/SystemSafetyView.xaml

@@ -503,10 +503,10 @@
                     <Label Grid.Row="9" Grid.Column="0" Content="Plating Cell 3/4 Lift" Margin="5,0,0,0" FontWeight="Bold" VerticalAlignment="Center"/>
                     <Label Grid.Row="10" Grid.Column="0" Content="SRD Cell 1 Rotate" Margin="5,0,0,0" FontWeight="Bold" VerticalAlignment="Center"/>
                     <Label Grid.Row="11" Grid.Column="0" Content="SRD Cell 2 Rotate" Margin="5,0,0,0" FontWeight="Bold" VerticalAlignment="Center"/>
-                  
-                    <Ellipse Grid.Row="2" Grid.Column="1"  Width="16" Height="16"  Fill="{Binding IsSrd1RotationOn,Converter={StaticResource boolToColor}}" Stroke="Silver" HorizontalAlignment="Center"/>
+
+                    <Ellipse Grid.Row="2" Grid.Column="1"  Width="16" Height="16"  Fill="{Binding IsVpw1RotationOn,Converter={StaticResource boolToColor}}" Stroke="Silver" HorizontalAlignment="Center"/>
                     <Ellipse Grid.Row="2" Grid.Column="2"  Width="16" Height="16"  Fill="{Binding CommonSafetyData.SrdRotationDisable,Converter={StaticResource boolToErrorColor}}" Stroke="Silver" HorizontalAlignment="Center"/>
-                    <Ellipse Grid.Row="3" Grid.Column="1"  Width="16" Height="16"  Fill="{Binding IsSrd2ArmOn,Converter={StaticResource boolToColor}}" Stroke="Silver" HorizontalAlignment="Center"/>
+                    <Ellipse Grid.Row="3" Grid.Column="1"  Width="16" Height="16"  Fill="{Binding IsVpw2RotationOn,Converter={StaticResource boolToColor}}" Stroke="Silver" HorizontalAlignment="Center"/>
                     <Ellipse Grid.Row="3" Grid.Column="2"  Width="16" Height="16"  Fill="{Binding CommonSafetyData.SrdArmDisable,Converter={StaticResource boolToErrorColor}}" Stroke="Silver" HorizontalAlignment="Center"/>
                     <Ellipse Grid.Row="4" Grid.Column="1"  Width="16" Height="16"  Fill="{Binding IsSrd2RotationOn,Converter={StaticResource boolToColor}}" Stroke="Silver" HorizontalAlignment="Center"/>
                     <Ellipse Grid.Row="4" Grid.Column="2"  Width="16" Height="16"  Fill="{Binding CommonSafetyData.SrdRotationDisable,Converter={StaticResource boolToErrorColor}}" Stroke="Silver" HorizontalAlignment="Center"/>

+ 1 - 0
PunkHPX8_MainPages/Views/VPWMainView.xaml

@@ -87,6 +87,7 @@
                                            VPW2VACValve="{Binding Vpw2VacuumValve}"
                                            VPW1WaferInfo="{Binding VPW1WaferInfo}"
                                            VPW2WaferInfo="{Binding VPW2WaferInfo}"
+                                           N2Valve="{Binding VpwMainCommonData.DegasPurge}"
                 
                 ></UserControls:VPWMainUIControl>
         </Grid>

+ 2 - 2
PunkHPX8_RT/Modules/VpwMain/VPWHomeRoutine.cs

@@ -549,7 +549,7 @@ namespace PunkHPX8_RT.Modules.VpwMain
                 }
                 else
                 {
-                    LOG.WriteLog(eEvent.ERR_VPW, Module, $"cell flow {_cellFlows[Module]} is less than {_cellFlowStartLimit}");
+                    LOG.WriteLog(eEvent.WARN_VPW, Module, $"cell flow {_cellFlows[Module]} is less than {_cellFlowStartLimit}");
                     return false;
                 }
             }
@@ -575,7 +575,7 @@ namespace PunkHPX8_RT.Modules.VpwMain
                 else//则cell流量是不ok,则post error msg
                 {
                     vpwCellEntity.PostMsg((int)VPWCellMsg.Error);
-                    LOG.WriteLog(eEvent.ERR_VPW, item.Module, $"cell flow {_cellFlows[item.Module]} is less than {_cellFlowStartLimit}");
+                    LOG.WriteLog(eEvent.WARN_VPW, item.Module, $"cell flow {_cellFlows[item.Module]} is less than {_cellFlowStartLimit}");
                 }
             }
         }

+ 1 - 1
PunkHPX8_RT/Modules/VpwMain/VpwPurgeRoutine.cs

@@ -493,7 +493,7 @@ namespace PunkHPX8_RT.Modules.VpwMain
                 if (!_cellFlowOk[item.Module])
                 {
                     vpwCellEntity.PostMsg((int)VPWCellMsg.Error);
-                    LOG.WriteLog(eEvent.ERR_VPW, item.Module, $"cell flow {_cellFlows[item.Module]} is less than {_cellFlowStartLimit}");
+                    LOG.WriteLog(eEvent.WARN_VPW, item.Module, $"cell flow {_cellFlows[item.Module]} is less than {_cellFlowStartLimit}");
                 }
             }
         }

+ 29 - 0
PunkHPX8_Themes/UserControls/VPWMainUIControl.xaml

@@ -261,6 +261,35 @@
             <Polygon Points="0,0 30,0 30,4 0,4" Fill="Black" StrokeThickness="1" Canvas.Left="10" Canvas.Top="8" HorizontalAlignment="Left" VerticalAlignment="Center"></Polygon>
         </Canvas>
 
+        <Canvas Panel.ZIndex="1" RenderTransformOrigin="0.5,0.5"  Width="150" Height="10" Visibility="{Binding ElementName=self,Path=N2Valve,Mode=TwoWay,Converter={StaticResource boolToVisibility2}}" Canvas.Left="662" Canvas.Top="135" HorizontalAlignment="Center" VerticalAlignment="Top">
+            <Canvas.RenderTransform>
+                <TransformGroup>
+                    <ScaleTransform/>
+                    <SkewTransform/>
+                    <RotateTransform Angle="270"/>
+                    <TranslateTransform x:Name="translateTransform" X="0" Y="0" />
+                </TransformGroup>
+            </Canvas.RenderTransform>
+            <Canvas.Triggers>
+                <EventTrigger RoutedEvent="Loaded">
+                    <BeginStoryboard>
+                        <Storyboard AutoReverse="False" RepeatBehavior="Forever">
+                            <DoubleAnimation
+                    Storyboard.TargetName="translateTransform"
+                    Storyboard.TargetProperty="Y"
+                    From="0" To="100" Duration="0:0:1.5"/>
+                        </Storyboard>
+                    </BeginStoryboard>
+                </EventTrigger>
+            </Canvas.Triggers>
+            <Polygon Width="10" Points="0,2.5 5,0 5,5" Fill="Black" StrokeThickness="1"  VerticalAlignment="Top" Canvas.Left="132" Canvas.Top="2.5"/>
+            <Polygon Points="0,0 10,0 10,2 0,2" Fill="Black" StrokeThickness="1"   VerticalAlignment="Top" Canvas.Left="135" Canvas.Top="4"/>
+
+            <Polygon Width="10" Points="0,2.5 5,0 5,5" Fill="Black" StrokeThickness="1"  VerticalAlignment="Top" Canvas.Left="102" Canvas.Top="2.5"/>
+            <Polygon Points="0,0 10,0 10,2 0,2" Fill="Black" StrokeThickness="1"   VerticalAlignment="Top" Canvas.Left="105" Canvas.Top="4"/>
+
+        </Canvas>
+
         <Grid Height="50" Width="120" Canvas.Left="229" Canvas.Top="265" HorizontalAlignment="Left" VerticalAlignment="Top"  >
             <Grid.RowDefinitions>
                 <RowDefinition Height="20"></RowDefinition>

+ 17 - 0
PunkHPX8_Themes/UserControls/VPWMainUIControl.xaml.cs

@@ -266,6 +266,23 @@ namespace PunkHPX8_Themes.UserControls
             }
         }
 
+        public static readonly DependencyProperty N2ValveProerty = DependencyProperty.Register(
+            "N2Valve", typeof(bool), typeof(VPWMainUIControl), new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender));
+        /// <summary>
+        /// N2Valve
+        /// </summary>
+        public bool N2Valve
+        {
+            get
+            {
+                return (bool)this.GetValue(N2ValveProerty);
+            }
+            set
+            {
+                this.SetValue(N2ValveProerty, value);
+            }
+        }
+
         private void OpenDIWProcessValve_Click(object sender, RoutedEventArgs e)
         {
             InvokeClient.Instance.Service.DoOperation($"{ModuleName}.DiwProcessOn");