Kyungshin-Welder/AuroraDevices/AuroraLaser/IPG/Views/LaserIPG_MonitoringView.xaml
2026-01-26 14:51:28 +09:00

247 lines
16 KiB
XML

<UserControl x:Class="AuroraLaser.IPG.Views.LaserIPG_MonitoringView"
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"
xmlns:local="clr-namespace:AuroraLaser.IPG.Views"
mc:Ignorable="d"
d:DesignWidth="784.341" Height="400">
<UserControl.Resources>
<!-- 스타일 정의 -->
<Style x:Key="StatusLightStyle" TargetType="Ellipse">
<Setter Property="Width" Value="20"/>
<Setter Property="Height" Value="20"/>
<Setter Property="Stroke" Value="#FF666666"/>
<Setter Property="StrokeThickness" Value="2"/>
<Setter Property="Margin" Value="0,0,8,0"/>
</Style>
<Style x:Key="AlarmLightStyle" TargetType="Ellipse">
<Setter Property="Width" Value="12"/>
<Setter Property="Height" Value="12"/>
<Setter Property="Fill" Value="#FF8B4513"/>
<Setter Property="Stroke" Value="#FF666666"/>
<Setter Property="StrokeThickness" Value="1"/>
<Setter Property="Margin" Value="0,0,8,0"/>
</Style>
<Style x:Key="PanelBorderStyle" TargetType="Border">
<Setter Property="BorderBrush" Value="#FF999999"/>
<Setter Property="BorderThickness" Value="2"/>
<Setter Property="Background" Value="White"/>
<Setter Property="Padding" Value="15"/>
</Style>
<Style x:Key="DisplayGroupStyle" TargetType="Border">
<Setter Property="BorderBrush" Value="#FF999999"/>
<Setter Property="BorderThickness" Value="2"/>
<Setter Property="Background" Value="White"/>
<Setter Property="Padding" Value="10"/>
<Setter Property="Margin" Value="0,0,20,0"/>
</Style>
<Style x:Key="DataValueStyle" TargetType="TextBox">
<Setter Property="Background" Value="#FFF9F9F9"/>
<Setter Property="BorderBrush" Value="#FFDDDDDD"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="Padding" Value="5,2"/>
<Setter Property="FontFamily" Value="Courier New"/>
<Setter Property="FontSize" Value="11"/>
<Setter Property="Text" Value="-----"/>
<Setter Property="TextAlignment" Value="Center"/>
<Setter Property="IsReadOnly" Value="True"/>
<Setter Property="MinWidth" Value="50"/>
</Style>
</UserControl.Resources>
<Border BorderBrush="#FF666666" BorderThickness="2" Background="#FFC6C6C6" Padding="10">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<!-- 좌우 분할 컨텐츠 -->
<Grid Grid.Row="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="4*"/>
<ColumnDefinition Width="20"/>
<ColumnDefinition Width="6*"/>
</Grid.ColumnDefinitions>
<!-- 왼쪽 패널: Alarms -->
<Border Grid.Column="0" Style="{StaticResource PanelBorderStyle}" BorderBrush="#FFCCCCCC" BorderThickness="0,0,0,2">
<StackPanel>
<TextBlock Text="ALARMS" FontSize="16" FontWeight="Bold"
Foreground="#FF333333" Margin="0,0,0,15"
Padding="0,0,0,5"/>
<ScrollViewer VerticalScrollBarVisibility="Auto" MaxHeight="400">
<StackPanel>
<StackPanel Orientation="Horizontal" Margin="0,0,0,8">
<Ellipse Style="{StaticResource AlarmLightStyle}"/>
<TextBlock Text="E-Stop" VerticalAlignment="Center" FontSize="12"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0,0,0,8">
<Ellipse Style="{StaticResource AlarmLightStyle}"/>
<TextBlock Text="Laser overheating" VerticalAlignment="Center" FontSize="12"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0,0,0,8">
<Ellipse Style="{StaticResource AlarmLightStyle}"/>
<TextBlock Text="Feeding fiber interlock" VerticalAlignment="Center" FontSize="12"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0,0,0,8">
<Ellipse Style="{StaticResource AlarmLightStyle}"/>
<TextBlock Text="High back reflection" VerticalAlignment="Center" FontSize="12"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0,0,0,8">
<Ellipse Style="{StaticResource AlarmLightStyle}"/>
<TextBlock Text="Laser module" VerticalAlignment="Center" FontSize="12"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0,0,0,8">
<Ellipse Style="{StaticResource AlarmLightStyle}"/>
<TextBlock Text="Laser module disconnected" VerticalAlignment="Center" FontSize="12"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0,0,0,8">
<Ellipse Style="{StaticResource AlarmLightStyle}"/>
<TextBlock Text="Combiner" VerticalAlignment="Center" FontSize="12"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0,0,0,8">
<Ellipse Style="{StaticResource AlarmLightStyle}"/>
<TextBlock Text="Water in laser" VerticalAlignment="Center" FontSize="12"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0,0,0,8">
<Ellipse Style="{StaticResource AlarmLightStyle}"/>
<TextBlock Text="Power supply" VerticalAlignment="Center" FontSize="12"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0,0,0,8">
<Ellipse Style="{StaticResource AlarmLightStyle}"/>
<TextBlock Text="Unexpected pump current" VerticalAlignment="Center" FontSize="12"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0,0,0,8">
<Ellipse Style="{StaticResource AlarmLightStyle}"/>
<TextBlock Text="Fiber coupler photodiode 1" VerticalAlignment="Center" FontSize="12"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0,0,0,8">
<Ellipse Style="{StaticResource AlarmLightStyle}"/>
<TextBlock Text="Fiber coupler photodiode 2" VerticalAlignment="Center" FontSize="12"/>
</StackPanel>
</StackPanel>
</ScrollViewer>
</StackPanel>
</Border>
<!-- 오른쪽 패널: Status -->
<Border Grid.Column="2" Style="{StaticResource PanelBorderStyle}" BorderBrush="#FFCCCCCC" BorderThickness="0,0,0,2">
<StackPanel>
<TextBlock Text="STATUS" FontSize="16" FontWeight="Bold"
Foreground="#FF333333" Margin="0,0,0,15"
Padding="0,0,0,5"/>
<!-- 상태 표시등 + 데이터 표시를 좌우로 배치 -->
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="20" />
<!-- 간격 -->
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<!-- 왼쪽: 상태 표시등 목록 -->
<StackPanel Grid.Column="0">
<StackPanel Orientation="Horizontal" Margin="0,0,0,8">
<Ellipse Style="{StaticResource StatusLightStyle}" Fill="#FF4CAF50"/>
<TextBlock Text="Laser power supply ON" VerticalAlignment="Center" FontSize="12"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0,0,0,8">
<Ellipse Style="{StaticResource StatusLightStyle}" Fill="#FF4CAF50"/>
<TextBlock Text="Internal control disabled" VerticalAlignment="Center" FontSize="12"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0,0,0,8">
<Ellipse Style="{StaticResource StatusLightStyle}" Fill="#FF4CAF50"/>
<TextBlock Text="Emission enabled" VerticalAlignment="Center" FontSize="12"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0,0,0,8">
<Ellipse Style="{StaticResource StatusLightStyle}" Fill="#FF4CAF50"/>
<TextBlock Text="External control" VerticalAlignment="Center" FontSize="12"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0,0,0,8">
<Ellipse Style="{StaticResource StatusLightStyle}" Fill="#FF4CAF50"/>
<TextBlock Text="Analog control" VerticalAlignment="Center" FontSize="12"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0,0,0,8">
<Ellipse Style="{StaticResource StatusLightStyle}" Fill="#FF4CAF50"/>
<TextBlock Text="Guide laser ON" VerticalAlignment="Center" FontSize="12"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0,0,0,8">
<Ellipse Style="{StaticResource StatusLightStyle}" Fill="#FF4CAF50"/>
<TextBlock Text="Rear door closed" VerticalAlignment="Center" FontSize="12"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0,0,0,8">
<Ellipse Style="{StaticResource StatusLightStyle}" Fill="#FF4CAF50"/>
<TextBlock Text="Front door closed" VerticalAlignment="Center" FontSize="12"/>
</StackPanel>
</StackPanel>
<!-- 오른쪽: 데이터 표시 영역 (단일 열) -->
<ScrollViewer Grid.Column="2" VerticalScrollBarVisibility="Auto" MaxHeight="300">
<StackPanel>
<StackPanel Orientation="Horizontal" Margin="0,0,0,5">
<TextBlock Text="Current" FontWeight="Bold" VerticalAlignment="Center" Width="120" FontSize="11"/>
<TextBox Style="{StaticResource DataValueStyle}" Width="50"/>
<TextBlock Text="%" VerticalAlignment="Center" Margin="5,0,0,0" FontSize="11"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0,0,0,5">
<TextBlock Text="Power" FontWeight="Bold" VerticalAlignment="Center" Width="120" FontSize="11"/>
<TextBox Style="{StaticResource DataValueStyle}" Width="50"/>
<TextBlock Text="W" VerticalAlignment="Center" Margin="5,0,0,0" FontSize="11"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0,0,0,5">
<TextBlock Text="Module (T.max)" FontWeight="Bold" VerticalAlignment="Center" Width="120" FontSize="11"/>
<TextBox Style="{StaticResource DataValueStyle}" Width="50"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0,0,0,5">
<TextBlock Text="Module (T.min)" FontWeight="Bold" VerticalAlignment="Center" Width="120" FontSize="11"/>
<TextBox Style="{StaticResource DataValueStyle}" Width="50"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0,0,0,5">
<TextBlock Text="Op. hours today" FontWeight="Bold" VerticalAlignment="Center" Width="120" FontSize="11"/>
<TextBox Style="{StaticResource DataValueStyle}" Width="50"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0,0,0,5">
<TextBlock Text="Temp (mean)" FontWeight="Bold" VerticalAlignment="Center" Width="120" FontSize="11"/>
<TextBox Style="{StaticResource DataValueStyle}" Width="50"/>
<TextBlock Text="°C" VerticalAlignment="Center" Margin="5,0,0,0" FontSize="11"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0,0,0,5">
<TextBlock Text="Temp (max)" FontWeight="Bold" VerticalAlignment="Center" Width="120" FontSize="11"/>
<TextBox Style="{StaticResource DataValueStyle}" Width="50"/>
<TextBlock Text="°C" VerticalAlignment="Center" Margin="5,0,0,0" FontSize="11"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0,0,0,5">
<TextBlock Text="Temp (min)" FontWeight="Bold" VerticalAlignment="Center" Width="120" FontSize="11"/>
<TextBox Style="{StaticResource DataValueStyle}" Width="50"/>
<TextBlock Text="°C" VerticalAlignment="Center" Margin="5,0,0,0" FontSize="11"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0,0,0,5">
<TextBlock Text="Operating hours" FontWeight="Bold" VerticalAlignment="Center" Width="120" FontSize="11"/>
<TextBox Style="{StaticResource DataValueStyle}" Width="50"/>
</StackPanel>
</StackPanel>
</ScrollViewer>
</Grid>
</StackPanel>
</Border>
</Grid>
</Grid>
</Border>
</UserControl>