Skip to main content

SF_TestableSafetySensor

Astuce

La version du bloc fonctionnel telle que décrite ici correspond à la dernière version du bloc fonctionnel dans Liste des versions des blocs fonctionnels.

Normes de sécurité applicables

SF_TestableSafetySensor est un bloc fonctionnel PLCopen certifié. Pour des informations détaillées sur les normes appliquées, voir « PLCopen – Comité technique 5 – Logiciel de sécurité ».

Important

Les exigences énumérées dans les normes doivent être respectées par l’utilisateur.

Description de l'interface

Ce FB est utilisé pour les tests périodiques d'un capteur électronique/optique testable ou d'un équipement de protection électrosensible de type 2 (ESPE). Le FB peut également être utilisé pour des capteurs de sécurité testables externes (ESPE:Équipement de protection électrosensible, par exemple faisceau lumineux). Il surveille également l'état du capteur de sécurité.

Tableau 50. VAR_ENTRÉE

Nom

Type de données

Valeur initiale

Description, valeurs des paramètres

Activate

BOOL

FALSE

Paramètres d'entrée généraux

S_OSSD_In

SAFEBOOL

FALSE

Variable

État de la sortie du capteur, par exemple grille lumineuse.

FALSE:Capteur de sécurité en état de test ou demande de réponse orientée sécurité.

TRUE:Capteur en état de fonctionnement normal

StartTest

BOOL

FALSE

Variable

Entrée pour démarrer le test du capteur. Ensembles S_TestOut et démarre la fonction de surveillance du temps interne du FB.

FALSE:Aucun test demandé.

TRUE:Test demandé

TestTime

TIME

T#10ms

Constante. Plage : 0 … 150 ms.

Temps de test pour le capteur de sécurité.

La note d'avertissement « TestTime » doit être respectée.

NoExternalTest

BOOL

FALSE

Constante

Indique si le test du capteur manuel externe est pris en charge.

FALSE: Le test manuel externe du capteur est pris en charge. Après un test automatique du capteur défaillant, un test automatique n'est à nouveau possible qu'après une séquence de commutation manuelle complète du capteur.

TRUE: Le test manuel externe du capteur n'est pas pris en charge. Après un test automatique du capteur défaillant, un test automatique est à nouveau possible, sans commutation manuelle du capteur.

S_StartReset

SAFEBOOL

FALSE

Paramètres d'entrée généraux

S_AutoReset

SAFEBOOL

FALSE

Paramètres d'entrée généraux

Reset

BOOL

FALSE

Paramètres d'entrée généraux



Heure de test

Pour les développeurs du niveau étendu : Le TestTime l'entrée doit être définie sur une valeur constante. Cette valeur ne doit pas être modifiée pour les appels.

Tableau 51. VAR_OUTPUT

Nom

Type de données

Valeur initiale

Description, valeurs des paramètres

Ready

BOOL

FALSE

Paramètres de sortie généraux

S_OSSD_Out

SAFEBOOL

TRUE

Sortie orientée sécurité qui affiche l'état de l'ESPE.

FALSE:Le capteur a une demande d'action orientée vers la sécurité ou une erreur de test.

TRUE:Le capteur n'a aucune demande d'action orientée vers la sécurité, ET erreur de test.

S_TestOut

SAFEBOOL

TRUE

Couplé à l'entrée de test du capteur. Bien que spécifié comme SAFEBOOL, dans la pratique, le signal est souvent connecté à un BOOL sortir.

FALSE: Demande de test envoyée

TRUE: Aucune demande de test

TestPossible

BOOL

FALSE

Signal de rétroaction au processus.

FALSE:Un test automatique du capteur n'est pas possible.

TRUE:Un test automatique du capteur est possible.

TestExecuted

BOOL

FALSE

Un front de signal positif indique l'exécution réussie du test automatique du capteur.

FALSE:

  • Un test automatique du capteur n'a pas encore été effectué.

  • Un test automatique du capteur est actif.

  • Un test automatique du capteur a échoué.

TRUE:Un test de capteur a été effectué avec succès.

Error

BOOL

FALSE

Paramètres de sortie généraux

DiagCode

WORD

16#0000

Codes de diagnostic



Astuce

OSSD signifie : Output Signal Switching Device

Figure 82. Bloc fonctionnel : SF_TestableSafetySensor
Bloc fonctionnel : SF_TestableSafetySensor


Description fonctionnelle

Type 2 ESPE est utilisé pour les tests périodiques. Il est destiné à détecter une erreur dangereuse (par exemple, une défaillance du capteur, un temps de réponse dépassant le temps spécifié). Le signal de test doit simuler le fonctionnement du contrôle de mesure et la durée du test périodique ne doit pas dépasser 150 ms. Le test doit vérifier que chaque faisceau lumineux fonctionne de la manière spécifiée par l'utilisateur. Si le test doit être lancé par un système de contrôle externe axé sur la sécurité (par exemple une machine), alors le ESPE doit être équipé d'un équipement d'entrée approprié (par exemple un terminal).

Important

Le ESPE doit être sélectionné en fonction des normes du produit et des catégories requises selon les normes.

Il convient de surveiller, à l'aide d'une fonctionnalité distincte, que le test soit lancé à des intervalles appropriés.

Attention

Le S_StartReset et S_AutoReset les entrées ne doivent être activées que s'il est garanti qu'aucune situation dangereuse ne peut survenir lors du démarrage du S-PLC.

Procédure. Mode test
  1. StartTest = TRUE: STestOut = FALSE. Début du temps de surveillance

  2. S_TestOut le signal arrête l'émetteur (surveillance de TestTime commencé pour la première fois)

  3. S_OSSD_In passe de TRUE à FALSE (surveillance de TestTime commencé pour la deuxième fois)

  4. S_TestOut passe de FALSE à TRUE

  5. Démarrer l'émetteur

  6. Capteur S_OSSD_In passe de FALSE à TRUE

  7. Arrêter de surveiller le temps

  8. S_OSSD_Out est TRUE pendant le test

. Verrouillage de démarrage optionnel
  • Blocage au démarrage après activation du FB

  • Blocage de démarrage après interruption de la garde

Diagramme d'état

Figure 83. Diagramme d'état : SF_TestableSafetySensor
Diagramme d'état : SF_TestableSafetySensor


Astuce

Remarque : La transition d’un état à l’autre Idle État, initié par Activate = FALSE, n'est pas affiché. Dans tous les cas, ces transitions ont la priorité la plus élevée.

Diagramme de temps

Figure 84. Diagramme temporel : SF_TestableSafetySensor
Diagramme temporel : SF_TestableSafetySensor


Détection d'erreur

Les conditions suivantes forcent une transition vers l'état d'erreur :

  • Expiration du délai de test sans retour de capteur retardé

  • Test sans retour de signal de capteur

  • Signal de réinitialisation statique non valide dans le processus

  • Contrôle de plausibilité du réglage du temps de surveillance

Comportement d'erreur

En cas d'événement d'erreur, le S_OSSD_Out la sortie est réglée sur FALSE et reste dans cet état. Dès que l'erreur a été corrigée et que le capteur est en fonctionnement (S_OSSD_In = TRUE), une réinitialisation supprime l'état d'erreur et définit le S_OSSD_Out sortie vers TRUE.

Si S_AutoReset = FALSE, alors un front de déclenchement montant est requis lors de la réinitialisation.

Après la transition de S_OSSD_In à TRUE, le verrouillage de démarrage optionnel peut être redémarré par un front montant au Reset saisir.

Après l'activation du bloc fonctionnel, le verrouillage de démarrage optionnel peut être redémarré par un front de déclenchement montant au niveau Reset saisir.

Codes d'erreur et d'état spécifiques à FB

Tableau 52. Codes d'erreur spécifiques à FB

DiagCode

Nom de la statue

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

16#C000

Parameter Error

Valeur invalide du paramètre TestTime

Valeurs entre 0 ms et 150 ms sont possibles.

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted = FALSE

Error = TRUE

16#C001

Reset Error 1

Condition de réinitialisation statique détectée après l'activation du FB

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted = FALSE

Error = FALSE

16#C002

Reset Error 2

Statique Reset condition détectée dans l'état 8003

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted = FALSE

Error = TRUE

16#C003

Reset Error 3

Condition de réinitialisation statique détectée dans l'état C010.

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted = FALSE

Error = TRUE

16#C004

Reset Error 4

Condition de réinitialisation statique détectée dans l'état C020.

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted = FALSE

Error = TRUE

16#C005

Reset Error 5

Condition de réinitialisation statique détectée dans l'état 8006

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted = FALSE

Error = TRUE

16#C006

Reset Error 6

Condition de réinitialisation statique détectée dans l'état C000.

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted = FALSE

Error = TRUE

16#C007

Reset Error 7

Condition de réinitialisation statique détectée dans l'état 8013

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted = TRUE

Error = TRUE

16#C010

Test Error 1

Le temps de test a expiré dans le statut 8020

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted= FALSE

Error = TRUE

16#C020

Test Error 2

Le temps de test a expiré dans le statut 8030

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted= FALSE

Error = TRUE



Tableau 53. Codes d'état spécifiques à FB

DiagCode

Nom de la statue

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

16#0000

Idle

Le bloc fonctionnel n'est pas actif (état de base).

Ready = FALSE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted = FALSE

Error = FALSE

16#8001

Init

Une activation a été détectée par le bloc fonction.

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted = FALSE

Error = FALSE

16#8002

ESPE Interrupted 1

Le FB a détecté une exigence de sécurité.

Le commutateur n'a pas encore été testé automatiquement.

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted = FALSE

Error = FALSE

16#8003

Wait for Reset 1

Attendre le front de déclenchement montant après l'état 16#8002.

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted = FALSE

Error = FALSE

16#8004

External Function Test

Le test automatique du capteur a échoué.

Un test manuel externe du capteur est nécessaire.

La prise en charge du test manuel externe nécessaire du capteur a été activée sur le bloc de fonction (NoExternalTest = FALSE).

Un bord de signal négatif est requis au niveau du capteur.

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted = FALSE

Error = FALSE

16#8005

ESPE Interrupted

External Test

Le test automatique du capteur a échoué.

Un test manuel externe du capteur est nécessaire.

La prise en charge du test manuel externe nécessaire du capteur a été activée sur le bloc de fonction (NoExternalTest = FALSE).

UN TRUE un signal est requis au niveau du capteur.

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted = FALSE

Error = FALSE

16#8006

End External Test

Le test automatique du capteur a échoué.

Un test manuel externe du capteur est nécessaire.

La prise en charge du test manuel externe nécessaire du capteur a été activée sur le bloc de fonction (NoExternalTest = FALSE).

Le test manuel externe est terminé.

L'appareil a détecté un cycle de commutation de capteur complet (contrôlé en externe).

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted = FALSE

Error = FALSE

16#8010

ESPE Free No Test

Le FB n'a pas détecté d'exigence de sécurité.

Le capteur n'a pas été testé automatiquement.

Ready = TRUE

S_OSSD_Out = TRUE

S_TestOut = TRUE

TestPossible = TRUE

TestExecuted = FALSE

Error = FALSE

16#8020

Test Request

Le test automatique du capteur est actif. Le minuteur de test est démarré pour la première fois. Le signal de l'émetteur a été désactivé par le bloc de fonction.

Le signal du récepteur doit suivre le signal de l'émetteur.

Ready = TRUE

S_OSSD_Out = TRUE

S_TestOut = FALSE

TestPossible = FALSE

TestExecuted = FALSE

Error = FALSE

16#8030

Test Active

Le test automatique du capteur est actif. Le minuteur de test est démarré une deuxième fois. Le signal de l'émetteur du capteur a été activé par le bloc de fonction.

Le signal du récepteur doit suivre le signal de l'émetteur.

Ready = TRUE

S_OSSD_Out = TRUE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted = FALSE

Error = FALSE

16#8000

ESPE Free Test ok

Le FB n'a pas détecté d'exigence de sécurité.

Le capteur a été testé automatiquement.

Ready = TRUE

S_OSSD_Out = TRUE

S_TestOut = TRUE

TestPossible = TRUE

TestExecuted =TRUE

Error = FALSE

16#8012

ESPE Interrupted 2

Le FB a détecté une exigence de sécurité. Le commutateur a été testé automatiquement.

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted =TRUE

Error = FALSE

16#8013

Wait for Reset 2

Attendez un front de déclenchement montant de réinitialisation après l'état 16#8012.

Ready = TRUE

S_OSSD_Out = FALSE

S_TestOut = TRUE

TestPossible = FALSE

TestExecuted =TRUE

Error = FALSE