Added safety program pre comissioning and started implementing different modes

This commit is contained in:
Matthias Heisig
2024-03-20 18:08:57 +01:00
parent 57987cb19f
commit ef26159a4f
55 changed files with 10419 additions and 1663 deletions

View File

@@ -77,7 +77,7 @@ VAR_GLOBAL
),
// Pressure posolyt tank inlet
stConfigPosolytPressureTankInlet := (iAIMax := 32767, iAIMin := 0, rPVMax := 1500, rPVMin := -1000, sUnit := 'mbar'),
stConfigPosolytPressureTankInlet := (iAIMax := 32767, iAIMin := 0, rPVMax := 2000, rPVMin := 0, sUnit := 'mbar'),
stEWLPosolytPressureTankInlet := (rErrorMin := -100, rWarningMin := -50, rWarningMax := 100, rErrorMax := 120),
stEWDPosolytPressureTankInlet :=
(
@@ -173,11 +173,15 @@ VAR_GLOBAL
rPumpPosolytOnPower : REAL := 70.0;
rPumpNegolytOnPower : REAL := 70.0;
// Pump discharge segment without inverter power (%)
rPumpPosolytDisChrgPower : REAL := 35.0;
rPumpNegolytDisChrgPower : REAL := 35.0;
// Unit voltage pumps shutoff threshold (Volt)
rPumpshutoffThreshold : REAL := 15.0;
// Minimum unit voltage required for inverter startup (Volt)
rMinimumUnitVoltage : REAL := 49.0;
rMinimumUnitVoltage : REAL := 50.0;
// Delta value to minimum unit voltage for shutdown discharge (Volt)
rDeltaUnitVoltageShutdownDischarge : REAL := 5.0;
@@ -193,26 +197,31 @@ VAR_GLOBAL
// Minimum absolute power command to enable battery (Watt)
diMinimumAbsPowerForEnable : DINT := 100;
// Maximum allowed charging power (Watt)
diMaxStringChargingPower : DINT := -30_000;
// Maximum allowed charging power (Watt) per String
// 60.000 W -> 5.000 W per Unit
diMaxStringChargingPower : DINT := -60_000;
// Maximum allowed discharging power (Watt)
diMaxStringDischargePower : DINT := 30_000;
// Maximum allowed discharging power (Watt) per String
// 60.000 W -> 5.000 W per Unit
diMaxStringDischargePower : DINT := 60_000;
// Inverter ip address
sInverterIp : STRING := '192.168.42.11';
// Absolute shutdown discharge power (Watt)
rAbsShutdownDischargePower : REAL := 5_000;
// 12.000 W -> 1.000 W per unit
rAbsShutdownDischargePower : REAL := 12_000;
// Allow inverter fast shutdown discharge
xShutdownDischargeWithInverter : BOOL := TRUE;
xShutdownDischargeWithInverter : BOOL := FALSE;
// String fully charged voltage (Volt)
rStringFullyChargedVoltage : REAL := 888.0;
// 960 V -> 80 V per Unit
rStringFullyChargedVoltage : REAL := 960.0;
// String empty voltage (Volt)
rStringEmptyVoltage : REAL := 672.0;
// String empty voltage (Volt) (585V is needed for the inverter to start up -> 50V per Segment)
// 600 V -> 50 V per Unit
rStringEmptyVoltage : REAL := 600.0;
// Unit wait startup time
timUnitStartupTime : TIME := T#5S;