(* @GLOBAL_VARIABLE_LIST := Blender_Variables *) (* @PATH := '\/Blending_Variables' *) (* @SYMFILEFLAGS := '59392' *) VAR_GLOBAL (**********************************************************************************************************************) (* INPUTS AUXILIARY VARIABLES *) (**********************************************************************************************************************) gAuxVoltageOk : BOOL ; (* *) gInResetHorn : BOOL ; (* *) gInResetBtn : BOOL ; (* *) gInStopBtn : BOOL ; (* *) gInStartBtn : BOOL ; (* *) gInLinePressCO2Ok : BOOL ; (* *) gInLinePressAirOk : BOOL ; (* *) gDeairTankMinLvlAux : BOOL ; gDeairTank2MinLvlAux : BOOL ; gSyrupTankMinLvlAux : BOOL ; gSyrupLineDrainValveAux : BOOL ; gWaterManualDrainValveAux : BOOL ; gBlenderDeairVacuum_Ok : BOOL ; (* *) gInWaterValveClosed : BOOL ; (* *) gInSyrupValveClosed : BOOL ; (* *) gInCarboCO2ValveClosed : BOOL ; (* *) gInManifoldNotReadyForProd : BOOL ; gInManifoldNotReadyForCIP : BOOL ; gIn_ProdPumpFCReady : BOOL ; gIn_ProdTankNotEmpty : BOOL ; (* *) gIn_FlowSwitch : BOOL ; (* *) gIn_DeaireatorPressure : REAL ; gIn_DeairFlow_PV : REAL ; gIn_C1_Conductivity_Caustic : REAL ; gIn_C2_Conductivity_Water : REAL ; gInSyrRoomOk : BOOL ; (* From Syrup Room Syrup ready *) gInFillerProductReq : BOOL ; (* From Filler Product request *) gInFillerProdReady : BOOL ; (* From Filler Ready to Production *) gInFillerCIPRequest : BOOL ; (* From Filler Ready to CIP *) gInFillerCIPDrainCompleted : BOOL ; (* From Filler Drain Completed *) gInFillerCIPCycleEnded : BOOL ; (* From Filler Spare *) gInFillerCIPChangeReady : BOOL ; (* From Filler Spare *) gInFillerEV62Enable : BOOL ; gInFillerEV46Enable : BOOL ; gInFillerEndTankFilling : BOOL ; gInFillerBottleFilling : BOOL ; gInFillerEndFlushing : BOOL ; gInFillerCIPModeSelected : BOOL ; (* From Filler CIP Mode Selected *) gInFillerCIPDrainSelecteted : BOOL ; (* From Filler Drain Selecteted *) gInFillerCIPOpenEV13 : BOOL ; gInFillerStopCIPReturnPump : BOOL ; gInCIP_DrainRequest : BOOL ; (* From CIP Room Drain Request *) gInCIP_TankFilling : BOOL ; (* From CIP Room Flood Request *) gInCIP_RinseMode : BOOL ; (* From CIP Room Flood Request *) gInCIP_CIPRunning : BOOL ; (* From CIP Room CIP running *) gInCIP_ChangeSanitize : BOOL ; (* From CIP Room CIP change sanitize *) gInCIP_CIPCompleted : BOOL ; (* From CIP Room CIP completed *) gInCIP_CIPMode : BOOL ; (* From CIP Room CIP Mode *) gInCIP_CausticSanitizeRunning : BOOL ; (* From CIP Room CIP change sanitize *) gInCIP_Fault : BOOL ; (* From CIP Room CIP Fault *) gInAmmoniaLowPressure : BOOL ; (* From Chiller Ammonia Low Pressure *) gInAmmoniaHighLevel : BOOL ; (* From Chiller Ammonia High Level *) gInAmmoniaCompressorReady : BOOL ; (* From Chiller Ammonia Compressors not running *) gInUVLampReady : BOOL ; gInUVLampAlarm : BOOL ; END_VAR VAR_GLOBAL (**********************************************************************************************************************) (* OUTPUTS AUXILIARY VARIABLES *) (**********************************************************************************************************************) gOut_WaterPumpRun : BOOL ; (* P1 Water Pump Run *) gOut_WaterPump2Run : BOOL ; (* P5 Water Pump Run *) gOut_SyrupPumpRun : BOOL ; (* P2 Syrup Pump Run *) gOut_ProductPumpRun : BOOL ; (* P3 Product Pump Run *) gOut_VacuumPumpRun : BOOL ; (* P4 Vacuum Pump Run *) gOut_RecircPumpRun : BOOL ; (* P6 ByPass Pump Run *) gOut_SyrupRoomPumpRun : BOOL ; (* Syrup Room Pump Run *) gOut_SyrupRoomWaterReq : BOOL ; (* Syrup Room Water Request *) gOut_WaterPumpVFCRun : BOOL ; (* Water Pump VFC Run *) gOut_FillerProduction : BOOL ; (* To Filler Production *) gOut_FillerMinimumLevel : BOOL ; (* To Filler Product under minimum level *) gOut_FillerProductAvailable : BOOL ; (* To Filler Product sending available *) gOut_FillerRinseMode : BOOL ; (* To Filler Rinse Request *) gOut_FillerCIPMode : BOOL ; (* To Filler CIP Request *) gOut_FillerCIPRunning : BOOL ; (* To Filler CIP Running *) gOut_FillerCIPChangeSanitize : BOOL ; (* To Filler CIP *) gOut_FillerCIPDrainRequest : BOOL ; (* To Filler CIP Drain *) gOut_FillerCIPCompleted : BOOL ; (* To Filler CIP Completed *) gOut_FillerCIPCausticSanitizeRunning : BOOL ; (* To Filler CIP *) (* gOut_CIPRequest : BOOL; (* To CIP Room *) (* gOut_CIPDrainCompleted : BOOL ; (* To CIP Room *) (* gOut_CIPCycleEnded : BOOL ; (* To CIP Room *) gOut_CIPChangeReady : BOOL ; (* To CIP Room *) (* gOut_CIPWaterPipe_Ready : BOOL; (* To CIP Room *) gOutAmmoniaCompressorRun : BOOL ; (* To Chiller : Ammonia Compressors Run *) gOutAmmoniaWaterColdRequest : BOOL; (* To Chiller : Enables NH3 liquid inlet *) gOutAmmoniaProductColdRequest : BOOL; (* To Chiller : Enables NH3 liquid inlet *) gOutAmmoniaWaterColdControl : BOOL; (* To Chiller : Enables NH3 evaporation *) gOutAmmoniaProductColdControl : BOOL; (* To Chiller : Enables NH3 evaporation *) gOutAmmonia_ByPassHotGas : BOOL; (* To Chiller : *) gOutDeaireationValve : REAL ; gOutUVLamp_ONOFF : BOOL ; (* Switch UV Lamp ON / OFF *) END_VAR VAR_GLOBAL gtemphigh :BOOL; gpherecirculation :BOOL; gDelayS7Call : BOOL ; gAlwaysOff : BOOL ; (* *) gHighPriorityAlarm : BOOL ; (* *) gLowPriorityAlarm : BOOL ; (* *) gBlenderAlarm : BOOL ; (* *) gAlarmHorn : BOOL ; (* *) gWarningHorn : BOOL ; (* *) gProductionONS : BOOL ; gCIPONS : BOOL ; gRinseONS : BOOL ; gGencoldChillerEn : BOOL ; gProductChillerEn : BOOL ; gProductDoubleStadiumChillerEn : BOOL ; gWaterChillerEn : BOOL ; gEnableRecircPHE : BOOL; gSyrupRoomEn : BOOL ; gStillWaterByPassEn : BOOL ; gEmergencyPressed : BOOL ; gVacuumAcheaved : BOOL ; (* In case of vacuum pump, still product signal from vacuum probe *) gWorkshopTest : BOOL ; (* Use during Workshop test - BF - *) gWaterSpeedToStop : BOOL ; gStopBlendCarboError : BOOL ; (* Water Speed to stop Blend error and Carbo error *) gEnRampDownToStop : BOOL ; gBlenderFillerRunning : BOOL ; (* Both Blender and Filler are running *) gEnToStopBlender : BOOL ; (* Next Filler stop, stop blender *) gFlowToFiller : BOOL ; (* Product is Flowing to Filler *) gBlendRecircActive : BOOL ; gCriticalBlending : BOOL ; gProdAvailable : BOOL ; gDisableProdAvailable : BOOL ; gTrackFillerSpeed : BOOL ; gDeairTankLoading : BOOL ; gSyrupTankLoading : BOOL ; gSyrupTankMinLevel : BOOL ; gBlenderStableFlow : BOOL ; (* *) gBlenderEnToRamp : BOOL ; (* *) gBlenderStartPumps : BOOL ; (* *) gBlenderStartPumpsONS : BOOL ; (* *) gBlenderBlending : BOOL ; (* *) gBlenderStopping : BOOL ; (* *) gBlenderOperatorStop : BOOL ; gModValveRiseTimeCalcEn : BOOL ; (* *) gBlenderFlowFltEn : BOOL ; (* *) gBlenderStopLevel : BOOL ; (* Product Tank Maximum Level Acheaved *) gBlenderStartLevel : BOOL ; (* Product Tank Pump Start Level Acheaved *) gBlenderLevelOk : BOOL ; (* Product Tank Recipe Minimum Level Acheaved *) gBlenderLevelTarget : BOOL ; (* Product Tank Target Level Acheaved *) gBlenderMinLevel : BOOL ; (* Product Tank 5% Level Acheaved *) gProdTankEmpty : BOOL ; (* Product Tank Empty *) gBlenderEmpty : BOOL ; gFirstProdStop : BOOL ; (* Stop Blender when First Production Done *) gProdTankStopLvl : REAL ; (* Product Tank Max Level *) gProdTankTargetLvl : REAL ; (* Product Tank Target Level *) gProdTankStartLvl : REAL ; (* Product Tank Start Level below Stop Level to Start *) gCIPStopLevel : BOOL ; (* *) gCIPMaxLevel : BOOL ; (* 100% Product Tank Level during CIP *) gCIPPrdTankFlood : BOOL ; gCIP_BlenderDrainDone : BOOL ; gCIPDeairTankFlood : BOOL ; gCIPSyrupTankFlood : BOOL ; gCIPSyrupStopLevel : BOOL ; gCIPPrdTankPressLow : BOOL ; gRinseCloseVM1 : BOOL ; gRinseCloseVM2 : BOOL ; gRinseDrainRunning : BOOL ; gBlenderTankPress_Ok : BOOL ; (* *) gTankPress_HighLimit : BOOL ; (* *) gTankPress_LowLimit : BOOL ; (* *) gTankPress_OkToBlend : BOOL ; (* *) gWaitLevelToHold_TankPress : BOOL ; (* *) gEqPressSelected : BOOL ; gFinalPressureOk : BOOL ; (* Final Pressure acheaved during First Production *) gEqPressOk : BOOL ; (* Equilibrium pressure acheaved during First Production *) gFirstProdPressHold : BOOL ; (* Pressure control enable during first production *) gDeairVacuumOk : BOOL ; (* Deaireator vacuum pressure acheaved *) gCloseMainCO2Valve : BOOL ; gPV_SyrBrixOk : BOOL ; (* Syrup Brix value not Zero *) gPV_SyrDensOk : BOOL ; (* Syrup Density value not zero *) gBlenderSuppliesOk : BOOL ; (* *) gFreezeSyrupMeter : BOOL ; (* Hold Signal To Syrup Densimeter *) gFreezeProductMeter : BOOL ; (* Hold Signal To Product Meter *) gProdMeterTransferRecipe : BOOL ; (* Signal to the Product Meter Recipe Transfer *) gDisableAlarmDuringCalibration : BOOL ; gMinRatio : BOOL ; (* Maximum Syrup Brix Autocorr Acheaved - minimum ratio - *) gMaxSyrAutoCorrDone : BOOL ; (* Maximum Syrup Brix Autocorr Acheaved maximum autocorr perc *) gLineCO2LowPressure : BOOL ; (* Low pressure infeed CO2 line from CO2 density & temperature Calculation *) gWaterPIDCtrlOk : BOOL ; (* Water PID Controlling Ok *) gSyrupPIDCtrlOk : BOOL ; (* Syrup PID Controlling Ok *) gCarboCO2PIDCtrlOk : BOOL ; (* CO2 PID Controlling Ok *) gSyrLevPIDCtrlOk : BOOL ; (* Syrup Level PID Controlling Ok *) gBlendResetTotalizer : BOOL ; gMaxBlendErrorAfterFault : BOOL ; gMaxCarboErrorAfterFault : BOOL ; gProductConductivity : REAL ; gSyrupMFMBrixSlope : REAL ; gH2O_Flow_Meas : REAL ; gSYR_Flow_Meas : REAL ; gSYR_Vol_Flow_Meas : REAL ; gCO2_Flow_Meas : REAL ; gProd_Flow_Meas : REAL ; gCO2Solubility : REAL ; gDeairCO2Vol : REAL ; gFillerCO2Loss : REAL ; gCO2EqPressure : REAL ; gCO2InjPressureCalc : REAL ; gCO2InjPressure : REAL ; gCO2InjPressureSP : REAL ; gCO2PressNotOk : BOOL ; gProductTotalizerLt : Integral ; gProductLiters : REAL ; gProductTemperature : REAL ; gWaterTemperature : REAL ; gBlendErrorInt : Integral ; gCarboCO2ErrorInt : Integral ; gBlendError : REAL ; gCarboCO2Error : REAL; gK_RecBlendError : REAL; gK_RecCarboCO2Error : REAL; gMaxCarboCO2_V : REAL; gWaterFlowSlewValve : REAL ; gWaterFlowSlewMFM : REAL ; gBlenderProdMode : BOOL ; (* *) gBlenderRinseMode : BOOL ; (* *) gBlenderCIPMode : BOOL ; (* *) gWaterVFMResetTot : BOOL ; gSyrupMFMResetTot : BOOL ; gCO2MFMResetTot : BOOL ; gProductMFMResetTot : BOOL ; gDeairWaterTemp : REAL ; (* *) gDeairCO2Comp : REAL ; (* *) gDeairFlow_SP : REAL ; gWaterO2 : REAL ; gDeairWaterO2 : REAL := 1.0 ; gSyrupO2 : REAL ; gProductO2 : REAL ; gProductDensity : REAL ; gProdDensFromMeter : REAL ; gTankProdAmount : REAL ; gProductTankLevel : REAL ; gSyrupTankLevel : REAL; gProductTankPress : REAL ; gWaterLinePress : REAL ; gPrdTankPressError : REAL ; gH2OValveRiseUpTime : INT ; gSyrValveRiseUpTime : INT ; gCO2ValveRiseUpTime : INT ; gFillerProductFlow : REAL ; gWaterVFM_DN : UINT ; gWaterPipe_DN : UINT ; gSyrupMFM_DN : UINT ; gCarboCO2MFM_DN : UINT ; gWaterVFMMeasError : REAL ; gWaterVFMRepeatibility : REAL ; gWaterVFMCalcError : REAL ; gSyrupMFMMeasError : REAL ; gSyrupMFMRepeatibility : REAL ; gSyrupMFMZeroStab : REAL ; gSyrupMFMCalcError : REAL ; gCO2MFMMeasError : REAL ; gCO2MFMRepeatibility : REAL ; gCO2MFMZeroStab : REAL ; gCO2MFMCalcError : REAL ; gFirstProdExtraBrix : REAL ; (*0.03Start up *) gFirstProdDietExtraSyr : REAL ; (*0.0014Start up *) gFirstProdExtraCO2Fact : REAL ; (*0.97Start up *) gUVLamp_ONOFF : BOOL ; gUVLampHighTemperature : BOOL ; (*UVLampTemperatureOk *) (******************* MFM Pressure Loss *****************************************) d : REAL ; (* m *) K : REAL ; K1 : REAL ; K2 : REAL ; Re : REAL ; ni : REAL ; ro : REAL ; gBlenderBlendMaxError : REAL ; gWaterVFM_Area : REAL ; (* Water Flowmeter section Area - dm2 - *) gWaterVFM_Vel : REAL ; (* Water Velocity in Water FlowMeter - m/s - *) gWaterPipe_Area : REAL ; (* Water Pipe Section Area in in - dm2 - *) gWaterPipe_Vel : REAL ; (* Water Velocity in serpentine - m/s - *) gWaterSpeedToStopError : REAL ; (* Water Speed to stop Blend error and Carbo error *) gProdTankVolume : REAL ; (* Product Tank Total Volume *) gProdTankBottomVol : REAL ; (* Product Tank Bottom Volume Below level Probe *) gDeairTankVolume : REAL ; (* Deaireator Tank Volume *) gBlenderNomSpeed : REAL ; (* Blender Nominal Production Rate - L/min - *) gBlenderProdSlewMax : REAL ; (* Blender Maximum Production SlewRate - (L/min)/sec - *) gBlenderSpeedUp : BOOL ; (* Production rate rampUp *) gBlenderSpeedDown : BOOL ; (* Production rate rampDown *) gProductLitTank : REAL ; (* Liters of Product In Porduct Tank *) gProductO2Conc : REAL ; gBlenderFillerDeltaV : REAL ; (* Blender Filler Production Rate difference - L/min - *) gSP_ProdTrackFiller : REAL ; (* Set Point Production to track Filler Speed - L/min - *) gEstimateFillerSpeed : REAL ; (* Filler Production Rate - L/min - *) gFlowTronic : REAL ; gFlowTronicFullScale : REAL ; END_VAR VAR_GLOBAL gWaterStat_MeanValue : REAL ; gWaterStat_Variance : REAL ; gWaterStat_DevStd : REAL ; gSyrupStat_MeanValue : REAL ; gSyrupStat_Variance : REAL ; gSyrupStat_DevStd : REAL ; gCarboCO2Stat_MeanValue : REAL ; gCarboCO2Stat_Variance : REAL ; gCarboCO2Stat_DevStd : REAL ; gSyrLevStat_MeanValue : REAL ; gSyrLevStat_Variance : REAL ; gSyrLevStat_DevStd : REAL ; gProdBxStat_MeanValue : REAL ; gProdBxStat_Variance : REAL ; gProdBxStat_DevStd : REAL ; gProductMeterOk : BOOL ; END_VAR VAR_GLOBAL PERSISTENT gBlenderStarted : BOOL ; gWaterRecipe : BOOL ; gSugarBeverage : BOOL ; gCarboStillProduct : BOOL ; gCarboStillRecipe : BOOL ; gSkipDeaireation : BOOL; gCoolerEnabled : BOOL ; gWaterTotal : REAL ; (* Water Totalizer *) gSyrupTotal : REAL ; (* Syrup Totalizer *) gCO2Total : REAL ; (* CO2 Totalizer *) gProductVFMTotal : REAL ; (* From Product VFM Totalizer *) gWaterTempTot : REAL ; gSyrupTempTot : REAL ; gCO2TempTot : REAL ; gProductVFMTempTot : REAL ; gSyrRunOutCountInit : REAL ; gSyrLineTankPrepCountInit : REAL ; gSyrupRoomTankLiter : ARRAY[1..15] OF REAL ; gProdSec : UINT ; gProdMin : UINT ; gProdHour : UINT ; gBlendingMaintHour : UINT ; gRunningSeconds : UINT ; gRunningMinutes : UINT ; gRunningMaintHour : UINT ; gSLIM_Sec : UINT ; gSLIM_Min : UINT ; gSLIM_Hour : UINT ; gFillerRinse_CompletedLatch : BOOL ; gFirstProdLatched : BOOL ; END_VAR VAR_GLOBAL (**********************************************************************************************************************) (* WORKING RECIPE PARAMETERS *) (**********************************************************************************************************************) gProdTankBrix : REAL ; gFlowProdBrix : REAL ; (* Product Brix Calculated from Flows *) gBrixTrackingCorr : REAL ; (* Delta Correction Due To Brix Tracking in °Brix *) gProdRunSyrFact : REAL ; (* Syrup Factor calculated during production *) gProdRunSyrMFMFact : REAL ; (* Syrup MFM Factor calculated during production *) gActualSyrupDens : REAL ; (* Syrup Density value to calculate SYR_SP *) gActualSyrupBrix : REAL ; (* Syrup Brix *) gActualSyrupPerc : REAL ; (* Syrup Actual Percentage *) gActualWaterPerc : REAL ; (* Water Actual Percentage *) gSyrupVolFlow_PV : REAL ; gProductRecipeNum : INT ; (* From Product Meter Recipe Number *) gProductBrix : REAL ; (* From Product Meter Product Brix Value *) gProductDens : REAL ; (* From Product Meter Product Density Value *) gProductCO2 : REAL ; (* From Product Meter Product CO2 Vols Value *) gProductTemp : REAL ; (* From Product Meter Product Temperature *) gProductLinePress : LREAL ; (* From Product Meter Product CO2 Press Value *) gMeterSyrBrix : REAL ; (* Measured Syrup Brix from Meter *) gMeterSyrDens : REAL ; (* Measured Syrup Density from Meter *) gMeterSyrTemp : REAL ; (* Measured Syrup Temperature from Meter *) gSP_H2O : REAL ; gSP_SYR : REAL ; gSP_CO2 : REAL ; gActual_Prod_SP : REAL ; (* Actual Product Target With Slew Limitation *) gActual_SP_CO2 : REAL ; gActual_Prod_Flow : REAL ; gActual_Ratio : REAL ; gActual_RatioM : REAL ; gActual_CO2_Vol : REAL ; END_VAR (* @OBJECT_END := Blender_Variables *) (* @CONNECTIONS := Blender_Variables FILENAME : '' FILETIME : 0 EXPORT : 0 NUMOFCONNECTIONS : 0 *)