Si has trabajado en TIA Portal con la serie S7-1200 o S7-1500 habrás podido comprobar que trae nuevas mejoras que son realmente útiles a la hora de programar.
Una de ellas, es la descomposición del reloj del sistema, de tal forma que podemos tener las variables tipo DTL que son una estructura en la que puedes descomponerla en TuVariable.year o TuVariable.Minute, para obtener por ejemplo, el año y el minuto del reloj respectivamente.
Pero he aquí la sorpresa cuando a pesar de trabajar con TIA Portal, intentas hacer lo mismo con la serie 300 en TIA Portal.
¡Esta opción no existe!
Aprovechando una duda de uno de los alumnos del curso de Step 7 sobre los UDT, he realizado este ejemplo, que espero que aune la explicación de qué es un UDT y para qué lo podemos usar, con la utilidad de crear una variable estilo DTL para la serie 300.
Y es que teniendo unos conocimientos medianamente sólidos, puedes realizar muchas cosas que TIA Portal o Step 7 tradicional no traen out of the box, que dicen los anglosajones (que viene a ser algo así, como nada más sacarse de la caja,).
Bueno, pues sabiendo que no lo trae, pero que lo queremos conseguir… al lío.
Cómo crear una variable DTL en la serie 300 en TIA Portal
Un UDT (User Defined Type) no es mas que una estructura de datos definidos por el usuario, que una vez creados, pueden ser utilizados como variables simples o compuestas a lo largo del proyecto, tanto dentro de los bloques, como variables de entrada, salida etc en los interfaces de estos bloques.
Para nuestro caso, la idea es la siguiente:
- Creamos un UDT que contenga todos los datos para crear tu DTL en la serie 300, desglosada según estas variables:
- Año
- Mes
- Dia
- Hora
- Minuto
- Segundo
- Milisegundos
- Dia de la semana
- Creamos un bloque FC, cuya salida, apunta a una variable del tipo UDT que hemos creado donde vuelca la información del reloj
- Creamos un DB y lo llamamos «Reloj» o algo similar, y dentro declaramos una variable llamada «Now», por ejemplo.
- Realizamos la llamada a este FC y cuya salida la vuelque en «Reloj».Now
Así, podremos tener esta pequeña función, que la cargaremos en todos nuestros proyectos donde vayamos a usar la hora para algo, de tal forma que tendremos una variable que tiene la hora del sistema, con la misma pinta que tiene los DTL
El vídeo
Como siempre, te dejo con un vídeo donde verlo más detalladamente.
Fé de erratas:
En el vídeo digo que los UDT son User Data Type (Tipos de Datos de Usuario), y es incorrecto. Son User Defined Type (Tipos Definidos por el Usuario). Espero que me perdones este error al desplegar el acrónimo. He parcheado el vídeo para que aparezca correctamente.
¿Qué te ha parecido?
¡Espero tus comentarios!
Seguro que ya usas algo parecido, y espero que te sea de interés si no lo habías pensado.
Dejo en este caso, los proyectos del vídeo en dos sitios diferentes, al estar realizado tanto en TIA Portal (V13) como en Step 7 tradicional.
Quedan inscritos en el bloque 1 del curso de TIA Portal, y en el curso de Step 7 tradicional.
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
Cuando seleccionas un bloque, debes saber seleccionar también los tipos de variables para guardarlas en
registros y a continuación usarlas para desplegar en un HMI o para el mismo programa en PLC, ya que en marcas o en bits…..
Saludos…
Hola Alejandro, no entiendo muy bien que has querido decir.
Super facil, gracias por la explicacion.
se agradece la explicaciòn