| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604 | <UserControl x:Class="FurnaceUI.Views.Maintenances.BoatRobotView"             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:FurnaceUI.Views.Maintenances"              xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"              xmlns:cal="http://www.caliburn.org"             xmlns:deviceControl="clr-namespace:Aitex.Core.UI.DeviceControl;assembly=MECF.Framework.UI.Core" xmlns:parts="clr-namespace:FurnaceUI.Controls.Parts"             mc:Ignorable="d"              Width="1280" Height="900"           >    <Grid>        <Canvas >            <Grid Margin="10,10,0,0" >                <Grid.RowDefinitions>                    <RowDefinition Height="24"/>                    <RowDefinition Height="35"/>                    <RowDefinition Height="35"/>                    <RowDefinition Height="35"/>                    <RowDefinition Height="35"/>                    <RowDefinition Height="35"/>                    <RowDefinition Height="35"/>                    <RowDefinition Height="35"/>                    <RowDefinition Height="35"/>                    <RowDefinition Height="35"/>                    <RowDefinition Height="35"/>                    <RowDefinition Height="35"/>                    <RowDefinition Height="115"/>                </Grid.RowDefinitions>                <Grid.ColumnDefinitions>                    <ColumnDefinition Width="110"/>                    <ColumnDefinition  Width="80"/>                    <ColumnDefinition  Width="110"/>                    <ColumnDefinition  Width="180"/>                </Grid.ColumnDefinitions>                <Label Style="{DynamicResource Table_TitleStyle}"  Grid.Row="0" Grid.ColumnSpan="4" HorizontalContentAlignment="Center" VerticalContentAlignment="Center">                    <Label.Content>                        <TextBlock Text="Boat E Axis Information"  Foreground="White"></TextBlock>                    </Label.Content>                </Label>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="1" Grid.Column="0" Padding="10,1,0,1">                    <TextBlock Text="Status" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14"  VerticalAlignment="Center" />                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="1" Grid.Column ="1" Padding="5,1">                    <TextBlock Text="{Binding BoatZAxisStatus}" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="14"/>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="1" Grid.Column="2" Padding="10,1,0,1">                    <TextBlock Text="Servo On/Off" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14"  VerticalAlignment="Center" />                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="1" Grid.Column ="3" Padding="5,1">                    <deviceControl:AITSensor CustomColorOn="#FF07FF07" IsCustomRender="True" CustomColorOff="Gray" LightOnValue="{Binding BoatZAxisIsServoOn}" EnableToolTip="False"/>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="2" Grid.Column="0" Padding="10,1,0,1">                    <TextBlock Text="Error Code" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14"  VerticalAlignment="Center" />                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="2" Grid.Column ="1" Padding="5,1">                    <TextBlock Text="{Binding BoatZAxisErrorCode,StringFormat={}{0:f2}}" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="14"/>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="2" Grid.Column="2" Padding="10,1,0,1">                    <TextBlock Text="Motor Warning" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14"  VerticalAlignment="Center" />                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="2" Grid.Column ="3" Padding="5,1">                    <deviceControl:AITSensor CustomColorOn="Red" IsCustomRender="True" CustomColorOff="#FF07FF07" LightOnValue="{Binding BoatZAxisIsWarning}" EnableToolTip="False"/>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="3" Grid.Column="0" Padding="10,1,0,1">                    <TextBlock Text="Current Speed(mm/min)" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14"  VerticalAlignment="Center" />                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="3" Grid.Column ="1" Padding="5,1">                    <TextBlock Text="{Binding BoatZAxisCurrentSpeed,StringFormat={}{0:f2}}" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="14"/>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="3" Grid.Column="2" Padding="10,1,0,1">                    <TextBlock Text="Motor Alarm" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14"  VerticalAlignment="Center" />                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="3" Grid.Column ="3" Padding="5,1">                    <deviceControl:AITSensor CustomColorOn="Red" IsCustomRender="True" CustomColorOff="#FF07FF07" LightOnValue="{Binding BoatZAxisIsAlarm}" EnableToolTip="False"/>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="4" Grid.Column="0" Padding="10,1,0,1">                    <TextBlock Text="Current Position(mm)" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14"  VerticalAlignment="Center" />                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="4" Grid.Column ="1" Padding="5,1">                    <TextBlock Text="{Binding BoatZAxisCurrentPosition,StringFormat={}{0:f2}}" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="14"/>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="4" Grid.Column="2" Padding="10,1,0,1">                    <TextBlock Text="Motor Moving" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14"  VerticalAlignment="Center" />                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="4" Grid.Column ="3" Padding="5,1">                    <deviceControl:AITSensor CustomColorOn="#FF07FF07" IsCustomRender="True" CustomColorOff="Gray" LightOnValue="{Binding BoatZAxisIsMoving}" EnableToolTip="False"/>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="5" Grid.Column="0" Padding="10,1,0,1">                    <TextBlock Text="At Position1" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14"  VerticalAlignment="Center" />                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="5" Grid.Column="1">                    <deviceControl:AITSensor CustomColorOn="#FF07FF07" IsCustomRender="True" CustomColorOff="Gray" LightOnValue="{Binding BoatZAxisAtPosition1}" EnableToolTip="False"/>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="5" Grid.Column="2" Grid.ColumnSpan="2">                    <Button Content="Move To Position1" Width="150" Height="30" Margin="0,0,10,0" IsEnabled="{Binding IsSystemStaus}">                        <i:Interaction.Triggers>                            <i:EventTrigger EventName="Click">                                <cal:ActionMessage MethodName="MoveTo">                                    <cal:Parameter Value="Position1" />                                </cal:ActionMessage>                            </i:EventTrigger>                        </i:Interaction.Triggers>                    </Button>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="6" Grid.Column="0" Padding="10,1,0,1">                    <TextBlock Text="At Position2" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14"  VerticalAlignment="Center" />                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="6" Grid.Column="1">                    <deviceControl:AITSensor CustomColorOn="#FF07FF07" IsCustomRender="True" CustomColorOff="Gray" LightOnValue="{Binding BoatZAxisAtPosition2}" EnableToolTip="False"/>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="6" Grid.Column="2" Grid.ColumnSpan="2">                    <Button Content="Move To Position2" Width="150" Height="30" Margin="0,0,10,0" IsEnabled="{Binding IsSystemStaus}">                        <i:Interaction.Triggers>                            <i:EventTrigger EventName="Click">                                <cal:ActionMessage MethodName="MoveTo">                                    <cal:Parameter Value="Position2" />                                </cal:ActionMessage>                            </i:EventTrigger>                        </i:Interaction.Triggers>                    </Button>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="7" Grid.Column="0" Padding="10,1,0,1">                    <TextBlock Text="At Position3" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14"  VerticalAlignment="Center" />                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="7" Grid.Column="1">                    <deviceControl:AITSensor CustomColorOn="#FF07FF07" IsCustomRender="True" CustomColorOff="Gray" LightOnValue="{Binding BoatZAxisAtPosition3}" EnableToolTip="False"/>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="7" Grid.Column="2" Grid.ColumnSpan="2">                    <Button Content="Move To Position3" Width="150" Height="30" Margin="0,0,10,0" IsEnabled="{Binding IsSystemStaus}">                        <i:Interaction.Triggers>                            <i:EventTrigger EventName="Click">                                <cal:ActionMessage MethodName="MoveTo">                                    <cal:Parameter Value="Position3" />                                </cal:ActionMessage>                            </i:EventTrigger>                        </i:Interaction.Triggers>                    </Button>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="8" Grid.Column="0" Padding="10,1,0,1">                    <TextBlock Text="At Home Position" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14"  VerticalAlignment="Center" />                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="8" Grid.Column="1">                    <deviceControl:AITSensor CustomColorOn="#FF07FF07" IsCustomRender="True" CustomColorOff="Gray" LightOnValue="{Binding BoatZAxisAtHomePosition}" EnableToolTip="False"/>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="8" Grid.Column="2" Grid.ColumnSpan="2">                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="9" Grid.Column="0" Padding="10,1,0,1">                    <TextBlock Text="Move Speed(mm/min)" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14"  VerticalAlignment="Center" />                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="9" Grid.Column="1">                    <TextBlock Text="{Binding ZAxisMoveSpeed, StringFormat={}{0:f2}}" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14"  VerticalAlignment="Center" HorizontalAlignment="Center"/>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="9" Grid.Column ="2" Grid.ColumnSpan="3" Padding="5,1">                    <StackPanel   Orientation="Horizontal"  >                        <TextBox Text="{Binding ZAxisMoveSpeed,Mode=OneTime}" x:Name="tbMoveSpeed" HorizontalContentAlignment="Center" Width="90" Height="30" Tag="Number"></TextBox>                        <Button Content="Save" Width="80" Height="30" Margin="10,0,10,0">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <cal:ActionMessage MethodName="BoatZSaveValue">                                        <cal:Parameter Value="MoveSpeed" />                                        <cal:Parameter Value="{Binding ElementName=tbMoveSpeed}" />                                    </cal:ActionMessage>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                    </StackPanel>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="10" Grid.Column="0" Padding="10,1,0,1">                    <TextBlock Text="Acc(mm/min)" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14"  VerticalAlignment="Center" />                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="10" Grid.Column="1">                    <TextBlock Text="{Binding ZAxisAcc, StringFormat={}{0:f2}}" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14"  VerticalAlignment="Center" HorizontalAlignment="Center"/>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="10" Grid.Column ="2" Grid.ColumnSpan="3" Padding="5,1">                    <StackPanel   Orientation="Horizontal"  >                        <TextBox Text="{Binding ZAxisAcc,Mode=OneTime}" x:Name="tbZAxisAcc" HorizontalContentAlignment="Center" Width="90" Height="30" Tag="Number"></TextBox>                        <Button Content="Save" Width="80" Height="30" Margin="10,0,10,0">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <cal:ActionMessage MethodName="BoatZSaveValue">                                        <cal:Parameter Value="Acc" />                                        <cal:Parameter Value="{Binding ElementName=tbZAxisAcc}" />                                    </cal:ActionMessage>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                    </StackPanel>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="11" Grid.Column="0" Padding="10,1,0,1">                    <TextBlock Text="Dec(mm/min)" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14"  VerticalAlignment="Center" />                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="11" Grid.Column="1">                    <TextBlock Text="{Binding ZAxisDec, StringFormat={}{0:f2}}" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14"  VerticalAlignment="Center" HorizontalAlignment="Center"/>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="11" Grid.Column ="2" Grid.ColumnSpan="3" Padding="5,1">                    <StackPanel   Orientation="Horizontal"  >                        <TextBox Text="{Binding ZAxisDec,Mode=OneTime}" x:Name="tbZAxisDec" HorizontalContentAlignment="Center" Width="90" Height="30" Tag="Number"></TextBox>                        <Button Content="Save" Width="80" Height="30" Margin="10,0,10,0">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <cal:ActionMessage MethodName="BoatZSaveValue">                                        <cal:Parameter Value="Dec" />                                        <cal:Parameter Value="{Binding ElementName=tbZAxisDec}" />                                    </cal:ActionMessage>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                    </StackPanel>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="12" Grid.ColumnSpan="4" Padding="0,0,0,0">                    <StackPanel   Orientation="Horizontal" Margin="0,0,0,0" >                        <Button Content="Continue" Width="92" Height="30" Margin="30,-70,0,0" IsEnabled="{Binding IsProcessing}">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <cal:ActionMessage MethodName="Continue">                                        <cal:Parameter Value="PM1.BoatElevatorServo" />                                    </cal:ActionMessage>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                        <Button Content="Stop" Width="92" Height="30" Margin="22,-70,10,0" IsEnabled="{Binding IsSystemStaus}">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <cal:ActionMessage MethodName="Stop">                                        <cal:Parameter Value="PM1.BoatElevatorServo" />                                    </cal:ActionMessage>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                        <Button Content="Reset" Width="92" Height="30" Margin="5,-70,10,0" IsEnabled="{Binding IsSystemStaus}">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <cal:ActionMessage MethodName="Reset">                                        <cal:Parameter Value="PM1.BoatElevatorServo" />                                    </cal:ActionMessage>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                        <Button Content="Home" Width="92" Height="30" Margin="5,-70,0,0" IsEnabled="{Binding IsSystemStaus}">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <cal:ActionMessage MethodName="Home">                                        <cal:Parameter Value="PM1.BoatElevatorServo" />                                    </cal:ActionMessage>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                        <StackPanel  Visibility="{Binding RunningModeIsDebug,UpdateSourceTrigger=PropertyChanged,Converter={StaticResource bool2VisibilityConverter}}" Orientation="Horizontal" Height="34" Margin="-405,80,0,0">                            <Label Content="From: "></Label>                            <ComboBox x:Name="cbModulesCassetteRobot" Margin="0,0,3,0" Height="25" Width="120" ItemsSource="{Binding ZPositions}"  SelectedItem="{Binding ZAxisTestStartPosition}" />                            <Label Content="To: "></Label>                            <ComboBox x:Name="cbSlotsCassetteRobot" Margin="3,0,3,0" Height="25" Width="120" ItemsSource="{Binding ZPositions}"  SelectedItem="{Binding ZAxisTestEndPosition}"   />                            <Button Content="Move Test" Width="100"  Height="30" Margin="3,0,0,0" IsEnabled="{Binding IsSystemStaus}">                                <i:Interaction.Triggers>                                    <i:EventTrigger EventName="Click">                                        <cal:ActionMessage MethodName="BoatZServoTest"/>                                    </i:EventTrigger>                                </i:Interaction.Triggers>                            </Button>                        </StackPanel>                    </StackPanel>                </Border>            </Grid>            <Canvas>                <Image Source="/FurnaceUI;component/Resources/Images/Controls3/01.png" Canvas.Left="573" Canvas.Top="10"/>                <parts:BoatElevatorRobot RobotTarget="{Binding BoatPosition}" BoatStatus="{Binding BoatStatus}"  StationPosition="{Binding StationPosition3}" Canvas.Left="630" Canvas.Top="373" Visibility="{Binding IsShowBoatElevatorRobot, Converter={StaticResource bool2VisibilityConverter}}"/>                <TextBlock Text="Position 3 ----->" Canvas.Left="505" Canvas.Top="655" FontSize="14"/>                <TextBlock Text="Position 2 -------->" Canvas.Left="505" Canvas.Top="500" FontSize="14"/>                <TextBlock Text="Position 1 -------->" Canvas.Left="505" Canvas.Top="350" FontSize="14"/>                <i:Interaction.Triggers>                    <i:EventTrigger EventName="MouseLeftButtonDown">                        <cal:ActionMessage MethodName="BoatModify"/>                    </i:EventTrigger>                </i:Interaction.Triggers>            </Canvas>            <Grid Margin="780,20,0,0" Visibility="{Binding IsBoatRAxisInstalled,Converter={StaticResource bool2VisibilityConverter}}">                <Grid.RowDefinitions>                    <RowDefinition Height="24"/>                    <RowDefinition Height="35"/>                    <RowDefinition Height="35"/>                    <RowDefinition Height="35"/>                    <RowDefinition Height="35"/>                    <RowDefinition Height="35"/>                    <RowDefinition Height="35"/>                    <RowDefinition Height="115"/>                </Grid.RowDefinitions>                <Grid.ColumnDefinitions>                    <ColumnDefinition Width="100"/>                    <ColumnDefinition  Width="90"/>                    <ColumnDefinition  Width="110"/>                    <ColumnDefinition  Width="180"/>                </Grid.ColumnDefinitions>                <Label Style="{DynamicResource Table_TitleStyle}" Grid.Row="0" Grid.ColumnSpan="4" HorizontalContentAlignment="Center" VerticalContentAlignment="Center">                    <Label.Content>                        <TextBlock Text="Boat R Axis Information" Foreground="White"></TextBlock>                    </Label.Content>                </Label>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="1" Grid.Column="0" Padding="5,1,0,1">                    <TextBlock Text="Status" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14"  VerticalAlignment="Center" />                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="1" Grid.Column ="1" Padding="5,1">                    <TextBlock Text="{Binding BoatRAxisStatus}" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="14"/>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="1" Grid.Column="2" Padding="5,1,0,1">                    <TextBlock Text="Rotating" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14"  VerticalAlignment="Center" />                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="1" Grid.Column ="3" Padding="5,1">                    <deviceControl:AITSensor CustomColorOn="#FF07FF07" IsCustomRender="True" CustomColorOff="Gray" LightOnValue="{Binding BoatRAxisIsMoving}" EnableToolTip="False"/>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="2" Grid.Column="0" Padding="5,1,0,1">                    <TextBlock Text="Error Code" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14"  VerticalAlignment="Center" />                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="2" Grid.Column ="1" Padding="5,1">                    <TextBlock Text="{Binding BoatRAxisErrorCode,StringFormat={}{0:f2}}" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="14"/>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="2" Grid.Column="2" Padding="5,1,0,1">                    <TextBlock Text="Motor Warning" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14"  VerticalAlignment="Center" />                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="2" Grid.Column ="3" Padding="5,1">                    <deviceControl:AITSensor CustomColorOn="Red" IsCustomRender="True" CustomColorOff="#FF07FF07" LightOnValue="{Binding BoatRAxisIsWarning}" EnableToolTip="False"/>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="3" Grid.Column="0" Padding="5,1,0,1">                    <TextBlock Text="Current Speed(rpm)" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14"  VerticalAlignment="Center" />                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="3" Grid.Column ="1" Padding="5,1">                    <TextBlock Text="{Binding BoatRAxisCurrentSpeed,StringFormat={}{0:f2}}" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="14"/>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="3" Grid.Column="2" Padding="5,1,0,1">                    <TextBlock Text="Motor Alarm" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14"  VerticalAlignment="Center" />                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="3" Grid.Column ="3" Padding="5,1">                    <deviceControl:AITSensor CustomColorOn="Red" IsCustomRender="True" CustomColorOff="#FF07FF07" LightOnValue="{Binding BoatRAxisIsAlarm}" EnableToolTip="False"/>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="4" Grid.Column="0" Padding="5,1,0,1">                    <TextBlock Text="Home Done" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14"  VerticalAlignment="Center" />                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="4" Grid.Column ="1" Padding="5,1">                    <deviceControl:AITSensor CustomColorOn="#FF07FF07" IsCustomRender="True" CustomColorOff="Gray" LightOnValue="{Binding BoatRAxisIsHomeDone}" EnableToolTip="False"/>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="4" Grid.Column="2" Padding="5,1,0,1">                    <TextBlock Text="Homing" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14"  VerticalAlignment="Center" />                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="4" Grid.Column ="3" Padding="5,1">                    <deviceControl:AITSensor CustomColorOn="#FF07FF07" IsCustomRender="True" CustomColorOff="Gray" LightOnValue="{Binding BoatRAxisIsHoming}" EnableToolTip="False"/>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="5" Grid.Column="0" Padding="5,1,0,1">                    <TextBlock Text="Origin Done" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14"  VerticalAlignment="Center" />                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="5" Grid.Column="1">                    <deviceControl:AITSensor CustomColorOn="#FF07FF07" IsCustomRender="True" CustomColorOff="Gray" LightOnValue="{Binding BoatRAxisIsInitDone}" EnableToolTip="False"/>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="5" Grid.Column ="2"  Padding="5,1">                    <TextBlock Text="Origin" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14"  VerticalAlignment="Center" />                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="5" Grid.Column="3">                    <deviceControl:AITSensor CustomColorOn="#FF07FF07" IsCustomRender="True" CustomColorOff="Gray" LightOnValue="{Binding BoatRAxisIsInitializing}" EnableToolTip="False"/>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="6" Grid.Column="0" Padding="5,1,0,1">                    <TextBlock Text="Rotation Direction" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14"  VerticalAlignment="Center" />                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="6" Grid.Column ="1" Padding="5,1">                    <TextBlock Text="{Binding BoatRAxisDirection,StringFormat={}{0:f2}}" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="14"/>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="6" Grid.Column="2" Grid.ColumnSpan="2" Padding="5,1,0,1">                    <StackPanel   Orientation="Horizontal"  >                        <Button Content="CW" Width="80" Height="30" Margin="40,0,10,0" IsEnabled="{Binding IsSystemStaus}">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <cal:ActionMessage MethodName="RAxisMoveTo">                                        <cal:Parameter Value="CW" />                                    </cal:ActionMessage>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                        <Button Content="CCW" Width="80" Height="30" Margin="30,0,10,0" IsEnabled="{Binding IsSystemStaus}">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <cal:ActionMessage MethodName="RAxisMoveTo">                                        <cal:Parameter Value="CCW" />                                    </cal:ActionMessage>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                    </StackPanel>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="7" Grid.ColumnSpan="4" Padding="80,0,0,0">                    <StackPanel   Orientation="Horizontal"  >                        <Button Content="Home" Width="92" Height="30" Margin="22,-70,10,0" IsEnabled="{Binding IsSystemStaus}">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <cal:ActionMessage MethodName="Home">                                        <cal:Parameter Value="PM1.BoatRotationServo" />                                    </cal:ActionMessage>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                        <Button Content="Stop" Width="92" Height="30" Margin="5,-70,10,0" IsEnabled="{Binding IsSystemStaus}">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <cal:ActionMessage MethodName="Stop">                                        <cal:Parameter Value="PM1.BoatRotationServo" />                                    </cal:ActionMessage>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                        <Button Content="Reset" Width="92" Height="30" Margin="5,-70,0,0" IsEnabled="{Binding IsSystemStaus}">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <cal:ActionMessage MethodName="Reset">                                        <cal:Parameter Value="PM1.BoatRotationServo" />                                    </cal:ActionMessage>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                        <Button Content="CW Test" Width="92" Height="30" Margin="-520,0,0,0" Visibility="{Binding RunningModeIsDebug,UpdateSourceTrigger=PropertyChanged,Converter={StaticResource bool2VisibilityConverter}}" IsEnabled="{Binding IsSystemStaus}">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <cal:ActionMessage MethodName="BoatRotationServoTest">                                        <cal:Parameter Value="CW" />                                    </cal:ActionMessage>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                        <Button Content="CCW Test" Width="92" Height="30" Margin="-305,0,0,0" Visibility="{Binding RunningModeIsDebug,UpdateSourceTrigger=PropertyChanged,Converter={StaticResource bool2VisibilityConverter}}" IsEnabled="{Binding IsSystemStaus}">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <cal:ActionMessage MethodName="BoatRotationServoTest">                                        <cal:Parameter Value="CCW" />                                    </cal:ActionMessage>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                        <Button Content="Stop Test" Width="92" Height="30" Margin="-92,0,0,0" Visibility="{Binding RunningModeIsDebug,UpdateSourceTrigger=PropertyChanged,Converter={StaticResource bool2VisibilityConverter}}" IsEnabled="{Binding IsSystemStaus}">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <cal:ActionMessage MethodName="BoatRotationServoStopTest">                                    </cal:ActionMessage>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                    </StackPanel>                </Border>            </Grid>            <Grid Margin="780,430,0,0" Visibility="{Binding IsBoatRAxisInstalled,Converter={StaticResource bool2VisibilityConverter}}">                <Grid.RowDefinitions>                    <RowDefinition Height="24"/>                    <RowDefinition Height="35"/>                </Grid.RowDefinitions>                <Grid.ColumnDefinitions>                    <ColumnDefinition Width="160"/>                    <ColumnDefinition  Width="100"/>                    <ColumnDefinition  Width="100"/>                    <ColumnDefinition  Width="120"/>                </Grid.ColumnDefinitions>                <Label Style="{DynamicResource Table_TitleStyle}" Grid.Row="0" Grid.ColumnSpan="4" HorizontalContentAlignment="Center" VerticalContentAlignment="Center">                    <Label.Content>                        <TextBlock Text="Shutter Information" Foreground="White"></TextBlock>                    </Label.Content>                </Label>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="1" Grid.Column="0" Padding="5,1,0,1">                    <TextBlock Text="Open/Close Status" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center" />                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,0,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="1" Grid.Column="1" Padding="5,1">                    <TextBlock Text="{Binding AutoDoorOpenCloseStatus}" TextAlignment="Center" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="1" Grid.Column ="2" Grid.ColumnSpan="2"  Padding="5,1">                    <StackPanel   Orientation="Horizontal"  >                        <Button Content="Open" Width="80" Height="25" Margin="10,0,10,0" IsEnabled="{Binding IsSystemStaus}">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <cal:ActionMessage MethodName="SetOpen">                                        <cal:Parameter Value="PM1.SetAutoShutterOpen" />                                        <cal:Parameter Value="True"/>                                    </cal:ActionMessage>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                        <Button Content="Close" Width="80" Height="25" Margin="10,0,10,0" IsEnabled="{Binding IsSystemStaus}">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <cal:ActionMessage MethodName="SetOpen">                                        <cal:Parameter Value="PM1.SetAutoShutterOpen" />                                        <cal:Parameter Value="False"/>                                    </cal:ActionMessage>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                    </StackPanel>                </Border>            </Grid>            <Grid Visibility="{Binding RunningModeIsDebug,UpdateSourceTrigger=PropertyChanged,Converter={StaticResource bool2VisibilityConverter}}" Margin="780,515,0,0">                <Grid.RowDefinitions>                    <RowDefinition Height="24"/>                    <RowDefinition Height="100"/>                </Grid.RowDefinitions>                <Grid.ColumnDefinitions>                    <ColumnDefinition Width="480"/>                </Grid.ColumnDefinitions>                <Label Style="{DynamicResource Table_TitleStyle}" Grid.Row="0" Grid.ColumnSpan="4" HorizontalContentAlignment="Center" VerticalContentAlignment="Center">                    <Label.Content>                        <TextBlock Text="Boat Cycle Test" Foreground="White"></TextBlock>                    </Label.Content>                </Label>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="1" Grid.Column="0" Padding="0,0,0,0">                    <StackPanel   Orientation="Vertical" Margin="0,0,0,0" >                        <StackPanel Orientation="Horizontal" Height="35" Margin="0,10,0,0">                            <Label Content="From: "></Label>                            <ComboBox Margin="0,0,3,0" Height="25" Width="120" ItemsSource="{Binding ZPositions}"  SelectedItem="{Binding ZAxisTestStartPosition}" />                            <Label Content="To: "></Label>                            <ComboBox Margin="3,0,3,0" Height="25" Width="120" ItemsSource="{Binding ZPositions}"  SelectedItem="{Binding ZAxisTestEndPosition}"   />                            <ComboBox Margin="3,0,3,0" Height="25" Width="120" ItemsSource="{Binding RPositions}"  SelectedItem="{Binding RAxisTestDirection}"   />                        </StackPanel>                        <StackPanel Orientation="Horizontal" Height="50" Margin="0,0,0,0">                            <TextBlock Text="{Binding BoatCycleDisplay}" Width="180" VerticalAlignment="Center"></TextBlock>                            <Button Content="Move Test Start" Width="120"  Height="30" Margin="15,10,0,0" IsEnabled="{Binding IsSystemStaus}">                                <i:Interaction.Triggers>                                    <i:EventTrigger EventName="Click">                                        <cal:ActionMessage MethodName="BoatTestStart"/>                                    </i:EventTrigger>                                </i:Interaction.Triggers>                            </Button>                            <Button Content="Move Test Stop" Width="120"  Height="30" Margin="15,10,0,0" IsEnabled="{Binding IsSystemStaus}">                                <i:Interaction.Triggers>                                    <i:EventTrigger EventName="Click">                                        <cal:ActionMessage MethodName="BoatTestStop"/>                                    </i:EventTrigger>                                </i:Interaction.Triggers>                            </Button>                        </StackPanel>                    </StackPanel>                </Border>            </Grid>            <Grid Visibility="{Binding RunningModeIsDebug,UpdateSourceTrigger=PropertyChanged,Converter={StaticResource bool2VisibilityConverter}}" Margin="780,655,0,0">                <Grid.RowDefinitions>                    <RowDefinition Height="24"/>                    <RowDefinition Height="50"/>                </Grid.RowDefinitions>                <Grid.ColumnDefinitions>                    <ColumnDefinition Width="480"/>                </Grid.ColumnDefinitions>                <Label Style="{DynamicResource Table_TitleStyle}" Grid.Row="0" Grid.ColumnSpan="4" HorizontalContentAlignment="Center" VerticalContentAlignment="Center">                    <Label.Content>                        <TextBlock Text="Shutter Cycle Test" Foreground="White"></TextBlock>                    </Label.Content>                </Label>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="1" Grid.Column="0" Padding="0,0,0,0">                    <StackPanel   Orientation="Vertical" Margin="0,0,0,0" >                        <StackPanel Orientation="Horizontal" Height="40" Margin="0,0,0,0">                            <TextBlock Text="{Binding ShutterCycleDisplay}" Width="140" VerticalAlignment="Center"></TextBlock>                            <Button Content="Shutter Test Start" Width="140"  Height="30" Margin="15,10,0,0" IsEnabled="{Binding IsSystemStaus}">                                <i:Interaction.Triggers>                                    <i:EventTrigger EventName="Click">                                        <cal:ActionMessage MethodName="ShutterTestStart"/>                                    </i:EventTrigger>                                </i:Interaction.Triggers>                            </Button>                            <Button Content="Shutter Test Stop" Width="140"  Height="30" Margin="15,10,0,0" IsEnabled="{Binding IsSystemStaus}">                                <i:Interaction.Triggers>                                    <i:EventTrigger EventName="Click">                                        <cal:ActionMessage MethodName="ShutterTestStop"/>                                    </i:EventTrigger>                                </i:Interaction.Triggers>                            </Button>                        </StackPanel>                    </StackPanel>                </Border>            </Grid>        </Canvas>    </Grid></UserControl>
 |