91 lines
4.6 KiB
Markdown
91 lines
4.6 KiB
Markdown
```pascal
|
|
// Block Type: FB
|
|
// Block Number: 1807
|
|
// Original Network Languages: LAD
|
|
|
|
FUNCTION_BLOCK "ProcedureProdTankDrain"
|
|
{ S7_Optimized_Access := 'TRUE' }
|
|
VERSION : 0.1
|
|
|
|
VAR_STAT
|
|
mStepNum : Int;
|
|
mTimeStep : Int;
|
|
mTransition : Bool;
|
|
mAuxONS : Bool;
|
|
mAux1ONS : Bool;
|
|
mPrdTank_DrainTPON : Bool;
|
|
mPrdTank_DrainTP0ON : Bool;
|
|
mPrdTank_DrainTP1ON : Bool;
|
|
mPrdTank_DrainTP : "TP_TIME:v1.0";
|
|
mPrdTank_DrainTP0 : "TP_TIME:v1.0";
|
|
mPrdTank_DrainTP1 : "TP_TIME:v1.0";
|
|
END_VAR
|
|
|
|
VAR_TEMP
|
|
mAuxCalcInt : Int;
|
|
mAuxCalcDInt : DInt;
|
|
mAuxCalcReal : Real;
|
|
END_VAR
|
|
|
|
BEGIN
|
|
|
|
// Network 1: Qualifier (Original Language: LAD)
|
|
|
|
"Procedure_Variables"."TM301_Drain"."Qualifier" := "System_RunOut_Variables"."FastChangeOverActivated" OR ("gBlenderProdMode" AND "Procedure_Variables"."Blender_Run"."Running" AND "Procedure_Variables"."TM301_RunOut"."Latch" AND "gBlenderSuppliesOk") OR ("gBlenderProdMode" AND "Blender_Variables_Pers"."gFillerRinse_DoneLatch" AND "Procedure_Variables"."TM301_RunOut"."Latch" AND "gBlenderSuppliesOk");
|
|
|
|
// Network 2: Request (Original Language: LAD)
|
|
|
|
// Network 2 did not produce printable SCL code.
|
|
|
|
// Network 3: Reset (Original Language: LAD)
|
|
|
|
// PBox SymPy processed, logic in consumer
|
|
"ProdTankDrainReset" := ("Procedure_Variables"."Blender_Rinse"."Done" AND "System_RunOut_Variables"."FastChangeOverActivated") OR ("System_RunOut_Variables"."FastChangeOverActivated" AND "HMI_Variables_Cmd"."Commands_From_HMI"."CMD_TM301DrainReq"); // P_TRIG(("Procedure_Variables"."Blender_Rinse"."Done" AND "System_RunOut_Variables"."FastChangeOverActivated") OR ("System_RunOut_Variables"."FastChangeOverActivated" AND "HMI_Variables_Cmd"."Commands_From_HMI"."CMD_TM301DrainReq")) - Mem: "ProdTankDrainReset"
|
|
|
|
"Procedure_Variables"."TM301_Drain"."Reset" := ("Procedure_Variables"."TM301_Drain"."Done" AND "Procedure_Variables"."Blender_Rinse"."Done" AND "System_RunOut_Variables"."FastChangeOverActivated" AND NOT "ProdTankDrainReset") OR ("Procedure_Variables"."TM301_Drain"."Done" AND "System_RunOut_Variables"."FastChangeOverActivated" AND "HMI_Variables_Cmd"."Commands_From_HMI"."CMD_TM301DrainReq" AND NOT "ProdTankDrainReset") OR ("Procedure_Variables"."Blender_Rinse"."Done" AND "System_RunOut_Variables"."FastChangeOverActivated" AND "Procedure_Variables"."TM301_Drain"."Latch" AND NOT "ProdTankDrainReset") OR ("System_RunOut_Variables"."FastChangeOverActivated" AND "HMI_Variables_Cmd"."Commands_From_HMI"."CMD_TM301DrainReq" AND "Procedure_Variables"."TM301_Drain"."Latch" AND NOT "ProdTankDrainReset");
|
|
|
|
// Network 4: Reset (Original Language: LAD)
|
|
|
|
IF "Procedure_Variables"."TM301_Drain"."Reset" THEN
|
|
"mStepNum" := 0;
|
|
END_IF;
|
|
|
|
IF "Procedure_Variables"."TM301_Drain"."Reset" THEN
|
|
"Procedure_Variables"."TM301_Drain"."Done" := FALSE;
|
|
END_IF;
|
|
|
|
// Network 5: TM301 Drain Reset (Original Language: LAD)
|
|
|
|
// PBox SymPy processed, logic in consumer
|
|
"M19076" := "Procedure_Variables"."TM301_Drain"."Request" AND "System_RunOut_Variables"."FastChangeOverActivated"; // P_TRIG("Procedure_Variables"."TM301_Drain"."Request" AND "System_RunOut_Variables"."FastChangeOverActivated") - Mem: "M19076"
|
|
|
|
// Network 6: Wait (Original Language: LAD)
|
|
|
|
"Procedure_Variables"."TM301_Drain"."Wait" := "gDrainPressNotOK" AND "Disable_Bit";
|
|
|
|
// Network 7: State Num (Original Language: LAD)
|
|
|
|
"Procedure_Variables"."TM301_Drain"."Latch" := ("Procedure_Variables"."TM301_Drain"."Done" AND "Procedure_Variables"."TM301_Drain"."Reset" AND "Procedure_Variables"."TM301_Drain"."Request" AND "FirstScan") OR ("Procedure_Variables"."TM301_Drain"."Done" AND "Procedure_Variables"."TM301_Drain"."Reset" AND "FirstScan" AND "Procedure_Variables"."TM301_Drain"."Latch");
|
|
|
|
IF ("Procedure_Variables"."TM301_Drain"."Done" AND "Procedure_Variables"."TM301_Drain"."Reset" AND "Procedure_Variables"."TM301_Drain"."Request" AND "FirstScan") OR ("Procedure_Variables"."TM301_Drain"."Done" AND "Procedure_Variables"."TM301_Drain"."Reset" AND "FirstScan" AND "Procedure_Variables"."TM301_Drain"."Latch") THEN
|
|
"HMI_Variables_Status"."Procedures"."BlenderStateNum" := 10;
|
|
END_IF;
|
|
|
|
// Network 8: Running (Original Language: LAD)
|
|
|
|
"Procedure_Variables"."TM301_Drain"."Running" := "Procedure_Variables"."TM301_Drain"."Wait" AND "Procedure_Variables"."TM301_Drain"."Latch";
|
|
|
|
"HMI_Alarms"."gH_Status" := "Procedure_Variables"."TM301_Drain"."Latch";
|
|
|
|
"HMI_Variables_Status"."Procedures"."TM301DrainRun" := "Procedure_Variables"."TM301_Drain"."Latch";
|
|
|
|
// Network 9: Sequence (Original Language: LAD)
|
|
|
|
IF "Procedure_Variables"."TM301_Drain"."Running" THEN
|
|
Prod_Tank_Drain_Seq(mStep := "mStepNum", mTime := "mTimeStep", mTransition := "mTransition");
|
|
END_IF;
|
|
|
|
END_FUNCTION_BLOCK
|
|
|
|
```
|