Added multi string handling and balancing

This commit is contained in:
Matthias Heisig
2025-02-13 21:26:50 +01:00
parent f9df0a5180
commit 2ded890dd4
14 changed files with 554 additions and 302 deletions

View File

@@ -2,6 +2,12 @@
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.8">
<GVL Name="GVL_CONFIG" Id="{0773bf51-0237-454d-a970-cfd896054edb}">
<Declaration><![CDATA[{attribute 'qualified_only'}
VAR_GLOBAL CONSTANT
// ===========================
// Number of active strings
// ===========================
uiNumberOfStrings : UINT := 2;
END_VAR
VAR_GLOBAL PERSISTENT
// ===========================
// Unit hardware config
@@ -242,8 +248,8 @@ VAR_GLOBAL PERSISTENT
rPumpNegolytOnPower : REAL := 65.0;
// Pump discharge segment without inverter power (%)
rPumpPosolytDisChrgPower : REAL := 35.0;
rPumpNegolytDisChrgPower : REAL := 35.0;
rPumpPosolytDisChrgPower : REAL := 45.0;
rPumpNegolytDisChrgPower : REAL := 45.0;
// Unit voltage pumps shutoff threshold (Volt)
rPumpshutoffThreshold : REAL := 15.0;
@@ -252,7 +258,7 @@ VAR_GLOBAL PERSISTENT
rMinimumUnitVoltage : REAL := 55.0;
// Maximum unit voltage for fully charged (Volt)
rMaximumUnitVoltage : REAL := 79.0;
rMaximumUnitVoltage : REAL := 79.5;
// Delta value to minimum unit voltage for shutdown discharge (Volt)
rDeltaUnitVoltageShutdownDischarge : REAL := 5.0;
@@ -270,11 +276,11 @@ VAR_GLOBAL PERSISTENT
// Maximum allowed charging power (Watt) per String
// 24.000 W -> 2.000 W per Unit
diMaxStringChargingPower : DINT := -24_000;
diMaxStringChargingPower : DINT := -50_000;
// Maximum allowed discharging power (Watt) per String
// 24.000 W -> 2.000 W per Unit
diMaxStringDischargePower : DINT := 24_000;
diMaxStringDischargePower : DINT := 50_000;
// Inverter ip address for string 1
sInverterIpString1 : STRING := '192.168.42.10';