```pascal // Block Type: FB // Block Number: 1790 // Original Network Languages: LAD // Block Comment: // TASK1 PID FUNCTION_BLOCK "BlenderPIDCtrl_ReadAnIn" { S7_Optimized_Access := 'TRUE' } VERSION : 0.1 VAR_INPUT i_Value : Real; i_Num : Int; i_Enable : Bool; END_VAR VAR_OUTPUT FilterOut : Real; END_VAR VAR_STAT mDiffSensFaultEnON : Bool; mProdTnkPressFlted : "LowPassFilter"; mWaterTempFlted : "LowPassFilter"; mProdTempFlted : "LowPassFilter"; mSyrupTnkLvlFlted : "LowPassFilter"; mCIPHeatTempFlted : "LowPassFilter"; mP3_Freq_Flted : "LowPassFilter"; mFlrFreqPrdctPump : "LowPassFilter"; mDiffTrasducerFlted : "LowPassFilter"; mInletSirupPress : "LowPassFilter"; mDeairTnkLvlFlted : "LowPassFilter"; mBaialageFlowFlted : "LowPassFilter"; mDiffSensFaultEn : STRUCT PT : Time; ET : Time; IN : Bool; Q : Bool; END_STRUCT; END_VAR VAR_TEMP RealTemp : Real; mH_Fault : Bool; mL_Fault : Bool; mDummy : Bool; mDifferentialTrasducer : Word; END_VAR #_0 : Bool; // Auto-generated temporary #_27648 : Bool; // Auto-generated temporary #_2S : Bool; // Auto-generated temporary #TON_INSTANCE_30 : Bool; // Auto-generated temporary BEGIN // Network 1: Product Tank Pressure (Original Language: LAD) // Product Tank Pressure // DB972.DBW36 = 27648 ReadAnalogIn(ANALOG := "HMI_Instrument"."PTM304", MAX_Analog_Value := "Blender_Constants"."gAnalogMaxValue", MIN_Analog_Value := 0, PEW := "P_AI_PTM304"); IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" THEN "mProdTnkPressFlted"(i_Enable := "AUX TRUE", i_Num := 3, i_Value := "HMI_Instrument"."PTM304"."PV"); END_IF; "mDummy" := TRUE; // Network 2: Syrup Tank Level (Original Language: LAD) ReadAnalogIn(ANALOG := "HMI_Instrument"."LTP303", MAX_Analog_Value := "Blender_Constants"."gAnalogMaxValue", MIN_Analog_Value := 0, PEW := "P_AI_LTP303"); IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" THEN "mSyrupTnkLvlFlted"(i_Enable := "AUX TRUE", i_Num := 3, i_Value := "HMI_Instrument"."LTP303"."PV"); END_IF; "mDummy" := TRUE; // Network 3: Chiller Temperature (Original Language: LAD) IF "AUX FALSE" THEN ReadAnalogIn(ANALOG := "HMI_Instrument"."TTM306_H2O", MAX_Analog_Value := "Blender_Constants"."gAnalogMaxValue", MIN_Analog_Value := 0, PEW := "P_AI_TTM306"); END_IF; IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" THEN "mWaterTempFlted"(i_Enable := "AUX TRUE", i_Num := 10, i_Value := "HMI_Instrument"."TTM306_H2O"."PV"); END_IF; "mDummy" := "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" OR "AUX FALSE"; // Network 4: Chiller Temperature (Original Language: LAD) ReadAnalogIn(ANALOG := "HMI_Instrument"."TTM306_PRD", MAX_Analog_Value := "Blender_Constants"."gAnalogMaxValue", MIN_Analog_Value := 0, PEW := "P_AI_TTM306"); IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" THEN "mProdTempFlted"(i_Enable := "AUX TRUE", i_Num := 10, i_Value := "HMI_Instrument"."TTM306_PRD"."PV"); END_IF; "mDummy" := TRUE; // Network 5: Cip Heating Temperature (Original Language: LAD) IF "AUX FALSE" AND "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Conductimeter_Profibus" THEN ReadAnalogIn(ANALOG := "HMI_Instrument"."TT_S5", MAX_Analog_Value := "Blender_Constants"."gAnalogMaxValue", MIN_Analog_Value := 0, PEW := "P_AI_CIPHeaterTemperature"); END_IF; IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" THEN "mCIPHeatTempFlted"(i_Enable := "AUX TRUE", i_Num := 10, i_Value := "HMI_Instrument"."TT_S5"."PV"); END_IF; "mDummy" := "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" OR ("AUX FALSE" AND "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Conductimeter_Profibus"); // Network 6: Differential Trasducer (Original Language: LAD) IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_BlendFillSystem" THEN "mDifferentialTrasducer" := "P_AI_PTF203"; END_IF; IF "mDifferentialTrasducer" <= 0 THEN "mDifferentialTrasducer" := INT#0; END_IF; IF "mDifferentialTrasducer" > 27648 THEN "mDifferentialTrasducer" := INT#27648; END_IF; // Network 7: Differential Pressure (Original Language: LAD) IF "HMI_Instrument"."PTF203"."Config" THEN ReadAnalogIn(ANALOG := "HMI_Instrument"."PTF203", MAX_Analog_Value := "Blender_Constants"."gAnalogMaxValue", MIN_Analog_Value := 0, PEW := "mDifferentialTrasducer"); END_IF; IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" THEN "mDiffTrasducerFlted"(i_Enable := "AUX TRUE", i_Num := 4, i_Value := "HMI_Instrument"."PTF203"."PV"); END_IF; "mDummy" := "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" OR "HMI_Instrument"."PTF203"."Config"; // Network 8: Differential Pressure Fault (Original Language: LAD) #TON_INSTANCE_30(IN := "gIN_ResetBtn" AND "Procedure_Variables"."BlendFill_StartUp"."Done", PT := T#2S); // TODO: Declarar #TON_INSTANCE_30 : TON; "gDiffSensor_Analog_Fault" := #TON_INSTANCE_30.Q AND "mDiffSensFaultEnON" AND "HMI_Instrument"."PTF203"."Alarm" AND "gWorkshopTest"; // Network 9: Syrup Inlet Pressure (Original Language: LAD) IF "HMI_Instrument"."PTP338"."Config" THEN ReadAnalogIn(ANALOG := "HMI_Instrument"."PTP338", MAX_Analog_Value := "Blender_Constants"."gAnalogMaxValue", MIN_Analog_Value := 0, PEW := "P_AI_PTP338"); END_IF; IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" THEN "mInletSirupPress"(i_Enable := "AUX TRUE", i_Num := 5, i_Value := "HMI_Instrument"."PTP338"."PV"); END_IF; "mDummy" := "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" OR "HMI_Instrument"."PTP338"."Config"; // Network 10: TTS305 - Local Cip Heating Temperature (Original Language: LAD) IF "AUX TRUE" THEN ReadAnalogIn(ANALOG := "HMI_Instrument"."FTM305", MAX_Analog_Value := "Blender_Constants"."gAnalogMaxValue", MIN_Analog_Value := 0, PEW := "P_AI_FTM305"); END_IF; IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" THEN "mBaialageFlowFlted"(i_Enable := "AUX TRUE", i_Num := 5, i_Value := "HMI_Instrument"."FTM305"."PV"); END_IF; "mDummy" := "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" OR "AUX TRUE"; END_FUNCTION_BLOCK ```