2026-01-26 14:51:28 +09:00

207 lines
14 KiB
XML

<UserControl x:Class="AuroraLaser.UCLaserDevice"
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"
xmlns:view="clr-namespace:Aurora.View;assembly=Aurora"
mc:Ignorable="d" Name="uc"
xmlns:behavior="http://schemas.microsoft.com/xaml/behaviors"
xmlns:usercontrols="clr-namespace:AuroraUIComponent.UserControls;assembly=AuroraUIComponent"
d:DataContext="{d:DesignInstance Type=local:UCLaserDeviceViewModel}"
d:DesignHeight="450" d:DesignWidth="800">
<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>
<UserControl.Resources>
<ResourceDictionary>
<view:BoolConverter x:Key="convFieldColor" TrueValue="Green" FalseValue="Blck" />
<Style x:Key="styleRbJogUnit" TargetType="RadioButton">
<Setter Property="MinWidth" Value="{Binding RelativeSource={x:Static RelativeSource.Self}, Path=ActualHeight}"/>
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="FontSize" Value="16"/>
<Setter Property="Foreground" Value="White"/>
<Setter Property="Height" Value="40"/>
<Setter Property="OverridesDefaultStyle" Value="True"/>
<Setter Property="Margin" Value="2 0"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type RadioButton}">
<Border Name="border" BorderThickness="1" Background="#1A2242"
BorderBrush="#1A2242">
<ContentPresenter Margin="0,0,0,4" HorizontalAlignment="Center" VerticalAlignment="Center" />
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Opacity" Value="0.8" />
</Trigger>
<Trigger Property="IsChecked"
Value="True">
<Setter TargetName="border"
Property="Background"
Value="#A50034" />
<Setter TargetName="border"
Property="BorderThickness"
Value="1" />
<Setter Property="FontWeight"
Value="Bold" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>
</UserControl.Resources>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid Grid.Row="0" Grid.Column="0" Grid.RowSpan="2" Grid.ColumnSpan="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Button Grid.Row="0" Grid.Column="0" FontSize="15" Margin="5" Command="{Binding CMD_Connect}">Connect</Button>
<Button Grid.Row="1" Grid.Column="0" FontSize="15" Margin="5" Command="{Binding CMD_LaserON}">Laser On</Button>
<Button Grid.Row="2" Grid.Column="0" FontSize="15" Margin="5" Command="{Binding CMD_PilotLaserON}">Pilot Laser On</Button>
<Button Grid.Row="0" Grid.Column="1" FontSize="15" Margin="5" Command="{Binding CMD_DisConnect}">DisConnect</Button>
<Button Grid.Row="1" Grid.Column="1" FontSize="15" Margin="5" Command="{Binding CMD_LaserOFF}">Laser Off</Button>
<Button Grid.Row="2" Grid.Column="1" FontSize="15" Margin="5" Command="{Binding CMD_PilotLaserOFF}">Pilot Laser Off</Button>
<Button Grid.Row="3" Grid.Column="0" FontSize="15" Margin="5" Command="{Binding CMD_Reset}">Laser Reset</Button>
<Button Grid.Row="3" Grid.Column="1" FontSize="15" Margin="5" Command="{Binding CMD_ShowAlarm}">Show Alarm</Button>
</Grid>
<GroupBox Grid.Row="0" Grid.RowSpan="2" Grid.Column="2" Header="Read Bit Status" Margin="5">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="4*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition Height="30"/>
<RowDefinition Height="30"/>
<RowDefinition Height="30"/>
<RowDefinition Height="30"/>
<RowDefinition Height="30"/>
<RowDefinition Height="30"/>
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Grid.Column="0" HorizontalAlignment="Center">Initialized Communication</TextBlock>
<Ellipse Grid.Row="0" Grid.Column="1" Width="25" Height="25" Fill="{Binding bInitComm, Converter={StaticResource convFieldColor}}" Stroke="white" StrokeThickness="2" Margin="10,0,10,0" />
<TextBlock Grid.Row="1" Grid.Column="0" HorizontalAlignment="Center">Laser Emission Running</TextBlock>
<Ellipse Grid.Row="1" Grid.Column="1" Width="25" Height="25" Fill="{Binding bEmission, Converter={StaticResource convFieldColor}}" Stroke="white" StrokeThickness="2" Margin="10,0,10,0" />
<TextBlock Grid.Row="2" Grid.Column="0" HorizontalAlignment="Center">Pilot Laser Running</TextBlock>
<Ellipse Grid.Row="2" Grid.Column="1" Width="25" Height="25" Fill="{Binding bPilotLaser, Converter={StaticResource convFieldColor}}" Stroke="white" StrokeThickness="2" Margin="10,0,10,0" />
<TextBlock Grid.Row="3" Grid.Column="0" HorizontalAlignment="Center">Laser Ready Status</TextBlock>
<Ellipse Grid.Row="3" Grid.Column="1" Width="25" Height="25" Fill="{Binding bLaserReady, Converter={StaticResource convFieldColor}}" Stroke="white" StrokeThickness="2" Margin="10,0,10,0" />
<TextBlock Grid.Row="4" Grid.Column="0" HorizontalAlignment="Center">Warning Status</TextBlock>
<Ellipse Grid.Row="4" Grid.Column="1" Width="25" Height="25" Fill="{Binding bLaserWarning, Converter={StaticResource convFieldColor}}" Stroke="white" StrokeThickness="2" Margin="10,0,10,0" />
<TextBlock Grid.Row="5" Grid.Column="0" HorizontalAlignment="Center">Error Status</TextBlock>
<Ellipse Grid.Row="5" Grid.Column="1" Width="25" Height="25" Fill="{Binding bLaserError, Converter={StaticResource convFieldColor}}" Stroke="white" StrokeThickness="2" Margin="10,0,10,0" />
<TextBlock Grid.Row="6" Grid.Column="0" HorizontalAlignment="Center">E-Stop</TextBlock>
<Ellipse Grid.Row="6" Grid.Column="1" Width="25" Height="25" Fill="{Binding bEStop, Converter={StaticResource convFieldColor}}" Stroke="white" StrokeThickness="2" Margin="10,0,10,0" />
</Grid>
</GroupBox>
<GroupBox Grid.Row="2" Grid.Column="0" Margin="5" Header="Alarm 1 Status">
<TextBlock Text="{Binding Alarm1Status}"/>
</GroupBox>
<GroupBox Grid.Row="2" Grid.Column="1" Margin="5" Header="Alarm 2 Status">
<TextBlock Text="{Binding Alarm2Status}"/>
</GroupBox>
<GroupBox Grid.Row="2" Grid.Column="2" Header="Read Setting Parameter" Margin="5">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="35"/>
<RowDefinition Height="35"/>
<RowDefinition Height="35"/>
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Grid.Column="0">Mode :</TextBlock>
<Border Grid.Row="0" Grid.Column="1" Background="{Binding bGetModeLocal, Converter={StaticResource convFieldColor}}" BorderBrush="White" BorderThickness="2" Margin="3">
<TextBlock TextAlignment="Center">Local</TextBlock>
</Border>
<Border Grid.Row="0" Grid.Column="2" Background="{Binding bGetModeRemote, Converter={StaticResource convFieldColor}}" BorderBrush="White" BorderThickness="2" Margin="3">
<TextBlock TextAlignment="Center">Remote</TextBlock>
</Border>
<TextBlock Grid.Row="1" Grid.RowSpan="2" Grid.Column="0">Power :</TextBlock>
<TextBlock Grid.Row="1" Grid.Column="1" TextAlignment="Right">Center :</TextBlock>
<TextBlock Grid.Row="1" Grid.Column="2" TextAlignment="Center" Text="{Binding strPowerCenter}"></TextBlock>
<TextBlock Grid.Row="2" Grid.Column="1" TextAlignment="Right">Ring :</TextBlock>
<TextBlock Grid.Row="2" Grid.Column="2" TextAlignment="Center" Text="{Binding strPowerRing}"></TextBlock>
</Grid>
</GroupBox>
<GroupBox Grid.Row="0" Grid.RowSpan="2" Grid.Column="3" Header="Set Bit Status" Margin="5">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="4*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="35"/>
<RowDefinition Height="35"/>
<RowDefinition Height="35"/>
<RowDefinition Height="35"/>
<RowDefinition Height="35"/>
<RowDefinition Height="35"/>
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Grid.Column="0" HorizontalAlignment="Center" >Start Laser Bit</TextBlock>
<Ellipse Grid.Row="0" Grid.Column="1" Width="25" Height="25" Fill="{Binding bStartLaser, Converter={StaticResource convFieldColor}}" Stroke="white" StrokeThickness="2" Margin="10,0,10,0" />
<TextBlock Grid.Row="1" Grid.Column="0" HorizontalAlignment="Center">Laser On Bit</TextBlock>
<Ellipse Grid.Row="1" Grid.Column="1" Width="25" Height="25" Fill="{Binding bLaserOn, Converter={StaticResource convFieldColor}}" Stroke="white" StrokeThickness="2" Margin="10,0,10,0" />
<TextBlock Grid.Row="2" Grid.Column="0" HorizontalAlignment="Center">Pilot Laser On Bit</TextBlock>
<Ellipse Grid.Row="2" Grid.Column="1" Width="25" Height="25" Fill="{Binding bPilotLaserOn, Converter={StaticResource convFieldColor}}" Stroke="white" StrokeThickness="2" Margin="10,0,10,0" />
<TextBlock Grid.Row="3" Grid.Column="0" HorizontalAlignment="Center">Laser Reset Bit</TextBlock>
<Ellipse Grid.Row="3" Grid.Column="1" Width="25" Height="25" Fill="{Binding bResetLaserOn, Converter={StaticResource convFieldColor}}" Stroke="white" StrokeThickness="2" Margin="10,0,10,0" />
<TextBlock Grid.Row="4" Grid.Column="0" HorizontalAlignment="Center">Program Actived</TextBlock>
<Ellipse Grid.Row="4" Grid.Column="1" Width="25" Height="25" Fill="{Binding bProgramActived, Converter={StaticResource convFieldColor}}" Stroke="white" StrokeThickness="2" Margin="10,0,10,0" />
<TextBlock Grid.Row="5" Grid.Column="0" HorizontalAlignment="Center">Program Interrupted</TextBlock>
<Ellipse Grid.Row="5" Grid.Column="1" Width="25" Height="25" Fill="{Binding bProgramInterrupted, Converter={StaticResource convFieldColor}}" Stroke="white" StrokeThickness="2" Margin="10,0,10,0" />
</Grid>
</GroupBox>
<GroupBox Grid.Row="2" Grid.Column="3" Header="Write Setting Parameter Status" Margin="5">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="47.04"/>
<RowDefinition Height="35"/>
<RowDefinition Height="35"/>
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Grid.Column="0">Mode :</TextBlock>
<Border Grid.Row="0" Grid.Column="1" Background="{Binding bSetModeLocal, Converter={StaticResource convFieldColor}}" BorderBrush="White" BorderThickness="2" Margin="3">
<TextBlock TextAlignment="Center">Local</TextBlock>
</Border>
<Border Grid.Row="0" Grid.Column="2" Background="{Binding bSetModeRemote, Converter={StaticResource convFieldColor}}" BorderBrush="White" BorderThickness="2" Margin="3">
<TextBlock TextAlignment="Center">Remote</TextBlock>
</Border>
</Grid>
</GroupBox>
</Grid>
</UserControl>