97 lines
5.0 KiB
Markdown
97 lines
5.0 KiB
Markdown
```pascal
|
|
// Block Type: FB
|
|
// Block Number: 1802
|
|
// Original Network Languages: LAD
|
|
|
|
FUNCTION_BLOCK "ProcedureCarboWaterLine"
|
|
{ S7_Optimized_Access := 'TRUE' }
|
|
VERSION : 0.1
|
|
|
|
VAR_STAT
|
|
mStepNum : Int;
|
|
mTimeStep : Int;
|
|
mTransition : Bool;
|
|
mCarboWaterLineONS : Bool;
|
|
mCarboWaterLineTPON : Bool;
|
|
mCarboWaterLineTP : "TP_TIME:v1.0";
|
|
END_VAR
|
|
|
|
VAR_TEMP
|
|
mLowCO2Flow : Bool;
|
|
SP_PV : Real;
|
|
SP_PV_ABS : Real;
|
|
CO2_Mul : Real;
|
|
END_VAR
|
|
|
|
BEGIN
|
|
|
|
// Network 1: Qualifier (Original Language: LAD)
|
|
|
|
"Procedure_Variables"."CarboWaterLine"."Qualifier" := "Procedure_Variables"."TN301_StartUp"."Done" AND "Blender_Variables_Pers"."gCarboStillProduct" AND (("gBlenderCIPMode" AND "gBlenderSuppliesOk" AND (("gBlenderProdMode" AND "gBlenderRinseMode") OR ("gBlenderProdMode" AND "System_RunOut_Variables"."FastChangeOverActivated" AND "Blender_Variables_Pers"."gFillerRinse_DoneLatch"))) OR ("gBlenderCIPMode" AND "Procedure_Variables"."CarboWaterLine"."Done" AND (("gBlenderProdMode" AND "gBlenderRinseMode") OR ("gBlenderProdMode" AND "System_RunOut_Variables"."FastChangeOverActivated" AND "Blender_Variables_Pers"."gFillerRinse_DoneLatch"))));
|
|
|
|
// Network 2: Request (Original Language: LAD)
|
|
|
|
// PBox SymPy processed, logic in consumer
|
|
"mCarboWaterLineONS" := ("System_RunOut_Variables"."FastChangeOverActivated" AND "Blender_Variables_Pers"."gFillerRinse_DoneLatch") OR ("gBlenderRinseMode" AND "System_RunOut_Variables"."FastChangeOverActivated" AND "Procedure_Variables"."TN301_StartUp"."Done" AND "Procedure_Variables"."Blender_Run"."Latch"); // P_TRIG(("System_RunOut_Variables"."FastChangeOverActivated" AND "Blender_Variables_Pers"."gFillerRinse_DoneLatch") OR ("gBlenderRinseMode" AND "System_RunOut_Variables"."FastChangeOverActivated" AND "Procedure_Variables"."TN301_StartUp"."Done" AND "Procedure_Variables"."Blender_Run"."Latch")) - Mem: "mCarboWaterLineONS"
|
|
|
|
"Procedure_Variables"."CarboWaterLine"."Request" := ("Procedure_Variables"."CarboWaterLine"."Qualifier" AND "System_RunOut_Variables"."FastChangeOverActivated" AND "Blender_Variables_Pers"."gFillerRinse_DoneLatch" AND NOT "mCarboWaterLineONS") OR ("Procedure_Variables"."CarboWaterLine"."Qualifier" AND "gBlenderRinseMode" AND "System_RunOut_Variables"."FastChangeOverActivated" AND "Procedure_Variables"."TN301_StartUp"."Done" AND "Procedure_Variables"."Blender_Run"."Latch" AND NOT "mCarboWaterLineONS");
|
|
|
|
// Network 3: Reset (Original Language: LAD)
|
|
|
|
"Procedure_Variables"."CarboWaterLine"."Reset" := "Procedure_Variables"."CarboWaterLine"."Qualifier" OR ("Procedure_Variables"."CarboWaterLine"."Latch" AND "gEmergencyPressed");
|
|
|
|
// Network 4: Done (Original Language: LAD)
|
|
|
|
IF "Procedure_Variables"."CarboWaterLine"."Reset" THEN
|
|
"mStepNum" := 0;
|
|
"mTimeStep" := 0;
|
|
END_IF;
|
|
|
|
IF "Procedure_Variables"."CarboWaterLine"."Reset" THEN
|
|
"Procedure_Variables"."CarboWaterLine"."Done" := FALSE;
|
|
END_IF;
|
|
|
|
// Network 5: Limit Co2 Low (Original Language: LAD)
|
|
|
|
"SP_PV" := "HMI_PID"."RMM303"."Sp" - "HMI_PID"."RMM303"."Pv";
|
|
|
|
"CO2_Mul" := "HMI_PID"."RMM303"."Sp" * 0.1;
|
|
|
|
// Network 6: Wait (Original Language: LAD)
|
|
|
|
"Procedure_Variables"."CarboWaterLine"."Wait" := ("HMI_Digital"."_PAL_S11"."Filtered" AND "gWorkshopTest") OR ("gCO2LowPress_Fault" AND "gWorkshopTest");
|
|
|
|
// Network 7: Latch (Original Language: LAD)
|
|
|
|
"Procedure_Variables"."CarboWaterLine"."Latch" := ("Procedure_Variables"."CarboWaterLine"."Latch" AND "Procedure_Variables"."CarboWaterLine"."Reset" AND "FirstScan" AND "Procedure_Variables"."CarboWaterLine"."Done") OR ("Procedure_Variables"."CarboWaterLine"."Reset" AND "Procedure_Variables"."CarboWaterLine"."Request" AND "FirstScan" AND "Procedure_Variables"."CarboWaterLine"."Done");
|
|
|
|
IF ("Procedure_Variables"."CarboWaterLine"."Latch" AND "Procedure_Variables"."CarboWaterLine"."Reset" AND "FirstScan" AND "Procedure_Variables"."CarboWaterLine"."Done") OR ("Procedure_Variables"."CarboWaterLine"."Reset" AND "Procedure_Variables"."CarboWaterLine"."Request" AND "FirstScan" AND "Procedure_Variables"."CarboWaterLine"."Done") THEN
|
|
"HMI_Variables_Status"."Procedures"."BlenderStateNum" := 7;
|
|
END_IF;
|
|
|
|
// Network 8: Water Line Carbonating Running (Original Language: LAD)
|
|
// Message TO HMI: Water Line Carbonating Running
|
|
|
|
"HMI_Alarms"."gH_Status" := "Procedure_Variables"."CarboWaterLine"."Latch";
|
|
|
|
"Procedure_Variables"."CarboWaterLine"."Running" := "Procedure_Variables"."CarboWaterLine"."Latch" AND "Procedure_Variables"."CarboWaterLine"."Wait";
|
|
|
|
// Network 9: Carbo Water Line Step Sequence (Original Language: LAD)
|
|
// #Seq_Preset_Time is Not Used
|
|
|
|
IF "Procedure_Variables"."CarboWaterLine"."Running" THEN
|
|
CarboWaterLine_Seq(mStep_Number := "mStepNum", mTimer := "mTimeStep", mTransition := "mTransition");
|
|
END_IF;
|
|
|
|
// Network 10: Running (Original Language: LAD)
|
|
|
|
"HMI_Variables_Status"."System_Run_Out"."CarboWaterLineRun" := "Procedure_Variables"."CarboWaterLine"."Latch";
|
|
|
|
// Network 11: Done (Original Language: LAD)
|
|
|
|
"HMI_Variables_Status"."System_Run_Out"."CarboWaterLineDone" := "Procedure_Variables"."CarboWaterLine"."Done";
|
|
|
|
END_FUNCTION_BLOCK
|
|
|
|
```
|