Programas no relevantes para la seguridad (PRG no seguros)
Con la versión de compilador y tiempo de ejecución V3.5.4.0 y superior, los PRG también pueden contener código no relevante para la seguridad en una aplicación de seguridad SIL2. De forma predeterminada, todos los PRG contienen código relevante para la seguridad. Esto se indica con el bloque amarillo. junto al símbolo POU estándar.

Si se cumplen los requisitos anteriores para la versión del compilador y la versión del sistema de tiempo de ejecución, entonces el PRG Propiedades el diálogo tiene un Propiedades SIL2 ficha con el PRG relevante para la seguridad donde el Contiene código relevante para la seguridad La propiedad de los PRG se puede desactivar. Haces clic en el Propiedades en el menú contextual de un PRG para abrir el diálogo de propiedades.
Si un PRG no contiene un código relevante para la seguridad, se indica con el bloque gris junto al símbolo POU estándar.

Notas para el uso de programas no relevantes para la seguridad
Las siguientes notas explican la forma recomendada de utilizar programas no relevantes para la seguridad. Tenga en cuenta que el manual del fabricante del dispositivo complementa esta información.
General
Los PRG no relevantes para la seguridad se utilizan principalmente para ejecutar funciones parciales individuales no relevantes para la seguridad dentro de una aplicación generalmente crítica para la seguridad.
Estos PRG no relevantes para la seguridad no deben tener ninguna influencia sobre las partes relevantes para la seguridad. La ausencia de interferencias en los datos seguros se realiza mediante una protección de la memoria.
Las POU no deben insertarse debajo de un PRG que no sea relevante para la seguridad (como métodos, acciones).
Los PRG no relevantes para la seguridad no deben declararse en el grupo de POU. Las POU compartidas deben administrarse en bibliotecas.
Acceso a datos y jerarquía de llamadas
Datos locales y globales
La ubicación de los datos locales de las POU depende del tipo:
Función
Las variables locales están en la pila.
instancia de FB
Las variables locales de un FB se encuentran en la instancia del FB.
Para datos globales, se pueden observar los siguientes tipos de POU:
GVL (así como EVL)
Variables globales (tipos de datos estándar, instancias de FB, DUT)
PRG
Variables globales (tipos de datos estándar, instancias de FB, DUT)
La siguiente tabla muestra qué acceso a los datos está permitido en general:
Contexto \ Tipo de acceso | Datos relevantes para la seguridad | Datos no relevantes para la seguridad | ||
---|---|---|---|---|
Leer | Escribe | Leer | Escribe | |
Código relevante para la seguridad | OK | OK | OK | OK |
Código no relevante para la seguridad | OK | No permitido | OK | OK |
Jerarquía de llamadas
El uso de PRG no relevantes para la seguridad (llamadas en o desde estas POU) está sujeto a restricciones específicas porque el acceso no autorizado puede conducir al estado seguro del PLC.
Llamar desde / Llamar a | PRG seguro | Función (de uso seguro) | Instancia segura de FB | PRG no seguro | Función (NonSafe utilizable) | Instancia de FB no segura |
---|---|---|---|---|---|---|
PRG seguro | OK | OK | OK | No está bien | No está bien | No está bien |
Función (de uso seguro) | OK | OK | OK | No está bien | No está bien | No está bien |
Instancia segura de FB | OK | OK | OK | No está bien | No está bien | No está bien |
PRG no seguro | No está bien | No está bien | No está bien | OK | OK | OK |
Función (NonSafe utilizable) | No está bien | No está bien | No está bien | OK | OK | OK |
Instancia de FB no segura | No está bien | No está bien | No está bien | OK | OK | OK |
Una instancia de FB generalmente se considera relevante para la seguridad. Las excepciones son las siguientes:
El FB se instancia en un PRG NonSafe.
El FB se instancia en una EVL.
La instancia de FB se mueve por medio de "ubicación de atributo".
La declaración de FB se encuentra en una biblioteca no relevante para la seguridad.
El TON de la biblioteca estándar (Safe) se instancia en un PRG (Safe).
Resultado: la instancia de TON está en memoria segura.
El TON de la biblioteca estándar (Safe) se instancia en un PRG NonSafe.
Resultado: la instancia de TON está en una memoria no segura.
El PD de la biblioteca Util (NonSafe) se instancia en un PRG (Safe).
Resultado: la instancia de PD está en una memoria no segura.
Importante
No se permite el uso de una POU de una biblioteca no segura en un PRG seguro.
El PD de la biblioteca Util (NonSafe) se instancia en un PRG NonSafe.
Resultado: la instancia de PD está en una memoria no segura.