Skip to main content

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. sil2_icon_safe.png junto al símbolo POU estándar.

figura 7. Aplicación con PRG relevantes para la seguridad
Aplicación con PRG relevantes para la seguridad


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 sil2_icon_unsafe.png junto al símbolo POU estándar.

figura 8. Árbol de dispositivos con un PRG relevante para la seguridad y un PRG no relevante para la seguridad
Árbol de dispositivos con un PRG relevante para la seguridad y un PRG no relevante para la seguridad


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.

tabla 3. Jerarquía de llamadas

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.

ejemplo 6. Ejemplo 1

El TON de la biblioteca estándar (Safe) se instancia en un PRG (Safe).

Resultado: la instancia de TON está en memoria segura.



ejemplo 7. Ejemplo 2

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.



ejemplo 8. Ejemplo 3

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.



ejemplo 9. Ejemplo 4

El PD de la biblioteca Util (NonSafe) se instancia en un PRG NonSafe.

Resultado: la instancia de PD está en una memoria no segura.