Cursos
Clase #7 - Tipos de Datos Word, Dword, Date y Time en TIA Portal V18: Manejo Avanzado
Tipos de Datos Word, Dword, Date y Time en TIA Portal V18: Manejo Avanzado
💡 Por qué este video es esencial: Los tipos TIME, TOD y DATE NO son números simples; tienen formato interno específico que causa errores si los tratas como Integers. En este video te muestro cómo convertir correctamente entre tipos temporales y numéricos, cómo usar Word/Dword para máscaras de diagnóstico, y por qué DWord no es lo mismo que DInt. ¡La demostración en tabla de observación es clave!
👋 Introducción: Más Allá de los Números Básicos
Bienvenido a la Clase #7. Ya dominas Bool, Byte, Int y Dint (Clase 6). Ahora subimos de nivel: datos que representan tiempo, fechas y grupos de bits.
En automatización industrial, necesitas medir ciclos, registrar timestamps de alarmas, o leer estados de múltiples sensores en una sola palabra. Usar el tipo incorrecto aquí no solo da valores erróneos; puede detener tu proceso o corromper comunicaciones.
En este artículo explicamos las definiciones, pero ver la conversión en tiempo real y el comportamiento de las máscaras de bits solo es posible en el video.
Lo que aprenderás en esta sesión
- Word (16-bit unsigned) vs Int (16-bit signed): Cuándo usar cada uno y riesgos de mezcla.
- Dword (32-bit unsigned) vs Dint (32-bit signed): Diferencias críticas en comunicaciones y HMI.
- Tipos Temporales: TIME, TOD (Time of Day), DATE, DTL (Date and Time Long).
- Conversión Segura: Funciones CONVERT, T_CONV y pitfalls comunes.
- Máscaras de Bits: Usar Word/Dword para agrupar flags de diagnóstico eficientemente.
⚙️ Conceptos Clave (Resumen Técnico)
1. Signed vs Unsigned: La Diferencia que Importa
Como demuestro en el minuto 02:15 del video, esta distinción define cómo el PLC interpreta los bits:
Tipo | Bits | Rango | Bit de Signo | Uso Industrial Típico |
|---|---|---|---|---|
Word | 16 | 0 a 65,535 | ❌ No | Direcciones, masks, contadores sin signo, códigos ASCII. |
Int | 16 | -32,768 a 32,767 | ✅ Sí | Temperaturas, velocidades bidireccionales, offsets. |
Dword | 32 | 0 a 4,294M | No | Totales producción, timestamps UNIX, direcciones IP. |
Dint | 32 | -2,147M a 2,147M | ✅ Sí | Posiciones encoder, acumuladores grandes, diferencias. |
⚠️ Error Crítico: Mover un valor >32,767 de un Word a un Int sin conversión lo interpretará como NEGATIVO. En el video te muestro esto en vivo en la tabla de observación.
2. Tipos Temporales: No Son Números
TIA Portal tiene tipos específicos para tiempo. Confundirlos con integers es el error #1 en secuencias:
- TIME: Duración en milisegundos (ej: T#1h30m). Interno: DInt en ms.
- TOD (Time of Day): Hora del día (00:00:00 a 23:59:59.999). Interno: DInt en ms desde medianoche.
- DATE: Fecha calendario (1990-01-01 a 2168-12-31). Interno: DInt en días desde 1990-01-01.
- DTL (Date and Time Long): Estructura completa con año, mes, día, hora, minuto, segundo, ns. Recomendado para logs y alarms modernas.
3. Máscaras de Bits: Eficiencia en Diagnóstico
Usar Word o Dword para agrupar flags ahorra memoria y simplifica lógica:
- Bit 0: Motor_Activo
- Bit 1: Puerta_Abierta
- Bit 2: Nivel_Alto
- Bit 3: Error_Comms
Para verificar si cualquier alarma está activa: IF Alarms_Word <> 0 THEN ...
Para verificar alarma específica: IF Alarms_Word.2 THEN ...
En el video creamos una máscara de 16 bits y la monitoreamos en tiempo real.
✅ Checklist de Selección de Tipo Avanzado
Antes de declarar variables temporales o Word/Dword:
- ¿Es duración o punto en el tiempo? → TIME vs TOD/DATE.
- ¿Necesito precisión de nanosegundos? → Usa DTL, no TIME.
- ¿Son múltiples flags relacionados? → Word/Dword con máscara.
- ¿Viene de comunicación Modbus/Profibus? → Probablemente Word/Dword unsigned.
- ¿He verificado el rango máximo antes de elegir signed/unsigned?
Este checklist está aplicado a ejemplos reales en el video. Úsalo como referencia.
🛑 Errores Comunes con Tipos Avanzados
- Tratar TIME como Int Directamente: Sin conversión explícita, obtienes valores basura. Usa T_CONV o CONVERT.
- Overflow en TOD: Si sumas tiempo a TOD y pasa de 23:59:59, se reinicia a 00:00:00. Valida siempre límites.
- Confundir DWord con DInt en HMI: Algunos HMIs muestran DWord como negativo si lo interpretan como signed. Configura el tag correctamente en WinCC/Comfort.
- Ignorar Zona Horaria en DTL: DTL incluye offset UTC. Si no lo consideras, tus logs tendrán horas incorrectas.
👉 MIRA EL VIDEO PARA VER CÓMO CONVERTIR TIME A INT Y VICEVERSA SIN PERDER PRECISIÓN
¿Te ha pasado que un timestamp aparece con hora incorrecta en tu HMI?
Déjame un comentario en YouTube describiendo tu configuración. Ayudaremos a resolverlo juntos y mejoraremos futuras clases.
🔔 ¡Suscríbete y activa la campanita! En la Clase #8 aprendemos a usar Arrays para manejar lotes, recetas y secuencias repetitivas. ¡Esencial para procesos batch!

Publicar un comentario
0 Comentarios