Update SinexcelRecord modbus with new registers reading and writing

This commit is contained in:
atef 2025-11-12 16:08:40 +01:00
parent ed5609689b
commit 09bd11740f
1 changed files with 41 additions and 2 deletions

View File

@ -287,8 +287,7 @@ public partial class SinexcelRecord
[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>(15520, writable: true)] private UInt32 _batteryVoltageRating; // 0x3CA0
[HoldingRegister<UInt32>(15524, writable: true)] private UInt32 _battery1Activation; // 0x3CA4
[HoldingRegister<UInt32>(15526, writable: true)] private UInt32 _battery2Activation; // 0x3CA6
@ -309,5 +308,45 @@ public partial class SinexcelRecord
[HoldingRegister<UInt32>(41234)] private UInt32 _electricMeterAPhaseActivePower; // 0xA112
[HoldingRegister<UInt32>(41236)] private UInt32 _electricMeterBPhaseActivePower; // 0xA114
[HoldingRegister<UInt32>(41238)] private UInt32 _electricMeterCPhaseActivePower; // 0xA116
/*
// ───────────────────────────────────────────────
// Battery Cabinet 1 — Energy / Pack measurements (read-only)
// ───────────────────────────────────────────────
[HoldingRegister<UInt32>(45308)] private UInt32 _batteryCab1TotalChargingEnergy; // 0xB0FC kW·h
[HoldingRegister<UInt32>(45310)] private UInt32 _batteryCab1TotalDischargedEnergy; // 0xB0FE kW·h
[HoldingRegister<UInt32>(45312)] private UInt32 _batteryCab1PackTotalVoltage; // 0xB100 (resolution 0.01 V)
[HoldingRegister<UInt32>(45314)] private UInt32 _batteryCab1PackTotalCurrent; // 0xB102 (resolution 0.01 A)
[HoldingRegister<UInt32>(45316)] private UInt32 _batteryCab1Temperature; // 0xB104 (resolution 0.01 °C)
[HoldingRegister<UInt32>(45318)] private UInt32 _batteryCab1Soc; // 0xB106 %
[HoldingRegister<UInt32>(45320)] private UInt32 _batteryCab1Soh; // 0xB108 %
// ───────────────────────────────────────────────
// Battery Cabinet 2 — Energy / Pack Measurements (Read-Only)
// ───────────────────────────────────────────────
[HoldingRegister<UInt32>(45564)] private UInt32 _batteryCab2TotalChargingEnergy; // 0xB1FC kW·h
[HoldingRegister<UInt32>(45566)] private UInt32 _batteryCab2TotalDischargedEnergy; // 0xB1FE kW·h
[HoldingRegister<UInt32>(45568)] private UInt32 _batteryCab2PackTotalVoltage; // 0xB200 (0.01 V)
[HoldingRegister<UInt32>(45570)] private UInt32 _batteryCab2PackTotalCurrent; // 0xB202 (0.01 A)
[HoldingRegister<UInt32>(45572)] private UInt32 _batteryCab2Temperature; // 0xB204 (0.01 °C)
[HoldingRegister<UInt32>(45574)] private UInt32 _batteryCab2Soc; // 0xB206 %
[HoldingRegister<UInt32>(45576)] private UInt32 _batteryCab2Soh; // 0xB208 %
// ───────────────────────────────────────────────
// Time-based scheduling (period 1) configuration
// ───────────────────────────────────────────────
[HoldingRegister<UInt32>(49332, writable: true)] private UInt32 _repetitiveWeeks; // 0xC0B4, bit flags SunSat
[HoldingRegister<UInt32>(49334, writable: true)] private UInt32 _effectiveStartDate; // 0xC0B6, UNIX timestamp (UTC+offset)
[HoldingRegister<UInt32>(49336, writable: true)] private UInt32 _effectiveEndDate; // 0xC0B8, UNIX timestamp (UTC+offset)
[HoldingRegister<UInt32>(49338, writable: true)] private UInt32 _chargingPowerPeriod1; // 0xC0BA, float [050] kW, default 5
// ───────────────────────────────────────────────
// Time-based charge/discharge schedule period 1
// ───────────────────────────────────────────────
[HoldingRegister<UInt32>(49172, writable: true)] private UInt32 _chargeStartTimePeriod1; // 0xC014 [0-2359] (start)
[HoldingRegister<UInt32>(49174, writable: true)] private UInt32 _chargeEndTimePeriod1; // 0xC016 [0-2359] (end)
[HoldingRegister<UInt32>(49176, writable: true)] private UInt32 _dischargeStartTimePeriod1; // 0xC018 [0-2359] (start)
[HoldingRegister<UInt32>(49178, writable: true)] private UInt32 _dischargeEndTimePeriod1; // 0xC01A [0-2359] (end)
*/
}