Obsidean_VM/04-SIDEL/00 - MASTER/Source/source/BlenderPIDCtrl_WriteAnOu.md

266 lines
13 KiB
Markdown

```pascal
// Block Type: FC
// Block Number: 1925
// Original Network Languages: LAD
// Block Comment:
// TASK1 PID
FUNCTION "BlenderPIDCtrl_WriteAnOu" : Void
{ S7_Optimized_Access := 'TRUE' }
VERSION : 0.1
VAR_TEMP
mVLT_freq_REAL : Real;
mDummy : Bool;
mVLT_PumpP2_freq_REAL : Real;
mVLT_PumpP1_freq_REAL : Real;
END_VAR
BEGIN
// Network 1: Carbonated Water Valve (Original Language: LAD)
// Water Valve
IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" AND "HMI_PID"."RMM301"."Config" THEN
WritePeripheral(Analog_Value := "HMI_PID"."RMM301"."Out", MAX_Analog_Value := 100.0, MAX_Out := "Blender_Constants"."gAnalogMaxValue", MIN_Analog_Value := 0.0, MIN_Out := 0);
END_IF;
// Network 2: Syrup Valve (Original Language: LAD)
// Syrup
IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" AND "HMI_PID"."RMP302"."Config" THEN
WritePeripheral(Analog_Value := "HMI_PID"."RMP302"."Out", MAX_Analog_Value := 100.0, MAX_Out := "Blender_Constants"."gAnalogMaxValue", MIN_Analog_Value := 0.0, MIN_Out := 0);
END_IF;
// Network 3: Co2 Valve (Original Language: LAD)
IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" AND "HMI_PID"."RMM303"."Config" THEN
WritePeripheral(Analog_Value := "HMI_PID"."RMM303"."Out", MAX_Analog_Value := 100.0, MAX_Out := "Blender_Constants"."gAnalogMaxValue", MIN_Analog_Value := 0.0, MIN_Out := 0);
END_IF;
// Network 4: Gas2 Valve (Original Language: LAD)
IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" AND "HMI_PID"."RMM304"."Config" THEN
WritePeripheral(Analog_Value := "HMI_PID"."RMM304"."Out", MAX_Analog_Value := 100.0, MAX_Out := "Blender_Constants"."gAnalogMaxValue", MIN_Analog_Value := 0.0, MIN_Out := 0);
END_IF;
// Network 5: Product Tank Pressure Valve (Original Language: LAD)
IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" AND "HMI_PID"."RVM301"."Config" THEN
WritePeripheral(Analog_Value := "HMI_PID"."RVM301"."Out", MAX_Analog_Value := 100.0, MAX_Out := "Blender_Constants"."gAnalogMaxValue", MIN_Analog_Value := 0.0, MIN_Out := 0);
END_IF;
// Network 6: Syrup Tank Level Valve (Original Language: LAD)
IF "HMI_PID"."RVP303"."Out" >= 1.0 THEN
WritePeripheral(Analog_Value := "HMI_PID"."RVP303"."Out", MAX_Analog_Value := 100.0, MAX_Out := "Blender_Constants"."gAnalogMaxValue", MIN_Analog_Value := 0.0, MIN_Out := 5530);
END_IF;
// Network 7: Valve Power Enable (Power Supply Analog Signal) (Original Language: LAD)
IF "HMI_PID"."RVP303"."Out" < 1.0 THEN
"P_AO_RVP303" := 0;
END_IF;
"DO_SyrupValve_Enable" := "HMI_PID"."RVP303"."Out" < 1.0;
// Network 8: Deaireator Level Valve (Original Language: LAD)
IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" AND "HMI_PID"."RVN302"."ConfigPID" AND "HMI_PID"."RVN302"."Config" THEN
WritePeripheral(Analog_Value := "HMI_PID"."RVN302"."Out", MAX_Analog_Value := 100.0, MAX_Out := "Blender_Constants"."gAnalogMaxValue", MIN_Analog_Value := 0.0, MIN_Out := 0);
END_IF;
// Network 9: CIp Heating Valve (Original Language: LAD)
IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" AND "HMI_PID"."RVS318"."Config" THEN
WritePeripheral(Analog_Value := "HMI_PID"."RVS318"."Out", MAX_Analog_Value := 100.0, MAX_Out := "Blender_Constants"."gAnalogMaxValue", MIN_Analog_Value := 0.0, MIN_Out := 0);
END_IF;
// Network 10: Chiller Temperature (Original Language: LAD)
IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" AND "HMI_PID"."RVM319_PRD"."Config" THEN
WritePeripheral(Analog_Value := "HMI_Blender_Parameters"."Actual_Recipe_Parameters"."_SP_ProdTemp", MAX_Analog_Value := 50.0, MAX_Out := "Blender_Constants"."gAnalogMaxValue", MIN_Analog_Value := 0.0, MIN_Out := 0);
END_IF;
IF "HMI_Variables_Status"."Procedures"."WarmRinseRun" THEN
"HMI_PID"."RVM319_H2O"."Out" := "HMI_PID"."RVM319_PRD"."Out";
END_IF;
// Network 11: Cip Return Temperature (Original Language: LAD)
IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" AND "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_LocalCIP" THEN
WritePeripheral(Analog_Value := "HMI_Instrument"."TTS305_1"."PVFiltered", MAX_Analog_Value := 100.0, MAX_Out := "Blender_Constants"."gAnalogMaxValue", MIN_Analog_Value := 0.0, MIN_Out := 0);
END_IF;
// Network 12: Cip Conductivity (Original Language: LAD)
IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" AND "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_LocalCIP" THEN
WritePeripheral(Analog_Value := "HMI_Instrument"."CTS301"."PVFiltered", MAX_Analog_Value := 2000.0, MAX_Out := "Blender_Constants"."gAnalogMaxValue", MIN_Analog_Value := 0.0, MIN_Out := 0);
END_IF;
// Network 13: Cip Caustic Conductivity (Original Language: LAD)
IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" AND "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_LocalCIP" THEN
WritePeripheral(Analog_Value := "HMI_Instrument"."CTS302"."PVFiltered", MAX_Analog_Value := 200.0, MAX_Out := "Blender_Constants"."gAnalogMaxValue", MIN_Analog_Value := 0.0, MIN_Out := 0);
END_IF;
// Network 14: Product Pump (Original Language: LAD)
IF "gBlenderProdMode" AND "gBlenderRinseMode" AND "HMI_Device"."PPM303"."Out" AND "gIN_Filler1ProductReq" AND "HMI_PID"."PPM303"."PID_FIX" AND "HMI_PID"."PPM303"."ManualControl"."ManOut" THEN
"HMI_PID"."PPM303"."Out" := "HMI_Blender_Parameters"."Actual_Recipe_Parameters"."_ProdPump1_Hz";
END_IF;
IF "gBlenderProdMode" AND "gBlenderRinseMode" AND "HMI_Device"."PPM303"."Out" AND "gIN_Filler1ProductReq" AND "HMI_PID"."PPM303"."PID_FIX" AND "HMI_PID"."PPM303"."ManualControl"."ManOut" THEN
"HMI_PID"."PPM303"."Out" := 10.0;
END_IF;
IF ("gBlenderProdMode" AND "gBlenderRinseMode" AND "HMI_Device"."PPM303"."Out" AND "HMI_PID"."PPM303"."PID_FIX" AND "HMI_PID"."PPM303"."ManualControl"."ManOut" AND "HMI_Alarms"."gH_Status") OR ("gBlenderProdMode" AND "gBlenderRinseMode" AND "HMI_Device"."PPM303"."Out" AND "HMI_PID"."PPM303"."ManualControl"."ManOut" AND "HMI_Alarms"."gH_Status" AND "Disable_Bit") THEN
"HMI_PID"."PPM303"."Out" := 15.0;
END_IF;
IF "gBlenderProdMode" AND "gBlenderRinseMode" AND "HMI_Device"."PPM303"."Out" AND "HMI_PID"."PPM303"."ManualControl"."ManOut" THEN
"HMI_PID"."PPM303"."Out" := "HMI_Blender_Parameters"."ProcessSetup"."_RinsePPM303Freq";
END_IF;
IF "HMI_Device"."PPM303"."Out" AND "HMI_PID"."PPM303"."ManualControl"."ManOut" AND "gBlenderCIPMode" THEN
"HMI_PID"."PPM303"."Out" := "HMI_Blender_Parameters"."ProcessSetup"."_CIPPPM303Freq";
END_IF;
IF "HMI_PID"."PPM303"."ManualControl"."ManOut" THEN
"HMI_PID"."PPM303"."Out" := "HMI_PID"."PPM303"."OutMan";
END_IF;
IF "HMI_Device"."PPM303"."Out" AND "HMI_PID"."PPM303"."ManualControl"."ManOut" THEN
"HMI_PID"."PPM303"."Out" := 0.0;
END_IF;
"mDummy" := "gBlenderProdMode" AND "gBlenderRinseMode" AND "HMI_Device"."PPM303"."Out" AND "gIN_Filler1ProductReq" AND "HMI_PID"."PPM303"."PID_FIX" AND "HMI_PID"."PPM303"."ManualControl"."ManOut";
// Network 15: Product Pump Reference Value (Original Language: LAD)
// N.B. impostare il MAX_Analog_Value al valore di produzione + 10 Hz ( con
// macchina a 50Hz verrà impostato a 60Hz).
IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" AND "HMI_PID"."PPM303"."Config" THEN
WritePeripheral(Analog_Value := "HMI_PID"."PPM303"."Out", MAX_Analog_Value := 50.0, MAX_Out := "Blender_Constants"."gAnalogMaxValue_VFC", MIN_Analog_Value := 0.0, MIN_Out := 0);
END_IF;
// Network 16: Product Pump 2 (Original Language: LAD)
IF "gBlenderProdMode" AND "gBlenderRinseMode" AND "HMI_PID"."PPM303"."PID_FIX" AND "HMI_PID"."PPM303"."ManualControl"."ManOut" AND "HMI_Device"."PPM305"."Out" AND "gIN_Filler2ProductReq" THEN
"HMI_PID"."PPM305"."Out" := "HMI_Blender_Parameters"."Actual_Recipe_Parameters"."_ProdPump2_Hz";
END_IF;
IF "gBlenderProdMode" AND "gBlenderRinseMode" AND "HMI_PID"."PPM303"."PID_FIX" AND "HMI_PID"."PPM303"."ManualControl"."ManOut" AND "HMI_Device"."PPM305"."Out" AND "gIN_Filler2ProductReq" THEN
"HMI_PID"."PPM305"."Out" := 10.0;
END_IF;
IF "gBlenderProdMode" AND "HMI_Device"."PPM303"."Out" AND "HMI_PID"."PPM303"."PID_FIX" THEN
"HMI_PID"."PPM305"."Out" := "HMI_Blender_Parameters"."Actual_Recipe_Parameters"."_FillingValveHead_SP";
END_IF;
IF "gBlenderProdMode" AND "gBlenderRinseMode" AND "HMI_Device"."PPM305"."Out" AND "HMI_PID"."PPM305"."ManualControl"."ManOut" THEN
"HMI_PID"."PPM305"."Out" := "HMI_Blender_Parameters"."ProcessSetup"."_RinsePPM303Freq";
END_IF;
IF "gBlenderCIPMode" AND "HMI_Device"."PPM305"."Out" AND "HMI_PID"."PPM305"."ManualControl"."ManOut" THEN
"HMI_PID"."PPM305"."Out" := "HMI_Blender_Parameters"."ProcessSetup"."_CIPPPM303Freq";
END_IF;
IF "HMI_Device"."PPM305"."Out" AND "HMI_PID"."PPM305"."ManualControl"."ManOut" THEN
"HMI_PID"."PPM305"."Out" := 0.0;
END_IF;
IF "HMI_PID"."PPM305"."ManualControl"."ManOut" THEN
"HMI_PID"."PPM305"."Out" := "HMI_PID"."PPM305"."OutMan";
END_IF;
"mDummy" := "gBlenderProdMode" AND "gBlenderRinseMode" AND "HMI_PID"."PPM303"."PID_FIX" AND "HMI_PID"."PPM303"."ManualControl"."ManOut" AND "HMI_Device"."PPM305"."Out" AND "gIN_Filler2ProductReq";
// Network 17: Product Pump 2 Reference Value (Original Language: LAD)
// N.B. impostare il MAX_Analog_Value al valore di produzione + 10 Hz ( con
// macchina a 50Hz verrà impostato a 60Hz).
IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" AND "HMI_PID"."PPM305"."Config" THEN
WritePeripheral(Analog_Value := "HMI_PID"."PPM305"."Out", MAX_Analog_Value := 50.0, MAX_Out := "Blender_Constants"."gAnalogMaxValue_VFC", MIN_Analog_Value := 0.0, MIN_Out := 0);
END_IF;
// Network 18: Syrup Pump (Original Language: LAD)
IF "gBlenderProdMode" AND "HMI_Device"."PPP302"."Out" THEN
"mVLT_PumpP2_freq_REAL" := "HMI_Blender_Parameters"."Actual_Recipe_Parameters"."_SyrupPumpFreq";
END_IF;
IF "gBlenderRinseMode" AND "HMI_Device"."PPP302"."Out" THEN
"mVLT_PumpP2_freq_REAL" := "HMI_Blender_Parameters"."ProcessSetup"."_RinsePPP302Freq";
END_IF;
IF "gBlenderCIPMode" AND "HMI_Device"."PPP302"."Out" THEN
"mVLT_PumpP2_freq_REAL" := "HMI_Blender_Parameters"."ProcessSetup"."_CIPPPP302Freq";
END_IF;
IF "HMI_Device"."PPP302"."Out" THEN
"mVLT_PumpP2_freq_REAL" := 0.0;
END_IF;
IF "HMI_PID"."PPP302"."ManualControl"."ManOut" THEN
"HMI_PID"."PPP302"."OutMan" := "mVLT_PumpP2_freq_REAL";
END_IF;
IF "HMI_PID"."PPP302"."ManualControl"."ManOut" THEN
"mVLT_PumpP2_freq_REAL" := "HMI_PID"."PPP302"."OutMan";
END_IF;
"HMI_PID"."PPP302"."Out" := "mVLT_PumpP2_freq_REAL";
"mDummy" := ("gBlenderProdMode" AND "HMI_Device"."PPP302"."Out") OR ("gBlenderRinseMode" AND "HMI_Device"."PPP302"."Out");
// Network 19: Syrup Pump Reference Value (Original Language: LAD)
// N.B. impostare il MAX_Analog_Value al valore di produzione + 10 Hz ( con
// macchina a 50Hz verrà impostato a 60Hz).
IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" AND "HMI_PID"."PPP302"."Config" THEN
WritePeripheral(Analog_Value := "HMI_PID"."PPP302"."Out", MAX_Analog_Value := 60.0, MAX_Out := "Blender_Constants"."gAnalogMaxValue_VFC", MIN_Analog_Value := 0.0, MIN_Out := 0);
END_IF;
// Network 20: Water Pump (Original Language: LAD)
IF "gBlenderProdMode" AND "HMI_Device"."PPN301"."Out" THEN
"mVLT_PumpP1_freq_REAL" := "HMI_Blender_Parameters"."Actual_Recipe_Parameters"."_WaterPumpFreq";
END_IF;
IF "gBlenderRinseMode" AND "HMI_Device"."PPN301"."Out" THEN
"mVLT_PumpP1_freq_REAL" := "HMI_Blender_Parameters"."ProcessSetup"."_RinsePPN301Freq";
END_IF;
IF "gBlenderCIPMode" THEN
"mVLT_PumpP1_freq_REAL" := "HMI_Blender_Parameters"."ProcessSetup"."_CIPPPN301Freq";
END_IF;
IF "HMI_Device"."PPN301"."Out" THEN
"mVLT_PumpP1_freq_REAL" := 0.0;
END_IF;
IF "HMI_PID"."PPN301"."ManualControl"."ManOut" THEN
"HMI_PID"."PPN301"."OutMan" := "mVLT_PumpP1_freq_REAL";
END_IF;
IF "HMI_PID"."PPN301"."ManualControl"."ManOut" THEN
"mVLT_PumpP1_freq_REAL" := "HMI_PID"."PPN301"."OutMan";
END_IF;
"HMI_PID"."PPN301"."Out" := "mVLT_PumpP1_freq_REAL";
"mDummy" := ("gBlenderProdMode" AND "HMI_Device"."PPN301"."Out") OR ("gBlenderRinseMode" AND "HMI_Device"."PPN301"."Out");
// Network 21: Water Pump Reference Value (Original Language: LAD)
// N.B. impostare il MAX_Analog_Value al valore di produzione + 10 Hz ( con
// macchina a 50Hz verrà impostato a 60Hz).
IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" AND "HMI_PID"."PPN301"."Config" THEN
WritePeripheral(Analog_Value := "HMI_PID"."PPN301"."Out", MAX_Analog_Value := 60.0, MAX_Out := "Blender_Constants"."gAnalogMaxValue_VFC", MIN_Analog_Value := 0.0, MIN_Out := 0);
END_IF;
END_FUNCTION
```