313 lines
26 KiB
C#
313 lines
26 KiB
C#
using System.Diagnostics.CodeAnalysis;
|
|
using InnovEnergy.Lib.Protocols.Modbus.Reflection.Attributes;
|
|
using InnovEnergy.Lib.Units;
|
|
using InnovEnergy.Lib.Units.Power;
|
|
// ReSharper disable InconsistentNaming
|
|
#pragma warning disable CS0169 // Field is never used
|
|
#pragma warning disable CS0649 // Field is never assigned to, and will always have its default value
|
|
|
|
namespace InnovEnergy.Lib.Devices.Sinexcel_12K_TL;
|
|
|
|
[BigEndian]
|
|
public partial class SinexcelRecord
|
|
{
|
|
/****************************** Input registers ****************************/
|
|
// Voltages
|
|
[HoldingRegister<UInt32>(4096)] public UInt32 _gridAPhaseVoltage; // 0x1000
|
|
[HoldingRegister<UInt32>(4098)] private UInt32 _grid_B_Phase_Voltage; // 0x1002
|
|
[HoldingRegister<UInt32>(4100)] private UInt32 _grid_C_Phase_Voltage; // 0x1004
|
|
|
|
// Line-to-line Voltages (V)
|
|
[HoldingRegister<UInt32>(4102)] private UInt32 _grid_AB_Wire_Voltage; // 0x1006
|
|
[HoldingRegister<UInt32>(4104)] private UInt32 _grid_BC_Wire_Voltage; // 0x1008
|
|
[HoldingRegister<UInt32>(4106)] private UInt32 _grid_CA_Wire_Voltage; // 0x100A
|
|
|
|
// Frequency (Hz)
|
|
[HoldingRegister<UInt32>(4114)] private UInt32 _grid_Voltage_Frequency; // 0x1012
|
|
|
|
// Currents (A)
|
|
[HoldingRegister<UInt32>(4116)] private UInt32 _grid_A_Phase_Current; // 0x1014
|
|
[HoldingRegister<UInt32>(4118)] private UInt32 _grid_B_Phase_Current; // 0x1016
|
|
[HoldingRegister<UInt32>(4120)] private UInt32 _grid_C_Phase_Current; // 0x1018
|
|
[HoldingRegister<UInt32>(4122)] private UInt32 _grid_N_Wire_Current; // 0x101A*/
|
|
|
|
// ───────────────────────────────────────────────
|
|
// Power Measurements
|
|
// ───────────────────────────────────────────────
|
|
|
|
// Apparent Power (kVA)
|
|
[HoldingRegister<UInt32>(4136)] private UInt32 _gridAPhaseApparentPower; // 0x1028
|
|
[HoldingRegister<UInt32>(4138)] private UInt32 _gridBPhaseApparentPower; // 0x102A
|
|
[HoldingRegister<UInt32>(4140)] private UInt32 _gridCPhaseApparentPower; // 0x102C
|
|
|
|
// Active Power (kW)
|
|
[HoldingRegister<UInt32>(4142)] private UInt32 _gridAPhaseActivePower; // 0x102E
|
|
[HoldingRegister<UInt32>(4144)] private UInt32 _gridBPhaseActivePower; // 0x1030
|
|
[HoldingRegister<UInt32>(4146)] private UInt32 _gridCPhaseActivePower; // 0x1032
|
|
|
|
// Reactive Power (kVar)
|
|
[HoldingRegister<UInt32>(4148)] private UInt32 _gridAPhaseReactivePower; // 0x1034
|
|
[HoldingRegister<UInt32>(4150)] private UInt32 _gridBPhaseReactivePower; // 0x1036
|
|
[HoldingRegister<UInt32>(4152)] private UInt32 _gridCPhaseReactivePower; // 0x1038
|
|
|
|
// ───────────────────────────────────────────────
|
|
// Load Voltages (V)
|
|
// ───────────────────────────────────────────────
|
|
[HoldingRegister<UInt32>(4166)] private UInt32 _loadAPhaseVoltage; // 0x1046
|
|
[HoldingRegister<UInt32>(4168)] private UInt32 _loadBPhaseVoltage; // 0x1048
|
|
[HoldingRegister<UInt32>(4170)] private UInt32 _loadCPhaseVoltage; // 0x104A
|
|
[HoldingRegister<UInt32>(4172)] private UInt32 _loadABWireVoltage; // 0x104C
|
|
[HoldingRegister<UInt32>(4174)] private UInt32 _loadBCWireVoltage; // 0x104E
|
|
[HoldingRegister<UInt32>(4176)] private UInt32 _loadCAWireVoltage; // 0x1050
|
|
[HoldingRegister<UInt32>(4184)] private UInt32 _loadVoltageFrequency; // 0x1058
|
|
|
|
// ───────────────────────────────────────────────
|
|
// Load Currents (A)
|
|
// ───────────────────────────────────────────────
|
|
[HoldingRegister<UInt32>(4186)] private UInt32 _loadAPhaseCurrent; // 0x105A
|
|
[HoldingRegister<UInt32>(4188)] private UInt32 _loadBPhaseCurrent; // 0x105C
|
|
[HoldingRegister<UInt32>(4190)] private UInt32 _loadCPhaseCurrent; // 0x105E
|
|
[HoldingRegister<UInt32>(4192)] private UInt32 _loadNWireCurrent; // 0x1060
|
|
|
|
// ───────────────────────────────────────────────
|
|
// Load Apparent Power (kVA)
|
|
// ───────────────────────────────────────────────
|
|
[HoldingRegister<UInt32>(4206)] private UInt32 _loadAPhaseApparentPower; // 0x106E
|
|
[HoldingRegister<UInt32>(4208)] private UInt32 _loadBPhaseApparentPower; // 0x1070
|
|
[HoldingRegister<UInt32>(4210)] private UInt32 _loadCPhaseApparentPower; // 0x1072
|
|
|
|
// ───────────────────────────────────────────────
|
|
// Load Active Power (kW)
|
|
// ───────────────────────────────────────────────
|
|
[HoldingRegister<UInt32>(4212)] private UInt32 _loadAPhaseActivePower; // 0x1074
|
|
[HoldingRegister<UInt32>(4214)] private UInt32 _loadBPhaseActivePower; // 0x1076
|
|
[HoldingRegister<UInt32>(4216)] private UInt32 _loadCPhaseActivePower; // 0x1078
|
|
|
|
// ───────────────────────────────────────────────
|
|
// Load Reactive Power (kVar)
|
|
// ───────────────────────────────────────────────
|
|
[HoldingRegister<UInt32>(4218)] private UInt32 _loadAPhaseReactivePower; // 0x107A
|
|
[HoldingRegister<UInt32>(4220)] private UInt32 _loadBPhaseReactivePower; // 0x107C
|
|
[HoldingRegister<UInt32>(4222)] private UInt32 _loadCPhaseReactivePower; // 0x107E
|
|
|
|
// ───────────────────────────────────────────────
|
|
// Inverter Voltages (V)
|
|
// ───────────────────────────────────────────────
|
|
[HoldingRegister<UInt32>(4242)] private UInt32 _inverterAPhaseVoltage; // 0x1092
|
|
[HoldingRegister<UInt32>(4244)] private UInt32 _inverterBPhaseVoltage; // 0x1094
|
|
[HoldingRegister<UInt32>(4246)] private UInt32 _inverterCPhaseVoltage; // 0x1096
|
|
[HoldingRegister<UInt32>(4248)] private UInt32 _inverterABWireVoltage; // 0x1098
|
|
[HoldingRegister<UInt32>(4250)] private UInt32 _inverterBCWireVoltage; // 0x109A
|
|
[HoldingRegister<UInt32>(4252)] private UInt32 _inverterCAWireVoltage; // 0x109C
|
|
|
|
// ───────────────────────────────────────────────
|
|
// Inverter Active Power (kW)
|
|
// ───────────────────────────────────────────────
|
|
[HoldingRegister<UInt32>(4288)] private UInt32 _inverterAPhaseActivePower; // 0x10C0
|
|
[HoldingRegister<UInt32>(4290)] private UInt32 _inverterBPhaseActivePower; // 0x10C2
|
|
[HoldingRegister<UInt32>(4292)] private UInt32 _inverterCPhaseActivePower; // 0x10C4
|
|
|
|
// ───────────────────────────────────────────────
|
|
// DC/AC Temperatures (°C)
|
|
// ───────────────────────────────────────────────
|
|
[HoldingRegister<UInt32>(4318)] private UInt32 _dcacTemperature1; // 0x10DE
|
|
[HoldingRegister<UInt32>(4320)] private UInt32 _dcacTemperature2; // 0x10E0
|
|
[HoldingRegister<UInt32>(4322)] private UInt32 _dcacTemperature3; // 0x10E2
|
|
[HoldingRegister<UInt32>(4324)] private UInt32 _dcacTemperature4; // 0x10E4
|
|
[HoldingRegister<UInt32>(4326)] private UInt32 _dcacTemperature5; // 0x10E6
|
|
|
|
// ───────────────────────────────────────────────
|
|
// Date / Time Information
|
|
// ───────────────────────────────────────────────
|
|
[HoldingRegister<UInt32>(4338)] private UInt32 _year; // 0x10F2
|
|
[HoldingRegister<UInt32>(4340)] private UInt32 _month; // 0x10F4
|
|
[HoldingRegister<UInt32>(4342)] private UInt32 _day; // 0x10F6
|
|
[HoldingRegister<UInt32>(4344)] private UInt32 _hour; // 0x10F8
|
|
[HoldingRegister<UInt32>(4346)] private UInt32 _minute; // 0x10FA
|
|
[HoldingRegister<UInt32>(4348)] private UInt32 _second; // 0x10FC
|
|
|
|
// ───────────────────────────────────────────────
|
|
// Diesel Generator Measurements
|
|
// ───────────────────────────────────────────────
|
|
[HoldingRegister<UInt32>(4362)] private UInt32 _dieselGenAPhaseVoltage; // 0x110A
|
|
[HoldingRegister<UInt32>(4364)] private UInt32 _dieselGenBPhaseVoltage; // 0x110C
|
|
[HoldingRegister<UInt32>(4366)] private UInt32 _dieselGenCPhaseVoltage; // 0x110E
|
|
[HoldingRegister<UInt32>(4368)] private UInt32 _dieselGenABWireVoltage; // 0x1110
|
|
[HoldingRegister<UInt32>(4370)] private UInt32 _dieselGenBCWireVoltage; // 0x1112
|
|
[HoldingRegister<UInt32>(4372)] private UInt32 _dieselGenCAWireVoltage; // 0x1114
|
|
[HoldingRegister<UInt32>(4380)] private UInt32 _dieselGenVoltageFrequency; // 0x111C
|
|
[HoldingRegister<UInt32>(4382)] private UInt32 _dieselGenAPhaseCurrent; // 0x111E
|
|
[HoldingRegister<UInt32>(4384)] private UInt32 _dieselGenBPhaseCurrent; // 0x1120
|
|
[HoldingRegister<UInt32>(4386)] private UInt32 _dieselGenCPhaseCurrent; // 0x1122
|
|
[HoldingRegister<UInt32>(4388)] private UInt32 _dieselGenNWireCurrent; // 0x1124
|
|
[HoldingRegister<UInt32>(4402)] private UInt32 _dieselGenAPhaseApparentPower; // 0x1132
|
|
[HoldingRegister<UInt32>(4404)] private UInt32 _dieselGenBPhaseApparentPower; // 0x1134
|
|
[HoldingRegister<UInt32>(4406)] private UInt32 _dieselGenCPhaseApparentPower; // 0x1136
|
|
[HoldingRegister<UInt32>(4408)] private UInt32 _dieselGenAPhaseActivePower; // 0x1138
|
|
[HoldingRegister<UInt32>(4410)] private UInt32 _dieselGenBPhaseActivePower; // 0x113A
|
|
[HoldingRegister<UInt32>(4412)] private UInt32 _dieselGenCPhaseActivePower; // 0x113C
|
|
[HoldingRegister<UInt32>(4414)] private UInt32 _dieselGenAPhaseReactivePower; // 0x113E
|
|
[HoldingRegister<UInt32>(4416)] private UInt32 _dieselGenBPhaseReactivePower; // 0x1140
|
|
[HoldingRegister<UInt32>(4418)] private UInt32 _dieselGenCPhaseReactivePower; // 0x1142
|
|
|
|
// ───────────────────────────────────────────────
|
|
// Photovoltaic and Battery Measurements
|
|
// ───────────────────────────────────────────────
|
|
[HoldingRegister<UInt32>(4608)] private UInt32 _pvVoltage1; // 0x1200
|
|
[HoldingRegister<UInt32>(4610)] private UInt32 _pvCurrent1; // 0x1202
|
|
[HoldingRegister<UInt32>(4612)] private UInt32 _pvPower1; // 0x1204
|
|
[HoldingRegister<UInt32>(4614)] private UInt32 _pvVoltage2; // 0x1206
|
|
[HoldingRegister<UInt32>(4616)] private UInt32 _pvCurrent2; // 0x1208
|
|
[HoldingRegister<UInt32>(4618)] private UInt32 _pvPower2; // 0x120A
|
|
|
|
[HoldingRegister<UInt32>(4620)] private UInt32 _batteryVoltage1; // 0x120C
|
|
[HoldingRegister<UInt32>(4622)] private UInt32 _batteryCurrent1; // 0x120E
|
|
[HoldingRegister<UInt32>(4624)] private UInt32 _batteryPower1; // 0x1210
|
|
[HoldingRegister<UInt32>(4626)] private UInt32 _batterySoc1; // 0x1212
|
|
[HoldingRegister<UInt32>(4628)] private UInt32 _batteryFullLoadDuration1; // 0x1214
|
|
|
|
[HoldingRegister<UInt32>(4630)] private UInt32 _batteryVoltage2; // 0x1216
|
|
[HoldingRegister<UInt32>(4632)] private UInt32 _batteryCurrent2; // 0x1218
|
|
[HoldingRegister<UInt32>(4634)] private UInt32 _batteryPower2; // 0x121A
|
|
[HoldingRegister<UInt32>(4636)] private UInt32 _batterySoc2; // 0x121C
|
|
[HoldingRegister<UInt32>(4638)] private UInt32 _batteryFullLoadDuration2; // 0x121E
|
|
|
|
[HoldingRegister<UInt32>(4640)] private UInt32 _dcdcTemperature1; // 0x1220
|
|
[HoldingRegister<UInt32>(4642)] private UInt32 _dcdcTemperature2; // 0x1222
|
|
[HoldingRegister<UInt32>(4644)] private UInt32 _dcdcTemperature3; // 0x1224
|
|
[HoldingRegister<UInt32>(4646)] private UInt32 _dcdcTemperature4; // 0x1226
|
|
[HoldingRegister<UInt32>(4648)] private UInt32 _dcdcTemperature5; // 0x1228
|
|
|
|
// ───────────────────────────────────────────────
|
|
// Energy and Power Summary
|
|
// ───────────────────────────────────────────────
|
|
[HoldingRegister<UInt32>(4672)] private UInt32 _electricityPurchased; // 0x1240
|
|
[HoldingRegister<UInt32>(4674)] private UInt32 _electricityFed; // 0x1242
|
|
[HoldingRegister<UInt32>(4700)] private UInt32 _selfGeneratedElectricity; // 0x125C
|
|
[HoldingRegister<UInt32>(4702)] private UInt32 _batteryCharge; // 0x125E
|
|
[HoldingRegister<UInt32>(4704)] private UInt32 _batteryDischarge; // 0x1260
|
|
[HoldingRegister<UInt32>(4706)] private UInt32 _loadPowerConsumption; // 0x1262
|
|
[HoldingRegister<UInt32>(4708)] private UInt32 _dailySelfGeneratedElectricity; // 0x1264
|
|
[HoldingRegister<UInt32>(4710)] private UInt32 _dailyElectricityPurchased; // 0x1266
|
|
[HoldingRegister<UInt32>(4712)] private UInt32 _dailyElectricityFed; // 0x1268
|
|
[HoldingRegister<UInt32>(4714)] private UInt32 _dailyBatteryCharge; // 0x126A
|
|
[HoldingRegister<UInt32>(4716)] private UInt32 _dailyBatteryDischarge; // 0x126C
|
|
[HoldingRegister<UInt32>(4718)] private UInt32 _dailyLoadPowerConsumption; // 0x126E
|
|
[HoldingRegister<UInt32>(4720)] private UInt32 _totalPhotovoltaicPower; // 0x1270
|
|
[HoldingRegister<UInt32>(4722)] private UInt32 _totalBatteryPower; // 0x1272
|
|
[HoldingRegister<UInt32>(4724)] private UInt32 _totalLoadPower; // 0x1274
|
|
[HoldingRegister<UInt32>(4726)] private UInt32 _totalGridPower; // 0x1276
|
|
[HoldingRegister<UInt32>(4728)] private UInt32 _importantLoadTotalPower; // 0x1278
|
|
[HoldingRegister<UInt32>(4730)] private UInt32 _generalLoadTotalPower; // 0x127A
|
|
[HoldingRegister<UInt32>(4732)] private UInt32 _pv3Voltage; // 0x127C
|
|
[HoldingRegister<UInt32>(4734)] private UInt32 _pv3Current; // 0x127E
|
|
[HoldingRegister<UInt32>(4736)] private UInt32 _pv3Power; // 0x1280
|
|
[HoldingRegister<UInt32>(4738)] private UInt32 _pv4Voltage; // 0x1282
|
|
[HoldingRegister<UInt32>(4740)] private UInt32 _pv4Current; // 0x1284
|
|
[HoldingRegister<UInt32>(4742)] private UInt32 _pv4Power; // 0x1286
|
|
[HoldingRegister<UInt32>(4744)] private UInt32 _generatorTotalPower; // 0x128C
|
|
// ───────────────────────────────────────────────
|
|
// Manufacturer Information & Software Versions
|
|
// ───────────────────────────────────────────────
|
|
[HoldingRegister<UInt16>(8192)] private UInt16 _protocolVersionNo; // 0x2000
|
|
[HoldingRegister<UInt16>(8193)] private UInt16 _dcacSoftwareVersionNo; // 0x2001
|
|
[HoldingRegister<UInt16>(8194)] private UInt16 _dcdcSoftwareVersionNo; // 0x2002
|
|
[HoldingRegister<UInt16>(8195)] private UInt16 _armSoftwareVersionNo; // 0x2003
|
|
[HoldingRegister<UInt16>(8196)] private UInt16 _cpldVersion; // 0x2004
|
|
[HoldingRegister<UInt16>(8197)] private UInt16 _afciSoftwareVersionNo; // 0x2005
|
|
[HoldingRegister<UInt16>(8198)] private UInt16 _machineType; // 0x2006
|
|
// ───────────────────────────────────────────────
|
|
// Device Info & Model
|
|
// ───────────────────────────────────────────────
|
|
[HoldingRegister<UInt16>(8199)] private UInt16 _remain; // 0x2007
|
|
[HoldingRegister<UInt16>(8200)] private UInt16 _ratedPower; // 0x2008 (value / 100 = kVA)
|
|
[HoldingRegister<UInt16>(8205)] private UInt16 _model; // 0x200D
|
|
|
|
// ───────────────────────────────────────────────
|
|
// System configuration / operation registers
|
|
// ───────────────────────────────────────────────
|
|
[HoldingRegister<UInt32>(12294, writable: true)] private UInt32 _threePhaseWireSystem; // 0x3006
|
|
[HoldingRegister<UInt32>(12296, writable: true)] private UInt32 _remainnotused; // 0x3008
|
|
[HoldingRegister<UInt32>(12298, writable: true)] private UInt32 _inputFrequencyClass; // 0x300A
|
|
[HoldingRegister<UInt32>(12300, writable: true)] private UInt32 _workingMode; // 0x300C
|
|
[HoldingRegister<UInt32>(12302, writable: true)] private UInt32 _methodSwitchMode; // 0x300E
|
|
// ───────────────────────────────────────────────
|
|
// Inverter Control and Protection Configuration
|
|
// ───────────────────────────────────────────────
|
|
[HoldingRegister<UInt32>(12304, writable: true)] private UInt32 _enableOnGridUnbalanceCompensation; // 0x3010
|
|
[HoldingRegister<UInt32>(12306, writable: true)] private UInt32 _temperatureDrop; // 0x3012
|
|
[HoldingRegister<UInt32>(12308, writable: true)] private UInt32 _hvrt; // 0x3014
|
|
[HoldingRegister<UInt32>(12310, writable: true)] private UInt32 _lvrt; // 0x3016
|
|
[HoldingRegister<UInt32>(12312, writable: true)] private UInt32 _fanGear; // 0x3018
|
|
|
|
// ───────────────────────────────────────────────
|
|
// Battery & PV Configuration
|
|
// ───────────────────────────────────────────────
|
|
[HoldingRegister<UInt32>(12336, writable: true)] private UInt32 _batteryAccessMethod; // 0x3030
|
|
[HoldingRegister<UInt32>(12338, writable: true)] private UInt32 _meterAccessEnable; // 0x3032
|
|
[HoldingRegister<UInt32>(12340, writable: true)] private UInt32 _enableBattery1; // 0x3034
|
|
[HoldingRegister<UInt32>(12342, writable: true)] private UInt32 _enableBattery2; // 0x3036
|
|
[HoldingRegister<UInt32>(12344, writable: true)] private UInt32 _enablePv1; // 0x3038
|
|
[HoldingRegister<UInt32>(12346, writable: true)] private UInt32 _enablePv2; // 0x303A
|
|
[HoldingRegister<UInt32>(12348, writable: true)] private UInt32 _batteryType; // 0x303C
|
|
[HoldingRegister<UInt32>(12350, writable: true)] private UInt32 _batteryCapacity1; // 0x303E
|
|
[HoldingRegister<UInt32>(12352, writable: true)] private UInt32 _maxChargingCurrentBattery1; // 0x3040
|
|
[HoldingRegister<UInt32>(12354, writable: true)] private UInt32 _maxDischargingCurrentBattery1; // 0x3042
|
|
[HoldingRegister<UInt32>(12362, writable: true)] private UInt32 _ratedBatteryVoltage1; // 0x304A
|
|
[HoldingRegister<UInt32>(12358, writable: true)] private UInt32 _minSocBattery1; // 0x3046
|
|
[HoldingRegister<UInt32>(12360, writable: true)] private UInt32 _setValueBattery1; // 0x3048
|
|
[HoldingRegister<UInt32>(12364, writable: true)] private UInt32 _activeChargeDischarge; // 0x304A
|
|
[HoldingRegister<UInt32>(12366, writable: true)] private UInt32 _activeChargeDischargePower; // 0x304C
|
|
[HoldingRegister<UInt32>(12380, writable: true)] private UInt32 _enableIslandProtection; // 0x305C
|
|
[HoldingRegister<UInt32>(12382, writable: true)] private UInt32 _pvAccessMode; // 0x305E
|
|
|
|
// ───────────────────────────────────────────────
|
|
// System & Battery-2 Configuration
|
|
// ───────────────────────────────────────────────
|
|
[HoldingRegister<UInt32>(12384, writable: true)] private UInt32 _outputVoltageAdjustmentFactor; // 0x3060
|
|
[HoldingRegister<UInt32>(12386, writable: true)] private UInt32 _setValueBatteryUndervoltage1; // 0x3062
|
|
[HoldingRegister<UInt32>(12388, writable: true)] private UInt32 _inverterPowerLimit; // 0x3064
|
|
[HoldingRegister<UInt32>(12400, writable: true)] private UInt32 _battery2Capacity; // 0x30B0
|
|
[HoldingRegister<UInt32>(12402, writable: true)] private UInt32 _maxChargingCurrentBattery2; // 0x30B2
|
|
[HoldingRegister<UInt32>(12404, writable: true)] private UInt32 _maxDischargingCurrentBattery2; // 0x30B4
|
|
[HoldingRegister<UInt32>(12406, writable: true)] private UInt32 _battery2RatedVoltage; // 0x30B6
|
|
[HoldingRegister<UInt32>(12408, writable: true)] private UInt32 _battery2MinSoc; // 0x30B8
|
|
[HoldingRegister<UInt32>(12410, writable: true)] private UInt32 _battery2OverVoltageSetting; // 0x30BA
|
|
[HoldingRegister<UInt32>(12412, writable: true)] private UInt32 _battery2UnderVoltageSetpoint; // 0x30BC
|
|
|
|
[HoldingRegister<UInt32>(12414, writable: true)] private UInt32 _singleOrParallelMachine; // 0x30BE
|
|
[HoldingRegister<UInt32>(12416, writable: true)] private UInt32 _numberOfSystemModules; // 0x30C0
|
|
[HoldingRegister<UInt32>(12418, writable: true)] private UInt32 _parallelModuleMachineNumber; // 0x30C2
|
|
[HoldingRegister<UInt32>(12420, writable: true)] private UInt32 _accreditedCountries; // 0x30C4
|
|
|
|
// ───────────────────────────────────────────────
|
|
// System Control & Diagnostic Registers
|
|
// ───────────────────────────────────────────────
|
|
[HoldingRegister<UInt32>(15426, writable: true)] private UInt32 _powerOn; // 0x3C42
|
|
[HoldingRegister<UInt32>(15428, writable: true)] private UInt32 _powerOff; // 0x3C44
|
|
[HoldingRegister<UInt32>(15430, writable: true)] private UInt32 _faultClearing; // 0x3C46
|
|
[HoldingRegister<UInt32>(15518, writable: true)] private UInt32 _meterReverseManualDetection; // 0x3C9E
|
|
[HoldingRegister<UInt32>(15520, writable: true)] private UInt32 _batteryVoltage; // 0x3CA0
|
|
[HoldingRegister<UInt32>(15522, writable: true)] private UInt32 _batteryRating; // 0x3CA2
|
|
[HoldingRegister<UInt32>(15524, writable: true)] private UInt32 _battery1Activation; // 0x3CA4
|
|
[HoldingRegister<UInt32>(15526, writable: true)] private UInt32 _battery2Activation; // 0x3CA6
|
|
|
|
|
|
// ───────────────────────────────────────────────
|
|
// Electric Meter Measurements (Read-Only)
|
|
// ───────────────────────────────────────────────
|
|
[HoldingRegister<UInt32>(40960)] private UInt32 _electricMeterOperatingState; // 0xA000
|
|
|
|
[HoldingRegister<UInt32>(41216)] private UInt32 _electricMeterAPhaseVoltage; // 0xA100
|
|
[HoldingRegister<UInt32>(41218)] private UInt32 _electricMeterBPhaseVoltage; // 0xA102
|
|
[HoldingRegister<UInt32>(41220)] private UInt32 _electricMeterCPhaseVoltage; // 0xA104
|
|
|
|
[HoldingRegister<UInt32>(41222)] private UInt32 _electricMeterAPhaseCurrent; // 0xA106
|
|
[HoldingRegister<UInt32>(41224)] private UInt32 _electricMeterBPhaseCurrent; // 0xA108
|
|
[HoldingRegister<UInt32>(41226)] private UInt32 _electricMeterCPhaseCurrent; // 0xA10A
|
|
|
|
[HoldingRegister<UInt32>(41234)] private UInt32 _electricMeterAPhaseActivePower; // 0xA112
|
|
[HoldingRegister<UInt32>(41236)] private UInt32 _electricMeterBPhaseActivePower; // 0xA114
|
|
[HoldingRegister<UInt32>(41238)] private UInt32 _electricMeterCPhaseActivePower; // 0xA116
|
|
|
|
} |