```pascal // 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 ```