```pascal // Block Type: FB // Block Number: 1718 // Original Network Languages: STL, LAD FUNCTION_BLOCK "Input" { S7_Optimized_Access := 'TRUE' } VERSION : 0.1 VAR_STAT CO2_LowPressure : Bool; H_Fault_Temp : Bool; L_Fault_Temp : Bool; mRealTemp : Real; mCO2PressOkON : Bool; mDelayFaultAVM346ON : Bool; mDelayFaultAVM362ON : Bool; mDelayFaultAVM327ON : Bool; mDelayFaultAVM328ON : Bool; mDeairTank_VacuumOkON : Bool; mDeairTank_VacuumFltON : Bool; mFlrRinseTankMaxLvlON : Bool; mFlrRinseTankMinLvlON : Bool; mFiller1ProReqDlyON : Bool; mFiller2ProReqDlyON : Bool; mFillerEndTankFillingON : Bool; mFillerCIPReadyDlyON : Bool; mUVLampDelayReadyON : Bool; mUVLampDelayFaultON : Bool; mUVLampDelayTempHighON : Bool; mDeairTank_DelayFaultON : Bool; mRVM301_DelayFaultON : Bool; mCO2PressOk : "TON_TIME:v1.0"; mDelayFaultAVP361 : "TON_TIME:v1.0"; mDelayFaultAVM342 : "TON_TIME:v1.0"; mDelayFaultAVM341 : "TON_TIME:v1.0"; mDelayFaultAVM346 : "TON_TIME:v1.0"; mDelayFaultAVM362 : "TON_TIME:v1.0"; mDelayFaultAVM369 : "TON_TIME:v1.0"; mDelayFaultAVM327 : "TON_TIME:v1.0"; mDelayFaultAVN314 : "TON_TIME:v1.0"; mDelayFaultAVM317 : "TON_TIME:v1.0"; mDelayFaultAVM316 : "TON_TIME:v1.0"; mDelayFaultAVM315 : "TON_TIME:v1.0"; mDelayFaultAVM314 : "TON_TIME:v1.0"; mDelayFaultAVM313 : "TON_TIME:v1.0"; mDelayFaultAVM312 : "TON_TIME:v1.0"; mDelayFaultAVM311 : "TON_TIME:v1.0"; mDelayFaultAVM323_2 : "TON_TIME:v1.0"; mDelayFaultAVM323_1 : "TON_TIME:v1.0"; mDelayFaultAVM321 : "TON_TIME:v1.0"; mDelayFaultAVM324 : "TON_TIME:v1.0"; mDelayFaultAVN318 : "TON_TIME:v1.0"; mDelayFaultAVM322 : "TON_TIME:v1.0"; mDelayFaultAVM326 : "TON_TIME:v1.0"; mDelayFaultAVN328 : "TON_TIME:v1.0"; mDelayFaultAVN327 : "TON_TIME:v1.0"; mDelayFaultAVM323 : "TON_TIME:v1.0"; mDelayFaultAVM388 : "TON_TIME:v1.0"; mDelayFaultAVM389 : "TON_TIME:v1.0"; mDelayFaultAVN395 : "TON_TIME:v1.0"; mDelayFaultAVP317 : "TON_TIME:v1.0"; mDelayFaultAVP316_1 : "TON_TIME:v1.0"; mDelayFaultAVP316 : "TON_TIME:v1.0"; mDelayFaultAVP317_1 : "TON_TIME:v1.0"; mDelayFaultAVP391 : "TON_TIME:v1.0"; mDelayFaultAVP344 : "TON_TIME:v1.0"; mDelayFaultAVP324 : "TON_TIME:v1.0"; mDelayFaultAVM328 : "TON_TIME:v1.0"; mDeairTank_VacuumOk : "TON_TIME:v1.0"; mDeairTank_VacuumFlt : "TOF_TIME:v1.0"; mFlrRinseTankMaxLvl : "TON_TIME:v1.0"; mFlrRinseTankMinLvl : "TOF_TIME:v1.0"; mFillerProReqDly : "TON_TIME:v1.0"; mFiller2ProReqDly : "TON_TIME:v1.0"; mFillerEndTankFilling : "TOF_TIME:v1.0"; mFillerCIPReadyDly : "TOF_TIME:v1.0"; mFiller2CIPReadyDly : "TOF_TIME:v1.0"; mUVLampDelayReady : "TON_TIME:v1.0"; mUVLampDelayFault : "TON_TIME:v1.0"; mUVLampDelayTempHigh : "TON_TIME:v1.0"; mDeairTank_DelayFault : "TON_TIME:v1.0"; mRVM301_DelayFault : "TON_TIME:v1.0"; Deair_Water_Temp : "LowPassFilter"; Product_Tank_Level : "LowPassFilter"; C1_Conductivity_Caustic : "LowPassFilter"; C1_Conductivity_Water : "LowPassFilter"; CIP_Retur_Temperature : "LowPassFilter"; Fille_Level : "LowPassFilter"; Syrup_Conductivity : "LowPassFilter"; Product_Conductivity : "LowPassFilter"; Deaireator_Pressure : "LowPassFilter"; CO2InjPressFlted : "LowPassFilter"; DeairValveFlted : "LowPassFilter"; ProductO2Conc : "LowPassFilter"; NorgrenPressSafety : "LowPassFilter"; mDelayFaultAVM317_1 : "TON_TIME:v1.0"; END_VAR VAR_TEMP mF8_AuxiliaryOn_ONS : Bool; mF1_StartStop_ONS : Bool; mDummy : Bool; mCalc : Real; mCO2InjPressThreshold : Real; mCO2InjPressNotOk : Bool; mSyrTankMinLevel : Bool; mDivertPanelSensor : Bool; mRVN304Fault : Bool; mRVN305Fault : Bool; mProdTankPressValveFault : Bool; mH_Fault : Bool; mL_Fault : Bool; mAuxDI : DInt; mFTFS : Real; mAuxInt1 : Int; mAuxInt2 : Int; mAI_RVM301 : Word; mAuxFlowTronic : Real; AuxManifoldCIP_Stat : Bool; AuxManifoldProd_Stat : Bool; AuxNot_WST : Bool; PCM306_Error : Real; PCM306_MaxError : Real; RVN304_MaxError : Real; RVN305_MaxError : Real; END_VAR #_15S : Bool; // Auto-generated temporary #_1M : Bool; // Auto-generated temporary #_2S : Bool; // Auto-generated temporary #_30S : Bool; // Auto-generated temporary #_30s : Bool; // Auto-generated temporary #_3s : Bool; // Auto-generated temporary #_5S : Bool; // Auto-generated temporary #_6s : Bool; // Auto-generated temporary #TOF_INSTANCE_31 : Bool; // Auto-generated temporary #TOF_INSTANCE_33 : Bool; // Auto-generated temporary #TON_INSTANCE_25 : Bool; // Auto-generated temporary #TON_INSTANCE_27 : Bool; // Auto-generated temporary #TON_INSTANCE_28 : Bool; // Auto-generated temporary #TON_INSTANCE_29 : Bool; // Auto-generated temporary #TON_INSTANCE_30 : Bool; // Auto-generated temporary #TON_INSTANCE_32 : Bool; // Auto-generated temporary #TON_INSTANCE_36 : Bool; // Auto-generated temporary BEGIN // Network 1: Check Flow Meter (Original Language: LAD) Input_CheckFlowMetersSta(); // Network 2: MIX - Use during Workshop test - BF - (Original Language: LAD) "gWorkshopTest" := "HMI_Service"."Workshop_Test"."WorkshopTest"; IF NOT "HMI_Service"."Workshop_Test"."WorkshopTest" THEN "HMI_Service"."Workshop_Test"."SIMTestWithGas" := FALSE; END_IF; "gWorkshop_Syrup_Test" := "HMI_Service"."Workshop_Test"."WorkshopTest" AND "HMI_Service"."Workshop_Test"."SyrupTestRequest"; "gWorkshop_CIP_Signals" := "HMI_Service"."Workshop_Test"."WorkshopTest" AND "HMI_Service"."Workshop_Test"."CIPSignalsTestRequest"; "gWorkshop_Filler_Signals_SIM" := "HMI_Service"."Workshop_Test"."WorkshopTest" AND "HMI_Service"."Workshop_Test"."FillerSignalsTestRequest"; "gWorkshop_Co2_Presence" := "HMI_Service"."Workshop_Test"."WorkshopTest" AND "HMI_Service"."Workshop_Test"."CO2TestPresent"; // Network 3: Auxiliary On (Original Language: LAD) "mAuxiliaryOn" := ("DI_AuxVoltage_On" AND "DI_Emergency_Pilz_On" AND "DI_Emergency_Pressed") OR ("DO_CtrlCircuitRun" AND "DI_Emergency_Pilz_On" AND "DI_Emergency_Pressed"); // Network 4: Voltage Ok (Original Language: LAD) "gIN_VoltageOk" := "mAuxiliaryOn" AND "DI_AuxVoltage_On"; // Network 5: E-Stop Pressed (Original Language: LAD) "HMI_Alarms"."gH_Message" := "DI_Emergency_Pressed"; // Network 6: Shut Down (Original Language: LAD) "HMI_Variables_Status"."Procedures"."ShutDownRequest" := "DI_UPSsupply" AND "HMI_ShutDownDelay"; // Network 7: (Original Language: LAD) "T169"(IN := "DO_HMIPowerSupply", PT := S5T#1M); // TODO: Declarar "T169" : TON; // Network 8: Temp Too High (Original Language: LAD) "gElCabTooHigh" := "DI_MaxTempAlarm"; // Network 9: Horn Reset (Original Language: LAD) "gIN_ResetHorn" := ("HMI_Variables_Cmd"."Commands_From_HMI"."F9_HornReset"."Command" AND "HMI_Variables_Cmd"."Commands_From_HMI"."F9_HornReset"."Enable") OR ("DI_PB_HornReset" AND "HMI_Variables_Cmd"."Commands_From_HMI"."F9_HornReset"."Enable"); // Network 10: Reset (Original Language: LAD) "gIN_ResetBtn" := "DI_AlarmReset" OR ("HMI_Variables_Cmd"."Commands_From_HMI"."F10_FaultReset"."Command" AND "HMI_Variables_Cmd"."Commands_From_HMI"."F10_FaultReset"."Enable"); // Network 11: StartStop (Original Language: LAD) // Edge Logic handled by Coil 28 "M19025" := "HMI_Variables_Cmd"."Commands_From_HMI"."F1_StartStop"."Command" AND "HMI_Variables_Cmd"."Commands_From_HMI"."F1_StartStop"."Enable"; // P_TRIG("HMI_Variables_Cmd"."Commands_From_HMI"."F1_StartStop"."Command" AND "HMI_Variables_Cmd"."Commands_From_HMI"."F1_StartStop"."Enable") - Mem: "M19025" "mF1_StartStop_ONS" := "HMI_Variables_Cmd"."Commands_From_HMI"."F1_StartStop"."Command" AND "HMI_Variables_Cmd"."Commands_From_HMI"."F1_StartStop"."Enable" AND NOT "M19025"; "M19025" := "HMI_Variables_Cmd"."Commands_From_HMI"."F1_StartStop"."Command" AND "HMI_Variables_Cmd"."Commands_From_HMI"."F1_StartStop"."Enable"; // P_TRIG("HMI_Variables_Cmd"."Commands_From_HMI"."F1_StartStop"."Command" AND "HMI_Variables_Cmd"."Commands_From_HMI"."F1_StartStop"."Enable") - Mem: "M19025" // Network 12: Stop (Original Language: LAD) "gIN_StopBtn" := "mF1_StartStop_ONS" AND "HMI_Variables_Cmd"."Commands_From_HMI"."F1_StartStop"."Light"; // Network 13: Start (Original Language: LAD) "gIN_StartBtn" := "mF1_StartStop_ONS" AND "HMI_Variables_Cmd"."Commands_From_HMI"."F1_StartStop"."Light"; // Network 14: Use during Workshop test - BF - (Original Language: LAD) "mCO2InjPressThreshold" := "HMI_Blender_Parameters"."ProcessSetup"."_PPN301Pressure" + 0.1; SEL_R(G := "Blender_Variables_Pers"."gCarboStillRecipe" AND "gBlenderRinseMode", IN0 := "HMI_Blender_Parameters"."ProcessSetup"."_N2MinPressure", IN1 := "mCO2InjPressThreshold"); "mDummy" := TRUE; // Network 15: Use during Workshop test - BF - (Original Language: LAD) "mCalc" := "mCO2InjPressThreshold" / 2.0; SEL_R(G := "Procedure_Variables"."TN301_StartUp"."Latch", IN0 := "mCO2InjPressThreshold", IN1 := "mCalc"); "mDummy" := TRUE; // Network 16: C02 Injection Not Ok (Original Language: LAD) "mCO2InjPressNotOk" := Eq("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_InjectionPress_Ctrl", 0) OR ("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_InjectionPress_Ctrl" > 0); // Network 17: CO2 Low Presure Fault (Original Language: LAD) "gCO2PressNotOk" := ("Procedure_Variables"."BlendFill_StartUp"."Done" AND "mCO2InjPressNotOk" AND "gWorkshopTest" AND "gBlenderCIPMode") OR ("Procedure_Variables"."BlendFill_StartUp"."Latch" AND "mCO2InjPressNotOk" AND "gWorkshopTest" AND "gBlenderCIPMode" AND ("HMI_PID"."RVM301"."Out" < 50.0)); // Network 18: Co2 Line Pressure Ok (Original Language: LAD) "gIN_LinePressCO2Ok" := "gCO2LowPress_Fault"; // Network 19: CO2 inlet line pressure not stable (Original Language: LAD) "HMI_Alarms"."gH_Message" := "Blender_Variables_Pers"."gCarboStillRecipe" AND "gCO2LowPress_Fault" AND "gBlenderBlending" AND ("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_InjectionPress_Ctrl" > 0); IF "Blender_Variables_Pers"."gCarboStillRecipe" AND "gCO2LowPress_Fault" AND "gBlenderBlending" AND ("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_InjectionPress_Ctrl" > 0) THEN "mCalc" := "HMI_PID"."PCM306"."Sp" - "HMI_Instrument"."PCM306"."PVFiltered"; END_IF; // Network 20: *** (Original Language: LAD) // Network 20 has no logic elements. // Network 21: MIX - (Original Language: LAD) "HMI_Device"."AVM362"."FeedBackOff" := "HMI_Device"."AVM362"."Config" AND "HMI_Device"."AVM362"."Out" AND "DI_AVM362_Close"; "HMI_Device"."AVM362"."FeedBackOn" := "HMI_Device"."AVM362"."Config" AND "HMI_Device"."AVM362"."Out" AND "DI_AVM362_Open"; // Network 22: AVM362 Fault Valve (Original Language: LAD) #TON_INSTANCE_32(IN := ("DI_AVM362_Close" AND "HMI_Device"."AVM362"."FeedBackOff") OR ("DI_AVM362_Open" AND "HMI_Device"."AVM362"."FeedBackOn"), PT := T#5S); // TODO: Declarar #TON_INSTANCE_32 : TON; "gAVM362Fault" := #TON_INSTANCE_32.Q; // Network 23: MIX - (Original Language: LAD) "HMI_Device"."AVM346"."FeedBackOff" := "HMI_Device"."AVM346"."Config" AND "HMI_Device"."AVM346"."Out" AND "DI_AVM346_Close"; "HMI_Device"."AVM346"."FeedBackOn" := "HMI_Device"."AVM346"."Config" AND "HMI_Device"."AVM346"."Out" AND "DI_AVM346_Open"; // Network 24: AVM346 Fault Valve (Original Language: LAD) #TON_INSTANCE_36(IN := ("gWorkshopTest" AND "DI_AVM346_Close" AND "HMI_Device"."AVM346"."FeedBackOff") OR ("gWorkshopTest" AND "DI_AVM346_Open" AND "HMI_Device"."AVM346"."FeedBackOn"), PT := T#5S); // TODO: Declarar #TON_INSTANCE_36 : TON; "gAVM346Fault" := #TON_INSTANCE_36.Q; // Network 25: Raw signal (Original Language: LAD) "HMI_Digital"."_PAL_S11"."Raw" := "DI_Air_InletPress_OK"; "HMI_Digital"."_PAL_S11"."Filtered" := "DI_Air_InletPress_OK"; // Network 26: Syrup Line Drain Valve Aux (Original Language: LAD) "gIN_HVP301_Aux" := "AUX TRUE" AND "DI_HVP301_Sensor"; // Network 27: Water Manual Drain Valve Aux (Original Language: LAD) "gIN_HVM302_Aux" := "DI_HVM302_Sensor" AND "AUX FALSE"; // Network 28: Raw signal (Original Language: LAD) "HMI_Digital"."FSS301"."Raw" := "DI_FSS301"; // Network 29: Raw signal (Original Language: LAD) "HMI_Digital"."LSN301L"."Raw" := "DI_LSN301L"; // Network 30: Raw signal (Original Language: LAD) "HMI_Digital"."LSN302L"."Raw" := "DI_Min_Deair2_Level"; // Network 31: Raw signal (Original Language: LAD) "HMI_Digital"."LSM302L"."Raw" := "DI_LSM302L"; // Network 32: Raw signal (Original Language: LAD) "HMI_Digital"."LAL_S3"."Raw" := "DI_Min_Syrup_Level"; // Network 33: Deaireator Tank Vacuum OK (Original Language: LAD) #TON_INSTANCE_29(IN := "DI_DeairVacuumOk" OR "gDeairTank_VacuumOk", PT := T#15S); // TODO: Declarar #TON_INSTANCE_29 : TON; #TOF_INSTANCE_31(IN := #TON_INSTANCE_29.Q, PT := T#15S); // TODO: Declarar #TOF_INSTANCE_31 : TOF; "gIN_DeairTank_Vacuum_Ok" := #TOF_INSTANCE_31.Q; // Network 34: Water Valve Closed (Original Language: LAD) "gIN_RMM301_Closed" := "DI_RMM301_Closed"; // Network 35: Syrup Valve Closed (Original Language: LAD) "gIN_RMP302_Closed" := "DI_RMP302_Closed"; // Network 36: Carbo CO2 Valve Closed (Original Language: LAD) "gIN_RMM303_Closed" := "DI_RMM303_Closed"; // Network 37: GAS2 Valve Closed (Original Language: LAD) "gIN_RMM304_Closed" := "DI_RMM304_Closed"; // Network 38: Water Pump FC Ready (Original Language: LAD) "gIN_PPN301_FCReady" := "HMI_PID"."PPN301"."Config" AND "PPN301_B01_DriveReady" AND "PPN301_B03_Trip"; // Network 39: Syrup Pump FC Ready (Original Language: LAD) "gIN_PPP302_FCReady" := "HMI_PID"."PPP302"."Config" AND "PPP302_B01_DriveReady" AND "PPP302_B03_Trip"; // Network 40: Product Pump FC Ready (Original Language: LAD) "gIN_PPM303_FCReady" := "PPM303_B01_DriveReady" AND "PPM303_B03_Trip"; // Network 41: From Syrup Room Syrup ready (Original Language: LAD) "gIN_SyrRoomOk" := ("DI_SyrRoom_SyrPump_Running" AND "gBlenderProdMode" AND "DI_SyrRoom_Cip_Mode") OR ("Procedure_Variables"."Syr_RunOut"."Latch" AND "DI_SYRUP_Runout" AND "gBlenderProdMode" AND "DI_SyrRoom_Cip_Mode"); "Interlocking_Variables"."SYRUP_ROOM_REC_DATA"."Syrup_1_Ready" := ("DI_SyrRoom_SyrPump_Running" AND "gBlenderProdMode" AND "DI_SyrRoom_Cip_Mode") OR ("Procedure_Variables"."Syr_RunOut"."Latch" AND "DI_SYRUP_Runout" AND "gBlenderProdMode" AND "DI_SyrRoom_Cip_Mode"); "Interlocking_Variables"."SYRUP_ROOM_REC_DATA"."Syrup_2_Ready" := ("DI_SyrRoom_SyrPump_Running" AND "gBlenderProdMode" AND "DI_SyrRoom_Cip_Mode") OR ("Procedure_Variables"."Syr_RunOut"."Latch" AND "DI_SYRUP_Runout" AND "gBlenderProdMode" AND "DI_SyrRoom_Cip_Mode"); // Network 42: Syrup RunOut (Original Language: LAD) "Interlocking_Variables"."SYRUP_ROOM_REC_DATA"."Syrup_RunOut" := "DI_SYRUP_Runout" AND "gBlenderProdMode" AND "DI_SyrRoom_Cip_Mode"; // Network 43: Syrup Room Alarm (Original Language: LAD) "Interlocking_Variables"."SYRUP_ROOM_REC_DATA"."Syrup_Room_Alarm" := "gBlenderProdMode" AND "DI_SyrRoom_Pump_Ready"; // Network 44: Syrup Room CIP (Original Language: LAD) "Interlocking_Variables"."SYRUP_ROOM_REC_DATA"."Syrup_Room_Cip" := "DI_SyrRoom_Cip_Mode"; // Network 45: AVM327 Status (Original Language: LAD) "HMI_Device"."AVM327_NoCMD"."Out" := "Interlocking_Variables"."SIMO_FILLER_REC_DATA"."MixProof_AVM327_Status"; // Network 46: Divert Panel Sensor (Original Language: LAD) "mDivertPanelSensor" := Eq("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_DivertPanel", 1); // Network 47: MainFold Not Ready Prod (Original Language: LAD) "gIN_ManifoldNotReadyProd" := "gBlenderRinseMode" AND "gBlenderCIPMode" AND "AuxManifoldCIP_Stat" AND "Procedure_Variables"."Blender_Run"."Latch" AND "mDivertPanelSensor"; // Network 48: MainFold Not Ready CIP (Original Language: LAD) "gIN_ManifoldNotReadyCIP" := "gBlenderRinseMode" AND "gBlenderCIPMode" AND "Procedure_Variables"."Blender_Run"."Latch" AND "mDivertPanelSensor" AND "AuxManifoldProd_Stat"; // Network 49: Filler product request delay (Original Language: LAD) "gIN_FillerProdReady" := "Interlocking_Variables"."SIMO_FILLER_REC_DATA"."PROD_Selected" OR "Interlocking_Variables"."FILLER_MIXER_RECEIVE"."PROD_Selected"; // Network 50: FillerProReqDly (Original Language: LAD) "gIN_Filler1ProductReq" := "Interlocking_Variables"."SIDEL_FILLER_REC_DATA"."PROD_Request" OR "Interlocking_Variables"."FILLER_MIXER_RECEIVE"."GEN_AVM362_Enable"; "gIN_Filler_AVM362_En" := "Interlocking_Variables"."SIDEL_FILLER_REC_DATA"."PROD_Request" OR "Interlocking_Variables"."FILLER_MIXER_RECEIVE"."GEN_AVM362_Enable"; // Network 51: FillerProReqDly (Original Language: LAD) "gIN_Filler2ProductReq" := "DI_Flr2_PROD_Request"; "gIN_Filler_AVM363_En" := "DI_Flr2_PROD_Request"; // Network 52: Filler Filling (Original Language: LAD) "gIN_FillerBottleFilling" := "Interlocking_Variables"."FILLER_MIXER_RECEIVE"."PROD_Bott_Filling"; // Network 53: Filler End Flushing (Original Language: LAD) // gBlendFillReceiveData.Prod_BottlePresence "gIN_FillerEndFlushing" := "Interlocking_Variables"."FILLER_MIXER_RECEIVE"."PROD_End_Flushing" OR ("gWorkshopTest" AND "gWorkshop_Filler_Signals_SIM" AND "HMI_Service"."Workshop_Test"."SIMFillerEndFlushing"); // Network 54: Filler End Tank (Original Language: LAD) // gBlendFillReceiveData.Prod_End_Tank_Filling #TOF_INSTANCE_33(IN := "Interlocking_Variables"."FILLER_MIXER_RECEIVE"."PROD_End_Tank_Filling" OR ("gWorkshopTest" AND "gWorkshop_Filler_Signals_SIM" AND "HMI_Service"."Workshop_Test"."SIMFillerEndTankFilling"), PT := T#2S); // TODO: Declarar #TOF_INSTANCE_33 : TOF; "gIN_FillerEndTankFilling" := #TOF_INSTANCE_33.Q AND "mFillerEndTankFillingON"; // Network 55: Rinse Complete (Original Language: LAD) "System_RunOut_Variables"."In_Flr_FastRinseComplete" := "Interlocking_Variables"."SIMO_FILLER_REC_DATA"."CIP_RinseCompleted" OR "Interlocking_Variables"."FILLER_MIXER_RECEIVE"."RINSE_Ended"; // Network 56: Last Container (Original Language: LAD) "System_RunOut_Variables"."In_Flr_LastContainer" := "DI_Flr_EndProdLastBottleFilled" OR "Interlocking_Variables"."SIMO_FILLER_REC_DATA"."PROD_Last_Bottle"; // Network 57: Water Rinser Request (Original Language: LAD) "System_RunOut_Variables"."In_Flr_WaterRinseRequest" := "Interlocking_Variables"."SIMO_FILLER_REC_DATA"."Fast_ChangeOver_WaterReq" OR "Interlocking_Variables"."SIMO_FILLER_REC_DATA"."CIP_RinseRequest"; // Network 58: Filler AVM346 En (Original Language: LAD) "gIN_Filler_AVM346_En" := "Interlocking_Variables"."FILLER_MIXER_RECEIVE"."GEN_AVM346_Enable" OR ("HMI_Service"."Workshop_Test"."SIMFillerAVM346Enable" AND "gWorkshopTest"); // Network 59: Filler CIP Request (Original Language: LAD) #TON_INSTANCE_30(IN := "DI_Flr1_CIP/RinseFiller" OR "gWorkshopTest", PT := T#5S); // TODO: Declarar #TON_INSTANCE_30 : TON; "gIN_FillerCIPRequest" := #TON_INSTANCE_30.Q; // Network 60: Filler2 CIP Request (Original Language: LAD) #TON_INSTANCE_28(IN := "DI_Flr2_CIP/RinseFiller" OR "gWorkshopTest", PT := T#5S); // TODO: Declarar #TON_INSTANCE_28 : TON; "gIN_Filler2CIPRequest" := #TON_INSTANCE_28.Q; // Network 61: Filler CIp Cycle Ended (Original Language: LAD) "gIN_FillerCIPCycleEnded" := "Interlocking_Variables"."SIMO_FILLER_REC_DATA"."CIP_FlipCompleted" OR "Interlocking_Variables"."FILLER_MIXER_RECEIVE"."CIP_FlipFlop_Completed"; // Network 62: From Filler Drain Completed (Original Language: LAD) "gIN_FillerCIPDrainCompl" := "DI_Flr1_CIP_DrainComplete" OR "Interlocking_Variables"."SIMO_FILLER_REC_DATA"."CIP_DrainCompleted"; // Network 63: From Filler Spare (Original Language: LAD) "gIN_FillerCIPChangeReady" := "DI_Flr1_CIP/RinseFiller" OR "DI_Flr_CIP_RecoverReq"; // Network 64: From Filler CIP Open AVM313 (Original Language: LAD) "T121"(IN := "T122" AND "gBlenderCIPMode" AND "Procedure_Variables"."Blender_Run"."Latch", PT := S5T#30S); // TODO: Declarar "T121" : TON; // Network 65: AVM313 Cip Pulsing ON (Original Language: LAD) "gIN_FillerCIPOpen_AVM313" := "Interlocking_Variables"."FILLER_MIXER_RECEIVE"."CIP_Open_AVM313" OR ("HMI_Device"."PPM303"."Out" AND "T121"); // Network 66: From Filler Drain Selecteted (Original Language: LAD) "gIN_FillerCIPDrainSelect" := "Interlocking_Variables"."FILLER_MIXER_RECEIVE"."DREN_Selected"; // Network 67: Filler Speed (Original Language: LAD) "mCalc" := "Interlocking_Variables"."FILLER_MIXER_RECEIVE"."Filler_Speed"; "Filler_Head_Variables"."Filler_Speed" := "mCalc" * 1.0; // Network 68: Filler Bottles Count (Original Language: LAD) "mAuxDI" := "Interlocking_Variables"."FILLER_MIXER_RECEIVE"."RunOut_BottleCount"; "System_RunOut_Variables"."FillerBottleCount" := "mAuxDI"; // Network 69: From CIP Room Drain Request (Original Language: LAD) "gIN_CIP_DrainRequest" := "Interlocking_Variables"."CIP_REC_DATA"."Drain_Request" OR "Interlocking_Variables"."SIDEL_CIP_REC_DATA"."Cip_DrainRequest"; // Network 70: From CIP Room Flood Request (Original Language: LAD) "gIN_CIP_TankFilling" := "DI_CIP_TankFilling" OR "Interlocking_Variables"."SIDEL_CIP_REC_DATA"."Cip_FloodingRequest"; // Network 71: From CIP Room CIP running (Original Language: LAD) "gIN_CIP_CIPRunning" := "DI_CIP_CIP_Rinse" OR "DI_CIP_CIP_Enable"; "gIN_CIP_CIPMode" := "DI_CIP_CIP_Rinse" OR "DI_CIP_CIP_Enable"; // Network 72: From CIP Room CIP change sanitize (Original Language: LAD) "gIN_CIP_ChangeSanitize" := "Interlocking_Variables"."CIP_REC_DATA"."Change_Sanitize" OR "Interlocking_Variables"."SIDEL_CIP_REC_DATA"."CIP_RecoveryRequest"; // Network 73: From CIP Room CIP completed (Original Language: LAD) "gIN_CIP_CIPCompleted" := "DI_CIP_CleaningCompleted" OR "Interlocking_Variables"."CIP_REC_DATA"."Completed"; // Network 74: From CIP Room CIP Product Sending (Original Language: LAD) "gIN_CIP_CIPProdSending" := "DI_CIP_CIP_Enable" OR "Interlocking_Variables"."SIDEL_CIP_REC_DATA"."Cip_ProductSending"; // Network 75: From CIP Room CIP Fault (Original Language: LAD) "gIN_CIP_Fault" := ("DI_CIP_CleaningFault" AND "gWorkshopTest") OR ("Interlocking_Variables"."SIDEL_CIP_REC_DATA"."CIP_CleaningAlarm" AND "gWorkshopTest"); // Network 76: Chiler Ammonia level too high (Original Language: LAD) "HMI_Alarms"."gH_Message" := "gGencoldChillerEn" AND "Blender_Variables_Pers"."gCoolerEnabled" AND "gWorkshopTest" AND (("gProductChillerEn" AND "DI_Ammonia_High_Lev_Prod" AND ("HMI_Variables_Status"."Procedures"."ColdRinseRun" OR "gBlenderProdMode")) OR ("gWaterChillerEn" AND "DI_AmmoniaHighLev_Water" AND ("HMI_Variables_Status"."Procedures"."ColdRinseRun" OR "gBlenderProdMode"))); "gIN_AmmoniaHighLevel" := "gGencoldChillerEn" AND "Blender_Variables_Pers"."gCoolerEnabled" AND "gWorkshopTest" AND (("gProductChillerEn" AND "DI_Ammonia_High_Lev_Prod" AND ("HMI_Variables_Status"."Procedures"."ColdRinseRun" OR "gBlenderProdMode")) OR ("gWaterChillerEn" AND "DI_AmmoniaHighLev_Water" AND ("HMI_Variables_Status"."Procedures"."ColdRinseRun" OR "gBlenderProdMode"))); // Network 77: UV Lamp Ready (Original Language: LAD) #TON_INSTANCE_25(IN := "DI_UV_Lamp_Ready", PT := T#30s); // TODO: Declarar #TON_INSTANCE_25 : TON; "Blender_Variables"."gInUVLampReady" := #TON_INSTANCE_25.Q; // Network 78: UV Lamp (Original Language: LAD) "HMI_Alarms"."gH_Message" := "DI_UV_Lamp_Ready" AND "Blender_Variables"."gInUVLampReady"; // Network 79: UV Lamp (Original Language: LAD) #TON_INSTANCE_27(IN := "DI_UV_Lamp_Ready" AND "gOUT_UVLamp_ONOFF", PT := T#5S); // TODO: Declarar #TON_INSTANCE_27 : TON; "Blender_Variables"."gInUVLampAlarm" := #TON_INSTANCE_27.Q; // Network 80: UV Lamp (Original Language: LAD) #TON_INSTANCE_28(IN := "DI_UV_Lamp_Ready" AND "gOUT_UVLamp_ONOFF", PT := T#3s); // TODO: Declarar #TON_INSTANCE_28 : TON; "gUVLampHighTemperature" := "mUVLampDelayTempHighON" AND #TON_INSTANCE_28.Q; // Network 81: mAI_RVM301 (Original Language: STL) // --- BEGIN STL Network 81 --- AN "AUX FALSE" A "AUX FALSE" JNB _009 L "P_AI_RVM301" T "mAI_RVM301" SET SAVE CLR _009: A _Statusword_? = LX26.0 A LX26.0 A_BRACK L "mAI_RVM301" L 0 LE_I BRACKET JNB _00a L 0 T "mAI_RVM301" _00a: NOP_0 A LX26.0 A_BRACK L "mAI_RVM301" L 27648 GT_I BRACKET JNB _OOb L 27648 T "mAI_RVM301" _OOb: NOP_0 // --- END STL Network 81 --- // Network 82: Read Analog Input (Original Language: LAD) ReadAnalogIn(ANALOG := "HMI_Instrument"."RVM301", MAX_Analog_Value := "Blender_Constants"."gAnalogMaxValue", MIN_Analog_Value := 0, PEW := "mAI_RVM301"); // Network 83: Prod Tank Pressure Fault (Original Language: LAD) IF "AUX FALSE" THEN "mRealTemp" := "HMI_Instrument"."RVM301"."PV" - "HMI_PID"."RVM301"."Out"; END_IF; // Network 84: RVM301 Fault (Original Language: LAD) #TON_INSTANCE_29(IN := "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" AND "HMI_Instrument"."RVM301"."Config" AND "mProdTankPressValveFault", PT := T#6s); // TODO: Declarar #TON_INSTANCE_29 : TON; "gRVM301_Fault" := #TON_INSTANCE_29.Q; // Network 85: TTN321 (Original Language: LAD) // DB972.DBW36 = 27648 ReadAnalogIn(ANALOG := "HMI_Instrument"."TTN321", MAX_Analog_Value := "Blender_Constants"."gAnalogMaxValue", MIN_Analog_Value := 0, PEW := "P_AI_TTN321"); IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" THEN "Deair_Water_Temp"(i_Enable := "AUX TRUE", i_Num := 20, i_Value := "HMI_Instrument"."TTN321"."PV"); END_IF; "mDummy" := TRUE; // Network 86: PCM306 (Original Language: LAD) // DB972.DBW36 = 27648 IF "gBlenderCIPMode" THEN ReadAnalogIn(ANALOG := "HMI_Instrument"."PCM306", MAX_Analog_Value := "Blender_Constants"."gAnalogMaxValue", MIN_Analog_Value := 0, PEW := "P_AI_PCM306"); END_IF; IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" THEN "CO2InjPressFlted"(i_Enable := "AUX TRUE", i_Num := 10, i_Value := "HMI_Instrument"."PCM306"."PV"); END_IF; "mDummy" := "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" OR "gBlenderCIPMode"; // Network 87: To HMI - Instrument in fault (Original Language: LAD) IF "HMI_PID"."PCM306"."Sp" > 1.0 THEN "PCM306_MaxError" := "HMI_PID"."PCM306"."Sp" * 0.15; END_IF; IF "HMI_PID"."PCM306"."Sp" > 1.0 THEN "PCM306_Error" := "HMI_Instrument"."PCM306"."PV" - "HMI_PID"."PCM306"."Sp"; END_IF; // Network 88: PTM308 (Original Language: LAD) // DB972.DBW36 = 27648 IF "AUX FALSE" THEN ReadAnalogIn(ANALOG := "HMI_Instrument"."PTM308", MAX_Analog_Value := "Blender_Constants"."gAnalogMaxValue", MIN_Analog_Value := 0, PEW := "P_AI_PTM308"); END_IF; IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" THEN "NorgrenPressSafety"(i_Enable := "AUX TRUE", i_Num := 5, i_Value := "HMI_Instrument"."PTM308"."PV"); END_IF; "mDummy" := "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" OR "AUX FALSE"; // Network 89: LTM302 (Original Language: LAD) ReadAnalogIn(ANALOG := "HMI_Instrument"."LTM302", MAX_Analog_Value := "Blender_Constants"."gAnalogMaxValue", MIN_Analog_Value := 0, PEW := "P_AI_LTM302"); IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" THEN "Product_Tank_Level"(i_Enable := "AUX TRUE", i_Num := 10, i_Value := "HMI_Instrument"."LTM302"."PV"); END_IF; "mDummy" := TRUE; // Network 90: CTS302 (Original Language: LAD) IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Conductimeter_Profibus" AND "AUX FALSE" THEN ReadAnalogIn(ANALOG := "HMI_Instrument"."CTS302", MAX_Analog_Value := "Blender_Constants"."gAnalogMaxValue", MIN_Analog_Value := 0, PEW := "P_AI_CTS302"); END_IF; IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" THEN "C1_Conductivity_Caustic"(i_Enable := "AUX TRUE", i_Num := 10, i_Value := "HMI_Instrument"."CTS302"."PV"); END_IF; "mDummy" := "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" OR ("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Conductimeter_Profibus" AND "AUX FALSE"); // Network 91: CTS301 (Original Language: LAD) IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Conductimeter_Profibus" AND "AUX FALSE" THEN ReadAnalogIn(ANALOG := "HMI_Instrument"."CTS301", MAX_Analog_Value := "Blender_Constants"."gAnalogMaxValue", MIN_Analog_Value := 0, PEW := "P_AI_CTS301"); END_IF; IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" THEN "C1_Conductivity_Water"(i_Enable := "AUX TRUE", i_Num := 10, i_Value := "HMI_Instrument"."CTS301"."PV"); END_IF; "mDummy" := "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" OR ("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Conductimeter_Profibus" AND "AUX FALSE"); // Network 92: TTS305_1 (Original Language: LAD) IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Conductimeter_Profibus" AND "AUX FALSE" THEN ReadAnalogIn(ANALOG := "HMI_Instrument"."TTS305_1", MAX_Analog_Value := "Blender_Constants"."gAnalogMaxValue", MIN_Analog_Value := 0, PEW := "P_AI_CIPReturnTemperature"); END_IF; IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" THEN "CIP_Retur_Temperature"(i_Enable := "AUX TRUE", i_Num := 10, i_Value := "HMI_Instrument"."TTS305_1"."PV"); END_IF; "mDummy" := "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" OR ("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Conductimeter_Profibus" AND "AUX FALSE"); // Network 93: Filler Level (Original Language: LAD) IF "AUX FALSE" AND Eq("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_SignalExchange", 0) THEN ReadAnalogIn(ANALOG := "HMI_Instrument"."_FillerLevel", MAX_Analog_Value := "Blender_Constants"."gAnalogMaxValue", MIN_Analog_Value := 0, PEW := "P_AI_FillerLevel"); END_IF; IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" THEN "Fille_Level"(i_Enable := "AUX TRUE", i_Num := 10, i_Value := "HMI_Instrument"."_FillerLevel"."PV"); END_IF; "mDummy" := "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" OR ("AUX FALSE" AND Eq("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_SignalExchange", 0)); // Network 94: CTM304 (Original Language: LAD) IF "AUX FALSE" THEN ReadAnalogIn(ANALOG := "HMI_Instrument"."CTM304", MAX_Analog_Value := "Blender_Constants"."gAnalogMaxValue", MIN_Analog_Value := 0, PEW := "P_AI_CTM304"); END_IF; IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" THEN "Product_Conductivity"(i_Enable := "AUX TRUE", i_Num := 4, i_Value := "HMI_Instrument"."CTM304"."PV"); END_IF; "mDummy" := "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" OR "AUX FALSE"; // Network 95: PTN313 (Original Language: LAD) IF "AUX FALSE" THEN ReadAnalogIn(ANALOG := "HMI_Instrument"."PTN313", MAX_Analog_Value := "Blender_Constants"."gAnalogMaxValue", MIN_Analog_Value := 0, PEW := "P_AI_PTN313"); END_IF; IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" THEN "Deaireator_Pressure"(i_Enable := "AUX TRUE", i_Num := 4, i_Value := "HMI_Instrument"."PTN313"."PV"); END_IF; "mDummy" := "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" OR "AUX FALSE"; // Network 96: Gas Factor (Original Language: LAD) SEL_R(G := "Blender_Variables_Pers"."gCarboStillProduct" OR "gBlenderCIPMode", IN0 := 0.9848858, IN1 := 1.235718); // Network 97: RVN305 (Original Language: LAD) SEL_R(G := "HMI_Service"."Workshop_Test"."SIMTestWithGas" AND "gWorkshopTest", IN0 := "Blender_Variables"."gActualGasFactor", IN1 := 1.0); SEL_R(G := Ne("Blender_Variables"."gActualGasFactor", 0.0), IN0 := 1.0, IN1 := "mFTFS"); "HMI_Instrument"."RVN305"."Span" := "Blender_Variables"."gFlowTronic" / "mFTFS"; // Network 98: RVN304 (Original Language: LAD) ReadAnalogIn(ANALOG := "HMI_Instrument"."RVN304", MAX_Analog_Value := "Blender_Constants"."gAnalogMaxValue", MIN_Analog_Value := 0, PEW := "P_AI_RVN304"); IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" THEN "HMI_Instrument"."RVN304"."PVFiltered" := "HMI_Instrument"."RVN304"."PV"; END_IF; "mDummy" := TRUE; // Network 99: RVN304 Fault (Original Language: LAD) IF "HMI_PID"."RVN304"."Sp" > 100.0 THEN "mRealTemp" := "HMI_Instrument"."RVN304"."PVFiltered" - "HMI_PID"."RVN304"."Sp"; END_IF; // Network 100: RVN304 Fault (Original Language: LAD) #TON_INSTANCE_30(IN := "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" AND "HMI_Instrument"."RVN304"."Config" AND "mRVN304Fault", PT := T#1M); // TODO: Declarar #TON_INSTANCE_30 : TON; "gRVN304Fault" := #TON_INSTANCE_30.Q AND "AUX FALSE"; // Network 101: RVN305 (Original Language: LAD) IF "HMI_Device"."AVN328"."Out" AND "HMI_Device"."AVN350"."Out" THEN ReadAnalogIn(ANALOG := "HMI_Instrument"."RVN305", MAX_Analog_Value := "Blender_Constants"."gAnalogMaxValue", MIN_Analog_Value := 0, PEW := "P_AI_RVN305"); END_IF; IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" THEN "DeairValveFlted"(i_Enable := "AUX TRUE", i_Num := 4, i_Value := "HMI_Instrument"."RVN305"."PV"); END_IF; "mDummy" := "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" OR ("HMI_Device"."AVN328"."Out" AND "HMI_Device"."AVN350"."Out"); // Network 102: RVN305 Fault (Original Language: LAD) IF "HMI_PID"."RVN305"."Sp" > 100.0 THEN "mRealTemp" := "HMI_Instrument"."RVN305"."PVFiltered" - "HMI_PID"."RVN304"."Sp"; END_IF; // Network 103: RVN305 Fault (Original Language: LAD) #TON_INSTANCE_30(IN := "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" AND "HMI_Instrument"."RVN304"."Config" AND "mRVN304Fault", PT := T#1M); // TODO: Declarar #TON_INSTANCE_30 : TON; "gRVN305Fault" := #TON_INSTANCE_30.Q AND "AUX FALSE"; // Network 104: RVN305 Filtered (Original Language: LAD) SEL_R(G := "HMI_Device"."AVN350"."Out", IN0 := 0.0, IN1 := "HMI_Instrument"."RVN305"."PVFiltered"); // Network 105: Product Tank Pressure (Original Language: LAD) // Product Tank Pressure // DB972.DBW36 = 27648 IF "AUX FALSE" THEN ReadAnalogIn(ANALOG := "HMI_Instrument"."_ProductO2Conc", MAX_Analog_Value := "Blender_Constants"."gAnalogMaxValue", MIN_Analog_Value := 0, PEW := "P_AI_ProductO2"); END_IF; IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" THEN "ProductO2Conc"(i_Enable := "AUX TRUE", i_Num := 4, i_Value := "HMI_Instrument"."_ProductO2Conc"."PV"); END_IF; "mDummy" := "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" OR "AUX FALSE"; // Network 106: No Test (Original Language: LAD) IF "gWorkshopTest" THEN "HMI_Service"."Workshop_Test"."CO2TestRequest" := FALSE; END_IF; IF "gWorkshopTest" THEN "HMI_Service"."Workshop_Test"."SIMCipMode" := FALSE; END_IF; IF "gWorkshopTest" THEN "HMI_Service"."Workshop_Test"."SIMCipRunning" := FALSE; END_IF; IF "gWorkshopTest" THEN "HMI_Service"."Workshop_Test"."SIMCipChangeSanitize" := FALSE; END_IF; IF "gWorkshopTest" THEN "HMI_Service"."Workshop_Test"."SIMCipDrainRequest" := FALSE; END_IF; IF "gWorkshopTest" THEN "HMI_Service"."Workshop_Test"."SIMCipCompleted" := FALSE; END_IF; IF "gWorkshopTest" THEN "HMI_Service"."Workshop_Test"."SIMCipCausticSanitizeRun" := FALSE; END_IF; IF "gWorkshopTest" THEN "HMI_Service"."Workshop_Test"."SIMFillerAVM346Enable" := FALSE; END_IF; IF "gWorkshopTest" THEN "HMI_Service"."Workshop_Test"."SIMFillerAVM362Enable" := FALSE; END_IF; // Network 107: Digital Scanner (Original Language: LAD) Input_DigitalScanner(); // Network 108: Digital Ctrl (Original Language: LAD) Input_DigitalCtrl(); // Network 109: CIP Hot Water Sending to Mixer (Original Language: LAD) "gIN_CIP_HotWaterSending" := "DI_CIP_HotWaterSending"; // Network 110: CIP Soda Tank is able to receive soda from mixer (Original Language: LAD) "gIN_CIP_FreeSodaTank" := "DI_CIP_FreeSodaTank"; // Network 111: From CIPRoom (Original Language: LAD) "gIN_CIP_ChemicalProd" := "DI_CIP_ChemicalProd"; // Network 112: MIX - Supplies Alarm (Original Language: LAD) "gAmmoniaCompressor_Fault" := "gGencoldChillerEn" AND "DI_Ammonia_CompressorReady" AND "gIN_VoltageOk" AND "gBlenderProdMode"; END_FUNCTION_BLOCK ```