El caso de la bobina corrugada.

El caso de la bobina corrugada.

Hoy vamos a responder a una duda de uno de los estudiantes del curso de step7. Se trata de un ejercicio bastante sencillo que  sirve para practicar la programación en escalera.

El caso de la bobina corrugada.

Emilio me mandó el siguiente email:

Buenas tardes.

Tengo una duda, debo calcular una longitud utilizando 8 señales digitales o sensores separados unos de otros cada 6 metros.

Las longitudes que debo calcular son

- Longitud máxima

- Longitud mínima

Este cálculo debe iniciar con una señal de un sensor inductivo ajeno a los 8 sensores anteriores o sensor 9.

Cuando el sensor 9 detecte, debe iniciar el cálculo, por ejemplo si los sensores 3 al 6 están activos calcula una longitud de 18 o si están activos todos los sensores debe de calcular 42 o si están activos los sensores 1 al 3 debe calcular 12.

Es decir, calcula la longitud según sean los sensores que se encuentran activos.

Su valor máximo será dependiendo del corte en proceso 36 o 42 metros y su valor mínimo será 6.
Posteriormente me aclaró el tema del máximo y el mínimo ya que a mi no me había quedado claro bajo qué condiciones calcularlo:
El máximo y mínimo funciona después de que el sensor 9 ha detectado X veces (10 por ejemplo) es decir que las longitudes estarán siendo almacenadas y cuando haya detectado 10 veces el sensor 9 determina cuales han sido el máximo y mínimo durante ese período.
Luego también me contó que se trata de un proceso de varilla corrugada y aclaramos que lógicamente a la hora de medir, los sensores medirán de forma consecutiva, es decir, no habrá huecos entre sensores activos.

Programación de un FB en Step 7

Para resolver el programa, lo vamos a hacer mediante un FB en el que le pasaremos los sensores y mandos, y nos devolverá la medida, y los máximos y mínimos cuando corresponda.
He de decir, que la solución se puede encontrar por varios caminos. Esta solo es una forma.
Let's go!

¿Qué te ha parecido?

Como ves, no es muy complejo.

Al ejemplo seguro que Emilio le da más vueltas y lo completa con más funcionalidades, pero tiene desde donde comenzar.

Como comento en el vídeo, dejo el ejemplo en el anexo del curso de Step 7 tradicional.

Por otra parte ¿os gustaría que lo hiciéramos de otra forma usando AWL?

Comentarios (14)

Juan Carlos
Me encantaria verlo en AWL
Iñigo Gútiez
Así será!
Alejandro Paredes
Genial!!! A la espera de la versión en AWL. Grande Íñigo!!!
Iñigo Gútiez
Vale. Lo hacemos en AWL!
Jairo
Buen ejemplo Íñigo para los que estamos mas perdidos que un pulpo en un garaje con Step7, pero creo que hay un pequeño error en el programa. En la descripción del problema Emilio dice: por ejemplo si los sensores 3 al 6 están activos calcula una longitud de 18 o si están activos todos los sensores debe de calcular 48 o si están activos los sensores 1 al 3 debe calcular 12." y tu cuentas los huecos entre sensores, lo cual nos obligaría a poner un sensor más, creo que lo he entendido así o a lo mejor estoy equivocado. Por otro lado ¿ si la varilla corrugada estuviera pasando sobre una cinta o camino de rodillos, funcionaría igual este FB? Gracias, un saludo.
Iñigo Gútiez
Creo que el problema es que no son 48, sino 42. En cuanto a la cinta o camino de rodillos, ni idea porque no he visto la aplicación, solo lo que me han contado para hacer el ejemplo.
Luis Salazar
Hola Jairo e Iñigo: Me gusta lo que nos cuenta Iñigo en sus aportaciones, sobre todo los retos que presenta, en este caso pienso que Jairo tiene razón, creo que los flancos con los movimientos no hacen muy buena relación. Por otra parte, he visto el programa desde el vídeo, creo que sería mejor con los contactos normales sin flanco, los cuales darían valor a una variable según avance la barra, con lo cual evitamos falsos pulsos que siempre se dan cuando menos te lo esperas, una vez terminada la iteración, hacemos los cálculos correspondientes, teniendo en cuenta que por seguridad, debemos mantenerlos hasta nueva orden, por ejemplo la medida, se debe mantener hasta que empiece el nuevo ciclo. Aquí les dejo lo que comento: https://youtu.be/BJhWSUzavCo Ruego, me corrijan si me equivoco, nunca es tarde para aprender. Saludos
Iñigo Gútiez
Hola Luis, Seguramente hay cosas que se me escapan ya que no conozco el proceso. En el blog intento echar una mano con las programaciones y se trata más de desarrollar las habilidades y formas de programar que la solución concreta. En este caso, el tema del pulso no es a través de un detector (si yo lo entendí bien) sino de una orden externa de 'mide ahora' y por eso metí el pulso en la ecuación. Pero como digo, estoy seguro que hay más cosas a tener en cuenta en el proceso en sí (sieeempre las hay), se trataba de formar un poco el esqueleto. Y por supuesto, hay más formas de resolverlo y seguro que mejor cuanto mejor conoces el proceso.
Ivan
Como siempre genial! Gracias Iñigo!!!
Iñigo Gútiez
A ti Iván!
Matías
Hola, Ante todo gracias por tu tiempo. Una muy buena explicación y solución a un problema real. Saludos
Iñigo Gútiez
Gracias Matías!
Francisco Jorge
En AWL ? sI, por favor, así refrescamos conocimientos, en mi caso hace tiempo que no lo uso .
Iñigo Gútiez
Ya está publicado esta misma tarde jaja