Skip to main content

Règles générales pour les blocs fonctionnels relatifs à la sécurité

Ces règles de programmation correspondent aux « Règles générales pour les blocs fonctionnels relatifs à la sécurité » de PLCopen. Elles s'appliquent aux blocs fonctionnels conformes à PLCopen.

Directives spécifiques aux blocs fonctionnels

Important

Les FB PLCopen ne peuvent être utilisés que dans les programmes et les blocs fonctionnels où « Appel unique » est défini.

Signal par défaut

Tous les signaux d'E/S booléens axés sur la sécurité ont la valeur de sécurité prédéfinie FALSE.

Niveau du signal

La valeur SAFEBOOL ne peut être utilisé que comme suit :

  • 0: Correspond à la sécurité telle que définie pour les sorties du système

  • 1:Signifie que les aspects de sécurité du système fonctionnent correctement afin qu'un fonctionnement normal soit possible, par exemple.

Cela reflète la fonctionnalité des environnements IEC 61131, tels que les règles relatives à la valeur par défaut et le fait que toutes les sorties sont définies sur 0 en cas d'erreur.

Sorties

Chaque sortie doit être affectée à chaque cycle.

Paramètres d'E/S manquants

Les paramètres manquants sont autorisés. Les valeurs par défaut s'appliquent. Ces valeurs par défaut ne doivent en aucun cas conduire à un état non sécurisé. Les valeurs par défaut et leurs attributs (Variable ou Constant) sont spécifiés dans les FB correspondants.

Comportement au démarrage

Au démarrage, les sorties sont réglées sur des valeurs par défaut. Après le premier appel de FB, les sorties sont valides. Il existe un comportement de démarrage cohérent (démarrage à froid).

Diagramme de temps

Les diagrammes temporels présentés pour les blocs fonctionnels sont utilisés à titre explicatif uniquement. Ils ne représentent pas le comportement temporel exact. Le comportement temporel exact dépend de l'implémentation.

Gestion et diagnostic des erreurs

Tous les blocs fonctionnels orientés sécurité disposent de deux sorties liées aux erreurs : Error et DiagCodeIls sont utilisés à des fins de diagnostic au niveau de l'utilisateur, et non à des fins de diagnostic au niveau du système ou du matériel.

La disposition pour les environnements axés sur la sécurité prévoit que l'activation de la fonction axée sur la sécurité a la plus haute priorité et qu'il y a suffisamment de temps pour le diagnostic lors de l'activation ultérieure, soit dans le programme fonctionnel, soit dans l'interface utilisateur.

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

Nom

Type de données

Description

Activate

BOOL

Variable ou constante pour l'activation du FB

Valeur initiale : FALSE

Ce paramètre peut être lié aux variables qui représentent l'état (actif ou inactif) du dispositif de sécurité concerné. Cela garantit qu'aucune donnée de diagnostic non pertinente n'est générée lors de la désactivation du dispositif.

FALSE:Toutes les variables de sortie sont définies sur les valeurs initiales.

Si aucun appareil n'est connecté, un signal statique TRUE le signal doit être attribué.

S_<nom d'entrée axé sur la sécurité>

SAFExxxx

Chaque nom d'une entrée de SAFExxxx le type commence par S_.

Seules des variables peuvent être attribuées.

S_StartReset

SAFEBOOL

Variable ou constante

Activation du démarrage automatique du POU au démarrage du S-PLC (à chaud ou à froid).

FALSE (= valeur initiale) : Démarrage automatique désactivé ; démarrage manuel au moyen de la Reset saisir.

TRUE:Démarrage automatique

Le Consignes de sécurité pour S_StartReset Il faut noter.

S_AutoReset

SAFEBOOL

Variable ou constante

Activation du redémarrage automatique du POU

FALSE (= valeur initiale) : Redémarrage automatique désactivé ; démarrage manuel par réinitialisation de l'entrée.

TRUE: Redémarrage automatique

Le Consignes de sécurité pour S_AutoReset Il faut noter.

Reset

BOOL

Variable

Valeur initiale : FALSE

Selon la fonction, cette entrée peut être utilisée à différentes fins.

  • Réinitialisation de la machine d'état et des messages d'erreur et d'état associés, tels qu'affichés via DiagCode, si la cause de l'erreur est corrigée. Ce comportement de réinitialisation est conçu comme une réinitialisation d'erreur.

  • Réinitialisation manuelle d'un verrou de redémarrage par l'opérateur. Cette réinitialisation est conçue comme une réinitialisation fonctionnelle.

  • Autres fonctions de réinitialisation spécifiques au FB.

Cette fonction n'est active que pour un changement de signal de FALSE à TRUE. Une statique TRUE le signal ne génère plus d'actions, mais il peut être détecté comme une erreur dans certains POU.

Le Consignes de sécurité pour Reset doit être respecté.

La signification applicable est décrite pour chaque POU.

Consignes de sécurité pour S_StartReset

S_StartReset

Ce démarrage automatique ne doit être activé que s'il est garanti qu'aucun danger ne peut survenir lors du démarrage du S-PLC. Par conséquent, l'utilisation de la fonction « démarrage automatique » des blocs de fonction nécessite la mise en œuvre d'autres mesures système ou d'application pour garantir qu'aucun démarrage inattendu (ou involontaire) ne se produise.

Attention

Si l'entrée est liée à une variable (et non à FALSE), des mesures de validation supplémentaires doivent alors être définies pour cela.

Consignes de sécurité pour S_AutoReset

Attention

Le redémarrage automatique ne doit être activé que s'il est garanti qu'il ne peut y avoir aucun redémarrage possible de la machine après avoir relâché le bouton d'arrêt d'urgence. Par conséquent, l'utilisation de la fonction « redémarrage automatique » des blocs fonctionnels nécessite la mise en œuvre d'autres mesures système ou d'application pour garantir qu'aucun redémarrage inattendu (ou involontaire) de la machine ne se produise.

Attention

Si l'entrée est liée à une variable (et non à FALSE), des mesures de validation supplémentaires doivent alors être définies pour cela.

Consignes de sécurité pour Reset

Attention

En fonction des exigences de sécurité, SAFEBOOL doit être connecté au lieu de BOOL.

Paramètres de sortie généraux

Nom

Type de données

Description

Ready

BOOL

TRUE: Indique que le POU est activé et que les résultats de sortie sont valides (identique à la LED « POWER » d'un relais de sécurité).

FALSE: Le POU n'est pas actif et le programme n'est pas exécuté. Utile en mode débogage ou pour activer et désactiver des POU supplémentaires. Également pour un traitement ultérieur dans le programme fonctionnel.

S_<nom de sortie axé sur la sécurité>

SAFExxxx

Chaque nom d'un SAFExxxx le type commence par S_.

Error

BOOL

Drapeau d'erreur (identique à la LED « K1/K2 » d'un relais de sécurité).

TRUE: Indique qu'une erreur s'est produite et que le POU est dans l'état d'erreur. L'état d'erreur correspondant est indiqué sur la sortie DiagCode.

FALSE: Il n'y a pas d'erreur et le POU est dans un autre état. Ceci est également indiqué par le DiagCode sortir.

Ceci est utile en mode débogage, ainsi que pour un traitement ultérieur dans le programme fonctionnel.

DiagCode

WORD

Registre de diagnostic.

Tous les états POU (Active, Not Active, et Error) sont mappés par ce registre. Seul le code cohérent est affiché en même temps. En cas de plusieurs erreurs, le DiagCode la sortie affiche la première erreur détectée.

Ceci est utile en mode débogage, ainsi que pour un traitement ultérieur dans le programme fonctionnel.

Codes de diagnostic

Un concept de diagnostic transparent et uniforme constitue la base de tous les blocs. Cela garantit que les utilisateurs finaux disposent d'informations de diagnostic uniformes sous la forme de DiagCode, quelle que soit l'implémentation de l'utilisateur final. S'il n'y a pas d'erreur, l'état interne du bloc (machine d'état) est affiché. Les éventuelles erreurs sont affichées via une sortie binaire (Error) Pour des informations plus détaillées sur les erreurs de bloc internes ou externes, voir DiagCode. Le bloc doit être réinitialisé au moyen de divers Reset entrées.

Tableau 9. Plages de codes de diagnostic généraux

DiagCode

Description

0000_0000_0000_0000poubelle

Le POU n'est pas activé ou le CPU de sécurité est arrêté.

10xx_xxxx_xxxx_xxxxpoubelle

Indique que le POU activé est en état de fonctionnement sans erreurs.

X = Code spécifique au POU

11xx_xxxx_xxxx_xxxxpoubelle

Indique que le POU activé est en état d'erreur.

X = Code spécifique au POU



Tableau 10. Codes spécifiques au système ou à l'appareil

DiagCode

Description

0xxx_xxxx_xxxx_xxxxpoubelle

X = message spécifique au système ou au périphérique. Ces informations incluent des informations de diagnostic sur le système ou le périphérique.

Note: 0000hex est réservé.



Tableau 11. Codes de diagnostic génériques

DiagCode

Description

0000_0000_0000_0000poubelle

0000hexagone

Le POU n'est pas activé. Ce code représente l'état inactif. À titre d'exemple général, le paramètre E/S pourrait être le suivant :

Activate = FALSE

S_In = FALSE or TRUE

Ready = FALSE

Error = FALSE

S_Out = FALSE

1000_0000_0000_0000poubelle

8000hexagone

Le bloc fonctionnel est activé sans erreurs ni autres conditions qui définissent la sortie de sécurité sur FALSE. Il s'agit de l'état de fonctionnement standard dans lequel la sortie de sécurité S_Out est TRUE en fonctionnement normal. À titre d'exemple général, les entrées et sorties peuvent être définies comme suit :

Activate = TRUE

S_In = TRUE

Ready = TRUE

Error = FALSE

S_Out = TRUE

1000_0000_0000_0001poubelle

8001hexagone

Une activation a été détectée par le bloc et le bloc est maintenant activé. Cependant, le S_Out la sortie de sécurité est réglée sur FALSE. Ce code montre l'état d'initialisation du mode de fonctionnement. À titre d'exemple général, les entrées et les sorties peuvent être définies comme suit :

Activate = TRUE

S_In = FALSE or TRUE

Ready = TRUE

Error = FALSE

S_Out = FALSE

1000_0000_0000-0010poubelle

8002hexagone

Le POU activé détecte une demande de sécurité (exemple : S_In = FALSE). La sortie de sécurité est désactivée (S_Out = FALSE). À titre d’exemple général, les entrées et les sorties pourraient être définies comme suit :

Activate = TRUE

S_IN = FALSE

Ready = TRUE

Error = FALSE

S_Out = FALSE

1000_0000_0000_0011poubelle

8003hexagone

La sortie de sécurité du POU actif a été désactivée par une demande de sécurité. La demande de sécurité est désormais annulée, mais la sortie de sécurité reste active. FALSE jusqu'à ce qu'une condition de réinitialisation soit détectée. Il s'agit d'un état de fonctionnement dans lequel la sortie de sécurité S_Out = FALSEÀ titre d’exemple général, les entrées et les sorties pourraient être définies comme suit :

Activate = TRUE

S_In = FALSE => TRUE (continuer avec statique TRUE)

Ready = TRUE

Error = FALSE

S_Out = FALSE



Tableau d'état générique

Figure 50. Diagramme d'état générique des FB de sécurité
Diagramme d'état générique des FB de sécurité


. Explication du graphique d'état générique :
  • Il fournit un aperçu général des états et des transitions. Certaines transitions ne sont pas nommées, ce qui signifie qu'elles sont spécifiques à un FB et doivent être attribuées au FB correspondant.

  • Le diagramme montre trois zones :

    • Dans la zone supérieure, le bloc fonctionnel n'est pas actif et dans l'état sûr (les sorties sûres sont FALSE).

    • Dans la zone médiane, le bloc fonctionnel est actif et dans l'état sûr (les sorties sûres sont FALSE).

    • Dans la zone inférieure, le bloc fonctionnel est dans l'état normal (les sorties sûres sont TRUE).

  • La première ligne horizontale du diagramme d'état montre la transition d'un FB inactif à un FB actif.

  • La deuxième ligne horizontale montre la transition d’un état dangereux à un état sûr.

  • Les priorités des transitions parallèles possibles sont données par des nombres (priorité la plus élevée 0).

  • Les états contiennent le nom de l’état et le code de diagnostic hexadécimal.

  • Les conditions OR, AND, et XOR sont utilisés comme opérateurs logiques et NOT comme négation.

  • Dans la description du FB, l'état de départ est Idle, avec les transitions vers les différents états de fonctionnement via le Init État.

  • Activate = FALSE passe de chaque état directement à l' Idle État (0 = la priorité la plus élevée est réservée à Activate = FALSE). Pour une meilleure vue d'ensemble, ces transitions ne sont pas affichées dans chaque diagramme d'état. Ceci est mentionné dans une note de bas de page dans chaque diagramme d'état.

  • Dans l'aperçu, le paramétrage des sorties n'est pas défini dans le diagramme d'état. Une table de vérité explicite, qui comprend les informations « États FB vers sortie (sorties) », fait partie de chaque spécification FB avec les codes d'erreur et de statistiques spécifiques au FB.

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

DiagCode

Nom du statut

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

Cxxx

Error

Ready = TRUE

S_Out = FALSE

Error = TRUE



Tableau 13. Codes d'état spécifiques à FB (aucune erreur)

DiagCode

Nom du statut

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

0000

Idle

Ready = FALSE

S_Out = FALSE

Error = FALSE

8001

Init état du mode de fonctionnement

Ready = TRUE

S_Out = FALSE

Error = FALSE

8xxx

Tous les états du mode de fonctionnement où S_Out = FALSE

Ready = TRUE

S_Out = FALSE

Error = FALSE

8000

Tous les états du mode de fonctionnement où S_Out = TRUE

Ready = TRUE

S_Out = TRUE

Error = FALSE