BOB/DeviceCommand/Device/PSB11000.cs

133 lines
5.4 KiB
C#

using Common.Attributes;
using DeviceCommand.Base;
using System;
using System.Threading;
using System.Threading.Tasks;
namespace DeviceCommand.Device
{
[BOBCommand]
public class PSB11000 : ModbusTcp
{
public PSB11000(string IpAddress, int port, int SendTimeout, int ReceiveTimeout)
{
ConfigureDevice(IpAddress, port, SendTimeout, ReceiveTimeout);
}
public PSB11000() { }
#region
public virtual async Task (bool , byte slaveAddress = 1, CancellationToken ct = default)
{
ushort value = (ushort)( ? 0xFF00 : 0x0000);
await WriteSingleRegisterAsync(slaveAddress, 402, value, ct);
}
public virtual async Task (bool , byte slaveAddress = 1, CancellationToken ct = default)
{
ushort value = (ushort)( ? 0xFF00 : 0x0000);
await WriteSingleRegisterAsync(slaveAddress, 405, value, ct);
}
public virtual async Task (bool 使, byte slaveAddress = 1, CancellationToken ct = default)
{
ushort value = (ushort)(使 ? 0xFF00 : 0x0000);
await WriteSingleRegisterAsync(slaveAddress, 409, value, ct);
}
public virtual async Task (byte slaveAddress = 1, CancellationToken ct = default)
{
await WriteSingleRegisterAsync(slaveAddress, 411, 0xFF00, ct);
}
public virtual async Task<bool> (byte slaveAddress = 1, CancellationToken ct = default)
{
ushort[] result = await ReadHoldingRegistersAsync(slaveAddress, 402, 1, ct);
return result[0] == 0xFF00;
}
public virtual async Task<bool> (byte slaveAddress = 1, CancellationToken ct = default)
{
ushort[] result = await ReadHoldingRegistersAsync(slaveAddress, 405, 1, ct);
return result[0] == 0xFF00;
}
public virtual async Task<bool> (byte slaveAddress = 1, CancellationToken ct = default)
{
ushort[] result = await ReadHoldingRegistersAsync(slaveAddress, 409, 1, ct);
return result[0] == 0xFF00;
}
#endregion
#region ///
public virtual async Task (double , double , byte slaveAddress = 1, CancellationToken ct = default)
{
ushort value = (ushort)( / * 0xCCCC);
await WriteSingleRegisterAsync(slaveAddress, 500, value, ct);
}
public virtual async Task<double> (double , byte slaveAddress = 1, CancellationToken ct = default)
{
ushort[] reg = await ReadHoldingRegistersAsync(slaveAddress, 500, 1, ct);
return reg[0] / (double)0xCCCC * ;
}
public virtual async Task (double , double , byte slaveAddress = 1, CancellationToken ct = default)
{
ushort value = (ushort)( / * 0xCCCC);
await WriteSingleRegisterAsync(slaveAddress, 501, value, ct);
}
public virtual async Task<double> (double , byte slaveAddress = 1, CancellationToken ct = default)
{
ushort[] reg = await ReadHoldingRegistersAsync(slaveAddress, 501, 1, ct);
return reg[0] / (double)0xCCCC * ;
}
public virtual async Task (double , double , byte slaveAddress = 1, CancellationToken ct = default)
{
ushort value = (ushort)( / * 0xCCCC);
await WriteSingleRegisterAsync(slaveAddress, 502, value, ct);
}
public virtual async Task<double> (double , byte slaveAddress = 1, CancellationToken ct = default)
{
ushort[] reg = await ReadHoldingRegistersAsync(slaveAddress, 502, 1, ct);
return reg[0] / (double)0xCCCC * ;
}
public virtual async Task (double , double , byte slaveAddress = 1, CancellationToken ct = default)
{
ushort value = (ushort)( / * 0xCCCC);
await WriteSingleRegisterAsync(slaveAddress, 503, value, ct);
}
public virtual async Task<double> (double , byte slaveAddress = 1, CancellationToken ct = default)
{
ushort[] reg = await ReadHoldingRegistersAsync(slaveAddress, 503, 1, ct);
return reg[0] / (double)0xCCCC * ;
}
#endregion
#region Sink功率设定
public virtual async Task Sink功率(double , double Sink额定功率, byte slaveAddress = 1, CancellationToken ct = default)
{
ushort value = (ushort)( / Sink额定功率 * 0xCCCC);
await WriteSingleRegisterAsync(slaveAddress, 498, value, ct);
}
public virtual async Task<double> Sink功率(double Sink额定功率, byte slaveAddress = 1, CancellationToken ct = default)
{
ushort[] reg = await ReadHoldingRegistersAsync(slaveAddress, 498, 1, ct);
return reg[0] / (double)0xCCCC * Sink额定功率;
}
#endregion
}
}