{
    S7_Author := "ABH";
    S7_BlockComment := "MLC_4GE";
    S7_BlockNumber := "15027";
    S7_BlockTitle := "MLC_36i";
    S7_EditorMode := "SCL";
    S7_Family := "ZeusControl";
    S7_IECCheck := "TRUE";
    S7_Optimized := "TRUE";
    S7_Version := "1.0"
}
FUNCTION "FC15027_ZC_CONTADOR_MINUTOS" : Void
    VAR_INPUT
        { S7_MLC := "MLC_3Hm" }
        Pulso1seg : Bool;
        { S7_MLC := "MLC_4qN" }
        Iniciar : Bool;
        { S7_MLC := "MLC_3r7" }
        Reset : Bool;
    END_VAR
    VAR_IN_OUT
        Contador : _.UDT_ZC_CONTADOR_MINUTOS;
    END_VAR
    VAR CONSTANT
        { S7_MLC := "MLC_34c" }
        MAX_MINUTOS : UDInt := 10000000;
    END_VAR

    { S7_Language := "SCL" }
    NETWORK
        REGION DESCRIPCION
            (*
            ###### (C)Copyright ZeusControl 2024 - 2024
            
            ---
            ### Información del Sistema
            | Hardware Compatible | Entorno de Ingeniería |
            |---------------------|-----------------------|
            | PLC serie 1200/1500 | TIA Portal 18         |
            
            ---
            > **Restricciones:** Ninguna.
            
            ---
            ### Descripción Funcional
            
            Función encargada de contar tiempo en minutos.
            
            ---
            ### Dependencias Requeridas
            | Tipo | Elementos |
            |------|-----------|
            | FC   | - |
            | FB   | - |
            | DB   | - |
            | UDT  | - |
            
            ---
            ### Historial de Cambios
            | Versión  | Fecha      | Técnico | Cambios |
            |----------|------------|---------|---------|
            | 01.00.00 | 13.05.2024 | (ABH)   | Primera version. |
        *)
        END_REGION DESCRIPCION
        
        
        //  ==========================================================================================================
        REGION GESTION_CONTADOR
            
            //  ==========================================================================================================
            REGION RESET_CONTADOR  
                
                IF #Reset OR #Contador.Minuto >= #MAX_MINUTOS THEN
                    #Contador.Minuto := #Contador.Segundo := 0;
                END_IF;
                
            END_REGION RESET_CONTADOR  
            
            
            //  ==========================================================================================================
            REGION GESTION_CONTADOR
                
                IF #Iniciar AND #Pulso1seg THEN
                    #Contador.#Segundo += 1;
                    IF #Contador.#Segundo >= 60 THEN
                        #Contador.#Segundo := 0;
                        #Contador.#Minuto += 1;
                    END_IF;
                END_IF;
                
            END_REGION GESTION_CONTADOR
            
        END_REGION GESTION_CONTADOR
        
        
    END_NETWORK
END_FUNCTION
