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 antes de eso, decirte que para poder aprender programación de autómatas con mis formaciones verdaderamente exclusivas a la vez que rentables, solo las puedes adquirir a través de mis emails diarios.
Para recibirlos como ya hacen otros miles de personas, te apuntas aquí:
¿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 datos | Longitud | Rango de Valores | S7-300/400 | S7-1200 | S7-1500 |
---|---|---|---|---|---|
BOOL | 1 bits | FALSE o TRUE | ✔️ | ✔️ | ✔️ |
Secuencia de bits
Tipos de datos | Longitud | Rango de Valores | S7-300/400 | S7-1200 | S7-1500 |
---|---|---|---|---|---|
BYTE | 8 bits | Con signo: -128 a +127 Sin signo: 0 a 255 | ✔️ | ✔️ | ✔️ |
WORD | 16 bits | Con signo: -32.768 a +32.767 Sin signo: 0 a 65.535 | ✔️ | ✔️ | ✔️ |
DWORD | 32 bits | Con signo: -2.147.483.648 a +2.147.483.648 Sin signo: 0 a 4.294.967.295 | ✔️ | ✔️ | ✔️ |
LWORD | 64 bits | Enteros 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 datos | Longitud | Rango de Valores | S7-300/400 | S7-1200 | S7-1500 |
---|---|---|---|---|---|
SINT | 8 bits | -128 a +127 | ❌ | ✔️ | ✔️ |
INT | 16 bits | -32.768 a +32.767 | ✔️ | ✔️ | ✔️ |
DINT | 32 bits | -2.147.483.648 a +2.147.483.647 | ✔️ | ✔️ | ✔️ |
USINT | 8 bits | 0 a 255 | ❌ | ✔️ | ✔️ |
UINT | 16 bits | 0 a 65.535 | ❌ | ✔️ | ✔️ |
UDINT | 32 bits | 0 a 4.294.967.295 | ❌ | ✔️ | ✔️ |
LINT | 64 bits | -9.223.372.036.854.775.808 a +9.223.372.036.854.775.807 | ❌ | ❌ | ✔️ |
ULINT | 64 bits | 0 a 18.446.744.073.709.551.615 | ❌ | ❌ | ✔️ |
Números en coma flotante
Tipos de datos | Longitud | Rango de Valores | S7-300/400 | S7-1200 | S7-1500 |
---|---|---|---|---|---|
REAL | 32 bits | +1.175495e-38 a +3.402823e+38 | ✔️ | ✔️ | ✔️ |
LREAL | 64 bits | +2.2250738585072014e-308 a +1.7976931348623158e+308 | ❌ | ✔️ | ✔️ |
Temporizadores
Tipos de datos | Longitud | Rango de Valores | S7-300/400 | S7-1200 | S7-1500 |
---|---|---|---|---|---|
S5TIME | 16 bits | S5T#0MS a S5T#2H_46M_30S_0MS | ✔️ | ❌ | ✔️ |
TIME | 32 bits | T#-24d_20h_31m_23s_648ms a T#+24d_20h_31m_23s_647ms | ✔️ | ✔️ | ✔️ |
LTIME | 64 bits | LT#-106751d_23h_47m_16s_854ms_775us_808ns a LT#+106751d_23h_47m_16s_854ms_775us_807ns | ❌ | ❌ | ✔️ |
Fecha y Hora
Tipos de datos | Longitud | Rango de Valores | S7-300/400 | S7-1200 | S7-1500 |
---|---|---|---|---|---|
DATE | 2 bytes | D#1990-01-01 a D#2169-06-06 | ✔️ | ✔️ | ✔️ |
TOD (TIME OF DAY) | 4 bytes | TOD#00:00:00.000 a TOD#23:59:59.999 | ✔️ | ✔️ | ✔️ |
LTOD (LTIME OF DAY) | 8 bytes | LTOD#00:00:00.000000000 a LTOD#23:59:59.999999999 | ❌ | ❌ | ✔️ |
DT (DATE AND TIME) | 8 bytes | Mín.: DT#1990-01-01-00:00:00.000 Máx.: DT#2089-12-31-23:59:59.999 | ✔️ | ❌ | ✔️ |
LDT | 8 bytes | Mín.: LDT#1970-01-01-00:00:00.000000000 Máx.: LDT#2262-04-11-23:47:16.854775807 | ❌ | ❌ | ✔️ |
DTL | 12 bytes | Mín.: DTL#1970-01-01-00:00:00.0 Máx.: DTL#2262-04-11-23:47:16.854775807 | ❌ | ✔️ | ✔️ |
Cadenas de caracteres
Tipos de datos | Longitud | Rango de Valores | S7-300/400 | S7-1200 | S7-1500 |
---|---|---|---|---|---|
CHAR | 8 bits | Juego de caracteres ASCII | ✔️ | ✔️ | ✔️ |
WCHAR | 16 bits | $0000 - $D7FF | ❌ | ✔️ | ✔️ |
STRING | n+2 bytes | 0 a 254 caracteres | ✔️ | ✔️ | ✔️ |
WSTRING | n+2 Word | Valor 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)
Bien.
Todos los días envío un email diario a miles de personas con la posibilidad de adquirir alguna de mis formaciones verdaderamente inéditas a la vez que rentables.
Para recibirlos, y con ello, la opción de poder adquirirlas, te apuntas justo aquí debajo: