mirror of
https://github.com/zhaopeiym/IoTClient
synced 2025-10-19 22:14:31 +08:00
75 lines
2.4 KiB
C#
75 lines
2.4 KiB
C#
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();
|
||
}
|
||
}
|
||
}
|