TM_1s_FB

Temporisation à intervalles de 1s (0 à 32767s)

Ce temporisateur à intervalles de 1s fonctionne comme un temporisateur avec retard à l’activation. Lorsque le contact start du bloc fonction est activé, le temps prédéfini SV (set value) est décompté. Quand la durée s’est écoulée, le contact T du temporisateur est activé.

Paramètres

Entrée

start (BOOL)

Contact de départ

Chaque fois qu’un front montant est détecté, la valeur de consigne SV est copiée sur la valeur courante EV et le temporisateur démarre.

SV (INT, WORD)

Valeur de consigne

Durée du retard à l’activation définie (0 à 32767s)

Sortie

T (BOOL)

Contact du temporisateur

Activé lorsque la durée définie dans SV s’est écoulée, c.-à-d. lorsque EV = 0

EV (INT, WORD)

Valeur courante

Valeur à partir de laquelle 1 est soustrait toutes les 1s pendant la temporisation

La valeur peut être modifiée pendant le comptage en écrivant dans la variable à partir de l’éditeur de programmation.

Remarques

  • Le nombre de temporisateurs est limité et dépend des paramètres des registres système 5 et 6.

  • Pour les blocs fonctions des temporisateurs, le compilateur affecte automatiquement une adresse NUM* à chaque instance de temporisateur. Les adresses sont affectées de manière décroissante, en commençant par l’adresse la plus élevée.

Chronogramme

  1.  (1) Transfert en mode PROG
  2.  (2) Mode RUN

Exemple

En-tête du POU

Toutes les variables d’entrée et de sortie utilisées pour programmer cette fonction ont été déclarées dans l’en-tête du POU. Le même en-tête de POU est utilisé pour tous les langages de programmation.

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

Cet exemple utilise des variables. Vous pouvez également utiliser des constantes pour les variables d’entrée.

Corps du POU

Dès que la variable Start_contact est TRUE, le temporisateur Alarm_control démarre. La variable EV du temporisateur est définie sur la valeur de SV. Tant que Start_contact est TRUE, la valeur 1 est soustraite de EV toutes les 1s. Lorsque EV atteint la valeur 0 (10 secondes après, puisque SV = 10 avec le temporisateur de type TM_1s_FB), la variable Alarm_Relay_2 devient TRUE.

Dès que la valeur de la variable EV du temporisateur est inférieure ou égale à 5 (après 5s) et EV est différent de 0, Alarm_Relay_1 est activé (état = TRUE).

Corps en LD

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 8 ;
        NETWORK_BODY
B(B_VARIN,,Start_contact,8,3,10,5,);
B(B_VARIN,,10,8,4,10,6,);
B(B_VAROUT,,Alarm_Relay_2,18,3,20,5,);
B(B_FB,TM_1s_FB,Alarm_control,10,2,18,6,,?Bstart?BSV?AT?AEV);
L(1,0,1,8);
        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,,5,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

Corps en ST

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

Corps en IL

Si vous souhaitez appeler le bloc fonction dans une liste d’instructions, entrez ce qui suit :

CAL

Alarm_control (start:=Start_contact,

SV:= 10 ,

T:= Alarm_Relay_2)

LD

Alarm_control.EV

LE

5

AND(

Alarm_control.EV

NE

0

)

ST

Alarm_Relay_1

Modifié le : 2023-03-10Feedback on this pagePanasonic hotline