Cursos
Clase #8 - Tipos de Datos Arrays en TIA Portal V18: Estructura tus Datos como un Pro
Tipos de Datos Arrays en TIA Portal V18: Estructura tus Datos como un Pro
💡 Por qué este video es obligatorio: Los Arrays parecen simples en teoría, pero su potencia real se ve al usarlos en bucles FOR, acceso dinámico por índice y visualización en HMI. En este video te muestro cómo declarar arrays multidimensionales, iterarlos en SCL/LAD y evitar errores de índice fuera de rango. ¡La demostración práctica con una receta de 10 productos es clave!
👋 Introducción: Orden Visual en Tu Red Ladder
Bienvenido a la Clase #8. Ya dominas tipos de datos básicos (Clases 6-7). Ahora enfrentas el problema clásico del programador Ladder: "Tengo 10 estaciones idénticas... ¿creo 10 redes separadas con variables llamadas Motor1, Motor2... Motor10?".
NO. Eso hace tu Ladder ilegible e imposible de mantener.
Usa Arrays. En Ladder, un Array no es código complejo; es simplemente una forma de agrupar variables del mismo tipo bajo un mismo nombre, permitiendo que tu red Ladder sea limpia, escalable y fácil de depurar.
En este artículo explicamos la declaración, pero ver cómo se accede a los elementos dentro de una red Ladder y cómo se monitorean en tabla solo es posible en el video.
🎯 Lo que aprenderás en esta sesión (Enfoque Ladder)
Declaración de Arrays en DBs Globales: Sintaxis correcta para Ladder.
Acceso Simbólico en Redes Ladder: Usar NombreArray[Indice] directamente en contactos y bobinas.
Organización de Estaciones Repetitivas: Caso práctico de 5 estaciones idénticas.
Monitoreo en Tabla de Observación: Ver todos los elementos del array en una vista compacta.
Buenas Prácticas de Nomenclatura: Cómo nombrar arrays para que tu Ladder sea autoexplicativo.
⚙️ Conceptos Clave (Resumen Técnico Ladder)
1. Declaración: La Base para un Ladder Limpio
Como demuestro en el minuto 02:10 del video, en Ladder declaramos arrays principalmente en DBs Globales para que sean accesibles desde cualquier red:
Declaración | Uso en Ladder | Beneficio Visual |
|---|---|---|
Estaciones : Array[0..9] of Bool | Contacto: Estaciones[3] | Reemplaza 10 variables sueltas ( Est1, Est2...) |
Temperaturas : Array[0..4] of Int | Bobina MOVE: Temperaturas[i] | Agrupa lecturas analógicas por zona |
Productos : Array[0..9] of Word | Comparador: ProductoActual = Productos[2] | Recetas visibles en una sola fila de tabla |
💡 Regla de Oro en Ladder: Usa índices constantes ([0], [1], [2]) en tus redes Ladder. Los índices variables requieren lógica adicional (contadores + comparadores) que complican el ladder innecesariamente en esta etapa.
2. Acceso en Redes Ladder: Símbolos Claros
La belleza de usar Arrays en Ladder es la legibilidad:
Sin Array:
|--[ ]--( )--(Variable: Motor_Estacion_3)|--[ ]--( )--(Variable: Sensor_Estacion_3)|--[ ]--( )--(Variable: Valvula_Estacion_3)
Con Array:
|--[Estaciones[3].Motor]--(Estaciones[3].Valvula)--|--[Estaciones[3].Sensor]-------------------------|
3. Caso Práctico: 5 Estaciones de Llenado
Imagina 5 tanques idénticos. En lugar de 15 variables sueltas, declaras:
Tanques : Array[0..4] of Struct { Nivel: Bool; Bomba: Bool; Valvula: Bool }En tu red Ladder, la lógica para el Tanque #2 es simplemente:
IF Tanques[2].Nivel THEN Tanques[2].Bomba := FALSE; END_IF;En el video construimos esta red paso a paso y comparamos el antes/después en claridad.
✅ Checklist de Arrays en Ladder
Antes de implementar:
- Array declarado en DB Global (accesible desde todas las redes).
- Índices usados en Ladder son constantes y documentados (comentario en red: "// Estación 3").
- Nombre del array es plural y descriptivo (Estaciones, no Arr1).
- Tabla de observación configurada para mostrar el array expandido (no colapsado).
- Probado acceso a primer ([0]) y último ([n]) elemento en simulación.
Este flujo está demostrado completamente en el video. Úsalo como referencia para tus propios proyectos Ladder.
🛑 Errores Comunes en Ladder con Arrays
- Índices Variables Sin Lógica de Control: Intentar usar una variable como índice en Ladder sin un contador/comparador previo causa comportamientos erráticos. Mantente en índices constantes por ahora.
- Arrays en Bloques Locales (Temp/Static): Difíciles de monitorear externamente. Para Ladder, prioriza DBs Globales.
- Nombres Ambiguos: Datos[0] no dice nada. Usa SensoresNivel[0].
- No Expandir en Tabla de Observación: Ver SensoresNivel colapsado oculta los valores individuales. Haz clic en el "+" para expandir.
MIRA EL VIDEO PARA VER ESTA DIFERENCIA VISUAL EN UNA RED LADDER REAL
¿Te ha pasado que tu red Ladder se vuelve ilegible por tantas variables?
Déjame un comentario en YouTube mostrando tu caso (captura de pantalla). Te ayudaremos a reestructurarlo con Arrays.
🔔 ¡Suscríbete y activa la campanita! En la Clase #9 aprendemos a usar STRUCTs en Ladder para agrupar datos de motores, válvulas y sensores bajo un mismo símbolo. ¡Tu Ladder nunca volverá a ser el mismo!

Publicar un comentario
0 Comentarios