ParamManagerScripts/backend/script_groups/XML Parser to SCL/.example/FormatManagementQE1_G_regen...

298 lines
16 KiB
Plaintext

// Block Type: FC
// Block Number: 800
// Original Network Languages: LAD, SCL
FUNCTION "FormatManagementQE1_G" : Void
{ S7_Optimized_Access := 'TRUE' }
VERSION : 0.1
VAR_TEMP
CalculatedBottlesRemainigToFill : DInt;
END_VAR
CONSTANT
FormatChange_Disabled : Int := 0;
FormatChange_Enabled : Int := 1;
FormatChange_Emptying : Int := 2;
FormatChange_InProgress : Int := 3;
FormatChange_Done : Int := 4;
FormatChange_NotNecessary : Int := 5;
FormatChange_Error : Int := 6;
PopUp_LineReady : Int := 2000;
PopUp_EmptyStart : Int := 2001;
PopUp_EmptyEnd : Int := 2002;
END_CONSTANT
#_3s : Bool; // Auto-generated temporary
#FormatChange_Disabled : Bool; // Auto-generated temporary
#FormatChange_Done : Bool; // Auto-generated temporary
#FormatChange_Emptying : Bool; // Auto-generated temporary
#FormatChange_Enabled : Bool; // Auto-generated temporary
#FormatChange_Error : Bool; // Auto-generated temporary
#FormatChange_InProgress : Bool; // Auto-generated temporary
#FormatChange_NotNecessary : Bool; // Auto-generated temporary
#PopUp_EmptyEnd : Bool; // Auto-generated temporary
#PopUp_EmptyStart : Bool; // Auto-generated temporary
#PopUp_LineReady : Bool; // Auto-generated temporary
#TON_INSTANCE_31 : Bool; // Auto-generated temporary
BEGIN
// Network 1: HMI Selector for "Local Format Change" or "Remote Format Change" (Original Language: SCL)
"Rt_Enable_RemoteFormatChange"/*_ERR_NO_CALLINFO_*/;
IF NOT "FormatManagementQE1_D".RemoteSelector THEN
"FormatManagementQE1_D".FormatChangeCycle := #FormatChange_Disabled;
ELSIF "Rt_Enable_RemoteFormatChange".Q THEN
"FormatManagementQE1_D".FormatChangeCycle := #FormatChange_Enabled;
END_IF;
// Network 2: For test (Original Language: SCL)
"CalculatedBottlesRemainigToFill" := "ComSV".TL25_WriteToSv.FromHenkel.SignalExchange.Filler.CalculatedBottlesRemainingToFill;
// Network 3: STATE MACHINE - REMOTE FORMAT CHANGE MANAGEMENT (Original Language: SCL)
//
//
IF "FormatManagementQE1_D".RemoteSelector THEN
"FormatManagementQE1_D".RemoteSelector := FALSE;
"FormatManagementQE1_D".FormatChangeCycle := #FormatChange_Disabled;
END_IF;
CASE "FormatManagementQE1_D".FormatChangeCycle OF
#FormatChange_Disabled: //
IF "FormatManagementQE1_D".RemoteSelector THEN
/*_ERR_Scope_Address_*/ := 0;
/*_ERR_Scope_Address_*/ := 0;
"FormatManagementQE1_D".FormatChangeCycle := #FormatChange_Enabled;
END_IF;
#FormatChange_Enabled: //
IF ("CalculatedBottlesRemainigToFill" = 0) THEN //
//
"ComSV".TL25_WriteToSv.ToAutefa.dw0.x[1] := TRUE;
IF ("DB HMI Recipe Bottle".number_set_data = "FormatManagementQE1_D".NextSku.ProdFamily) AND ("FormatManagementQE1_D".NextSku.ProdFamily <> 0) AND
("FormatManagementQE1_D".AB_IDH_BTL = "FormatManagementQE1_D".NB_IDH_BTL) AND ("DB COM Signal Merger".Input.ActualBottleType = "DB HMI Recipe Bottle".number_set_data) AND
("DB COM Signal Guides".From_Guides.ActualBottleType = "DB HMI Recipe Bottle".number_set_data) THEN
"FormatManagementQE1_D".HMI_PopUp.ShowPopUp := TRUE;
"FormatManagementQE1_D".HMI_PopUp.PageNumber := #PopUp_LineReady;
"FormatManagementQE1_D".FormatChangeCycle := #FormatChange_NotNecessary;
ELSIF
(("DB HMI Recipe Bottle".number_set_data <> "FormatManagementQE1_D".NextSku.ProdFamily)OR("FormatManagementQE1_D".AB_IDH_BTL <> "FormatManagementQE1_D".NB_IDH_BTL)) AND
("FormatManagementQE1_D".NextSku.ProdFamily <> 0) THEN
"FormatManagementQE1_D".HMI_PopUp.ShowPopUp := TRUE;
"FormatManagementQE1_D".HMI_PopUp.PageNumber := #PopUp_EmptyStart;
"FormatManagementQE1_D".FormatChangeCycle := #FormatChange_Emptying;
END_IF;
END_IF;
IF ("CalculatedBottlesRemainigToFill" > 0) AND //
("DB HMI Recipe Bottle".number_set_data = "ComSV".TL25_ReadFromSv.FromAlpla.ActualSku.ProdFamily) AND NOT "ComSV".TL25_WriteToSv.FromHenkel.STW.di0.x[0] THEN
"FormatManagementQE1_D".FormatChangeCycle := #FormatChange_Done;
END_IF;
#FormatChange_Emptying: //
IF "FormatManagementQE1_D".HMI_PopUp.Yes AND ("DB HMI".DBW_2 = #PopUp_EmptyStart) THEN
"FormatManagementQE1_D".EmptyingStart := TRUE;
"FormatManagementQE1_D".HMI_PopUp.ShowPopUp := TRUE;
"FormatManagementQE1_D".HMI_PopUp.PageNumber := #PopUp_EmptyEnd;
ELSIF
"FormatManagementQE1_D".HMI_PopUp.No AND ("DB HMI".DBW_2 = #PopUp_EmptyStart) THEN
"FormatManagementQE1_D".FormatChangeCycle := #FormatChange_Enabled;
END_IF;
IF "ComSV".TL25_WriteToSv.ToSV.STW.QE1.MachineEmpty AND
"ComSV".TL25_WriteToSv.ToSV.STW.Merger.MachineEmpty THEN //
"FormatManagementQE1_D".EmptyingStart := FALSE;
END_IF;
IF NOT "FormatManagementQE1_D".EmptyingStart THEN
IF "FormatManagementQE1_D".HMI_PopUp.Yes AND ("DB HMI".DBW_2 = #PopUp_EmptyEnd) AND
"ComSV".TL25_WriteToSv.FromHenkel.STW.di0.x[0] THEN
"FormatManagementQE1_D".IN_EndFormatManagement := FALSE;
"FormatManagementQE1_D".FormatChangeQE := FALSE;
IF ("DB HMI Recipe Bottle".number_set_data = "FormatManagementQE1_D".NextSku.ProdFamily) THEN
"FormatManagementQE1_D".HMI_PopUp.ShowPopUp := TRUE;
"FormatManagementQE1_D".HMI_PopUp.PageNumber := #PopUp_LineReady;
"FormatManagementQE1_D".FormatChangeCycle := #FormatChange_NotNecessary;
ELSE
"FormatManagementQE1_D".FormatChangeCycle := #FormatChange_InProgress;
END_IF;
ELSIF
"FormatManagementQE1_D".HMI_PopUp.No AND ("DB HMI".DBW_2 = #PopUp_EmptyEnd) THEN
"FormatManagementQE1_D".EmptyingStart := TRUE;
END_IF;
END_IF;
#FormatChange_InProgress: //
IF NOT "FormatManagementQE1_D".EndFormatManagement.Q THEN
"FormatManagementQE1_D".IN_EndFormatManagement := TRUE;
END_IF;
IF ("DB HMI".DBW_36 = 4) THEN
"FormatManagementQE1_D".FormatChangeQE := TRUE;
ELSIF
("DB HMI".DBW_36 = 12) THEN
"FormatManagementQE1_D".LoadRecipeError := TRUE;
"FormatManagementQE1_D".FormatChangeCycle := #FormatChange_Error;
END_IF;
IF "FormatManagementQE1_D".EndFormatManagement.Q AND "FormatManagementQE1_D".FormatChangeQE THEN
IF ("DB COM Signal Merger".Input.ActualBottleType = "DB HMI Recipe Bottle".number_set_data) AND
"Ap_LifterGuideInPositon" THEN //
"FormatManagementQE1_D".HMI_PopUp.ShowPopUp := TRUE;
"FormatManagementQE1_D".FormatChangeQE := FALSE;
"FormatManagementQE1_D".HMI_PopUp.PageNumber := #PopUp_LineReady;
ELSIF
NOT "DB COM Signal Merger".Input.StatusWord.X5 OR NOT "DB COM Signal Guides".From_Guides.StatusWord.Bit_1 ChangeOverInProgress THEN
"FormatManagementQE1_D".LoadRecipeErrorMachine := TRUE;
"FormatManagementQE1_D".FormatChangeCycle := #FormatChange_Error;
END_IF;
END_IF;
IF "FormatManagementQE1_D".HMI_PopUp.Yes AND NOT "FormatManagementQE1_D".HMI_PopUp.ShowPopUp AND
("DB HMI".DBW_2 = #PopUp_LineReady) THEN
"FormatManagementQE1_D".FormatChangeCycle := #FormatChange_Done;
"ComSV".TL25_WriteToSv.ToAlpla.BatchLast := "FormatManagementQE1_D".BatchLast;
//
"FormatManagementQE1_D".IN_EndFormatManagement := FALSE;
ELSIF
"FormatManagementQE1_D".HMI_PopUp.No AND NOT "FormatManagementQE1_D".HMI_PopUp.ShowPopUp AND
("DB HMI".DBW_2 = #PopUp_LineReady) THEN
"FormatManagementQE1_D".IN_EndFormatManagement := FALSE;
END_IF;
#FormatChange_Done: //
"Rt_RestartRemoteFormatChange"/*_ERR_NO_CALLINFO_*/;
IF ("CalculatedBottlesRemainigToFill" > 0) AND "Rt_RestartRemoteFormatChange".Q AND
"ComSV".TL25_WriteToSv.FromHenkel.STW.di0.x[2] THEN //
"FormatManagementQE1_D".FormatChangeCycle := #FormatChange_Enabled;
END_IF;
#FormatChange_NotNecessary: //
IF "FormatManagementQE1_D".HMI_PopUp.Yes AND ("DB HMI".DBW_2 = #PopUp_LineReady) THEN
"ComSV".TL25_WriteToSv.ToAlpla.BatchLast := "FormatManagementQE1_D".BatchLast;
//
"FormatManagementQE1_D".FormatChangeCycle := #FormatChange_Done;
ELSIF
"FormatManagementQE1_D".HMI_PopUp.No AND ("DB HMI".DBW_2 = #PopUp_LineReady) THEN
"FormatManagementQE1_D".RemoteSelector := FALSE;
END_IF;
#FormatChange_Error: //
IF "DB TT Run".TT_Run.IN_PB_Reset THEN
IF "FormatManagementQE1_D".LoadRecipeError THEN
"FormatManagementQE1_D".LoadRecipeError := FALSE;
"FormatManagementQE1_D".FormatChangeCycle := #FormatChange_Enabled;
ELSIF "FormatManagementQE1_D".LoadRecipeErrorMachine AND ("DB COM Signal Merger".Input.ActualBottleType = "DB HMI Recipe Bottle".number_set_data) AND
("DB COM Signal Guides".From_Guides.ActualBottleType = "DB HMI Recipe Bottle".number_set_data) THEN
"FormatManagementQE1_D".LoadRecipeErrorMachine := FALSE;
"FormatManagementQE1_D".FormatChangeCycle := #FormatChange_Done;
ELSIF "FormatManagementQE1_D".LoadRecipeErrorMachine AND ("DB COM Signal Merger".Input.ActualBottleType <> "DB HMI Recipe Bottle".number_set_data) OR
("DB COM Signal Guides".From_Guides.ActualBottleType <> "DB HMI Recipe Bottle".number_set_data) THEN
"FormatManagementQE1_D".FormatChangeCycle := #FormatChange_Enabled;
END_IF;
END_IF;
END_CASE;
"FormatManagementQE1_D".EndFormatManagement./*_ERR_NO_CALLINFO_*/;
//
"DB TT Alarm".A371_23_0 := "FormatManagementQE1_D".LoadRecipeError;
"DB TT Alarm".A371_23_1 := "FormatManagementQE1_D".LoadRecipeErrorMachine;
// Network 4: Format Management Information / Batch Last (Original Language: SCL)
IF ("CalculatedBottlesRemainigToFill" > 0) AND
("FormatManagementQE1_D".FormatChangeCycle = #FormatChange_Done) AND NOT "ComSV".TL25_WriteToSv.FromHenkel.STW.di0.x[0] THEN
"FormatManagementQE1_D".ABBottlesNumber := "ComSV".TL25_WriteToSv.FromHenkel.ABBottlesNumber;
"FormatManagementQE1_D".NBBottlesNumber := "ComSV".TL25_WriteToSv.FromHenkel.NBBottlesNumber;
"FormatManagementQE1_D".AB_IDH_BTL := "ComSV".TL25_WriteToSv.FromHenkel.AB_IDH_BTL;
"FormatManagementQE1_D".NB_IDH_BTL := "ComSV".TL25_WriteToSv.FromHenkel.NB_IDH_BTL;
"FormatManagementQE1_D".PO_NUMBER := "ComSV".TL25_WriteToSv.FromHenkel.PO_NUMBER;
"FormatManagementQE1_D".PO_NUMBER_NEXT := "ComSV".TL25_WriteToSv.FromHenkel.PO_NUMBER_NEXT;
"FormatManagementQE1_D".NextSku := "ComSV".TL25_ReadFromSv.FromAlpla.NextSku;
"FormatManagementQE1_D".ActualSku := "ComSV".TL25_ReadFromSv.FromAlpla.ActualSku;
//
"FormatManagementQE1_D".BatchLast.CustomArticleNum := "ComSV".TL25_ReadFromSv.FromAlpla.ActualSku.CustomArticleNum;
"FormatManagementQE1_D".BatchLast.BottlesNumber := "ComSV".TL25_WriteToSv.FromHenkel.ABBottlesNumber;
/*_ERR_NO_CALLINFO_*/;
"FormatManagementQE1_D".BatchLast.CounterSideGripDosingBelt := "ComSV".TL25_WriteToSv.ToHenkel.Counter.SideGripDosingBelt;
"FormatManagementQE1_D".BatchLast.CounterInfeedFiller := "ComSV".TL25_WriteToSv.ToHenkel.Counter.InfeedFiller;
ELSIF
("FormatManagementQE1_D".FormatChangeCycle = #FormatChange_Disabled) AND ("CalculatedBottlesRemainigToFill" > 0) THEN
"FormatManagementQE1_D".ABBottlesNumber := "ComSV".TL25_WriteToSv.FromHenkel.ABBottlesNumber;
"FormatManagementQE1_D".NBBottlesNumber := "ComSV".TL25_WriteToSv.FromHenkel.NBBottlesNumber;
"FormatManagementQE1_D".AB_IDH_BTL := "ComSV".TL25_WriteToSv.FromHenkel.AB_IDH_BTL;
"FormatManagementQE1_D".NB_IDH_BTL := "ComSV".TL25_WriteToSv.FromHenkel.NB_IDH_BTL;
"FormatManagementQE1_D".PO_NUMBER := "ComSV".TL25_WriteToSv.FromHenkel.PO_NUMBER;
"FormatManagementQE1_D".PO_NUMBER_NEXT := "ComSV".TL25_WriteToSv.FromHenkel.PO_NUMBER_NEXT;
"FormatManagementQE1_D".NextSku := "ComSV".TL25_ReadFromSv.FromAlpla.NextSku;
"FormatManagementQE1_D".ActualSku := "ComSV".TL25_ReadFromSv.FromAlpla.ActualSku;
//
"FormatManagementQE1_D".BatchLast.CustomArticleNum := "ComSV".TL25_ReadFromSv.FromAlpla.ActualSku.CustomArticleNum;
"FormatManagementQE1_D".BatchLast.BottlesNumber := "ComSV".TL25_WriteToSv.FromHenkel.ABBottlesNumber;
/*_ERR_NO_CALLINFO_*/;
"FormatManagementQE1_D".BatchLast.CounterSideGripDosingBelt := "ComSV".TL25_WriteToSv.ToHenkel.Counter.SideGripDosingBelt;
"FormatManagementQE1_D".BatchLast.CounterInfeedFiller := "ComSV".TL25_WriteToSv.ToHenkel.Counter.InfeedFiller;
END_IF;
// Network 5: EndFormatChangeLine (Original Language: LAD)
#TON_INSTANCE_31(IN := "ComSV"."TL25_WriteToSv"."ToSV"."STW"."QE1"."ChangeoverDone" AND "ComSV"."TL25_WriteToSv"."ToSV"."STW"."QE2"."ChangeoverDone" AND Eq("DB COM Signal Guides"."From_Guides"."ActualBottleType", "DB HMI Recipe Bottle"."number_set_data"), PT := T#3s); // TODO: Declarar #TON_INSTANCE_31 : TON;
// Network 6: Format Management Line (Original Language: SCL)
//
//
//
"FormatManagementQE1_D".OnsR_EndFormatChangeLine := "FormatManagementQE1_D".EndFormatChangeLine.Q;
IF ("ComSV".TL25_WriteToSv.ToSV.STW.QE1.ChangeoverInProgress OR "ComSV".TL25_WriteToSv.ToSV.STW.QE2.ChangeoverInProgress) AND "ComSV".TL25_ReadFromSv.FromAutefa.dw0.x[24] THEN
"ComSV".TL25_WriteToSv.ToHenkel.LineStatus.di0.x[0] := TRUE;
ELSE
"ComSV".TL25_WriteToSv.ToHenkel.LineStatus.di0.x[0] := FALSE;
END_IF;
IF ("FormatManagementQE1_D".OnsR_EndFormatChangeLine AND "ComSV".TL25_ReadFromSv.FromAutefa.dw0.x[25] AND NOT "ComSV".TL25_WriteToSv.FromHenkel.STW.di0.x[2]) THEN
"ComSV".TL25_WriteToSv.ToHenkel.LineStatus.di0.x[1] := TRUE;
"ComSV".TL25_WriteToSv.ToAutefa.dw0.x[1] := FALSE;
ELSE
"ComSV".TL25_WriteToSv.ToHenkel.LineStatus.di0.x[1] := FALSE;
END_IF;
//
IF "ComSV".TL25_WriteToSv.ToAutefa.dw0.x[1] AND NOT "ComSV".TL25_ReadFromSv.FromAutefa.dw0.x[24] THEN
"DB Warnings".W173_03_0 := TRUE;
ELSIF
"ComSV".TL25_WriteToSv.ToAutefa.dw0.x[1] AND "ComSV".TL25_ReadFromSv.FromAutefa.dw0.x[24] THEN
"DB Warnings".W173_03_0 := FALSE;
"DB Warnings".W173_03_1 := TRUE;
ELSIF
"ComSV".TL25_ReadFromSv.FromAutefa.dw0.x[24] THEN
"DB Warnings".W173_03_1 := FALSE;
END_IF;
// Network 7: Load Remote Recipe (Original Language: SCL)
"Rt_LoadRemoteRecipe"/*_ERR_NO_CALLINFO_*/;
IF "Rt_LoadRemoteRecipe".Q THEN
"DB HMI".DBW_36 := 0;
"DB HMI".DBW_12 := 2;
"DB HMI".DBW_14 := /*_ERR_NO_CALLINFO_*/;
"DB HMI".DBW_16 := 0;
"DB HMI".DBW_10 := 70;
END_IF;
IF ("DB HMI".DBW_36 = 4) OR ("DB HMI".DBW_36 = 12) AND
("DB HMI".DBW_10 = 70) THEN
"DB HMI".DBW_10 := 0;
"DB HMI".DBW_12 := 0;
"DB HMI".DBW_14 := 0;
"DB HMI".DBW_16 := 0;
END_IF;
// Network 8: PopUp Remote HMI (Original Language: SCL)
"Rt_PopUp_RemoteFormatChange"/*_ERR_NO_CALLINFO_*/;
IF "Rt_PopUp_RemoteFormatChange".Q THEN
"DB HMI".DBW_12 := "FormatManagementQE1_D".HMI_PopUp.PageNumber;
"DB HMI".DBW_14 := 0;
"DB HMI".DBW_16 := 0;
"DB HMI".DBW_10 := 51;
"FormatManagementQE1_D".HMI_PopUp.PageNumber := 0;
"FormatManagementQE1_D".HMI_PopUp.ShowPopUp := FALSE;
"FormatManagementQE1_D".HMI_PopUp.Yes := FALSE;
"FormatManagementQE1_D".HMI_PopUp.No := FALSE;
END_IF;
IF ("DB HMI".DBW_2 = "FormatManagementQE1_D".HMI_PopUp.PageNumber) AND
("DB HMI".DBW_10 = 51) THEN
"DB HMI".DBW_10 := 0;
"DB HMI".DBW_12 := 0;
"DB HMI".DBW_14 := 0;
"DB HMI".DBW_16 := 0;
END_IF;
END_FUNCTION