From b68542db27cc31105cb79af6fe91f120f91452ca Mon Sep 17 00:00:00 2001 From: ig Date: Fri, 26 May 2023 11:38:37 +0200 Subject: [PATCH] Add project for Adam6360D --- .../Lib/Devices/Adam6360D/Adam6360DDevice.cs | 18 +++++++++++ .../Devices/Adam6360D/Adam6360DRegisters.cs | 32 +++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 csharp/Lib/Devices/Adam6360D/Adam6360DDevice.cs create mode 100644 csharp/Lib/Devices/Adam6360D/Adam6360DRegisters.cs diff --git a/csharp/Lib/Devices/Adam6360D/Adam6360DDevice.cs b/csharp/Lib/Devices/Adam6360D/Adam6360DDevice.cs new file mode 100644 index 000000000..d2b754de4 --- /dev/null +++ b/csharp/Lib/Devices/Adam6360D/Adam6360DDevice.cs @@ -0,0 +1,18 @@ +using InnovEnergy.Lib.Protocols.Modbus.Channels; +using InnovEnergy.Lib.Protocols.Modbus.Clients; +using InnovEnergy.Lib.Protocols.Modbus.Slaves; + +namespace InnovEnergy.Lib.Devices.Adam6060; + +public class Adam6360DDevice : ModbusDevice +{ + + public Adam6360DDevice(String hostname, Byte slaveId, UInt16 port = 502) : + this(new TcpChannel(hostname, port), slaveId) + { + } + + public Adam6360DDevice(Channel channel, Byte slaveId) : base(new ModbusTcpClient(channel, slaveId)) + { + } +} \ No newline at end of file diff --git a/csharp/Lib/Devices/Adam6360D/Adam6360DRegisters.cs b/csharp/Lib/Devices/Adam6360D/Adam6360DRegisters.cs new file mode 100644 index 000000000..8a146ee5d --- /dev/null +++ b/csharp/Lib/Devices/Adam6360D/Adam6360DRegisters.cs @@ -0,0 +1,32 @@ +using System.Diagnostics.CodeAnalysis; +using InnovEnergy.Lib.Protocols.Modbus.Reflection.Attributes; + +namespace InnovEnergy.Lib.Devices.Adam6060; + +[SuppressMessage("ReSharper", "UnusedAutoPropertyAccessor.Local")] +[SuppressMessage("ReSharper", "UnusedMember.Global")] +public class Adam6360DRegisters +{ + [DiscreteInput(1)] public Boolean DigitalInput0 { get; private set; } + [DiscreteInput(2)] public Boolean DigitalInput1 { get; private set; } + [DiscreteInput(3)] public Boolean DigitalInput2 { get; private set; } + [DiscreteInput(4)] public Boolean DigitalInput3 { get; private set; } + [DiscreteInput(5)] public Boolean DigitalInput4 { get; private set; } + [DiscreteInput(6)] public Boolean DigitalInput5 { get; private set; } + [DiscreteInput(7)] public Boolean DigitalInput6 { get; private set; } + [DiscreteInput(8)] public Boolean DigitalInput7 { get; private set; } + [DiscreteInput(9)] public Boolean DigitalInput8 { get; private set; } + [DiscreteInput(10)] public Boolean DigitalInput9 { get; private set; } + [DiscreteInput(11)] public Boolean DigitalInput10 { get; private set; } + [DiscreteInput(12)] public Boolean DigitalInput11 { get; private set; } + [DiscreteInput(13)] public Boolean DigitalInput12 { get; private set; } + + [Coil(33)] public Boolean Relay0 { get; set; } + [Coil(34)] public Boolean Relay1 { get; set; } + [Coil(35)] public Boolean Relay2 { get; set; } + [Coil(36)] public Boolean Relay3 { get; set; } + [Coil(37)] public Boolean Relay4 { get; set; } + [Coil(38)] public Boolean Relay5 { get; set; } + [Coil(39)] public Boolean Relay6 { get; set; } + [Coil(40)] public Boolean Relay7 { get; set; } +} \ No newline at end of file