初始化上传

This commit is contained in:
2025-08-26 08:37:44 +08:00
commit 31d81b91b6
448 changed files with 80981 additions and 0 deletions

View File

@@ -0,0 +1,67 @@
<UserControl xmlns="https://github.com/avaloniaui"
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"
mc:Ignorable="d" d:DesignHeight="600" d:DesignWidth="715"
xmlns:vm ="clr-namespace:常用工具集.ViewModel._01PLC通信调试"
x:Class="常用工具集.MC3E服务模拟"
xmlns:Utils="clr-namespace:常用工具集.Utility"
xmlns:i="clr-namespace:Avalonia.Xaml.Interactivity;assembly=Avalonia.Xaml.Interactivity"
x:CompileBindings="True"
x:DataType="vm:MC3E服务模拟ViewModel">
<!-- xmlns:b="clr-namespace:Avalonia.Xaml.Behaviors;assembly=Avalonia.Xaml.Behaviors" -->
<UserControl.DataContext>
<vm:MC3E服务模拟ViewModel />
</UserControl.DataContext>
<Grid RowDefinitions="40,350,160,*">
<Grid Grid.Row="0">
<TextBlock HorizontalAlignment="Left" VerticalAlignment="Top" Text="端口号:" Margin="25,16,0,0"/>
<TextBox IsEnabled="{Binding Enabled1}" HorizontalAlignment="Left" Margin="75,10,0,0" TextWrapping="Wrap" Text="{Binding Port}" VerticalAlignment="Top" Width="86" />
<Button Content="{Binding ButtonText}" Command="{Binding StartCmd}" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="190,10,0,0" Width="90" />
<TextBlock HorizontalAlignment="Left" Margin="315,16,0,0" TextWrapping="Wrap" Text="移动到地址" VerticalAlignment="Top" Width="80" />
<NumericUpDown IsEnabled="{Binding Enabled2}" Value="{Binding StartAddress}" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="405,10,0,0" Width="115" Height="35" Maximum="65515" Minimum="1" />
</Grid>
<Grid Grid.Row="1" ColumnDefinitions="*,*,*">
<Border Theme="{StaticResource CardBorder}" Grid.Column="0" Margin="5,5,5,5">
<Grid>
<TextBlock HorizontalAlignment="Center" Margin="0,-20,0,0" TextWrapping="Wrap" Text="数据" VerticalAlignment="Top"/>
<DataGrid IsEnabled="{Binding Enabled2}" HeadersVisibility="All"
ItemsSource="{Binding List1}"
IsReadOnly="True"
IsHitTestVisible="False"
Background="White" BorderThickness="1"
RowHeight="30" AutoGenerateColumns="False"
SelectionMode="Single">
<DataGrid.Columns>
<DataGridTextColumn
Width="*"
x:DataType="vm:MyDataGrid"
Binding="{Binding Address}"
Header="地址" />
<DataGridTextColumn
Width="*"
x:DataType="vm:MyDataGrid"
Binding="{Binding Value2}"
Header="数据" />
</DataGrid.Columns>
</DataGrid>
</Grid>
</Border>
</Grid>
<Border Theme="{StaticResource CardBorder}" Grid.Row="2">
<Grid>
<TextBlock HorizontalAlignment="Center" Margin="0,-20,0,0" TextWrapping="Wrap" Text="运行日志" VerticalAlignment="Top"/>
<TextBox x:Name="TBInfo" Height="130" TextWrapping="Wrap" ScrollViewer.VerticalScrollBarVisibility="Auto" Text="{Binding Message}" Margin="5,0,5,0" HorizontalContentAlignment="Left" VerticalContentAlignment="Top">
<i:Interaction.Behaviors>
<DataTriggerBehavior Binding="{Binding Text.Length, ElementName=TBInfo}" ComparisonCondition="NotEqual" Value="0">
<ChangePropertyAction TargetObject="TBInfo" PropertyName="CaretIndex" Value="{Binding ElementName=TBInfo, Path=Text.Length}"/>
<CallMethodAction MethodName="ScrollToHome" />
</DataTriggerBehavior>
</i:Interaction.Behaviors>
</TextBox>
</Grid>
</Border>
</Grid>
</UserControl>

View File

@@ -0,0 +1,13 @@
using Avalonia;
using Avalonia.Controls;
using Avalonia.Markup.Xaml;
namespace ;
public partial class MC3E服务模拟 : UserControl
{
public MC3E服务模拟()
{
InitializeComponent();
}
}

View File

@@ -0,0 +1,95 @@
<UserControl xmlns="https://github.com/avaloniaui"
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"
mc:Ignorable="d" d:DesignHeight="600" d:DesignWidth="715"
xmlns:vm ="clr-namespace:常用工具集.ViewModel._01PLC通信调试"
x:Class="常用工具集.ModbusRTU"
xmlns:i="clr-namespace:Avalonia.Xaml.Interactivity;assembly=Avalonia.Xaml.Interactivity"
x:CompileBindings="True"
x:DataType="vm:ModbusRTUViewModel">
<!-- xmlns:b="clr-namespace:Avalonia.Xaml.Behaviors;assembly=Avalonia.Xaml.Behaviors" -->
<UserControl.DataContext>
<vm:ModbusRTUViewModel />
</UserControl.DataContext>
<Grid>
<Button IsEnabled="{Binding Enabled1}" Content="连接" Command="{Binding ConnectCmd}" HorizontalAlignment="Left" Margin="560,10,0,0" VerticalAlignment="Top" Width="85" />
<Button IsEnabled="{Binding Enabled2}" Content="断开连接" Command="{Binding DisconnectCmd}" HorizontalAlignment="Left" Margin="560,47,0,0" VerticalAlignment="Top" Width="85" />
<TextBlock HorizontalAlignment="Left" VerticalAlignment="Top" Text="串口:" Margin="25,20,0,0" />
<ComboBox IsEnabled="{Binding Enabled1}" HorizontalAlignment="Left" VerticalAlignment="Top" SelectedIndex="{Binding SerialIndex}" ItemsSource="{Binding SerialList}" Margin="65,14,0,0" Width="85" />
<TextBlock HorizontalAlignment="Left" VerticalAlignment="Top" Text="波特率:" Margin="185,20,0,0" />
<ComboBox HorizontalAlignment="Left" IsEnabled="{Binding Enabled1}" VerticalAlignment="Top" SelectedIndex="{Binding BaudRateIndex}" ItemsSource="{Binding BaudRateList}" Margin="235,14,0,0" Width="115" />
<TextBlock HorizontalAlignment="Left" VerticalAlignment="Top" Text="从站ID:" Margin="384,20,0,0" />
<TextBox IsEnabled="{Binding Enabled1}" HorizontalAlignment="Left" Margin="434,14,0,0" TextWrapping="Wrap" Text="{Binding SlaveId}" VerticalAlignment="Top" Width="86" />
<TextBlock HorizontalAlignment="Left" VerticalAlignment="Top" Text="数据位:" Margin="10,53,0,0" />
<ComboBox HorizontalAlignment="Left" IsEnabled="{Binding Enabled1}" VerticalAlignment="Top" SelectedIndex="{Binding DataBitIndex}" ItemsSource="{Binding DataBitList}" Margin="60,47,0,0" Width="90" />
<TextBlock HorizontalAlignment="Left" VerticalAlignment="Top" Text="停止位:" Margin="185,53,0,0" />
<ComboBox HorizontalAlignment="Left" IsEnabled="{Binding Enabled1}" VerticalAlignment="Top" SelectedIndex="{Binding StopBitIndex}" ItemsSource="{Binding StopBitList}" Margin="235,47,0,0" Width="115" />
<TextBlock HorizontalAlignment="Left" VerticalAlignment="Top" Text="校验:" Margin="400,53,0,0" />
<ComboBox HorizontalAlignment="Left" IsEnabled="{Binding Enabled1}" VerticalAlignment="Top" SelectedIndex="{Binding ParityIndex}" ItemsSource="{Binding ParityList}" Margin="434,47,0,0" Width="86" />
<Border Theme="{StaticResource CardBorder}" Width="680" Height="480" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="10,82,0,0">
<Grid>
<TextBlock HorizontalAlignment="Left" Margin="0,-20,0,0" TextWrapping="Wrap" Text="读写操作" VerticalAlignment="Top"/>
<TextBlock HorizontalAlignment="Left" VerticalAlignment="Top" Text="地址:" Margin="20,31,0,0" />
<TextBox IsEnabled="{Binding Enabled2}" HorizontalAlignment="Left" Margin="60,25,0,0" TextWrapping="Wrap" Text="{Binding Address}" VerticalAlignment="Top" Width="125" />
<TextBlock HorizontalAlignment="Left" VerticalAlignment="Top" Text="字符串长度:" Margin="10,271,0,0" />
<TextBox IsEnabled="{Binding Enabled2}" HorizontalAlignment="Left" Margin="90,265,0,0" TextWrapping="Wrap" Text="{Binding StringLength}" VerticalAlignment="Top" Width="115" />
<TextBlock HorizontalAlignment="Left" Margin="10,298,0,0" TextWrapping="Wrap" Text="注意:非地址长度,一个地址两个字符" Foreground="Red" VerticalAlignment="Top" Width="245" />
<!-- 读写int16 -->
<Button IsEnabled="{Binding Enabled2}" Content="读int16" Command="{Binding ReadCmd}" CommandParameter="INT16" HorizontalAlignment="Left" Margin="237,25,0,0" VerticalAlignment="Top" Width="90" />
<TextBox IsEnabled="{Binding Enabled2}" HorizontalAlignment="Left" Margin="335,25,0,0" TextWrapping="Wrap" Text="{Binding Int16Value}" VerticalAlignment="Top" Width="135" />
<Button IsEnabled="{Binding Enabled2}" Content="写int16" Command="{Binding WriteCmd}" CommandParameter="INT16" HorizontalAlignment="Left" Margin="475,25,0,0" VerticalAlignment="Top" RenderTransformOrigin="0.582,0.67" Width="90" />
<!-- 读写float -->
<Button IsEnabled="{Binding Enabled2}" Content="读single" Command="{Binding ReadCmd}" CommandParameter="REAL" HorizontalAlignment="Left" Margin="237,70,0,0" VerticalAlignment="Top" Width="90" />
<TextBox IsEnabled="{Binding Enabled2}" Text="{Binding RealValue}" HorizontalAlignment="Left" Margin="335,70,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="135" />
<Button IsEnabled="{Binding Enabled2}" Content="写single" Command="{Binding WriteCmd}" CommandParameter="REAL" HorizontalAlignment="Left" Margin="475,70,0,0" VerticalAlignment="Top" RenderTransformOrigin="0.582,0.67" Width="90" />
<!-- 读写int32 -->
<Button IsEnabled="{Binding Enabled2}" Content="读int32" Command="{Binding ReadCmd}" CommandParameter="INT32" HorizontalAlignment="Left" Margin="237,115,0,0" VerticalAlignment="Top" Width="90" />
<TextBox IsEnabled="{Binding Enabled2}" Text="{Binding Int32Value}" HorizontalAlignment="Left" Margin="335,115,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="135" />
<Button IsEnabled="{Binding Enabled2}" Content="写int32" Command="{Binding WriteCmd}" CommandParameter="INT32" HorizontalAlignment="Left" Margin="475,115,0,0" VerticalAlignment="Top" RenderTransformOrigin="0.582,0.67" Width="90" />
<!-- 读写int64 -->
<Button IsEnabled="{Binding Enabled2}" Content="读int64" Command="{Binding ReadCmd}" CommandParameter="INT64" HorizontalAlignment="Left" Margin="237,160,0,0" VerticalAlignment="Top" Width="90" />
<TextBox IsEnabled="{Binding Enabled2}" Text="{Binding LongValue}" HorizontalAlignment="Left" Margin="335,160,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="135" />
<Button IsEnabled="{Binding Enabled2}" Content="写int64" Command="{Binding WriteCmd}" CommandParameter="INT64" HorizontalAlignment="Left" Margin="475,160,0,0" VerticalAlignment="Top" RenderTransformOrigin="0.582,0.67" Width="90" />
<!-- 读写double -->
<Button IsEnabled="{Binding Enabled2}" Content="读double" Command="{Binding ReadCmd}" CommandParameter="DOUBLE" HorizontalAlignment="Left" Margin="237,205,0,0" VerticalAlignment="Top" Width="90" />
<TextBox IsEnabled="{Binding Enabled2}" Text="{Binding DoubleValue}" HorizontalAlignment="Left" Margin="335,205,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="135" />
<Button IsEnabled="{Binding Enabled2}" Content="写double" Command="{Binding WriteCmd}" CommandParameter="DOUBLE" HorizontalAlignment="Left" Margin="475,205,0,0" VerticalAlignment="Top" RenderTransformOrigin="0.582,0.67" Width="90" />
<!-- 读写string -->
<Button IsEnabled="{Binding Enabled2}" Content="读string" Command="{Binding ReadCmd}" CommandParameter="STRING" HorizontalAlignment="Left" Margin="237,261,0,0" VerticalAlignment="Top" Width="80" />
<TextBox IsEnabled="{Binding Enabled2}" Text="{Binding StringValue}" HorizontalAlignment="Left" Margin="335,261,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="135" />
<Button IsEnabled="{Binding Enabled2}" Content="写string" Command="{Binding WriteCmd}" CommandParameter="STRING" HorizontalAlignment="Left" Margin="475,261,0,0" VerticalAlignment="Top" RenderTransformOrigin="0,0.634" Width="80" />
<TextBlock HorizontalAlignment="Left" VerticalAlignment="Top" Text="数据:" Margin="18,346,0,0" />
<TextBox Text="{Binding ReadedValue}" HorizontalAlignment="Left" Margin="58,340,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="180" />
<TextBlock HorizontalAlignment="Left" VerticalAlignment="Top" Text="信息:" Margin="18,389,0,0" />
<TextBox Text="{Binding Message}" HorizontalAlignment="Left" Margin="58,383,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="180" />
<TextBlock HorizontalAlignment="Left" VerticalAlignment="Top" Text="发送的数据:" Margin="260,346,0,0" />
<TextBox Text="{Binding SendedBytesValue}" HorizontalAlignment="Left" Margin="340,340,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="295"/>
<TextBlock HorizontalAlignment="Left" VerticalAlignment="Top" Text="接收的数据:" Margin="260,389,0,0" />
<TextBox Text="{Binding RecivedBytesValue}" HorizontalAlignment="Left" Margin="340,383,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="295" />
<TextBlock HorizontalAlignment="Left" Margin="560,31,0,0" TextWrapping="Wrap" Text="short一个地址" Foreground="Red" VerticalAlignment="Top" Width="85" />
<TextBlock HorizontalAlignment="Left" Margin="560,76,0,0" TextWrapping="Wrap" Text="float两个地址" Foreground="Red" VerticalAlignment="Top" Width="85" />
<TextBlock HorizontalAlignment="Left" Margin="560,121,0,0" TextWrapping="Wrap" Text="int两个地址" Foreground="Red" VerticalAlignment="Top" Width="85" />
<TextBlock HorizontalAlignment="Left" Margin="560,166,0,0" TextWrapping="Wrap" Text="long四个地址" Foreground="Red" VerticalAlignment="Top" Width="85" />
<TextBlock HorizontalAlignment="Left" Margin="560,211,0,0" TextWrapping="Wrap" Text="long四个地址" Foreground="Red" VerticalAlignment="Top" Width="85" />
</Grid>
</Border>
</Grid>
</UserControl>

View File

@@ -0,0 +1,13 @@
using Avalonia;
using Avalonia.Controls;
using Avalonia.Markup.Xaml;
namespace ;
public partial class ModbusRTU : UserControl
{
public ModbusRTU()
{
InitializeComponent();
}
}

View File

@@ -0,0 +1,147 @@
<UserControl xmlns="https://github.com/avaloniaui"
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"
mc:Ignorable="d" d:DesignHeight="600" d:DesignWidth="715"
xmlns:vm ="clr-namespace:常用工具集.ViewModel._01PLC通信调试"
xmlns:i="clr-namespace:Avalonia.Xaml.Interactivity;assembly=Avalonia.Xaml.Interactivity"
x:Class="常用工具集.Modbus服务"
x:CompileBindings="True"
x:DataType="vm:Modbus服务ViewModel">
<!-- xmlns:b="clr-namespace:Avalonia.Xaml.Behaviors;assembly=Avalonia.Xaml.Behaviors" -->
<UserControl.DataContext>
<vm:Modbus服务ViewModel />
</UserControl.DataContext>
<Grid RowDefinitions="40,350,160,*">
<Grid Grid.Row="0">
<TextBlock HorizontalAlignment="Left" VerticalAlignment="Top" Text="端口号:" Margin="25,16,0,0"/>
<TextBox IsEnabled="{Binding Enabled1}" HorizontalAlignment="Left" Margin="75,10,0,0" TextWrapping="Wrap" Text="{Binding Port}" VerticalAlignment="Top" Width="86" />
<Button Content="{Binding ButtonText}" Command="{Binding StartCmd}" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="190,10,0,0" Width="90" />
<TextBlock HorizontalAlignment="Left" Margin="315,16,0,0" TextWrapping="Wrap" Text="移动到地址" VerticalAlignment="Top" Width="80" />
<NumericUpDown IsEnabled="{Binding Enabled2}" Value="{Binding StartAddress}" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="405,10,0,0" Width="115" Height="35" Maximum="65515" Minimum="1"/>
</Grid>
<Grid Grid.Row="1" ColumnDefinitions="*,*,*,*">
<Border Theme="{StaticResource CardBorder}" Grid.Column="0" Margin="5,5,5,5">
<Grid>
<TextBlock HorizontalAlignment="Center" Margin="0,-20,0,0" TextWrapping="Wrap" Text="线圈" VerticalAlignment="Top"/>
<DataGrid IsEnabled="{Binding Enabled2}" HeadersVisibility="All"
ItemsSource="{Binding List1}"
IsReadOnly="True"
IsHitTestVisible="False"
Background="White" BorderThickness="1"
RowHeight="30" AutoGenerateColumns="False"
SelectionMode="Single">
<DataGrid.Columns>
<DataGridTextColumn
Width="*"
x:DataType="vm:MyDataGrid"
Binding="{Binding Address}"
Header="地址" />
<DataGridTextColumn
Width="*"
x:DataType="vm:MyDataGrid"
Binding="{Binding Value1}"
Header="数据" />
</DataGrid.Columns>
</DataGrid>
</Grid>
</Border>
<Border Theme="{StaticResource CardBorder}" Grid.Column="1" Margin="5,5,5,5">
<Grid>
<TextBlock HorizontalAlignment="Center" Margin="0,-20,0,0" TextWrapping="Wrap" Text="状态寄存器" VerticalAlignment="Top"/>
<DataGrid IsEnabled="{Binding Enabled2}" HeadersVisibility="All"
ItemsSource="{Binding List2}"
IsReadOnly="True"
IsHitTestVisible="False"
Background="White" BorderThickness="1"
RowHeight="30" AutoGenerateColumns="False"
SelectionMode="Single">
<DataGrid.Columns>
<DataGridTextColumn
Width="*"
x:DataType="vm:MyDataGrid"
Binding="{Binding Address}"
Header="地址" />
<DataGridTextColumn
Width="*"
x:DataType="vm:MyDataGrid"
Binding="{Binding Value1}"
Header="数据" />
</DataGrid.Columns>
</DataGrid>
</Grid>
</Border>
<Border Theme="{StaticResource CardBorder}" Grid.Column="2" Margin="5,5,5,5">
<Grid>
<TextBlock HorizontalAlignment="Center" Margin="0,-20,0,0" TextWrapping="Wrap" Text="保持寄存器" VerticalAlignment="Top"/>
<DataGrid IsEnabled="{Binding Enabled2}" HeadersVisibility="All"
ItemsSource="{Binding List3}"
IsReadOnly="True"
IsHitTestVisible="False"
Background="White" BorderThickness="1"
RowHeight="30" AutoGenerateColumns="False"
SelectionMode="Single">
<DataGrid.Columns>
<DataGridTextColumn
Width="*"
x:DataType="vm:MyDataGrid"
Binding="{Binding Address}"
Header="地址" />
<DataGridTextColumn
Width="*"
x:DataType="vm:MyDataGrid"
Binding="{Binding Value2}"
Header="数据" />
</DataGrid.Columns>
</DataGrid>
</Grid>
</Border>
<Border Theme="{StaticResource CardBorder}" Grid.Column="3" Margin="5,5,5,5">
<Grid>
<TextBlock HorizontalAlignment="Center" Margin="0,-20,0,0" TextWrapping="Wrap" Text="输入寄存器" VerticalAlignment="Top"/>
<DataGrid IsEnabled="{Binding Enabled2}" HeadersVisibility="All"
ItemsSource="{Binding List4}"
IsReadOnly="True"
IsHitTestVisible="False"
Background="White" BorderThickness="1"
RowHeight="30" AutoGenerateColumns="False"
SelectionMode="Single">
<DataGrid.Columns>
<DataGridTextColumn
Width="*"
x:DataType="vm:MyDataGrid"
Binding="{Binding Address}"
Header="地址" />
<DataGridTextColumn
Width="*"
x:DataType="vm:MyDataGrid"
Binding="{Binding Value2}"
Header="数据" />
</DataGrid.Columns>
</DataGrid>
</Grid>
</Border>
</Grid>
<Border Theme="{StaticResource CardBorder}" Grid.Row="2">
<Grid>
<TextBlock HorizontalAlignment="Center" Margin="0,-20,0,0" TextWrapping="Wrap" Text="运行日志" VerticalAlignment="Top"/>
<TextBox x:Name="TBInfo" Height="130" TextWrapping="Wrap" ScrollViewer.VerticalScrollBarVisibility="Auto" Text="{Binding Message}" Margin="5,0,5,0" HorizontalContentAlignment="Left" VerticalContentAlignment="Top">
<i:Interaction.Behaviors>
<DataTriggerBehavior Binding="{Binding Text.Length, ElementName=TBInfo}" ComparisonCondition="NotEqual" Value="0">
<ChangePropertyAction TargetObject="TBInfo" PropertyName="CaretIndex" Value="{Binding ElementName=TBInfo, Path=Text.Length}"/>
<CallMethodAction MethodName="ScrollToHome" />
</DataTriggerBehavior>
</i:Interaction.Behaviors>
</TextBox>
</Grid>
</Border>
</Grid>
</UserControl>

View File

@@ -0,0 +1,13 @@
using Avalonia;
using Avalonia.Controls;
using Avalonia.Markup.Xaml;
namespace ;
public partial class Modbus服务 : UserControl
{
public Modbus服务()
{
InitializeComponent();
}
}

View File

@@ -0,0 +1,90 @@
<UserControl xmlns="https://github.com/avaloniaui"
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"
mc:Ignorable="d" d:DesignHeight="600" d:DesignWidth="715"
xmlns:vm ="clr-namespace:常用工具集.ViewModel._01PLC通信调试"
x:Class="常用工具集.Modbus调试1"
x:CompileBindings="True"
x:DataType="vm:Modbus调试1ViewModel">
<UserControl.DataContext>
<vm:Modbus调试1ViewModel />
</UserControl.DataContext>
<Grid>
<TextBlock HorizontalAlignment="Left" Margin="25,21,0,0" TextWrapping="Wrap" Text="IP地址:" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled1}" HorizontalAlignment="Left" Margin="75,15,0,0" TextWrapping="Wrap" Text="{Binding IpAddress}" VerticalAlignment="Top" Width="125" />
<TextBlock HorizontalAlignment="Left" Margin="225,21,0,0" TextWrapping="Wrap" Text="端口号:" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled1}" HorizontalAlignment="Left" Margin="275,15,0,0" TextWrapping="Wrap" Text="{Binding Port}" VerticalAlignment="Top" Width="86" />
<Button IsEnabled="{Binding Enabled1}" Content="连接" Command="{Binding ConnectCmd}" HorizontalAlignment="Left" Margin="465,15,0,0" VerticalAlignment="Top" Width="85" />
<Button IsEnabled="{Binding Enabled2}" Content="断开连接" Command="{Binding DisconnectCmd}" HorizontalAlignment="Left" Margin="560,15,0,0" VerticalAlignment="Top" Width="85" />
<Border Theme="{StaticResource CardBorder}" Width="310" Height="450" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="10,50,0,0">
<Grid>
<TextBlock HorizontalAlignment="Left" Margin="0,-20,0,0" TextWrapping="Wrap" Text="读操作" VerticalAlignment="Top"/>
<TextBlock HorizontalAlignment="Left" Margin="20,31,0,0" TextWrapping="Wrap" Text="读取地址:" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled1}" Margin="100,25,0,0" TextWrapping="Wrap" Text="{Binding ReadAddress}" HorizontalAlignment="Left" VerticalAlignment="Top" Width="85" />
<TextBlock HorizontalAlignment="Left" Margin="20,64,0,0" TextWrapping="Wrap" Text="读取数量:" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled2}" HorizontalAlignment="Left" Margin="100,58,0,0" TextWrapping="Wrap" Text="{Binding ReadCount}" VerticalAlignment="Top" Width="85" />
<Button IsEnabled="{Binding Enabled2}" Content="读线圈寄存器" Command="{Binding ReadCmd}" CommandParameter="1" HorizontalAlignment="Left" Margin="97,115,0,0" VerticalAlignment="Top" Width="110" />
<TextBlock HorizontalAlignment="Left" Margin="10,161,0,0" TextWrapping="Wrap" Text="读取结果:" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled2}" HorizontalAlignment="Left" Margin="90,155,0,0" TextWrapping="Wrap" Text="{Binding ReadResult1}" VerticalAlignment="Top" Width="195"/>
<Button IsEnabled="{Binding Enabled2}" Content="读状态寄存器" Command="{Binding ReadCmd}" CommandParameter="2" HorizontalAlignment="Left" Width="110" Margin="97,200,0,0" VerticalAlignment="Top"/>
<TextBlock HorizontalAlignment="Left" Margin="10,245,0,0" TextWrapping="Wrap" Text="读取结果:" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled1}" HorizontalAlignment="Left" Margin="90,239,0,0" TextWrapping="Wrap" Text="{Binding ReadResult2}" VerticalAlignment="Top" Width="195"/>
<Button IsEnabled="{Binding Enabled2}" Content="读保持寄存器" Command="{Binding ReadCmd}" CommandParameter="3" HorizontalAlignment="Left" Width="110" Margin="97,277,0,0" VerticalAlignment="Top" />
<TextBlock HorizontalAlignment="Left" Margin="10,318,0,0" TextWrapping="Wrap" Text="读取结果:" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled1}" HorizontalAlignment="Left" Margin="90,312,0,0" TextWrapping="Wrap" Text="{Binding ReadResult3}" VerticalAlignment="Top" Width="195"/>
<Button IsEnabled="{Binding Enabled2}" Content="读输入寄存器" Command="{Binding ReadCmd}" CommandParameter="4" HorizontalAlignment="Left" Width="110" Margin="97,345,0,0" VerticalAlignment="Top" />
<TextBlock HorizontalAlignment="Left" Margin="10,388,0,0" TextWrapping="Wrap" Text="读取结果:" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled1}" HorizontalAlignment="Left" Margin="90,380,0,0" TextWrapping="Wrap" Text="{Binding ReadResult4}" VerticalAlignment="Top" Width="195"/>
</Grid>
</Border>
<Border Theme="{StaticResource CardBorder}" Width="338" Height="450" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="340,50,0,0">
<Grid>
<TextBlock HorizontalAlignment="Left" Margin="0,-20,0,0" TextWrapping="Wrap" Text="写操作" VerticalAlignment="Top"/>
<TextBlock HorizontalAlignment="Left" Margin="20,31,0,0" TextWrapping="Wrap" Text="写入地址:" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled2}" HorizontalAlignment="Left" Margin="100,25,0,0" TextWrapping="Wrap" Text="{Binding WriteAddress}" VerticalAlignment="Top" Width="85" />
<Button IsEnabled="{Binding Enabled2}" Content="写单线圈寄存器" Command="{Binding WriteCmd}" CommandParameter="1" HorizontalAlignment="Left" Margin="-10,88,0,0" VerticalAlignment="Top" Width="125" />
<TextBlock HorizontalAlignment="Left" Margin="122,93,0,0" TextWrapping="Wrap" Text="写入数据:" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled2}" HorizontalAlignment="Left" Margin="202,87,0,0" TextWrapping="Wrap" Text="{Binding WriteValue1}" VerticalAlignment="Top" Width="40" />
<TextBlock HorizontalAlignment="Left" Margin="254,94,0,0" TextWrapping="Wrap" Text="0或1" Foreground="Red" VerticalAlignment="Top" Width="45" />
<Button IsEnabled="{Binding Enabled2}" Content="写单保持寄存器" Command="{Binding WriteCmd}" CommandParameter="2" HorizontalAlignment="Left" Margin="-10,141,0,0" VerticalAlignment="Top" Width="125" />
<TextBlock HorizontalAlignment="Left" Margin="122,146,0,0" TextWrapping="Wrap" Text="写入数据:" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled2}" HorizontalAlignment="Left" Margin="190,140,0,0" TextWrapping="Wrap" Text="{Binding WriteValue2}" VerticalAlignment="Top" Width="60" />
<TextBlock HorizontalAlignment="Left" Margin="254,147,0,0" TextWrapping="Wrap" Text="ushort类型" Foreground="Red" VerticalAlignment="Top" Width="67" />
<Button IsEnabled="{Binding Enabled2}" Content="写多线圈寄存器" Command="{Binding WriteCmd}" CommandParameter="3" HorizontalAlignment="Left" Margin="-10,216,0,0" VerticalAlignment="Top" Width="125" />
<TextBlock HorizontalAlignment="Left" Margin="128,222,0,0" TextWrapping="Wrap" Text="(bool类型空格分开 0和1表示)" Foreground="Red" VerticalAlignment="Top" Width="193" />
<TextBlock HorizontalAlignment="Left" Margin="16,255,0,0" TextWrapping="Wrap" Text="写入数据:" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled2}" HorizontalAlignment="Left" Margin="86,249,0,0" TextWrapping="Wrap" Text="{Binding WriteValue3}" VerticalAlignment="Top" Width="185" />
<Button IsEnabled="{Binding Enabled2}" Content="写多保持寄存器" Command="{Binding WriteCmd}" CommandParameter="4" HorizontalAlignment="Left" Margin="-10,308,0,0" VerticalAlignment="Top" Width="125" />
<TextBlock HorizontalAlignment="Left" Margin="128,314,0,0" TextWrapping="Wrap" Text="(ushort类型空格分开)" Foreground="Red" VerticalAlignment="Top" Width="193" />
<TextBlock HorizontalAlignment="Left" Margin="16,347,0,0" TextWrapping="Wrap" Text="写入数据:" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled2}" HorizontalAlignment="Left" Margin="86,341,0,0" TextWrapping="Wrap" Text="{Binding WriteValue4}" VerticalAlignment="Top" Width="185" />
</Grid>
</Border>
</Grid>
</UserControl>

View File

@@ -0,0 +1,13 @@
using Avalonia;
using Avalonia.Controls;
using Avalonia.Markup.Xaml;
namespace ;
public partial class Modbus调试1 : UserControl
{
public Modbus调试1()
{
InitializeComponent();
}
}

View File

@@ -0,0 +1,87 @@
<UserControl xmlns="https://github.com/avaloniaui"
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"
mc:Ignorable="d" d:DesignHeight="600" d:DesignWidth="715"
xmlns:vm ="clr-namespace:常用工具集.ViewModel._01PLC通信调试"
x:Class="常用工具集.Modbus调试2"
x:CompileBindings="True"
x:DataType="vm:Modbus调试2ViewModel">
<UserControl.DataContext>
<vm:Modbus调试2ViewModel />
</UserControl.DataContext>
<Grid>
<TextBlock HorizontalAlignment="Left" Margin="25,21,0,0" TextWrapping="Wrap" Text="IP地址:" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled1}" HorizontalAlignment="Left" Margin="75,15,0,0" TextWrapping="Wrap" Text="{Binding IpAddress}" VerticalAlignment="Top" Width="125" />
<TextBlock HorizontalAlignment="Left" Margin="225,21,0,0" TextWrapping="Wrap" Text="端口号:" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled1}" HorizontalAlignment="Left" Margin="275,15,0,0" TextWrapping="Wrap" Text="{Binding Port}" VerticalAlignment="Top" Width="86" />
<Button IsEnabled="{Binding Enabled1}" Content="连接" Command="{Binding ConnectCmd}" HorizontalAlignment="Left" Margin="465,15,0,0" VerticalAlignment="Top" Width="90" />
<Button IsEnabled="{Binding Enabled2}" Content="断开连接" Command="{Binding DisconnectCmd}" HorizontalAlignment="Left" Margin="560,15,0,0" VerticalAlignment="Top" Width="90" />
<Border Theme="{StaticResource CardBorder}" Width="680" Height="480" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="10,50,0,0">
<Grid>
<TextBlock HorizontalAlignment="Left" Margin="0,-20,0,0" TextWrapping="Wrap" Text="读写操作" VerticalAlignment="Top"/>
<TextBlock HorizontalAlignment="Left" VerticalAlignment="Top" Text="地址:" Margin="20,31,0,0" />
<TextBox IsEnabled="{Binding Enabled2}" HorizontalAlignment="Left" Margin="60,25,0,0" TextWrapping="Wrap" Text="{Binding Address}" VerticalAlignment="Top" Width="125" />
<TextBlock HorizontalAlignment="Left" VerticalAlignment="Top" Text="字符串长度:" Margin="10,271,0,0" />
<TextBox IsEnabled="{Binding Enabled2}" HorizontalAlignment="Left" Margin="90,265,0,0" TextWrapping="Wrap" Text="{Binding StringLength}" VerticalAlignment="Top" Width="115" />
<TextBlock HorizontalAlignment="Left" Margin="10,298,0,0" TextWrapping="Wrap" Text="注意:非地址长度,一个地址两个字符" Foreground="Red" VerticalAlignment="Top" Width="245" />
<!-- 读写int16 -->
<Button IsEnabled="{Binding Enabled2}" Content="读int16" Command="{Binding ReadCmd}" CommandParameter="INT16" HorizontalAlignment="Left" Margin="237,25,0,0" VerticalAlignment="Top" Width="90" />
<TextBox IsEnabled="{Binding Enabled2}" HorizontalAlignment="Left" Margin="335,25,0,0" TextWrapping="Wrap" Text="{Binding Int16Value}" VerticalAlignment="Top" Width="135" />
<Button IsEnabled="{Binding Enabled2}" Content="写int16" Command="{Binding WriteCmd}" CommandParameter="INT16" HorizontalAlignment="Left" Margin="475,25,0,0" VerticalAlignment="Top" RenderTransformOrigin="0.582,0.67" Width="90" />
<!-- 读写float -->
<Button IsEnabled="{Binding Enabled2}" Content="读single" Command="{Binding ReadCmd}" CommandParameter="REAL" HorizontalAlignment="Left" Margin="237,70,0,0" VerticalAlignment="Top" Width="90" />
<TextBox IsEnabled="{Binding Enabled2}" Text="{Binding RealValue}" HorizontalAlignment="Left" Margin="335,70,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="135" />
<Button IsEnabled="{Binding Enabled2}" Content="写single" Command="{Binding WriteCmd}" CommandParameter="REAL" HorizontalAlignment="Left" Margin="475,70,0,0" VerticalAlignment="Top" RenderTransformOrigin="0.582,0.67" Width="90" />
<!-- 读写int32 -->
<Button IsEnabled="{Binding Enabled2}" Content="读int32" Command="{Binding ReadCmd}" CommandParameter="INT32" HorizontalAlignment="Left" Margin="237,115,0,0" VerticalAlignment="Top" Width="90" />
<TextBox IsEnabled="{Binding Enabled2}" Text="{Binding Int32Value}" HorizontalAlignment="Left" Margin="335,115,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="135" />
<Button IsEnabled="{Binding Enabled2}" Content="写int32" Command="{Binding WriteCmd}" CommandParameter="INT32" HorizontalAlignment="Left" Margin="475,115,0,0" VerticalAlignment="Top" RenderTransformOrigin="0.582,0.67" Width="90" />
<!-- 读写int64 -->
<Button IsEnabled="{Binding Enabled2}" Content="读int64" Command="{Binding ReadCmd}" CommandParameter="INT64" HorizontalAlignment="Left" Margin="237,160,0,0" VerticalAlignment="Top" Width="90" />
<TextBox IsEnabled="{Binding Enabled2}" Text="{Binding LongValue}" HorizontalAlignment="Left" Margin="335,160,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="135" />
<Button IsEnabled="{Binding Enabled2}" Content="写int64" Command="{Binding WriteCmd}" CommandParameter="INT64" HorizontalAlignment="Left" Margin="475,160,0,0" VerticalAlignment="Top" RenderTransformOrigin="0.582,0.67" Width="90" />
<!-- 读写double -->
<Button IsEnabled="{Binding Enabled2}" Content="读double" Command="{Binding ReadCmd}" CommandParameter="DOUBLE" HorizontalAlignment="Left" Margin="237,205,0,0" VerticalAlignment="Top" Width="90" />
<TextBox IsEnabled="{Binding Enabled2}" Text="{Binding DoubleValue}" HorizontalAlignment="Left" Margin="335,205,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="135" />
<Button IsEnabled="{Binding Enabled2}" Content="写double" Command="{Binding WriteCmd}" CommandParameter="DOUBLE" HorizontalAlignment="Left" Margin="475,205,0,0" VerticalAlignment="Top" RenderTransformOrigin="0.582,0.67" Width="90" />
<!-- 读写string -->
<Button IsEnabled="{Binding Enabled2}" Content="读string" Command="{Binding ReadCmd}" CommandParameter="STRING" HorizontalAlignment="Left" Margin="237,261,0,0" VerticalAlignment="Top" Width="80" />
<TextBox IsEnabled="{Binding Enabled2}" Text="{Binding StringValue}" HorizontalAlignment="Left" Margin="335,261,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="135" />
<Button IsEnabled="{Binding Enabled2}" Content="写string" Command="{Binding WriteCmd}" CommandParameter="STRING" HorizontalAlignment="Left" Margin="475,261,0,0" VerticalAlignment="Top" RenderTransformOrigin="0,0.634" Width="80" />
<TextBlock HorizontalAlignment="Left" VerticalAlignment="Top" Text="数据:" Margin="18,346,0,0" />
<TextBox Text="{Binding ReadedValue}" HorizontalAlignment="Left" Margin="58,340,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="180" />
<TextBlock HorizontalAlignment="Left" VerticalAlignment="Top" Text="信息:" Margin="18,389,0,0" />
<TextBox Text="{Binding Message}" HorizontalAlignment="Left" Margin="58,383,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="180" />
<TextBlock HorizontalAlignment="Left" VerticalAlignment="Top" Text="发送的数据:" Margin="260,346,0,0" />
<TextBox Text="{Binding SendedBytesValue}" HorizontalAlignment="Left" Margin="340,340,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="295"/>
<TextBlock HorizontalAlignment="Left" VerticalAlignment="Top" Text="接收的数据:" Margin="260,389,0,0" />
<TextBox Text="{Binding RecivedBytesValue}" HorizontalAlignment="Left" Margin="340,383,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="295" />
<TextBlock HorizontalAlignment="Left" Margin="560,31,0,0" TextWrapping="Wrap" Text="short一个地址" Foreground="Red" VerticalAlignment="Top" Width="85" />
<TextBlock HorizontalAlignment="Left" Margin="560,76,0,0" TextWrapping="Wrap" Text="float两个地址" Foreground="Red" VerticalAlignment="Top" Width="85" />
<TextBlock HorizontalAlignment="Left" Margin="560,121,0,0" TextWrapping="Wrap" Text="int两个地址" Foreground="Red" VerticalAlignment="Top" Width="85" />
<TextBlock HorizontalAlignment="Left" Margin="560,166,0,0" TextWrapping="Wrap" Text="long四个地址" Foreground="Red" VerticalAlignment="Top" Width="85" />
<TextBlock HorizontalAlignment="Left" Margin="560,211,0,0" TextWrapping="Wrap" Text="long四个地址" Foreground="Red" VerticalAlignment="Top" Width="85" />
</Grid>
</Border>
</Grid>
</UserControl>

View File

@@ -0,0 +1,13 @@
using Avalonia;
using Avalonia.Controls;
using Avalonia.Markup.Xaml;
namespace ;
public partial class Modbus调试2 : UserControl
{
public Modbus调试2()
{
InitializeComponent();
}
}

View File

@@ -0,0 +1,70 @@
<UserControl xmlns="https://github.com/avaloniaui"
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"
mc:Ignorable="d" d:DesignHeight="600" d:DesignWidth="725"
xmlns:vm ="clr-namespace:常用工具集.ViewModel._01PLC通信调试"
x:Class="常用工具集.OPCUA调试"
x:CompileBindings="True"
x:DataType="vm:OPCUA调试ViewModel">
<UserControl.DataContext>
<vm:OPCUA调试ViewModel />
</UserControl.DataContext>
<Grid>
<!--<Button Content="打开Browser" Command="{Binding OpenBrowerCmd}" HorizontalAlignment="Left" Margin="26,10,0,0" VerticalAlignment="Top" Width="100" />-->
<TextBlock HorizontalAlignment="Left" Margin="26,64,0,0" TextWrapping="Wrap" Text="OPC UA服务器:" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled1}" Text="{Binding OpcServer}" HorizontalAlignment="Left" Margin="126,58,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="389" />
<Button IsEnabled="{Binding Enabled1}" Content="连接" Command="{Binding ConnectCmd}" HorizontalAlignment="Left" Margin="526,60,0,0" VerticalAlignment="Top" Width="85" />
<Button IsEnabled="{Binding Enabled2}" Content="断开连接" Command="{Binding DisconnectCmd}" HorizontalAlignment="Left" Margin="617,60,0,0" VerticalAlignment="Top" Width="85" />
<TextBlock HorizontalAlignment="Left" Margin="60,102,0,0" TextWrapping="Wrap" Text="节点标识:" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled2}" Text="{Binding Node}" VerticalContentAlignment="Top" HorizontalContentAlignment="Left" Height="74" HorizontalAlignment="Left" Margin="140,96,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="374" />
<Button IsEnabled="{Binding Enabled2}" Content="订阅节点" Command="{Binding SubscribeCmd}" HorizontalAlignment="Left" Margin="525,119,0,0" VerticalAlignment="Top" Width="85" />
<TextBlock HorizontalAlignment="Left" Margin="76,180,0,0" TextWrapping="Wrap" Text="输入样例 ns=2,s=通道名.设备名.变量名详细的节点标识请打开Browser" Foreground="Red" VerticalAlignment="Top" Width="460" />
<TextBlock HorizontalAlignment="Left" Margin="60,226,0,0" TextWrapping="Wrap" Text="读取结果:" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled2}" Text="{Binding Result}" HorizontalAlignment="Left" Margin="140,220,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="95" />
<Button IsEnabled="{Binding Enabled2}" Content="读取" Command="{Binding ReadValueCmd}" HorizontalAlignment="Left" Margin="251,221,0,0" VerticalAlignment="Top" Width="76" />
<TextBlock HorizontalAlignment="Left" Margin="342,226,0,0" TextWrapping="Wrap" Text="写入值:" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled2}" Text="{Binding WriteValue}" HorizontalAlignment="Left" Margin="412,220,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="104" />
<Button IsEnabled="{Binding Enabled2}" Content="写入bool" Command="{Binding WriteValueCmd}" CommandParameter="bool" HorizontalAlignment="Left" Margin="510,191,0,0" VerticalAlignment="Top" Width="110" />
<Button IsEnabled="{Binding Enabled2}" Content="写入int16" Command="{Binding WriteValueCmd}" CommandParameter="int16" HorizontalAlignment="Left" Margin="510,224,0,0" VerticalAlignment="Top" Width="110" />
<Button IsEnabled="{Binding Enabled2}" Content="写入uint16" Command="{Binding WriteValueCmd}" CommandParameter="uint16" HorizontalAlignment="Left" Margin="510,257,0,0" VerticalAlignment="Top" Width="110" />
<Button IsEnabled="{Binding Enabled2}" Content="写入int32" Command="{Binding WriteValueCmd}" CommandParameter="int32" HorizontalAlignment="Left" Margin="510,290,0,0" VerticalAlignment="Top" Width="110" />
<Button IsEnabled="{Binding Enabled2}" Content="写入int64" Command="{Binding WriteValueCmd}" CommandParameter="int64" HorizontalAlignment="Left" Margin="625,191,0,0" VerticalAlignment="Top" Width="110" />
<Button IsEnabled="{Binding Enabled2}" Content="写入float" Command="{Binding WriteValueCmd}" CommandParameter="float" HorizontalAlignment="Left" Margin="625,224,0,0" VerticalAlignment="Top" Width="110" />
<Button IsEnabled="{Binding Enabled2}" Content="写入double" Command="{Binding WriteValueCmd}" CommandParameter="double" HorizontalAlignment="Left" Margin="625,257,0,0" VerticalAlignment="Top" Width="110" />
<Button IsEnabled="{Binding Enabled2}" Content="取消订阅" Command="{Binding CancelSubscribeCmd}" HorizontalAlignment="Left" Margin="521,342,0,0" VerticalAlignment="Top" Width="90" />
<TextBlock HorizontalAlignment="Left" Margin="47,496,0,0" TextWrapping="Wrap" Text="选中节点值:" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled2}" Text="{Binding SelecedValue}" HorizontalAlignment="Left" Margin="147,490,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="190" />
<DataGrid IsEnabled="{Binding Enabled2}" Margin="62,266,0,0" HeadersVisibility="All" VerticalAlignment="Top" HorizontalAlignment="Left"
ItemsSource="{Binding NodeList}" Height="209" Width="432"
SelectedIndex="{Binding SelectedIndex}"
IsReadOnly="True"
IsHitTestVisible="False"
Background="White" BorderThickness="1"
RowHeight="30" AutoGenerateColumns="False"
SelectionMode="Single">
<DataGrid.Columns>
<DataGridTextColumn
Width="*"
x:DataType="vm:MyNode"
Binding="{Binding NodeName}"
Header="已订阅节点" />
</DataGrid.Columns>
</DataGrid>
</Grid>
</UserControl>

View File

@@ -0,0 +1,13 @@
using Avalonia;
using Avalonia.Controls;
using Avalonia.Markup.Xaml;
namespace ;
public partial class OPCUA调试 : UserControl
{
public OPCUA调试()
{
InitializeComponent();
}
}

View File

@@ -0,0 +1,84 @@
<UserControl xmlns="https://github.com/avaloniaui"
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"
mc:Ignorable="d" d:DesignHeight="680" d:DesignWidth="815"
xmlns:vm ="clr-namespace:常用工具集.ViewModel._01PLC通信调试"
xmlns:i="clr-namespace:Avalonia.Xaml.Interactivity;assembly=Avalonia.Xaml.Interactivity"
x:Class="常用工具集.Socket调试"
x:CompileBindings="True"
x:DataType="vm:Socket调试ViewModel">
<!-- xmlns:b="clr-namespace:Avalonia.Xaml.Behaviors;assembly=Avalonia.Xaml.Behaviors" -->
<UserControl.DataContext>
<vm:Socket调试ViewModel />
</UserControl.DataContext>
<Grid>
<Border Theme="{StaticResource CardBorder}" HorizontalAlignment="Left" VerticalAlignment="Top" Height="324" Width="225" Margin="10,10,0,0">
<Grid>
<TextBlock HorizontalAlignment="Left" Margin="0,-20,0,0" TextWrapping="Wrap" Text="网络设置" VerticalAlignment="Top"/>
<TextBlock HorizontalAlignment="Left" Margin="5,16,0,0" TextWrapping="Wrap" Text="IP地址" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled1}" HorizontalAlignment="Left" Margin="50,10,0,0" TextWrapping="Wrap" Text="{Binding IpAddress}" VerticalAlignment="Top" Width="140" />
<TextBlock HorizontalAlignment="Left" Margin="15,63,0,0" TextWrapping="Wrap" Text="端口" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled1}" HorizontalAlignment="Left" Margin="50,57,0,0" TextWrapping="Wrap" Text="{Binding Port}" VerticalAlignment="Top" Width="140" />
<TextBlock HorizontalAlignment="Left" Margin="15,96,0,0" TextWrapping="Wrap" Text="超时" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled1}" HorizontalAlignment="Left" Margin="50,90,0,0" TextWrapping="Wrap" Text="{Binding Timeout}" VerticalAlignment="Top" Width="140" />
<Button Content="{Binding ButtonText}" Command="{Binding OpenSerialCmd}" Width="75" />
</Grid>
</Border>
<Border Theme="{StaticResource CardBorder}" HorizontalAlignment="Left" VerticalAlignment="Top" Height="70" Width="225" Margin="10,350,0,0">
<Grid>
<TextBlock HorizontalAlignment="Left" Margin="0,-20,0,0" TextWrapping="Wrap" Text="接收设置" VerticalAlignment="Top"/>
<RadioButton Height="20" Content="ASCII" IsChecked="{Binding ReciveASCChecked}" HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top"/>
<RadioButton Height="20" Content="HEX" IsChecked="{Binding ReciveHexChecked}" HorizontalAlignment="Left" Margin="97,10,0,0" VerticalAlignment="Top"/>
</Grid>
</Border>
<Border Theme="{StaticResource CardBorder}" HorizontalAlignment="Left" VerticalAlignment="Top" Height="230" Width="225" Margin="10,425,0,0">
<Grid>
<TextBlock HorizontalAlignment="Left" Margin="0,-20,0,0" TextWrapping="Wrap" Text="发送设置" VerticalAlignment="Top"/>
<RadioButton Height="20" Content="ASCII" IsChecked="{Binding SendASCChecked}" HorizontalAlignment="Left" Margin="0,10,0,0" VerticalAlignment="Top"/>
<RadioButton Height="20" Content="HEX" IsChecked="{Binding SendHexChecked}" HorizontalAlignment="Left" Margin="87,10,0,0" VerticalAlignment="Top"/>
<CheckBox IsChecked="{Binding ConvertChecked}" Content="自动解析转义符" Margin="0,43,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" Height="25" RenderTransformOrigin="0.24,-0.2" />
<TextBlock HorizontalAlignment="Left" FontSize="9" Margin="120,35,0,0" TextWrapping="Wrap" Text="\r回车符 0x0D" Foreground="Red" VerticalAlignment="Top" Width="105" />
<TextBlock HorizontalAlignment="Left" FontSize="9" Margin="120,51,0,0" TextWrapping="Wrap" Text="\n换行符 0x0A" Foreground="Red" VerticalAlignment="Top" Width="105" />
<TextBlock HorizontalAlignment="Left" FontSize="9" Margin="120,67,0,0" TextWrapping="Wrap" Text="\t水平制表符 0x09" Foreground="Red" VerticalAlignment="Top" Width="105" />
<TextBlock HorizontalAlignment="Left" FontSize="9" Margin="120,81,0,0" TextWrapping="Wrap" Text="\v垂直制表符 0x0B" Foreground="Red" VerticalAlignment="Top" Width="105" />
<TextBlock HorizontalAlignment="Left" FontSize="9" Margin="120,98,0,0" TextWrapping="Wrap" Text="\a响铃(BEL) 0x07" Foreground="Red" VerticalAlignment="Top" Width="105" />
<TextBlock HorizontalAlignment="Left" FontSize="9" Margin="120,114,0,0" TextWrapping="Wrap" Text="\b退格符(BS) 0x08" Foreground="Red" VerticalAlignment="Top" Width="105" />
<TextBlock HorizontalAlignment="Left" FontSize="9" Margin="120,128,0,0" TextWrapping="Wrap" Text="\f换页符(FF) 0x0C" Foreground="Red" VerticalAlignment="Top" Width="105" />
<CheckBox IsChecked="{Binding CycleChecked}" Content="循环发送" Margin="0,115,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" Height="25" RenderTransformOrigin="0.24,-0.2" Width="81" />
<TextBlock HorizontalAlignment="Left" Margin="10,151,0,0" TextWrapping="Wrap" Text="循环周期" VerticalAlignment="Top"/>
<TextBox HorizontalAlignment="Left" Margin="90,145,0,0" TextWrapping="Wrap" Text="{Binding CycleTime}" VerticalAlignment="Top" Width="53" />
<TextBlock HorizontalAlignment="Left" Margin="148,151,0,0" TextWrapping="Wrap" Text="ms" VerticalAlignment="Top" Width="24" />
</Grid>
</Border>
<Border Theme="{StaticResource CardBorder}" HorizontalAlignment="Left" VerticalAlignment="Top" Height="374" Width="535" Margin="250,10,0,0">
<Grid>
<TextBlock HorizontalAlignment="Left" Margin="0,-20,0,0" TextWrapping="Wrap" Text="数据日志" VerticalAlignment="Top"/>
<TextBox x:Name="TBInfo" TextWrapping="Wrap" ScrollViewer.VerticalScrollBarVisibility="Auto" Text="{Binding Message}" Margin="10,0,10,0" HorizontalContentAlignment="Left" VerticalContentAlignment="Top" Height="330">
<i:Interaction.Behaviors>
<DataTriggerBehavior Binding="{Binding Text.Length, ElementName=TBInfo}" ComparisonCondition="NotEqual" Value="0">
<ChangePropertyAction TargetObject="TBInfo" PropertyName="CaretIndex" Value="{Binding ElementName=TBInfo, Path=Text.Length}"/>
<CallMethodAction MethodName="ScrollToEnd" />
</DataTriggerBehavior>
</i:Interaction.Behaviors>
</TextBox>
</Grid>
</Border>
<Border Theme="{StaticResource CardBorder}" HorizontalAlignment="Left" VerticalAlignment="Top" Height="210" Width="535" Margin="250,425,0,0">
<Grid>
<TextBlock HorizontalAlignment="Left" Margin="0,-20,0,0" TextWrapping="Wrap" Text="数据发送" VerticalAlignment="Top"/>
<TextBox TextWrapping="Wrap" Height="170" ScrollViewer.VerticalScrollBarVisibility="Auto" Text="{Binding SendContent}" Margin="10,15,75,10" HorizontalContentAlignment="Left" VerticalContentAlignment="Top" />
<Button Content="发送" IsEnabled="{Binding Enabled2}" Command="{Binding SendCmd}" Margin="430,57,0,0" VerticalAlignment="Top" Width="60" HorizontalAlignment="Left" Height="78" />
</Grid>
</Border>
<Button Content="清除👆" Command="{Binding ClearReciveCmd}" Margin="420,389,0,0" VerticalAlignment="Top" Width="75" HorizontalAlignment="Left" />
<Button Content="清除👇" Command="{Binding ClearSendCmd}" Margin="518,389,0,0" VerticalAlignment="Top" Width="74" HorizontalAlignment="Left" />
</Grid>
</UserControl>

View File

@@ -0,0 +1,13 @@
using Avalonia;
using Avalonia.Controls;
using Avalonia.Markup.Xaml;
namespace ;
public partial class Socket调试 : UserControl
{
public Socket调试()
{
InitializeComponent();
}
}

View File

@@ -0,0 +1,85 @@
<UserControl xmlns="https://github.com/avaloniaui"
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"
mc:Ignorable="d" d:DesignHeight="600" d:DesignWidth="715"
xmlns:vm ="clr-namespace:常用工具集.ViewModel._01PLC通信调试"
x:Class="常用工具集.三菱MC协议l"
x:CompileBindings="True"
x:DataType="vm:三菱MC协议ViewModel">
<UserControl.DataContext>
<vm:三菱MC协议ViewModel />
</UserControl.DataContext>
<Grid>
<TextBlock HorizontalAlignment="Left" Margin="25,21,0,0" TextWrapping="Wrap" Text="IP地址:" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled1}" HorizontalAlignment="Left" Margin="75,15,0,0" TextWrapping="Wrap" Text="{Binding IpAddress}" VerticalAlignment="Top" Width="125" />
<TextBlock HorizontalAlignment="Left" Margin="225,21,0,0" TextWrapping="Wrap" Text="端口号:" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled1}" HorizontalAlignment="Left" Margin="275,15,0,0" TextWrapping="Wrap" Text="{Binding Port}" VerticalAlignment="Top" Width="86" />
<TextBlock HorizontalAlignment="Left" Margin="358,21,0,0" TextWrapping="Wrap" Text="MC帧:" VerticalAlignment="Top"/>
<ComboBox IsEnabled="{Binding Enabled1}" HorizontalAlignment="Left" VerticalAlignment="Top" SelectedIndex="{Binding MCIndex}" ItemsSource="{Binding MCList}" Margin="408,15,0,0" Width="84" />
<Button IsEnabled="{Binding Enabled1}" Content="连接" Command="{Binding ConnectCmd}" HorizontalAlignment="Left" Margin="530,14,0,0" VerticalAlignment="Top" Width="90" />
<Button IsEnabled="{Binding Enabled2}" Content="断开连接" Command="{Binding DisconnectCmd}" HorizontalAlignment="Left" Margin="625,14,0,0" VerticalAlignment="Top" Width="90" />
<Border Theme="{StaticResource CardBorder}" Width="680" Height="480" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="10,50,0,0">
<Grid>
<TextBlock HorizontalAlignment="Left" Margin="0,-20,0,0" TextWrapping="Wrap" Text="读写操作" VerticalAlignment="Top"/>
<TextBlock HorizontalAlignment="Left" Margin="80,43,0,0" TextWrapping="Wrap" Text="地址:" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled2}" HorizontalAlignment="Left" Margin="120,35,0,0" TextWrapping="Wrap" Text="{Binding Address}" VerticalAlignment="Top" Width="125"/>
<TextBlock HorizontalAlignment="Left" Margin="40,88,0,0" TextWrapping="Wrap" Text="BOOL类型M139" Foreground="Red" VerticalAlignment="Top" Width="135" />
<TextBlock HorizontalAlignment="Left" Margin="40,128,0,0" TextWrapping="Wrap" Text="REAL类型D100" Foreground="Red" VerticalAlignment="Top" Width="135" />
<TextBlock HorizontalAlignment="Left" Margin="40,178,0,0" TextWrapping="Wrap" Text="INT16类型D100" Foreground="Red" VerticalAlignment="Top" Width="135" />
<TextBlock HorizontalAlignment="Left" Margin="40,0,0,0" TextWrapping="Wrap" Text="String类型D100" Foreground="Red" VerticalAlignment="Center" Width="135" />
<TextBlock HorizontalAlignment="Left" Margin="40,288,0,0" TextWrapping="Wrap" Text="字符串长度:" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled2}" HorizontalAlignment="Left" Margin="120,280,0,0" TextWrapping="Wrap" Text="{Binding StringLength}" VerticalAlignment="Top" Width="125" />
<!-- 读写Bool -->
<Button IsEnabled="{Binding Enabled2}" Content="读bool" Command="{Binding ReadCmd}" CommandParameter="BOOL" HorizontalAlignment="Left" Margin="252,69,0,0" VerticalAlignment="Top" Width="110" />
<TextBox IsEnabled="{Binding Enabled2}" HorizontalAlignment="Left" Margin="400,69,0,0" TextWrapping="Wrap" Text="{Binding BoolValue}" VerticalAlignment="Top" Width="135" />
<Button IsEnabled="{Binding Enabled2}" Content="写bool" Command="{Binding WriteCmd}" CommandParameter="BOOL" HorizontalAlignment="Left" Margin="550,69,0,0" VerticalAlignment="Top" RenderTransformOrigin="0.582,0.67" Width="110" />
<!-- 读写INT16 -->
<Button IsEnabled="{Binding Enabled2}" Content="读int16" Command="{Binding ReadCmd}" CommandParameter="INT16" HorizontalAlignment="Left" Margin="252,115,0,0" VerticalAlignment="Top" Width="110" />
<TextBox IsEnabled="{Binding Enabled2}" HorizontalAlignment="Left" Margin="400,115,0,0" TextWrapping="Wrap" Text="{Binding Int16Value}" VerticalAlignment="Top" Width="135" />
<Button IsEnabled="{Binding Enabled2}" Content="写int16" Command="{Binding WriteCmd}" CommandParameter="INT16" HorizontalAlignment="Left" Margin="550,115,0,0" VerticalAlignment="Top" RenderTransformOrigin="0.582,0.67" Width="110" />
<!-- 读写INT32 -->
<Button IsEnabled="{Binding Enabled2}" Content="读int32" Command="{Binding ReadCmd}" CommandParameter="INT32" HorizontalAlignment="Left" Margin="252,167,0,0" VerticalAlignment="Top" Width="110" />
<TextBox IsEnabled="{Binding Enabled2}" Text="{Binding Int32Value}" HorizontalAlignment="Left" Margin="400,167,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="135" />
<Button IsEnabled="{Binding Enabled2}" Content="写int32" Command="{Binding WriteCmd}" CommandParameter="INT32" HorizontalAlignment="Left" Margin="550,167,0,0" VerticalAlignment="Top" RenderTransformOrigin="0.582,0.67" Width="110" />
<!-- 读写REAL -->
<Button IsEnabled="{Binding Enabled2}" Content="读real" Command="{Binding ReadCmd}" CommandParameter="REAL" HorizontalAlignment="Left" Margin="252,225,0,0" VerticalAlignment="Top" Width="110" />
<TextBox IsEnabled="{Binding Enabled2}" Text="{Binding RealValue}" HorizontalAlignment="Left" Margin="400,225,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="135" />
<Button IsEnabled="{Binding Enabled2}" Content="写real" Command="{Binding WriteCmd}" CommandParameter="REAL" HorizontalAlignment="Left" Margin="550,225,0,0" VerticalAlignment="Top" RenderTransformOrigin="0.582,0.67" Width="110" />
<!-- 读写STRING -->
<Button IsEnabled="{Binding Enabled2}" Content="读string" Command="{Binding ReadCmd}" CommandParameter="STRING" HorizontalAlignment="Left" Margin="252,280,0,0" VerticalAlignment="Top" Width="110" />
<TextBox IsEnabled="{Binding Enabled2}" Text="{Binding StringValue}" HorizontalAlignment="Left" Margin="400,280,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="135" />
<Button IsEnabled="{Binding Enabled2}" Content="写string" Command="{Binding WriteCmd}" CommandParameter="STRING" HorizontalAlignment="Left" Margin="550,280,0,0" VerticalAlignment="Top" RenderTransformOrigin="0.582,0.67" Width="110" />
<TextBlock HorizontalAlignment="Left" VerticalAlignment="Top" Text="数据:" Margin="18,346,0,0" />
<TextBox Text="{Binding ReadedValue}" HorizontalAlignment="Left" Margin="58,340,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="180" />
<TextBlock HorizontalAlignment="Left" VerticalAlignment="Top" Text="信息:" Margin="18,389,0,0" />
<TextBox Text="{Binding Message}" HorizontalAlignment="Left" Margin="58,383,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="180" />
<Border Theme="{StaticResource CardBorder}" Margin="252,331,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" Width="400" Height="120">
<Grid>
<TextBlock HorizontalAlignment="Left" Margin="0,-20,0,0" TextWrapping="Wrap" Text="字节操作" VerticalAlignment="Top"/>
<TextBlock HorizontalAlignment="Left" Margin="0,16,0,0" TextWrapping="Wrap" Text="地址:" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled2}" HorizontalAlignment="Left" Margin="40,10,0,0" TextWrapping="Wrap" Text="{Binding Address2}" VerticalAlignment="Top" Width="87" />
<TextBlock HorizontalAlignment="Left" Margin="140,16,0,0" TextWrapping="Wrap" Text="字节数:" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled2}" HorizontalAlignment="Left" Margin="190,10,0,0" TextWrapping="Wrap" Text="{Binding BytesCount}" VerticalAlignment="Top" Width="100" />
<Button IsEnabled="{Binding Enabled2}" Content="读字节" Command="{Binding ReadCmd}" CommandParameter="Bytes" HorizontalAlignment="Left" Margin="105,47,0,0" VerticalAlignment="Top" Width="90" />
</Grid>
</Border>
</Grid>
</Border>
</Grid>
</UserControl>

View File

@@ -0,0 +1,13 @@
using Avalonia;
using Avalonia.Controls;
using Avalonia.Markup.Xaml;
namespace ;
public partial class MC协议l : UserControl
{
public MC协议l()
{
InitializeComponent();
}
}

View File

@@ -0,0 +1,105 @@
<UserControl xmlns="https://github.com/avaloniaui"
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"
mc:Ignorable="d" d:DesignHeight="680" d:DesignWidth="815"
xmlns:vm ="clr-namespace:常用工具集.ViewModel._01PLC通信调试"
xmlns:i="clr-namespace:Avalonia.Xaml.Interactivity;assembly=Avalonia.Xaml.Interactivity"
x:Class="常用工具集.串口调试工具"
x:CompileBindings="True"
x:DataType="vm:串口调试工具ViewModel">
<!-- xmlns:b="clr-namespace:Avalonia.Xaml.Behaviors;assembly=Avalonia.Xaml.Behaviors" -->
<UserControl.DataContext>
<vm:串口调试工具ViewModel />
</UserControl.DataContext>
<Grid>
<Border Theme="{StaticResource CardBorder}" HorizontalAlignment="Left" VerticalAlignment="Top" Height="324" Width="225" Margin="10,10,0,0">
<Grid>
<TextBlock HorizontalAlignment="Left" Margin="0,-20,0,0" TextWrapping="Wrap" Text="串口设置" VerticalAlignment="Top"/>
<TextBlock HorizontalAlignment="Left" Margin="0,10,0,0" TextWrapping="Wrap" Text="串口" VerticalAlignment="Top"/>
<ComboBox IsEnabled="{Binding Enabled1}" HorizontalAlignment="Left" VerticalAlignment="Top" SelectedIndex="{Binding SerialIndex}" ItemsSource="{Binding SerialList}" Margin="35,4,0,0" Width="160" />
<TextBlock HorizontalAlignment="Left" Margin="-10,44,0,0" TextWrapping="Wrap" Text="波特率" VerticalAlignment="Top"/>
<ComboBox HorizontalAlignment="Left" IsEnabled="{Binding Enabled1}" VerticalAlignment="Top" SelectedIndex="{Binding BaudRateIndex}" ItemsSource="{Binding BaudRateList}" Margin="35,38,0,0" Width="160" />
<TextBlock HorizontalAlignment="Left" Margin="-10,76,0,0" TextWrapping="Wrap" Text="数据位" VerticalAlignment="Top"/>
<ComboBox HorizontalAlignment="Left" IsEnabled="{Binding Enabled1}" VerticalAlignment="Top" SelectedIndex="{Binding DataBitIndex}" ItemsSource="{Binding DataBitList}" Margin="35,70,0,0" Width="160" />
<TextBlock HorizontalAlignment="Left" Margin="-10,110,0,0" TextWrapping="Wrap" Text="停止位" VerticalAlignment="Top"/>
<ComboBox HorizontalAlignment="Left" IsEnabled="{Binding Enabled1}" VerticalAlignment="Top" SelectedIndex="{Binding StopBitIndex}" ItemsSource="{Binding StopBitList}" Margin="35,103,0,0" Width="160" />
<TextBlock HorizontalAlignment="Left" Margin="0,144,0,0" TextWrapping="Wrap" Text="校验" VerticalAlignment="Top"/>
<ComboBox HorizontalAlignment="Left" IsEnabled="{Binding Enabled1}" VerticalAlignment="Top" SelectedIndex="{Binding ParityIndex}" ItemsSource="{Binding ParityList}" Margin="35,138,0,0" Width="160" />
<TextBlock HorizontalAlignment="Left" Margin="0,178,0,0" TextWrapping="Wrap" Text="流控" VerticalAlignment="Top"/>
<ComboBox HorizontalAlignment="Left" IsEnabled="{Binding Enabled1}" VerticalAlignment="Top" SelectedIndex="{Binding FlowControlIndex}" ItemsSource="{Binding FlowControlList}" Margin="35,172,0,0" Width="160" />
<TextBlock HorizontalAlignment="Left" Margin="0,212,0,0" TextWrapping="Wrap" Text="超时" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled1}" HorizontalAlignment="Left" TextWrapping="Wrap" Text="{Binding Timeout}" VerticalAlignment="Top" Margin="35,206,0,0" Width="160"/>
<Button Content="{Binding ButtonText}" Command="{Binding OpenSerialCmd}" Margin="0,264,0,0" VerticalAlignment="Top" Width="75" />
<CheckBox IsChecked="{Binding RTSChecked}" Content="RTS" Margin="40,234,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" Height="25" />
<CheckBox IsChecked="{Binding DTRChecked}" Content="DTR" Margin="96,234,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" Height="25" />
</Grid>
</Border>
<Border Theme="{StaticResource CardBorder}" HorizontalAlignment="Left" VerticalAlignment="Top" Height="70" Width="225" Margin="10,350,0,0">
<Grid>
<TextBlock HorizontalAlignment="Left" Margin="0,-20,0,0" TextWrapping="Wrap" Text="接收设置" VerticalAlignment="Top"/>
<RadioButton Height="20" Content="ASCII" IsChecked="{Binding ReciveASCChecked}" HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top"/>
<RadioButton Height="20" Content="HEX" IsChecked="{Binding ReciveHexChecked}" HorizontalAlignment="Left" Margin="97,10,0,0" VerticalAlignment="Top"/>
</Grid>
</Border>
<Border Theme="{StaticResource CardBorder}" HorizontalAlignment="Left" VerticalAlignment="Top" Height="230" Width="225" Margin="10,425,0,0">
<Grid>
<TextBlock HorizontalAlignment="Left" Margin="0,-20,0,0" TextWrapping="Wrap" Text="发送设置" VerticalAlignment="Top"/>
<RadioButton Height="20" Content="ASCII" IsChecked="{Binding SendASCChecked}" HorizontalAlignment="Left" Margin="0,10,0,0" VerticalAlignment="Top"/>
<RadioButton Height="20" Content="HEX" IsChecked="{Binding SendHexChecked}" HorizontalAlignment="Left" Margin="87,10,0,0" VerticalAlignment="Top"/>
<CheckBox IsChecked="{Binding ConvertChecked}" Content="自动解析转义符" Margin="0,43,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" Height="25" RenderTransformOrigin="0.24,-0.2" />
<TextBlock HorizontalAlignment="Left" FontSize="9" Margin="120,35,0,0" TextWrapping="Wrap" Text="\r回车符 0x0D" Foreground="Red" VerticalAlignment="Top" Width="105" />
<TextBlock HorizontalAlignment="Left" FontSize="9" Margin="120,51,0,0" TextWrapping="Wrap" Text="\n换行符 0x0A" Foreground="Red" VerticalAlignment="Top" Width="105" />
<TextBlock HorizontalAlignment="Left" FontSize="9" Margin="120,67,0,0" TextWrapping="Wrap" Text="\t水平制表符 0x09" Foreground="Red" VerticalAlignment="Top" Width="105" />
<TextBlock HorizontalAlignment="Left" FontSize="9" Margin="120,81,0,0" TextWrapping="Wrap" Text="\v垂直制表符 0x0B" Foreground="Red" VerticalAlignment="Top" Width="105" />
<TextBlock HorizontalAlignment="Left" FontSize="9" Margin="120,98,0,0" TextWrapping="Wrap" Text="\a响铃(BEL) 0x07" Foreground="Red" VerticalAlignment="Top" Width="105" />
<TextBlock HorizontalAlignment="Left" FontSize="9" Margin="120,114,0,0" TextWrapping="Wrap" Text="\b退格符(BS) 0x08" Foreground="Red" VerticalAlignment="Top" Width="105" />
<TextBlock HorizontalAlignment="Left" FontSize="9" Margin="120,128,0,0" TextWrapping="Wrap" Text="\f换页符(FF) 0x0C" Foreground="Red" VerticalAlignment="Top" Width="105" />
<CheckBox IsChecked="{Binding CycleChecked}" Content="循环发送" Margin="0,115,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" Height="25" RenderTransformOrigin="0.24,-0.2" Width="81" />
<TextBlock HorizontalAlignment="Left" Margin="10,151,0,0" TextWrapping="Wrap" Text="循环周期" VerticalAlignment="Top"/>
<TextBox HorizontalAlignment="Left" Margin="90,145,0,0" TextWrapping="Wrap" Text="{Binding CycleTime}" VerticalAlignment="Top" Width="53" />
<TextBlock HorizontalAlignment="Left" Margin="148,151,0,0" TextWrapping="Wrap" Text="ms" VerticalAlignment="Top" Width="24" />
</Grid>
</Border>
<Border Theme="{StaticResource CardBorder}" HorizontalAlignment="Left" VerticalAlignment="Top" Height="374" Width="535" Margin="250,10,0,0">
<Grid>
<TextBlock HorizontalAlignment="Left" Margin="0,-20,0,0" TextWrapping="Wrap" Text="数据日志" VerticalAlignment="Top"/>
<TextBox x:Name="TBInfo" TextWrapping="Wrap" ScrollViewer.VerticalScrollBarVisibility="Auto" Text="{Binding Message}" Margin="10,0,10,0" HorizontalContentAlignment="Left" VerticalContentAlignment="Top" Height="330">
<i:Interaction.Behaviors>
<DataTriggerBehavior Binding="{Binding Text.Length, ElementName=TBInfo}" ComparisonCondition="NotEqual" Value="0">
<ChangePropertyAction TargetObject="TBInfo" PropertyName="CaretIndex" Value="{Binding ElementName=TBInfo, Path=Text.Length}"/>
<CallMethodAction MethodName="ScrollToEnd" />
</DataTriggerBehavior>
</i:Interaction.Behaviors>
</TextBox>
</Grid>
</Border>
<Border Theme="{StaticResource CardBorder}" HorizontalAlignment="Left" VerticalAlignment="Top" Height="210" Width="535" Margin="250,425,0,0">
<Grid>
<TextBlock HorizontalAlignment="Left" Margin="0,-20,0,0" TextWrapping="Wrap" Text="数据发送" VerticalAlignment="Top"/>
<TextBox TextWrapping="Wrap" Height="170" ScrollViewer.VerticalScrollBarVisibility="Auto" Text="{Binding SendContent}" Margin="10,15,75,10" HorizontalContentAlignment="Left" VerticalContentAlignment="Top" />
<Button Content="发送" IsEnabled="{Binding Enabled2}" Command="{Binding SendCmd}" Margin="430,57,0,0" VerticalAlignment="Top" Width="60" HorizontalAlignment="Left" Height="78" />
</Grid>
</Border>
<Button Content="清除👆" Command="{Binding ClearReciveCmd}" Margin="420,389,0,0" VerticalAlignment="Top" Width="75" HorizontalAlignment="Left" />
<Button Content="清除👇" Command="{Binding ClearSendCmd}" Margin="518,389,0,0" VerticalAlignment="Top" Width="74" HorizontalAlignment="Left" />
</Grid>
</UserControl>

View File

@@ -0,0 +1,13 @@
using Avalonia;
using Avalonia.Controls;
using Avalonia.Markup.Xaml;
namespace ;
public partial class : UserControl
{
public ()
{
InitializeComponent();
}
}

View File

@@ -0,0 +1,56 @@
<UserControl xmlns="https://github.com/avaloniaui"
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"
mc:Ignorable="d" d:DesignHeight="550" d:DesignWidth="815"
xmlns:vm ="clr-namespace:常用工具集.ViewModel._01PLC通信调试"
x:Class="常用工具集.倍福ADS调试"
x:CompileBindings="True"
x:DataType="vm:倍福ADS调试ViewModel">
<UserControl.DataContext>
<vm:倍福ADS调试ViewModel />
</UserControl.DataContext>
<Grid>
<TextBlock HorizontalAlignment="Left" Margin="25,21,0,0" TextWrapping="Wrap" Text="AMSNETID:" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled1}" HorizontalAlignment="Left" Margin="105,15,0,0" TextWrapping="Wrap" Text="{Binding NetId}" VerticalAlignment="Top" Width="140" />
<TextBlock HorizontalAlignment="Left" Margin="259,21,0,0" TextWrapping="Wrap" Text="端口号:" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled1}" HorizontalAlignment="Left" Margin="309,15,0,0" TextWrapping="Wrap" Text="{Binding Port}" VerticalAlignment="Top" Width="86" />
<Button IsEnabled="{Binding Enabled1}" Content="连接" Command="{Binding ConnectCmd}" HorizontalAlignment="Left" Margin="465,15,0,0" VerticalAlignment="Top" Width="90" />
<Button IsEnabled="{Binding Enabled2}" Content="断开连接" Command="{Binding DisconnectCmd}" HorizontalAlignment="Left" Margin="560,15,0,0" VerticalAlignment="Top" Width="90" />
<TextBlock HorizontalAlignment="Left" Margin="20,82,0,0" TextWrapping="Wrap" Text="变量名:" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled2}" HorizontalAlignment="Left" Margin="70,82,0,0" TextWrapping="Wrap" Text="{Binding VarName}" VerticalAlignment="Top" Width="565" />
<Border Theme="{StaticResource CardBorder}" Width="310" Height="260" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="10,0,0,0">
<Grid>
<TextBlock HorizontalAlignment="Left" Margin="0,-20,0,0" TextWrapping="Wrap" Text="读取操作" VerticalAlignment="Top"/>
<Button IsEnabled="{Binding Enabled2}" Content="读取" Command="{Binding ReadCmd}" CommandParameter="BOOL" HorizontalAlignment="Left" Margin="120,30,0,0" VerticalAlignment="Top" Width="80" />
<TextBlock HorizontalAlignment="Left" Margin="7,86,0,0" TextWrapping="Wrap" Text="数据类型:" VerticalAlignment="Top"/>
<TextBlock HorizontalAlignment="Left" Margin="32,131,0,0" TextWrapping="Wrap" Text="数据:" VerticalAlignment="Top"/>
<TextBlock HorizontalAlignment="Left" Margin="32,182,0,0" TextWrapping="Wrap" Text="信息:" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled1}" HorizontalAlignment="Left" Margin="70,80,0,0" TextWrapping="Wrap" Text="{Binding DataType}" VerticalAlignment="Top" Width="180" />
<TextBox Text="{Binding ReadedValue}" HorizontalAlignment="Left" Margin="70,125,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="180" />
<TextBox Text="{Binding Message1}" HorizontalAlignment="Left" Margin="70,176,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="180" />
</Grid>
</Border>
<Border Theme="{StaticResource CardBorder}" Margin="335,145,205,145" >
<Grid>
<TextBlock HorizontalAlignment="Left" Margin="0,-20,0,0" TextWrapping="Wrap" Text="写入操作" VerticalAlignment="Top"/>
<TextBlock HorizontalAlignment="Left" Margin="7,29,0,0" TextWrapping="Wrap" Text="写入数据:" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled2}" HorizontalAlignment="Left" Margin="70,23,0,0" TextWrapping="Wrap" Text="{Binding BoolValue}" VerticalAlignment="Top" Width="180" />
<Button IsEnabled="{Binding Enabled2}" Content="写入" Command="{Binding WriteCmd}" CommandParameter="BOOL" Margin="87,70,0,0" VerticalAlignment="Top" RenderTransformOrigin="0.582,0.67" Width="80" HorizontalAlignment="Left" />
<TextBlock HorizontalAlignment="Left" Margin="32,150,0,0" TextWrapping="Wrap" Text="信息:" VerticalAlignment="Top"/>
<TextBox Text="{Binding Message2}" HorizontalAlignment="Left" Margin="70,144,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="180" />
</Grid>
</Border>
</Grid>
</UserControl>

View File

@@ -0,0 +1,13 @@
using Avalonia;
using Avalonia.Controls;
using Avalonia.Markup.Xaml;
namespace ;
public partial class ADS调试 : UserControl
{
public ADS调试()
{
InitializeComponent();
}
}

View File

@@ -0,0 +1,81 @@
<UserControl xmlns="https://github.com/avaloniaui"
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"
mc:Ignorable="d" d:DesignHeight="600" d:DesignWidth="715"
xmlns:vm ="clr-namespace:常用工具集.ViewModel._01PLC通信调试"
x:Class="常用工具集.欧姆龙Fins调试"
x:CompileBindings="True"
x:DataType="vm:欧姆龙Fins调试ViewModel">
<UserControl.DataContext>
<vm:欧姆龙Fins调试ViewModel />
</UserControl.DataContext>
<Grid>
<TextBlock HorizontalAlignment="Left" Margin="25,21,0,0" TextWrapping="Wrap" Text="IP地址:" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled1}" HorizontalAlignment="Left" Margin="75,15,0,0" TextWrapping="Wrap" Text="{Binding IpAddress}" VerticalAlignment="Top" Width="125" />
<TextBlock HorizontalAlignment="Left" Margin="225,21,0,0" TextWrapping="Wrap" Text="端口号:" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled1}" HorizontalAlignment="Left" Margin="275,15,0,0" TextWrapping="Wrap" Text="{Binding Port}" VerticalAlignment="Top" Width="86" />
<Button IsEnabled="{Binding Enabled1}" Content="连接" Command="{Binding ConnectCmd}" HorizontalAlignment="Left" Margin="465,15,0,0" VerticalAlignment="Top" Width="90" />
<Button IsEnabled="{Binding Enabled2}" Content="断开连接" Command="{Binding DisconnectCmd}" HorizontalAlignment="Left" Margin="560,15,0,0" VerticalAlignment="Top" Width="90" />
<Border Theme="{StaticResource CardBorder}" Width="310" Height="450" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="10,50,0,0">
<Grid>
<TextBlock HorizontalAlignment="Left" Margin="0,-20,0,0" TextWrapping="Wrap" Text="读操作" VerticalAlignment="Top"/>
<TextBlock HorizontalAlignment="Left" Margin="45,16,0,0" TextWrapping="Wrap" Text="区域" VerticalAlignment="Top"/>
<ComboBox IsEnabled="{Binding Enabled2}" HorizontalAlignment="Left" VerticalAlignment="Top" SelectedIndex="{Binding ReadAreaIndex}" ItemsSource="{Binding AreaList}" Margin="80,10,0,0" Width="150" />
<TextBlock HorizontalAlignment="Left" Margin="16,52,0,0" TextWrapping="Wrap" Text="读取地址" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled2}" HorizontalAlignment="Left" Margin="80,46,0,0" TextWrapping="Wrap" Text="{Binding ReadAddress}" VerticalAlignment="Top" Width="150" />
<TextBlock HorizontalAlignment="Left" Margin="16,86,0,0" TextWrapping="Wrap" Text="读取数量" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled2}" HorizontalAlignment="Left" Margin="80,82,0,0" TextWrapping="Wrap" Text="{Binding ReadCount}" VerticalAlignment="Top" Width="150" />
<Button IsEnabled="{Binding Enabled2}" Content="读取" Command="{Binding ReadCmd}" CommandParameter="1" HorizontalAlignment="Left" Margin="8,122,0,0" VerticalAlignment="Top" Width="110" />
<Button IsEnabled="{Binding Enabled2}" Content="读取字符串" Command="{Binding ReadCmd}" CommandParameter="2" HorizontalAlignment="Left" Width="110" Margin="128,121,0,0" VerticalAlignment="Top" />
<Button IsEnabled="{Binding Enabled2}" Content="读取Float" Command="{Binding ReadCmd}" CommandParameter="3" HorizontalAlignment="Left" Width="110" Margin="8,170,0,0" VerticalAlignment="Top" />
<Button IsEnabled="{Binding Enabled2}" Content="读取Short" Command="{Binding ReadCmd}" CommandParameter="4" Width="110" Margin="128,170,0,0" VerticalAlignment="Top" HorizontalAlignment="Left" />
<TextBlock HorizontalAlignment="Left" Margin="16,237,0,0" TextWrapping="Wrap" Text="读取结果" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled2}" HorizontalAlignment="Left" Margin="80,231,0,0" TextWrapping="Wrap" Text="{Binding ReadResult}" VerticalAlignment="Top" Width="200" Height="182" />
</Grid>
</Border>
<Border Theme="{StaticResource CardBorder}" Width="338" Height="450" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="340,50,0,0">
<Grid>
<TextBlock HorizontalAlignment="Left" Margin="0,-20,0,0" TextWrapping="Wrap" Text="写操作" VerticalAlignment="Top"/>
<TextBlock HorizontalAlignment="Left" Margin="45,16,0,0" TextWrapping="Wrap" Text="区域" VerticalAlignment="Top"/>
<ComboBox IsEnabled="{Binding Enabled2}" HorizontalAlignment="Left" VerticalAlignment="Top" SelectedIndex="{Binding WriteAreaIndex}" ItemsSource="{Binding AreaList}" Margin="80,10,0,0" Width="150" />
<TextBlock HorizontalAlignment="Left" Margin="16,52,0,0" TextWrapping="Wrap" Text="写入地址" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled2}" HorizontalAlignment="Left" Margin="80,46,0,0" TextWrapping="Wrap" Text="{Binding WriteAddress}" VerticalAlignment="Top" Width="150" />
<TextBlock HorizontalAlignment="Left" Margin="20,86,0,0" TextWrapping="Wrap" Text="空格隔开10进制数位的话填0 1" Foreground="Red" VerticalAlignment="Top" />
<TextBlock HorizontalAlignment="Left" Margin="16,115,0,0" TextWrapping="Wrap" Text="写入数据" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled2}" HorizontalAlignment="Left" Margin="80,109,0,0" TextWrapping="Wrap" Text="{Binding WriteValue}" VerticalAlignment="Top" Width="150" />
<Button IsEnabled="{Binding Enabled2}" Content="写入" Command="{Binding WriteCmd}" CommandParameter="1" HorizontalAlignment="Left" Margin="10,159,0,0" VerticalAlignment="Top" Width="110" />
<Button IsEnabled="{Binding Enabled2}" Content="写入Float" Command="{Binding WriteCmd}" CommandParameter="2" HorizontalAlignment="Left" Margin="12,196,0,0" VerticalAlignment="Top" Width="110" />
<Button IsEnabled="{Binding Enabled2}" Content="写入Short" Command="{Binding WriteCmd}" CommandParameter="3" HorizontalAlignment="Left" Margin="12,239,0,0" VerticalAlignment="Top" Width="110" />
<Button IsEnabled="{Binding Enabled2}" Content="写入字符串" Command="{Binding WriteCmd}" CommandParameter="4" HorizontalAlignment="Left" Margin="12,288,0,0" VerticalAlignment="Top" Width="110" />
<TextBlock HorizontalAlignment="Left" Margin="144,294,0,0" TextWrapping="Wrap" Text="字符串长度" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled2}" HorizontalAlignment="Left" Margin="224,288,0,0" TextWrapping="Wrap" Text="{Binding StrLength}" VerticalAlignment="Top" Width="80" />
</Grid>
</Border>
</Grid>
</UserControl>

View File

@@ -0,0 +1,13 @@
using Avalonia;
using Avalonia.Controls;
using Avalonia.Markup.Xaml;
namespace ;
public partial class Fins调试 : UserControl
{
public Fins调试()
{
InitializeComponent();
}
}

View File

@@ -0,0 +1,98 @@
<UserControl xmlns="https://github.com/avaloniaui"
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"
mc:Ignorable="d" d:DesignHeight="600" d:DesignWidth="715"
xmlns:vm ="clr-namespace:常用工具集.ViewModel._01PLC通信调试"
x:Class="常用工具集.西门子PLC调试"
x:CompileBindings="True"
x:DataType="vm:西门子PLC调试ViewModel">
<UserControl.DataContext>
<vm:西门子PLC调试ViewModel />
</UserControl.DataContext>
<Grid>
<TextBlock HorizontalAlignment="Left" Margin="0,21,0,0" TextWrapping="Wrap" Text="IP地址:" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled1}" HorizontalAlignment="Left" Margin="50,15,0,0" TextWrapping="Wrap" Text="{Binding IpAddress}" VerticalAlignment="Top" Width="120" />
<TextBlock HorizontalAlignment="Left" Margin="175,21,0,0" TextWrapping="Wrap" Text="PLC类型:" VerticalAlignment="Top"/>
<ComboBox IsEnabled="{Binding Enabled1}" SelectedIndex="{Binding PlcTypeIndex}" ItemsSource="{Binding PlcTypeList}" HorizontalAlignment="Left" Margin="240,15,0,0" VerticalAlignment="Top" Width="100" />
<TextBlock HorizontalAlignment="Left" Margin="350,21,0,0" TextWrapping="Wrap" Text="R:" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled1}" HorizontalAlignment="Left" Margin="370,15,0,0" TextWrapping="Wrap" Text="{Binding R}" VerticalAlignment="Top" Width="30" />
<TextBlock HorizontalAlignment="Left" Margin="410,21,0,0" TextWrapping="Wrap" Text="S:" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled1}" HorizontalAlignment="Left" Margin="430,15,0,0" TextWrapping="Wrap" Text="{Binding S}" VerticalAlignment="Top" Width="30" />
<Button IsEnabled="{Binding Enabled1}" Content="连接" Command="{Binding ConnectCmd}" HorizontalAlignment="Left" Margin="465,15,0,0" VerticalAlignment="Top" Width="90" />
<Button IsEnabled="{Binding Enabled2}" Content="断开连接" Command="{Binding DisconnectCmd}" HorizontalAlignment="Left" Margin="560,15,0,0" VerticalAlignment="Top" Width="90" />
<Border Width="680" Height="480" HorizontalAlignment="Left" VerticalAlignment="Top" Theme="{StaticResource CardBorder}" Margin="10,50,0,0">
<Grid>
<TextBlock HorizontalAlignment="Left" Margin="0,-20,0,0" TextWrapping="Wrap" Text="读写操作" VerticalAlignment="Top"/>
<TextBlock HorizontalAlignment="Left" Margin="32,29,0,0" TextWrapping="Wrap" Text="地址:" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled2}" HorizontalAlignment="Left" Margin="72,23,0,0" TextWrapping="Wrap" Text="{Binding Address}" VerticalAlignment="Top" />
<TextBlock HorizontalAlignment="Left" Margin="40,88,0,0" TextWrapping="Wrap" Text="BOOL类型DB44.DBX0.1" Foreground="Red" VerticalAlignment="Top" />
<TextBlock HorizontalAlignment="Left" Margin="40,128,0,0" TextWrapping="Wrap" Text="REAL类型DB44.DBD45" Foreground="Red" VerticalAlignment="Top" />
<TextBlock HorizontalAlignment="Left" Margin="40,178,0,0" TextWrapping="Wrap" Text="INT16类型DB44,DBW40" Foreground="Red" VerticalAlignment="Top" />
<TextBlock HorizontalAlignment="Left" Margin="40,0,0,0" TextWrapping="Wrap" Text="String类型DB44.DBX40.0" Foreground="Red" VerticalAlignment="Center" />
<TextBlock HorizontalAlignment="Left" Margin="0,286,0,0" TextWrapping="Wrap" Text="字符串长度:" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled2}" HorizontalAlignment="Left" Margin="80,280,0,0" TextWrapping="Wrap" Text="{Binding StringLength}" VerticalAlignment="Top" Width="125" />
<!-- 读写BOOL -->
<Button IsEnabled="{Binding Enabled2}" Content="读bool" Command="{Binding ReadCmd}" CommandParameter="BOOL" HorizontalAlignment="Left" Margin="252,69,0,0" VerticalAlignment="Top" Width="110" />
<TextBox IsEnabled="{Binding Enabled2}" HorizontalAlignment="Left" Margin="382,69,0,0" TextWrapping="Wrap" Text="{Binding BoolValue}" VerticalAlignment="Top" Width="135" />
<Button IsEnabled="{Binding Enabled2}" Content="写bool" Command="{Binding WriteCmd}" CommandParameter="BOOL" HorizontalAlignment="Left" Margin="532,69,0,0" VerticalAlignment="Top" Width="110" />
<!-- 读写INT16 -->
<Button IsEnabled="{Binding Enabled2}" Content="读int16" Command="{Binding ReadCmd}" CommandParameter="INT16" HorizontalAlignment="Left" Margin="252,111,0,0" VerticalAlignment="Top" Width="110" />
<TextBox IsEnabled="{Binding Enabled2}" HorizontalAlignment="Left" Margin="382,111,0,0" TextWrapping="Wrap" Text="{Binding Int16Value}" VerticalAlignment="Top" Width="135" />
<Button IsEnabled="{Binding Enabled2}" Content="写int16" Command="{Binding WriteCmd}" CommandParameter="INT16" HorizontalAlignment="Left" Margin="532,111,0,0" VerticalAlignment="Top" Width="110" />
<!-- 读写INT32 -->
<Button IsEnabled="{Binding Enabled2}" Content="读int32" Command="{Binding ReadCmd}" CommandParameter="INT32" HorizontalAlignment="Left" Margin="252,156,0,0" VerticalAlignment="Top" Width="110" />
<TextBox IsEnabled="{Binding Enabled2}" Text="{Binding Int32Value}" HorizontalAlignment="Left" Margin="382,156,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="135" />
<Button IsEnabled="{Binding Enabled2}" Content="写int32" Command="{Binding WriteCmd}" CommandParameter="INT32" HorizontalAlignment="Left" Margin="532,156,0,0" VerticalAlignment="Top" Width="110" />
<!-- 读写REAL -->
<Button IsEnabled="{Binding Enabled2}" Content="读real" Command="{Binding ReadCmd}" CommandParameter="REAL" HorizontalAlignment="Left" Margin="252,203,0,0" Width="110" VerticalAlignment="Top" />
<TextBox IsEnabled="{Binding Enabled2}" Text="{Binding RealValue}" HorizontalAlignment="Left" Margin="382,203,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="135" />
<Button IsEnabled="{Binding Enabled2}" Content="写real" Command="{Binding WriteCmd}" CommandParameter="REAL" HorizontalAlignment="Left" Margin="532,203,0,0" RenderTransformOrigin="0.582,0.67" Width="110" VerticalAlignment="Top" />
<!-- 读写STRING -->
<Button IsEnabled="{Binding Enabled2}" Content="读string" Command="{Binding ReadCmd}" CommandParameter="STRING1" HorizontalAlignment="Left" Margin="252,245,0,0" VerticalAlignment="Top" Width="110" />
<TextBox IsEnabled="{Binding Enabled2}" Text="{Binding StringValue1}" HorizontalAlignment="Left" Margin="382,245,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="135" />
<Button IsEnabled="{Binding Enabled2}" Content="写string" Command="{Binding WriteCmd}" CommandParameter="STRING1" HorizontalAlignment="Left" Margin="532,245,0,0" VerticalAlignment="Top" Width="110" />
<Button IsEnabled="{Binding Enabled2}" Content="读string" Command="{Binding ReadCmd}" CommandParameter="STRING" HorizontalAlignment="Left" Margin="252,280,0,0" VerticalAlignment="Top" Width="110" />
<TextBox IsEnabled="{Binding Enabled2}" Text="{Binding StringValue}" HorizontalAlignment="Left" Margin="382,280,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="135" />
<Button IsEnabled="{Binding Enabled2}" Content="写string" Command="{Binding WriteCmd}" CommandParameter="STRING" HorizontalAlignment="Left" Margin="532,280,0,0" VerticalAlignment="Top" Width="110" />
<TextBlock HorizontalAlignment="Left" Margin="537,310,0,0" TextWrapping="Wrap" Text="非字符串类型" Foreground="Red" VerticalAlignment="Top" />
<TextBlock HorizontalAlignment="Left" VerticalAlignment="Top" Text="数据:" Margin="18,346,0,0" />
<TextBox Text="{Binding ReadedValue}" HorizontalAlignment="Left" Margin="58,340,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="180" />
<TextBlock HorizontalAlignment="Left" VerticalAlignment="Top" Text="信息:" Margin="18,389,0,0" />
<TextBox Text="{Binding Message}" HorizontalAlignment="Left" Margin="58,383,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="180" />
<Border Theme="{StaticResource CardBorder}" Margin="252,331,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" Width="400" Height="120">
<Grid>
<TextBlock HorizontalAlignment="Left" Margin="0,-20,0,0" TextWrapping="Wrap" Text="字节操作" VerticalAlignment="Top"/>
<TextBlock HorizontalAlignment="Left" Margin="0,16,0,0" TextWrapping="Wrap" Text="DB:" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled1}" HorizontalAlignment="Left" Margin="30,10,0,0" TextWrapping="Wrap" Text="{Binding DBAddress2}" VerticalAlignment="Top" Width="50" />
<TextBlock HorizontalAlignment="Left" Margin="85,16,0,0" TextWrapping="Wrap" Text="地址:" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled1}" HorizontalAlignment="Left" Margin="120,10,0,0" TextWrapping="Wrap" Text="{Binding Address2}" VerticalAlignment="Top" Width="50" />
<TextBlock HorizontalAlignment="Left" Margin="180,16,0,0" TextWrapping="Wrap" Text="字节数:" VerticalAlignment="Top"/>
<TextBox IsEnabled="{Binding Enabled1}" HorizontalAlignment="Left" Margin="230,10,0,0" TextWrapping="Wrap" Text="{Binding BytesCount}" VerticalAlignment="Top" Width="80" />
<Button IsEnabled="{Binding Enabled2}" Content="读字节" Command="{Binding ReadCmd}" CommandParameter="Bytes" HorizontalAlignment="Left" Margin="105,47,0,0" VerticalAlignment="Top" Width="70" />
</Grid>
</Border>
</Grid>
</Border>
</Grid>
</UserControl>

View File

@@ -0,0 +1,13 @@
using Avalonia;
using Avalonia.Controls;
using Avalonia.Markup.Xaml;
namespace ;
public partial class 西PLC调试 : UserControl
{
public 西PLC调试()
{
InitializeComponent();
}
}