ParamManagerScripts/backend/script_groups/XML Parser to SCL/.example/FormatManagementQE1_G.scl

288 lines
16 KiB
Plaintext

// Block Type: FC
// Block Number: 800
// Original Network Languages: SCL, LAD
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
#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 := /*_ERR_NO_SYMBOL_IN_LocalConstant_*/;
ELSIF "Rt_Enable_RemoteFormatChange".Q THEN
"FormatManagementQE1_D".FormatChangeCycle := /*_ERR_NO_SYMBOL_IN_LocalConstant_*/;
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 := /*_ERR_NO_SYMBOL_IN_LocalConstant_*/;
END_IF;
CASE "FormatManagementQE1_D".FormatChangeCycle OF
/*_ERR_NO_SYMBOL_IN_LocalConstant_*/: //
IF "FormatManagementQE1_D".RemoteSelector THEN
/*_ERR_Scope_Address_*/ := 0;
/*_ERR_Scope_Address_*/ := 0;
"FormatManagementQE1_D".FormatChangeCycle := /*_ERR_NO_SYMBOL_IN_LocalConstant_*/;
END_IF;
/*_ERR_NO_SYMBOL_IN_LocalConstant_*/: //
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 := /*_ERR_NO_SYMBOL_IN_LocalConstant_*/;
"FormatManagementQE1_D".FormatChangeCycle := /*_ERR_NO_SYMBOL_IN_LocalConstant_*/;
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 := /*_ERR_NO_SYMBOL_IN_LocalConstant_*/;
"FormatManagementQE1_D".FormatChangeCycle := /*_ERR_NO_SYMBOL_IN_LocalConstant_*/;
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 := /*_ERR_NO_SYMBOL_IN_LocalConstant_*/;
END_IF;
/*_ERR_NO_SYMBOL_IN_LocalConstant_*/: //
IF "FormatManagementQE1_D".HMI_PopUp.Yes AND ("DB HMI".DBW_2 = /*_ERR_NO_SYMBOL_IN_LocalConstant_*/) THEN
"FormatManagementQE1_D".EmptyingStart := TRUE;
"FormatManagementQE1_D".HMI_PopUp.ShowPopUp := TRUE;
"FormatManagementQE1_D".HMI_PopUp.PageNumber := /*_ERR_NO_SYMBOL_IN_LocalConstant_*/;
ELSIF
"FormatManagementQE1_D".HMI_PopUp.No AND ("DB HMI".DBW_2 = /*_ERR_NO_SYMBOL_IN_LocalConstant_*/) THEN
"FormatManagementQE1_D".FormatChangeCycle := /*_ERR_NO_SYMBOL_IN_LocalConstant_*/;
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 = /*_ERR_NO_SYMBOL_IN_LocalConstant_*/) 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 := /*_ERR_NO_SYMBOL_IN_LocalConstant_*/;
"FormatManagementQE1_D".FormatChangeCycle := /*_ERR_NO_SYMBOL_IN_LocalConstant_*/;
ELSE
"FormatManagementQE1_D".FormatChangeCycle := /*_ERR_NO_SYMBOL_IN_LocalConstant_*/;
END_IF;
ELSIF
"FormatManagementQE1_D".HMI_PopUp.No AND ("DB HMI".DBW_2 = /*_ERR_NO_SYMBOL_IN_LocalConstant_*/) THEN
"FormatManagementQE1_D".EmptyingStart := TRUE;
END_IF;
END_IF;
/*_ERR_NO_SYMBOL_IN_LocalConstant_*/: //
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 := /*_ERR_NO_SYMBOL_IN_LocalConstant_*/;
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 := /*_ERR_NO_SYMBOL_IN_LocalConstant_*/;
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 := /*_ERR_NO_SYMBOL_IN_LocalConstant_*/;
END_IF;
END_IF;
IF "FormatManagementQE1_D".HMI_PopUp.Yes AND NOT "FormatManagementQE1_D".HMI_PopUp.ShowPopUp AND
("DB HMI".DBW_2 = /*_ERR_NO_SYMBOL_IN_LocalConstant_*/) THEN
"FormatManagementQE1_D".FormatChangeCycle := /*_ERR_NO_SYMBOL_IN_LocalConstant_*/;
"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 = /*_ERR_NO_SYMBOL_IN_LocalConstant_*/) THEN
"FormatManagementQE1_D".IN_EndFormatManagement := FALSE;
END_IF;
/*_ERR_NO_SYMBOL_IN_LocalConstant_*/: //
"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 := /*_ERR_NO_SYMBOL_IN_LocalConstant_*/;
END_IF;
/*_ERR_NO_SYMBOL_IN_LocalConstant_*/: //
IF "FormatManagementQE1_D".HMI_PopUp.Yes AND ("DB HMI".DBW_2 = /*_ERR_NO_SYMBOL_IN_LocalConstant_*/) THEN
"ComSV".TL25_WriteToSv.ToAlpla.BatchLast := "FormatManagementQE1_D".BatchLast;
//
"FormatManagementQE1_D".FormatChangeCycle := /*_ERR_NO_SYMBOL_IN_LocalConstant_*/;
ELSIF
"FormatManagementQE1_D".HMI_PopUp.No AND ("DB HMI".DBW_2 = /*_ERR_NO_SYMBOL_IN_LocalConstant_*/) THEN
"FormatManagementQE1_D".RemoteSelector := FALSE;
END_IF;
/*_ERR_NO_SYMBOL_IN_LocalConstant_*/: //
IF "DB TT Run".TT_Run.IN_PB_Reset THEN
IF "FormatManagementQE1_D".LoadRecipeError THEN
"FormatManagementQE1_D".LoadRecipeError := FALSE;
"FormatManagementQE1_D".FormatChangeCycle := /*_ERR_NO_SYMBOL_IN_LocalConstant_*/;
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 := /*_ERR_NO_SYMBOL_IN_LocalConstant_*/;
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 := /*_ERR_NO_SYMBOL_IN_LocalConstant_*/;
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 = /*_ERR_NO_SYMBOL_IN_LocalConstant_*/) 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 = /*_ERR_NO_SYMBOL_IN_LocalConstant_*/) 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