2026-06-05 13:44:39 +09:00

199 lines
15 KiB
XML

<UserControl x:Class="AuroraLaser.Ekspla.UCLaserMaint"
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.Ekspla"
xmlns:behavior="http://schemas.microsoft.com/xaml/behaviors"
xmlns:aurora="clr-namespace:Aurora.View;assembly=Aurora"
d:DataContext="{d:DesignInstance Type=local:UCLaserMaintViewModel}"
mc:Ignorable="d" xmlns:usercontrols="clr-namespace:AuroraUIComponent.UserControls;assembly=AuroraUIComponent"
d:DesignHeight="800" d:DesignWidth="1000" MaxWidth="1800" x:Name="uc">
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<aurora:SharedResourceDictionary Source="pack://application:,,,/AuroraUIComponent;component/Style/Generic.xaml"/>
</ResourceDictionary.MergedDictionaries>
<aurora:BoolConverter x:Key="convReverse" FalseValue="True" TrueValue="False"/>
</ResourceDictionary>
</UserControl.Resources>
<behavior:Interaction.Triggers>
<behavior:PropertyChangedTrigger Binding="{Binding IsVisible, ElementName=uc}">
<behavior:InvokeCommandAction Command="{Binding CMD_VisibleChanged}" CommandParameter="{Binding IsVisible, ElementName=uc}"/>
</behavior:PropertyChangedTrigger>
</behavior:Interaction.Triggers>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="3*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid Margin="0 0 3 3">
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
<GroupBox Grid.Column="0" Grid.Row="0" Header="Communication" Margin="0 0 0 3">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Button Grid.Column="0" Margin="5" Padding="10 15" IsEnabled="{Binding IsActivated, Converter={StaticResource convReverse}}" Style="{StaticResource StButtonAccent}"
FontSize="12" Content="Connect" Command="{Binding CMD_Communication}" CommandParameter="{Binding Content, RelativeSource={RelativeSource Self}}"/>
<Button Grid.Column="1" Margin="5" Padding="10 15" IsEnabled="{Binding IsActivated}" Style="{StaticResource StButtonAccent}"
FontSize="12" Content="Disconnect" Command="{Binding CMD_Communication}" CommandParameter="{Binding Content, RelativeSource={RelativeSource Self}}"/>
</Grid>
</GroupBox>
<GroupBox Header="Laser Shot" Grid.Row="1" Margin="0 3">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Button Grid.Column="0" Margin="5" Padding="10 15" Style="{StaticResource StButtonAccent}" IsEnabled="{Binding IsServoOn, Converter={StaticResource convReverse}}"
Content="Start" Command="{Binding CMD_Control}" CommandParameter="{Binding Content, RelativeSource={RelativeSource Self}}"/>
<Button Grid.Column="1" Margin="5" Padding="10 15" Style="{StaticResource StButtonAccent}" IsEnabled="{Binding IsServoOn}"
Content="Stop" Command="{Binding CMD_Control}" CommandParameter="{Binding Content, RelativeSource={RelativeSource Self}}"/>
</Grid>
</GroupBox>
<GroupBox Grid.Column="0" Grid.Row="2" Header="Error Information" Margin="0 3 0 0">
<Grid IsEnabled="{Binding IsActivated}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="4*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
<usercontrols:UCKeyValue Grid.Column="0" Grid.Row="0" Margin="5,3,5,3" KeyText="Error Code"
Value="{Binding GetLaserStatusFaultCode}"
KeyTextWidth="1*" ValueTextWidth="1*" KeyTextSize="12" ValueTextSize="12"/>
<Button Grid.Column="1" Grid.Row="0" Content="Reset" Margin="5" FontSize="12" Command="{Binding CMD_Error}" CommandParameter="{Binding Content, RelativeSource={RelativeSource Self}}"/>
<usercontrols:UCKeyValue Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="2" Margin="5,3,5,3" KeyText="Error"
Value="{Binding GetLaserStatusFaultMsg}"
KeyTextWidth="2*" ValueTextWidth="3*" KeyTextSize="12" ValueTextSize="12"/>
<!-- <Button Grid.Column="1" Grid.Row="1" Margin="5,3,1,3" Content="Set Error (Test)" FontSize="12" Command="{Binding CMD_Error}" CommandParameter="{Binding Content, RelativeSource={RelativeSource Self}}"/> -->
</Grid>
</GroupBox>
</Grid>
<GroupBox Grid.Column="1" Grid.Row="0" Header="Param / Status" Margin="3 0 0 3">
<Grid Grid.Row="1" IsEnabled="{Binding IsActivated}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="4*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
<usercontrols:UCKeyComboBoxOnOff Grid.Row="0" KeyTextWidth="3*" ValueTextWidth="2*" KeyTextSize="12" ValueTextSize="12"
KeyText="Energy Level"
ValueText="{Binding SetLaserStatus.EnergyLevel}"/>
<Button Grid.Column="1" Grid.Row="0" Content="Set" Margin="2" FontSize="12" Command="{Binding CMD_Control}" CommandParameter="SetLaserStatus.EnergyLevel"/>
<TextBox Grid.Column="2" Grid.Row="0" Text="{Binding GetLaserStatusEnergyLevel}" IsReadOnly="True" />
<usercontrols:UCKeyValue Grid.Row="1" KeyTextWidth="3*" ValueTextWidth="2*" KeyTextSize="12" ValueTextSize="12"
KeyText="Pump Level (%)" DecimalPlaces="3"
Value="{Binding SetLaserStatus.PumpLevel}"/>
<Button Grid.Column="1" Grid.Row="1" Content="Set" Margin="2" FontSize="12" Command="{Binding CMD_Control}" CommandParameter="SetLaserStatus.PumpLevel"/>
<TextBox Grid.Column="2" Grid.Row="1" Text="{Binding GetLaserStatusPumpLevel, StringFormat={}{0:0.000}}" IsReadOnly="True"/>
<usercontrols:UCKeyComboBoxNumber Grid.Row="2" KeyTextWidth="3*" ValueTextWidth="2*" KeyTextSize="12" ValueTextSize="12"
KeyText="QSW Adj Delay"
ValueText="{Binding SetLaserStatus.QSWAdjustDelay}" MaxValue="5" IsReadOnly="True"/>
<Button Grid.Column="1" Grid.Row="2" Content="Set" Margin="2" FontSize="12" Command="{Binding CMD_Control}" CommandParameter="SetLaserStatus.QSWAdjustDelay" IsEnabled="False"/>
<TextBox Grid.Column="2" Grid.Row="2" Text="{Binding GetLaserStatusQSWAdjustDelay}" IsReadOnly="True" />
<usercontrols:UCKeyComboBoxNumber Grid.Row="3" KeyTextWidth="3*" ValueTextWidth="2*" KeyTextSize="12" ValueTextSize="12"
KeyText="Sync Mode"
ValueText="{Binding SetLaserStatus.SyncMode}" MaxValue="5"/>
<Button Grid.Column="1" Grid.Row="3" Content="Set" Margin="2" FontSize="12" Command="{Binding CMD_Control}" CommandParameter="SetLaserStatus.SyncMode"/>
<TextBox Grid.Column="2" Grid.Row="3" Text="{Binding GetLaserStatusSyncMode}" IsReadOnly="True" />
<usercontrols:UCKeyComboBoxOnOff Grid.Row="4" KeyTextWidth="3*" ValueTextWidth="2*" KeyTextSize="12" ValueTextSize="12"
KeyText="Burst Mode"
ValueText="{Binding SetLaserStatus.BurstMode}"/>
<Button Grid.Column="1" Grid.Row="4" Content="Set" Margin="2" FontSize="12" Command="{Binding CMD_Control}" CommandParameter="SetLaserStatus.BurstMode"/>
<TextBox Grid.Column="2" Grid.Row="4" Text="{Binding GetLaserStatusBurstMode}" IsReadOnly="True" />
<usercontrols:UCKeyComboBoxNumber Grid.Row="5" KeyTextWidth="3*" ValueTextWidth="2*" KeyTextSize="12" ValueTextSize="12"
KeyText="Burst Length"
ValueText="{Binding SetLaserStatus.BurstCount}" MaxValue="5"/>
<Button Grid.Column="1" Grid.Row="5" Content="Set" Margin="2" FontSize="12" Command="{Binding CMD_Control}" CommandParameter="SetLaserStatus.BurstCount"/>
<TextBox Grid.Column="2" Grid.Row="5" Text="{Binding GetLaserStatusBurstCount}" IsReadOnly="True" />
<usercontrols:UCKeyValue Grid.Row="6" KeyTextWidth="3*" ValueTextWidth="2*" KeyTextSize="12" ValueTextSize="12"
KeyText="Repetition Rate"
Value="{Binding SetLaserStatus.RepetitionRate}"/>
<Button Grid.Column="1" Grid.Row="6" Content="Set" Margin="2" FontSize="12" Command="{Binding CMD_Control}" CommandParameter="SetLaserStatus.RepetitionRate"/>
<TextBox Grid.Column="2" Grid.Row="6" Text="{Binding GetLaserStatusRepetitionRate}" IsReadOnly="True" />
<usercontrols:UCKeyValue Grid.Column="0" Grid.Row="7" KeyTextWidth="3*" ValueTextWidth="2*" KeyTextSize="12" ValueTextSize="12"
KeyText="Set TTEC1 Temperature" DecimalPlaces="3"
Value="{Binding SetLaserStatus.Temperature_TTec1}"/>
<Button Grid.Column="1" Grid.Row="7" Content="Set" Margin="2" FontSize="12" Command="{Binding CMD_Control}" CommandParameter="SetLaserStatus.Temperature_TTec1" IsEnabled="False"/>
<TextBox Grid.Column="2" Grid.Row="7" Text="{Binding GetLaserStatusTemperature_TTec1, StringFormat={}{0:0.000}}" IsReadOnly="True" />
<usercontrols:UCKeyValue Grid.Column="0" Grid.Row="8" KeyTextWidth="3*" ValueTextWidth="2*" KeyTextSize="12" ValueTextSize="12" DecimalPlaces="3"
KeyText="Set SH1 Temperature"
Value="{Binding SetLaserStatus.Temperature_SH1}"/>
<Button Grid.Column="1" Grid.Row="8" Content="Set" Margin="2" FontSize="12" Command="{Binding CMD_Control}" CommandParameter="SetLaserStatus.Temperature_SH1" IsEnabled="False"/>
<TextBox Grid.Column="2" Grid.Row="8" Text="{Binding GetLaserStatusTemperature_SH1, StringFormat={}{0:0.000}}" IsReadOnly="True" />
<Grid Grid.Column="0" Grid.Row="9">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*"/>
<ColumnDefinition Width="2*"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Grid.Row="0" Margin="5 0" Text="Set Output Wavelength" HorizontalAlignment="Left"/>
<ComboBox Grid.Column="1" Grid.Row="0" Name="SetOutputWaveLength" FontSize="12" HorizontalContentAlignment="Center" Margin="2" SelectedItem="{Binding SetLaserStatus.WaveLength}"
VerticalAlignment="Stretch">
<ComboBoxItem Content="532nm"/>
<ComboBoxItem Content="1064nm"/>
</ComboBox>
</Grid>
<Button Grid.Column="1" Grid.Row="9" Content="Set" Margin="2" FontSize="12" Command="{Binding CMD_Control}" CommandParameter="SetLaserStatus.WaveLength"/>
<TextBox Grid.Column="2" Grid.Row="9" Text="{Binding GetLaserStatusWaveLength}" IsReadOnly="True" />
<usercontrols:UCKeyValue Grid.Column="0" Grid.Row="10" KeyTextWidth="3*" ValueTextWidth="2*" KeyTextSize="12" ValueTextSize="12"
KeyText="ATTN Transmission (%)" DecimalPlaces="3"
Value="{Binding SetLaserStatus.AttenTrans}" IsReadOnly="True"/>
<Button Grid.Column="1" Grid.Row="10" Content="Set" Margin="2" FontSize="12" Command="{Binding CMD_Control}" CommandParameter="SetLaserStatus.AttenTrans" IsEnabled="False"/>
<TextBox Grid.Column="2" Grid.Row="10" Text="{Binding GetLaserStatusAttenTrans, StringFormat={}{0:0.000}}" IsReadOnly="True" />
<Button Grid.Column="1" Grid.Row="11" Margin="2" Style="{StaticResource StButtonAccent}" Padding="5" Content="Set All"
FontSize="12" Command="{Binding CMD_Control}" CommandParameter="{Binding Content, RelativeSource={RelativeSource Self}}"/>
<Button Grid.Column="2" Grid.Row="11" Margin="2" Style="{StaticResource StButtonAccent}" Padding="5" Content="Update All"
FontSize="12" Command="{Binding CMD_Control}" CommandParameter="{Binding Content, RelativeSource={RelativeSource Self}}"/>
</Grid>
</GroupBox>
<GroupBox Grid.Column="0" Grid.Row="3" Header="Log" Grid.ColumnSpan="2" Margin="0 3 0 0">
<Grid>
<aurora:HislogView Grid.Row="1" FontSize="11" DataContext="{Binding LaserLogViewModel}" Margin="5 0 5 5"></aurora:HislogView>
<Button Margin="5 5 10 0" Style="{StaticResource StButtonAccent}" Width="100" Padding="7" Content="Clear" Command="{Binding CMD_ClearLog}" VerticalAlignment="Top" HorizontalAlignment="Right" />
</Grid>
</GroupBox>
</Grid>
</UserControl>