Para desarrollar un ejemplo reciente en TIA Portal, he necesitado generar un simulador de temperaturas.
Es bastante útil para generar valores que vayan variando con el tiempo para realizar pruebas de todo tipo y simular programas que estés desarrollando y no tener que meter los valores a mano que siempre es un engorro.
Como estoy seguro de que tienes interés en SCL, he pensado que podría ser interesante en realizar algunos ejemplos donde ver qué potencial tiene este lenguaje de programación.
Hoy te voy a mostrar algo sencillo, que no quiero que salgas corriendo el primer día que hago un ejemplo con ello.
Contenido
El simulador de temperaturas en SCL
Lo que queremos crear es algo como lo que te muestro en la siguiente imagen:
La idea es que los valores que se generen en el simulador de temperaturas sean parametrizables para que varíen entre un valor máximo y mínimo y que se pueda generar un rizado alrededor de la tendencia.
Además, tiene que poderse modificar de forma sencilla y que puedas generar de forma sencilla diferentes comportamientos en la salida.
En la siguiente imagen, te presento un ejemplo de los diferentes valores que puede tomar la salida tan solo cambiando los valores de entrada del bloque.
¿Cómo generar un simulador de temperaturas?
Para tener valores tan chulos como los de las imágenes, vamos a dar como entrada:
- Un valor máximo de temperatura
- Un valor mínimo de temperatura
- El periodo del ciclo
- Un divisor de periodos para los ciclos del rizado
- La amplitud del rizado
Lo que vamos a hacer es básicamente generar una onda senoidal de periodo el número de ciclos que introduzcamos y que tenga como valores extremos el máximo y el mínimo.
Todo esto lo vamos a realizar sobre un S7-1200.
Sobre esta onda, montaremos otra onda senoidal cuyo periodo sea una fracción del primero (para que tenga una mayor frecuencia y por tanto mayor variación) con la amplitud de rizado dada.
Por tanto, dependiendo de los valores que introduzcamos en las diferentes entradas, nos dará una salida totalmente diferente y por tanto, podremos adaptar a nuestras pruebas de forma más ajustada.
Lógicamente este bloque se puede complicar todo lo que quieras, añadiendo otras variables que hagan más imprevisible el comportamiento, más lineal, o del índole que sea quiera.
Pero como generador de temperaturas está bastante bien, ya que por lo general, la temperatura alrededor de un setpoint se suele comportar con ondas senoidales de mayor o menor frecuencia y amplitud.
Funcionamiento del simulador de temperatura en SCL
Como en otras ocasiones, te dejo con un vídeo donde podrás ver por un lado cómo lo he construido y por otro el resultado de su funcionamiento.
¿Te gustaría programar en SCL?
Este ejemplo es muy sencillo y no muestra el potencial real de la programación en SCL, aunque como ves, simplifica el entendimiento y generación de cálculos respecto a los otros lenguajes como pueden ser escalera o diagrama de bloques.
En próximas entradas te mostraré otros ejemplos donde puedas ver su potencial y cómo en pocas líneas puedes generar cálculos bastante complejos.
Si no puedes esperar, y necesitas es dominar la programación en SCL desde los conceptos más básicos, puedes empezar hoy mismo mediante el curso de programación en SCL bajo TIA Portal .
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.
7 Comentarios
Donde declaras las variables??
Pues como todas,en el listado de variables (si son globales) o en el interface del bloque si fuera el caso
Un verdadero capo este majo eh?…..muy bueno e interesante contenido… por lo menos me ha ahorrado mientras el simulador de señales (en Tensión y en Corriente) que necesitaba. Saludos!!!
Hola Iñigo, veo que en este post ya no esta disponible el video para poder visualizar-lo!
Es correcto…??
Un saludo,
Corregido! Si encontrais más videos así, ¡¡decidme por favor!!
BUENAS TARDES,
ME HA PARECIDO MUY INTERESANTE EL VIDEO.
AHORA ES EL MOMENTO DE VER EN QUE APLICACIÓN PUEDE SER UTILIZADO.
GRACIAS POR LA COLABORACION.
A ti Carlos!