Description de la fonction

Le bloc fonction S_TWO_HAND_CONTROL_TYPE_II permet d'ajouter une commande bimanuelle dans un processus de fabrication potentiellement dangereux. La commande bimanuelle impose à l'opérateur de maintenir ses deux mains sur des boutons de commande séparés, pour éviter qu'il ne se blesse.

Lorsque les deux boutons de commande sont actionnés (enfoncés), les paramètres S_Button1 et S_Button2 sont définis sur TRUE. Dans cet état, si le signal Error reste sur FALSE, la sortie S_TwoHandOut est définie sur TRUE, et la machine continue de fonctionner.

Ce bloc fonction commande également le relâchement des deux boutons avant que la sortie S_TwoHandOut ne soit de nouveau définie sur TRUE.

Représentation en FBD

Représentation

Description des paramètres

Paramètres d'entrée :

  • Activate

  • S_Button1

  • S_Button2

Paramètres de sortie :

  • Ready

  • S_TwoHandOut

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

BOOL

FALSE

Valeur variable du bouton d'entrée 1 (pour les catégories 3 ou 4 : deux contacts antivalents) :

  • FALSE : bouton 1 relâché.

  • TRUE : bouton 1 actionné.

S_Button2

BOOL

FALSE

Valeur variable du bouton d'entrée 2 (pour les catégories 3 ou 4 : deux contacts antivalents) :

  • FALSE : bouton 2 relâché.

  • TRUE : bouton 2 actionné.

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_TwoHandOut

BOOL

FALSE

Signal de sortie de sécurité :

  • FALSE : commande bimanuelle inactive.

  • TRUE : entrées S_Button1 et S_Button2 sur TRUE ; Error = FALSE. Commande bimanuelle exécutée avec succès.

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

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

Une fois le bloc fonction activé, si S_Button1 ou S_Button2 est déjà défini sur TRUE, la condition est considérée comme un paramètre d'entrée non valide qui déclenche la détection d'une erreur.

Gestion des erreurs détectées

En cas de détection d'une erreur, la sortie S_TwoHandOut est définie sur FALSE. 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 B1

S_Button1 sur TRUE au moment de l'activation du bloc fonction :

  • S_TwoHandOut = FALSE

  • Error = TRUE

C002

Erreur B2

S_Button2 sur TRUE au moment de l'activation du bloc fonction :

  • S_TwoHandOut = FALSE

  • Error = TRUE

C003

Erreur B1 et B2

S_Button1 et S_Button2 sur TRUE au moment de l'activation du bloc fonction :

  • S_TwoHandOut = FALSE

  • Error = TRUE

Une fois les deux boutons relâchés, l'état d'erreur disparaît.

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_TwoHandOut = FALSE

  • Error = FALSE

8000

Boutons actionnés

Les deux boutons sont correctement actionnés :

  • S_TwoHandOut = TRUE

  • Error = FALSE

8001

INIT

Bloc fonction actif à l'état INIT :

  • S_TwoHandOut = TRUE

  • Error = FALSE

8004

Boutons relâchés

Aucun bouton actionné :

  • S_TwoHandOut = FALSE

  • Error = FALSE

8005

Bouton 1 actionné

Bouton 1 actionné uniquement :

  • S_TwoHandOut = FALSE

  • Error = FALSE

8006

Bouton 2 actionné

Bouton 2 actionné uniquement :

  • S_TwoHandOut = FALSE

  • Error = FALSE

8007

Bouton 2 relâché

Sortie de sécurité activée, puis désactivée. S_Button1 et S_Button2 n'ont pas été définis sur FALSE après la désactivation de la sortie de sécurité. Dans cet état, une fois la sortie de sécurité désactivée, S_Button1 est sur TRUE et S_Button2 sur FALSE :

  • S_TwoHandOut = FALSE

  • Error = FALSE

8008

Bouton 1 relâché

Sortie de sécurité activée, puis désactivée. S_Button1 et S_Button2 n'ont pas été définis sur FALSE après la désactivation de la sortie de sécurité. Dans cet état, une fois la sortie de sécurité désactivée, S_Button1 est sur FALSE et S_Button2 sur TRUE :

  • S_TwoHandOut = FALSE

  • Error = FALSE

8009

Verrouillage désactivé

Sortie de sécurité activée, puis de nouveau désactivée. S_Button1 et S_Button2 n'ont pas été définis sur FALSE après la désactivation de la sortie de sécurité. Dans cet état, une fois la sortie de sécurité désactivée, S_Button1 est sur TRUE et S_Button2 sur FALSE :

  • S_TwoHandOut = FALSE

  • Error = FALSE

8019

Verrouillage activé

Actionnement incorrect des boutons. En attente du relâchement des deux boutons.

  • S_TwoHandOut = FALSE

  • Error = FALSE