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 

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

  1. Word (16-bit unsigned) vs Int (16-bit signed): Cuándo usar cada uno y riesgos de mezcla.
  2. Dword (32-bit unsigned) vs Dint (32-bit signed): Diferencias críticas en comunicaciones y HMI.
  3. Tipos Temporales: TIME, TOD (Time of Day), DATE, DTL (Date and Time Long).
  4. Conversión Segura: Funciones CONVERT, T_CONV y pitfalls comunes.
  5. 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

  1. Tratar TIME como Int Directamente: Sin conversión explícita, obtienes valores basura. Usa T_CONV o CONVERT.
  2. Overflow en TOD: Si sumas tiempo a TOD y pasa de 23:59:59, se reinicia a 00:00:00. Valida siempre límites.
  3. Confundir DWord con DInt en HMI: Algunos HMIs muestran DWord como negativo si lo interpretan como signed. Configura el tag correctamente en WinCC/Comfort.
  4. 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