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 à côté du symbole POU standard.

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 à côté du symbole POU standard.

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