Description de la fonction

Le bloc fonction S_ANTIVALENT permet de convertir deux entrées BOOL antivalentes (une normalement fermée NC et une normalement ouverte NO) en une sortie BOOL avec surveillance de la durée d'écart.

Les deux voies d'entrée sont interdépendantes. La sortie du bloc fonction renvoie le résultat de l'évaluation des deux voies. Si S_AntivalentOut = TRUE et si l'état d'une entrée de sécurité change, la sortie devient immédiatement FALSE.

EN et ENO peuvent être configurés comme paramètres supplémentaires.

Représentation en FBD

Représentation

Description des paramètres

Paramètres d'entrée :

  • Activate

  • S_ChannelNC

  • S_ChannelNO

  • DiscrepancyTime

Paramètres de sortie :

  • Ready

  • S_AntivalentOut

  • Error

  • DiagCode

Paramètres d'entrée

Paramètre

Type de données

Valeur d'initialisation

Signification

Activate

BOOL

FALSE

Valeur variable ou constante indiquant l'état d'activation du bloc fonction. Ce paramètre peut être relié à la variable qui représente l'état (actif ou inactif) de l'équipement de sécurité adéquat. Aucune information de diagnostic non pertinente n'est générée lorsqu'un équipement est désactivé :

  • Si la valeur est FALSE, toutes les variables de sortie sont définies sur leur valeur initiale.

  • En l'absence d'équipement connecté, attribuez un signal TRUE statique.

S_ChannelNC

BOOL

FALSE

Valeur variable provenant de la voie d'entrée normalement fermée (NC) :

  • FALSE : contact NC ouvert.

  • TRUE : contact NC fermé.

S_ChannelNO

BOOL

TRUE

Valeur variable provenant de la voie d'entrée normalement ouverte (NO) :

  • FALSE : contact NO ouvert.

  • TRUE : contact NO fermé.

DiscrepancyTime

TIME

T#0ms

Temps de surveillance maximal configurable de type constante pour la comparaison des valeurs S_ChannelNC et S_ChannelNO.

Paramètres de sortie

Paramètre

Type de données

Valeur d'initialisation

Signification

Ready

BOOL

FALSE

  • TRUE : le bloc fonction est actif et les résultats en sortie sont valides (fonction identique au voyant d'alimentation d'un relais de sécurité).

  • FALSE : le bloc fonction est inactif et le programme n'est pas exécuté.

NOTE : Ce paramètre est utile en mode débogage ou pour activer/désactiver d'autres blocs fonction, ainsi que pour opérer des traitements supplémentaires dans le programme fonctionnel.

S_AntivalentOut

BOOL

FALSE

Valeur de sortie basée sur la comparaison des valeurs des deux voies d'entrée :

  • FALSE : une des conditions suivantes se vérifie :

    • Un signal d'entrée au moins est inactif.

    • L'état a changé, puis est resté tel quel pendant une durée supérieure au paramètre DiscrepancyTime.

  • TRUE : les deux signaux d'entrée sont actifs et le changement d'état respecte le paramètre DiscrepancyTime.

Error

BOOL

FALSE

Message d'erreur détectée du bloc fonction.

DiagCode

WORD

16#0000

Message de diagnostic du bloc fonction.

Chronogrammes typiques

Diagramme des états

Le diagramme suivant décrit les transitions entre les différents états du bloc fonction S_ANTIVALENT :

Source : PLCopen - Technical Committee 5, Safety Software, Technical Specification, Part 1: Concepts and Function Blocks, Version 1.0.

NOTE : Le passage d'un état quelconque à l'état Idle, car Activate = FALSE, n'est pas illustré. Cette transition a la priorité la plus élevée (0).

Fonction de détection d'erreur

Le bloc fonction S_ANTIVALENT surveille la durée d'écart entre les entrées S_ChannelNC et S_ChannelNO.

Gestion des erreurs détectées

En cas de détection d'une erreur, S_AntivalentOut est défini sur FALSE et Error sur TRUE. Le paramètre DiagCode peut présenter l'une des valeurs d'erreur détectée suivantes :

DiagCode

Nom de l'état

Description de l'état et paramètres de sortie

C001

Erreur 1

Durée DiscrepancyTime écoulée à l'état 8004 :

  • S_AntivalentOut = FALSE

  • Error = TRUE

C002

Erreur 2

Durée DiscrepancyTime écoulée à l'état 8014 :

  • S_AntivalentOut = FALSE

  • Error = TRUE

C003

Erreur 3

Durée DiscrepancyTime écoulée à l'état 8005 :

  • S_AntivalentOut = FALSE

  • Error = TRUE

Gestion des codes de diagnostic

Lorsqu'un message d'état est renvoyé, le paramètre Error est défini sur FALSE, et le paramètre DiagCode affiche l'une des valeurs hexadécimales suivantes :

DiagCode

Nom de l'état

Description de l'état et paramètres de sortie

0

IDLE

Le bloc fonction est inactif (état initial) :

  • S_AntivalentOut = FALSE

  • Error = FALSE

8001

INIT

Le bloc détecte une activation et est désormais activé :

  • S_AntivalentOut = FALSE

  • Error = FALSE

8000

Sortie de sécurité activée

Les entrées sont passées à l'état actif en mode antivalent :

  • S_AntivalentOut = TRUE

  • Error = FALSE

8004

En attente de la voie B

S_ChannelNC est devenu TRUE. Le bloc fonction attend désormais que S_ChannelNO devienne FALSE. Le temporisateur d'écart a démarré :

  • S_AntivalentOut = FALSE

  • Error = FALSE

8014

En attente de la voie A

S_ChannelNO est devenu FALSE. Le bloc fonction attend désormais que S_ChannelNC devienne TRUE. Le temporisateur d'écart a démarré :

  • S_AntivalentOut = FALSE

  • Error = FALSE

8005

En attente d'un changement d'état actif

Une voie d'entrée est devenue inactive. Le bloc fonction attend désormais que l'autre voie d'entrée passe aussi à l'état inactif :

  • S_AntivalentOut = FALSE

  • Error = FALSE