sábado, 19 de septiembre de 2009

Cómo normalizar una señal de entrada analógica

TyC-005

Hace algunos días me tocó revisar una falla en una máquina con un PLC CompactLogix.
El problema me lo describieron de la siguiente manera: Se cambió un sensor de nivel tipo varilla de un tanque que recibe producto. Luego del cambio, en la pantalla del panel operador, se observó que cuando el tanque se llenaba, el valor de nivel desplegado indicaba 100%, lo cual era correcto, pero cuando se vaciaba el tanque, el valor se iba a -65252%, un valor incorrecto.
Se revisó primeramente que el sensor de nivel no estuviera mandando un valor equivocado, por lo que se revisó la corriente que enviaba. Sin embargo, se encontró que realmente variaba correctamente su valor, de 4 a 20 mA, conforme se disminuía o aumentaba el nivel del tanque.
A continuación se revisó que la tarjeta del PLC de entradas analógicas, estuviera leyendo correctamente la señal. Pero también se tenía una correcta variación de la señal.
El siguiente paso fue revisar el programa.
Aquí en el programa encontré una sencilla forma de normalizar esta lectura de nivel analógico, la cual se base en una sencilla fórmula:

y = d * VE - comp

donde

d = (LS - LI) / (VSE - VIE)

comp = d * VIE

definiendo los términos, tenemos que:

VE: Valor actual de la entrada analógica
comp: Valor de off-set para compensación de la lectura analógica
LS: Límite máximo superior normalizado
LI: Límite máximo inferior normalizado
VSE: Valor de límite superior de la entrada analógica (cuando recibe 20 mA)
VIE: Valor de límite inferior de la entrada analógica (cuando recibe 4 mA)
d: Relación entre los límites normalizados y los límites leídos en la entrada analógica
y: Valor normalizado de la lectura analógica

Para darle el uso correcto a esta fórmula, procedemos de la siguiente forma:

1. Primero establecemos los límites superior e inferior normalizados. Para nuestro caso, como queremos leer un valor de nivel de un tanque, nos interesa saber si el tanque está lleno (100%) o está vacío (0%). Así que, LS = 100 y LI = 0. Los valores intermedios, quedarán en este rango.
2. El siguiente paso es definir el valor del límite superior de la entrada analógica. Para ello, hacemos que nuestro sensor nos mande 20 mA, y anotamos el valor que leemos en nuestro PLC. Si, por ejemplo, cuando tenemos 20 mA leemos en nuestra entrada analógica el valor de 50000, éste lo tomamos como nuestro valor VSE. Así, VSE = 50000
3. De una manera similar al paso anterior, procedemos a definir el valor para VIE. Cuando nuestro sensor nos mande 0 mA, anotamos qué valor rebimos en nuestra entrada analógica. Si recibimos el valor de 0, queda que VIE = 0

Al aplicar esta fórmula, tendremos que nuestro valor normalizado "y", variará de 0% a 100%, conforme varíe la lectura de la señal analógica.

Si, por ejemplo, tenemos en la entrada analógica una lectura de 25000, esto indicará que nuestro tanque estará lleno al 50% (valor normalizado).

El problema con quedó solucionado al calibrar los valores que mandaba el sensor de nivel cuando teníamos 4 y 20 mA.

A partir de esta calibración, la máquina trabajó satisfactoriamente.
    

3 comentarios:

  1. hola amigo, aunque ya paso mucho tiempo de esta
    publicación me gustaría poder ver el código del plc para una mejor comprencion te lo agradcere de antemano.

    ResponderEliminar
  2. Hola, como hago si mido temperaturas y quiero que muestre la temperatura no el porcentaje?? Estoy empezando con esto. Les agradezco su respuesta.

    ResponderEliminar
    Respuestas
    1. creo que sólo debería hacer una regla de 3 amigo mio!
      Como dijo que era 2500 un 50% porque 100% era 5000 de lectura.

      Eliminar