Hoy vamos a ver cómo crear un filtro EMA en TIA Portal.
Ya veo que te has quedado con las cejas arqueadas pensando.. ¿soy el único que no sé que es un filtro EMA?
Pues no, no lo eres. Seguro.
El filtro exponencial EMA (Exponential Moving Average), o en castellano media móvil exponencial, tiene dos características muy chulas para nuestros PLC:
- Es muy sencillo de implementar
- Carga muy poco la CPU
- Puedes configurar fácilmente si quieres realizar un filtrado paso bajo o paso alto.
Normalmente realizamos filtrados del ruido mediante filtros por muestreo como ya hemos realizado en alguna ocasión.
Tomamos el valor de la señal, hacemos una media, o similar, y ya está.
Funciona, y funciona muy bien.
Pero hoy damos un pasito más, ¿te parece?
Filtro EMA en TIA Portal
Lo primero que quiero decir, que yo lo voy a hacer en SCL bajo TIA Portal, pero es aplicable a Step 7 tradicional sin ningún problema, y en FUP o KOP.
Básicamente, lo que vamos a aplicar, es la siguiente fórmula:
An = Alpha*Señal + (1-Alpha)*An-1
Donde,
- An: Señal filtrada del ciclo actual
- Alpha: un valor entre 0 y 1
- An-1: Señal del ciclo anterior.
Como ves, de la fórmula se desprenden varias cosas:
- Un Alpha=0, no obtendremos señal alguna ya que no tendríamos en cuenta la señal actual
- Un Alpha=1, no habría filtrado, y el valor filtrado sería igual a la señal sin tratar.
- Es tremendamente sencilla de aplicar debido a que se trata de realiza dos sumas y dos multiplicaciones.
El vídeo
Para realizar el ejemplo, he usado:
- El generador de señales que ya vimos aquí
- En el Bloque 4 del curso de TIA Portal dedicado a SCL
- El curso de crear HMI con Snap 7
Let’s go!
¿Qué te ha parecido?
Espero que te haya parecido interesante.
Como ves, puedes realizar un filtro paso alto (sobre Alpha 0,2) o paso bajo (Alpha sobre 0,6)
Si te interesa conocer un poco más sobre este filtro, puedes echarle un vistazo a esta página donde se explica todo en mucha mayor profundidad.
¡¡Espero tus comentarios!!
Recuerda que puedes apuntarte en Guorker.com donde por una cuota mensual, tendrás tarifa plana en todos los cursos disponibles en la plataforma.
Enseño a programar PLC de Siemens a través de mis cursos.
Más información sobre mi aquí
Puedes seguirme en cualquiera de las siguientes redes sociales.
5 Comentarios
muy interesante me gustaria tener mas tiempo para aprender.
hola iñigo, como modifico la formula si deseo hacer un filtro paso alto, en teoría, en el ejemplo vos mostras un filtro paso bajo, es decir, supresión de altas frecuencias, pero si yo deseo suprimir las bajas frecuencias, que modificaría en la formula?.. si yo subo el alpha, dejo pasar tanto bajas como altas, es decir alpha casi 1.
Muchas gracias por el aporte, actualmente estoy en realizando un proyecto aca en Mexico y precisamente tuve detalles con una señal analógica donde variaba bastante y no me permitia relizar bien mi aplicacion y con ésta informacion pude resolverla.
Saludos!!!
Genial Francisco!
Podrías explicar que tanto variaba tu señal y como lo resolviste exactamente