Saltar al contenido

TIPOS de DATOS en TIA Portal

Voy a enseñarte de forma rápida🚀 y sencilla que son los Tipos de Datos en los PLC programados con TIA Portal (s7-1200, s7-1500, s7-300, s7-400), como también que tipos de datos maneja un PLC, aunque supongo que si estás aquí, te interesa sobre todo para las CPU S7-1200/S7-1500.

Pero el saber no ocupa lugar, ¿No?

Por cierto, soy Abel, que no me había presentado.

Bueno va, vamos a ello (es muy fácil)

Al final de la lección te dejo una Tabla con todos los Tipos de Datos.

Aprender a programar en TIA Portal
Tabla de Contenidos

¿Qué son los tipos de datos en PLC?

Los tipos de datos en los PLC son un formato particular con el cual las variables representan un valor cualquiera pero definido en un tipo en concreto. Las variables ocupan un espacio de memoria en el autómata, dicho espacio de memoria es finito, y lo condiciona el tipo de dato de la variable en cuestión.

¿No se entiende? Te pongo un ejemplo.

Imagina que tienes en tu almacén (si, ahora tienes un almacén) tres tipos de cajas, las pequeñas (P), las medianas (M) y las grandes (G), y cada una ocupa un espacio en concreto. Según el tipo de caja, ocupará un espacio mayor o menor, pues con los tipos de datos es igual, según el tipo de dato de la variable en el PLC, ocupará más o menos memoria.

Ahora imagina que la caja P contiene verduras, la caja M pescado y la caja G, carne. Cada tipo de caja lleva asociado, además de un tamaño en concreto, un tipo de alimento, pues los tipos de datos en las variables es lo mismo, llevan asociado una cantidad de memoria y un tipo de valor, ya sea numérico (entero, decimal, binario) o alfabético (carácter, cadena de caracteres…)

Conclusión, los tipos de datos en los PLC definen el tamaño de memoria a ocupar por la variable y el formato con el cual se va a expresar el valor de dicha variable.

¿Qué tipos de datos maneja un PLC?

Los PLC de Siemens, al igual que los de la mayoría de marcas, manejan muchísimos tipos de datos, los cuales te dejaré en una tabla al final de esta lección, que seguro te será de gran utilidad. Sin embargo, hay ciertos tipos de datos muy usados de manera frecuente por los programadores de PLC, entre ellos; bool, byte, int, word, dint, dword, real, date, time, string, any y variant.

Tipos de datos BOOL, BYTE, WORD/INT

En este vídeo te explico en detalle los tipos de datos BOOL, BYTE, WORD e INT en los PLC con TIA Portal, de hecho, te recomiendo que lo veas, ya que te explico cómo trabajar con ellos:

Tipos de datos DWORD, REAL, DATE y TIME

En este otro vídeo te explico en detalle como utilizar adecuadamente los tipos de datos DWORD, REAL, DATE y TIME, sobre todo con el DWord a nivel de bit, algo que te será de gran ayuda sobre todo cuando entres en programación más avanzada (en el vídeo te explico el tema de la inversión de bytes que hace Siemens)

Así que ya sabes, a aprender! 👇

¿Qué es un byte en un PLC?

Voy a ser bueno y, por si no te has visto el vídeo, te voy a explicar que es un Byte en PLC.

Un Byte en un PLC no es ni más ni menos que un tipo de dato que representa 8 bits, es decir, un byte es una agrupación de 8 bits. Esto es muy útil puesto que puedes agrupar entradas (%E3.0, %E3.1…) en un único byte como %EB3 (byte 3 con todas las entradas, desde la %E3.0 hasta la %E3.7). Con las salidas (%Q) y las marcas (%M), funciona igual.

¿Qué es un dato DINT?

El tipo de datos DINT (Double INT) se trata de un formato comprendido por 32 bits y consta de dos componentes, un signo y un valor numérico. Los estados lógicos de los bits 0 a 30 representan el valor numérico, mientras que el bit 31 representa el signo (+ o -). Concretamente, si el bit 31 es cero, el signo será positivo, y si el bit 31 es uno, el signo será negativo.

Un operando del tipo DINT, al estar formado por 32 bits, ocupa 4 bytes de memoria del PLC.

¿Qué es un doble entero?

En los PLC, el tipo de dato doble entero hace referencia a los DINT y DWORD, los cuales están formados por 32 bits, es decir, 4 bytes. Si te preguntas porqué, es debido a elevar el número 2 cuatro veces.

Variable String en TIA Portal

El tipo de datos STRING guarda varios caracteres en una cadena que puede estar formada por un máximo de 254 caracteres. Dichos caracteres los debes introducir entre comillas sencillas.

Una cadena de caracteres puede contener también caracteres especiales. Para especificar caracteres de control, caracteres de dólar y comillas simples se utiliza el carácter de escape $

TABLAS con los TIPOS de DATOS en PLC Siemens

Números Binarios

Tipos de datosLongitudRango de ValoresS7-300/400S7-1200S7-1500
BOOL1 bitsFALSE o TRUE✔️✔️✔️

Secuencia de bits

Tipos de datosLongitudRango de ValoresS7-300/400S7-1200S7-1500
BYTE8 bitsCon signo: -128 a +127
Sin signo: 0 a 255
✔️✔️✔️
WORD16 bitsCon signo: -32.768 a +32.767
Sin signo: 0 a 65.535
✔️✔️✔️
DWORD32 bitsCon signo: -2.147.483.648 a +2.147.483.648
Sin signo: 0 a 4.294.967.295
✔️✔️✔️
LWORD64 bitsEnteros con signo: de -9.223.372.036.854.775.808 a +9.223.372.036.854.775.807
Enteros sin signo: de 0 a 18.446.744.073.709.551.615
✔️

Enteros

Tipos de datosLongitudRango de ValoresS7-300/400S7-1200S7-1500
SINT8 bits-128 a +127✔️✔️
INT16 bits-32.768 a +32.767✔️✔️✔️
DINT32 bits-2.147.483.648 a +2.147.483.647✔️✔️✔️
USINT8 bits0 a 255✔️✔️
UINT16 bits0 a 65.535✔️✔️
UDINT32 bits0 a 4.294.967.295✔️✔️
LINT64 bits-9.223.372.036.854.775.808 a +9.223.372.036.854.775.807✔️
ULINT64 bits0 a 18.446.744.073.709.551.615✔️

Números en coma flotante

Tipos de datosLongitudRango de ValoresS7-300/400S7-1200S7-1500
REAL32 bits+1.175495e-38 a +3.402823e+38✔️✔️✔️
LREAL64 bits+2.2250738585072014e-308 a +1.7976931348623158e+308✔️✔️

Temporizadores

Tipos de datosLongitudRango de ValoresS7-300/400S7-1200S7-1500
S5TIME16 bitsS5T#0MS a S5T#2H_46M_30S_0MS✔️✔️
TIME32 bitsT#-24d_20h_31m_23s_648ms a T#+24d_20h_31m_23s_647ms✔️✔️✔️
LTIME64 bitsLT#-106751d_23h_47m_16s_854ms_775us_808ns a LT#+106751d_23h_47m_16s_854ms_775us_807ns✔️

Fecha y Hora

Tipos de datosLongitudRango de ValoresS7-300/400S7-1200S7-1500
DATE2 bytesD#1990-01-01 a D#2169-06-06✔️✔️✔️
TOD (TIME OF DAY)4 bytesTOD#00:00:00.000 a TOD#23:59:59.999✔️✔️✔️
LTOD (LTIME OF DAY)8 bytesLTOD#00:00:00.000000000 a LTOD#23:59:59.999999999✔️
DT (DATE AND TIME)8 bytesMín.: DT#1990-01-01-00:00:00.000
Máx.: DT#2089-12-31-23:59:59.999
✔️✔️
LDT8 bytesMín.: LDT#1970-01-01-00:00:00.000000000
Máx.: LDT#2262-04-11-23:47:16.854775807
✔️
DTL12 bytesMín.: DTL#1970-01-01-00:00:00.0
Máx.: DTL#2262-04-11-23:47:16.854775807
✔️✔️

Cadenas de caracteres

Tipos de datosLongitudRango de ValoresS7-300/400S7-1200S7-1500
CHAR8 bitsJuego de caracteres ASCII✔️✔️✔️
WCHAR16 bits$0000 – $D7FF✔️✔️
STRINGn+2 bytes0 a 254 caracteres✔️✔️✔️
WSTRINGn+2 WordValor predeterminado: 0 a 254 caracteres
Valor máx. posible: 0 a 16382
✔️✔️

En la longitud del String, «n» se refiere a la longitud máxima especificada, es decir, una variable String siempre necesitará 2 bytes extra (se lo asigna TIA Portal automáticamente)

En la longitud del WString, «n» se refiere a la longitud máxima especificada, es decir, una variable WString siempre necesitará 2 Word extra (se lo asigna TIA Portal automáticamente)

Todas las semanas, envío contenido de valor a través de mi newsletter.

Concretamente, experiencias propias vividas en fábricas como programador de PLC, cagadas monumentales que he hecho (y más de una buena que me ha caído) y consejos de programación.

Cada semana, píldora de conocimiento nueva. Semana que estás fuera, píldora que te pierdes (y que no volveré a compartir)

Para cumplir con el RGPD (Reglamento General de Protección de Datos) y entender que tus datos están seguros, debes leer y aceptar la política de privacidad. Tus datos serán guardados en Mailchimp, proveedor de email marketing. Mailchimp también cumple con el RGPD, así que todo está protegido y amparado por la ley.

Configuración