Bloques de organización de tratamiento de errores



Los errores reconocibles por las CPUs S7 y a los cuales se puede reaccionar con los bloques de organización se clasifican en dos categorías:

· Errores síncronos: Estos errores se pueden asignar a una parte determinada del programa de usuario. El error es provocado por una determinada operación durante la ejecución. Si el OB de error síncrono correspondiente no está cargado, la CPU pasa a STOP al presentarse el error.

· Errores asíncronos: Estos errores no se pueden asignar directamente al programa de usuario en ejecución. Se trata de errores de prioridad, errores en el sistema de automatización (p. ej., fallos de módulos) o de errores de redundancia. Si el OB de error asíncrono correspondiente no está cargado, la CPU pasa a STOP al presentarse el error. (Excepciones: OB 70, OB 72, OB 81).

Medidas en el programa para tratar fallos

Al detectar errores en la ejecución del programa (errores síncronos) y errores en el sistema de automatización (errores asíncronos), la CPU llama la ventana correspondiente al OB de error:

( Pinchar en la imagen )

Si el OB en cuestión no existe, la CPU pasará a estado operativo "STOP". En caso contrario, es posible depositar instrucciones en el OB, indicando cómo se debe reaccionar al error. Así se pueden reducir los efectos del error o remediarlo.

Crear y abrir el OB

1. Llame la información del módulo de su CPU.

2. En la ficha "Datos característicos", haga clic en el botón "Bloques".

3. En la lista visualizada, consulte si el OB a programar es admisible para su CPU.

4. Inserte el OB en la carpeta "Bloques" de su programa y abra éste último.

5. Introduzca el programa para corregir el error.

6. Cargue el OB en el sistema de destino.

Evaluar el parámetro de salida RET_VAL

Cualquier función del sistema (SFC) muestra a través del parámetro de salida RET_VAL (valor de retorno) si la CPU la ha ejecutado correctamente.

Informaciones de error en el valor de retorno

El valor de retorno es de tipo entero (INT). El signo de un entero indica si se trata de un número entero positivo o negativo. La relación del valor de retorno con respecto a "0" indica si durante la ejecución de la función ha ocurrido un error: Si durante la ejecución de la función ocurre un error, el valor de retorno es inferior a 0. El bit de signo del número entero es "1", y si la función se ejecuta sin error, el valor de retorno es mayor o igual a 0. El bit de signo del entero es "0".

Reaccionar a informaciones de error

Si ocurre un error al ejecutar una SFC, ésta suministra un código de error a través del valor de retorno RET_VAL. Se distingue entre un código de error general, que puede ser emitido por todas las SFCs y un código de error específico, que puede ser emitido por una SFC conforme a sus funciones específicas.