• 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 equilibrar cargas con un PLC de Siemens (II)

Cómo equilibrar cargas con un PLC de Siemens (II)

Cómo equilibrar cargas con un PLC de Siemens (II)

por Iñigo Gútiez · 4 comentarios

En la entrada anterior vimos la parte teórica de cómo podemos distribuir las cargas cuando queremos encender y apagar muchas cargas resistivas mediante el uso de contactores estáticos.

Si no la leiste, te invito a que le eches un vistazo previo a la entrada de hoy.

Hoy vamos a hablar de cómo plasmar esto en un programa con un PLC S7-1200 de Siemens.

En principio podría parecer relativamente complicado realizar este tipo de tareas.

Pues vas a ver cómo usando las herramientas adecuadas, la cosa se suaviza bastante.

¿Se podría hacer esto con escalera?

La respuesta es sí.

¿Deberías hacer esto en escalera?

La respuesta, bajo mi punto de vista, es un NO clarísimo.

¿Por qué?

Porque estamos hablando de cientos de tareas repetitivas y predecibles.

El mero hecho de que hablemos de tareas repetitivas y precedibles en su contenido, hacen que otros lenguajes sean mucho más apropiados para estos menesteres.

Cómo ya adelanté, esto es carne de SCL en TIA Portal.

Contenido

  • 1 La división del programa
    • 1.1 ¿Por qué elegir 10ms como tiempo de muestreo?
  • 2 Herramientas de software usadas
    • 2.1 Otras consideraciones
  • 3 El vídeo de equilibrar cargas con un PLC
  • 4 ¿Qué te ha parecido?

La división del programa

El programa está dividido fundamentalmente en 2 partes:

  • Barrido de los índices entre  0 y 100
  • Encendido/apagado de las salidas digitales

Como estamos hablando que el periodo debe ser fijo, vamos a realizar cada una de las tareas en un OB cíclico de 10ms, decalados entre ellos 5ms para distribuir mejor la carga de trabajo.

¿Por qué elegir 10ms como tiempo de muestreo?

Dependiendo de la aplicación, de la velocidad del PLC y de otros factores tienes que decidir cual puede ser el mejor periodo para tu encendido/apagado.

He elegido 10ms por varios motivos:

  • 10ms es un periodo suficientemente rápido.
  • Es el adecuado para que el 100% de potencia, nos de un periodo de 1 segundo que es un número redondo y adecuado para la mayoría de ciclos de trabajo
  • 10ms es medio ciclo de una onda senoidal y los contactores estáticos en general son de activación/desactivación en paso por cero. Es decir, no tiene sentido que sea más rápido porque el relé estático no podrá conmutar en menos tiempo de 10ms.

Herramientas de software usadas

Como ya he comentado, está realizado en SCL.

Todas las estructuras de información las he creado mediante Arrays: para los índices, potencias y salidas digitales

Yendo a cosas más específicas, he usado el FOR-NEXT como herramienta para recorrer los elementos y poder enceder y apagar las salidas digitales.

Además, como ya vimos en su momento, he creado un tipo de variable de usuario para poder crear un array con las salidas digitales.

Además, para la representación gráfica, he creado en 5 minutos la plantilla del curso de VB. Net y Snap 7 usando el control de byte que nos permite representar bytes enteros de I/O como luego vas a ver.

Otras consideraciones

En un caso real, se debería añadir que la imagen de procesos de las salidas no se actualicen de forma automática, sino con el OB clícico correspondiente. De es forma, aseguramos un correcto encedido / apagado de la salida digital. Si no hacemos esta parte, dejamos que la precisión del encendido/apagado, dependa del ciclo de scan del OB1.

El vídeo de equilibrar cargas con un PLC

¿Lo vemos funcionar?

No te agobies si te resulta un poco complejo o denso. La idea de este vídeo es ver cómo aplicaciones que pueden parecer complejas, eligiendo bien el lenguaje de programación, se hace mucho más sencillo.

¿Qué te ha parecido?

Espero que te haya parecido interesante.

Como has visto, con SCL y un PLC de Siemens puedes hacer muchas automatizaciones de una forma mucho más compacta y sencilla.

El proyecto lo dejo como en otras ocasiones en el Anexo del bloque 4 dedicado a SCL del curso completo de TIA Portal.

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

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.

    4 Comentarios

  1. Inosencio dice

    7 noviembre, 2019 a las 20:39

    Hola

    Muchas gracias Iñigo, siempre aportando temas interesantes, en el área de la automatización.
    Los importes de estos es primero saber hacer la cosas acordes a los parámetros como son: funcionalidad, factor económico, y practico.

    Responder
    • Iñigo Gútiez dice

      7 noviembre, 2019 a las 20:55

      Gracias por comentar. Efectivamente, el tema económico es muy importante siempre.

      Responder
  2. Carlos Tarragüel dice

    11 noviembre, 2019 a las 12:18

    Buenos días Iñigo,

    No tengo este proyecto en el anexo del bloque 4.

    Responder
    • Iñigo Gútiez dice

      11 noviembre, 2019 a las 19:52

      Hola Carlos. Lo cree y no le di a publicar jeje.
      Ya está colgado correctamente.
      Saludos!

      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