Skip to main content

Programmes non liés à la sécurité (PRG non sûrs)

Avec le compilateur et la version d'exécution V3.5.4.0 et supérieure, les PRG peuvent également contenir du code non pertinent pour la sécurité dans une application de sécurité SIL2. Par défaut, tous les PRG contiennent du code relatif à la sécurité. Ceci est indiqué par le bloc jaune sil2_icon_safe.png à côté du symbole POU standard.

Figure 7. Application avec PRG de sécurité
Application avec PRG de sécurité


Si les conditions ci-dessus sont remplies pour la version du compilateur et la version du système d'exécution, le PRG Propriétés dialogue a un Propriétés SIL2 onglet avec le PRG relatif à la sécurité où le Contient un code relatif à la sécurité propriété des PRG peut être désactivée. Vous cliquez sur le Propriétés dans le menu contextuel d'un PRG pour ouvrir la boîte de dialogue des propriétés.

Si un PRG ne contient pas de code relatif à la sécurité, il est indiqué par le bloc gris sil2_icon_unsafe.png à côté du symbole POU standard.

Figure 8. Arborescence des appareils avec un PRG relatif à la sécurité et un PRG non relatif à la sécurité
Arborescence des appareils avec un PRG relatif à la sécurité et un PRG non relatif à la sécurité


Remarques concernant l'utilisation de programmes non liés à la sécurité

Les remarques suivantes expliquent la manière recommandée d'utiliser des programmes non liés à la sécurité. Notez que le manuel du fabricant de l'appareil complète ces informations.

Général

  • Les PRG non liés à la sécurité sont principalement utilisés pour exécuter des fonctions partielles individuelles non liées à la sécurité dans une application généralement critique pour la sécurité.

    Ces PRG non liés à la sécurité ne doivent pas avoir d'influence sur les parties liées à la sécurité. L'absence d'interférence sur les données sûres est réalisée au moyen d'une protection de la mémoire.

  • Les POU ne doivent pas être insérés sous un PRG non pertinent pour la sécurité (comme les méthodes, les actions).

  • Les PRG non liées à la sécurité ne doivent pas être déclarées dans le pool de POU. Les POU partagées doivent être gérées dans des bibliothèques.

Accès aux données et hiérarchie des appels

Données locales et globales

L'emplacement des données locales des POU dépend du type :

  • Une fonction

    Les variables locales sont dans la pile

  • Instance Facebook

    Les variables locales d'un FB se trouvent dans l'instance du FB.

Pour les données globales, les types de POU suivants peuvent être observés :

  • GVL (ainsi que EVL)

    Variables globales (types de données standard, instances FB, DUT)

  • GRP

    Variables globales (types de données standard, instances FB, DUT)

Le tableau suivant montre quels accès aux données sont généralement autorisés :

Contexte \ Type d'accès

Données relatives à la sécurité

Données non pertinentes pour la sécurité

Lire

Écrire

Lire

Écrire

Code relatif à la sécurité

d'accord

d'accord

d'accord

d'accord

Code non pertinent pour la sécurité

d'accord

Pas permis

d'accord

d'accord

Hiérarchie des appels

L'utilisation de PRG non liés à la sécurité (appels dans ou depuis ces POU) est soumise à des restrictions spécifiques car un accès non autorisé peut conduire à l'état sûr de l'automate.

Tableau 3. Hiérarchie des appels

Appel de / Appel à

PRG sûr

Fonction (utilisable en toute sécurité)

Instance FB sécurisée

PRG non sécurisé

Fonction (non utilisable en toute sécurité)

Instance FB non sécurisée

PRG sûr

d'accord

d'accord

d'accord

Pas d'accord

Pas d'accord

Pas d'accord

Fonction (utilisable en toute sécurité)

d'accord

d'accord

d'accord

Pas d'accord

Pas d'accord

Pas d'accord

Instance FB sécurisée

d'accord

d'accord

d'accord

Pas d'accord

Pas d'accord

Pas d'accord

PRG non sécurisé

Pas d'accord

Pas d'accord

Pas d'accord

d'accord

d'accord

d'accord

Fonction (non utilisable en toute sécurité)

Pas d'accord

Pas d'accord

Pas d'accord

d'accord

d'accord

d'accord

Instance FB non sécurisée

Pas d'accord

Pas d'accord

Pas d'accord

d'accord

d'accord

d'accord



Une instance FB est généralement considérée comme pertinente pour la sécurité. Les exceptions sont les suivantes :

  • Le FB est instancié dans un PRG non sécurisé.

  • Le FB est instancié dans une EVL.

  • L'instance FB est déplacée au moyen de "l'emplacement de l'attribut".

  • La déclaration FB se trouve dans une bibliothèque non pertinente pour la sécurité.

Exemple 6. Exemple 1

Le TON de la bibliothèque standard (Safe) est instancié dans un PRG (Safe).

Résultat : l'instance TON est en mémoire sécurisée.



Exemple 7. Exemple 2

Le TON de la bibliothèque standard (Safe) est instancié dans un PRG NonSafe.

Résultat : l'instance TON se trouve dans une mémoire non sécurisée.



Exemple 8. Exemple 3

Le PD de la bibliothèque Util (NonSafe) est instancié dans un PRG (Safe).

Résultat : l'instance PD se trouve dans une mémoire non sécurisée.

Important

L'utilisation d'un POU d'une bibliothèque non sécurisée dans un PRG sécurisé n'est pas autorisée.



Exemple 9. Exemple 4

Le PD de la bibliothèque Util (NonSafe) est instancié dans un PRG NonSafe.

Résultat : l'instance PD se trouve dans une mémoire non sécurisée.