Files
Uniper_PLC/PLC/POUs/FB_Safety.TcPOU
Markus.Neukirch f0e6143997 IBN changes
added sync units for cabinet temperature, changes in modbus interface to EMS (1.0.4 and 1.0.5), added error counter to modbus communication, lot of changes to kaco (faults, consecutive errors, bms error messages), isolation error ledge, allowed startbalancing when on shutdown, tower light integration
2025-09-05 14:24:37 +02:00

51 lines
1.4 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
<POU Name="FB_Safety" Id="{f74eb8e4-e878-485f-9706-8dd039061a6b}" SpecialFunc="None">
<Declaration><![CDATA[FUNCTION_BLOCK FB_Safety
VAR_INPUT
xVoltagesInRange AT %I* : BOOL;
xPressureInRange AT %I* : BOOL;
xTemperaturesInRange AT %I* : BOOL;
xReset : BOOL;
refuStringErrorsModbus : REFERENCE TO U_BMS_ERROR_REGISTER;
END_VAR
VAR_OUTPUT
END_VAR
VAR
_latchedVoltages : BOOL;
_latchedPressures : BOOL;
_latechedTemperatures : BOOL;
_xErrorLatched : BOOL;
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[IF xReset THEN
xReset := FALSE;
_latchedVoltages := FALSE;
_latchedPressures := FALSE;
_latechedTemperatures := FALSE;
_xErrorLatched := FALSE;
END_IF
IF (NOT xVoltagesInRange) AND NOT _xErrorLatched THEN
_latchedVoltages := TRUE;
_xErrorLatched := TRUE;
refuStringErrorsModbus.stBitmap.bSafetyErrorVoltage := 1;
END_IF
IF (NOT xPressureInRange) AND NOT _xErrorLatched THEN
_latchedPressures := TRUE;
_xErrorLatched := TRUE;
refuStringErrorsModbus.stBitmap.bSafetyErrorPressure := 1;
END_IF
IF (NOT xTemperaturesInRange) AND NOT _xErrorLatched THEN
_latechedTemperatures := TRUE;
_xErrorLatched := TRUE;
refuStringErrorsModbus.stBitmap.bSafetyErrorTemperature := 1;
END_IF]]></ST>
</Implementation>
</POU>
</TcPlcObject>