<Window x:Class="Flyad7_WPF.Window_sync" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:flyadbase="clr-namespace:FlyADBase;assembly=FlyADBase" Title="Window_sync" Height="689" Width="1197" Loaded="Window_Loaded" Unloaded="Window_Unloaded"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="auto" /> <ColumnDefinition Width="auto" /> <ColumnDefinition Width="512*" /> </Grid.ColumnDefinitions> <GroupBox Header="基本" Name="groupBox9" Width="194"> <StackPanel Orientation="Vertical"> <StackPanel.Resources> <Style TargetType="Button"> <Setter Property="Height" Value="23"/> <Setter Property="Width" Value="80"/> <Setter Property="Margin" Value="3"/> </Style> <Style TargetType="TextBox"> <Setter Property="Height" Value="23"/> <Setter Property="Width" Value="80"/> <Setter Property="Margin" Value="3"/> </Style> </StackPanel.Resources> <StackPanel Orientation="Vertical" Margin="3"> <TextBlock HorizontalAlignment="Left" Margin="6" Name="textBlock_pos1LCShift" FontSize="16"> <Run Text="逻辑横向脉冲偏移:"/> <Run Text="{Binding Pos1LCShift, Mode=OneWay}"/> </TextBlock> <StackPanel Orientation="Horizontal"> <Button Content="设置" Click="button_setPos1LCShift_Click" /> <TextBox Text="{Binding Pos1LCShift}" /> </StackPanel> </StackPanel> <StackPanel Orientation="Vertical" Margin="3"> <StackPanel Orientation="Vertical" Name="textBlock_position2" Margin="4"> <TextBlock HorizontalAlignment="Left" Margin="2" FontSize="16"> <Run Text="POS1脉冲:" /> <Run Text="{Binding Position, Mode=OneWay}" /> </TextBlock> <TextBlock HorizontalAlignment="Left" Margin="2" FontSize="16"> <Run Text="POS2脉冲:" /> <Run Text="{Binding Position2, Mode=OneWay}" /> </TextBlock> </StackPanel> </StackPanel> <StackPanel Orientation="Horizontal" Margin="3"> <Button Content="纵向偏移设置" Click="button_setPos2Shift_Click" /> <TextBox Text="{Binding Pos2Shift}" /> </StackPanel> <StackPanel > <WrapPanel Orientation="Horizontal"> <Button Content="进入同步状态" Click="button_begin2_Click" /> <Button Content="退出同步状态" Click="button_syncEnd_Click" /> <Button Content="清空同步列表" Click="button_clear_Click" /> <Button Content="pos图" Click="button_graph_Click" /> </WrapPanel> </StackPanel> <StackPanel Name="textBlock_marker" > <TextBlock FontSize="16" Margin="2" > <Run Text="Marker:" /> <Run Text="{Binding Marker, Mode=OneWay}" /> </TextBlock> <TextBlock FontSize="16" Margin="2" > <Run Text="运行状态:" /> <Run Text="{Binding DriveStatus, Mode=OneWay}" /> </TextBlock> <TextBlock FontSize="16" Margin="2" > <Run Text="运行指令:" /> <Run Text="{Binding DriveOrder, Mode=OneWay}" /> </TextBlock> <TextBlock FontSize="16" Margin="2" > <Run Text="同步中:" /> <Run Text="{Binding IsSync, Mode=OneWay}" /> </TextBlock> </StackPanel> </StackPanel> </GroupBox> <TabControl Margin="5" Name="tabControl1" Width="422" Grid.Column="1"> <TabItem Header="手动" Name="tabItem1"> <Grid> <StackPanel Orientation="Horizontal"> <StackPanel Width="210"> <GroupBox Header="SyncRunAtLC 同步扫描至" Margin="5" Name="groupBox_syncRunAtLC" > <Grid> <TextBlock Height="23" HorizontalAlignment="Left" Margin="6,7,0,0" Name="textBlock1" Text="开始主轴位置" VerticalAlignment="Top" /> <TextBlock Height="23" HorizontalAlignment="Left" Margin="6,35,0,0" Name="textBlock2" Text="结束主轴位置" VerticalAlignment="Top" /> <TextBlock Height="23" HorizontalAlignment="Left" Margin="6,64,0,0" Name="textBlock3" Text="结束横向逻辑位置" VerticalAlignment="Top" /> <CheckBox Content="脉冲开关" Height="16" HorizontalAlignment="Left" Margin="6,122,0,0" Name="checkBox1" VerticalAlignment="Top" IsChecked="{Binding HasDataGrid}"/> <TextBlock Height="23" HorizontalAlignment="Left" Margin="6,93,0,0" Name="textBlock4" Text="命令识标号" VerticalAlignment="Top" /> <TextBox Height="23" HorizontalAlignment="Left" Margin="84,6,0,0" Name="textBox1" VerticalAlignment="Top" Width="98" Text="{Binding Pos2Begin}"/> <TextBox Height="23" HorizontalAlignment="Left" Margin="84,35,0,0" Name="textBox2" VerticalAlignment="Top" Width="98" Text="{Binding Pos2End}"/> <TextBox Height="23" HorizontalAlignment="Left" Margin="108,64,0,0" Name="textBox3" VerticalAlignment="Top" Width="74" Text="{Binding Pos1LC}"/> <TextBox Height="23" HorizontalAlignment="Left" Margin="84,92,0,0" Name="textBox4" VerticalAlignment="Top" Width="98" Text="{Binding Marker}"/> <Button Content="添加" Height="23" HorizontalAlignment="Left" Margin="106,122,0,0" Name="button_addSyncRunAtLC" VerticalAlignment="Top" Width="75" Click="button_addSyncRunAtLC_Click" /> </Grid> </GroupBox> <GroupBox Header="SyncRunToLC 运行至逻辑位置" Margin="5" Name="groupBox_syncRunToLC" > <Grid> <TextBlock Height="23" HorizontalAlignment="Left" Margin="6,39,0,0" Name="textBlock7" Text="横逻辑脉冲位置" VerticalAlignment="Top" /> <TextBlock Height="23" HorizontalAlignment="Left" Margin="6,67,0,0" Name="textBlock10" Text="速度" VerticalAlignment="Top" /> <CheckBox Content="脉冲开关" Height="16" HorizontalAlignment="Left" Margin="4,97,0,0" VerticalAlignment="Top" IsChecked="{Binding HasDataGrid}"/> <TextBlock Height="23" HorizontalAlignment="Left" Margin="6,6,0,0" Name="textBlock11" Text="命令识标号" VerticalAlignment="Top" /> <TextBox Height="23" HorizontalAlignment="Left" Margin="108,38,0,0" VerticalAlignment="Top" Width="74" Text="{Binding Pos1}" /> <TextBox Height="23" HorizontalAlignment="Left" Margin="35,67,0,0" VerticalAlignment="Top" Width="147" Text="{Binding Velocity}" /> <TextBox Height="23" HorizontalAlignment="Right" Margin="0,6,6,0" VerticalAlignment="Top" Width="110" Text="{Binding Marker}"/> <Button Content="添加" Height="23" HorizontalAlignment="Left" Margin="107,97,0,0" Name="button_addSyncRunToLC" VerticalAlignment="Top" Width="75" Click="button_addSyncRunToLC_Click" /> </Grid> </GroupBox> <GroupBox Header="SyncRunTo 运行至物理位置" Margin="5" Name="groupBox_syncRunTo" > <Grid> <TextBlock Height="23" HorizontalAlignment="Left" Margin="6,39,0,0" Name="textBlock5" Text="横向物理脉冲位置" VerticalAlignment="Top" /> <TextBlock Height="23" HorizontalAlignment="Left" Margin="6,67,0,0" Name="textBlock6" Text="速度" VerticalAlignment="Top" /> <CheckBox Content="脉冲开关" Height="16" HorizontalAlignment="Left" Margin="4,97,0,0" Name="checkBox2" VerticalAlignment="Top" IsChecked="{Binding HasDataGrid}"/> <TextBlock Height="23" HorizontalAlignment="Left" Margin="6,6,0,0" Name="textBlock9" Text="命令识标号" VerticalAlignment="Top" /> <TextBox Height="23" HorizontalAlignment="Left" Margin="108,38,0,0" Name="textBox5" VerticalAlignment="Top" Width="74" Text="{Binding Pos1}"/> <TextBox Height="23" HorizontalAlignment="Left" Margin="35,67,0,0" Name="textBox6" VerticalAlignment="Top" Width="147" Text="{Binding Velocity}"/> <TextBox Height="23" HorizontalAlignment="Right" Margin="0,6,6,0" VerticalAlignment="Top" Width="110" Text="{Binding Marker}"/> <Button Content="添加" Height="23" HorizontalAlignment="Left" Margin="107,97,0,0" Name="button_addSyncRunTo" VerticalAlignment="Top" Width="75" Click="button_addSyncRunTo_Click" /> </Grid> </GroupBox> </StackPanel> <StackPanel Width="210"> <GroupBox Header="SyncOrigin 归零" Margin="5" Name="groupBox_syncOrigin" > <Grid> <TextBlock Height="23" HorizontalAlignment="Left" Margin="6,8,0,0" Name="textBlock8" Text="命令识标号" VerticalAlignment="Top" /> <TextBox Height="23" HorizontalAlignment="Left" Margin="84,7,0,0" Name="textBox8" VerticalAlignment="Top" Width="98" Text="{Binding Marker}"/> <Button Content="添加" Height="23" HorizontalAlignment="Left" Margin="107,35,0,0" Name="button_addSyncOrigin" VerticalAlignment="Top" Width="75" Click="button_addSyncOrigin_Click" /> </Grid> </GroupBox> <GroupBox Header="SyncWait 等待,ms" Margin="5" Name="groupBox_syncWait" > <Grid> <TextBlock Height="23" HorizontalAlignment="Left" Margin="5,33,0,0" Text="ms" VerticalAlignment="Top" /> <TextBlock Height="23" HorizontalAlignment="Left" Margin="5,7,0,0" Text="命令识标号" VerticalAlignment="Top" /> <TextBox Height="23" HorizontalAlignment="Left" Margin="29,33,0,0" VerticalAlignment="Top" Width="153" Text="{Binding MS}"/> <TextBox Height="23" HorizontalAlignment="Left" Margin="71,6,0,0" VerticalAlignment="Top" Width="110" Text="{Binding Marker}" /> <Button Content="添加" Height="23" HorizontalAlignment="Left" Margin="107,62,0,0" Name="button_addSyncWait" VerticalAlignment="Top" Width="75" Click="button_addSyncWait_Click" /> </Grid> </GroupBox> <GroupBox Header="指令列表保存&加载" Margin="5"> <StackPanel> <Button Content="保存" Height="23" HorizontalAlignment="Left" Margin="5" Width="75" Click="button_save_Click" /> <Button Content="加载" Height="23" HorizontalAlignment="Right" Margin="5" Width="75" Click="button_load_Click" /> </StackPanel> </GroupBox> </StackPanel> </StackPanel> </Grid> </TabItem> <TabItem Header="自动" Name="tabItem2" > <Grid> <Grid.RowDefinitions> <RowDefinition /> <RowDefinition Height="auto" /> </Grid.RowDefinitions> <ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto"> <WrapPanel Orientation="Vertical" Height="468"> <WrapPanel.Resources> <Style TargetType="TextBlock" x:Key="TextBlockStyle_Title"> <Setter Property="FontWeight" Value="Bold"/> <Setter Property="HorizontalAlignment" Value="Left"/> <Setter Property="FontSize" Value="20"/> <Setter Property="Margin" Value="2"/> </Style> </WrapPanel.Resources> <StackPanel Orientation="Vertical" Margin="5" > <TextBlock Text="膜范围" Style="{StaticResource TextBlockStyle_Title}"/> <StackPanel Orientation="Horizontal"> <TextBlock Height="23" Margin="3" Text="开始" FontSize="18" /> <TextBox Height="23" Margin="3" Width="80" Text="{Binding ScanBegin}"/> <TextBlock Margin="3" Text="p" /> </StackPanel> <StackPanel Orientation="Horizontal"> <TextBlock Height="23" Margin="3" Text="宽度" FontSize="18" /> <TextBox Height="23" Margin="3" Width="80" Text="{Binding ScanWidth}"/> <TextBlock Margin="3" Text="p" /> </StackPanel> </StackPanel> <StackPanel Orientation="Vertical" Margin="5" > <TextBlock Text="样品" Style="{StaticResource TextBlockStyle_Title}"/> <StackPanel Orientation="Vertical" Name="stackpanel_SamplePos_Backw"> <StackPanel Orientation="Horizontal"> <TextBlock Height="23" Text="温修开始" FontSize="18" Margin="3"/> <TextBox Height="23" Width="80" Margin="3" Text="{Binding Begin}"/> <TextBlock Margin="3" Text="p" /> </StackPanel> <StackPanel Orientation="Horizontal"> <TextBlock Height="23" Text="温修结束" FontSize="18" Margin="3"/> <TextBox Height="23" Width="80" Margin="3" Text="{Binding End}"/> <TextBlock Margin="3" Text="p" /> </StackPanel> </StackPanel> <StackPanel Orientation="Vertical" Name="stackpanel_SamplePos_Forw"> <StackPanel Orientation="Horizontal"> <TextBlock Height="23" Text="样品开始" FontSize="18" Margin="3"/> <TextBox Height="23" Width="80" Margin="3" Text="{Binding Begin}"/> <TextBlock Margin="3" Text="p" /> </StackPanel> <StackPanel Orientation="Horizontal"> <TextBlock Height="23" Text="样品结束" FontSize="18" Margin="3"/> <TextBox Height="23" Width="80" Margin="3" Text="{Binding End}"/> <TextBlock Margin="3" Text="p" /> </StackPanel> </StackPanel> </StackPanel> <StackPanel Orientation="Vertical" Margin="5" > <TextBlock Text="速度" Style="{StaticResource TextBlockStyle_Title}"/> <StackPanel Orientation="Horizontal"> <TextBlock Height="23" Margin="3" Text="扫描速度" FontSize="18" /> <TextBox Height="23" Margin="3" Width="80" Text="{Binding Velocity}"/> <TextBlock Margin="3" Text="p/s" /> </StackPanel> <StackPanel Orientation="Horizontal"> <TextBlock Height="23" Margin="3" Text="样品速度" FontSize="18" /> <TextBox Height="23" Margin="3" Width="80" Text="{Binding VSample}"/> <TextBlock Margin="3" Text="p/s" /> </StackPanel> <StackPanel Orientation="Horizontal"> <TextBlock Height="23" Margin="3" Text="线速度" FontSize="18" /> <TextBox Height="23" Margin="3" Width="80" Text="{Binding FilmVelocity}"/> <TextBlock Margin="3" Text="m/min" /> </StackPanel> <StackPanel Orientation="Horizontal"> <TextBlock Height="23" Margin="3" Text="当前速度" FontSize="18" /> <TextBlock Height="23" Margin="3" > <Run Text="{Binding CurrVelocity,Mode=OneWay,StringFormat={}{0:F1}}"/> <Run Text="m/min"/> </TextBlock> </StackPanel> <StackPanel Orientation="Horizontal"> <TextBlock Height="23" Margin="3" Text="当前线速度" FontSize="18" /> <TextBlock Height="23" Margin="3" > <Run Text="{Binding CurrFilmVelocity,Mode=OneWay,StringFormat={}{0:F1}}"/> <Run Text="m/min"/> </TextBlock> </StackPanel> <StackPanel Orientation="Horizontal"> <TextBlock Height="23" Margin="3" Text="与前机距离" FontSize="18" /> <TextBox Height="23" Margin="3" Width="80" Text="{Binding DistanceWithHeader}"/> <TextBlock Margin="3" Text="m" /> </StackPanel> </StackPanel> <StackPanel Orientation="Vertical" Margin="5" > <TextBlock Text="比例" Style="{StaticResource TextBlockStyle_Title}"/> <StackPanel Orientation="Horizontal"> <TextBlock Height="23" Margin="3" Text="编码器1" FontSize="18" /> <TextBox Height="23" Margin="3" Width="80" Text="{Binding Mmpp1}"/> <TextBlock Margin="3" Text="mm/p" /> </StackPanel> <StackPanel Orientation="Horizontal"> <TextBlock Height="23" Margin="3" Text="编码器2" FontSize="18" /> <TextBox Height="23" Margin="3" Width="80" Text="{Binding Mmpp2}"/> <TextBlock Margin="3" Text="mm/p" /> </StackPanel> </StackPanel> <StackPanel Orientation="Vertical" Margin="5"> <TextBlock Text="耗时" Style="{StaticResource TextBlockStyle_Title}"/> <StackPanel Orientation="Horizontal"> <TextBlock Height="23" Margin="3" Text="温修" FontSize="18" /> <TextBox Height="23" Margin="3" Width="40" Text="{Binding ConsumeOfSampleBackw}"/> <TextBlock Height="23" Margin="3" Text="s" /> </StackPanel> <StackPanel Orientation="Horizontal"> <TextBlock Height="23" Margin="3" Text="样品" FontSize="18" /> <TextBox Height="23" Margin="3" Width="40" Text="{Binding ConsumeOfSampleForw}"/> <TextBlock Height="23" Margin="3" Text="s" /> </StackPanel> <StackPanel Orientation="Horizontal"> <TextBlock Height="23" Margin="3" Text="扫描" FontSize="18" /> <TextBox Height="23" Margin="3" Width="40" Text="{Binding ConsumeOfScan}"/> <TextBlock Height="23" Margin="3" Text="s" /> </StackPanel> <StackPanel Orientation="Horizontal"> <TextBlock Height="23" Margin="3" Text="grid等" FontSize="18" /> <TextBox Height="23" Margin="3" Width="40" Text="{Binding ConsumeOfGrid}"/> <TextBlock Height="23" Margin="3" Text="s" /> </StackPanel> <StackPanel Orientation="Horizontal"> <TextBlock Height="23" Margin="3" Text="样品间隔" FontSize="18" /> <TextBox Height="23" Margin="3" Width="40" Text="{Binding SampleInterval}"/> <TextBlock Height="23" Margin="3" Text="次" FontSize="18" /> </StackPanel> <StackPanel Orientation="Horizontal"> <TextBlock Height="23" Margin="3" Text="周期测试间隔" FontSize="18" /> <TextBox Height="23" Margin="3" Width="55" Text="{Binding TestInterval}"/> <TextBlock Height="23" Margin="3" Text="s" FontSize="18" /> </StackPanel> <StackPanel Orientation="Horizontal"> <TextBlock Height="23" Margin="3" FontSize="18" > <Run Text="测试记数:" /> <Run Text="{Binding TestCnt,Mode=OneWay}" /> <Run Text="s" /> </TextBlock> </StackPanel> <StackPanel Orientation="Horizontal"> <TextBlock Height="23" Margin="3" FontSize="18" > <Run Text="测试状态:" /> <Run Text="{Binding TestState,Mode=OneWay}" /> </TextBlock> </StackPanel> </StackPanel> <TextBlock HorizontalAlignment="Left" Margin="5" VerticalAlignment="Top" > <TextBlock.Inlines> <Run Text="样品累计: " FontSize="16" /> <Run Text="{Binding sampleCount,Mode=OneWay}"/> <Run Text="
"/> <Run Text="主轴脉冲: " FontSize="16" /> <Run Text="{Binding last_pos2,Mode=OneWay}"/> <Run Text="
"/> <Run Text="温修主轴脉冲消耗: " FontSize="10" /> <Run Text="{Binding Pos2ConsumeOfSampleBackw,Mode=OneWay}"/> <Run Text="
"/> <Run Text="样品主轴脉冲消耗: " FontSize="10" /> <Run Text="{Binding Pos2ConsumeOfSampleForw,Mode=OneWay}"/> <Run Text="
"/> <Run Text="扫描主轴脉冲消耗: " FontSize="10" /> <Run Text="{Binding Pos2ConsumeOfScan,Mode=OneWay}"/> <Run Text="
"/> <Run Text="等待主轴脉冲消耗: " FontSize="10" /> <Run Text="{Binding Pos2ConsumeOfWaitNextScan,Mode=OneWay}"/> </TextBlock.Inlines> </TextBlock> <TextBlock Height="23" HorizontalAlignment="Left" Margin="10" Name="textBlock12" VerticalAlignment="Top" > <Run Text="{Binding LastOrder,Mode=OneWay}"/> </TextBlock> </WrapPanel> </ScrollViewer> <WrapPanel Grid.Row="1" Orientation="Horizontal" > <Button Content="1.初始化" Height="37" Margin="5" Width="90" Click="button_init_Click" FontSize="18" /> <Button Content="2.开始" Height="37" Margin="5" Width="90" Click="button_go_Click" FontSize="18" /> <Button Content="3.停止" Height="37" Margin="5" Width="90" Click="button_stop_Click" FontSize="18" /> <Button Content="4.周期测试" Height="37" Margin="5" Padding="5" Click="button_test_Click" FontSize="18" /> <Button Content="5.测试停止" Height="37" Margin="5" Padding="5" Click="button_teststop_Click" FontSize="18" /> <Button Content="1" Height="37" Margin="5" Width="45" Click="button_pos2sync1_Click" FontSize="18" /> <Button Content="0" Height="37" Margin="5" Width="45" Click="button_pos2sync0_Click" FontSize="18" /> <Button Content="保存数据" Height="37" Margin="5" Padding="5" Click="button_save_autosync_Click" FontSize="18" /> </WrapPanel> </Grid> </TabItem> </TabControl> <ListBox Name="listView1" Grid.Column="2" Margin="5" > <ListBox.ItemTemplate> <DataTemplate> <TextBlock x:Name="textblock_body" Text="{Binding .}" /> <DataTemplate.Triggers> <DataTrigger Binding="{Binding State}" Value="{x:Static flyadbase:SyncOrderState.Doing}"> <Setter TargetName="textblock_body" Property="Foreground" Value="Red"/> </DataTrigger> </DataTemplate.Triggers> </DataTemplate> </ListBox.ItemTemplate> </ListBox> </Grid> </Window>