Esta semana quiero resolver una duda de uno de mis estudiantes del curso de Step 7 que quiere realizar un ciclo recursivo en Step 7.
En realidad, más que una duda, es echarle una mano con una automatización real.
No siempre puedo echar una mano de un problema real debido a la complejidad que tienen las máquinas.
En este caso, es posible simularlo echando un cable a Jose Ignacio que me ha escrito desde Colombia.
El caso que nos ocupa es la alimentación de una caldera de vapor por biomasa.
Sin entrar en muchos detalles, deben existir unos cilindros que empujan la biomasa para alimentar la caldera.
La cuestión es que Jose Ignacio se ha quedado a medias con el programa y no le acaba de funcionar bien.
Y a mi se me ha ocurrido una forma bastante sencilla de lograr realizar su cometido.
Ciclo recursivo en Step 7
Lo primero que tenemos que aclarar es cómo funciona el invento.
Se trata de 10 cilindros que empujan la materia prima de forma secuencial.
Es decir, primero empuja el primer cilindro, retorna, espera unos segundos, y se activa el segundo cilindro.
El cilindro avanza, y el sistema vuelve a reposo hasta que manda arrancar al tercer cilindro.
Así sucesivamente hasta que le toca trabajar al décimo cilindro.
Cuando este termina de trabajar, el ciclo tiene que comenzar nuevamente por el primer cilindro.
Además, me ha contado que los cilindros no tienen detectores en los extremos, y que solo disponemos del preciado tiempo para hacer funcionar al sistema.
Podríamos pensar que la mejor forma de realizar el programa es crear un ciclo con los 10 cilindros.
Pero yo propongo realizar un único bloque, que se ejecute continuamente y nos de como salidas:
- Qué cilindro es el que estamos gestionando
- Si ese cilindro tiene que estar activa su salida (estirando) o no.
Ni que decir tiene, que el resto de cilindros que no se estén evaluando, la salida de la EV tiene que ser 0.
No es propiamente un ciclo recursivo en el sentido que no se llama a sí mismo, pero es algo parecido ya que sí activa la señal que hace que arranque su propio ciclo.
En el fondo, no es mas que una derivación de un paso a paso, o grafcet.
El vídeo con la solución
Como en otras ocasiones, te dejo con el vídeo explicativo de la solución que le he dado.
¿Qué te ha parecido?
Espero que lo encuentres interesante esta forma de hacer un ciclo recursivo en Step7.
A Jose Ignacio ya le he enviado el proyecto para que lo pueda implantar y me ha comentado que le ha ayudado mucho.
Estoy pensando cómo entregar todos estos ejemplos a los alumnos de «Cómo programar Step 7 y no morir en el intento«.
¡Estoy trabajando en ello!
Como digo en el vídeo, si tienes algún problema de programación al que le pueda meter mano, no dudes en ponerte en contacto conmigo, y si te puedo ayudar, con gusto lo haré.
También quiero que tengas en cuenta que puedo ayudarte si son ejemplos puros de programación.
No te voy a poder ayudar a configurar variadores, tarjetas, etc que no dispongo y por tanto no sé si lo que te estoy indicando funciona o no.
Ayudaré por tanto, si se dar una solución.
Pero debo asegurarme que la solución que les puedo ofrecer, funciona de verdad.
Si no lo voy a poder saber, prefiero no decir nada.
Espero que lo entiendas.
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.
39 Comentarios
que vídeo tan bueno, me gustaría que pudiera realizar algún ejemplo con problemas reales sobre direccionamiento indirecto usando los registros
Ya he realizado algún ejemplo con anterioridad, peor me apunto para hacer en el futuro algún otro ejemplo.
Saludos y gracias!
Parabéns mestre ótimo vídeo..
Excelente nunca había programado una secuencia como se explicó en el vídeo gracias
Me alegra José que te haya ayudado y que la cargadora funcione genial con la adaptación de este código a tu máquina.
Un saludo!
¡Grande Iñigo!
Me queda un poco la duda de como utilizar temporizadores IEC dentro de un FB como multiinstancia y el interface de la variables para ver como están declaradas. Pero muy ilustrativa la idea para poder aplicar en cualquier otra aplicación. Saludos!!!
Me lo apunto!
Gracias por el feedback!
Otra manera de poderlo hacer es con redes petri, que también es una manera de programar en secudncia.. esta solución también es muy genial felicidades… esta muy interesante esto.
Siempre hay muchas maneras de dar solución a un problema.
Esta simplemente es una de ellas.
Saludos
Es muy estupendo las cosas que enseñas y publicas realmente me son de ayuda.saludos
De eso se trata, de que os sean útiles para vuestros proyectos.
Un saludo!
Muy bueno Iñigo!
Gracias por compartir con nosotros tus planteamientos y soluciones.
De nada Sergio!
Como siempre Iñigo, has aprendido mucho, videos como esto nos ayudan un monton en mejorar nuestras aplicaciones. Gracias por la informacion.
Saludos
CY.
Muchas gracias. Es gratificante que os sea útil.
Saludos
Muy buen ejemplo!!!!! gracias por compartir con nosotros
De nada!
En la siguiente entrada, compartimos nuevas cosas!
Muy buen ejemplo de programacion
Gracias Justo.
Buen planteamiento para solucionar el problema gracias por compartir. Saludos
Excelente Iñigo, gracias por tus aportaciones.
Gran ayuda que aportas, un saludo .
Gracias Raúl!
Desde hace rato vienes ayudando a esta comunidad con tu experiencia. Gracias Iñigo.
De nada Eduardo!
hola que tal es una gran ayuda para todos .. un excelente aporte, me podría ayudar con la parte de configurar entradas y salidas analógicas en Tia Portal.. saludos desde México
Hola Iñigo, quisiera preguntarte si podrias dar un ejemplo de como crear un pequeño bloque en SCL y simularlo en Step 7. Gracias
Hola Iñigo, recientemente he comprado este curso, me gustaría saber que software es necesario (aunque algo he visto que publicaste en las preguntas sobre el curso), pero sobre todo que programas que sean compatibles con windows 8.1, no me gustaría tener q crear una máquina virtual de windows 7 para hacerlo funcionar. He visto que con el step no habría problema pero el wincc flexible 2008….no hay alguna versión que funcione con windows 8.1? Cuán necesario es tenerlo instalado? no bastaría con el step7? A que te refieres con SP3PLCSIM, a PLCSIM? Gracias. Saludos.
Windows 8.x, que yo sepa, no es compatible de forma nativa ya que Siemens con el tema de las versiones es un tanto especial. Para empezar, no vale solo con decir si tienes Windows XXX, sino si es Home o Profesional. Las versiones para que funcionen seguro, deben ser en Windows Professional. Con las Home, unas sí, otras no. Depende de la versión de Step 7. Al menos hasta Windows 10. En cuanto a Windows 8, como digo, no conozco ninguna versión que lo sea. Solo conozco que sea compatible, en función de la versión del Step 7, con XP, Server, 2000, Vista, Windows 7 y Windows 10. Windows 8, hasta donde yo se, no lo es. Otra cosa es que hay algunos tutoriales para instalarlo en Windows 8, pero NO es soportado por Siemens, por lo que lo mismo te funciona, como que no.
Con WinCC Flexible 2008,estás en las mismas. No es compatible con Windows 8 en ninguna de sus versiones. Ahora, no descarto que se pueda instalar, pero no de forma nativa y soportado por Siemens. En la página de Siemens https://support.industry.siemens.com/kompatool/pages/main/index.jsf puedes seleccionar en el centro !Cargar listas de compatibilidad» donde seleccionas el software y version y te descargas los Excel con las compatibilidades. Verás que en ninguna aparece como compatible Windows 8.1
Se trata de Windows 8.1 Professional.
Puedes intentar esta guía https://support.industry.siemens.com/tf/ww/en/posts/how-to-install-step-7-5-5-sp3-dvd-on-windows-8-professional-build-9200/95674/?page=0&pageSize=10 pero no es ninguna garantía de que funcione. Puede que sí, o puede que no.
Como te comentaba más arriba, aun siendo Professional, sigue sin haber soporte oficial por parte de Siemens para Windows 8.x.
Muchas gracias Iñigo por la atención. Saludos.
Todo instalado al final en una máquina virtual y funcionando correctamente.
Vale, genial 🙂
Buenas tardes a tod2, por fin he podido comenzar a hincarle el diente al primero de los cursos que quiero aprender desde esta plataforma, sobre el video en cuestion me parece muy interesante, vengo del mundo de TIA Portal y otros PLC´s y no habia tocado STEP 7 apenas, por lo menos no sabia declarar variables al incio tal y como has realizado, y me parece muy bien el planteamiento que le das a los 10 actuadores, simple y facil (una vez veo como lo realizas, supongo que llegar a ese nivel ha supuesto numerosos cabezazos contra la pared) Un saludo a todos y a seguir.
Miguel
Genial Miguel! A darle caña!
Bit de primer ciclo?? Hola Iñigo , dispone Step7 de un bit de First Scan ? , la idea es hacer este ejercicio desde cero incluyendo el tipo de parada (Guia Gemma), además de incluir una HMI con Wincc. Se que en la configuración del hardware está la activación del bit de marca pero no veo ni el Always false, ni true, ni esos bits que en otras versiones nos ayudan .
Un saludo,
Miguel
Hola Miguel!
No, en step 7 tradicional no tiene. Pero es muy fácil de «fabricar». Tan solo elige una marca como firts scan.
Haz un set de ella en el comienzo del OB100, y un reset al final del OB1 y ya está.
Saludos!
Ok Iñigo, gracias por el aporte , 😉