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
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.
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.
4 Comentarios
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.
Gracias por comentar. Efectivamente, el tema económico es muy importante siempre.
Buenos días Iñigo,
No tengo este proyecto en el anexo del bloque 4.
Hola Carlos. Lo cree y no le di a publicar jeje.
Ya está colgado correctamente.
Saludos!