2014-08-28 update 1

This commit is contained in:
parallelbgls@outlook.com
2014-08-28 11:04:32 +08:00
parent eb631389a9
commit e0fea8731e
7 changed files with 142 additions and 20 deletions

View File

@@ -1,8 +1,16 @@
<Window x:Class="NA200H.UI.WPF.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
Title="MainWindow" Height="350" Width="525" Loaded="MainWindow_OnLoaded">
<Grid>
<TextBox x:Name="Add1" HorizontalAlignment="Left" Height="23" Margin="46,125,0,0" TextWrapping="Wrap" Text="0" VerticalAlignment="Top" Width="65" TextAlignment="Center"/>
<TextBox x:Name="Add2" HorizontalAlignment="Left" Height="23" Margin="144,125,0,0" TextWrapping="Wrap" Text="0" VerticalAlignment="Top" Width="65" TextAlignment="Center"/>
<TextBox x:Name="Add3" HorizontalAlignment="Left" Height="23" Margin="242,125,0,0" TextWrapping="Wrap" Text="0" VerticalAlignment="Top" Width="65" TextAlignment="Center"/>
<TextBox x:Name="AddAns" HorizontalAlignment="Left" Height="23" Margin="400,125,0,0" TextWrapping="Wrap" Text="0" VerticalAlignment="Top" Width="65" IsEnabled="False" TextAlignment="Center"/>
<Button x:Name="Calc" Content="计算" HorizontalAlignment="Center" Margin="0,198,0,0" VerticalAlignment="Top" Width="75" Click="Calc_OnClick"/>
<Label Content="+" HorizontalAlignment="Left" Margin="116,125,0,0" VerticalAlignment="Top" Width="23" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"/>
<Label Content="+" HorizontalAlignment="Left" Margin="214,125,0,0" VerticalAlignment="Top" Width="23" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"/>
<Label Content="=" HorizontalAlignment="Left" Margin="343,122,0,0" VerticalAlignment="Top" Width="23" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"/>
</Grid>
</Window>

View File

@@ -12,15 +12,33 @@ namespace NA200H.UI.WPF
{
public MainWindow()
{
InitializeComponent();
BaseProtocal wrapper = new ModbusRtuProtocal();
ReadHoldRegisterModbusProtocal.ReadHoldRegisterInputStruct readHoldRegisterInputStruct = new ReadHoldRegisterModbusProtocal.ReadHoldRegisterInputStruct(2, "0", 4);
ReadHoldRegisterModbusProtocal.ReadHoldRegisterOutputStruct readHoldRegisterOutputStruct = (ReadHoldRegisterModbusProtocal.ReadHoldRegisterOutputStruct)wrapper.SendReceive(wrapper["ReadHoldRegisterModbusProtocal"], readHoldRegisterInputStruct);
for (int i = 0; i < readHoldRegisterOutputStruct.HoldRegisterStatus.Length; i++)
{
Console.WriteLine(readHoldRegisterOutputStruct.HoldRegisterStatus[i]);
}
Console.Read();
InitializeComponent();
}
private void MainWindow_OnLoaded(object sender, RoutedEventArgs e)
{
ModbusUtility.GetInstance().ModbusType = ModbusType.Rtu;
ushort[] getNum = ModbusUtility.GetInstance().ReadHoldRegister(0x02, "0", 4);
SetValue(getNum);
}
private void SetValue(ushort[] getNum)
{
Add1.Text = getNum[0].ToString();
Add2.Text = getNum[1].ToString();
Add3.Text = getNum[2].ToString();
AddAns.Text = getNum[3].ToString();
}
private void Calc_OnClick(object sender, RoutedEventArgs e)
{
ushort add1 = 0, add2 = 0, add3 = 0;
ushort.TryParse(Add1.Text, out add1);
ushort.TryParse(Add2.Text, out add2);
ushort.TryParse(Add3.Text, out add3);
ModbusUtility.GetInstance().WriteMultiRegister(0x02, "0", new object[] {add1, add2, add3});
ushort[] getNum = ModbusUtility.GetInstance().ReadHoldRegister(0x02, "0", 4);
SetValue(getNum);
}
}
}