2.6 KiB
2.6 KiB
// Block Type: FC
// Block Number: 1700
// Original Network Languages: LAD
FUNCTION "CTRLCoolingSystem" : Void
{ S7_Optimized_Access := 'TRUE' }
VERSION : 0.1
VAR_TEMP
#_15S : Bool; // Auto-generated temporary
#_5S : Bool; // Auto-generated temporary
END_VAR
BEGIN
// Network 1: Cooling Bypass (Original Language: LAD)
// Controllo temperatura ingresso Acqua Glicolata attivando Bypass
// Gestisce inoltre isteresi per il reset iniziale a -4 °C
// PBox SymPy processed, logic in consumer
"gCoolingSystemBypassFP" := ("HMI_Instrument"."TTM307"."PVFiltered" <= -5.0) OR ("HMI_Instrument"."TTM307"."PVFiltered" <= -4.0); // P_TRIG(("HMI_Instrument"."TTM307"."PVFiltered" <= -5.0) OR ("HMI_Instrument"."TTM307"."PVFiltered" <= -4.0)) - Mem: "gCoolingSystemBypassFP"
IF (NOT "gCoolingSystemBypassFP" AND ("HMI_Instrument"."TTM307"."PVFiltered" <= -5.0)) OR (NOT "gCoolingSystemBypassFP" AND ("HMI_Instrument"."TTM307"."PVFiltered" <= -4.0)) THEN
"gCoolingSystemBypass" := TRUE;
END_IF;
"gCoolingTempMaxLowAlrm" := ("HMI_Instrument"."TTM307"."PVFiltered" <= -5.0) OR ("HMI_Instrument"."TTM307"."PVFiltered" <= -4.0);
// Network 2: Warning Low Temnperature (Original Language: LAD)
// warning di controllo per temperatura minima sotto i -3°C
"HMI_Alarms"."gH_Message" := "HMI_Instrument"."TTM307"."PVFiltered" <= -3.0;
// Network 3: Cooling Bypass (Original Language: LAD)
"gBypassGlicoleSysDelay"(IN := "gCoolingSystemBypass", PT := S5T#5S); // TODO: Declarar "gBypassGlicoleSysDelay" : TON;
IF "gBypassGlicoleSysDelay".Q THEN
"gCoolingSysBypassAct" := TRUE;
END_IF;
// Network 4: Cooling Bypass Reset (Original Language: LAD)
// Il controllo della temperatura può essere eseguito confrontando:
// - TTM307 tramite il parametro di riferimento controllo temperatura impostato a
// pannello
"gRSTBYPSGlicoleSys"(IN := "HMI_Instrument"."TTM307"."PVFiltered" >= "HMI_Blender_Parameters"."ProcessSetup"."_RefTempCoolingCTRL", PT := S5T#15S); // TODO: Declarar "gRSTBYPSGlicoleSys" : TON;
// Network 5: Cooling System Bypass Reset (Original Language: LAD)
"gColingSystemBypassReset" := "gRSTBYPSGlicoleSys";
// Network 6: Mix - Reset Bypass Glycole (Original Language: LAD)
// PBox SymPy processed, logic in consumer
"gColingSysBypassResetFP" := "gColingSystemBypassReset"; // P_TRIG("gColingSystemBypassReset") - Mem: "gColingSysBypassResetFP"
IF "gColingSystemBypassReset" AND NOT "gColingSysBypassResetFP" THEN
"gCoolingSystemBypass" := FALSE;
END_IF;
IF "gColingSystemBypassReset" AND NOT "gColingSysBypassResetFP" THEN
"gCoolingSysBypassAct" := FALSE;
END_IF;
END_FUNCTION