Cursos
Clase #9 - Estructuras (STRUCT) en TIA Portal V18: Organiza Datos de Equipos en Ladder
Estructuras (STRUCT) en TIA Portal V18: Organiza Datos de Equipos en Ladder
💡 Por qué este video es esencial: En Ladder, una STRUCT no es código complejo; es organización visual pura. En este video te muestro cómo declarar una estructura de "Motor", acceder a sus campos (Motor[2].Velocidad) directamente en contactos y bobinas, y monitorear todo el equipo en una sola fila de tabla. ¡Tu Ladder pasará de caótico a profesional en minutos!
👋 Introducción: De Variables Sueltas a Equipos Lógicos
Bienvenido a la Clase #9. Ya usas Arrays para estaciones repetitivas (Clase 8). Pero, ¿qué pasa cuando cada estación tiene diferentes tipos de datos? Un motor tiene velocidad (Int), temperatura (Real), estado (Bool) y error (Word).
Crear
Motor3_Vel, Motor3_Temp, Motor3_Estado, Motor3_Error es ineficiente y propenso a errores.La solución es la STRUCT. En Ladder, una STRUCT agrupa variables relacionadas bajo un nombre único, permitiendo acceso simbólico claro (Motor3.Velocidad) y mantenimiento simplificado.
En este artículo explicamos la declaración, pero ver la legibilidad ganada en una red Ladder real solo es posible en el video.
🎯 Lo que aprenderás en esta sesión (Enfoque Ladder)
- Declaración de STRUCTs en DBs Globales: Sintaxis para agrupar datos de equipos.
- Acceso Simbólico en Redes Ladder: Usar Equipo.Campo en contactos, bobinas y comparadores.
- Caso Práctico: Estructura de Motor Completa: Velocidad, temperatura, estado y alarmas en un solo bloque.
- Monitoreo Jerárquico en Tabla de Observación: Ver todos los datos de un equipo expandidos o colapsados.
- Combinación con Arrays: Motores[0..9] of Struct { ... } para flotas de equipos idénticos.
️Conceptos Clave (Resumen Técnico Ladder)
1. Declaración: El Molde de Tus Equipos
Como demuestro en el minuto 02:30 del video, en Ladder declaramos STRUCTs principalmente en DBs Globales:
Campo | Tipo de Dato | Uso en Ladder | Beneficio |
|---|---|---|---|
Velocidad | Int | Comparador: Motor.Velocidad > 1000 | Agrupa dato numérico del equipo |
Temperatura | Real | MOVE: Motor.Temp := SensorTemp | Dato analógico asociado |
Activo | Bool | Contacto: Motor.Activo | Estado binario del equipo |
CodigoError | Word | Comparador: Motor.Error = 16#00FF | Diagnóstico integrado |
💡 Regla de Oro en Ladder: Nombra la STRUCT en singular (Motor, Valvula, Tanque) porque representa un equipo. Los arrays serán plurales (Motores).
2. Acceso en Redes Ladder: Legibilidad Máxima
La diferencia visual es abismal:
- Sin STRUCT:
|--[Motor3_Activo]--[Motor3_Temp > 80]--(Motor3_Alarma)--
(4 variables sueltas, difícil escanear)
- Con STRUCT:
|--[Motores[3].Activo]--[Motores[3].Temp > 80]--(Motores[3].Alarma)--
(1 símbolo jerárquico, contexto inmediato)
3. Caso Práctico: Flota de 5 Motores
Declara:
Motores : Array[0..4] of Struct { Vel: Int; Temp: Real; On: Bool; Err: Word }En tu red Ladder para el Motor #2:
IF Motores[2].On AND Motores[2].Temp > 75.0 THEN Motores[2].Err := 16#0001; END_IF;En el video construimos esta lógica paso a paso y comparamos claridad vs. método tradicional.
✅ Checklist de STRUCTs en Ladder
Antes de implementar:
- STRUCT declarada en DB Global (accesible desde todas las redes).
- Nombre en singular y descriptivo (Motor, no DatosMotor).
- Campos ordenados lógicamente (estado → proceso → diagnóstico).
- Acceso en Ladder usa notación punto (.) correctamente.
- Tabla de observación muestra estructura expandida para depuración.
Este flujo está demostrado completamente en el video. Úsalo como referencia para tus proyectos Ladder.
🛑 Errores Comunes en Ladder con STRUCTs
- Nombres en Plural para STRUCT Singular: Motores.Velocidad confunde. Usa Motor.Velocidad y Motores[i].Velocidad para arrays.
- Campos Desordenados: Poner diagnóstico antes que estado operativo dificulta lectura secuencial en Ladder.
- No Usar Comentarios en Campos: Agrega comentario en cada campo de la STRUCT ("Velocidad en RPM", "Temp en °C"). Aparece en tooltip de Ladder.
- Olvidar Expandir en Tabla: Ver Motores[2] colapsado oculta valores críticos. Expande siempre al depurar.
👉 MIRA EL VIDEO PARA VER ESTA TRANSFORMACIÓN VISUAL EN UNA RED LADDER REAL
¿Te ha pasado que agregar un nuevo sensor requiere modificar 10 redes Ladder?
Déjame un comentario en YouTube describiendo tu caso. Te mostraremos cómo una STRUCT bien diseñada elimina ese dolor.
¡Suscríbete y activa la campanita! En la Clase #10 aprendemos a convertir tus STRUCTs en UDTs (User Defined Types). Así, cualquier cambio en la plantilla se replica automáticamente en todos los equipos. ¡El siguiente nivel de eficiencia en Ladder!

Publicar un comentario
0 Comentarios