```pascal // Block Type: FC // Block Name (Original): QCO Monitor // Block Number: 100 // Original Network Languages: STL FUNCTION "QCO_Monitor" : Void { S7_Optimized_Access := 'TRUE' } VERSION : 0.1 VAR_TEMP FAULT : Int; DATABASE_PNTR : "Any"; END_VAR BEGIN // Network 1: ---------- PHASE DETECTION ----------------- (Original Language: STL) // --- BEGIN STL Network 1 --- AN "System_RunOut_Variables".SystemRunOutInit AN M100.7 O M100.0 JC M009 SET R M100.7 LAR1 _ERR_CONST_ L BYTE#16#10 T LocalB[AR1,P#0.0] L BYTE#16#02 T LocalB[AR1,P#1.0] L 128 T LocalW[AR1,P#2.0] L 100 T LocalW[AR1,P#4.0] L "MB101" L P#128.0 MUL_D L P#DBX200.0 ADD_D T LocalD[AR1,P#6.0] CALL _Call_? L 0 T DB100.DBD0.0 CALL _Call_? L DINT#2_000_000_000 L "QCO Timing DB".ActualTimer.ChangeOverN GE_D JC M001 L 0 M001: L 1 ADD_D T "QCO Timing DB".ActualTimer.ChangeOverN L 9 L "MB101" GT_D JC M002 L -1 M002: L 1 ADD_I T "MB101" SET S M100.0 R M100.6 M009: AN M100.0 BEC // --- END STL Network 1 --- // Network 2: 00 - QUICK CHANGE OVER TOTAL DURATION (Original Language: STL) // --- BEGIN STL Network 2 --- A "System_RunOut_Variables".ProdPipe_RunOut.Latch A "System_RunOut_Variables".FillerRanOut O "System_RunOut_Variables".ProdPipe_RunOut.Done S "QCO Timing DB".PhaseInProgress.Total // --- END STL Network 2 --- // Network 3: 05 - SYRUP RUNOUT (Original Language: STL) // --- BEGIN STL Network 3 --- A "Procedure_Variables".Syr_RunOut.Latch = "QCO Timing DB".PhaseInProgress.SyrupRunout // --- END STL Network 3 --- // Network 4: 06 - SYRUP LINE RINSE (Original Language: STL) // --- BEGIN STL Network 4 --- L "System_Run_Out_Data".mStep L 0 EQ_I A "gSyrupQcoRinse" = "QCO Timing DB".PhaseInProgress.SyrupLineRinse // --- END STL Network 4 --- // Network 5: 07 - SYRUP TANK RINSE (Original Language: STL) // --- BEGIN STL Network 5 --- L "System_Run_Out_Data".mStep L 1 EQ_I A "gSyrupQcoRinse" = "QCO Timing DB".PhaseInProgress.SyrupTankRinse // --- END STL Network 5 --- // Network 6: 08 - SYRUP TANK PREPARATION (Original Language: STL) // --- BEGIN STL Network 6 --- A "Procedure_Variables".FTP302Line_Preparation.Latch O "Procedure_Variables".FTP302_StartUp.Latch = "QCO Timing DB".PhaseInProgress.SyrupTankPreparation // --- END STL Network 6 --- // Network 7: 10 - PRODUCT TANK RUNOUT (Original Language: STL) // --- BEGIN STL Network 7 --- A "Procedure_Variables".TM301_RunOut.Latch = "QCO Timing DB".PhaseInProgress.ProdTankRunout // --- END STL Network 7 --- // Network 8: 11 - PRODUCT PIPE RUNOUT (Original Language: STL) // --- BEGIN STL Network 8 --- A "System_RunOut_Variables".ProdPipe_RunOut.Latch = "QCO Timing DB".PhaseInProgress.ProdPipeRunout // --- END STL Network 8 --- // Network 9: 12 - PRODUCT TANK BLOW OFF (Original Language: STL) // --- BEGIN STL Network 9 --- A "System_RunOut_Variables".ProdPipe_Drain.Latch = "QCO Timing DB".PhaseInProgress.ProdTankBlowOff // --- END STL Network 9 --- // Network 10: 14 - RINSE (Original Language: STL) // --- BEGIN STL Network 10 --- A "Procedure_Variables".Blender_Rinse.Latch AN "Procedure_Variables".TM301_Drain.Latch = "QCO Timing DB".PhaseInProgress.Rinse // --- END STL Network 10 --- // Network 11: 15 - PRODUCT TANK DRAIN (Original Language: STL) // --- BEGIN STL Network 11 --- A "Procedure_Variables".Blender_Rinse.Latch A "Procedure_Variables".TM301_Drain.Latch = "QCO Timing DB".PhaseInProgress.ProdTankDrain // --- END STL Network 11 --- // Network 12: 17 - FILLER FLUSHING (Original Language: STL) // --- BEGIN STL Network 12 --- A "Procedure_Variables".Blender_Rinse.Latch A "Procedure_Variables".TM301_Drain.Latch Rise M100.3 S "QCO Timing DB".PhaseInProgress.FillerFlushing A "gIN_FillerEndFlushing" R "QCO Timing DB".PhaseInProgress.FillerFlushing // --- END STL Network 12 --- // Network 13: 19 - PRODUCT TANK PRESSURIZZATION (Original Language: STL) // --- BEGIN STL Network 13 --- A "System_RunOut_Variables".System_RunOut.Done S "QCO Timing DB".PhaseInProgress.ProdTankPressurization A "gEqPressOk" O "gBlenderBlending" A "QCO Timing DB".PhaseInProgress.ProdTankPressurization R "QCO Timing DB".PhaseInProgress.ProdTankPressurization S "QCO Timing DB".PhaseInProgress.ProdTankChargeUp // --- END STL Network 13 --- // Network 14: 20 - PRODUCT TANK CHARGE UP (Original Language: STL) // --- BEGIN STL Network 14 --- A "QCO Timing DB".PhaseInProgress.ProdTankChargeUp A "gWaitLevToHold_TankPress" R "QCO Timing DB".PhaseInProgress.ProdTankChargeUp S "QCO Timing DB".PhaseInProgress.WaitForFillerReady // --- END STL Network 14 --- // Network 15: 22 - WAIT FOR FILLER READY (Original Language: STL) // --- BEGIN STL Network 15 --- A "QCO Timing DB".PhaseInProgress.WaitForFillerReady A "gIN_Filler_AVM362_En" R "QCO Timing DB".PhaseInProgress.WaitForFillerReady S "QCO Timing DB".PhaseInProgress.FillerSlowCharging // --- END STL Network 15 --- // Network 16: 23 - FILLER SLOW CHARGING (Original Language: STL) // --- BEGIN STL Network 16 --- A "QCO Timing DB".PhaseInProgress.FillerSlowCharging A "Interlocking_Variables".MIXER_FILLER_SEND.PROD_Prod_Load_2 R "QCO Timing DB".PhaseInProgress.FillerSlowCharging S "QCO Timing DB".PhaseInProgress.FillerFastCharging // --- END STL Network 16 --- // Network 17: 24 - FILLER FAST CHARGING (Original Language: STL) // --- BEGIN STL Network 17 --- A "QCO Timing DB".PhaseInProgress.FillerFastCharging A "Procedure_Variables".BlendFill_StartUp.Done R "QCO Timing DB".PhaseInProgress.FillerFastCharging S "QCO Timing DB".PhaseInProgress.WaitFirstBottleOut // --- END STL Network 17 --- // Network 18: 25 - WAIT FOR FIRST BOTTLES FILLED (Original Language: STL) // --- BEGIN STL Network 18 --- A "Interlocking_Variables".FILLER_MIXER_RECEIVE.PROD_Bott_Filling A "Procedure_Variables".BlendFill_StartUp.Done R "QCO Timing DB".PhaseInProgress.WaitFirstBottleOut R M100.0 S M100.6 // --- END STL Network 18 --- // Network 19: --------- PHASE COUNTING ---------------- (Original Language: STL) // --- BEGIN STL Network 19 --- AN CLK_1.0S JC M999 LAR1 P#0.0 LAR2 P#0.0 JU M901 M900: ADDAR1 P#0.1 ADDAR2 P#4.0 M901: AUF "QCO Timing DB" AN DBX[AR1,P#0.0] JC M902 L DBD[AR2,P#4.0] L 1 ADD_D T DBD[AR2,P#4.0] M902: TAR1_ACCU1 L P#3.6 LT_D JC M900 M999: NOP_0 // --- END STL Network 19 --- END_FUNCTION ```