{
    S7_Author := "AketzaBarragues";
    S7_BlockComment := "MLC_3Tz";
    S7_BlockNumber := "15155";
    S7_BlockTitle := "MLC_iG";
    S7_Family := "ZeusControl";
    S7_GenerateENOforSCL := "TRUE";
    S7_Optimized := "TRUE";
    S7_PreferredLanguage := "LAD";
    S7_Version := "1.0"
}
FUNCTION_BLOCK "FB15155_ZC_DOSIF_SI70_GARRAFAS"
    VAR_INPUT
        { S7_MLC := "MLC_3iD" }
        Pulso1Seg : Bool;
        { S7_MLC := "MLC_f8" }
        OrdenMarcha : Bool;
        { S7_MLC := "MLC_39K" }
        EstadoMarcha : Bool;
        { S7_MLC := "MLC_xU" }
        EtapaSecAuto : Bool;
        { S7_MLC := "MLC_3bV" }
        BotonAceptar : Bool;
        { S7_MLC := "MLC_4XJ" }
        NumeroGarrafas : Int := 1;
        { S7_MLC := "MLC_4T5" }
        SP_TiempoAperturaCamino : Int := 2;
        { S7_MLC := "MLC_3in" }
        SP_TiempoDosifSI70 : Int;
        { S7_MLC := "MLC_4uT" }
        SP_TiempoEmpuje : Int;
        { S7_MLC := "MLC_XA" }
        SP_TiempoAclarado : Int;
        { S7_MLC := "MLC_3Ce" }
        EstadoBombaDosif : Bool;
    END_VAR
    VAR_OUTPUT
        { S7_MLC := "MLC_52Y" }
        DosifCompletada : Bool;
        { S7_MLC := "MLC_3XE" }
        AperturaCamino : Bool := FALSE;
        { S7_MLC := "MLC_3Lg" }
        Dosificacion : Bool := FALSE;
        { S7_MLC := "MLC_4JL" }
        Empuje : Bool := FALSE;
        { S7_MLC := "MLC_3U8" }
        Aclarado : Bool := FALSE;
        { S7_MLC := "MLC_3CA" }
        VisibilidadGarrafa1 : Bool := FALSE;
        { S7_MLC := "MLC_Mq" }
        VisibilidadGarrafa2 : Bool := FALSE;
        { S7_MLC := "MLC_3Mh" }
        TextoEtapa : String[80] := 'REPOSO';
    END_VAR
    VAR RETAIN
        { S7_MLC := "MLC_3Sq" }
        s_EtapaDosificacion : Int;
    END_VAR
    VAR
        s_Pulsos : Array[0..7] of Bool;
    END_VAR
    VAR RETAIN
        s_TiempoEtapa : STRUCT
            { S7_MLC := "MLC_3ZH" }
            Activar : Bool;
            { S7_MLC := "MLC_RG" }
            Cumplido : Bool;
            { S7_MLC := "MLC_4Zm" }
            Actual : Int;
            { S7_MLC := "MLC_4f5" }
            SP : Int;
            { S7_MLC := "MLC_3SQ" }
            Restante : Int;
        END_STRUCT;
    END_VAR
    VAR CONSTANT
        ETAPA_REPOSO : Int := 0;
        ETAPA_ACEPTAR_GARRAFA_1 : Int := 5;
        ETAPA_APERTURA_CAMINO_1 : Int := 10;
        ETAPA_DOSIF_1 : Int := 15;
        ETAPA_EMPUJE_1 : Int := 20;
        ETAPA_ACLARADO_1 : Int := 25;
        ETAPA_ACEPTAR_GARRAFA_2 : Int := 105;
        ETAPA_APERTURA_CAMINO_2 : Int := 110;
        ETAPA_DOSIF_2 : Int := 115;
        ETAPA_EMPUJE_2 : Int := 120;
        ETAPA_ACLARADO_2 : Int := 125;
        ETAPA_FIN_DOSIF : Int := 500;
    END_VAR

    {
        S7_Language := "SCL";
        S7_NetworkTitle := "MLC_uC"
    }
    NETWORK
        (*
        ============================================================================
         ZEUS CONTROL, S.A.
         (c)Copyright (2022) All Rights Reserved
         -----------------------------------------------------------------------------
        
         Software:       TIA Portal 16
         Restricciones:  PLC serie 1200/1500
        
        
         Nombre:         ZC_STD_Dosificacion_SI70_Garragas
         Descripcion:    Bloque de gestion de dosificacion de detergentes SI-70 mediante garrafas
        
         Change log:
         
             Version     Fecha       Tecnico a cargo
             
             01.00.00    19.05.2023  (ABH)   Primera version
             01.00.01    23.06.2023  (ABH)   Se modifica FB para añadir gestion de garrafas
             01.00.02    23.06.2023  (ABH)   Se modifica FB para añadir salida apertura camino.
                                             Se añade Texto etapa como output.
             01.00.03    29.10.2025  (ABH)   Se añade tiempo restante a textos de etapa.
             
         ============================================================================
         *)
    END_NETWORK
    {
        S7_Language := "SCL";
        S7_NetworkTitle := "MLC_4Ur"
    }
    NETWORK
        CASE #s_EtapaDosificacion OF
            #ETAPA_REPOSO:
                #TextoEtapa := 'REPOSO';
            #ETAPA_ACEPTAR_GARRAFA_1:
                #TextoEtapa := 'ESPERA ACEPTAR PRIMERA GARRAFA';
            #ETAPA_APERTURA_CAMINO_1:
                #TextoEtapa := 'APERTURA CAMINO PRIMERA GARRAFA';
            #ETAPA_DOSIF_1:
                #TextoEtapa := CONCAT_STRING(IN1 := 'DOSIFICACION SI-70 PRIMERA GARRAFA - ',
                                             IN2 := "FC15001_ZC_INT_TO_STRING"(#s_TiempoEtapa.Restante),
                                             IN3 := ' s');
            #ETAPA_EMPUJE_1:
                #TextoEtapa := CONCAT_STRING(IN1 := 'EMPUJE PRIMERA GARRAFA - ',
                                             IN2 := "FC15001_ZC_INT_TO_STRING"(#s_TiempoEtapa.Restante),
                                             IN3 := ' s');
            #ETAPA_ACLARADO_1:
                #TextoEtapa := CONCAT_STRING(IN1 := 'ACLARADO PRIMERA GARRAFA - ',
                                             IN2 := "FC15001_ZC_INT_TO_STRING"(#s_TiempoEtapa.Restante),
                                             IN3 := ' s');
            #ETAPA_ACEPTAR_GARRAFA_2:
                #TextoEtapa := 'ESPERA ACEPTAR SEGUNDA GARRAFA';
            #ETAPA_APERTURA_CAMINO_2:
                #TextoEtapa := 'APERTURA CAMINO SEGUNDA GARRAFA';
            #ETAPA_DOSIF_2:
                #TextoEtapa := CONCAT_STRING(IN1 := 'DOSIFICACION SI-70 SEGUNDA GARRAFA - ',
                                             IN2 := "FC15001_ZC_INT_TO_STRING"(#s_TiempoEtapa.Restante),
                                             IN3 := ' s');
            #ETAPA_EMPUJE_2:
                #TextoEtapa := CONCAT_STRING(IN1 := 'EMPUJE SEGUNDA GARRAFA - ',
                                             IN2 := "FC15001_ZC_INT_TO_STRING"(#s_TiempoEtapa.Restante),
                                             IN3 := ' s');
            #ETAPA_ACLARADO_2:
                #TextoEtapa := CONCAT_STRING(IN1 := 'ACLARADO SEGUNDA GARRAFA - ',
                                             IN2 := "FC15001_ZC_INT_TO_STRING"(#s_TiempoEtapa.Restante),
                                             IN3 := ' s');
            #ETAPA_FIN_DOSIF:
                #TextoEtapa := 'FIN DOSIFICACION';
                
            ELSE
                #TextoEtapa := 'FUERA DE PASO';
        END_CASE;
    END_NETWORK
    {
        S7_Language := "LAD";
        S7_NetworkTitle := "MLC_4Ue"
    }
    NETWORK
        RUNG wire#powerrail
            I_Contact( #EtapaSecAuto )
            wire#w1
            { S7_Templates := "SrcType := Int" }
            EQ_Contact(
                in1 := #s_EtapaDosificacion,
                in2 := #ETAPA_ACEPTAR_GARRAFA_1
            )
            wire#w2
            Move(
                in := 0,
                out1 => #s_EtapaDosificacion
            )
        END_RUNG
        RUNG wire#w1
            { S7_Templates := "SrcType := Int" }
            EQ_Contact(
                in1 := #s_EtapaDosificacion,
                in2 := #ETAPA_ACEPTAR_GARRAFA_2
            )
        END_RUNG wire#w2
        RUNG wire#w1
            { S7_Templates := "SrcType := Int" }
            EQ_Contact(
                in1 := #s_EtapaDosificacion,
                in2 := #ETAPA_FIN_DOSIF
            )
        END_RUNG wire#w2
        RUNG wire#w1
            { S7_Templates := "SrcType := Int" }
            EQ_Contact(
                in1 := #s_EtapaDosificacion,
                in2 := #ETAPA_DOSIF_1
            )
            wire#w3
            Move(
                in := 15,
                out1 => #s_EtapaDosificacion
            )
        END_RUNG
        RUNG wire#w1
            { S7_Templates := "SrcType := Int" }
            EQ_Contact(
                in1 := #s_EtapaDosificacion,
                in2 := #ETAPA_DOSIF_2
            )
        END_RUNG wire#w3
    END_NETWORK
    {
        S7_Language := "LAD";
        S7_NetworkTitle := "MLC_4QU"
    }
    NETWORK
        RUNG wire#powerrail
        END_RUNG
    END_NETWORK
    {
        S7_Language := "LAD";
        S7_NetworkTitle := "MLC_yh"
    }
    NETWORK
        RUNG wire#powerrail
            { S7_Templates := "SrcType := Int" }
            EQ_Contact(
                in1 := #s_EtapaDosificacion,
                in2 := #ETAPA_REPOSO
            )
            Contact( #EtapaSecAuto )
            Contact( #OrdenMarcha )
            wire#w1
            { S7_Templates := "SrcType := Int" }
            NE_Contact(
                in1 := #SP_TiempoDosifSI70,
                in2 := 0
            )
            Move(
                in := #ETAPA_ACEPTAR_GARRAFA_1,
                out1 => #s_EtapaDosificacion
            )
            Move(
                in := 0,
                out1 => #s_TiempoEtapa.Actual
            )
        END_RUNG
        RUNG wire#w1
            { S7_Templates := "SrcType := Int" }
            EQ_Contact(
                in1 := #SP_TiempoDosifSI70,
                in2 := 0
            )
            Move(
                in := #ETAPA_FIN_DOSIF,
                out1 => #s_EtapaDosificacion
            )
            Move(
                in := 0,
                out1 => #s_TiempoEtapa.Actual
            )
        END_RUNG
    END_NETWORK
    {
        S7_Language := "LAD";
        S7_NetworkTitle := "MLC_4tt"
    }
    NETWORK
        RUNG wire#powerrail
            { S7_Templates := "SrcType := Int" }
            EQ_Contact(
                in1 := #s_EtapaDosificacion,
                in2 := #ETAPA_ACEPTAR_GARRAFA_1
            )
            wire#w1
            R_Coil( #s_TiempoEtapa.Activar )
        END_RUNG
        RUNG wire#w1
            Contact( #BotonAceptar )
            Move(
                in := #ETAPA_APERTURA_CAMINO_1,
                out1 => #s_EtapaDosificacion
            )
            Move(
                in := 0,
                out1 => #s_TiempoEtapa.Actual
            )
        END_RUNG
    END_NETWORK
    {
        S7_Language := "LAD";
        S7_NetworkTitle := "MLC_4tG"
    }
    NETWORK
        RUNG wire#powerrail
            { S7_Templates := "SrcType := Int" }
            EQ_Contact(
                in1 := #s_EtapaDosificacion,
                in2 := #ETAPA_APERTURA_CAMINO_1
            )
            wire#w1
            P_Trig( #s_Pulsos[0] )
            Move(
                in := #SP_TiempoAperturaCamino,
                out1 => #s_TiempoEtapa.SP
            )
        END_RUNG
        RUNG wire#w1
            S_Coil( #s_TiempoEtapa.Activar )
        END_RUNG
        RUNG wire#w1
            { S7_Templates := "SrcType := Int" }
            GE_Contact(
                in1 := #s_TiempoEtapa.Actual,
                in2 := #s_TiempoEtapa.SP
            )
            Move(
                in := #ETAPA_DOSIF_1,
                out1 => #s_EtapaDosificacion
            )
            Move(
                in := 0,
                out1 => #s_TiempoEtapa.Actual
            )
        END_RUNG
    END_NETWORK
    {
        S7_Language := "LAD";
        S7_NetworkTitle := "MLC_4Nh"
    }
    NETWORK
        RUNG wire#powerrail
            { S7_Templates := "SrcType := Int" }
            EQ_Contact(
                in1 := #s_EtapaDosificacion,
                in2 := #ETAPA_DOSIF_1
            )
            wire#w1
            P_Trig( #s_Pulsos[1] )
            Move(
                in := #SP_TiempoDosifSI70,
                out1 => #s_TiempoEtapa.SP
            )
        END_RUNG
        RUNG wire#w1
            Contact( #EstadoBombaDosif )
            S_Coil( #s_TiempoEtapa.Activar )
        END_RUNG
        RUNG wire#w1
            { S7_Templates := "SrcType := Int" }
            GE_Contact(
                in1 := #s_TiempoEtapa.Actual,
                in2 := #s_TiempoEtapa.SP
            )
            Move(
                in := #ETAPA_EMPUJE_1,
                out1 => #s_EtapaDosificacion
            )
            Move(
                in := 0,
                out1 => #s_TiempoEtapa.Actual
            )
        END_RUNG
    END_NETWORK
    {
        S7_Language := "LAD";
        S7_NetworkTitle := "MLC_uy"
    }
    NETWORK
        RUNG wire#powerrail
            { S7_Templates := "SrcType := Int" }
            EQ_Contact(
                in1 := #s_EtapaDosificacion,
                in2 := #ETAPA_EMPUJE_1
            )
            wire#w1
            P_Trig( #s_Pulsos[2] )
            Move(
                in := #SP_TiempoEmpuje,
                out1 => #s_TiempoEtapa.SP
            )
        END_RUNG
        RUNG wire#w1
            S_Coil( #s_TiempoEtapa.Activar )
        END_RUNG
        RUNG wire#w1
            { S7_Templates := "SrcType := Int" }
            GE_Contact(
                in1 := #s_TiempoEtapa.Actual,
                in2 := #s_TiempoEtapa.SP
            )
            Move(
                in := #ETAPA_ACLARADO_1,
                out1 => #s_EtapaDosificacion
            )
            Move(
                in := 0,
                out1 => #s_TiempoEtapa.Actual
            )
        END_RUNG
    END_NETWORK
    {
        S7_Language := "LAD";
        S7_NetworkTitle := "MLC_4sg"
    }
    NETWORK
        RUNG wire#powerrail
            { S7_Templates := "SrcType := Int" }
            EQ_Contact(
                in1 := #s_EtapaDosificacion,
                in2 := #ETAPA_ACLARADO_1
            )
            wire#w1
            P_Trig( #s_Pulsos[3] )
            Move(
                in := #SP_TiempoAclarado,
                out1 => #s_TiempoEtapa.SP
            )
        END_RUNG
        RUNG wire#w1
            S_Coil( #s_TiempoEtapa.Activar )
        END_RUNG
        RUNG wire#w1
            { S7_Templates := "SrcType := Int" }
            GE_Contact(
                in1 := #s_TiempoEtapa.Actual,
                in2 := #s_TiempoEtapa.SP
            )
            wire#w2
            { S7_Templates := "SrcType := Int" }
            LE_Contact(
                in1 := #NumeroGarrafas,
                in2 := 1
            )
            Move(
                in := #ETAPA_FIN_DOSIF,
                out1 => #s_EtapaDosificacion
            )
            Move(
                in := 0,
                out1 => #s_TiempoEtapa.Actual
            )
        END_RUNG
        RUNG wire#w2
            { S7_Templates := "SrcType := Int" }
            GT_Contact(
                in1 := #NumeroGarrafas,
                in2 := 1
            )
            Move(
                in := #ETAPA_ACEPTAR_GARRAFA_2,
                out1 => #s_EtapaDosificacion
            )
            Move(
                in := 0,
                out1 => #s_TiempoEtapa.Actual
            )
        END_RUNG
    END_NETWORK
    {
        S7_Language := "LAD";
        S7_NetworkTitle := "MLC_4ur"
    }
    NETWORK
        RUNG wire#powerrail
            { S7_Templates := "SrcType := Int" }
            EQ_Contact(
                in1 := #s_EtapaDosificacion,
                in2 := #ETAPA_ACEPTAR_GARRAFA_2
            )
            wire#w1
            R_Coil( #s_TiempoEtapa.Activar )
        END_RUNG
        RUNG wire#w1
            Contact( #BotonAceptar )
            Move(
                in := #ETAPA_APERTURA_CAMINO_2,
                out1 => #s_EtapaDosificacion
            )
            Move(
                in := 0,
                out1 => #s_TiempoEtapa.Actual
            )
        END_RUNG
    END_NETWORK
    {
        S7_Language := "LAD";
        S7_NetworkTitle := "MLC_4yF"
    }
    NETWORK
        RUNG wire#powerrail
            { S7_Templates := "SrcType := Int" }
            EQ_Contact(
                in1 := #s_EtapaDosificacion,
                in2 := #ETAPA_APERTURA_CAMINO_2
            )
            wire#w1
            P_Trig( #s_Pulsos[4] )
            Move(
                in := #SP_TiempoAperturaCamino,
                out1 => #s_TiempoEtapa.SP
            )
        END_RUNG
        RUNG wire#w1
            S_Coil( #s_TiempoEtapa.Activar )
        END_RUNG
        RUNG wire#w1
            { S7_Templates := "SrcType := Int" }
            GE_Contact(
                in1 := #s_TiempoEtapa.Actual,
                in2 := #s_TiempoEtapa.SP
            )
            Move(
                in := #ETAPA_DOSIF_2,
                out1 => #s_EtapaDosificacion
            )
            Move(
                in := 0,
                out1 => #s_TiempoEtapa.Actual
            )
        END_RUNG
    END_NETWORK
    {
        S7_Language := "LAD";
        S7_NetworkTitle := "MLC_58j"
    }
    NETWORK
        RUNG wire#powerrail
            { S7_Templates := "SrcType := Int" }
            EQ_Contact(
                in1 := #s_EtapaDosificacion,
                in2 := #ETAPA_DOSIF_2
            )
            wire#w1
            P_Trig( #s_Pulsos[5] )
            Move(
                in := #SP_TiempoDosifSI70,
                out1 => #s_TiempoEtapa.SP
            )
        END_RUNG
        RUNG wire#w1
            Contact( #EstadoBombaDosif )
            S_Coil( #s_TiempoEtapa.Activar )
        END_RUNG
        RUNG wire#w1
            { S7_Templates := "SrcType := Int" }
            GE_Contact(
                in1 := #s_TiempoEtapa.Actual,
                in2 := #s_TiempoEtapa.SP
            )
            Move(
                in := #ETAPA_EMPUJE_2,
                out1 => #s_EtapaDosificacion
            )
            Move(
                in := 0,
                out1 => #s_TiempoEtapa.Actual
            )
        END_RUNG
    END_NETWORK
    {
        S7_Language := "LAD";
        S7_NetworkTitle := "MLC_4gA"
    }
    NETWORK
        RUNG wire#powerrail
            { S7_Templates := "SrcType := Int" }
            EQ_Contact(
                in1 := #s_EtapaDosificacion,
                in2 := #ETAPA_EMPUJE_2
            )
            wire#w1
            P_Trig( #s_Pulsos[6] )
            Move(
                in := #SP_TiempoEmpuje,
                out1 => #s_TiempoEtapa.SP
            )
        END_RUNG
        RUNG wire#w1
            S_Coil( #s_TiempoEtapa.Activar )
        END_RUNG
        RUNG wire#w1
            { S7_Templates := "SrcType := Int" }
            GE_Contact(
                in1 := #s_TiempoEtapa.Actual,
                in2 := #s_TiempoEtapa.SP
            )
            Move(
                in := #ETAPA_ACLARADO_2,
                out1 => #s_EtapaDosificacion
            )
            Move(
                in := 0,
                out1 => #s_TiempoEtapa.Actual
            )
        END_RUNG
    END_NETWORK
    {
        S7_Language := "LAD";
        S7_NetworkTitle := "MLC_3wf"
    }
    NETWORK
        RUNG wire#powerrail
            { S7_Templates := "SrcType := Int" }
            EQ_Contact(
                in1 := #s_EtapaDosificacion,
                in2 := #ETAPA_ACLARADO_2
            )
            wire#w1
            P_Trig( #s_Pulsos[7] )
            Move(
                in := #SP_TiempoAclarado,
                out1 => #s_TiempoEtapa.SP
            )
        END_RUNG
        RUNG wire#w1
            S_Coil( #s_TiempoEtapa.Activar )
        END_RUNG
        RUNG wire#w1
            { S7_Templates := "SrcType := Int" }
            GE_Contact(
                in1 := #s_TiempoEtapa.Actual,
                in2 := #s_TiempoEtapa.SP
            )
            Move(
                in := #ETAPA_FIN_DOSIF,
                out1 => #s_EtapaDosificacion
            )
            Move(
                in := 0,
                out1 => #s_TiempoEtapa.Actual
            )
        END_RUNG
    END_NETWORK
    {
        S7_Language := "LAD";
        S7_NetworkTitle := "MLC_4se"
    }
    NETWORK
        RUNG wire#powerrail
            { S7_Templates := "SrcType := Int" }
            EQ_Contact(
                in1 := #s_EtapaDosificacion,
                in2 := 500
            )
            Coil( #DosifCompletada )
        END_RUNG
    END_NETWORK
    {
        S7_Language := "LAD";
        S7_NetworkTitle := "MLC_59G"
    }
    NETWORK
        RUNG wire#powerrail
        END_RUNG
    END_NETWORK
    {
        S7_Language := "LAD";
        S7_NetworkTitle := "MLC_4jS"
    }
    NETWORK
        RUNG wire#powerrail
            Contact( #s_TiempoEtapa.Activar )
            wire#w1
            Contact( #Pulso1Seg )
            { S7_Templates := "SrcType := Int" }
            LE_Contact(
                in1 := #s_TiempoEtapa.SP,
                in2 := 32000
            )
            Contact( #EstadoMarcha )
            { S7_Templates := "DestType := Int" }
            Inc( #s_TiempoEtapa.Actual )
        END_RUNG
        RUNG wire#w1
            { S7_Templates := "SrcType := Int" }
            GE_Contact(
                in1 := #s_TiempoEtapa.Actual,
                in2 := #s_TiempoEtapa.SP
            )
            Coil( #s_TiempoEtapa.Cumplido )
        END_RUNG
        RUNG wire#w1
            R_Coil( #s_TiempoEtapa.Activar )
        END_RUNG
        RUNG wire#powerrail
            Sub(
                in1 := #s_TiempoEtapa.SP,
                in2 := #s_TiempoEtapa.Actual,
                out => #s_TiempoEtapa.Restante
            )
            { S7_Templates := "SrcType := Int" }
            LT_Contact(
                in1 := #s_TiempoEtapa.Restante,
                in2 := 0
            )
            Move(
                in := 0,
                out1 => #s_TiempoEtapa.Restante
            )
        END_RUNG
    END_NETWORK
    {
        S7_Language := "LAD";
        S7_NetworkTitle := "MLC_4Dc"
    }
    NETWORK
        RUNG wire#powerrail
        END_RUNG
    END_NETWORK
    {
        S7_Language := "LAD";
        S7_NetworkTitle := "MLC_54k"
    }
    NETWORK
        RUNG wire#powerrail
            { S7_Templates := "SrcType := Int" }
            GE_Contact(
                in1 := #s_EtapaDosificacion,
                in2 := 10
            )
            { S7_Templates := "SrcType := Int" }
            LE_Contact(
                in1 := #s_EtapaDosificacion,
                in2 := 15
            )
            wire#w1
            Coil( #Dosificacion )
        END_RUNG
        RUNG wire#powerrail
            { S7_Templates := "SrcType := Int" }
            GE_Contact(
                in1 := #s_EtapaDosificacion,
                in2 := 110
            )
            { S7_Templates := "SrcType := Int" }
            LE_Contact(
                in1 := #s_EtapaDosificacion,
                in2 := 115
            )
        END_RUNG wire#w1
    END_NETWORK
    {
        S7_Language := "LAD";
        S7_NetworkTitle := "MLC_4ew"
    }
    NETWORK
        RUNG wire#powerrail
            Contact( #EstadoMarcha )
            Contact( #EtapaSecAuto )
            wire#w1
            { S7_Templates := "SrcType := Int" }
            EQ_Contact(
                in1 := #s_EtapaDosificacion,
                in2 := #ETAPA_APERTURA_CAMINO_1
            )
            wire#w2
            Coil( #AperturaCamino )
        END_RUNG
        RUNG wire#powerrail
            I_Contact( #EstadoMarcha )
            I_Contact( #EtapaSecAuto )
        END_RUNG wire#w1
        RUNG wire#w1
            { S7_Templates := "SrcType := Int" }
            EQ_Contact(
                in1 := #s_EtapaDosificacion,
                in2 := #ETAPA_APERTURA_CAMINO_2
            )
        END_RUNG wire#w2
        RUNG wire#w1
            { S7_Templates := "SrcType := Int" }
            EQ_Contact(
                in1 := #s_EtapaDosificacion,
                in2 := #ETAPA_DOSIF_1
            )
            wire#w3
            Coil( #Dosificacion )
        END_RUNG
        RUNG wire#w1
            { S7_Templates := "SrcType := Int" }
            EQ_Contact(
                in1 := #s_EtapaDosificacion,
                in2 := #ETAPA_DOSIF_2
            )
        END_RUNG wire#w3
        RUNG wire#w1
            { S7_Templates := "SrcType := Int" }
            EQ_Contact(
                in1 := #s_EtapaDosificacion,
                in2 := #ETAPA_EMPUJE_1
            )
            wire#w4
            Coil( #Empuje )
        END_RUNG
        RUNG wire#w1
            { S7_Templates := "SrcType := Int" }
            EQ_Contact(
                in1 := #s_EtapaDosificacion,
                in2 := #ETAPA_EMPUJE_2
            )
        END_RUNG wire#w4
        RUNG wire#w1
            { S7_Templates := "SrcType := Int" }
            EQ_Contact(
                in1 := #s_EtapaDosificacion,
                in2 := #ETAPA_ACLARADO_1
            )
            wire#w5
            Coil( #Aclarado )
        END_RUNG
        RUNG wire#w1
            { S7_Templates := "SrcType := Int" }
            EQ_Contact(
                in1 := #s_EtapaDosificacion,
                in2 := #ETAPA_ACLARADO_2
            )
        END_RUNG wire#w5
    END_NETWORK
    {
        S7_Language := "LAD";
        S7_NetworkTitle := "MLC_3K2"
    }
    NETWORK
        RUNG wire#powerrail
            { S7_Templates := "SrcType := Int" }
            EQ_Contact(
                in1 := #s_EtapaDosificacion,
                in2 := #ETAPA_ACEPTAR_GARRAFA_1
            )
            Coil( #VisibilidadGarrafa1 )
        END_RUNG
        RUNG wire#powerrail
            { S7_Templates := "SrcType := Int" }
            EQ_Contact(
                in1 := #s_EtapaDosificacion,
                in2 := #ETAPA_ACEPTAR_GARRAFA_2
            )
            Coil( #VisibilidadGarrafa2 )
        END_RUNG
    END_NETWORK
END_FUNCTION_BLOCK
