Added cabinet temperature and modbus registers

added cabinet temperature to each module, scs and bms cabinet, added corresponding config, hmi interface, hardware & links. Added corresponding warning bits to modbus registers
This commit is contained in:
Markus Neukirch
2025-08-04 18:10:15 +02:00
parent ee3367eaec
commit e2a44b0d37
21 changed files with 2029 additions and 805 deletions

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.8">
<POU Name="FB_String" Id="{46501225-f446-4674-bfed-3be64273e576}" SpecialFunc="None">
<Declaration><![CDATA[FUNCTION_BLOCK FB_String
VAR_INPUT
@@ -100,6 +100,15 @@ VAR_OUTPUT
xError : BOOL;
xWarning : BOOL;
// Temperature control cabinet module 1 above 40 °C
xTempCabinetModule1Warning : BOOL;
// Temperature control cabinet module 2 above 40 °C
xTempCabinetModule2Warning : BOOL;
// Temperature control cabinet module 3 above 40 °C
xTempCabinetModule3Warning : BOOL;
eStatus : E_COMPONENT_STATUS;
// Inverter status data
@@ -275,7 +284,8 @@ _fbModule1(
xReleaseManualMode := xReleaseManualMode,
xConfirmAlarms:= xConfirmAlarms,
xAllToManualMode := xAllToManualMode,
rBalancingTargetVoltage := rSmallestSegmentVoltage);
rBalancingTargetVoltage := rSmallestSegmentVoltage,
xTempCabinetWarning => xTempCabinetModule1Warning);
// ===============================
@@ -296,7 +306,8 @@ _fbModule2(
xReleaseManualMode := xReleaseManualMode,
xConfirmAlarms:= xConfirmAlarms,
xAllToManualMode := xAllToManualMode,
rBalancingTargetVoltage := rSmallestSegmentVoltage);
rBalancingTargetVoltage := rSmallestSegmentVoltage,
xTempCabinetWarning => xTempCabinetModule2Warning);
// ===============================
@@ -317,7 +328,8 @@ _fbModule3(
xReleaseManualMode := xReleaseManualMode,
xConfirmAlarms:= xConfirmAlarms,
xAllToManualMode := xAllToManualMode,
rBalancingTargetVoltage := rSmallestSegmentVoltage);
rBalancingTargetVoltage := rSmallestSegmentVoltage,
xTempCabinetWarning => xTempCabinetModule3Warning);
// ===============================
@@ -966,7 +978,6 @@ END_IF
_xIsoError := ((NOT xIsoErrorL1) OR (NOT xIsoErrorL2)) AND (NOT _fbInverter.xActive) AND (xDCCBOpen);
_fbTONIsoError(IN := _xIsoError, PT := GVL_CONFIG.timIsoErrorTimeout);
// _fbInverter
IF _fbTONIsoError.Q AND (NOT _fbIsolationAlarm.bRaised) AND xReleaseErrors THEN
_fbIsolationAlarm.Raise(0);
END_IF