Skip to main content

Reglas generales para bloques de funciones relacionados con la seguridad

Estas reglas de programación corresponden a las "Reglas generales para bloques de funciones de seguridad" de PLCopen. Esto se aplica a los bloques de funciones compatibles con PLCopen.

Directrices específicas para los bloques de funciones

Importante

Los FB de PLCopen solo se pueden usar en programas y bloques de función donde esté configurada la "Llamada única".

Señal predeterminada

Todas las señales de E/S booleanas orientadas a la seguridad tienen el valor seguro preestablecido FALSE.

Nivel de señal

El valor SAFEBOOL Sólo se puede utilizar de la siguiente manera:

  • 0: Corresponde a la seguridad definida para las salidas del sistema.

  • 1:Significa que los aspectos de seguridad del sistema están funcionando correctamente, de modo que es posible el funcionamiento normal, por ejemplo.

Esto refleja la funcionalidad de los entornos IEC 61131, como las reglas para el valor predeterminado y que todas las salidas están configuradas en 0 En caso de error.

Salidas

Cada salida debe ser asignada en cada ciclo.

Parámetros de E/S faltantes

Se permiten parámetros faltantes. Se aplican los valores predeterminados. Estos valores predeterminados no deben conducir bajo ninguna circunstancia a un estado inseguro. Los valores predeterminados y sus atributos (Variable o Constant) se especifican en los FB correspondientes.

Comportamiento de inicio

Al principio, las salidas se configuran con valores predeterminados. Después de la primera llamada de FB, las salidas son válidas. Hay un comportamiento de inicio consistente (inicio en frío).

Diagrama de tiempos

Los diagramas de tiempo que se muestran para los bloques de funciones se utilizan solo con fines explicativos. No representan el comportamiento temporal exacto. El comportamiento temporal exacto depende de la implementación.

Manejo y diagnóstico de errores

Todos los bloques de funciones orientados a la seguridad tienen dos salidas relacionadas con errores: Error y DiagCodeSe utilizan con fines de diagnóstico a nivel de usuario, no para diagnosticar a nivel de sistema o hardware.

La previsión para entornos orientados a la seguridad es que la activación de la función orientada a la seguridad tenga la máxima prioridad y que haya tiempo suficiente para el diagnóstico en la activación posterior, ya sea en el programa funcional o en la interfaz de usuario.

Parámetros de entrada generales

Nombre

Tipo de datos

Descripción

Activate

BOOL

Variable o constante para la activación del FB

Valor inicial: FALSE

Este parámetro se puede vincular a las variables que representan el estado (activo o no activo) del dispositivo de seguridad correspondiente. Esto garantiza que no se generen datos de diagnóstico irrelevantes cuando se desactiva el dispositivo.

FALSE:Todas las variables de salida se establecen en valores iniciales.

Si no hay ningún dispositivo conectado, se generará una señal estática. TRUE La señal debe ser asignada.

S_<nombre de entrada orientado a la seguridad>

SAFExxxx

Cada nombre de una entrada de SAFExxxx El tipo comienza con S_.

Sólo se pueden asignar variables.

S_StartReset

SAFEBOOL

Variable o constante

Activación del arranque automático del POU al arrancar el S-PLC (en caliente o en frío).

FALSE (= valor inicial): Arranque automático desactivado; arranque manual mediante el Reset aporte.

TRUE:Inicio automático

El Notas de seguridad para S_StartReset Debe tenerse en cuenta.

S_AutoReset

SAFEBOOL

Variable o constante

Activación del reinicio automático del POU

FALSE (= valor inicial): Reinicio automático desactivado; arranque manual mediante reset de entrada.

TRUE: Reinicio automático

El Notas de seguridad para S_AutoReset Debe tenerse en cuenta.

Reset

BOOL

Variable

Valor inicial: FALSE

Dependiendo de la función, esta entrada se puede utilizar para diferentes propósitos.

  • Restablecimiento de la máquina de estados y mensajes de error y estado asociados, como se muestra a través de DiagCode, si se soluciona la causa del error. Este comportamiento de reinicio está diseñado como un reinicio de error.

  • Restablecimiento manual de un bloqueo de reinicio por parte del operador. Este restablecimiento está diseñado como un restablecimiento funcional.

  • Otras funciones de reinicio específicas de FB.

Esta función está activa únicamente para un cambio de señal de FALSE a TRUE. Una estática TRUE La señal no genera más acciones, pero puede detectarse como un error en algunos POU.

El Notas de seguridad para Reset Debe ser observado.

Se describe el significado aplicable para cada POU.

Notas de seguridad para S_StartReset

S_StartReset

Este arranque automático debe activarse únicamente si se garantiza que no se producirá ningún peligro al iniciar el S-PLC. Por lo tanto, el uso de la función de "arranque automático" de los bloques de función requiere implementar otras medidas del sistema o de la aplicación para asegurarse de que no se produzca ningún arranque inesperado (o involuntario).

Atención

Si la entrada está vinculada a una variable (y no a FALSE), entonces se deben definir medidas de validación adicionales para ello.

Notas de seguridad para S_AutoReset

Atención

El reinicio automático debe activarse únicamente si se garantiza que no es posible reiniciar la máquina después de soltar el botón de parada de emergencia. Por lo tanto, el uso de la función "reinicio automático" de los bloques de funciones requiere implementar otras medidas del sistema o de la aplicación para asegurarse de que no se produzca un reinicio inesperado (o no intencionado) de la máquina.

Atención

Si la entrada está vinculada a una variable (y no a FALSE), entonces se deben definir medidas de validación adicionales para ello.

Notas de seguridad para Reset

Atención

Dependiendo de los requisitos de seguridad, SAFEBOOL debe estar conectado en lugar de BOOL.

Parámetros generales de salida

Nombre

Tipo de datos

Descripción

Ready

BOOL

TRUE: Indica que la POU está activada y los resultados de salida son válidos (igual que el LED "POWER" de un relé de seguridad).

FALSE: La POU no está activa y el programa no se ejecuta. Útil en modo de depuración o para activar y desactivar POU adicionales. También para su posterior procesamiento en el programa funcional.

S_<nombre de salida orientada a la seguridad>

SAFExxxx

Cada nombre de un SAFExxxx El tipo comienza con S_.

Error

BOOL

Bandera de error (igual que el LED "K1/K2" de un relé de seguridad).

TRUE: Indica que se ha producido un error y que la POU se encuentra en estado de error. El estado de error correspondiente se indica en la salida DiagCode.

FALSE:No hay ningún error y el POU está en otro estado. Esto también lo indica el DiagCode producción.

Esto es útil en el modo de depuración, así como para el procesamiento posterior en el programa funcional.

DiagCode

WORD

Registro de diagnóstico.

Todos los estados de POU (Active, Not Active, y Error) se asignan mediante este registro. Solo se muestra el código consistente al mismo tiempo. En caso de varios errores, el DiagCode La salida muestra el primer error detectado.

Esto es útil en el modo de depuración, así como para el procesamiento posterior en el programa funcional.

Códigos de diagnóstico

Un concepto de diagnóstico transparente y uniforme constituye la base para todos los bloques. Esto garantiza que los usuarios finales dispongan de información de diagnóstico uniforme en forma de DiagCode, independientemente de la implementación del usuario final. Si no hay errores, se muestra el estado interno del bloque (máquina de estados). Los errores se muestran mediante una salida binaria (Error) Para obtener información más detallada sobre errores de bloque internos o externos, consulte DiagCodeEl bloqueo debe restablecerse mediante varios Reset Entradas.

tabla 9. Rangos de códigos de diagnóstico generales

DiagCode

Descripción

0000_0000_0000_0000papelera

La POU no está activada o la CPU de seguridad está detenida.

10xx_xxxx_xxxx_xxxxpapelera

Indica que el POU activado está en estado operativo sin errores.

X = Código específico del POU

11xx_xxxx_xxxx_xxxxpapelera

Indica que el POU activado está en estado de error.

X = Código específico del POU



tabla 10. Códigos específicos del sistema o del dispositivo

DiagCode

Descripción

0xxx_xxxx_xxxx_xxxxpapelera

X = mensaje específico del sistema o del dispositivo. Esta información incluye información de diagnóstico sobre el sistema o el dispositivo.

Nota: 0000hex está reservado



tabla 11. Códigos de diagnóstico genéricos

DiagCode

Descripción

0000_0000_0000_0000papelera

0000maleficio

La POU no está activada. Este código representa el estado inactivo. Como ejemplo general, la configuración de E/S podría ser la siguiente:

Activate = FALSE

S_In = FALSE or TRUE

Ready = FALSE

Error = FALSE

S_Out = FALSE

1000_0000_0000_0000papelera

8000maleficio

El bloque de función se activa sin errores ni otras condiciones que establezcan la salida de seguridad. FALSEEste es el estado operativo estándar donde la salida de seguridad S_Out es TRUE En funcionamiento normal. Como ejemplo general, las entradas y salidas se podrían configurar de la siguiente manera:

Activate = TRUE

S_In = TRUE

Ready = TRUE

Error = FALSE

S_Out = TRUE

1000_0000_0000_0001papelera

8001maleficio

El bloque ha detectado una activación y ahora está activado. Sin embargo, el S_Out La salida de seguridad está configurada en FALSEEste código muestra el estado inicial del modo de funcionamiento. Como ejemplo general, las entradas y salidas se pueden configurar de la siguiente manera:

Activate = TRUE

S_In = FALSE or TRUE

Ready = TRUE

Error = FALSE

S_Out = FALSE

1000_0000_0000-0010papelera

8002maleficio

El POU activado detecta una demanda de seguridad (ejemplo: S_In = FALSE). La salida de seguridad está desactivada (S_Out = FALSE). Como ejemplo general, las entradas y salidas podrían configurarse de la siguiente manera:

Activate = TRUE

S_IN = FALSE

Ready = TRUE

Error = FALSE

S_Out = FALSE

1000_0000_0000_0011papelera

8003maleficio

La salida de seguridad de la POU activa ha sido desactivada por una solicitud de seguridad. La solicitud de seguridad ahora está cancelada, pero la salida de seguridad permanece FALSE hasta que se detecte una condición de reinicio. Este es un estado operativo donde la salida de seguridad S_Out = FALSEComo ejemplo general, las entradas y salidas podrían configurarse de la siguiente manera:

Activate = TRUE

S_In = FALSE => TRUE (continuar con estática TRUE)

Ready = TRUE

Error = FALSE

S_Out = FALSE



Cuadro de estados genérico

figura 50. Diagrama de estado genérico de los FB de seguridad
Diagrama de estado genérico de los FB de seguridad


. Explicación del cuadro de estados genérico:
  • Proporciona una descripción general de los estados y transiciones. Algunas transiciones no tienen nombre, lo que significa que son específicas del FB y deben asignarse al FB correspondiente.

  • El diagrama muestra tres áreas:

    • En el área superior, el bloque de función no está activo y está en estado seguro (las salidas seguras están FALSE).

    • En el área central, el bloque de función está activo y en estado seguro (las salidas seguras están FALSE).

    • En el área inferior, el bloque de función está en el estado normal (las salidas seguras están TRUE).

  • La primera línea horizontal del diagrama de estado muestra la transición de un FB inactivo a un FB activo.

  • La segunda línea horizontal muestra la transición de un estado inseguro a un estado seguro.

  • Las prioridades de las posibles transiciones paralelas se dan mediante números (prioridad más alta 0).

  • Los estados contienen el nombre del estado y el código de diagnóstico hexadecimal.

  • Las condiciones OR, AND, y XOR se utilizan como operadores lógicos y NOT como negación.

  • En la descripción de FB, el estado inicial es Idle, con las transiciones a los estados operativos individuales a través de la Init estado.

  • Activate = FALSE cambia de cada estado directamente al Idle estado (0 = la máxima prioridad está reservada para Activate = FALSE). Para una mejor visión general, estas transiciones no se muestran en cada diagrama de estado. Esto se menciona como una nota al pie en cada diagrama de estado.

  • En la descripción general, la configuración de las salidas no está definida en el diagrama de estados. Una tabla de verdad explícita, que incluye la información "Estados del FB a la salida (salidas)", forma parte de cada especificación del FB con los códigos de error y estadísticas específicos del FB.

tabla 12. Códigos de error específicos de FB

DiagCode

Nombre del estado

Descripción del estado y configuración de salida

Cxxx

Error

Ready = TRUE

S_Out = FALSE

Error = TRUE



tabla 13. Códigos de estado específicos de FB (sin error)

DiagCode

Nombre del estado

Descripción del estado y configuración de salida

0000

Idle

Ready = FALSE

S_Out = FALSE

Error = FALSE

8001

Init Estado del modo operativo

Ready = TRUE

S_Out = FALSE

Error = FALSE

8xxx

Todos los estados del modo operativo donde S_Out = FALSE

Ready = TRUE

S_Out = FALSE

Error = FALSE

8000

Todos los estados del modo operativo donde S_Out = TRUE

Ready = TRUE

S_Out = TRUE

Error = FALSE