• Skip to primary navigation
  • Skip to main content

ProgramaciónSiemens

Cursos online de automatización industrial con PLC Siemens

  • Cursos
  • Mi cuenta
    • Mi cuenta
    • Blog
    • 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

Cómo arrancar motores aleatoriamente y de forma escalonada en TIA Portal

Cómo arrancar motores aleatoriamente y de forma escalonada en TIA Portal

por Iñigo Gútiez · 12 Comments

Esta semana vamos a realizar un ejercicio bastante interesante por ser práctico (solicitado por un seguidor del blog) que deseaba mas o menos lo siguiente:

  • Arrancar 8 motores, y que se pueda hacer de forma aleatoria.
  • Entre arranques, para evitar picos de consumos, se han de decalar 10 segundos.

Es decir, si yo pulso 3 motores seguidos, y muy rápidamente (digamos el 3, el 1 y el 5), estos deben arrancar de forma que arranque el motor 3, luego arranque el 1, y finalmente el 5, dejando 10 segundos de espera entre arranques.

Espero que se haya entendido la situación.

Contenido

La problemática

Puede parecer sencillo, pero no lo es tanto habida cuenta que el PLC de Siemens tiene que recordar el orden en el que se han pulsado los botones del motor.

Además, deben esperar su turno de arranque para que no haya solapamientos en el arranque.

Seguramente se pueda resolver de otras formas, pero para resolverlo, he realizado las siguientes consideraciones:

  • Tiene que ser posible pulsar el arranque y olvidarte, es decir, no se trata de que no te deje arrancar un segundo motor cuando esté arrancando uno, sino que tu vayas pulsando los motores y ellos vayan arrancando en secuencia correcta
  • Si pulsas dos botones o más de forma simultánea (digamos 3), el sistema debe ser capaz de aceptar todos los motores, y arrancarlos en secuencia.
  • Debe ser escalable, es decir, que no haya una complicación extra por el hecho de que sean 8 u 80 motores, más allá de la propia lógica de pulsar los botones y activar los determinados botones. Lo mismo si quieres quitar botones, que sea tan simple como borrar las líneas de código

La solución

Para darle solución, no veo una mejor solución que realizar un FIFO de arranque.

Para ello, asignamos a cada motor un número, de tal forma que al pulsar el arranque del motor X, se introduce en el FIFO, de tal forma que luego se van arrancando cada 10 segundos en el mismo orden que entraron (primero en entrar, primero en salir).

Como recordarás, ya realizamos un ejemplo de FIFO en el blog en esta entrada.

He reutilizado el código de SCL que me hacía falta y he limpiado lo que no sirve para este caso.

Podría haber dejado el bloque tal cual, pero la idea era dejar la opción más limpia posible.

El resto del código, lo he realizado en escalera.

Si te parece, lo vemos en el siguiente vídeo.

El ejemplo de arranque de los motores en TIA Portal

Como otras veces, te dejo con el ejemplo…

¿Qué te parece?

Espero que no te haya parecido demasiado lioso.

Como estamos de lanzamiento del Curso Express de TIA Portal, lo voy a modificar para que todo sea realizado en escalera, aunque lo suyo en estos casos, es un combo entre escalera y SCL.

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.

Filed Under: blog

Reader Interactions

    Deja un comentario Cancelar

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

    12 Comentarios

  1. Alfonso says

    19 julio, 2019 at 8:44

    Eres un fiera!!! Muy buena la explicación y el ejemplo. ¿Podrías dejar el ejemplo en un link de descarga para analizarlo más detalladamente?
    Muchas gracias Iñigo!!!

    Responder
    • Iñigo Gútiez says

      19 julio, 2019 at 22:41

      El ejemplo lo subiré como he comentado para los alumnos del nuevo curso, como he hecho en otras ocasiones, con otros cursos.

      Responder
  2. Franco Soto says

    19 julio, 2019 at 14:33

    Manten los ejemplos en scl para tener ejemplos tambien sobre ya que lo usual es ladder y en scl es una manera diferente de ver la programacion.

    Responder
  3. Justo says

    19 julio, 2019 at 15:46

    Muy bueno el ejemplo

    Responder
  4. José Antonio says

    19 julio, 2019 at 23:41

    ¡Magnífico programa! y que extenso e interesante que es como todos los que publicas. ¿Este mismo programa se podría aplicar para encender luces por secciones? secuencialmente me refiero. Muy bueno el spam también.

    Saludos

    Responder
    • Iñigo Gútiez says

      19 julio, 2019 at 23:48

      Si, claro. Lo mismo que arrancas motores puedes poner luces. Además como ves, podrías arrancar unas si, otras no…

      Responder
  5. Mauricio Rodriguez P says

    20 julio, 2019 at 13:49

    Quiero realizar el curso pero no cuento con trajera de crédito como realizó el pago.

    Responder
    • Iñigo Gútiez says

      20 julio, 2019 at 14:36

      Las opciones son las disponibles. PayPal y tarjeta.

      Responder
  6. Victorsjg says

    26 julio, 2019 at 15:37

    Hola Íñigo en el caso de no tener la función move block variant y querer hacerlo con SCL, como lo harías, con un loop, para el copiado de los datos de un bloque a otro.

    saludos

    Responder
    • Iñigo Gútiez says

      26 julio, 2019 at 15:52

      Si, con un loop en este caso esta bien ya que no son muchas iteraciones

      Responder
      • LUIS PARRA says

        6 agosto, 2019 at 19:49

        Tengo bloqueado mi usuario y no he podido continuar con el curso express Tia Portal

        Responder
        • Iñigo Gútiez says

          6 agosto, 2019 at 21:42

          Te he escrito ya tres veces, desde diferentes cuentas de correo. Creo que el problema está en tu servidor de correo que está filtrando los emails. Por favor, mira en el Spam, porque no es normal que no recibas mis emails, no ya los automáticos, sino los que te escribo de forma manual y personal.

          Responder
  • Aviso Legal y Política de Privacidad
  • Condiciones de Venta
  • Política de cookies
  • Contacto & Faq
  • Blog

Copyright © 2023 · Programación Siemens · Todos los derechos reservados

· ¿Quién soy? · Misión, Visión y valores