Obsidean_VM/04-SIDEL/06 - E5.007363 - Modifica O.../Source/source/BlenderPIDCtrl_ReadAnIn.md

6.3 KiB

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