1
0
mirror of https://github.com/zhaopeiym/IoTClient synced 2025-10-19 22:14:31 +08:00
IoTClient/IoTClient.Tests/ModBus/ModBusTcpClient_tests.cs
2019-10-14 21:09:19 +08:00

75 lines
2.3 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using IoTClient.Clients.ModBus;
using IoTServer.Common;
using System.Net;
using System.Threading.Tasks;
using Xunit;
namespace IoTClient.Tests.ModBus
{
public class ModBusTcpClient_tests
{
ModBusTcpClient client;
byte stationNumber = 2;//站号
public ModBusTcpClient_tests()
{
var ip = IPAddress.Parse("ip".GetConfig());
var port = int.Parse("port".GetConfig());
client = new ModBusTcpClient(new IPEndPoint(ip, port));
}
/// <summary>
/// 值的写入有一定的延时修改500毫秒后检验
/// </summary>
/// <returns></returns>
[Fact]
public async Task ()
{
short Number = 33;
client.Write(4, Number, stationNumber);
await Task.Delay(500);
Assert.True(client.ReadInt16(4, stationNumber).Value == Number);
Number = 34;
client.Write(4, Number, stationNumber);
await Task.Delay(500);
Assert.True(client.ReadInt16(4, stationNumber).Value == Number);
Number = 1;
client.Write(12, Number, stationNumber);
await Task.Delay(500);
Assert.True(client.ReadInt16(12, stationNumber).Value == 1);
Number = 0;
client.Write(12, Number, stationNumber);
await Task.Delay(500);
Assert.True(client.ReadInt16(12, stationNumber).Value == 0);
}
[Fact]
public async Task ()
{
client.Open();
short Number = 33;
client.Write(4, Number, stationNumber);
await Task.Delay(500);
Assert.True(client.ReadInt16(4, stationNumber).Value == Number);
Number = 34;
client.Write(4, Number, stationNumber);
await Task.Delay(500);
Assert.True(client.ReadInt16(4, stationNumber).Value == Number);
Number = 1;
client.Write(12, Number, stationNumber);
await Task.Delay(500);
Assert.True(client.ReadInt16(12, stationNumber).Value == 1);
Number = 0;
client.Write(12, Number, stationNumber);
await Task.Delay(500);
Assert.True(client.ReadInt16(12, stationNumber).Value == 0);
client.Close();
}
}
}