Más de una vez he tenido que graficar y utilizar una medida de temperatura en mis automatizaciones. Seguro que tú también.
¿No te ha pasado que por ejemplo, la medida de un termómetro (pirómetro) se mueve más que los precios?
Si has asentido con la cabeza, te voy a enseñar ¡cómo crear el filtro de temperatura en TIA Portal definitivo!
Vale, igual me he pasado de frenada. Pero vamos, que creo que te va a gustar e incluso te puede ser útil.
La idea de hacer este post me ha surgido tras realizar el ejemplo del contador de la semana pasada.
Para las medidas de termopares seguramente no va a ser tan útil ya que ya de por sí, la variación en la medida de un termopar es razonablemente lento.
Contenido
Un método para dominarles a todos
No, esto no es el Señor de los Anillos, pero nos va a servir para realizar un filtrado de señales que tengan grandes variaciones tanto si son en 4-20 mA como si son en 0-10V o de cualquier otro rango. Lo que vamos a hacer es sacar el valor medio de una serie de muestreos.
Lo que vamos a hacer es lo siguiente:
- Vamos a recolectar valores, con un mínimo de 10 capturas. Pero podrán ser más o menos en cantidad.
- Vamos a desestimar el 10% de los valores superiores e inferiores
- Haremos la media con los valores que nos queden.
La cosa se complica al querer eliminar el 10% de los valores superiores o inferiores, pero va a ser una señal mucho más limpia ya que estaremos eliminando los extremos que seguramente no sean reales.
Si la medida sube, efectivamente vamos a eliminar el valor más alto que hemos tomado, pero hay que tener en cuenta que esto no está pensado para grandes periodos, sino para un segundo por ejemplo, de tal forma que de forma continua, en cada ciclo tengas un valor filtrado y medio.
Es decir, tenemos los siguientes datos:
Imaginemos que tomamos los primeros 10 ciclos que se producen a intervalo de 100ms cada uno.
Lo lo que vamos a hacer es quedarnos con los valores: { 7, 12, 6, 8, 6, 9, 5, 7, 1, 7}
Posteriormente, los ordenaremos de más a menos o de menos a más (es irrelevante): {1, 5, 6, 6, 7, 7, 7, 8, 9, 12}
Ahora, eliminamos el 10% superior e inferior: {5, 6, 6, 7, 7, 7, 8, 9}
Y finalmente, calculamos la media = (5+6+6+7+7+7+8+9)/8 = 6,88
Vale. ¿Cómo crear el filtro de temperatura en TIA Portal definitivo?
Vamos a crear el programa realizando los siguientes pasos:
- Capturamos el nuevo dato y lo almacenamos
- Ordenamos los datos de mayor a menor
- Calculamos los límites superior e inferior para descartar valores
- Calculamos la media y la sacamos como salida del módulo
Ordenamos los datos de mayor a menor
Te dejo con un nuevo vídeo donde ponemos en práctica lo arriba indicado dándole forma.
¿Qué te parece este filtro de temperatura en TIA Portal?
Espero que te haya sido interesado. Me gustaría saber si le ves utilidad y si has hecho algo parecido o cómo resuelves este tipo de situaciones.
Por otro lado, decir que los alumnos del curso de TIA Portal podéis encontrar el código fuente en el bloque 2 dedicado a programación en Ladder ampliando por tanto los ejemplos ya existentes en el curso.
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.
7 Comentarios
Excelente! Apenas soy un novato en esto y tener disponible este material motiva a seguir estudiando. Enhorabuena por esto!! Saludos.
Hola, no puedo acceder al video, si me intersa como has resuelto este problema tan comun. Pero solo aparece la ventana negra y sin ningun punto de acceso. Que puedo hacer para visalizarlo?
Muchas gracias
El vídeo es visible sin problemas. Tiene que ser un problema con tu navegador.
Prueba con otro navegador (Chrome, Firefox..)
Saludos
ESTIMADO IÑIGO.
Gracias por el aporte q haces, quiciera tu ayuda.
Tambien soy nuevo en esto de la automatizacion..tengo el step 7 v5.5..compatible con windows7…cuando ya esta en media instalacion me pide el cd_2 pero existen dos carpetas q esta con cd1 y 2.. ya que antes no me pedia corria hasta terminar la instalacion en la misma cpu. Y cuando pongo aceptar a esa peticion no me hace ninguna accion..solo me queda luego cancelar..estare a la espera de tu consejo..gracias de antemano.
Hola Ronald,
No sé cuál puede ser el problema. Si son los CD originales, debería funcionar sin problemas.
No te puedo ayudar con esto ya que no me ha pasado nunca. Consulta con el distribuidor que os suministró los CD ya que puede que esté defectuoso.
Saludos
Super interesante Iñigo!! Me quedo con varias novedades, que se puede definir el rango del array con una constante, que en KOP también se puede hacer bucles anidados, y sólo matizar que ya de paso haber definido de alguna manera el tiempo de muestreo de forma externa con alguna variable en vez de definirlo en el OB35 y el % de valores a descartar como la nota del deporte que comentas pero muy ilustrativo para coger conceptos. ¿Se podría hacer un PID sencillo solo para aplicar o desarrollar conceptos?
Un saludo!!!!!
Enhorabuena!!!
Otro ejemplo practico, aplicable a cual aplicación como yo he hecho. Me ha venido de perlas para filtrar un pico temperatura debido al proceso, no a una distorsión de señal. Lo he tenido que hacer lento y problema resulto.
Sigue en esta linea ….