62 lines
2.0 KiB
Markdown
62 lines
2.0 KiB
Markdown
```pascal
|
|
// Block Type: FB
|
|
// Block Number: 1783
|
|
// Original Network Languages: LAD
|
|
// Block Comment:
|
|
// TASK1 PID
|
|
|
|
FUNCTION_BLOCK "PID_RVM301"
|
|
{ S7_Optimized_Access := 'TRUE' }
|
|
VERSION : 0.1
|
|
|
|
VAR_STAT
|
|
PID_Press_CO2_Proport : Real;
|
|
PID_Press_CO2_Integral : Real;
|
|
PID_Press_CO2_Derivative : Real;
|
|
Press_CO2_Valve_Out : Real;
|
|
PID : "PIDControl";
|
|
END_VAR
|
|
|
|
VAR_TEMP
|
|
mDummy : Bool;
|
|
PID_CO2_LMN_FAC : Real;
|
|
temp : Real;
|
|
END_VAR
|
|
|
|
BEGIN
|
|
|
|
// Network 1: Manual Enable (Original Language: LAD)
|
|
|
|
"HMI_PID"."RVM301"."ManualControl"."PidEnable" := "Procedure_Variables"."TM301_Pressure"."Running" OR ("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Balaiage" AND "Procedure_Variables"."Balaiage"."Latch");
|
|
|
|
// Network 2: Dead Band & Proportional old "HMI_Blender_Parameters".Spare4 (Original Language: LAD)
|
|
|
|
IF "AUX FALSE" THEN
|
|
"HMI_PID"."RVM301"."KP" := "HMI_Blender_Parameters"."_RVM301_Kp";
|
|
END_IF;
|
|
|
|
"mDummy" := "AUX FALSE";
|
|
|
|
// Network 3: Limit Factor (Original Language: LAD)
|
|
|
|
SEL_R(G := "gP_LimitCO2PressValve", IN0 := 1.0, IN1 := "Blender_Constants"."gPressCO2StartUpValue");
|
|
|
|
// Network 4: PID Control (Original Language: LAD)
|
|
// Attenzione al Bit REG_INV !!
|
|
|
|
"PID"(D_Sel := "AUX FALSE", FF_Enable := "AUX TRUE", I_Sel := "AUX FALSE", LMN_FAC := "PID_CO2_LMN_FAC", LMN_OFF := 0.0, MAN_ON := "PID_Variables"."PID_RVM301_Release" OR ("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_FastChangeOverEnabled" AND "gRinseDrainRunning"), PID_Data := "HMI_PID"."RVM301", PID_Enable := "HMI_PID"."RVM301"."ManualControl"."PidEnable" OR "HMI_PID"."RVM301"."I_ITL", P_Sel := "AUX TRUE", REG_INV := "AUX FALSE");
|
|
|
|
// Network 5: Integral PID Inizilize (Original Language: LAD)
|
|
|
|
IF "HMI_PID"."RVM301"."I_ITL" THEN
|
|
"HMI_PID"."RVM301"."I_ITL" := FALSE;
|
|
END_IF;
|
|
|
|
// Network 6: Valve Output (Original Language: LAD)
|
|
|
|
SEL_R(G := "HMI_PID"."RVM301"."ManualControl"."PidEnable", IN0 := 0.0, IN1 := "HMI_PID"."RVM301"."Out");
|
|
|
|
END_FUNCTION_BLOCK
|
|
|
|
```
|