306 lines
18 KiB
XML
306 lines
18 KiB
XML
<UserControl x:Class="AuroraMotionBoard.Ajin.Views.UCAJINMotorView"
|
|
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:AuroraMotionBoard.Ajin.Views"
|
|
mc:Ignorable="d"
|
|
xmlns:aurora="clr-namespace:Aurora.View;assembly=Aurora"
|
|
xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
|
|
xmlns:usercontrols="clr-namespace:AuroraUIComponent.UserControls;assembly=AuroraUIComponent"
|
|
d:DataContext="{d:DesignInstance Type=local:UCAJINMotorViewModel}"
|
|
d:DesignHeight="500" d:DesignWidth="1000" FontSize="12" x:Name="uc" HorizontalAlignment="Left" Width="1200">
|
|
<UserControl.Resources>
|
|
<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>
|
|
<aurora:BoolConverter
|
|
x:Key="convHomeSignal"
|
|
FalseValue="White"
|
|
TrueValue="Green"/>
|
|
<aurora:BoolConverter
|
|
x:Key="convBGConv"
|
|
FalseValue="Transparent"
|
|
TrueValue="#A50034"/>
|
|
<aurora:BoolConverter
|
|
x:Key="convSignalConv"
|
|
FalseValue="White"
|
|
TrueValue="Green"/>
|
|
<aurora:BoolConverter
|
|
x:Key="convMovingConv"
|
|
FalseValue="STOPPED"
|
|
TrueValue="MOVING"/>
|
|
<aurora:BoolConverter
|
|
x:Key="convInit"
|
|
FalseValue="Init Fail"
|
|
TrueValue="Init Success"/>
|
|
<aurora:BoolConverter
|
|
x:Key="convBuffer"
|
|
FalseValue="Program End"
|
|
TrueValue="Running"/>
|
|
<aurora:BoolConverter
|
|
x:Key="convServoOn"
|
|
FalseValue="Transparent"
|
|
TrueValue="Green"/>
|
|
</UserControl.Resources>
|
|
<i:Interaction.Triggers>
|
|
<i:PropertyChangedTrigger Binding="{Binding IsVisible, ElementName=uc}">
|
|
<i:InvokeCommandAction Command="{Binding CMD_VisibleChanged}" CommandParameter="{Binding IsVisible, ElementName=uc}"/>
|
|
</i:PropertyChangedTrigger>
|
|
</i:Interaction.Triggers>
|
|
<Grid Margin="10">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition Height="Auto"/>
|
|
</Grid.RowDefinitions>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition/>
|
|
<ColumnDefinition/>
|
|
<ColumnDefinition/>
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<GroupBox Grid.Row="0" Margin="0 0 5 5" Grid.Column="0" Header="Initialize">
|
|
<Grid Height="40">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition/>
|
|
<ColumnDefinition/>
|
|
<ColumnDefinition/>
|
|
</Grid.ColumnDefinitions>
|
|
<Button Margin="5 0" Command="{Binding CMD_ServoOn}" >ServoOn</Button>
|
|
<!--<Button Margin="5 0" Command="{Binding CMD_Init}" IsEnabled="{Binding IsInit, Converter={StaticResource inverter}}">Init</Button>-->
|
|
<Button Grid.Column="1" Margin="5 0" Command="{Binding CMD_ClearAlarm}" IsEnabled="{Binding IsServoAlarm}">Alarm Clear</Button>
|
|
<Button Grid.Column="2" Margin="5 0" Command="{Binding CMD_ReScan}">ReScan</Button>
|
|
</Grid>
|
|
</GroupBox>
|
|
|
|
<GroupBox Grid.Row="1" Grid.Column="0" Margin="0 5 5 0" Header="Home">
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition/>
|
|
<RowDefinition Height="Auto"/>
|
|
</Grid.RowDefinitions>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition/>
|
|
<ColumnDefinition/>
|
|
</Grid.ColumnDefinitions>
|
|
<StackPanel Grid.Row="0" Grid.ColumnSpan="2" Orientation="Horizontal" HorizontalAlignment="Left">
|
|
<Border BorderThickness="1" BorderBrush="White" Width="20" Height="20" Background="{Binding IsHomeSignal, Converter={StaticResource convHomeSignal}}"/>
|
|
<TextBlock Grid.Row="0" Grid.ColumnSpan="2" Margin="5 0" HorizontalAlignment="Center" FontSize="11" Foreground="{StaticResource BLGold}">
|
|
Is Home Completed</TextBlock>
|
|
</StackPanel>
|
|
<Button Grid.Row="1" Grid.Column="0" Command="{Binding CMD_Home}" Margin="0 5 5 0" Height="40">Home</Button>
|
|
</Grid>
|
|
</GroupBox>
|
|
|
|
<!-- Ajin보드에서는 사용하지 않아서 주석처리-->
|
|
<!--<GroupBox Grid.Row="1" Grid.Column="1" Margin="5 5 5 0" Header="Run Buffer">
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition/>
|
|
<RowDefinition/>
|
|
</Grid.RowDefinitions>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition/>
|
|
<ColumnDefinition/>
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<usercontrols:UCKeyValueString Grid.ColumnSpan="2" KeyText="Label : " ValueText="{Binding Buffer}"/>
|
|
|
|
<Button x:Name="ButtonBufferRun" Grid.Row="1" Grid.Column="0" Content="Buffer Run" Command="{Binding CMD_RunBuffer}" Margin="0 5 5 0"/>
|
|
<TextBlock Grid.Row="2" Grid.Column="2" Grid.ColumnSpan="2" TextAlignment="Center"
|
|
Text="{Binding IsBufferRunning, Converter={StaticResource convBuffer}}"/>
|
|
</Grid>
|
|
</GroupBox>-->
|
|
<!--<GroupBox Grid.Row="2" Grid.ColumnSpan="2" Margin="0 5 5 0">
|
|
<Grid Height="32">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition/>
|
|
<ColumnDefinition/>
|
|
<ColumnDefinition/>
|
|
</Grid.ColumnDefinitions>
|
|
<usercontrols:UCKeyValue Grid.Column="0" KeyText="ACC" Value="{Binding Acc}" KeyTextFgColor="White" Margin="5 0" KeyTextWidth="0.3*"/>
|
|
<usercontrols:UCKeyValue Grid.Column="1" KeyText="DEC" Value="{Binding Dec}" KeyTextFgColor="White" Margin="5 0" KeyTextWidth="0.3*"/>
|
|
--><!--<usercontrols:UCKeyValue Grid.Column="2" KeyText="JERK" Value="{Binding Jerk}" KeyTextFgColor="White" Margin="5 0" KeyTextWidth="0.3*"/>--><!--
|
|
</Grid>
|
|
</GroupBox>-->
|
|
<GroupBox Grid.Row="0" Grid.RowSpan="4" Grid.Column="1" Margin="0 0 5 0" Header="Motor Move">
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition/>
|
|
<RowDefinition/>
|
|
<RowDefinition/>
|
|
<RowDefinition/>
|
|
<RowDefinition/>
|
|
|
|
</Grid.RowDefinitions>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition/>
|
|
<ColumnDefinition/>
|
|
</Grid.ColumnDefinitions>
|
|
<usercontrols:UCKeyValue Grid.Row="0" Grid.ColumnSpan="2" KeyText="Acceleration" Value="{Binding Acc}" DecimalPlaces="3"
|
|
KeyTextFgColor="White" Height="32" />
|
|
<usercontrols:UCKeyValue Grid.Row="1" Grid.ColumnSpan="2" KeyText="Deceleration" Value="{Binding Dec}" DecimalPlaces="3"
|
|
KeyTextFgColor="White" Height="32"/>
|
|
<!--<usercontrols:UCKeyValue Grid.Column="2" KeyText="JERK" Value="{Binding Jerk}" KeyTextFgColor="White" Margin="5 0" KeyTextWidth="0.3*"/>-->
|
|
<usercontrols:UCKeyValue Grid.Row="2" Grid.ColumnSpan="2" KeyText="Target Pos" Value="{Binding TargetPos}" DecimalPlaces="3" Height="32" Unit="mm"
|
|
KeyTextFgColor="White" />
|
|
|
|
<usercontrols:UCKeyValue Grid.Row="3" Grid.ColumnSpan="2" KeyText="Speed" Value="{Binding Speed}" DecimalPlaces="3" Height="32" Unit="mm/s"
|
|
KeyTextFgColor="White"/>
|
|
|
|
<Button Grid.Row="4" Grid.Column="0" Command="{Binding CMD_MoveABS}" Margin="0 5 5 0" Height="40">
|
|
Move ABS
|
|
</Button>
|
|
<Button Grid.Row="4" Grid.Column="3" Grid.ColumnSpan="3" Command="{Binding CMD_MoveINC}" Margin="5 5 0 0" Height="40">
|
|
Move INC
|
|
</Button>
|
|
</Grid>
|
|
</GroupBox>
|
|
<GroupBox Grid.Row="2" Grid.RowSpan="2" Grid.Column="0" Margin="5 5 5 0" Header="Jog">
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="32"/>
|
|
<RowDefinition/>
|
|
<RowDefinition Height="Auto"/>
|
|
</Grid.RowDefinitions>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition/>
|
|
<ColumnDefinition/>
|
|
</Grid.ColumnDefinitions>
|
|
<usercontrols:UCKeyValue Grid.ColumnSpan="2" KeyText="Jog Speed" Value="{Binding JogSpeed}" DecimalPlaces="3" Unit="mm/s" KeyTextFgColor="White"/>
|
|
<Button Grid.Row="2" Content="Jog Up" Margin="0 5 5 0" Height="40"
|
|
PreviewMouseUp="BtnJog_P_PreviewMouseUp" PreviewMouseLeftButtonDown="BtnJog_P_PreviewMouseLeftButtonDown"/>
|
|
<Button Grid.Row="2" Grid.Column="1" Content="Jog Down" Margin="5 5 0 0"
|
|
PreviewMouseUp="BtnJog_M_PreviewMouseUp" PreviewMouseLeftButtonDown="BtnJog_M_PreviewMouseLeftButtonDown"/>
|
|
</Grid>
|
|
</GroupBox>
|
|
<GroupBox Grid.Row="4" Grid.Column="0" Grid.ColumnSpan="2" Margin="0 5 5 0" Header="Stop Motion">
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition/>
|
|
<ColumnDefinition/>
|
|
<ColumnDefinition/>
|
|
<ColumnDefinition/>
|
|
</Grid.ColumnDefinitions>
|
|
<Button Grid.Row="0" Grid.Column="0" Content="Emergency Stop" Margin="0 5 5 0" Command="{Binding CMD_StopEmergency}" Height="40" Foreground="Red"/>
|
|
<Button Grid.Row="0" Grid.Column="1" Content="Slow Stop" Margin="5 5 0 0" Command="{Binding CMD_StopSlow}" Height="40" Foreground="Red"/>
|
|
</Grid>
|
|
</GroupBox>
|
|
|
|
<GroupBox Grid.Row="0" Grid.Column="2" Margin="5 0 0 0" Grid.RowSpan="2" Header="Motor Position">
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition/>
|
|
<RowDefinition/>
|
|
<RowDefinition/>
|
|
</Grid.RowDefinitions>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="3*"/>
|
|
<ColumnDefinition Width="5*"/>
|
|
</Grid.ColumnDefinitions>
|
|
<TextBlock Grid.Row="0" Text="Current" HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="White" TextWrapping="Wrap"/>
|
|
<Border Grid.Row="0" Grid.Column="1" BorderBrush="Black" BorderThickness="1" Margin="5">
|
|
<TextBlock x:Name="lblCurPos" VerticalAlignment="Center" HorizontalAlignment="Center" FontWeight="Bold" FontSize="24" Padding="0 5"
|
|
Foreground="#A50034" Text="{Binding CurrentPos, StringFormat={}{0:0.#}}"/>
|
|
</Border>
|
|
|
|
<TextBlock Grid.Row="1" Margin="5 0" Text="Command" HorizontalAlignment="Center" VerticalAlignment="Center" TextAlignment="Center" Foreground="White" TextWrapping="Wrap"/>
|
|
<Border Grid.Row="1" Grid.Column="1" BorderBrush="Black" BorderThickness="1" Margin="5">
|
|
<TextBlock Name="lblCmdPos" VerticalAlignment="Center" HorizontalAlignment="Center" FontWeight="Bold" FontSize="24" Padding="0 5"
|
|
Foreground="#A50034" Text="{Binding CmdPos, StringFormat={}{0:0.#}}"/>
|
|
</Border>
|
|
|
|
<TextBlock Grid.Row="2" Margin="5" Text="Velocity" HorizontalAlignment="Center" VerticalAlignment="Center" TextAlignment="Center" Foreground="White" TextWrapping="Wrap"/>
|
|
<Border Grid.Row="2" Grid.Column="1" BorderBrush="Black" BorderThickness="1" Margin="5">
|
|
<TextBlock VerticalAlignment="Center" HorizontalAlignment="Center" FontWeight="Bold" FontSize="24" Padding="0 5"
|
|
Foreground="#A50034" Text="{Binding Velocity, StringFormat={}{0:0.#}}"/>
|
|
</Border>
|
|
</Grid>
|
|
</GroupBox>
|
|
|
|
<Grid Grid.Row="2" Grid.Column="2" Margin="5 5 0 0">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition/>
|
|
<ColumnDefinition/>
|
|
</Grid.ColumnDefinitions>
|
|
<Border Grid.Row="0" Margin="5" BorderBrush="White" BorderThickness="1" CornerRadius="4" Background="{Binding IsServoAlarm, Converter={StaticResource convBGConv}}">
|
|
<TextBlock Foreground="White" FontSize="20" HorizontalAlignment="Center" VerticalAlignment="Center"
|
|
FontWeight="Bold">
|
|
ALARM
|
|
</TextBlock>
|
|
</Border>
|
|
<Border Grid.Column="1" Margin="5" BorderBrush="White" BorderThickness="1" CornerRadius="4" Background="{Binding IsMoving, Converter={StaticResource convBGConv}}">
|
|
<TextBlock Foreground="White" FontSize="20" HorizontalAlignment="Center" VerticalAlignment="Center"
|
|
FontWeight="Bold" Text="{Binding IsMoving, Converter={StaticResource convMovingConv}}"/>
|
|
</Border>
|
|
</Grid>
|
|
|
|
<GroupBox Grid.Row="3" Grid.Column="2" Grid.RowSpan="2" Margin="5 5 0 0" Header="Status">
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition/>
|
|
<RowDefinition/>
|
|
<RowDefinition/>
|
|
<RowDefinition/>
|
|
<RowDefinition/>
|
|
<RowDefinition/>
|
|
</Grid.RowDefinitions>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition/>
|
|
<ColumnDefinition/>
|
|
</Grid.ColumnDefinitions>
|
|
<Label Grid.Row="0" Content="Servo On" VerticalAlignment="Center" HorizontalAlignment="Center"/>
|
|
<Label Grid.Row="1" Content="(HW) + Sensor" VerticalAlignment="Center" HorizontalAlignment="Center"/>
|
|
<Label Grid.Row="2" Content="(HW) - Sensor" VerticalAlignment="Center" HorizontalAlignment="Center"/>
|
|
<Label Grid.Row="3" Content="(SW) + Sensor" VerticalAlignment="Center" HorizontalAlignment="Center"/>
|
|
<Label Grid.Row="4" Content="(SW) - Sensor" VerticalAlignment="Center" HorizontalAlignment="Center"/>
|
|
<Label Grid.Row="5" Content="In Position" VerticalAlignment="Center" HorizontalAlignment="Center"/>
|
|
|
|
<Ellipse Grid.Row="0" Grid.Column="1" Width="20" Height="20" Stroke="#1A2242" StrokeThickness="1" Fill="{Binding IsServoOn, Converter={StaticResource convSignalConv}}"/>
|
|
<Ellipse Grid.Row="1" Grid.Column="1" Width="20" Height="20" Stroke="#1A2242" StrokeThickness="1" Fill="{Binding IsPSensor, Converter={StaticResource convSignalConv}}"/>
|
|
<Ellipse Grid.Row="2" Grid.Column="1" Width="20" Height="20" Stroke="#1A2242" StrokeThickness="1" Fill="{Binding IsMSensor, Converter={StaticResource convSignalConv}}"/>
|
|
<Ellipse Grid.Row="3" Grid.Column="1" Width="20" Height="20" Stroke="#1A2242" StrokeThickness="1" Fill="{Binding IsSPSensor, Converter={StaticResource convSignalConv}}"/>
|
|
<Ellipse Grid.Row="4" Grid.Column="1" Width="20" Height="20" Stroke="#1A2242" StrokeThickness="1" Fill="{Binding IsSNSensor, Converter={StaticResource convSignalConv}}"/>
|
|
<Ellipse Grid.Row="5" Grid.Column="1" Width="20" Height="20" Stroke="#1A2242" StrokeThickness="1" Fill="{Binding IsInPos, Converter={StaticResource convSignalConv}}"/>
|
|
</Grid>
|
|
</GroupBox>
|
|
</Grid>
|
|
</UserControl>
|