Conversiones analógico digitales en Codesys

PorSatoshi

Conversiones analógico digitales en Codesys

En (casi) todos los proyectos en los que vayas a programar una automatización, te vas a encontrar con la necesidad de leer valores analógicos. ¿Cómo escalarlos para poder leer su valor? En este post te lo explico:

¿Escalar?

Empecemos con lo más basico. ¿Por qué tendría que escalar un valor?
Si lo pensamos, muchos de los instrumentos analógicos que conectamos a nuestros PLC’s vienen con fichas técnicas que nos indican un doble rango: el de medición, y el de salida eléctrica. A esto, hay que agregar todavía un tercer rango, que es el que nos da el conversor analógico digital. Veamos un diagrama de bloques:

Pasos en la conversión A/D

Para el ejemplo que vamos a tratar, imaginemos que intentamos conectar un sensor de presión que mide de 0 – 5 bar, con una salida de 4 – 20 mA.
Nuestro reto por lo tanto, será que en el PLC podamos leer realmente los 0 – 5 bar. Tenemos que hacer 3 conversiones de unidades.

¿Y cómo lo hago?

Uno de los elementos que influyen es el conversor analógico digital. El PLC es en definitiva una máquina de unos y ceros. Esto significa que los valores analógicos necesitan ser codificados en un vector de 1/0 consecutivos. Estas conversiones se pueden interpretar en definitva como “cuentas”, que van entre un valor minimo “Val_m” y un valor máximo “Val_M”. Cuantas más cuentas, mayor será el valor analógico.
La clave de esto es leerse el datasheet de la tarjeta de entrada analógica e interpretarlo para poder hacer la conversión correspondiente.
Un ejemplo puede ser por ejemplo el de esta tarjeta de Wago:

Correspondencia entre corriente y cuentas

Leyendo la hoja de características podemos hacer una correlación “cuentas” y mA. Claro, nos falta tener la otra relación, que es la de bar – mA. Pero en este caso, suponemos que es simplemente una línea recta, donde 0 bar corresponde a 4 mA, y 5 bar corresponde a 20 mA.

Valor medido (bar) Valor medido (mA) Valor en A/D
0 4 0
1 7,2 6552
2,5 12 16384
3,5 15,2 22936
5 20 32760


Dentro Vídeo

Vistas estas notas, vamos a ver el vídeo donde os presento la instrucción LIN_TRAFO. Este método os será valido siempre que las señales sean lineales:

Más información

¿Qué te ha parecido? En realidad hay más formas de hacer conversiones en Codesys. ¿Cuál usas?
Para seguir aprendiendo te recomiendo que te suscribas al blog de Opiron, o que le eches un vistazo a los cursos disponibles.
Saludos 🙂

Sobre el autor

Satoshi administrator

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.