108 lines
2.7 KiB
Plaintext
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
|