Profibus-PA: byte de Estatus y A Prueba de Fallas

Introducción

Una característica muy útil brindada por el protocolo Profibus PA es el byte de estatus en la estructura float +status.

La gran ventaja de esta característica es posibilitar, además del valor de la medición, una información que pueda calificar este valor y que ayude la condición a prueba de fallas (Fail Safe). Veremos en seguida algunos detalles sobre esta funcionalidad.

Para entender el byte de estatus

El estatus de entrada y de los parámetros de salidas tiene  la finalidad de transmitir informaciones sobre el estatus actual a los demás bloques funcionales

El campo de estatus se compone de tres partes: Calidad, Subestatus y Límites.

Quality– indica la calidad del valor del parámetro.

  • Good Cascade– La calidad del valor es buena y puede utilizarse para el control en cascada.
  • Good Non-cascade– La calidad Del valor ES buena y no puede utilizarse para control en cascada.
  • Uncertain– La calidad del valor está por debajo del normal, pero el valor todavía puede ser útil.
  • Bad– El valor no es útil.

Subestatus– El subestatus es un complemento del estatus de calidad y lleva la información para inicializar o detener un control en cascada, alarmes y otros. Hay diferentes configuraciones del subestatus para cada calidad.

Límites– Provee informaciones si el valor asociado es limitado o no, además de la dirección. Los límites se clasifican como:Not Limited, High Limited, Low Limited, Constant.

Cuando un parámetro de entrada se conecta en un parámetro de salida a través del cambio de datos cíclicos, toda la estructura (estatus y valor) es recibida vía comunicación fieldbus.

El estatus tiene la siguiente composición: Quality, Sub-status y Limits:

Calidad Subestatus Límites

Figura 1 – Curva de Calibración de Transmisor de Presión

Los componentes del estatus se definen abajo:

Quality – La calidad usada será determinada por la condición de prioridad más alta:

  • 0 = Malo
  • 1 = Incierto
  • 2 = Bueno (No-cascada)
  • 3 = Bueno (Cascada)

Subestatus – Los valores del subestatus en el status attribute se definen según la tabla 1.

Limit – La siguientes condiciones de límites estarán siempre disponibles en el estatus.

  • 0 = No limitada
  • 1 = Límite Bajo
  • 2 = Límite Alto
  • 3 = Constante

Ejemplos: 

  • 0xC1 (en hexadecimal) es el estatus  “Good-Cascade Non Specific and Low Limited”
  • 0xCF(en hexadecimal) es el estatus  “Good-Cascade Not invited and Constant”
  • 0x4E(en hexadecimal) es el estatus  “ Uncertain Initial Value and High Limited” 

Ejemplo: conversión de número para enumeraciones

Hay muchas formas de convertir el número enumerado a la secuencia de estatus. Abajo se ven dos formas:

1) Expresando el número en binario.

Estatus del valor hexadecimal = 78 = 0x4E = 01001110 (en binario)

 Al dividirse este número binario en campos Quality, Substatus y Limit:

  • Quality = 01 = 1 = “Uncertain”
  • Subestatus = 0011 = 3 = “Valor Inicial”
  • Limit = 10 = 2 = “Limitado en Alto”

 El estatus correspondiente es “uncertain - initial value - high limited.”

2) Usando el valor del estatus en formato decimal.

Decimal Value Status = 78

Dividido el número por 64. El cociente será el Quality y el restante almacenado:

  • Quality = 78 / 64 = 1
  • Resto = 14

Dividido el restante por 4. El cociente será el Subestatus y el  restante será el Límite:

  • Substatus = 14 / 4 = 3
  • Limit = 2

(Legendas do cuadro abaixo)

Calidad Subestatus Valor Hexa Valor Decimal No Cascada Camino de Avance en cascada Camino de Cascada hacia atrás

0 = ok (prioridad más baja)

9= requiere mantenimiento 1 = Evento de actualización de activo 2 = Alarme de alerta activo 3 = Alarme crítico activo 4 = Actualización de evento no reconocido 5 = Alarme de alerta no reconocido 6 = Alarme crítico no reconocido 7 = Inicio de Fail-Safe (IFS) Sustituto 3 = Valor inicial 4 = Conversión de sensor sin precisión 5 = Banda de unidades de ingeniería violada 6 = Subnormal 7 = Erro de configuración 8 = Valor simulado 9 = Calibración del sensor  (Confirmar a ordem)

Tabla 1 – Condiciones de estatus

0 = ok  1 = Reconoce inicialización (IA) 2 = Requisita inicialización (IR) 3 = No invitado 3 = No invitado (NI) 5 = No seleccionado (NS) 6 = Override (LO local) 8 = Iniciada Fail-Safe IFS) 0 = No específico 1 = Error de configuración 2 = No conectado 3= Falla del equipo 4 = Falla del sensor  (confirmar a ordem)

5 = Ninguna comunicación con ultimo valor utilizable 6 = Ninguna comunicación con ultimo valor utilizable 7 = Fuera de Servicio (la prioridad más alta)

Manejo en Fail Safe (À Prueba de Fallas)

El Fail Safe es un estatus especial, que posibilita al bloque de función actuar cuando detectarse una situación anormal.

Una situación anormal ocurre cuando haya una entrada poco común, por ejemplo, sensor con defecto o pérdida de comunicación entre los bloques de función por un período mayor que el especificado (FSAFE_TIME).

Cuando la condición que activó el estatus de falla (Fault State) normalizarse, el Fault State es puesto en cero y el bloque vuelve a la operación normal.

Cuando los Bloques de Función de entrada o salida detectan una condición anormal, el bloque entra en modo FAIL_SAFE. Estas situaciones anormales se detectan a través de diferentes formas.

Los bloques de función de entrada, por ejemplo, AI y TOT se conectan con un bloque transductor vía canal. Cuando la salida del transductor tiene un estado malo (por ejemplo, sensor defectuoso),  la condición FAIL_SAFE del bloque se activa.

Los bloques de función de salida, por ejemplo, el bloque AO, recibe los valores de entrada de uno de los bloques superiores a través de la “conexión cíclica”. Estos bloques superiores son bloques de función de control y, por el general, provienen de equipos de control. En este caso, el fail safe se activa cuando se alcanza una de las siguientes condiciones:

  • Perdida de comunicación de RCAS_IN por tiempo superior a  FSAFE_TIME;
  • Perdida de comunicación de SP durante un tiempo superior a FSAFE_TIME;
  • El estatus IFS en la entrada RCAS_IN cuando el modo designado es RCas;
  • El estatus IFS en el SP cuando el modo designado es AUTO.

Acciones de Fail Safe (A Prueba de Fallas)

Cuando el bloque está en Fail Safe, el usuario debe seleccionar las acciones que un bloque de entrada o salida pueden tomar a través del parámetro FSAFE_TYPE en los blogues AI y AO o usando el parámetro de FAIL_TOT en el bloque TOT.

En el parámetro FSAFE_TYPE se posibilitan las siguientes opciones:

  • Usar FSAFE-VALUE – En este caso, los bloques AI y AO usan el valor seguro proveído por el parámetro FASEF_VALUE para el cálculo cuando el Fail Safe está activo. El estatus de salida va a “Uncertain, substitute value”.
  • Usar Last Usable Value – En este caso, los bloques AI y AO usan el último valor utilizable para el cálculo del algoritmo. El estatus será “Uncertain Last Usable Level”. Si todavía no existe valor satisfactorio, use el Valor Inicial en la salida. El estatus será “Uncertain Initial Value”.
  • “Use the wrong value” (solo para el bloque AO) – el AI usa los valores y estatus errados para cálculo.
  • Usar el ACTUATOR_ACTION (solo para el bloque AO) – El bloque AO entra en posición de seguridadbasado en el parámetro discreto ACTUATOR_ACTION en el  bloque transductor.

En el parametro FAIL_TOT (solo usado en el bloque totalizador ) se posibilitan las siguientes opciones:

  • Hold – Para totalizar en el último valor. El estatus de salida va a “Uncertain non-specific”.
  • Memory – Usa el último valor válido para la totalización. El estatus será de “Uncertain Last Usable Value”. Si no hay un estatus válido en la memoria, use el valor inicial para la totalización. El estatus será “Uncertain, Initial Value”.
  • Run – La totalización se reanuda, usando el valor y estatus incorrectos para la salida. 

Conclusión

Hemos visto en este artículo la importancia del argumento estatus en el Profibus-PA y sus peculiaridades

Referencias

  1. Manuales SMAR Profibus
  2. https://www.smar.com/es
  3. Materiales de Entrenamiento Profibus – César Cassiolato