1
0
mirror of https://github.com/zhaopeiym/IoTClient synced 2025-10-12 21:20:37 +08:00
IoTClient/IoTClient.Tests/Modbus_Tests/ModBusAsciiClient_tests.cs
BennyZhao 9b8d98884d 1、新增 Modbus/ModbusRtuOverTcpClient.cs
2、IotClient.Tool 另外立项
2021-04-18 16:53:40 +08:00

124 lines
4.0 KiB
C#

using IoTClient.Clients.Modbus;
using IoTClient.Enums;
using IoTClient.Models;
using System.Collections.Generic;
using System.IO.Ports;
using System.Threading.Tasks;
using Xunit;
namespace IoTClient.Tests.Modbus
{
public class ModbusAsciiClient_tests
{
private ModbusAsciiClient client;
byte stationNumber = 1;//站号
public ModbusAsciiClient_tests()
{
client = new ModbusAsciiClient("COM3", 9600, 8, StopBits.One, Parity.None);
}
[Fact]
public void ()
{
var list = new List<ModbusInput>();
list.Add(new ModbusInput()
{
Address = "2",
DataType = DataTypeEnum.Int16,
FunctionCode = 3,
StationNumber = 1
});
list.Add(new ModbusInput()
{
Address = "2",
DataType = DataTypeEnum.Int16,
FunctionCode = 4,
StationNumber = 1
});
list.Add(new ModbusInput()
{
Address = "5",
DataType = DataTypeEnum.Int16,
FunctionCode = 3,
StationNumber = 1
});
list.Add(new ModbusInput()
{
Address = "199",
DataType = DataTypeEnum.Int16,
FunctionCode = 3,
StationNumber = 1
});
var result = client.BatchRead(list);
}
[Fact]
public async Task ()
{
short Number = 33;
client.Write("4", Number, stationNumber);
Assert.True(client.ReadInt16("4", stationNumber).Value == Number);
Number = 34;
client.Write("4", Number, stationNumber);
Assert.True(client.ReadInt16("4", stationNumber).Value == Number);
Number = 1;
client.Write("12", Number, stationNumber);
Assert.True(client.ReadInt16("12", stationNumber).Value == 1);
Number = 0;
client.Write("12", Number, stationNumber);
Assert.True(client.ReadInt16("12", stationNumber).Value == 0);
int numberInt32 = -12;
client.Write("4", numberInt32, stationNumber);
Assert.True(client.ReadInt32("4", stationNumber).Value == numberInt32);
float numberFloat = 112;
client.Write("4", numberFloat, stationNumber);
Assert.True(client.ReadFloat("4", stationNumber).Value == numberFloat);
double numberDouble = 32;
client.Write("4", numberDouble, stationNumber);
Assert.True(client.ReadDouble("4", stationNumber).Value == numberDouble);
}
[Fact]
public async Task ()
{
client.Open();
short Number = 33;
client.Write("4", Number, stationNumber);
Assert.True(client.ReadInt16("4", stationNumber).Value == Number);
Number = 34;
client.Write("4", Number, stationNumber);
Assert.True(client.ReadInt16("4", stationNumber).Value == Number);
Number = 1;
client.Write("12", Number, stationNumber);
Assert.True(client.ReadInt16("12", stationNumber).Value == 1);
Number = 0;
client.Write("12", Number, stationNumber);
Assert.True(client.ReadInt16("12", stationNumber).Value == 0);
int numberInt32 = -12;
client.Write("4", numberInt32, stationNumber);
Assert.True(client.ReadInt32("4", stationNumber).Value == numberInt32);
float numberFloat = 112;
client.Write("4", numberFloat, stationNumber);
Assert.True(client.ReadFloat("4", stationNumber).Value == numberFloat);
double numberDouble = 32;
client.Write("4", numberDouble, stationNumber);
Assert.True(client.ReadDouble("4", stationNumber).Value == numberDouble);
client.Close();
}
}
}