Small changes after FAT and EMS Test
- Changed Modbus server config for EMS connectivity - Changed some default EWL Limits
This commit is contained in:
@@ -87,7 +87,7 @@ VAR_GLOBAL PERSISTENT
|
||||
|
||||
// Pressure posolyt tank inlet
|
||||
stConfigPosolytPressureTankInlet := (iAIMax := 32767, iAIMin := 0, rPVMax := 2000, rPVMin := 0, sUnit := 'mbar'),
|
||||
stEWLPosolytPressureTankInlet := (rErrorMin := -20, rWarningMin := -10, rWarningMax := 15, rErrorMax := 25),
|
||||
stEWLPosolytPressureTankInlet := (rErrorMin := -20, rWarningMin := -10, rWarningMax := 50, rErrorMax := 75),
|
||||
stEWDPosolytPressureTankInlet :=
|
||||
(
|
||||
timHardwareSignalLevelOn := T#0S,
|
||||
@@ -104,7 +104,7 @@ VAR_GLOBAL PERSISTENT
|
||||
|
||||
// Pressure negolyt tank inlet
|
||||
stConfigNegolytPressureTankInlet := (iAIMax := 32767, iAIMin := 0, rPVMax := 2000, rPVMin := 0, sUnit := 'mbar'),
|
||||
stEWLNegolytPressureTankInlet := (rErrorMin := -20, rWarningMin := -10, rWarningMax := 15, rErrorMax := 25),
|
||||
stEWLNegolytPressureTankInlet := (rErrorMin := -20, rWarningMin := -10, rWarningMax := 50, rErrorMax := 75),
|
||||
stEWDNegolytPressureTankInlet :=
|
||||
(
|
||||
timHardwareSignalLevelOn := T#0S,
|
||||
@@ -121,7 +121,7 @@ VAR_GLOBAL PERSISTENT
|
||||
|
||||
// Temperature sensor posolyt tank inlet
|
||||
stConfigPosolytTempTankInlet := (iAIMax := 32767, iAIMin := -32768, rPVMax := 3276.7, rPVMin := -3276.8, sUnit := '°C'),
|
||||
stEWLPosolytTempTankInlet := (rErrorMin := 10, rWarningMin := 15, rWarningMax := 50, rErrorMax := 60),
|
||||
stEWLPosolytTempTankInlet := (rErrorMin := 10, rWarningMin := 15, rWarningMax := 42, rErrorMax := 45),
|
||||
stEWDPosolytTempTankInlet :=
|
||||
(
|
||||
timHardwareSignalLevelOn := T#0S,
|
||||
@@ -138,7 +138,7 @@ VAR_GLOBAL PERSISTENT
|
||||
|
||||
// Temperature sensor negolyt tank inlet
|
||||
stConfigNegolytTempTankInlet := (iAIMax := 32767, iAIMin := -32768, rPVMax := 3276.7, rPVMin := -3276.8, sUnit := '°C'),
|
||||
stEWLNegolytTempTankInlet := (rErrorMin := 15, rWarningMin := 15, rWarningMax := 50, rErrorMax := 60),
|
||||
stEWLNegolytTempTankInlet := (rErrorMin := 15, rWarningMin := 15, rWarningMax := 42, rErrorMax := 45),
|
||||
stEWDNegolytTempTankInlet :=
|
||||
(
|
||||
timHardwareSignalLevelOn := T#0S,
|
||||
@@ -158,7 +158,7 @@ VAR_GLOBAL PERSISTENT
|
||||
// Index 0x80n0:02 "Presentation" = Signed(0) -> 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),
|
||||
stEWLVoltageSegment := (rErrorMin := 50, rWarningMin := 54, rWarningMax := 79, rErrorMax := 80),
|
||||
stEWDVoltageSegment :=
|
||||
(
|
||||
timHardwareSignalLevelOn := T#0S,
|
||||
@@ -195,10 +195,10 @@ VAR_GLOBAL PERSISTENT
|
||||
rPumpNegolytOnPower : REAL := 70.0;
|
||||
|
||||
// Pump posolyt discharge segment without inverter power in %
|
||||
rPumpPosolytDisChrgPower : REAL := 45.0;
|
||||
rPumpPosolytDisChrgPower : REAL := 50.0;
|
||||
|
||||
// Pump posolyt discharge segment without inverter power in %
|
||||
rPumpNegolytDisChrgPower : REAL := 45.0;
|
||||
rPumpNegolytDisChrgPower : REAL := 50.0;
|
||||
|
||||
// Unit voltage pumps shutoff threshold (Volt)
|
||||
rPumpshutoffThreshold : REAL := 15.0;
|
||||
@@ -207,7 +207,7 @@ VAR_GLOBAL PERSISTENT
|
||||
rMinimumUnitVoltage : REAL := 55.0;
|
||||
|
||||
// Maximum unit voltage for fully charged (Volt)
|
||||
rMaximumUnitVoltage : REAL := 79.5;
|
||||
rMaximumUnitVoltage : REAL := 78.5;
|
||||
|
||||
// Delta value to minimum unit voltage for shutdown discharge (Volt)
|
||||
rDeltaUnitVoltageShutdownDischarge : REAL := 5.0;
|
||||
@@ -225,11 +225,11 @@ VAR_GLOBAL PERSISTENT
|
||||
|
||||
// Maximum allowed charging power (Watt) per String
|
||||
// 24.000 W -> 2.000 W per Unit
|
||||
diMaxStringChargingPower : DINT := -50_000;
|
||||
diMaxStringChargingPower : DINT := -48_000;
|
||||
|
||||
// Maximum allowed discharging power (Watt) per String
|
||||
// 24.000 W -> 2.000 W per Unit
|
||||
diMaxStringDischargePower : DINT := 50_000;
|
||||
diMaxStringDischargePower : DINT := 48_000;
|
||||
|
||||
// Inverter ip address for string 1
|
||||
sInverterIpString1 : STRING := '192.168.42.10';
|
||||
@@ -252,7 +252,7 @@ VAR_GLOBAL PERSISTENT
|
||||
rStringEmptyVoltage : REAL := 660.0;
|
||||
|
||||
// Unit wait startup time (was 1 minute, reduced because of Doppelhöcker-Test)
|
||||
timUnitStartupTime : TIME := T#5S;
|
||||
timUnitStartupTime : TIME := T#15S;
|
||||
|
||||
// Unit balancing wait startup time
|
||||
timUnitBalancingStartupTime : TIME := T#3M;
|
||||
|
||||
418
PLC/PLC.tmc
418
PLC/PLC.tmc
File diff suppressed because one or more lines are too long
@@ -549,6 +549,9 @@ CASE _iState OF
|
||||
_tonErrorDCCBNotClosed.IN := FALSE;
|
||||
xError := TRUE;
|
||||
xReady := FALSE;
|
||||
IF (NOT _fbDCMainSwitchNotClosed.bRaised) THEN
|
||||
_fbDCMainSwitchNotClosed.Raise(0);
|
||||
END_IF
|
||||
_iState := 1000;
|
||||
END_IF
|
||||
|
||||
@@ -770,6 +773,7 @@ CASE _iState OF
|
||||
IF (NOT xEnable) AND (NOT _xErrorInternal) THEN
|
||||
xError := FALSE;
|
||||
_xReleaseSafetyIntlkErrors := FALSE;
|
||||
ClearAlarms();
|
||||
//eStatus := E_COMPONENT_STATUS.OFF;
|
||||
_iState := 0;
|
||||
END_IF
|
||||
@@ -843,6 +847,13 @@ stHMIInterface.eStatus := eStatus;
|
||||
// Reset Safety
|
||||
xResetSafetyDCCB := xResetSafety;]]></ST>
|
||||
</Implementation>
|
||||
<Action Name="ClearAlarms" Id="{541a307f-e5d8-4588-8fd3-6f4bdf6a71dd}">
|
||||
<Implementation>
|
||||
<ST><![CDATA[IF _fbDCMainSwitchNotClosed.bRaised THEN
|
||||
_fbDCMainSwitchNotClosed.Clear(0, FALSE);
|
||||
END_IF]]></ST>
|
||||
</Implementation>
|
||||
</Action>
|
||||
<Method Name="FB_init" Id="{9e8494eb-1b40-4be9-91c8-810ecbdf7f0c}">
|
||||
<Declaration><![CDATA[METHOD FB_init : BOOL
|
||||
VAR_INPUT
|
||||
|
||||
@@ -156,6 +156,8 @@ VAR
|
||||
_rMinCurrentInverterDCVoltage : REAL;
|
||||
|
||||
_fbModbusRead : FB_MBReadRegs;
|
||||
// _fbModbusWrite : FB_MBWriteSingleReg;
|
||||
// _fbModbusWriteMult : FB_MBWriteRegs;
|
||||
//_wLength : WORD := 49;
|
||||
xDebugTest : BOOL;
|
||||
_wDebug1 : WORD;
|
||||
@@ -172,12 +174,58 @@ VAR
|
||||
_rPowerDH : REAL;
|
||||
_fbTONDHCycleTime : TON := (PT := T#15M);
|
||||
|
||||
//_uiTest : UINT := 1;
|
||||
//_diTest : DINT := 123;
|
||||
|
||||
//_fbKaco : FB_PowerSupplyKaco('Kaco');
|
||||
//_xEnableKaco : BOOL;
|
||||
END_VAR
|
||||
]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[IF _xFirstCycle THEN
|
||||
<ST><![CDATA[(*
|
||||
IF xDebugTest THEN
|
||||
(*
|
||||
_fbModbusWrite(
|
||||
sIPAddr:= '127.0.0.1',
|
||||
nTCPPort:= 502,
|
||||
nUnitID:= 16#FF,
|
||||
nMBAddr:= 13004,
|
||||
nValue:= 1,
|
||||
bExecute:= TRUE,
|
||||
tTimeout:= T#10S,
|
||||
bBusy=> ,
|
||||
bError=> ,
|
||||
nErrId=> );
|
||||
|
||||
IF (NOT _fbModbusWrite.bBusy) THEN
|
||||
xDebugTest := FALSE;
|
||||
_fbModbusWrite(bExecute := FALSE);
|
||||
END_IF
|
||||
*)
|
||||
|
||||
_fbModbusWriteMult(
|
||||
sIPAddr:= '127.0.0.1',
|
||||
nTCPPort:= 502,
|
||||
nUnitID:= 16#FF,
|
||||
nQuantity:= 2,
|
||||
nMBAddr:= 12000,
|
||||
cbLength:= SIZEOF(_diTest),
|
||||
pSrcAddr:= ADR(_diTest),
|
||||
bExecute:= TRUE,
|
||||
tTimeout:= T#10S,
|
||||
bBusy=> ,
|
||||
bError=> ,
|
||||
nErrId=> );
|
||||
|
||||
IF (NOT _fbModbusWriteMult.bBusy) THEN
|
||||
xDebugTest := FALSE;
|
||||
_fbModbusWriteMult(bExecute := FALSE);
|
||||
END_IF
|
||||
END_IF
|
||||
*)
|
||||
|
||||
|
||||
IF _xFirstCycle THEN
|
||||
_xFirstCycle := FALSE;
|
||||
_xGetPowerMeterData := TRUE;
|
||||
|
||||
@@ -217,6 +265,7 @@ IF GVL_MODBUS.stBMSErrorReg.wConfirmAlarms > 0 THEN
|
||||
_xConfirmAlarms := TRUE;
|
||||
END_IF
|
||||
|
||||
|
||||
// Ack alarms from hardware button
|
||||
_fbRTrigHardwareAck(CLK := _xHarwareResetButton);
|
||||
IF _fbRTrigHardwareAck.Q THEN
|
||||
|
||||
Reference in New Issue
Block a user