ParamManagerScripts/backend/script_groups/XML Parser to SCL/test_syrup_fixed2.scl

270 lines
12 KiB
Plaintext

// FB1813
// Block Type: FB
// Block Name (Original): Syrup Line MFM Prep DAR
// Block Number: 1813
// Original Network Languages: STL, LAD
FUNCTION_BLOCK "Syrup_Line_MFM_Prep_DAR"
{ S7_Optimized_Access := 'TRUE' }
VERSION : 0.1
VAR_INPUT
IN : Bool;
PT : Time;
END_VAR
VAR_OUTPUT
Q : Bool;
ET : Time;
END_VAR
VAR_STAT
mStepNum : Int;
mTimeStep : Int;
Real_Time : Time;
mTransition : Bool;
mSyrLineMFMPrepONS : Bool;
mSyrupLineManualDrainSR : Bool;
mQTM306_PrepReqTPON : Bool;
mQTM306_PrepReqTP1ON : Bool;
mDelayON_StopPumpON : Bool;
mDelayON_SyrupMinON : Bool;
mDelayON_PumpStatusON : Bool;
mHVP302_TONON : Bool;
mQTM306_Prep_TimeOutON : Bool;
mQTM306_PrepReqTP : "TP:v1.0";
mQTM306_PrepReqTP1 : "TP:v1.0";
mDelayON_StopPump : "TON:v1.0";
mDelayON_SyrupMin : "TON:v1.0";
mDelayON_PumpStatus : "TON:v1.0";
mHVP302_TON : "TON:v1.0";
mQTM306_Prep_TimeOut : "TON:v1.0";
END_VAR
VAR_TEMP
mDummy : Bool;
mAux1 : Real;
mAux2 : Real;
mTimeOutElapsed : Bool;
mStopPumpP2 : Bool;
mSyrMinLevel : Bool;
mPumpP2Running : Bool;
mWaterCountAcheaved : Bool;
mSyrupLineManualDrained : Bool;
mFuzzyNetOut : Bool;
Out_Time_DI : DInt;
Real_Time_S5 : S5Time;
mProcSlctd : Bool;
mFuzzyNetAdd1 : Real;
mFuzzyNetAdd2 : Real;
mFuzzyNetAdd3 : Real;
mSyrBrixAux : Real;
mSyrBrixAux_1 : Real;
Aux_Somma_Lt : Real;
END_VAR
#_1S : Bool; // Auto-generated temporary
#_4S : Bool; // Auto-generated temporary
#_4S_600MS : Bool; // Auto-generated temporary
#_5S : Bool; // Auto-generated temporary
#TON_INSTANCE_26_dup3 : TON; // Auto-generated temporary
#TON_INSTANCE_26_dup5 : TON; // Auto-generated temporary
#TON_INSTANCE_27_dup4 : TON; // Auto-generated temporary
#TON_INSTANCE_30_dup5 : TON; // Auto-generated temporary
#TP_INSTANCE_44 : TP; // Auto-generated temporary
BEGIN
// Network 1: (Original Language: LAD)
%DB960.DBX56.0 := ("gBlenderProdMode" AND "gBlenderSuppliesOk" AND "System_RunOut_Variables"."FastChangeOverActivated" AND NOT "Blender_Variables_Pers"."gWaterRecipe") OR ("gBlenderProdMode" AND "gBlenderSuppliesOk" AND NOT "Blender_Variables_Pers"."gWaterRecipe" AND NOT "gBlenderRinseMode");
// Network 2: SyrLineMFMPrepReq (Original Language: LAD)
// PBox SymPy processed, logic in consumer
"Tag_69" := "HMI_Variables_Cmd"."Commands_From_HMI"."CMD_FTP302Line_Prep" AND NOT "System_RunOut_Variables"."FastChangeOverActivated" AND NOT "Procedure_Variables"."Syr_RunOut"."FastChangeOverRinseDone"; // P_TRIG("HMI_Variables_Cmd"."Commands_From_HMI"."CMD_FTP302Line_Prep" AND NOT "System_RunOut_Variables"."FastChangeOverActivated" AND NOT "Procedure_Variables"."Syr_RunOut"."FastChangeOverRinseDone") - Mem: "Tag_69"
#TP_INSTANCE_44(IN := "System_RunOut_Variables"."FastChangeOverActivated" AND "Procedure_Variables"."Syr_RunOut"."FastChangeOverRinseDone" AND "HMI_Variables_Cmd"."GLOBAL_CMD"."_EnableNextRecipe" AND "System_RunOut_Variables"."NextRecipeOk" AND NOT %DB960.DBX56.6, PT := T#1S);
%DB960.DBX56.1 := ("mQTM306_PrepReqTP1ON" AND %DB960.DBX56.0) OR (%DB960.DBX56.0 AND "HMI_Variables_Cmd"."Commands_From_HMI"."CMD_FTP302Line_Prep" AND NOT "System_RunOut_Variables"."FastChangeOverActivated" AND NOT "Tag_69" AND NOT "Procedure_Variables"."Syr_RunOut"."FastChangeOverRinseDone");
// Network 3: (Original Language: LAD)
// PBox SymPy processed, logic in consumer
"mSyrLineMFMPrepONS" := %DB960.DBX56.1 AND %DB960.DBX56.6 AND NOT "Procedure_Variables"."Blender_Run"."Latch" AND NOT "System_RunOut_Variables"."FastChangeOverActivated"; // P_TRIG(%DB960.DBX56.1 AND %DB960.DBX56.6 AND NOT "Procedure_Variables"."Blender_Run"."Latch" AND NOT "System_RunOut_Variables"."FastChangeOverActivated") - Mem: "mSyrLineMFMPrepONS"
%DB960.DBX56.2 := "gBlenderCIPMode" OR "Blender_Variables_Pers"."gWaterRecipe" OR ("gEmergencyPressed" AND %DB960.DBX56.3) OR ("Procedure_Variables"."SyrupLineRinse"."Latch" AND "System_RunOut_Variables"."FastChangeOverActivated") OR ("gBlenderRinseMode" AND NOT "System_RunOut_Variables"."FastChangeOverActivated") OR (%DB960.DBX56.1 AND %DB960.DBX56.6 AND NOT "Procedure_Variables"."Blender_Run"."Latch" AND NOT "System_RunOut_Variables"."FastChangeOverActivated" AND NOT "mSyrLineMFMPrepONS");
// Network 4: (Original Language: LAD)
IF ("Procedure_Variables"."Blender_Rinse"."Latch" AND NOT "AUX MASTER VALIDATION") OR ("Procedure_Variables"."Syr_RunOut"."Latch" AND NOT "AUX MASTER VALIDATION") OR ("CIP_Program_Variables"."Status"."Started" AND NOT "AUX MASTER VALIDATION") THEN
%DB960.DBX57.0 := FALSE;
END_IF;
// Network 5: (Original Language: LAD)
IF "Procedure_Variables"."FTP302Line_Preparation"."Reset" THEN
"mStepNum" := 0;
END_IF;
IF "Procedure_Variables"."FTP302Line_Preparation"."Reset" THEN
%DB960.DBX56.6 := FALSE;
END_IF;
IF "Procedure_Variables"."FTP302Line_Preparation"."Reset" THEN
"Procedure_Variables"."FTP302Line_Preparation"."LinePrepared" := FALSE;
END_IF;
IF "Procedure_Variables"."FTP302Line_Preparation"."Reset" THEN
"mWaterCountAcheaved" := FALSE;
END_IF;
// Network 6: (Original Language: LAD)
%DB960.DBX56.5 := "HMI_Device"."PPP302"."Alarm" OR "HMI_Device"."SyrupRoom_SyrupPump"."Alarm" OR NOT "HMI_Digital"."PSM311"."Filtered";
// Network 7: (Original Language: LAD)
%DB960.DBX56.3 := (%DB960.DBX56.1 AND NOT "AUX Start CPU" AND NOT %DB960.DBX56.2 AND NOT %DB960.DBX56.6) OR ("Procedure_Variables"."FTP302Line_Preparation"."Latch" AND NOT "AUX Start CPU" AND NOT %DB960.DBX56.2 AND NOT %DB960.DBX56.6);
IF (%DB960.DBX56.1 AND NOT "AUX Start CPU" AND NOT %DB960.DBX56.2 AND NOT %DB960.DBX56.6) OR ("Procedure_Variables"."FTP302Line_Preparation"."Latch" AND NOT "AUX Start CPU" AND NOT %DB960.DBX56.2 AND NOT %DB960.DBX56.6) THEN
"HMI_Variables_Status"."Procedures"."BlenderStateNum" := 3;
END_IF;
// Network 8: (Original Language: LAD)
%DB960.DBX56.4 := %DB960.DBX56.3 AND NOT %DB960.DBX56.5;
// Network 9: MIX - (Original Language: LAD)
"mAux1" := "Blender_Variables"."gMinProduction" / 6.0;
mAux1 := SEL_R(G := Ne("mAux1", 0.0), IN0 := 1.0, IN1 := "mAux1");
"mAux2" := "HMI_Blender_Parameters"."ProcessSetup"."_SyrupRunOutLiters" * 1.5;
"mAux1" := "mAux2" / "mAux1";
"Out_Time_DI" := CEIL("mAux1");
"mDummy" := TRUE;
// Network 10: (Original Language: STL)
// #Out_Time_DI (DINT) converted in #Real_Time_S5 (S5Time)
// Use L#1000 IF #Out_Time_DI is in ms
// --- BEGIN STL Network 10 ---
```stl
L "Out_Time_DI"
L 1000
MUL_D
T "Real_Time"
```
// --- END STL Network 10 ---
// Network 11: SyrLineMFMPrep_TimeOut (Original Language: LAD)
#TON_INSTANCE_26_dup3(IN := %DBX56.3, PT := "Real_Time");
"mTimeOutElapsed" := "mQTM306_Prep_TimeOutON";
// Network 12: DelayON_StopPump (Original Language: LAD)
#TON_INSTANCE_27_dup4(IN := NOT "gIN_SyrTank_MinLvl", PT := T#4S_600MS);
"mStopPumpP2" := "mDelayON_StopPumpON";
// Network 13: DelayON_SyrupMin (Original Language: LAD)
"mSyrMinLevel" := "gIN_SyrTank_MinLvl";
// Network 14: DelayON_PumpStatus (Original Language: LAD)
#TON_INSTANCE_26_dup5(IN := "HMI_Device"."PPP302"."Out", PT := T#4S);
"mPumpP2Running" := "mDelayON_PumpStatusON";
// Network 15: SYRUP LINE MANUAL DRAIN (Original Language: LAD)
// THIS PROCEDURE HAS TO BE DONE BEFORE TO SELECT THE SYRUP LINE STARTUP.
#TON_INSTANCE_30_dup5(IN := "gIN_HVP301_Aux", PT := T#5S);
// Network 16: MIX - HMI Variables Cmd (Original Language: LAD)
"mSyrupLineManualDrained" := %DB960.DBX56.3 AND "mSyrupLineManualDrainSR" AND NOT "gIN_HVP301_Aux";
// Network 17: (Original Language: LAD)
IF NOT "Procedure_Variables"."FTP302Line_Preparation"."Latch" THEN
"Blender_Variables_Pers"."gSyrLinePrepCountInit" := "Profibus_Variables"."gFTP302_Tot";
END_IF;
// Network 18: BRIX PRODUCT STARTUP THRESHOLD (Original Language: LAD)
"mSyrBrixAux" := "HMI_Blender_Parameters"."Actual_Recipe_Parameters"."_SyrupBrix" * "HMI_Blender_Parameters"."ProcessSetup"."_PercSyrupBrixSyrStarUp";
"mSyrBrixAux_1" := "mSyrBrixAux" / 100.0;
"Blender_Constants"."gSugaredSyrupBrixThrsd" := "mSyrBrixAux_1";
// Network 19: Fuzzy Net (Original Language: LAD)
mFuzzyNetAdd1 := SEL_R(G := "M_validat_27_01_25" AND "gPV_SyrDensOk" AND "HMI_Device"."PPP302"."Out" AND NOT "Blender_Variables_Pers"."gSugarBeverage", IN0 := 0.0, IN1 := 101.0);
IF "Blender_Variables_Pers"."gSugarBeverage" THEN
"mAux1" := "Profibus_Variables"."gFTP302_Brix" * "HMI_Blender_Parameters"."Actual_Recipe_Parameters"."_SyrupFactor";
END_IF;
mFuzzyNetAdd2 := SEL_R(G := "gIN_SyrTank_MinLvl" AND "Blender_Variables_Pers"."gSugarBeverage" AND ("mAux1" > "Blender_Constants"."gSugaredSyrupBrixThrsd"), IN0 := 0.0, IN1 := 101.0);
IF NOT "M_validat_27_01_25" AND NOT "Blender_Variables_Pers"."gSugarBeverage" THEN
"Aux_Somma_Lt" := "HMI_Blender_Parameters"."ProcessSetup"."_SyrupRunOutLiters" + %DBD784;
END_IF;
IF NOT "M_validat_27_01_25" AND NOT "Blender_Variables_Pers"."gSugarBeverage" THEN
"HMI_Variables_Status"."Analog_Values"."TP301SyrupPrimingCount" := "Profibus_Variables"."gFTP302_Tot" - "Blender_Variables_Pers"."gSyrLinePrepCountInit";
END_IF;
"mWaterCountAcheaved" := NOT "mSyrupLineManualDrainSR" AND NOT "M_validat_27_01_25" AND NOT "Blender_Variables_Pers"."gSugarBeverage" AND ("HMI_Variables_Status"."Analog_Values"."TP301SyrupPrimingCount" >= "Aux_Somma_Lt");
mFuzzyNetAdd3 := SEL_R(G := "HMI_Device"."PPP302"."Out" AND NOT "mSyrupLineManualDrainSR" AND NOT "M_validat_27_01_25" AND NOT "Blender_Variables_Pers"."gSugarBeverage" AND ("HMI_Variables_Status"."Analog_Values"."TP301SyrupPrimingCount" >= "Aux_Somma_Lt"), IN0 := 0.0, IN1 := 101.0);
"mDummy" := TRUE;
// Network 20: Fuzzy Net (Original Language: LAD)
"mFuzzyNetAdd1" := "mFuzzyNetAdd1" + "mFuzzyNetAdd2";
"mFuzzyNetAdd1" := "mFuzzyNetAdd1" + "mFuzzyNetAdd3";
"mFuzzyNetOut" := "Procedure_Variables"."FTP302Line_Preparation"."Latch" AND ("mFuzzyNetAdd1" > 100.0);
IF "Procedure_Variables"."FTP302Line_Preparation"."Latch" AND NOT "AUX MASTER VALIDATION" AND ("mFuzzyNetAdd1" > 100.0) THEN
"Procedure_Variables"."FTP302Line_Preparation"."LinePrepared" := TRUE;
END_IF;
// Network 21: Opeartor Run Syrup Prep (Original Language: LAD)
_HMI_Alarms___gH_Message__8_ := "gBlenderProdMode" AND "Procedure_Variables"."FTP302Line_Preparation"."Qualifier" AND NOT "Procedure_Variables"."FTP302Line_Preparation"."Latch" AND NOT "Blender_Variables_Pers"."gWaterRecipe" AND NOT "gBlenderRinseMode" AND NOT "Procedure_Variables"."FTP302_StartUp"."Latch" AND NOT "Procedure_Variables"."FTP302Line_Preparation"."Done" AND NOT "System_RunOut_Variables"."FastChangeOverActivated";
// Network 22: Syrup Tank Prep Running (Original Language: LAD)
// Syrup Tank Prep Running Message
"HMI_Variables_Status"."Procedures"."TP301PrepRun" := "Procedure_Variables"."FTP302Line_Preparation"."Latch";
// Network 23: Syrup Tank Prep Running (Original Language: LAD)
// Syrup Tank Prep Running Message
_HMI_Alarms___gH_Status__3_ := "Procedure_Variables"."FTP302Line_Preparation"."Latch" OR "Procedure_Variables"."FTP302_StartUp"."Latch";
// Network 24: (Original Language: LAD)
IF "Procedure_Variables"."FTP302Line_Preparation"."Running" THEN
Syrup_Line_MFM_Prep_Seq(FuzzyNetOut := "mFuzzyNetOut", SyrupLineManualDrained := "mSyrupLineManualDrained", WaterCountAcheaved := "mWaterCountAcheaved", mStep := "mStepNum", mStopPumpP2 := "mStopPumpP2", mSyrMinLevel := "mDelayON_SyrupMinON", mTimer := "mTimeStep", mTransition := "mTransition");
END_IF;
// Network 25: (Original Language: LAD)
"HMI_Variables_Status"."System_Run_Out"."TP301PrepDone" := "Procedure_Variables"."FTP302Line_Preparation"."Done";
END_FUNCTION_BLOCK