422 lines
31 KiB
XML
422 lines
31 KiB
XML
<Window x:Class="FAtoPA.Net.MainWindow"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
xmlns:local="clr-namespace:FAtoPA.Net"
|
|
mc:Ignorable="d"
|
|
Loaded="Window_Loaded"
|
|
Closing="Window_Closing"
|
|
Title="MainWindow"
|
|
MinWidth="800"
|
|
MinHeight="480"
|
|
WindowState="Maximized" >
|
|
|
|
<Window.Resources>
|
|
<!-- Style for Rounded Buttons -->
|
|
<Style TargetType="Button">
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="Button">
|
|
<Border
|
|
x:Name="Border"
|
|
Background="{TemplateBinding Background}"
|
|
BorderBrush="{TemplateBinding BorderBrush}"
|
|
BorderThickness="1"
|
|
CornerRadius="15"
|
|
|
|
Padding="5"
|
|
Margin="5">
|
|
<ContentPresenter
|
|
HorizontalAlignment="Center"
|
|
VerticalAlignment="Center" />
|
|
</Border>
|
|
<ControlTemplate.Triggers>
|
|
<!-- Trigger for MouseOver -->
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter TargetName="Border" Property="Background" Value="LightGray" />
|
|
</Trigger>
|
|
<!-- Trigger for Pressed -->
|
|
<Trigger Property="IsPressed" Value="True">
|
|
<Setter TargetName="Border" Property="Background" Value="Gray" />
|
|
<Setter TargetName="Border" Property="BorderBrush" Value="DarkGray" />
|
|
</Trigger>
|
|
<!-- Trigger for Disabled -->
|
|
<Trigger Property="IsEnabled" Value="False">
|
|
<Setter TargetName="Border" Property="Opacity" Value="0.5" />
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<!-- Style for TabItem with Rounded Top Corners -->
|
|
<Style TargetType="TabItem">
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="TabItem">
|
|
<Border
|
|
x:Name="Border"
|
|
Background="{TemplateBinding Background}"
|
|
BorderBrush="{TemplateBinding BorderBrush}"
|
|
BorderThickness="1 1 1 0"
|
|
CornerRadius="10,10,0,0"
|
|
Padding="8"
|
|
Margin="2 2 0 0">
|
|
<ContentPresenter
|
|
x:Name="HeaderContent"
|
|
ContentSource="Header"
|
|
HorizontalAlignment="Center"
|
|
VerticalAlignment="Center" />
|
|
</Border>
|
|
<ControlTemplate.Triggers>
|
|
<!-- Trigger for Selected -->
|
|
<Trigger Property="IsSelected" Value="True">
|
|
<Setter TargetName="Border" Property="Background" Value="LightBlue" />
|
|
<Setter TargetName="Border" Property="BorderBrush" Value="DarkBlue" />
|
|
</Trigger>
|
|
<!-- Trigger for MouseOver -->
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter TargetName="Border" Property="Background" Value="LightGray" />
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
</Window.Resources>
|
|
|
|
|
|
<Grid>
|
|
<DockPanel>
|
|
<StatusBar DockPanel.Dock="Bottom" Height="30">
|
|
<StatusBar.ItemsPanel>
|
|
<ItemsPanelTemplate>
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="auto"/>
|
|
<ColumnDefinition Width="auto"/>
|
|
<ColumnDefinition Width="auto"/>
|
|
<ColumnDefinition Width="*"/>
|
|
</Grid.ColumnDefinitions>
|
|
</Grid>
|
|
</ItemsPanelTemplate>
|
|
</StatusBar.ItemsPanel>
|
|
<StatusBarItem Grid.Column="0" HorizontalContentAlignment="Center" BorderBrush="Black" BorderThickness="1">
|
|
<TextBlock x:Name="firealarmstatusbar" Text="Fire Alarm Status" Margin="5 0"/>
|
|
</StatusBarItem>
|
|
|
|
<StatusBarItem Grid.Column="1" HorizontalContentAlignment="Center" BorderBrush="Black" BorderThickness="1">
|
|
<TextBlock x:Name="modbusstatusbar" Text="Modbus Status" Margin="5 0"/>
|
|
</StatusBarItem>
|
|
<StatusBarItem Grid.Column="2" HorizontalContentAlignment="Center" BorderBrush="Black" BorderThickness="1">
|
|
<TextBlock x:Name="vxstatusbar" Text="VX-3000 Status" Margin="5 0"/>
|
|
</StatusBarItem>
|
|
<StatusBarItem Grid.Column="3" HorizontalContentAlignment="Center" BorderBrush="Black" BorderThickness="1">
|
|
<TextBlock x:Name="datetimebar" Text="Date and Time" Margin="5 0"/>
|
|
</StatusBarItem>
|
|
</StatusBar>
|
|
<TabControl>
|
|
<TabItem Header="Fire Alarm">
|
|
<DockPanel>
|
|
<Grid DockPanel.Dock="Top" Height="75">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="170"/>
|
|
<ColumnDefinition Width="430"/>
|
|
<ColumnDefinition Width="*"/>
|
|
</Grid.ColumnDefinitions>
|
|
<Button Margin="5" Padding="5,0" x:Name="btnStartStopFSM" Content="Start FSM Connection" Grid.Column="0" Click="btnStartStopFSM_Click" />
|
|
<Grid Grid.Column="1" Margin="0,5">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="*"/>
|
|
</Grid.ColumnDefinitions>
|
|
<Grid Visibility="Hidden" Grid.Column="0">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="*"/>
|
|
<RowDefinition Height="*"/>
|
|
</Grid.RowDefinitions>
|
|
<Label Content="NetGroup" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Grid.Row="0"/>
|
|
<ComboBox x:Name="netGroupNumber" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Grid.Row="1" Margin="5,0,5,5" ItemsSource="{Binding NetGroupList, IsAsync=True}" SelectedIndex="0"/>
|
|
</Grid>
|
|
<Grid Visibility="Hidden" Grid.Column="1">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="*"/>
|
|
<RowDefinition Height="*"/>
|
|
</Grid.RowDefinitions>
|
|
<Label Content="NetNode" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Grid.Row="0"/>
|
|
<ComboBox x:Name="netNodeNumber" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Grid.Row="1" Margin="5,0,5,5" ItemsSource="{Binding NetNodeList, IsAsync=True}" SelectedIndex="0"/>
|
|
</Grid>
|
|
<Grid Visibility="Hidden" Grid.Column="2">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="*"/>
|
|
<RowDefinition Height="*"/>
|
|
</Grid.RowDefinitions>
|
|
<Label Content="SI Type" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Grid.Row="0"/>
|
|
<ComboBox x:Name="siType" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Grid.Row="1" Margin="5,0,5,5" ItemsSource="{Binding SIType, IsAsync=True}" SelectedIndex="0"/>
|
|
</Grid>
|
|
<Grid Visibility="Hidden" Grid.Column="3">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="*"/>
|
|
<RowDefinition Height="*"/>
|
|
</Grid.RowDefinitions>
|
|
<Label Content="SI Number" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Grid.Row="0"/>
|
|
<ComboBox x:Name="siNumber" Text="1" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Grid.Row="1" Margin="5,0,5,5" ItemsSource="{Binding SINumberList, IsAsync=True}" SelectedIndex="0"/>
|
|
</Grid>
|
|
<Grid Visibility="Hidden" Grid.Column="4">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="*"/>
|
|
<RowDefinition Height="*"/>
|
|
</Grid.RowDefinitions>
|
|
<Label Content="SI Sub" Grid.Row="0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"/>
|
|
<ComboBox x:Name="siSub" Text="1" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Grid.Row="1" Margin="5,0,5,5" ItemsSource="{Binding SISubList, IsAsync=True}" SelectedIndex="0"/>
|
|
</Grid>
|
|
</Grid>
|
|
<Grid Grid.Column="2" Margin="0,5">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="*"/>
|
|
</Grid.ColumnDefinitions>
|
|
<Button Grid.Column="1" Margin="5,0" Padding="5,0" x:Name="btnDelSIID" Content="Remove From Table" Click="btnDelSIID_Click"/>
|
|
<Button Grid.Column="2" Margin="5,0" Padding="5,0" x:Name="btnClearSIID" Content="Clear Table" Click="btnClearSIID_Click"/>
|
|
</Grid>
|
|
</Grid>
|
|
<DockPanel DockPanel.Dock="Left" Width="400">
|
|
<Label Content="Detected SIID" Margin="5,0" DockPanel.Dock="Top" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" FontWeight="Bold"/>
|
|
<Grid DockPanel.Dock="Bottom" Height="50" Margin="5">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto"/>
|
|
<ColumnDefinition Width="*"/>
|
|
</Grid.ColumnDefinitions>
|
|
<Label Content="Count : 0" Margin="5,0" Grid.Column="0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" x:Name="DetectedSIIDCount"/>
|
|
<Button Content="Add Selected to Table" Margin="5,0" Padding="5,0" Grid.Column="1" HorizontalAlignment="Stretch" Click="AddSelectedSIID" />
|
|
</Grid>
|
|
|
|
<ListBox x:Name="DetectedSIID" Margin="5" />
|
|
</DockPanel>
|
|
<DataGrid Margin="5" MinRowHeight="50" x:Name="FSMTable" AutoGenerateColumns="True" AutoGeneratingColumn="FSMTable_AutoGeneratingColumn" />
|
|
|
|
|
|
</DockPanel>
|
|
</TabItem>
|
|
<TabItem Header="Modbus">
|
|
<DockPanel>
|
|
<Grid DockPanel.Dock="Top" Height="75">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="170"/>
|
|
<ColumnDefinition Width="430"/>
|
|
<ColumnDefinition Width="*"/>
|
|
</Grid.ColumnDefinitions>
|
|
<Button Margin="5" Padding="5,0" x:Name="btnStartStopModbus" Content="Start Modbus Connection" Grid.Column="0" Click="btnStartStopModbus_Click"/>
|
|
<Grid Grid.Column="1" Margin="0,5">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="60"/>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="60"/>
|
|
<ColumnDefinition Width="*"/>
|
|
</Grid.ColumnDefinitions>
|
|
<Label Grid.Column="0" Content="SIID" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"/>
|
|
<ComboBox Grid.Column="1" x:Name="ModbusSIIDComboBox" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Margin="5" ItemsSource="{Binding FSMSIID, IsAsync=True}" SelectedIndex="0"/>
|
|
<Label Grid.Column="2" Content="Register" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"/>
|
|
<ComboBox Grid.Column="3" x:Name="ModbusRegister" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Margin="5" ItemsSource="{Binding ModbusRegisters, IsAsync=True}" SelectedIndex="0" />
|
|
</Grid>
|
|
<Grid Grid.Column="2">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="*"/>
|
|
</Grid.ColumnDefinitions>
|
|
<Button Grid.Column="0" Margin="5" Padding="5,0" x:Name="btnAddModbus" Content="Add To Table" Click="btnAddModbus_Click"/>
|
|
<Button Grid.Column="1" Margin="5" Padding="5,0" x:Name="btnDelModbus" Content="Remove From Table" Click="btnDelModbus_Click"/>
|
|
<Button Grid.Column="2" Margin="5" Padding="5,0" x:Name="btnClearModbus" Content="Clear Table" Click="btnClearModbus_Click"/>
|
|
</Grid>
|
|
</Grid>
|
|
<DockPanel DockPanel.Dock="Left" Width="400">
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="*"/>
|
|
<RowDefinition Height="*"/>
|
|
</Grid.RowDefinitions>
|
|
<DockPanel Grid.Row="0">
|
|
<Grid DockPanel.Dock="Top">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="AUTO"/>
|
|
</Grid.ColumnDefinitions>
|
|
<Label Margin="5,0,5,0" Content="Connected Modbus Client" Grid.Column="0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" FontWeight="Bold" Height="26" VerticalAlignment="Top"/>
|
|
<Label Margin="5,0" Content="Count : 0" Grid.Column="1" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" x:Name="ConnectedModbusCount"/>
|
|
</Grid>
|
|
|
|
<ListBox x:Name="ConnectedModbusClients" Margin="5,0" />
|
|
</DockPanel>
|
|
<DockPanel Grid.Row="1">
|
|
<Label Content="FA Status to Register Definition" DockPanel.Dock="Top" HorizontalContentAlignment="Center" FontWeight="Bold"/>
|
|
<Grid DockPanel.Dock="Bottom" Height="50">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="*"/>
|
|
</Grid.ColumnDefinitions>
|
|
<Button x:Name="SetFSMtoModbusTranslationTable" Grid.Column="0" Content="Set Value" Margin="5" Padding="5,0" Click="SetFSMtoModbusTranslationTable_Click"/>
|
|
<Button x:Name="ResetFSMtoModbusTranslationTable" Grid.Column="1" Content="Reset Default" Margin="5" Padding="5,0" Click="ResetFSMtoModbusTranslationTable_Click"/>
|
|
</Grid>
|
|
<DataGrid x:Name="FSMtoModbusTranslationTable" MouseDoubleClick="FSMtoModbusTranslationTable_MouseDoubleClick" AutoGenerateColumns="True" Margin="5,0" AutoGeneratingColumn="FSMtoModbusTranslationTable_AutoGeneratingColumn"/>
|
|
|
|
|
|
</DockPanel>
|
|
</Grid>
|
|
|
|
</DockPanel>
|
|
<DataGrid MinRowHeight="50" x:Name="ModbusTable" AutoGenerateColumns="True" AutoGeneratingColumn="ModbusTable_AutoGeneratingColumn" />
|
|
</DockPanel>
|
|
</TabItem>
|
|
<TabItem Header="TOA VX-3000">
|
|
<DockPanel>
|
|
<Grid DockPanel.Dock="Top" Height="75">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="170"/>
|
|
<ColumnDefinition Width="430"/>
|
|
<ColumnDefinition Width="*"/>
|
|
</Grid.ColumnDefinitions>
|
|
<Button Margin="5,5,5,5" x:Name="btnStartStopVX" Padding="5,0" Content="Start VX-3000 Connection" Grid.Column="0" Click="btnStartStopVX_Click" />
|
|
<Grid Grid.Column="1" Margin="0,5,0,5" >
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="50"/>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="50"/>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="50"/>
|
|
<ColumnDefinition Width="*"/>
|
|
</Grid.ColumnDefinitions>
|
|
<Label Grid.Column="0" Content="SIID" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"/>
|
|
<ComboBox Grid.Column="1" x:Name="VXSIIDComboBox" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Margin="5" ItemsSource="{Binding FSMSIID, IsAsync=True}" SelectedIndex="0"/>
|
|
<Label Grid.Column="2" Content="Frame" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"/>
|
|
<ComboBox Grid.Column="3" x:Name="VXFrame" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Margin="5" ItemsSource="{Binding VX3KID, IsAsync=True}" SelectedIndex="0"/>
|
|
<Label Grid.Column="4" Content="C-IN" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"/>
|
|
<ComboBox Grid.Column="5" x:Name="VXCIN" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Margin="5" ItemsSource="{Binding VX3KCIN, IsAsync=True}" SelectedIndex="0" />
|
|
</Grid>
|
|
<Grid Grid.Column="2">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="*"/>
|
|
</Grid.ColumnDefinitions>
|
|
<Button Grid.Column="0" Margin="5" x:Name="btnAddVX" Padding="5,0" Content="Add To Table" Click="btnAddVX_Click"/>
|
|
<Button Grid.Column="1" Margin="5" x:Name="btnDelVX" Padding="5,0" Content="Remove From Table" Click="btnDelVX_Click"/>
|
|
<Button Grid.Column="2" Margin="5" x:Name="btnClearVX" Padding="5,0" Content="Clear Table" Click="btnClearVX_Click"/>
|
|
</Grid>
|
|
</Grid>
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="*"/>
|
|
<RowDefinition Height="*"/>
|
|
</Grid.RowDefinitions>
|
|
<DockPanel Grid.Row="0">
|
|
<Label Content="TOA VX-3000" FontWeight="Bold" DockPanel.Dock="Top"/>
|
|
<DataGrid MinRowHeight="50" x:Name="VXTable" AutoGenerateColumns="True" AutoGeneratingColumn="VXTable_AutoGeneratingColumn" SelectionChanged="VXTable_SelectionChanged" />
|
|
|
|
</DockPanel>
|
|
<DockPanel Grid.Row="1">
|
|
<Label Content="FSM Condition" FontWeight="Bold" DockPanel.Dock="Top"/>
|
|
<DataGrid MinRowHeight="50" Grid.Row="1" x:Name="ConditionTable" AutoGenerateColumns="True" AutoGeneratingColumn="ConditionTable_AutoGeneratingColumn"/>
|
|
|
|
</DockPanel>
|
|
|
|
</Grid>
|
|
</DockPanel>
|
|
</TabItem>
|
|
<TabItem Header="Settings">
|
|
<ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
|
|
<StackPanel Orientation="Vertical">
|
|
<GroupBox>
|
|
<GroupBox.Header>
|
|
<TextBlock Text="Fire Alarm Settings" FontWeight="Bold" />
|
|
</GroupBox.Header>
|
|
<DockPanel>
|
|
<Button x:Name="btnApplyFSMConfig" Content="Apply Config" Click="ApplyFSMConfig" DockPanel.Dock="Right" Margin="5,0" Padding="5,0"/>
|
|
<StackPanel Orientation="Vertical">
|
|
<StackPanel Orientation="Horizontal" Margin="0,5">
|
|
<Label Content="NetGroup" Width="150"/>
|
|
<TextBox x:Name="FSMConfig_NetGroup" Text="1" Padding="5,0" MinWidth="30" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" PreviewTextInput="FSMConfig_NetGroup_PreviewTextInput" TextChanged="FSMConfig_NetGroup_TextChanged"/>
|
|
</StackPanel>
|
|
<StackPanel Orientation="Horizontal" Margin="0,5">
|
|
<Label Content="NetNode" Width="150"/>
|
|
<TextBox x:Name="FSMConfig_NetNode" Padding="5,0" Text="1" MinWidth="30" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" PreviewTextInput="FSMConfig_NetNode_PreviewTextInput" TextChanged="FSMConfig_NetNode_TextChanged"/>
|
|
</StackPanel>
|
|
<StackPanel Orientation="Horizontal" Margin="0,5">
|
|
<Label Content="PNA" Width="150"/>
|
|
<TextBox x:Name="FSMConfig_PNA" Padding="5,0" Text="1" MinWidth="30" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" PreviewTextInput="FSMConfig_PNA_PreviewTextInput" TextChanged="FSMConfig_PNA_TextChanged"/>
|
|
</StackPanel>
|
|
<StackPanel Orientation="Horizontal" Margin="0,5">
|
|
<Label Content="Local IP Address" Width="150"/>
|
|
<TextBox x:Name="FSMConfig_LocalIP" Padding="5,0" Text="0.0.0.0" MinWidth="75" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" PreviewTextInput="FSMConfig_LocalIP_PreviewTextInput" TextChanged="FSMConfig_LocalIP_TextChanged"/>
|
|
</StackPanel>
|
|
<StackPanel Orientation="Horizontal" Margin="0,5">
|
|
<Label Content="Use Multicast" Width="150"/>
|
|
<CheckBox x:Name="FSM_UseMulticast" Content="No" IsChecked="False" VerticalAlignment="Center"/>
|
|
</StackPanel>
|
|
<StackPanel Orientation="Horizontal" Margin="0,5">
|
|
<Label Content="Multicast Address" Width="150"/>
|
|
<TextBox x:Name="FSMConfig_MulticastAddress" Padding="5,0" Text="239.192.0.1" MinWidth="75" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" PreviewTextInput="FSMConfig_MulticastAddress_PreviewTextInput" TextChanged="FSMConfig_MulticastAddress_TextChanged"/>
|
|
</StackPanel>
|
|
<StackPanel Orientation="Horizontal" Margin="0,5">
|
|
<Label Content="Multicast Port" Width="150"/>
|
|
<TextBox x:Name="FSMConfig_MulticastPort" Padding="5,0" Text="25000" MinWidth="50" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" PreviewTextInput="FSMConfig_MulticastPort_PreviewTextInput" TextChanged="FSMConfig_MulticastPort_TextChanged"/>
|
|
</StackPanel>
|
|
</StackPanel>
|
|
</DockPanel>
|
|
|
|
</GroupBox>
|
|
<GroupBox>
|
|
<GroupBox.Header>
|
|
<TextBlock Text="Modbus Setting" FontWeight="Bold" />
|
|
</GroupBox.Header>
|
|
<DockPanel>
|
|
<Button x:Name="btnApplyModbusConfig" Content="Apply Config" Click="ApplyModbusConfig" DockPanel.Dock="Right" Margin="5,0" Padding="5,0"/>
|
|
<StackPanel Orientation="Vertical">
|
|
<StackPanel Orientation="Horizontal" Margin="0,5">
|
|
<Label Width="150" Content="Listen Port"/>
|
|
<TextBox x:Name="ModbusListenPort" Text="502" Padding="5,0" MinWidth="50" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" PreviewTextInput="ModbusListenPort_PreviewTextInput" TextChanged="ModbusListenPort_TextChanged"/>
|
|
</StackPanel>
|
|
<StackPanel Orientation="Horizontal" Margin="0,5">
|
|
<Label Width="150" Content="Device ID"/>
|
|
<TextBox x:Name="ModbusDeviceID" Padding="5,0" Text="1" MinWidth="50" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" PreviewTextInput="ModbusDeviceID_PreviewTextInput" TextChanged="ModbusDeviceID_TextChanged"/>
|
|
</StackPanel>
|
|
<StackPanel Orientation="Horizontal" Margin="0,5">
|
|
<Label Width="150" Content="Max. Register"/>
|
|
<TextBox x:Name="ModbusMaxRegister" Padding="5,0" Text="2000" MinWidth="50" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" PreviewTextInput="ModbusMaxRegister_PreviewTextInput" TextChanged="ModbusMaxRegister_TextChanged"/>
|
|
</StackPanel>
|
|
</StackPanel>
|
|
</DockPanel>
|
|
</GroupBox>
|
|
<GroupBox>
|
|
<GroupBox.Header>
|
|
<TextBlock Text="VX-3000" FontWeight="Bold" />
|
|
</GroupBox.Header>
|
|
<DockPanel Margin="-1,0,1,0">
|
|
<Button x:Name="btnApplyVX3KConfig" Content="Apply Config" Margin="5,0" Padding="5,0" Click="ApplyVX3KConfig" DockPanel.Dock="Right"/>
|
|
<StackPanel Orientation="Vertical">
|
|
<StackPanel Orientation="Horizontal" Margin="0,5">
|
|
<Label Width="150" Content="VX-3000 IP" />
|
|
<TextBox x:Name="VX3K_IP" Padding="5,0" Text="192.168.14.1" MinWidth="75" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" PreviewTextInput="VX3K_IP_PreviewTextInput" TextChanged="VX3K_IP_TextChanged"/>
|
|
</StackPanel>
|
|
<StackPanel Orientation="Horizontal" Margin="0,5">
|
|
<Label Width="150" Content="VX-3000 Port" />
|
|
<TextBox x:Name="VX3K_Port" Padding="5,0" Text="5000" MinWidth="50" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" PreviewTextInput="VX3K_Port_PreviewTextInput" TextChanged="VX3K_Port_TextChanged" />
|
|
</StackPanel>
|
|
</StackPanel>
|
|
</DockPanel>
|
|
</GroupBox>
|
|
</StackPanel>
|
|
</ScrollViewer>
|
|
</TabItem>
|
|
</TabControl>
|
|
|
|
</DockPanel>
|
|
</Grid>
|
|
</Window>
|