SYS1 Paramétrage de l’interruption

Cette instruction permet de paramétrer l’entrée interruptive.

Le premier mot-clé détermine l’entrée définie comme entrée interruptive et le second mot-clé les conditions d’entrée. Le premier mot-clé est séparé du second par une virgule.

Paramétrage des mots-clés

INT2,UP

INT2

Entrée interruptive

INT0–INT7 : X0–X7

UP

Fronts

UP : front montant

DOWN : front descendant

BOTH : fronts montant et descendant

Pour le FP-X, INT0–INT13 peuvent être paramétrés.

Remarques

  • Lorsque cette instruction est exécutée, le contenu de la ROM système dans l’unité centrale n’est pas écrasé. Par conséquent, lorsque l’automate est mis hors tension puis à nouveau sous tension, le contenu des registres système est écrasé selon les paramètres indiqués par le logiciel.

  • Nous recommandons d’utiliser cette instruction uniquement en front montant.

  • Lorsque UP ou DOWN a été indiqué, les paramètres des registres système sont modifiés. Une erreur peut être signalée lorsque le programme est supervisé. Lorsque BOTH est indiqué, les paramètres des registres système ne sont pas modifiés.

  • Séparez les mots-clés par une virgule et n’utilisez pas d’espace.

Drapeaux d’erreur

sys_bIsOperationErrorHold (passe à TRUE et reste TRUE)
  • Si le caractère indiqué n’est pas un mot-clé.

  • S’il n’y a pas de virgule entre les mots-clés.

  • Si le mot-clé a été indiqué en lettres minuscules.

sys_bIsOperationErrorNonHold (passe à TRUE pendant un cycle)
  • Si le caractère indiqué n’est pas un mot-clé.

  • S’il n’y a pas de virgule entre les mots-clés.

  • Si le mot-clé a été indiqué en lettres minuscules.

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
		bSetEdge: BOOL:=FALSE;
		DT_value: DT:=DT#2010-06-30-11:15:00;
		bEno: BOOL:=FALSE;
	END_VAR

Corps du POU

Lorsque InterruptX1 est TRUE, la condition d’entrée de l’entrée interruptive X1 passe à "Front montant".

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 := 5 ;
        NETWORK_BODY
B(B_F,E_SET_RTC_DT!,Instance,20,1,28,5,,?DEN?DIN?AENO);
B(B_VARIN,,DT_value,18,3,20,5,);
B(B_CONTACT,,bSetEdge,7,2,9,4,R);
B(B_COIL,,bEno,37,2,39,4,);
L(1,3,7,3);
L(9,3,20,3);
L(28,3,37,3);
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Corps en ST

if (DF(InterruptX1)) then
    SYS1('INT1, UP');
end_if;
NOTA

Les valeurs entrées en s* sont automatiquement alignées à droite par le compilateur.

Modifié le : 2024-03-07Commentaires sur cette pageAssistance téléphonique