Explorar el Código

1.PM 增加control temp monitor temp

JET-YDB\JET-YANGDB hace 4 días
padre
commit
c218e5df2b

+ 2 - 0
VirgoRT/Devices/IODevices/IoHeater.cs

@@ -291,6 +291,8 @@ namespace VirgoRT.Devices
 
             DATA.Subscribe($"{Module}.{Name}.Temperature", () => ControlTcFeedback, SubscriptionAttribute.FLAG.IgnoreSaveDB);
 
+            DATA.Subscribe($"{Module}.{Name}.Offset", () => _offset, SubscriptionAttribute.FLAG.IgnoreSaveDB);
+
             OP.Subscribe($"{Module}.{Name}.{AITHeaterOperation.SetPowerOnOff}", (functionName, param) =>
             {
                 bool isEnable = Convert.ToBoolean((string)param[0]);

+ 13 - 0
VirgoUI/Controls/Parts/DisplayDoubleValueControl.xaml

@@ -0,0 +1,13 @@
+<UserControl x:Class="VirgoUI.Client.Controls.Parts.DisplayDoubleValueControl"
+             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" 
+             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
+             mc:Ignorable="d"  Height="24" Width="45" BorderThickness="1" x:Name="self">
+    <Grid  Height="24" Cursor="Hand"  Opacity="1">
+        <Border Background="Transparent" x:Name="bdRectangle" BorderThickness="1">
+            <Rectangle  RadiusX="2" RadiusY="2" Name="rectBkground" Stroke="#373737" Margin="1" Opacity="1" Fill="DarkMagenta" StrokeThickness="1"/>
+        </Border>
+        <Label Content="{Binding ElementName=self, Path=FeedBack}" VerticalContentAlignment="Center"  ContentStringFormat="F1"  FontFamily="Verdana" FontSize="9" HorizontalContentAlignment="Center" x:Name="labelValue" Margin="0,-2,-2,-2" Foreground="LightYellow" />
+    </Grid>
+</UserControl>

+ 48 - 0
VirgoUI/Controls/Parts/DisplayDoubleValueControl.xaml.cs

@@ -0,0 +1,48 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace VirgoUI.Client.Controls.Parts
+{
+    /// <summary>
+    /// DisplayDoubleValueControl.xaml 的交互逻辑
+    /// </summary>
+    public partial class DisplayDoubleValueControl : UserControl
+    {
+        public DisplayDoubleValueControl()
+        {
+            InitializeComponent();
+
+            rectBkground.Fill =  Brushes.Gray;
+            rectBkground.Stroke =  new SolidColorBrush(System.Windows.Media.Color.FromRgb(0X37, 0X37, 0X37));
+            labelValue.Foreground = Brushes.LightYellow;
+            rectBkground.StrokeThickness = 1;
+        }
+
+        public static readonly DependencyProperty FeedBackProperty = DependencyProperty.Register(
+                "FeedBack", typeof(double), typeof(DisplayDoubleValueControl),
+                new FrameworkPropertyMetadata(new double(), FrameworkPropertyMetadataOptions.AffectsRender));
+        public double FeedBack
+        {
+            get
+            {
+                return (double)this.GetValue(FeedBackProperty);
+            }
+            set
+            {
+                this.SetValue(FeedBackProperty, value);
+            }
+        }
+    }
+}

+ 13 - 2
VirgoUI/Models/PMs/PmOverviewView.xaml

@@ -11,6 +11,7 @@
              xmlns:parts="clr-namespace:VirgoUI.Controls.Parts"
              xmlns:pMs="clr-namespace:VirgoUI.Client.Models.PMs"
              xmlns:converters="clr-namespace:Aitex.Core.UI.Converters;assembly=MECF.Framework.UI.Core"
+             xmlns:parts1="clr-namespace:VirgoUI.Client.Controls.Parts"
              mc:Ignorable="d" IsEnabled="{Binding PageEnabled}"
              d:DesignHeight="800" d:DesignWidth="1530">
     <UserControl.Resources>
@@ -458,10 +459,20 @@
                 </Canvas>
 
                 <!--substrate heater temperature-->
-                <TextBlock Text="LE TEMP" Canvas.Left="260" Canvas.Top="227" Visibility="{Binding Path=IsHeaterVisibility, Converter={StaticResource bool2VisibilityConvert}}"/>
+                <TextBlock Text="LE TEMP" Canvas.Left="275" Canvas.Top="227" Visibility="{Binding Path=IsHeaterVisibility, Converter={StaticResource bool2VisibilityConvert}}"/>
                 <TextBlock Text="Chiller TEMP" Canvas.Left="260" Canvas.Top="227" Visibility="{Binding Path=IsChillerVisibility, Converter={StaticResource bool2VisibilityConvert}}"/>
                 <deviceControl:AITChillerControl DeviceData="{Binding ChillerData}" Canvas.Left="256" Canvas.Top="242" Width="80" IsAutoMode="{Binding IsAutoMode}" IsEnabled="{Binding IsChillerEnable}" Visibility="{Binding Path=IsChillerVisibility, Converter={StaticResource bool2VisibilityConvert}}"/>
-                <deviceControl:AITHeaterControl DeviceData="{Binding HeaterChamber}" Canvas.Left="256" Canvas.Top="242" Width="80" IsAutoMode="{Binding IsAutoMode}" IsEnabled="{Binding IsHeaterEnable}" Visibility="{Binding Path=IsHeaterVisibility, Converter={StaticResource bool2VisibilityConvert}}"/>
+                <deviceControl:AITHeaterControl DeviceData="{Binding HeaterChamber}" Canvas.Left="266" Canvas.Top="242" Width="80" IsAutoMode="{Binding IsAutoMode}" IsEnabled="{Binding IsHeaterEnable}" Visibility="{Binding Path=IsHeaterVisibility, Converter={StaticResource bool2VisibilityConvert}}"/>
+
+                <TextBlock Text="Control TEMP" Canvas.Left="360" Canvas.Top="227" Visibility="{Binding Path=IsHeaterVisibility, Converter={StaticResource bool2VisibilityConvert}}"/>
+                <parts1:DisplayDoubleValueControl FeedBack="{Binding SubstrateControlTCTemp}" Canvas.Left="366" Canvas.Top="242" Width="80" IsEnabled="{Binding IsHeaterEnable}" Visibility="{Binding Path=IsHeaterVisibility, Converter={StaticResource bool2VisibilityConvert}}"/>
+
+                <TextBlock Text="LE Offset" Canvas.Left="275" Canvas.Top="267" Visibility="{Binding Path=IsHeaterVisibility, Converter={StaticResource bool2VisibilityConvert}}"/>
+                <parts1:DisplayDoubleValueControl FeedBack="{Binding SubstrateOffset}" Canvas.Left="266" Canvas.Top="282" Width="80" IsEnabled="{Binding IsHeaterEnable}" Visibility="{Binding Path=IsHeaterVisibility, Converter={StaticResource bool2VisibilityConvert}}"/>
+
+                <TextBlock Text="Monitor TEMP" Canvas.Left="360" Canvas.Top="267" Visibility="{Binding Path=IsHeaterVisibility, Converter={StaticResource bool2VisibilityConvert}}"/>
+                <parts1:DisplayDoubleValueControl FeedBack="{Binding SubstrateMonitorTCTemp}" Canvas.Left="366" Canvas.Top="282" Width="80" IsEnabled="{Binding IsHeaterEnable}" Visibility="{Binding Path=IsHeaterVisibility, Converter={StaticResource bool2VisibilityConvert}}"/>
+
                 <!--grid heater temperature-->
                 <Canvas Visibility="{Binding GridHeaterVisibility}">
                     <TextBlock Text="Grid TEMP" Canvas.Left="-10" Canvas.Top="25" />

+ 19 - 0
VirgoUI/Models/PMs/PmOverviewViewModel.cs

@@ -602,6 +602,25 @@ namespace VirgoUI.Client.Models.PMs
         [Subscription("HeaterChamber.DeviceData")]
         public AITHeaterData HeaterChamber { get; set; }
 
+        [Subscription("HeaterChamber.Offset")]
+        public float SubstrateOffset { get; set; }
+
+        public float SubstrateControlTCTemp
+        {
+            get
+            {
+                return (float)QueryDataClient.Instance.Service.GetData($"IO32.{SystemName}.AI_Substrate_Control_TC_Temp");
+            }
+        }
+
+        public float SubstrateMonitorTCTemp
+        {
+            get
+            {
+                return (float)QueryDataClient.Instance.Service.GetData($"IO32.{SystemName}.AI_Substrate_Monitor_TC_Temp");
+            }
+        }
+
         [Subscription("ForelineHeater.DeviceData")]
         public AITHeaterData ForelineHeater { get; set; }
 

+ 7 - 0
VirgoUI/VirgoUI.csproj

@@ -236,6 +236,9 @@
     <Compile Include="Controls\Parts\Chamber.xaml.cs">
       <DependentUpon>Chamber.xaml</DependentUpon>
     </Compile>
+    <Compile Include="Controls\Parts\DisplayDoubleValueControl.xaml.cs">
+      <DependentUpon>DisplayDoubleValueControl.xaml</DependentUpon>
+    </Compile>
     <Compile Include="Controls\Parts\Door.xaml.cs">
       <DependentUpon>Door.xaml</DependentUpon>
     </Compile>
@@ -531,6 +534,10 @@
       <Generator>MSBuild:Compile</Generator>
       <SubType>Designer</SubType>
     </Page>
+    <Page Include="Controls\Parts\DisplayDoubleValueControl.xaml">
+      <Generator>MSBuild:Compile</Generator>
+      <SubType>Designer</SubType>
+    </Page>
     <Page Include="Controls\Parts\Door.xaml">
       <Generator>MSBuild:Compile</Generator>
       <SubType>Designer</SubType>