258 lines
15 KiB
XML
258 lines
15 KiB
XML
<UserControl x:Class="AuroraACS.Views.UCACSMotor"
|
|
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:AuroraACS.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:UCACSMotorViewModel}"
|
|
d:DesignHeight="800" d:DesignWidth="1000" x:Name="uc">
|
|
<UserControl.Resources>
|
|
<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"/>
|
|
</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>
|
|
<GroupBox Header="{Binding DeviceId, FallbackValue=DeviceId}" Margin="10" Style="{StaticResource StGroupPurpleHeader}">
|
|
<Grid>
|
|
<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.ColumnSpan="2" Header="Initialize">
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition/>
|
|
<ColumnDefinition/>
|
|
<ColumnDefinition/>
|
|
</Grid.ColumnDefinitions>
|
|
<Button Margin="5 0" Command="{Binding CMD_Init}">Init</Button>
|
|
<!--IsEnabled="{Binding IsInit, Converter={StaticResource inverter}}"-->
|
|
<Button Grid.Column="1" Margin="5 0" Command="{Binding CMD_ClearAlarm}" IsEnabled="{Binding IsServoAlarm}">Alarm Clear</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>
|
|
|
|
<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" Command="{Binding CMD_RunBuffer}"
|
|
CommandParameter="{Binding Buffer}" Margin="0 5 5 0">
|
|
Buffer Run
|
|
</Button>
|
|
<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 ACSAcc}" KeyTextFgColor="White" Margin="5 0" KeyTextWidth="0.3*"/>
|
|
<usercontrols:UCKeyValue Grid.Column="1" KeyText="DEC" Value="{Binding ACSDec}" KeyTextFgColor="White" Margin="5 0" KeyTextWidth="0.3*"/>
|
|
<usercontrols:UCKeyValue Grid.Column="2" KeyText="JERK" Value="{Binding ACSJerk}" KeyTextFgColor="White" Margin="5 0" KeyTextWidth="0.3*"/>
|
|
</Grid>
|
|
</GroupBox>
|
|
<GroupBox Grid.Row="3" Grid.Column="0" Margin="0 5 5 0" Header="Motor Move">
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition/>
|
|
<RowDefinition/>
|
|
<RowDefinition/>
|
|
</Grid.RowDefinitions>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition/>
|
|
<ColumnDefinition/>
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<usercontrols:UCKeyValue Grid.Row="0" Grid.ColumnSpan="2" KeyText="Target Pos" Value="{Binding TargetPos}" DecimalPlaces="3" Height="32" Unit="mm"
|
|
KeyTextFgColor="White" />
|
|
|
|
<usercontrols:UCKeyValue Grid.Row="1" Grid.ColumnSpan="2" KeyText="Speed" Value="{Binding Speed}" DecimalPlaces="3" Height="32" Unit="mm/s"
|
|
KeyTextFgColor="White"/>
|
|
|
|
<Button Grid.Row="3" Grid.Column="0" Command="{Binding CMD_MoveABS}" Margin="0 5 5 0" Height="40">
|
|
Move ABS
|
|
</Button>
|
|
<Button Grid.Row="3" 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="3" Grid.Column="1" 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}" KeyTextFgColor="White"/>
|
|
<Button Grid.Row="2" Content="Jog Up" Margin="0 5 5 0" Height="40"
|
|
PreviewMouseUp="BtnJog_M_PreviewMouseUp" PreviewMouseLeftButtonDown="BtnJog_M_PreviewMouseLeftButtonDown"/>
|
|
<Button Grid.Row="2" Grid.Column="1" Content="Jog Down" Margin="5 5 0 0" PreviewMouseUp="BtnJog_P_PreviewMouseUp" PreviewMouseLeftButtonDown="BtnJog_P_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" 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" 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" 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">
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition/>
|
|
<RowDefinition/>
|
|
<RowDefinition/>
|
|
<RowDefinition/>
|
|
<RowDefinition/>
|
|
</Grid.RowDefinitions>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition/>
|
|
<ColumnDefinition/>
|
|
</Grid.ColumnDefinitions>
|
|
<Label Grid.Row="0" Content="(HW) + Sensor" VerticalAlignment="Center" HorizontalAlignment="Center"/>
|
|
<Label Grid.Row="1" Content="(HW) - Sensor" VerticalAlignment="Center" HorizontalAlignment="Center"/>
|
|
<Label Grid.Row="2" Content="(SW) + Sensor" VerticalAlignment="Center" HorizontalAlignment="Center"/>
|
|
<Label Grid.Row="3" Content="(SW) - Sensor" VerticalAlignment="Center" HorizontalAlignment="Center"/>
|
|
<Label Grid.Row="4" Content="In Position" VerticalAlignment="Center" HorizontalAlignment="Center"/>
|
|
|
|
<Ellipse Grid.Row="0" Grid.Column="1" Width="20" Height="20" Stroke="{StaticResource ACBlueDark}" StrokeThickness="1" Fill="{Binding IsPSensor, Converter={StaticResource convSignalConv}}"/>
|
|
<Ellipse Grid.Row="1" Grid.Column="1" Width="20" Height="20" Stroke="{StaticResource ACBlueDark}" StrokeThickness="1" Fill="{Binding IsMSensor, Converter={StaticResource convSignalConv}}"/>
|
|
<Ellipse Grid.Row="2" Grid.Column="1" Width="20" Height="20" Stroke="{StaticResource ACBlueDark}" StrokeThickness="1" Fill="{Binding IsSPSensor, Converter={StaticResource convSignalConv}}"/>
|
|
<Ellipse Grid.Row="3" Grid.Column="1" Width="20" Height="20" Stroke="{StaticResource ACBlueDark}" StrokeThickness="1" Fill="{Binding IsSNSensor, Converter={StaticResource convSignalConv}}"/>
|
|
<Ellipse Grid.Row="4" Grid.Column="1" Width="20" Height="20" Stroke="{StaticResource ACBlueDark}" StrokeThickness="1" Fill="{Binding IsInPos, Converter={StaticResource convSignalConv}}"/>
|
|
</Grid>
|
|
</GroupBox>
|
|
</Grid>
|
|
</GroupBox>
|
|
</UserControl>
|