FUNCTION "FC2930_ZC_TONR_INDV" : Void
TITLE = FC2930_TONR
{ S7_Optimized_Access := 'TRUE' }
AUTHOR : ABH
FAMILY : ZeusControl
VERSION : 1.0
//Funcion para gestion temporizador TONR (Base 1 seg)
   VAR_INPUT 
      Pulso1seg : Bool;
   END_VAR

   VAR_IN_OUT 
      TONR : "UDT_ZC_DISP_TONR";
   END_VAR


BEGIN
	REGION DESCRIPCION
	(*
	###### (C)Copyright ZeusControl 2022 - 2025
	
	---
	### 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 gestionar un dispositivo TONR.
	
	Las tareas que realiza son las siguientes:
	
	- Gestionar la activacion y temporizacion de la activacion del temporizador.
	
	---
	### Dependencias Requeridas
	| Tipo | Elementos |
	|------|-----------|
	| FC   | - |
	| FB   | - |
	| DB   | - |
	| UDT  | `UDT_ZC_DISP_TONR` |
	    
	---
	### Historial de Cambios
	| Versión  | Fecha      | Técnico | Cambios |
	|----------|------------|---------|---------|
	| 01.00.00 | 02.10.2022 | (ABH)   | Primera version. |
	| 01.00.01 | 13.08.2025 | (ABH)   | Se modifica activacion de salida Q sin dependencia de entrada IN. |
	*)
	END_REGION DESCRIPCION
	
	
	//  ==========================================================================================================
	REGION GESTION_DISPOSITIVO
	    
	    IF #TONR.RESET THEN
	        #TONR.ET := 0;
	        #TONR.Q := FALSE;
	        #TONR.RESET := FALSE;
	    END_IF;
	    
	    IF #TONR.IN AND
	        #TONR.ET < #TONR.SP AND
	        #Pulso1seg
	    THEN
	        #TONR.ET += 1;
	        #TONR.Q := FALSE;
	        
	    END_IF;
	    
	    IF #TONR.ET >= #TONR.SP THEN
	        #TONR.Q := TRUE;
	    END_IF;
	    
	    #TONR.RT := #TONR.SP - #TONR.ET;
	    
	END_REGION GESTION_DISPOSITIVO
	
	
END_FUNCTION

