| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- <hc:Window x:Class="TeamAAS.Views.EditMotionSafetyDialog"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:hc="https://handyorg.github.io/handycontrol"
- xmlns:loc="clr-namespace:TeamAAS.Localization"
- Title="{loc:Translate '安全配置'}"
- Width="980"
- Height="600"
- WindowStartupLocation="CenterOwner"
- Background="{DynamicResource RegionBrush}">
- <Grid Margin="16">
- <Grid.RowDefinitions>
- <RowDefinition Height="Auto"/>
- <RowDefinition Height="Auto"/>
- <RowDefinition Height="*"/>
- <RowDefinition Height="Auto"/>
- </Grid.RowDefinitions>
- <Border Grid.Row="0"
- BorderBrush="{DynamicResource BorderBrush}"
- BorderThickness="1"
- CornerRadius="6"
- Padding="12"
- Margin="0,0,0,12">
- <StackPanel>
- <TextBlock Text="{loc:Translate '卡级急停 / 停止'}"
- FontSize="14" FontWeight="Bold"
- Foreground="{DynamicResource PrimaryTextBrush}"/>
- <TextBlock Text="{loc:Translate '控制卡连接后后台实时监控这两个 DI。填 -1 表示不启用。分区选本地端子或 EtherCAT 扩展。高电平有效=常开(DI=1 触发);不勾选=常闭(DI=0 触发)。'}"
- TextWrapping="Wrap"
- Foreground="{DynamicResource SecondaryTextBrush}"
- Margin="0,4,0,10"/>
- <Grid>
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="Auto"/>
- <ColumnDefinition Width="88"/>
- <ColumnDefinition Width="110"/>
- <ColumnDefinition Width="Auto"/>
- <ColumnDefinition Width="20"/>
- <ColumnDefinition Width="Auto"/>
- <ColumnDefinition Width="88"/>
- <ColumnDefinition Width="110"/>
- <ColumnDefinition Width="Auto"/>
- </Grid.ColumnDefinitions>
- <Grid.RowDefinitions>
- <RowDefinition Height="Auto"/>
- </Grid.RowDefinitions>
- <TextBlock Grid.Column="0" Text="{loc:Translate '急停 DI'}"
- VerticalAlignment="Center" Margin="0,0,8,0"
- Foreground="{DynamicResource PrimaryTextBrush}"/>
- <TextBox Grid.Column="1" Height="28"
- Text="{Binding EstopDiIndex, UpdateSourceTrigger=PropertyChanged}"
- VerticalContentAlignment="Center" Margin="0,0,8,0"/>
- <ComboBox Grid.Column="2" Height="28" Margin="0,0,8,0"
- SelectedIndex="{Binding EstopDiBankIndex}"
- VerticalContentAlignment="Center">
- <ComboBoxItem Content="{loc:Translate '本地'}"/>
- <ComboBoxItem Content="EtherCAT"/>
- </ComboBox>
- <CheckBox Grid.Column="3" Content="{loc:Translate '高电平有效'}"
- IsChecked="{Binding EstopActiveHigh}" VerticalAlignment="Center"/>
- <TextBlock Grid.Column="5" Text="{loc:Translate '停止 DI'}"
- VerticalAlignment="Center" Margin="0,0,8,0"
- Foreground="{DynamicResource PrimaryTextBrush}"/>
- <TextBox Grid.Column="6" Height="28"
- Text="{Binding StopDiIndex, UpdateSourceTrigger=PropertyChanged}"
- VerticalContentAlignment="Center" Margin="0,0,8,0"/>
- <ComboBox Grid.Column="7" Height="28" Margin="0,0,8,0"
- SelectedIndex="{Binding StopDiBankIndex}"
- VerticalContentAlignment="Center">
- <ComboBoxItem Content="{loc:Translate '本地'}"/>
- <ComboBoxItem Content="EtherCAT"/>
- </ComboBox>
- <CheckBox Grid.Column="8" Content="{loc:Translate '高电平有效'}"
- IsChecked="{Binding StopActiveHigh}" VerticalAlignment="Center"/>
- </Grid>
- <TextBlock Text="{loc:Translate '急停:下使能全部轴,手动/自动使能与运动均失败。停止:全部轴不能运动,手动/自动运动均失败。'}"
- TextWrapping="Wrap"
- Foreground="#C62828"
- FontWeight="SemiBold"/>
- </StackPanel>
- </Border>
- <TextBlock Grid.Row="1"
- Text="{loc:Translate '按轴设置软限位与最高速度。指令超出时按边界运行:位置钳到正/负限位,速度钳到最高速度。最高速度填 0 表示不限制。'}"
- TextWrapping="Wrap"
- Foreground="{DynamicResource SecondaryTextBrush}"
- Margin="0,0,0,10"/>
- <DataGrid Grid.Row="2"
- x:Name="GridSafety"
- AutoGenerateColumns="False"
- CanUserAddRows="False"
- CanUserDeleteRows="False"
- HeadersVisibility="All"
- GridLinesVisibility="Horizontal"
- BorderThickness="1"
- ItemsSource="{Binding Rows}">
- <DataGrid.Columns>
- <DataGridTextColumn Header="{loc:Translate '轴号'}" Binding="{Binding AxisNo}" IsReadOnly="True" Width="70"/>
- <DataGridTextColumn Header="{loc:Translate '名称'}" Binding="{Binding Name}" IsReadOnly="True" Width="120"/>
- <DataGridTextColumn Header="{loc:Translate '类型'}" Binding="{Binding KindText}" IsReadOnly="True" Width="90"/>
- <DataGridCheckBoxColumn Header="{loc:Translate '软限位'}" Binding="{Binding SoftLimitEnabled, UpdateSourceTrigger=PropertyChanged}" Width="70"/>
- <DataGridTextColumn Header="{loc:Translate '负限位'}" Binding="{Binding SoftLimitNeg, UpdateSourceTrigger=PropertyChanged}" Width="100"/>
- <DataGridTextColumn Header="{loc:Translate '正限位'}" Binding="{Binding SoftLimitPos, UpdateSourceTrigger=PropertyChanged}" Width="100"/>
- <DataGridTextColumn Header="{loc:Translate '最高速度'}" Binding="{Binding MaxVelocity, UpdateSourceTrigger=PropertyChanged}" Width="100"/>
- </DataGrid.Columns>
- </DataGrid>
- <StackPanel Grid.Row="3" Orientation="Horizontal" HorizontalAlignment="Right" Margin="0,12,0,0">
- <Button Content="{loc:Translate '取消'}" MinWidth="80" Padding="16,0" Margin="0,0,12,0" IsCancel="True" Style="{StaticResource ButtonDefault}"/>
- <Button Content="{loc:Translate '确定'}" MinWidth="80" Padding="16,0" IsDefault="True" Click="BtnOK_Click" Style="{StaticResource ButtonPrimary}"/>
- </StackPanel>
- </Grid>
- </hc:Window>
|