Resolution 1/10°C // Index 0x80n0:19 "RTD Element" = PT100(0) stConfigVoltageSegment := (iAIMax := 32767, iAIMin := 0, rPVMax := 150, rPVMin := 0, sUnit := 'V'), stEWLVoltageSegment := (rErrorMin := 50, rWarningMin := 55, rWarningMax := 77, rErrorMax := 80), stEWDVoltageSegment := ( timHardwareSignalLevelOn := T#0S, timHardwareSignalLevelOff := T#5S, timErrorLowOn := T#1S, timErrorLowOff := T#5S, timWarningLowOn := T#1S, timWarningLowOff := T#5S, timWarningHighOn := T#1S, timWarningHighOff := T#5S, timErrorHighOn := T#1S, timErrorHighOff := T#5S ), rMaxDeltaPSegmentInlet := 50.0 ); // =========================== // SCS Current measurement settings // =========================== stConfigSCSCurrent : ST_ANALOG_IO_CONFIG := (iAIMax := 32767, iAIMin := 0, rPVMax := 200, rPVMin := 0, sUnit := 'A'); stEWLSCSCurrent : ST_ANALOG_EW_LEVELS; stEWDSCSCurrent : ST_ANALOG_EW_DELAYS; // =========================== // Part shortage workaround // =========================== stConfigVoltageSegment1500 : ST_ANALOG_IO_CONFIG := (iAIMax := 32767, iAIMin := 0, rPVMax := 1500, rPVMin := 0, sUnit := 'V'); stString1VoltageConfig : ST_STRING_VOLT_CONFIG := ( stModule1VoltConfig := ( xUnit1Is1500V := FALSE, xUnit2Is1500V := TRUE, xUnit3Is1500V := TRUE, xUnit4Is1500V := TRUE ), stModule2VoltConfig := ( xUnit1Is1500V := FALSE, xUnit2Is1500V := FALSE, xUnit3Is1500V := FALSE, xUnit4Is1500V := FALSE ), stModule3VoltConfig := ( xUnit1Is1500V := FALSE, xUnit2Is1500V := TRUE, xUnit3Is1500V := TRUE, xUnit4Is1500V := TRUE ) ); stString2VoltageConfig : ST_STRING_VOLT_CONFIG := ( stModule1VoltConfig := ( xUnit1Is1500V := FALSE, xUnit2Is1500V := TRUE, xUnit3Is1500V := TRUE, xUnit4Is1500V := TRUE ), stModule2VoltConfig := ( xUnit1Is1500V := FALSE, xUnit2Is1500V := TRUE, xUnit3Is1500V := TRUE, xUnit4Is1500V := TRUE ), stModule3VoltConfig := ( xUnit1Is1500V := FALSE, xUnit2Is1500V := TRUE, xUnit3Is1500V := TRUE, xUnit4Is1500V := TRUE ) ); // =========================== // General settings // =========================== // Pump on power (%) rPumpPosolytOnPower : REAL := 65.0; rPumpNegolytOnPower : REAL := 65.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 := 55.0; // Delta value to minimum unit voltage for shutdown discharge (Volt) rDeltaUnitVoltageShutdownDischarge : REAL := 5.0; // Maximum absolute voltage difference // between units in the same module rMaxAbsDiffVoltageUnitsOnModule : REAL := 10.0; // Maximum absolute voltage difference // between Modules (Volt) rMaxAbsDiffVoltageModulesInString : REAL := 20.0; // Minimum absolute power command to enable battery (Watt) diMinimumAbsPowerForEnable : DINT := 100; // Maximum allowed charging power (Watt) per String // 60.000 W -> 5.000 W per Unit diMaxStringChargingPower : DINT := -60_000; // Maximum allowed discharging power (Watt) per String // 60.000 W -> 5.000 W per Unit diMaxStringDischargePower : DINT := 60_000; // Inverter ip address for string 1 sInverterIpString1 : STRING := '192.168.42.10'; // Inverter ip address for string 2 sInverterIpString2 : STRING := '192.168.42.20'; // Absolute shutdown discharge power (Watt) // 12.000 W -> 1.000 W per unit rAbsShutdownDischargePower : REAL := 6_500; // Allow inverter fast shutdown discharge xShutdownDischargeWithInverter : BOOL := FALSE; // String fully charged voltage (Volt) // 960 V -> 80 V per Unit rStringFullyChargedVoltage : REAL := 950.0; // String empty voltage (Volt) (617V is needed for the inverter to start up -> 51.4V per Segment) rStringEmptyVoltage : REAL := 630.0; // Unit wait startup time timUnitStartupTime : TIME := T#1M; // Unit balancing wait startup time timUnitBalancingStartupTime : TIME := T#3M; // Dummy to deactivate functions xDummy : BOOL := FALSE; END_VAR]]>