• Saltar a la navegación principal
  • Saltar al contenido principal
  • Saltar al pie de página

Programación Siemens

Cursos online de TIA Portal y PLC Siemens.

  • Cursos
  • Blog
  • Mi cuenta
    • Mi cuenta
    • Foros
    • Curso HMI con Python y Qt-Designer
    • Curso de AWL
    • Curso de iniciación a la Industria 4.0
    • Curso Express de TIA Portal
    • Curso de WinCC Flexible 2008
    • Crear HMI con OPC y VB.NET
    • Crear HMI con Snap7 y VB.NET
    • Curso ViSnap7
    • Curso de TIA Portal para CPU 1200
    • Curso de Step 7 V5.x
    • Curso de comunicaciones IE y Profinet
  • Contacto & Faq
Home | blog | Cómo crear un ciclo recursivo en Step 7

Cómo crear un ciclo recursivo en Step 7

Cómo crear un ciclo recursivo en Step 7

por Iñigo Gútiez · 39 comentarios

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.

 

 

Iñigo Gútiez
Iñigo Gútiez

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.

Publicado en: blog Etiquetado como: ejemplos, Tutoriales, videos

Interacciones con los lectores

    Deja un comentario Cancelar

    Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

    39 Comentarios

  1. williangel dice

    15 abril, 2018 a las 16:03

    que vídeo tan bueno, me gustaría que pudiera realizar algún ejemplo con problemas reales sobre direccionamiento indirecto usando los registros

    Responder
    • Iñigo Gútiez dice

      15 abril, 2018 a las 19:16

      Ya he realizado algún ejemplo con anterioridad, peor me apunto para hacer en el futuro algún otro ejemplo.
      Saludos y gracias!

      Responder
      • ROGERIO CARDOSO dice

        16 abril, 2018 a las 21:46

        Parabéns mestre ótimo vídeo..

        Responder
  2. José Trapero dice

    15 abril, 2018 a las 19:14

    Excelente nunca había programado una secuencia como se explicó en el vídeo gracias

    Responder
    • Iñigo Gútiez dice

      15 abril, 2018 a las 19:17

      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!

      Responder
  3. David dice

    15 abril, 2018 a las 23:29

    ¡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!!!

    Responder
    • Iñigo Gútiez dice

      17 abril, 2018 a las 7:19

      Me lo apunto!
      Gracias por el feedback!

      Responder
  4. Emane López dice

    16 abril, 2018 a las 5:49

    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.

    Responder
    • Iñigo Gútiez dice

      17 abril, 2018 a las 7:23

      Siempre hay muchas maneras de dar solución a un problema.
      Esta simplemente es una de ellas.
      Saludos

      Responder
  5. geremias matos cotero dice

    16 abril, 2018 a las 19:02

    Es muy estupendo las cosas que enseñas y publicas realmente me son de ayuda.saludos

    Responder
    • Iñigo Gútiez dice

      17 abril, 2018 a las 7:22

      De eso se trata, de que os sean útiles para vuestros proyectos.
      Un saludo!

      Responder
  6. Sergio dice

    16 abril, 2018 a las 19:47

    Muy bueno Iñigo!
    Gracias por compartir con nosotros tus planteamientos y soluciones.

    Responder
    • Iñigo Gútiez dice

      17 abril, 2018 a las 7:22

      De nada Sergio!

      Responder
  7. Carlos Yascaribay dice

    16 abril, 2018 a las 19:56

    Como siempre Iñigo, has aprendido mucho, videos como esto nos ayudan un monton en mejorar nuestras aplicaciones. Gracias por la informacion.
    Saludos
    CY.

    Responder
    • Iñigo Gútiez dice

      17 abril, 2018 a las 7:21

      Muchas gracias. Es gratificante que os sea útil.
      Saludos

      Responder
  8. Claudio Jesús Medina dice

    16 abril, 2018 a las 21:36

    Muy buen ejemplo!!!!! gracias por compartir con nosotros

    Responder
    • Iñigo Gútiez dice

      17 abril, 2018 a las 7:21

      De nada!
      En la siguiente entrada, compartimos nuevas cosas!

      Responder
  9. Justo dice

    17 abril, 2018 a las 2:36

    Muy buen ejemplo de programacion

    Responder
    • Iñigo Gútiez dice

      17 abril, 2018 a las 7:20

      Gracias Justo.

      Responder
      • Chema dice

        17 abril, 2018 a las 9:04

        Buen planteamiento para solucionar el problema gracias por compartir. Saludos

        Responder
  10. Hector dice

    17 abril, 2018 a las 16:14

    Excelente Iñigo, gracias por tus aportaciones.

    Responder
  11. Raul Clavijo dice

    17 abril, 2018 a las 16:15

    Gran ayuda que aportas, un saludo .

    Responder
    • Iñigo Gútiez dice

      18 abril, 2018 a las 22:20

      Gracias Raúl!

      Responder
  12. Eduardo Gómez dice

    17 abril, 2018 a las 18:13

    Desde hace rato vienes ayudando a esta comunidad con tu experiencia. Gracias Iñigo.

    Responder
    • Iñigo Gútiez dice

      18 abril, 2018 a las 22:19

      De nada Eduardo!

      Responder
  13. Carlos dice

    13 mayo, 2018 a las 4:40

    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

    Responder
  14. Carlos dice

    4 septiembre, 2018 a las 4:12

    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

    Responder
  15. Álvaro dice

    20 agosto, 2019 a las 16:10

    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.

    Responder
    • Iñigo Gútiez dice

      20 agosto, 2019 a las 16:55

      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

      Responder
      • Álvaro dice

        20 agosto, 2019 a las 18:22

        Se trata de Windows 8.1 Professional.

        Responder
        • Iñigo Gútiez dice

          20 agosto, 2019 a las 18:49

          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.

          Responder
          • Álvaro dice

            21 agosto, 2019 a las 0:06

            Muchas gracias Iñigo por la atención. Saludos.

          • Álvaro dice

            26 agosto, 2019 a las 13:09

            Todo instalado al final en una máquina virtual y funcionando correctamente.

          • Iñigo Gútiez dice

            26 agosto, 2019 a las 13:17

            Vale, genial 🙂

  16. Miguel dice

    25 noviembre, 2019 a las 20:16

    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

    Responder
    • Iñigo Gútiez dice

      25 noviembre, 2019 a las 20:20

      Genial Miguel! A darle caña!

      Responder
  17. Miguel dice

    3 febrero, 2020 a las 21:19

    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

    Responder
    • Iñigo Gútiez dice

      3 febrero, 2020 a las 21:22

      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!

      Responder
      • Miguel dice

        4 febrero, 2020 a las 16:56

        Ok Iñigo, gracias por el aporte , 😉

        Responder

Footer

· Acerca de
· Misión, Visión y valores
· Aviso Legal y Política de Privacidad
· Condiciones de Venta
· Política de cookies
Utilizamos cookies propios y de terceros para mejorar nuestros servicios y tu experiencia de usuario. Si continuas navegando, consideramos que aceptas su uso. Aceptar Política de cookies
Política de Cookies

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Siempre activado
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Non-necessary
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
GUARDAR Y ACEPTAR