Description de la fonction

Le bloc fonction S_MODE_SELECTOR permet de prendre en charge un sélecteur de mode avec huit signaux maximum dans une application.

Connectez un sélecteur de mode aux entrées S_Mode0 à S_Mode7 du bloc fonction pour affecter un mode de fonctionnement à un niveau de sécurité défini, en envoyant un signal simple d'entrée TRUE.

Configurez l'exécution du niveau de sécurité spécifié dans l'application (mode automatique, de service, de nettoyage, de marche par incréments ou de configuration, par exemple).

En fonction des propriétés mécaniques du sélecteur de mode, vous pouvez définir sur TRUE plusieurs signaux, ou aucun, si le réglage du sélecteur change. Dans ce cas, configurez le paramètre ModeMonitorTime de manière à définir la période de commutation au cours de laquelle ces conditions sont autorisées. En dehors de cette période, le bloc fonction les détecte comme des erreurs.

Les états S_Mode0 à S_Mode7 sont considérés comme des sorties pour les paramètres de sortie S_Mode0Sel à S_Mode7Sel associés, soit automatiquement, soit après un acquittement manuel par l'opérateur.

Représentation en FBD

Représentation

Description des paramètres

Paramètres d'entrée :

  • Activate

  • S_Mode0

  • S_Mode1

  • S_Mode2

  • S_Mode3

  • S_Mode4

  • S_Mode5

  • S_Mode6

  • S_Mode7

  • S_Unlock

  • S_SetMode

  • AutoSetMode

  • ModeMonitorTime

  • Reset

Paramètres de sortie :

  • Ready

  • S_Mode0Sel

  • S_Mode1Sel

  • S_Mode2Sel

  • S_Mode3Sel

  • S_Mode4Sel

  • S_Mode5Sel

  • S_Mode6Sel

  • S_Mode7Sel

  • S_AnyModeSel

  • 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_Mode0

S_Mode7

BOOL

FALSE

Valeur variable ou constante de l'entrée affectée à une position spécifique (0…7) du sélecteur de mode :

  • FALSE : mode associé (0…7) non sélectionné.

  • TRUE : mode associé (0…7) sélectionné.

S_Unlock

BOOL

FALSE

Signal d'entrée de type variable ou constante qui verrouille ou déverrouille le mode sélectionné :

  • FALSE : sortie S_ModeXSel active verrouillée. Le passage à une autre entrée S_ModeX ne change pas la sortie S_ModeXSel active, même en cas de déclenchement du front montant de S_SetMode.

  • TRUE : sortie S_ModeXSel active non verrouillée. Il est possible de passer à une autre sortie S_ModeXSel.

S_SetMode

BOOL

FALSE

Variable permettant d'acquitter le changement de mode sélectionné, si définie sur TRUE par l'opérateur.

NOTE : En cas de changement de mode déclenché par l'attribution de la valeur TRUE à un paramètre S_ModeX, S_AnyModeSel et le paramètre S_ModeXSel associé sont tous les deux sur FALSE. Le paramètre S_ModeXSel associé est défini sur TRUE seulement en cas de déclenchement du front montant de SetMode.

AutoSetMode

BOOL

FALSE

Valeur constante définissant le mode d'acquittement :

  • FALSE : l'opérateur doit acquitter manuellement le changement de mode via S_SetMode.

  • TRUE : en cas de passage valide de l'entrée S_ModeX à un mode S_ModeX différent, S_ModeXSel change automatiquement sans acquittement par l'opérateur via SetMode (sous réserve que le paramètre S_ModeXSel soit verrouillé via S_Unlock).

ModeMonitorTime

TIME

FALSE

Valeur constante indiquant la période pendant laquelle il est possible de changer l'entrée de sélection.

Reset

BOOL

FALSE

Valeur variable indiquant la réinitialisation de la machine d'état, couplée avec des messages d'état et d'erreur détectée (tels qu'indiqués par le paramètre DiagCode), après résolution du problème à l'origine de l'erreur. Il s'agit d'une réinitialisation sur erreur détectée.

NOTE : Cette fonction est active uniquement lorsque le signal passe de FALSE à TRUE.

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_Mode0

S_Mode7

BOOL

FALSE

Indique l'état sélectionné et acquitté du mode spécifié (0…7) :

  • FALSE : le mode spécifié (0…7) n'est pas sélectionné ou n'est pas actif.

  • TRUE : le mode spécifié (0…7) est sélectionné et actif.

S_AnyModeSel

BOOL

FALSE

Indique si un mode (S_Mode0S_Mode7) est sélectionné :

  • FALSE : aucun S_ModeX n'est sélectionné.

  • TRUE : un des huit modes (S_Mode0S_Mode7) est sélectionné.

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_MODE_SELECTOR :

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).

Détection des erreurs

Le bloc fonction S_MODE_SELECTOR :

  • détecte si aucun mode d'entrée n'est sélectionné. Cette condition d'invalidité est déclenchée à l'issue de la période ModeMonitorTime ;

  • redémarre à chaque déclenchement du front montant d'une entrée S_ModeX ;

  • passe à l'état ModeChanged en cas d'activation.

A contrario, le bloc fonction détecte directement si plusieurs entrées S_ModeX sont sélectionnées en même temps. Une condition Reset statique est détectée lorsque le bloc fonction est à l'état d'erreur C001 ou C002.

Gestion des erreurs détectées

En cas de détection d'une erreur :

  • Les sorties S_ModeXSel et S_AnyModeSel sont définies sur leur état sécurisé (FALSE).

  • La sortie DiagCode indique le code d'erreur détectée et la sortie Error est définie sur TRUE.

Chaque erreur détectée est acquittée par le déclenchement du front montant de l'entrée Reset. Le bloc fonction passe d'un état d'erreur détectée à l'état ModeChanged.

Lorsqu'un message d'erreur détectée est renvoyé, le paramètre DiagCode peut présenter l'une des valeurs d'erreur suivantes :

DiagCode

Nom de l'état

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

C001

Erreur de court-circuit

Le bloc fonction a détecté que deux entrées S_ModeX ou plus sont sur TRUE, ce qui indique un possible court-circuit :

  • S_AnyModeSel = FALSE

  • Toutes les entrées S_ModeXSel = FALSE

  • Error = TRUE

C002

Erreur de circuit ouvert

Le bloc fonction a détecté que toutes les entrées S_ModeX sont sur FALSE. La période qui suit le déclenchement d'un front descendant de S_ModeX dépasse ModeMonitorTime, ce qui indique que le circuit est probablement ouvert :

  • S_AnyModeSel = FALSE

  • Toutes les entrées S_ModeXSel = FALSE

  • Error = TRUE

C003

Erreur de réinitialisation 1

Signal Reset statique détecté à l'état C001 :

  • S_AnyModeSel = FALSE

  • Toutes les entrées S_ModeXSel = FALSE

  • Error = TRUE

C004

Erreur de réinitialisation 2

Signal Reset statique détecté à l'état C002 :

  • S_AnyModeSel = FALSE

  • Toutes les entrées S_ModeXSel = 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_AnyModeSel = FALSE

  • S_ModeXSel = FALSE

  • Error = FALSE

8005

ModeChanged

Etat après activation, en cas de changement de S_ModeX (sauf si verrouillé) ou après réinitialisation d'un état d'erreur :

  • S_AnyModeSel = FALSE

  • S_ModeXSel = FALSE

  • Error = FALSE

8000

ModeSelected

Un mode valide est sélectionné, mais non verrouillé :

  • S_AnyModeSel = TRUE

  • L'entrée S_ModeXSel sélectionnée est sur TRUE, toutes les autres sont sur FALSE.

  • Error = FALSE

8004

ModeLocked

Un mode valide est sélectionné et verrouillé.

  • S_AnyModeSel = TRUE

  • L'entrée S_ModeXSel sélectionnée est sur TRUE, toutes les autres sont sur FALSE.

  • Error = FALSE