Simatic_XML_Parser_to_SCL/BlenderPIDCtrl__Loop_simpli...

108 lines
2.7 KiB
Plaintext

// Block Name (Original): BlenderPIDCtrl__Loop
// Block Number: 1729
// Original Language: LAD
// Block Comment: TASK1 PID
FUNCTION_BLOCK "BlenderPIDCtrl__Loop"
{ S7_Optimized_Access := 'TRUE' }
VERSION : 0.1
VAR_STAT_STATIC
PID_1_300ms : Bool;
PID_2_300ms : Bool;
PID_3_300ms : Bool;
PID_4_300ms : Bool;
PID_5_300ms : Bool;
PID_6_300ms : Bool;
Flow_Meter_Error_RETVAL : Real;
PID_FF_Calc : "BlenderPID_PIDFFCalc";
PID_Blending_Fault : "BlenderPID_BlendingFault";
PID_Save_Integral : "BlenderPIDCtrl_SaveInteg";
PID_Monitor : "BlenderPIDCtrl_Monitor";
Read_AnalogInput : "BlenderPIDCtrl_ReadAnIn";
END_VAR
VAR_TEMP
END_VAR
BEGIN
// Network 1: Read Analoc Inputs (Original Language: LAD)
"Read_AnalogInput"();
// Network 2: MIX - OB35 scan counter (Original Language: LAD)
// PID Control Time Bit (300ms)
"PID_1_300ms" := Eq("MW1968", 1);
"PID_2_300ms" := Eq("MW1968", 2);
"PID_3_300ms" := Eq("MW1968", 3);
"PID_4_300ms" := Eq("MW1968", 4);
"PID_5_300ms" := Eq("MW1968", 5);
"PID_6_300ms" := Eq("MW1968", 6);
// Network 3: PID Call (Original Language: LAD)
// Water PID
// Syrup PID
// CO2 PID
IF "PID_1_300ms" THEN
"PID_FF_Calc"();
"PID_Blending_Fault"();
BlenderPID_FlowMeterErro();
"PID_Monitor"();
"PID_Save_Integral"();
BlenderPIDCtrl_SaveValve();
END_IF;
IF "PID_1_300ms" AND "HMI_PID"."RMM301"."Config" THEN
"PID_RMM301_Data"();
END_IF;
IF "PID_1_300ms" AND "HMI_PID"."RMP302"."Config" THEN
"PID_RMP302_Data"();
END_IF;
IF "PID_1_300ms" AND "HMI_PID"."RMM303"."Config" THEN
"PID_RMM303_Data"();
END_IF;
IF "PID_1_300ms" AND "HMI_PID"."RMM304"."Config" THEN
"PID_RMM304_Data"();
END_IF;
// Network 4: PID Product Tank Pressure (Original Language: LAD)
IF "PID_2_300ms" AND "HMI_PID"."RVM301"."Config" THEN
"PID_RVM301_Data"();
BlenderPIDCtrl_PresRelea();
END_IF;
// Network 5: Pid Call (Original Language: LAD)
IF "PID_4_300ms" AND "HMI_PID"."RVM319_PRD"."Config" THEN
"PID_RVM319_Data"();
END_IF;
IF "HMI_PID"."RVP303"."Config" AND "PID_4_300ms" THEN
"PID_RVP303_Data"();
END_IF;
IF "HMI_PID"."RVN302"."Config" AND "PID_4_300ms" AND NOT "HMI_PID"."RVN302"."ConfigPID" THEN
"PID_RVN302_Data"();
END_IF;
// Network 6: Filling Head (Original Language: LAD)
IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_BlendFillSystem" AND "PID_5_300ms" AND "HMI_PID"."PPM303"."Config" THEN
"PID_Filling_Head_Data"();
END_IF;
// Network 7: CIp Heating PID (Original Language: LAD)
IF "PID_6_300ms" AND "HMI_PID"."RVS318"."Config" THEN
"PID_RVS318_Data"();
END_IF;
// Network 8: Write Analog Outputs (Original Language: LAD)
IF "AUX TRUE" THEN
BlenderPIDCtrl_WriteAnOu();
END_IF;
END_FUNCTION_BLOCK