34 KiB
34 KiB
// Block Type: FC
// Block Number: 2022
// Original Network Languages: LAD
FUNCTION "Safeties" : Void
{ S7_Optimized_Access := 'TRUE' }
VERSION : 0.1
VAR_TEMP
Alarm_Fault_1 : DWord;
Alarm_Fault_2 : DWord;
Alarm_Supplies : DWord;
Alarm_External : DWord;
Alarm_Operator : DWord;
Buffer : Bool;
END_VAR
#_7S : Bool; // Auto-generated temporary
BEGIN
// Network 1: Always OFF (Original Language: LAD)
"mAlarmHornReset" := "gIN_ResetHorn" OR ("gBlenderAlarm" AND "mAlarmHornReset");
// Network 2: MIX - SAFETIES (Original Language: LAD)
// Network 2 did not produce printable SCL code.
// Network 3: MIX - (Original Language: LAD)
"mWarningHornReset" := "gIN_ResetHorn" OR ("gBlenderAlarm" AND "mWarningHornReset");
// Network 4: MIX - SAFETIES (Original Language: LAD)
// Network 4 did not produce printable SCL code.
// Network 5: MIX - SAFETIES (Original Language: LAD)
IF "AUX TRUE" THEN
"gBlenderAlarm" := FALSE;
END_IF;
// Network 6: MIX - SAFETIES (Original Language: LAD)
"gHighPriorityAlarm" := "gIN_VoltageOk" OR "gNotARecipe_Fault";
// Network 7: MIX - SAFETIES (Original Language: LAD)
"gLowPriorityAlarm" := ("HMI_Alarms"."Fault"."Alarm020" AND "gQTM301_TooHigh") OR ("HMI_Alarms"."Fault"."Alarm021" AND "gQTM301_TooLow");
// Network 8: MIX - SAFETIES (Original Language: LAD)
IF "HMI_Instrument"."LTM302"."Alarm" OR "HMI_Instrument"."LTP303"."Alarm" THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 9: Auxiliary Not Engaged (Original Language: LAD)
"HMI_Alarms"."Fault"."Alarm001" := "gIN_VoltageOk" OR ("HMI_Alarms"."Fault"."Alarm001" AND "gIN_ResetBtn");
IF "gIN_VoltageOk" OR ("HMI_Alarms"."Fault"."Alarm001" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 10: Not a Recipe: invalid Recipe Type Selection (Original Language: LAD)
"HMI_Alarms"."Fault"."Alarm002" := "gNotARecipe_Fault" OR ("HMI_Alarms"."Fault"."Alarm002" AND "gIN_ResetBtn");
IF "gNotARecipe_Fault" OR ("HMI_Alarms"."Fault"."Alarm002" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 11: Filler Communication Fault (Original Language: LAD)
"HMI_Alarms"."Fault"."Alarm004" := "Flr_ComunicationFault" OR ("HMI_Alarms"."Fault"."Alarm004" AND "gIN_ResetBtn");
IF "Flr_ComunicationFault" OR ("HMI_Alarms"."Fault"."Alarm004" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 12: CIP Communication Fault (Original Language: LAD)
"HMI_Alarms"."Fault"."Alarm006" := "M19101" OR ("HMI_Alarms"."Fault"."Alarm006" AND "gIN_ResetBtn");
IF "M19101" OR ("HMI_Alarms"."Fault"."Alarm006" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 13: Differential Pressure Transducer Fault (Original Language: LAD)
"HMI_Alarms"."Fault"."Alarm007" := "gDiffSensor_Analog_Fault" OR ("HMI_Alarms"."Fault"."Alarm007" AND "gIN_ResetBtn");
IF "gDiffSensor_Analog_Fault" OR ("HMI_Alarms"."Fault"."Alarm007" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 14: Syrup Tank High Level Fault (Original Language: LAD)
"HMI_Alarms"."Fault"."Alarm008" := "gSyrTank_HighLvl_Fault" OR ("HMI_Alarms"."Fault"."Alarm008" AND "gIN_ResetBtn");
IF "gSyrTank_HighLvl_Fault" OR ("HMI_Alarms"."Fault"."Alarm008" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 15: WARNING - Profibus Syrup Analizer Node Fault (Original Language: LAD)
"HMI_Alarms"."Fault"."Alarm009" := ("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_SyrBrixMeter" AND "HMI_Variables_Status"."Profibus"."Error"."mPDSPA_Cobrix_Syrup") OR ("HMI_Alarms"."Fault"."Alarm009" AND "gIN_ResetBtn");
IF ("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_SyrBrixMeter" AND "HMI_Variables_Status"."Profibus"."Error"."mPDSPA_Cobrix_Syrup") OR ("HMI_Alarms"."Fault"."Alarm009" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 16: CRITICAL - Profibus Valves Base Node Fault (Original Language: LAD)
// Profibus Slave Valve Base 12 Fault
"HMI_Alarms"."Fault"."Alarm010" := "HMI_Variables_Status"."Profibus"."Error"."ValvesBase_Festo" OR "HMI_Variables_Status"."Profibus"."Error"."ValvesBase_Joucomatic";
IF "HMI_Variables_Status"."Profibus"."Error"."ValvesBase_Festo" OR "HMI_Variables_Status"."Profibus"."Error"."ValvesBase_Joucomatic" THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 17: WARNING - Deaireator tank high level Fault (Original Language: LAD)
"HMI_Alarms"."Fault"."Alarm011" := "gDeairTank_HighLvl_Fault" OR ("HMI_Alarms"."Fault"."Alarm011" AND "gIN_ResetBtn");
IF "gDeairTank_HighLvl_Fault" OR ("HMI_Alarms"."Fault"."Alarm011" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 18: WARNING - Profibus Low Conductimeter Node Fault (Original Language: LAD)
// Profibus Slave Low Conductimeter Node 15 Fault
"HMI_Alarms"."Fault"."Alarm012" := "HMI_Variables_Status"."Profibus"."Error"."CTS301_LowCond" OR ("HMI_Alarms"."Fault"."Alarm012" AND "gIN_ResetBtn");
IF "HMI_Variables_Status"."Profibus"."Error"."CTS301_LowCond" OR ("HMI_Alarms"."Fault"."Alarm012" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 19: WARNING - Profibus High Conductimeter Node Fault (Original Language: LAD)
// Profibus Slave Low Conductimeter Node 16 Fault
"HMI_Alarms"."Fault"."Alarm013" := "HMI_Variables_Status"."Profibus"."Error"."CTS302_HighCond" OR ("HMI_Alarms"."Fault"."Alarm013" AND "gIN_ResetBtn");
IF "HMI_Variables_Status"."Profibus"."Error"."CTS302_HighCond" OR ("HMI_Alarms"."Fault"."Alarm013" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 20: CRITICAL - High Temperature Electrical Cabinet (Original Language: LAD)
"HMI_Alarms"."Fault"."Alarm016" := "gElCabTooHigh" OR ("HMI_Alarms"."Fault"."Alarm016" AND "gIN_ResetBtn");
IF "gElCabTooHigh" OR ("HMI_Alarms"."Fault"."Alarm016" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 21: Product Brix Too High (Original Language: LAD)
// Product Brix Too High
// PBox SymPy processed, logic in consumer
"M19027" := "gQTM301_TooHigh"; // P_TRIG("gQTM301_TooHigh") - Mem: "M19027"
"HMI_Alarms"."Fault"."Alarm020" := ("gIN_ResetBtn" AND "HMI_Alarms"."Fault"."Alarm020") OR ("gQTM301_TooHigh" AND NOT "M19027");
IF ("gIN_ResetBtn" AND "HMI_Alarms"."Fault"."Alarm020") OR ("gQTM301_TooHigh" AND NOT "M19027") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 22: Product Brix Too Low (Original Language: LAD)
// Product Brix Too Low
// PBox SymPy processed, logic in consumer
"M19030" := "gQTM301_TooLow"; // P_TRIG("gQTM301_TooLow") - Mem: "M19030"
"HMI_Alarms"."Fault"."Alarm021" := ("gIN_ResetBtn" AND "HMI_Alarms"."Fault"."Alarm021") OR ("gQTM301_TooLow" AND NOT "M19030");
IF ("gIN_ResetBtn" AND "HMI_Alarms"."Fault"."Alarm021") OR ("gQTM301_TooLow" AND NOT "M19030") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 23: Product CO2 Too High (Original Language: LAD)
// Product CO2 Too High
// PBox SymPy processed, logic in consumer
"M19031" := "gQTM302_TooHigh"; // P_TRIG("gQTM302_TooHigh") - Mem: "M19031"
"HMI_Alarms"."Fault"."Alarm022" := ("gIN_ResetBtn" AND "HMI_Alarms"."Fault"."Alarm022") OR ("gQTM302_TooHigh" AND NOT "M19031");
IF ("gIN_ResetBtn" AND "HMI_Alarms"."Fault"."Alarm022") OR ("gQTM302_TooHigh" AND NOT "M19031") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 24: Product CO2 Too Low (Original Language: LAD)
// Product CO2 Too Low
// PBox SymPy processed, logic in consumer
"M19032" := "gQTM302_TooLow"; // P_TRIG("gQTM302_TooLow") - Mem: "M19032"
"HMI_Alarms"."Fault"."Alarm023" := ("gIN_ResetBtn" AND "HMI_Alarms"."Fault"."Alarm023") OR ("gQTM302_TooLow" AND NOT "M19032");
IF ("gIN_ResetBtn" AND "HMI_Alarms"."Fault"."Alarm023") OR ("gQTM302_TooLow" AND NOT "M19032") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 25: CRITICAL - PPN301 VFC Fault (Original Language: LAD)
"HMI_Alarms"."Fault"."Alarm024" := ("gIN_PPN301_FCReady" AND "HMI_PID"."PPN301"."Config") OR ("HMI_Alarms"."Fault"."Alarm024" AND "gIN_ResetBtn" AND "HMI_PID"."PPN301"."Config");
IF ("gIN_PPN301_FCReady" AND "HMI_PID"."PPN301"."Config") OR ("HMI_Alarms"."Fault"."Alarm024" AND "gIN_ResetBtn" AND "HMI_PID"."PPN301"."Config") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 26: CRITICAL - PPM303 VFC Fault (Original Language: LAD)
"HMI_Alarms"."Fault"."Alarm025" := ("gIN_PPM303_FCReady" AND "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_BlendFillSystem") OR ("gIN_PPM303_FCReady" AND "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_InverterProdPumpPPM303") OR ("HMI_Alarms"."Fault"."Alarm025" AND "gIN_ResetBtn" AND "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_BlendFillSystem") OR ("HMI_Alarms"."Fault"."Alarm025" AND "gIN_ResetBtn" AND "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_InverterProdPumpPPM303");
IF ("gIN_PPM303_FCReady" AND "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_BlendFillSystem") OR ("gIN_PPM303_FCReady" AND "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_InverterProdPumpPPM303") OR ("HMI_Alarms"."Fault"."Alarm025" AND "gIN_ResetBtn" AND "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_BlendFillSystem") OR ("HMI_Alarms"."Fault"."Alarm025" AND "gIN_ResetBtn" AND "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_InverterProdPumpPPM303") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 27: CRITICAL - PPP302 VFC Fault (Original Language: LAD)
"HMI_Alarms"."Fault"."Alarm026" := ("gIN_PPP302_FCReady" AND "HMI_PID"."PPP302"."Config") OR ("HMI_Alarms"."Fault"."Alarm026" AND "gIN_ResetBtn" AND "HMI_PID"."PPP302"."Config");
IF ("gIN_PPP302_FCReady" AND "HMI_PID"."PPP302"."Config") OR ("HMI_Alarms"."Fault"."Alarm026" AND "gIN_ResetBtn" AND "HMI_PID"."PPP302"."Config") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 28: mPDS1000 Error Fault (Original Language: LAD)
// m_PDS1000_Error_Fault
"Dly_Maselli_Fault"(IN := "gBlenderProdMode" AND "gBlenderRinseMode" AND "Procedure_Variables"."TM301_Drain"."Latch" AND "DI_Product_Analyzer_Prod_NO_OK" AND "Procedure_Variables"."TM301_RunOut"."Done" AND "AnalyzerDelay", PT := S5T#7S); // TODO: Declarar "Dly_Maselli_Fault" : TON;
"HMI_Alarms"."Fault"."Alarm027" := ("DI_Flr1_PROD_Request" AND "Dly_Maselli_Fault".Q AND "AUX FALSE") OR ("DI_Flr2_PROD_Request" AND "Dly_Maselli_Fault".Q AND "AUX FALSE");
IF ("DI_Flr1_PROD_Request" AND "Dly_Maselli_Fault".Q AND "AUX FALSE") OR ("DI_Flr2_PROD_Request" AND "Dly_Maselli_Fault".Q AND "AUX FALSE") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 29: Analizer Dealy (Original Language: LAD)
// Network 29 did not produce printable SCL code.
// Network 30: Densimeter Tubes Not Oscillating (Original Language: LAD)
// Tube Not Oscillating in Densimeter
"HMI_Alarms"."Fault"."Alarm028" := "gmPDS1000_NoOscillation" OR ("HMI_Alarms"."Fault"."Alarm028" AND "gIN_ResetBtn");
IF "gmPDS1000_NoOscillation" OR ("HMI_Alarms"."Fault"."Alarm028" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 31: CRITICAL - Profibus Water Pump VFC Node Fault (Original Language: LAD)
"HMI_Alarms"."Fault"."Alarm029" := "HMI_Variables_Status"."Profibus"."Error"."PPN301_VFC" OR ("HMI_Alarms"."Fault"."Alarm029" AND "gIN_ResetBtn");
IF "HMI_Variables_Status"."Profibus"."Error"."PPN301_VFC" OR ("HMI_Alarms"."Fault"."Alarm029" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 32: CRITICAL - Profibus Syrup Pump VFC Node Fault (Original Language: LAD)
"HMI_Alarms"."Fault"."Alarm030" := "HMI_Variables_Status"."Profibus"."Error"."PPP302_VFC" OR ("HMI_Alarms"."Fault"."Alarm030" AND "gIN_ResetBtn");
IF "HMI_Variables_Status"."Profibus"."Error"."PPP302_VFC" OR ("HMI_Alarms"."Fault"."Alarm030" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 33: Fault UPS Supply (Original Language: LAD)
"HMI_Alarms"."Fault"."Alarm037" := "DI_UPSsupply" OR ("HMI_Alarms"."Fault"."Alarm037" AND "gIN_ResetBtn");
// Network 34: WARNING - Baialage Flow Error (Original Language: LAD)
// Product Tank Pressure Fault
"HMI_Alarms"."Fault"."Alarm040" := "gBalaiage_Fault" OR ("HMI_Alarms"."Fault"."Alarm040" AND "gIN_ResetBtn");
IF "gBalaiage_Fault" OR ("HMI_Alarms"."Fault"."Alarm040" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 35: Product Tank Pressure Fault - Fault Alarm - (Original Language: LAD)
// Product Tank Pressure Fault
"HMI_Alarms"."Fault"."Alarm041" := "gPrdTank_Press_Fault" OR ("HMI_Alarms"."Fault"."Alarm041" AND "gIN_ResetBtn");
IF "gPrdTank_Press_Fault" OR ("HMI_Alarms"."Fault"."Alarm041" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 36: Blend Error Fault: High Syrup - Fault Alarm - (Original Language: LAD)
// Blend Error High Syrup Fault
"HMI_Alarms"."Fault"."Alarm042" := "gBlendErrorHighSyr_Fault" OR ("HMI_Alarms"."Fault"."Alarm042" AND "gIN_ResetBtn");
IF "gBlendErrorHighSyr_Fault" OR ("HMI_Alarms"."Fault"."Alarm042" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 37: Blend Error Fault: Low Syrup - Fault Alarm - (Original Language: LAD)
// Blend Error Low Syrup Fault
"HMI_Alarms"."Fault"."Alarm043" := "gBlendErrorLowSyr_Fault" OR ("HMI_Alarms"."Fault"."Alarm043" AND "gIN_ResetBtn");
IF "gBlendErrorLowSyr_Fault" OR ("HMI_Alarms"."Fault"."Alarm043" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 38: CarboCO2 Error Fault: Low CO2 - Fault Alarm - (Original Language: LAD)
// Carbo CO2 Error High CO2 Fault
"HMI_Alarms"."Fault"."Alarm044" := "gCarboCO2Err_L_CO2_Fault" OR ("HMI_Alarms"."Fault"."Alarm044" AND "gIN_ResetBtn");
IF "gCarboCO2Err_L_CO2_Fault" OR ("HMI_Alarms"."Fault"."Alarm044" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 39: CarboCO2 Error Fault: High CO2 - Fault Alarm - (Original Language: LAD)
// Carbo CO2 Error Low CO2 Fault
"HMI_Alarms"."Fault"."Alarm045" := ("gCarboCO2Err_H_CO2_Fault" AND "AUX FALSE") OR ("HMI_Alarms"."Fault"."Alarm045" AND "gIN_ResetBtn");
IF ("gCarboCO2Err_H_CO2_Fault" AND "AUX FALSE") OR ("HMI_Alarms"."Fault"."Alarm045" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 40: Vacuum TimeOut - Fault Alarm - (Original Language: LAD)
// Vacuum TimeOut Fault
"HMI_Alarms"."Fault"."Alarm046" := "gVacuumTimeOut_Fault" OR ("HMI_Alarms"."Fault"."Alarm046" AND "gIN_ResetBtn");
IF "gVacuumTimeOut_Fault" OR ("HMI_Alarms"."Fault"."Alarm046" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 41: CIP No Recirculation Flow - Fault Alarm - (Original Language: LAD)
"HMI_Alarms"."Fault"."Alarm048" := "gCIPRecirFlowMiss_Fault" OR ("HMI_Alarms"."Fault"."Alarm048" AND "gIN_ResetBtn");
IF "gCIPRecirFlowMiss_Fault" OR ("HMI_Alarms"."Fault"."Alarm048" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 42: Profibus Master Node 1 Crash (Original Language: LAD)
// Profibus Master FC3102 Node 1 Fault
"HMI_Alarms"."Fault"."Alarm050" := "HMI_Variables_Status"."Profibus"."Error"."FC3102_DP" OR ("HMI_Alarms"."Fault"."Alarm050" AND "gIN_ResetBtn");
IF "HMI_Variables_Status"."Profibus"."Error"."FC3102_DP" OR ("HMI_Alarms"."Fault"."Alarm050" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 43: Profibus ET200 Node 10 Fault (Original Language: LAD)
// Profibus Slave ET200 Node 10 Fault
"HMI_Alarms"."Fault"."Alarm051" := "HMI_Variables_Status"."Profibus"."Error"."ET200" OR ("HMI_Alarms"."Fault"."Alarm051" AND "gIN_ResetBtn");
IF "HMI_Variables_Status"."Profibus"."Error"."ET200" OR ("HMI_Alarms"."Fault"."Alarm051" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 44: CRITICAL - Profibus Water MFM (Original Language: LAD)
"HMI_Alarms"."Fault"."Alarm052" := ("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_WaterPromass" AND "HMI_Variables_Status"."Profibus"."Error"."FTN301_Promag") OR ("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_WaterPromass" AND "HMI_Variables_Status"."Profibus"."Error"."FTN301_Promass");
IF ("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_WaterPromass" AND "HMI_Variables_Status"."Profibus"."Error"."FTN301_Promag") OR ("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_WaterPromass" AND "HMI_Variables_Status"."Profibus"."Error"."FTN301_Promass") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 45: CRITICAL - Profibus Syrup MFM (Original Language: LAD)
"HMI_Alarms"."Fault"."Alarm053" := ("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_FlowMeterType" AND "HMI_Variables_Status"."Profibus"."Error"."FTP302") OR ("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_FlowMeterType" AND "HMI_Variables_Status"."Profibus"."Error"."FTP302_2400S");
IF ("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_FlowMeterType" AND "HMI_Variables_Status"."Profibus"."Error"."FTP302") OR ("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_FlowMeterType" AND "HMI_Variables_Status"."Profibus"."Error"."FTP302_2400S") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 46: CRITICAL - Profibus CO2 MFM (Original Language: LAD)
"HMI_Alarms"."Fault"."Alarm054" := ("HMI_Alarms"."Fault"."Alarm054" AND "gIN_ResetBtn") OR ("Blender_Variables_Pers"."gCarboStillProduct" AND "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_FlowMeterType" AND "HMI_Variables_Status"."Profibus"."Error"."FTM303") OR ("Blender_Variables_Pers"."gCarboStillProduct" AND "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_FlowMeterType" AND "HMI_Variables_Status"."Profibus"."Error"."FTM303_2400S");
IF ("HMI_Alarms"."Fault"."Alarm054" AND "gIN_ResetBtn") OR ("Blender_Variables_Pers"."gCarboStillProduct" AND "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_FlowMeterType" AND "HMI_Variables_Status"."Profibus"."Error"."FTM303") OR ("Blender_Variables_Pers"."gCarboStillProduct" AND "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_FlowMeterType" AND "HMI_Variables_Status"."Profibus"."Error"."FTM303_2400S") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 47: Profibus Product Pump VFC Node Fault (Original Language: LAD)
// Profibus Slave Product pump Frequency Converter Node 4 Fault
"HMI_Alarms"."Fault"."Alarm055" := "HMI_Variables_Status"."Profibus"."Error"."PPM303_VFC" OR ("HMI_Alarms"."Fault"."Alarm055" AND "gIN_ResetBtn");
IF "HMI_Variables_Status"."Profibus"."Error"."PPM303_VFC" OR ("HMI_Alarms"."Fault"."Alarm055" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 48: WARNING - Profibus mPDS PA (Original Language: LAD)
"HMI_Alarms"."Fault"."Alarm056" := ("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_PAmPDSType" AND "HMI_Variables_Status"."Profibus"."Error"."mPDSPA_Cobrix_Prod" AND Eq("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_MeterType", 5)) OR ("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_PAmPDSType" AND "HMI_Variables_Status"."Profibus"."Error"."mPDSPA_Carbo" AND Eq("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_MeterType", 5));
IF ("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_PAmPDSType" AND "HMI_Variables_Status"."Profibus"."Error"."mPDSPA_Cobrix_Prod" AND Eq("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_MeterType", 5)) OR ("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_PAmPDSType" AND "HMI_Variables_Status"."Profibus"."Error"."mPDSPA_Carbo" AND Eq("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_MeterType", 5)) THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 49: INFORMATION - UPS Battery not ready - NON FERMA LA MACHINA (Original Language: LAD)
"HMI_Alarms"."Fault"."Alarm057" := ("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_UPS_Siemens" AND "DI_UPSBatteryReady") OR ("HMI_Alarms"."Fault"."Alarm057" AND "gIN_ResetBtn");
// Network 50: INFORMATION - UPS Alarm - NON FERMA LA MACHINA (Original Language: LAD)
"HMI_Alarms"."Fault"."Alarm057" := ("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_UPS_Siemens" AND "DI_UPSAlarm") OR ("HMI_Alarms"."Fault"."Alarm057" AND "gIN_ResetBtn");
// Network 51: INFORMATION - UPS Alarm - NON FERMA LA MACHINA (Original Language: LAD)
"HMI_Alarms"."Fault"."Alarm057" := ("DI_UPSsupply" AND "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_UPS_Siemens") OR ("HMI_Alarms"."Fault"."Alarm057" AND "gIN_ResetBtn");
// Network 52: Product Analizer Error Fault (Original Language: LAD)
"HMI_Alarms"."Fault"."Alarm058" := "gmPDS_PA_Error_Fault" OR "gPAMaselli_Error_Fault";
IF "gmPDS_PA_Error_Fault" OR "gPAMaselli_Error_Fault" THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 53: WARNING - Product Analizer mPDS2000 Error Fault (Original Language: LAD)
"HMI_Alarms"."Fault"."Alarm059" := "gmPDS2000_Error_Fault" OR ("HMI_Alarms"."Fault"."Alarm059" AND "gIN_ResetBtn");
IF "gmPDS2000_Error_Fault" OR ("HMI_Alarms"."Fault"."Alarm059" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 54: Low Infeed Air Pressure Fault - Supplies Alarm - (Original Language: LAD)
// Inlet Air Low Pressure Fault
"HMI_Alarms"."Supplies"."Alarm060" := "HMI_Digital"."_PAL_S11"."Filtered" OR ("HMI_Alarms"."Supplies"."Alarm060" AND "gIN_ResetBtn");
IF "HMI_Digital"."_PAL_S11"."Filtered" OR ("HMI_Alarms"."Supplies"."Alarm060" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 55: Low Infeed CO2 Pressure Fault - Supplies Alarm - (Original Language: LAD)
// Inlet CO2 Low Pressure Fault
"HMI_Alarms"."Supplies"."Alarm061" := "gCO2LowPress_Fault" OR "mGasInjectionPressNotOK";
IF "gCO2LowPress_Fault" OR "mGasInjectionPressNotOK" THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 56: Deaireator Water Low Level - Supplies Alarm - (Original Language: LAD)
// Deaireator Water Minimum Level
"HMI_Alarms"."Supplies"."Alarm062" := "gDeairTank_LowLvl_Fault" OR ("HMI_Alarms"."Supplies"."Alarm062" AND "gIN_ResetBtn");
IF "gDeairTank_LowLvl_Fault" OR ("HMI_Alarms"."Supplies"."Alarm062" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 57: Syrup Tank Low Level - Supplies Alarm - (Original Language: LAD)
// Syrup Tank Minimum Level
"HMI_Alarms"."Supplies"."Alarm063" := "gSyrTank_LowLvl_Fault" OR ("HMI_Alarms"."Supplies"."Alarm063" AND "gIN_ResetBtn");
IF "gSyrTank_LowLvl_Fault" OR ("HMI_Alarms"."Supplies"."Alarm063" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 58: Syrup Brix Out Of Standard - Supplies Alarm - (Original Language: LAD)
// Syrup Brix Out Of Spec Alarm
"HMI_Alarms"."Supplies"."Alarm065" := "gSyrBrixOutSpec_Fault" OR ("HMI_Alarms"."Supplies"."Alarm065" AND "gIN_ResetBtn");
IF "gSyrBrixOutSpec_Fault" OR ("HMI_Alarms"."Supplies"."Alarm065" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 59: Chiller Ammonia Pressure Too Low - Supplies Alarm - (Original Language: LAD)
"HMI_Alarms"."Supplies"."Alarm066" := "gIN_AmmoniaLowPressure" OR ("HMI_Alarms"."Supplies"."Alarm066" AND "gIN_ResetBtn");
IF "gIN_AmmoniaLowPressure" OR ("HMI_Alarms"."Supplies"."Alarm066" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 60: Water Temperature Too High (Original Language: LAD)
// PBox SymPy processed, logic in consumer
"M19033" := "gTTM306_H2O_TempTooHigh"; // P_TRIG("gTTM306_H2O_TempTooHigh") - Mem: "M19033"
"HMI_Alarms"."Supplies"."Alarm067" := ("gIN_ResetBtn" AND "HMI_Alarms"."Supplies"."Alarm067") OR ("gTTM306_H2O_TempTooHigh" AND NOT "M19033");
IF ("gIN_ResetBtn" AND "HMI_Alarms"."Supplies"."Alarm067") OR ("gTTM306_H2O_TempTooHigh" AND NOT "M19033") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 61: Product Temperature Too High (Original Language: LAD)
// PBox SymPy processed, logic in consumer
"M19034" := "AUX FALSE" AND "gTTM306_PRD_TempTooHigh"; // P_TRIG("AUX FALSE" AND "gTTM306_PRD_TempTooHigh") - Mem: "M19034"
"HMI_Alarms"."Supplies"."Alarm068" := ("gIN_ResetBtn" AND "HMI_Alarms"."Supplies"."Alarm068") OR ("AUX FALSE" AND "gTTM306_PRD_TempTooHigh" AND NOT "M19034");
IF ("gIN_ResetBtn" AND "HMI_Alarms"."Supplies"."Alarm068") OR ("AUX FALSE" AND "gTTM306_PRD_TempTooHigh" AND NOT "M19034") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 62: Syrup Density Out Of Standard - Supplies Alarm - (Original Language: LAD)
"HMI_Alarms"."Supplies"."Alarm070" := "gSyrupDensOutSpec_Fault" OR ("HMI_Alarms"."Supplies"."Alarm070" AND "gIN_ResetBtn");
IF "gSyrupDensOutSpec_Fault" OR ("HMI_Alarms"."Supplies"."Alarm070" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 63: Ammonia compressors not running - Supplies Alarm - (Original Language: LAD)
"HMI_Alarms"."Supplies"."Alarm072" := "gAmmoniaCompressor_Fault" OR ("HMI_Alarms"."Supplies"."Alarm072" AND "gIN_ResetBtn");
IF "gAmmoniaCompressor_Fault" OR ("HMI_Alarms"."Supplies"."Alarm072" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 64: CRITICAL - Minimum level vacuum pump (Original Language: LAD)
"HMI_Alarms"."Supplies"."Alarm073" := "gIN_MinPPN304" OR ("HMI_Alarms"."Supplies"."Alarm073" AND "gIN_ResetBtn");
IF "gIN_MinPPN304" OR ("HMI_Alarms"."Supplies"."Alarm073" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 65: CRITICAL - Maximum level vacuum pump (Original Language: LAD)
"HMI_Alarms"."Supplies"."Alarm074" := "gIN_MaxPPN304" OR ("HMI_Alarms"."Supplies"."Alarm074" AND "gIN_ResetBtn");
IF "gIN_MaxPPN304" OR ("HMI_Alarms"."Supplies"."Alarm074" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 66: UV Lamp High Temperature - Supplies Alarm - (Original Language: LAD)
"HMI_Alarms"."Supplies"."Alarm075" := "gUVLampHighTemperature" OR ("HMI_Alarms"."Supplies"."Alarm075" AND "gIN_ResetBtn");
IF "gUVLampHighTemperature" OR ("HMI_Alarms"."Supplies"."Alarm075" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 67: UV Lamp Fault - Supplies Alarm - (Original Language: LAD)
"HMI_Alarms"."Supplies"."Alarm076" := "Blender_Variables"."gInUVLampAlarm" OR ("HMI_Alarms"."Supplies"."Alarm076" AND "gIN_ResetBtn");
IF "Blender_Variables"."gInUVLampAlarm" OR ("HMI_Alarms"."Supplies"."Alarm076" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 68: CRITICAL - PCM306 High Pressure (Original Language: LAD)
"HMI_Alarms"."Supplies"."Alarm078" := "gPCM306HighPress" OR ("HMI_Alarms"."Supplies"."Alarm078" AND "gIN_ResetBtn");
IF "gPCM306HighPress" OR ("HMI_Alarms"."Supplies"."Alarm078" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 69: CIP Fault (Original Language: LAD)
"HMI_Alarms"."External"."Alarm090" := ("HMI_Alarms"."External"."Alarm090" AND "gIN_ResetBtn") OR ("gBlenderCIPMode" AND "Procedure_Variables"."Blender_Run"."Running" AND "gIN_CIP_Fault");
IF ("HMI_Alarms"."External"."Alarm090" AND "gIN_ResetBtn") OR ("gBlenderCIPMode" AND "Procedure_Variables"."Blender_Run"."Running" AND "gIN_CIP_Fault") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 70: To HMI (Original Language: LAD)
IF "gIN_ResetBtn" AND "HMI_Device"."PPP302"."Alarm" THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 71: Water Manual Valve Open (Original Language: LAD)
"HMI_Alarms"."Operator"."Alarm120" := "gHVM302_Open" OR ("HMI_Alarms"."Operator"."Alarm120" AND "gIN_ResetBtn");
IF "gHVM302_Open" OR ("HMI_Alarms"."Operator"."Alarm120" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 72: Syrup Line Manual Drain Valve Open (Original Language: LAD)
"HMI_Alarms"."Operator"."Alarm121" := "gHVP301_Open" OR ("HMI_Alarms"."Operator"."Alarm121" AND "gIN_ResetBtn");
IF "gHVP301_Open" OR ("HMI_Alarms"."Operator"."Alarm121" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 73: Syrup Line Not Selected (Original Language: LAD)
"HMI_Alarms"."Operator"."Alarm122" := "gSyrupLineNotSelected" OR ("HMI_Alarms"."Operator"."Alarm122" AND "gIN_ResetBtn");
IF "gSyrupLineNotSelected" OR ("HMI_Alarms"."Operator"."Alarm122" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 74: Manifold not ready for Prod (Original Language: LAD)
"HMI_Alarms"."Operator"."Alarm130" := "gIN_ManifoldNotReadyProd" OR ("HMI_Alarms"."Operator"."Alarm130" AND "gIN_ResetBtn");
IF "gIN_ManifoldNotReadyProd" OR ("HMI_Alarms"."Operator"."Alarm130" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 75: Manifold not ready for CIP (Original Language: LAD)
"HMI_Alarms"."Operator"."Alarm131" := "gIN_ManifoldNotReadyCIP" OR ("HMI_Alarms"."Operator"."Alarm131" AND "gIN_ResetBtn");
IF "gIN_ManifoldNotReadyCIP" OR ("HMI_Alarms"."Operator"."Alarm131" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 76: Water FlowMeter General Fault - Fault Alarm - (Original Language: LAD)
// Water Flowmeter Fault
"HMI_Instrument"."FTN301"."Alarm" := "gFTN301_Fault" OR ("HMI_Instrument"."FTN301"."Alarm" AND "gIN_ResetBtn");
IF "gFTN301_Fault" OR ("HMI_Instrument"."FTN301"."Alarm" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 77: Syrup FlowMeter General Fault - Fault Alarm - (Original Language: LAD)
// Syrup Flowmeter Fault
"HMI_Instrument"."FTP302"."Alarm" := "gFTP302_Fault" OR ("HMI_Instrument"."FTP302"."Alarm" AND "gIN_ResetBtn");
IF "gFTP302_Fault" OR ("HMI_Instrument"."FTP302"."Alarm" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 78: Carbo CO2 FlowMeter Fault - Fault Alarm - (Original Language: LAD)
// Carbo CO2 Flowmeter Fault
"HMI_Instrument"."FTM303"."Alarm" := ("gFTM303_Fault" AND "AUX FALSE") OR ("HMI_Instrument"."FTM303"."Alarm" AND "gIN_ResetBtn");
IF ("gFTM303_Fault" AND "AUX FALSE") OR ("HMI_Instrument"."FTM303"."Alarm" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 79: CRITICAL - Water Control Valve Position Fault (Original Language: LAD)
"HMI_PID"."RMM301"."Alarm" := "gRMM301_Pos_Fault" OR ("HMI_PID"."RMM301"."Alarm" AND "gIN_ResetBtn");
IF "gRMM301_Pos_Fault" OR ("HMI_PID"."RMM301"."Alarm" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 80: CRITICAL - Syrup Control Valve Position Fault (Original Language: LAD)
"HMI_PID"."RMP302"."Alarm" := "gRMP302_Pos_Fault" OR ("HMI_PID"."RMP302"."Alarm" AND "gIN_ResetBtn");
IF "gRMP302_Pos_Fault" OR ("HMI_PID"."RMP302"."Alarm" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 81: CRITICAL - C02 Injection Control Valve Position Fault (Original Language: LAD)
"HMI_PID"."RMM303"."Alarm" := "gRMM303_Pos_Fault" OR ("HMI_PID"."RMM303"."Alarm" AND "gIN_ResetBtn");
IF "gRMM303_Pos_Fault" OR ("HMI_PID"."RMM303"."Alarm" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 82: CRITICAL - GAS2 Injection Control Valve Position Fault (Original Language: LAD)
"HMI_PID"."RMM304"."Alarm" := "gRMM304_Pos_Fault" OR ("HMI_PID"."RMM304"."Alarm" AND "gIN_ResetBtn");
IF "gRMM304_Pos_Fault" OR ("HMI_PID"."RMM304"."Alarm" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 83: WARNING - Product tank pressure fault (Original Language: LAD)
"HMI_PID"."RVM301"."Alarm" := "gRVM301_Fault" OR ("HMI_PID"."RVM301"."Alarm" AND "gIN_ResetBtn");
IF "gRVM301_Fault" OR ("HMI_PID"."RVM301"."Alarm" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 84: WARNING - Deaireation valve fault (Original Language: LAD)
"HMI_PID"."RVN304"."Alarm" := "gRVN304Fault" OR ("HMI_PID"."RVN304"."Alarm" AND "gIN_ResetBtn");
IF "gRVN304Fault" OR ("HMI_PID"."RVN304"."Alarm" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 85: WARNING - Deaireation valve fault (Original Language: LAD)
"HMI_Device"."AVM346"."Alarm" := "gAVM346Fault" OR ("HMI_Device"."AVM346"."Alarm" AND "gIN_ResetBtn");
IF "gAVM346Fault" OR ("HMI_Device"."AVM346"."Alarm" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 86: WARNING - Deaireation valve fault (Original Language: LAD)
"HMI_Device"."AVM362"."Alarm" := "gAVM362Fault" OR ("HMI_Device"."AVM362"."Alarm" AND "gIN_ResetBtn");
IF "gAVM362Fault" OR ("HMI_Device"."AVM362"."Alarm" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 87: WARNING - Deaireation valve fault (Original Language: LAD)
"HMI_Device"."AVM327"."Alarm" := "gAVM327Fault" OR ("HMI_Device"."AVM327"."Alarm" AND "gIN_ResetBtn");
IF "gAVM327Fault" OR ("HMI_Device"."AVM327"."Alarm" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 88: WARNING - Deaireation valve fault (Original Language: LAD)
"HMI_Device"."AVM328"."Alarm" := "gAVM328Fault" OR ("HMI_Device"."AVM328"."Alarm" AND "gIN_ResetBtn");
IF "gAVM328Fault" OR ("HMI_Device"."AVM328"."Alarm" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 89: To HMI (Original Language: LAD)
IF "gIN_ResetBtn" AND "HMI_Device"."PPN301"."Alarm" THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 90: To HMI (Original Language: LAD)
IF "gIN_ResetBtn" AND "HMI_Device"."PPN305"."Alarm" THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 91: To HMI (Original Language: LAD)
IF "gIN_ResetBtn" AND "HMI_Device"."PPM306"."Alarm" THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 92: To HMI (Original Language: LAD)
IF "gIN_ResetBtn" AND "HMI_Device"."PPM303"."Alarm" THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 93: To HMI (Original Language: LAD)
IF "gIN_ResetBtn" AND "HMI_Device"."PPN304"."Alarm" THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 94: To HMI (Original Language: LAD)
IF "HMI_Device"."SyrupRoom_SyrupPump"."Alarm" AND "gIN_ResetBtn" THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 95: To HMI (Original Language: LAD)
IF "HMI_Device"."SyrupRoom_WaterPump"."Alarm" AND "gIN_ResetBtn" THEN
"gBlenderAlarm" := TRUE;
END_IF;
// Network 96: WARNING - CIP Fault (Original Language: LAD)
"HMI_Alarms"."Operator"."Alarm136" := "PPN301_SoftStart_Averia" OR ("HMI_Alarms"."Operator"."Alarm136" AND "gIN_ResetBtn");
IF "PPN301_SoftStart_Averia" OR ("HMI_Alarms"."Operator"."Alarm136" AND "gIN_ResetBtn") THEN
"gBlenderAlarm" := TRUE;
END_IF;
END_FUNCTION