TM_1ms_FB

Temporizador con resolución de 1ms (de 0 a 32,767s)

El temporizador con resolución de 0,001s funciona con retardo a la conexión. Si el contacto start del bloque de función está en estado ON, arranca el temporizador SV. Cuando el valor actual (EV) alcanza el valor de preselección (SV), el contacto T pasa a ON.

Parámetros

Entrada

start (BOOL)

arranca el temporizador

cada vez que se detecta el flanco de subida, el valor de preselección SV se copia en EV, valor actual y arranca el temporizador

SV (INT, WORD)

valor de preselección

valor de preselección del temporizador (de 0 a 32.767s)

Salida

T (BOOL)

contacto del temporizador

se activa cuando se alcanza el valor de preselección SV, es decir, cuando EV llega a 0

EV (INT, WORD)

valor actual

valor que se decrementa en 1 cada 0,001s mientras esté funcionando el temporizador

El valor se puede cambiar durante la operación de contaje escribiendo en la variable desde el editor de programación.

Observaciones

  • El número de temporizadores disponibles es limitado y depende de la configuración de los registros del sistema 5 y 6.

  • En el caso de los bloques de función el compilador asigna automáticamente una dirección NUM* diferente a cada instancia de temporizador. Las direcciones se asignan de forma consecutiva hacia abajo, comenzando por la dirección más alta.

Diagrama de tiempos

  1.  (1) Descargar en modo PROG
  2.  (2) Modo RUN

Ejemplo

Cabecera de la POU

Todas las variables de entrada y de salida utilizadas para la programación de esta función han sido declaradas en la Cabecera de la POU. Se utiliza la misma cabecera de la POU para todos los lenguajes de programación.

	VAR
		Alarm_control: TM_1ms_FB;
		Start_contact: BOOL:=FALSE;
		Alarm_Relay_1: BOOL:=FALSE;
		Alarm_Relay_2: BOOL:=FALSE;
	END_VAR

En este ejemplo se utilizan variables. También se pueden utilizar constantes como variables de entrada.

Cuerpo de la POU

Cuando la variable Start_contact pasa a TRUE, arranca el temporizador Alarm_control. En la variable EV se copia el valor de SV. Siempre que el contacto Start_contact esté a TRUE, se resta 1 del valor EV cada 1ms. Cuando EV alcanza el valor 0 (después de 1 segundo, puesto que SV = 1000 con el temporizador de tipo TM_1ms_FB), la variable Alarm_Relay_2 pasa a TRUE.

Tan pronto como el valor de la variable EV es menor o igual a 500 (después de 0.5s) y EV es distinto de 0, Alarm_Relay_1 pasa a TRUE.

Cuerpo LD

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 5 ;
        NETWORK_BODY
B(B_VARIN,,Start_Contact,7,2,9,4,);
B(B_VARIN,,1000,7,3,9,5,);
B(B_VAROUT,,Alarm_Relay_2,16,2,18,4,);
B(B_FB,TM_1ms_FB!,Alarm_control,9,1,16,5,,?Bstart?BSV?AT?AEV);
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 8 ;
        NETWORK_BODY
B(B_F,@LE-2!,Instance,11,0,16,3,,?D?D?C);
B(B_VARIN,,Alarm_control.EV,9,0,11,2,);
B(B_VARIN,,500,9,1,11,3,);
B(B_F,@NE!,Instance,11,5,16,8,,?D?D?C);
B(B_VARIN,,0,9,6,11,8,);
B(B_VARIN,,Alarm_control.EV,9,5,11,7,);
B(B_F,@AND-2!,Instance,20,2,25,5,,?D?D?C);
B(B_VAROUT,,Alarm_Relay_1,25,2,27,4,);
L(16,1,17,1);
L(17,1,17,3);
L(17,3,20,3);
L(17,4,20,4);
L(17,4,17,6);
L(16,6,17,6);
L(1,0,1,8);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Cuerpo en ST

Alarm_Control( start:= Start_Contact ,
        SV:= 1000,
        T=> Alarm_Relay_2 ,
        EV=> Alarm_Control.EV );
(*The ON-delay time is 1000ms*)
Alarm_Relay_1:= Alarm_Control.EV <= 500 & Alarm_Control.EV <> 0;
(*Alarm_Relay_1 is set to TRUE after 500ms*)

Cuerpo IL

Para llamar al bloque de función en lista de instrucciones, introducir:

CAL

Alarm_control (start:=Start_contact,

SV:= 1000 ,

T:= Alarm_Relay_2)

LD

Alarm_control.EV

LE

500

AND(

Alarm_control.EV

NE

0

)

ST

Alarm_Relay_1

Modificado el: 2021-09-27Comentarios sobre esta páginaPanasonic hotline