3. PROPIEDADES DEL CPU – MARCAS DE CICLO
Las marcas de ciclo configuran un byte que activa y desactive los distintos bits en
intervalos fijos. Cada bit de reloj genera un impulso de onda cuadrada en el bit
correspondiente del área de marcas. Estos bits pueden utilizarse como bits de control para
disparar acciones cíclicas en el programa de usuario, especialmente si se combinan con
instrucciones de detección de flancos.
SIMATIC S7
6. PROPIEDADES DEL CPU – PROTECCIÓN DEL PROGRAMA
La CPU ofrece 3 niveles de protección para restringir el acceso a determinadas funciones.
Al configurar el nivel de protección y la contraseña de una CPU, se limitan las funciones
y áreas de memoria accesibles sin introducir una contraseña.
Nivel de protección Restricciones de acceso
Sin protección Permite el acceso completo sin protección por contraseña.
Protección contra
escritura
Ofrece acceso a los dispositivos HMI y permite toda la comunicación entre
PLCs sin protección por contraseña. La contraseña se requiere para modificar (escribir en) la CPU y
cambiar su estado operativo (RUN/STOP).
Protección contra
lectura/escritura
Ofrece acceso a los dispositivos HMI y permite toda la comunicación entre
PLCs sin protección por contraseña. La contraseña se requiere para leer los datos de la CPU,
modificar (escribir en) la CPU y cambiar su estado operativo (RUN/STOP).
SIMATIC S7
8. TIPO DE DATOS: BOOL, BYTE
Tipo de datos Tamaño en bits Tipo de número Rango numérico
Bool 1
Booleano FALSE o TRUE
Binario 2#0 o 2#1
Entero sin signo 0 o 1
Octal 8#0 o 8#1
Hexadecimal 16#0 o 16#1
Byte 8
Binario 2#0 a 2#1111_1111
Entero sin signo 0 a 255
Entero con signo -128 a 127
Octal 8#0 a 8#377
Hexadecimal B#16#0 a B#16#FF, 16#0 a 16#FF
SIMATIC S7
9. TIPO DE DATOS: WORD
Tipo de datos Tamaño en bits Tipo de número Rango numérico
Word 16
Binario 2#0 a 2#1111_1111_1111_1111
Entero sin signo 0 a 65535
Entero con signo -32768 a 32767
Octal 8#0 a 8#177_777
Hexadecimal
W#16#0 a W#16#FFFF,
16#0 a 16#FFFF
SIMATIC S7
10. TIPO DE DATOS: DWORD
Tipo de
datos
Tamaño en bits
Tipo de
número
Rango numérico
DWord 32
Binario
2#0 a
2#1111_1111_1111_1111_1111
_1111_1111_1111
Entero sin
signo*
0 a 4_294_967_295
Entero con
signo*
-2_147_483_648 a
2_147_483_647
Octal 8#0 a 8#37_777_777_777
Hexadecimal
DW#16#0000_0000 a DW#16#FFFF_FFFF
16#0000_0000 a 16#FFFF_FFFF
* El guión bajo "_" es un separador de miles que mejora la legibilidad de los números de
más de ocho dígitos.
SIMATIC S7
11. TIPO DE DATOS: INT y Real (Coma Flotante)
Tipo de datos Tamaño en bits Rango numérico
USInt 8 0 a 255
SInt 8 -128 a 127
UInt 16 0 a 65.535
Int 16 -32.768 a 32.767
UDInt 32 0 a 4.294.967.295
DInt 32 -2.147.483.648 a 2.147.483.647
Real 32 -3.402823e+38 a -1.175 495e-38, ±0, +1.175 495e-38 a +3.402823e+38
LReal 64
-1.7976931348623158e+308 a -2.2250738585072014e-308,
±0, +2.2250738585072014e-308 a +1.7976931348623158e+308
(U = sin signo, S = simple, D= doble)
SIMATIC S7
12. TIPO DE DATOS: FECHA Y HORA
Tipo de datos Tamaño en bits Rango numérico
Time 32 bits
T#-24d_20h_31m_23s_648ms a
T#24d_20h_31m_23s_647ms
Almacenado como: -2.147.483.648 ms
hasta +2.147.483.647 ms
Date 16 bits D#1990-1-1 a D#2168-12-31
Time Of Day (Hora) 32 bits TOD#0:0:0.0 a TOD#23:59:59.999
DATAAND TIME DTL
(fecha y hora en
formato largo)
12
bytes
Mín.: DTL#1970-01-01-00:00:00.0
Máx.: DTL#2262-04-11:23:47:16.854 775
807
SIMATIC S7
13. El dato TIME se guarda como entero doble con signo y se interpreta como
milisegundos.
DATE se guarda como valor entero sin signo y se interpreta como número de
días
TOD (TIME_OF_DAY) se guarda como entero doble sin signo y se interpreta
como el número en milisegundos desde medianoche para obtener la hora
específica del día (medianoche = 0 ms).
TIPO DE DATOS: FECHA Y HORA
SIMATIC S7
14. TIPO DE DATO: DATA AND TIME
Longitud
Bytes
Formato Rango de valores
12
Reloj y calendario
Año-Mes
Día:Hora:Minuto:
Segundo.Nanosegundos
Mín.: DTL#1970-01-01-00:00:00.0
Máx.: DTL#2554-12-31-23:59:59.999 999
999
El tipo de datos DTL (fecha y hora largo) utiliza una estructura de 12 bytes para guardar
información sobre la fecha y la hora. DTL se puede definir en la memoria temporal de un
bloque o en un DB.
SIMATIC S7
15. TIPO DE DATOS: CARÁCTER Y CADENAS
Tipo de datos Tamaño Rango
Char 8 bits 16#00 a 16#FF
WChar 16 bits 16#0000 a 16#FFFF
String n+ 2 bytes n = (0 a 254 bytes)
WString
n+ 2
palabras
n = (0 a 65534
palabras)
SIMATIC S7
16. TIPO DE DATOS: ARRAY
Se puede crear una matriz que contenga varios elementos del mismo tipo de datos.
Las matrices pueden crearse en las interfaces de bloques OB, FC, FB y DB. En el
editor de variables PLC no se pueden crear matrices.
Para crear una matriz en la interfaz del bloque, asigne un nombre a la matriz y
seleccione el tipo de datos "Array [lo .. hi] of type", modifique luego "lo", "hi" y
"type" como se indica a continuación:
• lo - el índice inicial (más bajo) de la matriz
• hi - el índice final (más alto) de la matriz
• type - uno de los tipos de datos, como BOOL, SINT, UDINT.
SIMATIC S7
17. Tipo de
datos
Sintaxis de una matriz
ARRAY
Nombre [index1_min..index1_max, index2_min..index2_max] de <tipo de datos>
• Todos los parámetros de la matriz deben tener el mismo tipo de datos.
• El índice puede ser negativo, pero el límite inferior debe ser inferior o igual que el límite superior.
• Las matrices pueden tener entre una y seis dimensiones.
• Las declaraciones multidimensionales mín..máx están separadas por caracteres coma.
• No se permiten matrices anidadas ni matrices de matrices.
• El tamaño de memoria de una matriz = (tamaño de un elemento * número total de elementos de una
matriz)
Índice de matriz
Tipos de datos índice
válidos
Reglas para índice de
matriz
Constante o variable
USInt, SInt, UInt, Int,
UDInt,
DInt
• Límites de valores:
-32768 a +32767
• Válido: Constantes y
variables mezcladas
• Válido: Expresiones
constantes
• No válido: Expresiones
variables
TIPO DE DATOS: ARRAY
SIMATIC S7
19. TIPO DE DATOS: STRUCT
TIPO DE DATO STRUCT
El tipo de datos STRUCT representa un número específico de componentes que pueden tener tipos
de datos diferentes cada uno de ellos. Una estructura puede tener hasta 8 niveles de anidamiento.
Una estructura puede declararse en la parte de declaración de un bloque de programación, en un DB
global o en un tipo de datos definidos por el usuario (UDT).
Las siguientes restricciones se aplican a los tipos de datos de una estructura:
SIMATIC S7
22. TIPO DE BLOQUES DE PROGRAMA
La CPU soporta los siguientes tipos de bloques lógicos que permiten estructurar eficientemente el
programa de usuario:
• Los bloques de organización (OBs) definen la estructura del programa. Algunos OB tienen
reacciones y eventos de arranque predefinidos. No obstante, también es posible crear OBs con
eventos de arranque personalizados.
• Las funciones (FCs) y los bloques de función (FBs) contienen el código de programa
correspondiente a tareas específicas o combinaciones de parámetros. Cada FC o FB provee
parámetros de entrada y salida para compartir datos con el bloque invocante. Un FB también utiliza
un bloque de datos asociado (denominado DB de instancia) para conservar los valores de datos para
la instancia de la llamada de FB. Puede llamar a un FB muchas veces, cada vez con un DB de
instancia único. Las llamadas al mismo FB con DB de instancia distintos no afectan a los valores de
datos del resto de los DB de instancia.
SIMATIC S7
23. TIPO DE BLOQUES DE PROGRAMA
• Los bloques de datos (DB) almacenan datos que pueden ser utilizados por los bloques
del programa.
NOTA
Las FC no están asociadas con ningún bloque de datos concreto (DB). Los FB están
vinculados directamente a un DB que utilizan para transferir parámetros, así como para
almacenar valores intermedios y resultados.
El tamaño del programa de usuario, los datos y la configuración está limitado por la
memoria de carga disponible y la memoria de trabajo de la CPU. No hay un límite
determinado para el número de cada bloque OB, FC, FB y DB individual. No obstante, el
número total de bloques se limita a 1024.
SIMATIC S7
25. ESTRUCTURA DEL PROGRAMA
Programa Lineal: Todo el programa se encuentra en un modulo (OB 1) con todas las
instrucciones juntas.
Programa Divido: El programa está dividido en bloques, cada bloque solo contiene el
programa para resolver una tarea parcial. Es posible dividir aun más el programa en
segmentos dentro de un bloque. Podemos generar plantillas de segmentos para segmentos
del mismo tipo.
Programa Estructurado: Un programa estructurado contiene bloques con parámetros,
llamados bloques parametrizables. Estos bloques se diseñan para que puedan usarse de
forma universal. Cuando llamamos a este tipo de bloques, le damos los parámetros
actuales ( las direcciones exactas de entrada y salidas, así como los valores de los
parámetros)
SIMATIC S7
28. DIRECCIONAMIENTO
Área de memoria Descripción
Forzado
permanente
Remanente
E
Memoria imagen de proceso de las entradas
E_:P 1
(entrada física)
Se copia de las entradas físicas al inicio del ciclo No No
Lectura inmediata de las entradas físicas de la CPU, SB y
SM Sí No
A
Memoria imagen de proceso de las salidas
A_:P 1
(salida física)
Se copia en las salidas físicas al inicio del ciclo No No
Escritura inmediata en las salidas físicas de la CPU, SB y SM Sí No
M
Área de marcas
Control y memoria de datos No
Sí
(opcional)
L
Memoria temporal
Datos locales temporales de un bloque No No
DB
Bloque de datos
Memoria de datos y de parámetros de FBs No
Sí
(opcional)
1. Para acceder inmediatamente (leer o escribir) a las entradas o salidas físicas es preciso añadir ":P" a la dirección o variable (p. ej.
I0.3:P, Q1.7:P o "Stop:P").
SIMATIC S7
29. DIRECCIONAMIENTO
Toda posición de memoria diferente tiene una dirección unívoca. El programa de
usuario utiliza estas direcciones para acceder a la información de la posición de
memoria. La dirección absoluta consta de los elementos siguientes:
• Identificador de área de memoria (como E, A o M)
• Tamaño de los datos a los que se va a acceder ("B" para Byte, "W" para Word, o
"D“ para DWord)
• Dirección inicial de los datos (como byte 3 o palabra 3)
Al acceder a un bit en la dirección para un valor booleano, no se introduce ningún
nemónico para el tamaño. Solo se introduce el área de memoria, la ubicación del
byte y la ubicación del bit de los datos (como I0.0, Q0.1, o M3.4).
SIMATIC S7
36. DIRECCIONAMIENTO
Doble Word (Doble Palabra)
Esta doble palabra está formada por los Bytes MB 10, MB 11, MB 12, Y MB 13
En MB 10 están los bits que dentro de MD 10 ocupan la posición de la 24 a la 31.
En MB 11 están los bits que dentro de MD 10 ocupan la posición de la 16 a la 23.
En MB 12 están los bits que dentro de MD 10 ocupan la posición de la 8 a la 15.
En MB 13 están los bits que dentro de MD 10 ocupan la posición de la 0 a la 7.
SIMATIC S7