¿Cómo crear un contador de piezas hora en TIA Portal?
Seguramente es un problema que te surge de vez en cuando. Tienes que crear un contador de piezas hora de una línea de producción con PLC de Siemens, bien en TIA Portal o en Step 7 V5.
No tienes claro como convertir esos pulsos que se generan al ir pasando por la línea en un número que te indique el número de piezas en una hora (o turno).
Nos ha pasado a todos y no, no hay una función mágica de Siemens que lo resuelva. De hecho, este post es como resultado de una duda expresada en el foro de infoplc.net
Pero no te preocupes, porque te voy a explicar paso a paso cómo lo vamos a conseguir de una forma definitiva.
Juntos vamos a desgranar la forma de hacerlo de forma profesional.
Hay diferentes formas de dar una estimación de velocidad de producción, por ejemplo, contar piezas a periodos fijos.
Por ejemplo, podrías calcular el número de piezas que has producido en la última hora y esperar una nueva hora para saber cuántas se han producido en este nuevo periodo.
Pero esta frecuencia seguramente sea demasiado baja para tus necesidades.
Podemos entonces reducir el periodo de muestreo a valores representativos. Digamos 10 segundos.
Podríamos hacer entonces algo como lo siguiente:
Como ves, podrías sumar las piezas cada 10 segundos y dar el resultado estimado en X tiempo (por ejemplo por minuto).
Pero to te propongo otra forma más PRO. Calcular el número de piezas fabricadas en tiempo real (por ejemplo cada segundo), pero teniendo en cuenta las piezas fabricadas para hacer una estimación futura cada segundo.
Vamos pues con…
Crear un contador de piezas hora de una línea de producción
Lo que vamos a hacer es lo siguiente:
- Calcular las piezas que se produzcan cada segundo
- Guardar en un array las piezas producidas en un periodo de muestreo
- Calcular el contador de piezas hora del periodo seleccionado.
La gracia de la solución propuesta está en dar la velocidad de procesado de forma continua cada segundo, no cada 10 segundos , 20 o 60 segundos.
En vez de ver cómo cambia la velocidad de procesado cada 30 segundos (por ejemplo), lo verás cada uno.
Para explicar la forma de hacerlo, como otras veces, te dejo con el vídeo donde verlo funcionar:
¿Qué te ha parecido este contador de piezas hora ?
Es una forma de realizar un contador de piezas hora. No es la única ni pretende sentar cátedra. Sólo pretendía enseñarte una forma de hacerlo tal vez diferente a cómo estés acostumbrado a hacerlo o hayas visto con anterioridad.
Me gustaría saber cómo resuelves este tipo de problemáticas y si te has encontrado alguna vez algún caso similar que te haya costado programar y cómo encontraste la solución.
¡Anímate a participar y deja un cometario!
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.
22 Comentarios
Hola Iñigo!!
Podías compartir el proyecto para simularlo??
Saludos!!
Hola David,
Como estudiante del bloque 2 del curso de TIA Portal, lo tienes disponible para la descarga. He creado un nuevo módulo para subir este tipo de cosas para los alumnos inscritos.
Saludos
Muy buen ejemplo !!!
gracias por compartir
Hola Iñigo el enlace que envias no sirve para ver el curso,un saludo
¿A qué enlace te refieres?
Iñigo el proyecto que esta en el bloque 2 -Anexo no se corresponde con el del ejemplo del video. Supongo que será el primero hasta que desarrollaste el del video.
Cierto. Era una versión más vieja. Mira ahora.
Saludos
Excelente aporte Iñigo. Gracias.
Felicitaciones como siempre por tus excelentes artículos y vídeos. El procedimiento es correcto, y te propongo una mejora en eficiencia de memoria y proceso: el método de almacenaje de los valores podría ser mas eficiente implementando una cola circular sobre un array, en lugar de copiar valores de array en array.
Con cola circular te refieres a un FOR-NEXT?
Acabo de descubrir este video. Es justo lo que estaba buscando. Esta genial.
Tengo dos notas que hacer.
Yo no conozco Siemens. Algo similar en Omron?
Que pasa si la cadencia de piezas es mayor que un segundo. P.e. 20 a 30 pzs/min?
Gracias y enhorabuena.
Juan A.
Gracias.
Solo trabajo con Siemens. Lo siento. Respecto a la frecuencia,30 piezas por minuto, es una cadencia de 2 segundos por pieza.
Saludos
Gracias por tu rápida respuesta, Iñigo.
Solo quería saber si sabias de algún desarrollo como el tuyo para Omron.
Un saludo y lo dicho, Gracias.
Lo de la cadencia, tiene fácil solución…
Perdona Iñigo, como haces en los segmentos 6 y 8 para añadir un Uint en una función int, porcierto muchas gracias por tu post
No hay que hacer nada, ya que la conversión es implícita en TIA Portal.
Exclente aplicación y es muy ilustrativa, talento español para programación de PLC al 100 %,
Buenos dias:
Acabo de crear el mismo bloque y me tira el PLC a STOP por superar el tiempo de ciclo maximo…
A que se debe?
Un saludo y muchas gracias por el video
Pues no lo sé, desde que haya algún error en el codigo a que no le dé tiempo a ejecutar todas las tareas.
Comienza por estar seguro de que no hay bucles o similar infinitos
hola, puedes pasarme el proyecto?
saludos
Gonzalo
Lo siento Gonzalo, pero los proyectos (el código fuente) queda reservado para los alumnos.
Hola Iñigo!!
Gracias por compartir esta información y este conocimiento con todos los demás.
Tengo una pregunta:
De qué manera yo podría ser más eficiente y afinar un poco más respecto a la VELOCIDAD de salida, por lo que en el video arrojan valores MULTIPLOS de 5… Sabiendo que en la realidad las Piezas/minuto pueden ser: 141 piezas/min – 157 piezas/min – 83 piezas/min – etc…
De antemano quedo agradecido por tu aporte y por tu respuesta.
SALUDOS!!
Depende de la frecuencia a lo que lo hagas y cuántas piezas sean por unidad de tiempo. Eso dependerá del proceso.