EditMotionSafetyDialog.xaml 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. <hc:Window x:Class="TeamAAS.Views.EditMotionSafetyDialog"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:hc="https://handyorg.github.io/handycontrol"
  5. xmlns:loc="clr-namespace:TeamAAS.Localization"
  6. Title="{loc:Translate '安全配置'}"
  7. Width="980"
  8. Height="600"
  9. WindowStartupLocation="CenterOwner"
  10. Background="{DynamicResource RegionBrush}">
  11. <Grid Margin="16">
  12. <Grid.RowDefinitions>
  13. <RowDefinition Height="Auto"/>
  14. <RowDefinition Height="Auto"/>
  15. <RowDefinition Height="*"/>
  16. <RowDefinition Height="Auto"/>
  17. </Grid.RowDefinitions>
  18. <Border Grid.Row="0"
  19. BorderBrush="{DynamicResource BorderBrush}"
  20. BorderThickness="1"
  21. CornerRadius="6"
  22. Padding="12"
  23. Margin="0,0,0,12">
  24. <StackPanel>
  25. <TextBlock Text="{loc:Translate '卡级急停 / 停止'}"
  26. FontSize="14" FontWeight="Bold"
  27. Foreground="{DynamicResource PrimaryTextBrush}"/>
  28. <TextBlock Text="{loc:Translate '控制卡连接后后台实时监控这两个 DI。填 -1 表示不启用。分区选本地端子或 EtherCAT 扩展。高电平有效=常开(DI=1 触发);不勾选=常闭(DI=0 触发)。'}"
  29. TextWrapping="Wrap"
  30. Foreground="{DynamicResource SecondaryTextBrush}"
  31. Margin="0,4,0,10"/>
  32. <Grid>
  33. <Grid.ColumnDefinitions>
  34. <ColumnDefinition Width="Auto"/>
  35. <ColumnDefinition Width="88"/>
  36. <ColumnDefinition Width="110"/>
  37. <ColumnDefinition Width="Auto"/>
  38. <ColumnDefinition Width="20"/>
  39. <ColumnDefinition Width="Auto"/>
  40. <ColumnDefinition Width="88"/>
  41. <ColumnDefinition Width="110"/>
  42. <ColumnDefinition Width="Auto"/>
  43. </Grid.ColumnDefinitions>
  44. <Grid.RowDefinitions>
  45. <RowDefinition Height="Auto"/>
  46. </Grid.RowDefinitions>
  47. <TextBlock Grid.Column="0" Text="{loc:Translate '急停 DI'}"
  48. VerticalAlignment="Center" Margin="0,0,8,0"
  49. Foreground="{DynamicResource PrimaryTextBrush}"/>
  50. <TextBox Grid.Column="1" Height="28"
  51. Text="{Binding EstopDiIndex, UpdateSourceTrigger=PropertyChanged}"
  52. VerticalContentAlignment="Center" Margin="0,0,8,0"/>
  53. <ComboBox Grid.Column="2" Height="28" Margin="0,0,8,0"
  54. SelectedIndex="{Binding EstopDiBankIndex}"
  55. VerticalContentAlignment="Center">
  56. <ComboBoxItem Content="{loc:Translate '本地'}"/>
  57. <ComboBoxItem Content="EtherCAT"/>
  58. </ComboBox>
  59. <CheckBox Grid.Column="3" Content="{loc:Translate '高电平有效'}"
  60. IsChecked="{Binding EstopActiveHigh}" VerticalAlignment="Center"/>
  61. <TextBlock Grid.Column="5" Text="{loc:Translate '停止 DI'}"
  62. VerticalAlignment="Center" Margin="0,0,8,0"
  63. Foreground="{DynamicResource PrimaryTextBrush}"/>
  64. <TextBox Grid.Column="6" Height="28"
  65. Text="{Binding StopDiIndex, UpdateSourceTrigger=PropertyChanged}"
  66. VerticalContentAlignment="Center" Margin="0,0,8,0"/>
  67. <ComboBox Grid.Column="7" Height="28" Margin="0,0,8,0"
  68. SelectedIndex="{Binding StopDiBankIndex}"
  69. VerticalContentAlignment="Center">
  70. <ComboBoxItem Content="{loc:Translate '本地'}"/>
  71. <ComboBoxItem Content="EtherCAT"/>
  72. </ComboBox>
  73. <CheckBox Grid.Column="8" Content="{loc:Translate '高电平有效'}"
  74. IsChecked="{Binding StopActiveHigh}" VerticalAlignment="Center"/>
  75. </Grid>
  76. <TextBlock Text="{loc:Translate '急停:下使能全部轴,手动/自动使能与运动均失败。停止:全部轴不能运动,手动/自动运动均失败。'}"
  77. TextWrapping="Wrap"
  78. Foreground="#C62828"
  79. FontWeight="SemiBold"/>
  80. </StackPanel>
  81. </Border>
  82. <TextBlock Grid.Row="1"
  83. Text="{loc:Translate '按轴设置软限位与最高速度。指令超出时按边界运行:位置钳到正/负限位,速度钳到最高速度。最高速度填 0 表示不限制。'}"
  84. TextWrapping="Wrap"
  85. Foreground="{DynamicResource SecondaryTextBrush}"
  86. Margin="0,0,0,10"/>
  87. <DataGrid Grid.Row="2"
  88. x:Name="GridSafety"
  89. AutoGenerateColumns="False"
  90. CanUserAddRows="False"
  91. CanUserDeleteRows="False"
  92. HeadersVisibility="All"
  93. GridLinesVisibility="Horizontal"
  94. BorderThickness="1"
  95. ItemsSource="{Binding Rows}">
  96. <DataGrid.Columns>
  97. <DataGridTextColumn Header="{loc:Translate '轴号'}" Binding="{Binding AxisNo}" IsReadOnly="True" Width="70"/>
  98. <DataGridTextColumn Header="{loc:Translate '名称'}" Binding="{Binding Name}" IsReadOnly="True" Width="120"/>
  99. <DataGridTextColumn Header="{loc:Translate '类型'}" Binding="{Binding KindText}" IsReadOnly="True" Width="90"/>
  100. <DataGridCheckBoxColumn Header="{loc:Translate '软限位'}" Binding="{Binding SoftLimitEnabled, UpdateSourceTrigger=PropertyChanged}" Width="70"/>
  101. <DataGridTextColumn Header="{loc:Translate '负限位'}" Binding="{Binding SoftLimitNeg, UpdateSourceTrigger=PropertyChanged}" Width="100"/>
  102. <DataGridTextColumn Header="{loc:Translate '正限位'}" Binding="{Binding SoftLimitPos, UpdateSourceTrigger=PropertyChanged}" Width="100"/>
  103. <DataGridTextColumn Header="{loc:Translate '最高速度'}" Binding="{Binding MaxVelocity, UpdateSourceTrigger=PropertyChanged}" Width="100"/>
  104. </DataGrid.Columns>
  105. </DataGrid>
  106. <StackPanel Grid.Row="3" Orientation="Horizontal" HorizontalAlignment="Right" Margin="0,12,0,0">
  107. <Button Content="{loc:Translate '取消'}" MinWidth="80" Padding="16,0" Margin="0,0,12,0" IsCancel="True" Style="{StaticResource ButtonDefault}"/>
  108. <Button Content="{loc:Translate '确定'}" MinWidth="80" Padding="16,0" IsDefault="True" Click="BtnOK_Click" Style="{StaticResource ButtonPrimary}"/>
  109. </StackPanel>
  110. </Grid>
  111. </hc:Window>