2. Nota: los autómata máquina automática programable capaz de realizar determinadas
operaciones de manera autónoma y sustituir a los seres humanos en algunas tareas, en
especial las pesadas, repetitivas o peligrosas
3.
4.
5.
6.
7.
8.
9.
10. Estructura interna de los PLCs de la familia S7
Introducción a los autómatas programables
12. Estructura interna básica de un PLC
Introducción a los autómatas programables
μP EPROM
(Firmware)
MEMORIA DATOS
(RAM)
MEMORIA DE
TRABAJO
(RAM)
Otros elementos
analógicos y
digitales del sistema
Fuente de
Alimentación
Interface
unidad de
Programación
Interfaces de
PERIFÉRICOS
Interfaces de
E/S ENTRADAS SALIDAS
Comunicación
PROFIBUS
PROFINET
BUS de la CPU
Área de la CPU
Área de memorias
Red alimentación A unidad de
programación
De
CAPTADORES
A
ACTUADORES
A BUS
EXTERNO
Varios
Área de interfaces Área de E/S
13. Introducción a los autómatas programables
Mapa de memoria de un PLC
Memoria
del Sistema
(Firmware)
Programas ejecutivos,
Sistema Operativo del
Sistema o Firmware
(ROM o EPROM)
Memoria
Temporal
(RAM o EPROM)
Memoria imagen
de E/S (RAM)
Memoria de
Variables internas
(RAM)
Memoria de
Datos numéricos
(RAM)
Memoria de programa
de Control o Usuario
(RAM)
Memoria
de
Usuario
Memoria
de Datos
(contadores
temporizadores,
imagen de E/S
Registros, etc.)
Memoria
Programa
de Control
Básicamente, en un PLC podemos distinguir dos tipos de memoria: la memoria del sistema y la memoria del usuario.
Éstos, además, disponen de Bits o áreas de memoria especiales dentro del mapa de memoria.
- Área de variables (V). Aquí podemos almacenar cualquier tipo de datos.
- Área de imagen de entradas (I ). Zona donde encontraremos los datos
de las entradas digitales.
- Área de imagen de salidas (Q). Zona donde encontraremos los datos de
las salidas digitales.
- Área de marcas (M). Se utilizan para almacenar información temporal
(bits de activación, inicio, etc.)
- Área de marcas especiales (SM). Cada byte o bit tiene un significado y
función propia.
- Área de temporizadores (T). Donde de almacena información y datos
sobre temporizadores.
- Área de Contadores (C). Donde de almacena información y datos sobre
contadores.
- Área de Acumuladores (AC). Donde de almacena información o datos
sobre los acumuladores.
- Área de Entradas analógicas (AI). Zona donde encontraremos los datos
de las entradas analógicas (para S7-1200).
- Área de Salidas analógicas (AQ). Zona donde encontraremos los datos
de las salidas analógicas (para S7-1200).
- Área periferia de entradas (PIW) donde encontraremos los datos de las
entradas analógicas (para S7-300).
- Área periferia de salidas (PQW) donde encontraremos los datos de las
salidas analógicas (para S7-300).
NOTA: La letras indicadas pueden variar de unos PLC a otros.
14.
15.
16.
17.
18. Introducción a los autómatas programables
Direccionamiento de memoria en un PLC
Independientemente del tamaño que pueda tener la memoria del PLC (64 K, 96K, 128 K, etc.), cada posición de
memoria o registro posee un tamaño de 1 byte. Con esta distribución podemos tener acceso a un bit, un byte (8
bits), una palabra (2 bytes) y a una doble palabra (4 bytes) dentro del área de memoria del usuario.
Memoria
del Sistema
(Firmware)
Memoria
de usuario
(RAM)
Generalmente los registros de memoria de un PLC son del tipo «lectura-escritura», pero hay que tener en cuenta
algunas excepciones. Así por ejemplo, los registros asociados a las entradas del PLC, marcas especiales, etc., actúan
en modo «solo lectura», por tanto no pueden ser escritas desde el programa de usuario. No obstante, muchos
autómatas disponen de la opción de «forzado» para las entradas.
7 6 5 4 3 2 1 0
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
MODOS DE ACCESO A LA MEMORIA: BIT, BYTE, PALABRA Y DOBLE PALABRA
BIT
BYTE
PALABRA (W)
DOBLE PALABRA (D)
Longitud = 1 Bit Estado: «1» o «0»
Longitud = 8 Bit Valores numéricos (0 – 255) o (-127 a +127)
Longitud = 16 Bit (0 – 65535) o (-32768 a +32768)
Longitud = 32 Bit (0 – 4294967296) o (-2147483648 a +2147483648)
19. Programas ejecutivos,
Sistema Operativo del
Sistema o Firmware
(ROM o EPROM)
Memoria
Temporal
(RAM o EPROM)
Memoria
de usuario
(RAM)
Direccionamiento de memoria en un PLC
Introducción a los autómatas programables
Ejemplo de direccionamiento de Entradas Digitales de un PLC
20. 20
Imágenes de Proceso
Programa de
Usuario
:
AC2
VB200 :
:
:
:
:
Byte 0
Byte 1
Byte 2
:
:
:
Memoria de la CPU
MEMORIA ( V)
1
Byte 0
Byte 1
Byte 2
:
:
:
MEMORIA ( AC )
Memoria de la CPU
1
PLC I
21. Introducción a los autómatas programables
Formatos de representación numérica
Binario: Representa números naturales mayores o iguales que cero. Ejemplo: 0; 01; 10; 11; 100...
Rango:
Palabra: 2#0 ÷ 2#1....1 (16 unos)
Doble palabra: 2#0 ÷ 2#1....1 (32 unos)
Hexadecimal:
Rango:
Byte: B#16#0 ÷ B#16#FF
Palabra: W#16#0 ÷ W#16#FFFF
Doble palabra: DW#16#0 ÷ DW#16#FFFFFFFF
BCD: BCD “Decimal codificado en binario”. 4 bits representan un dígito. Hay 2 formatos: de 3 cifras y de 7 cifras.
Palabra (16 bits): BCD de 3 cifras con signo.
Ejemplo: +310
Signo: 0000 -> positivo
1111 -> negativo
Rango: -999 ÷ 999
Doble palabra (32 bits): 7 cifras con signo.
Rango: Lo que cabe en ACU1: 9999999
Los datos utilizados en un PLC pueden ser muy diferentes. Se debe seleccionar el tipo exacto de formato a utilizar.
Disponemos de 3 formatos de representación numérica: Binario, Hexadecimal y BCD
22. Introducción a los autómatas programables
Formatos de representación numérica
Para representar números tenemos 3 formatos: Entero (Int), Doble entero (DInt) y Real (R)
Entero (Int) : Un número entero es un número binario de 16 bits que tiene como signo el bit más significativo.
Números dobles enteros (DInt): Son números binarios de 32 bits.
Límite: Nº positivos: 231-1 = 2147483647 (El 0 se considera positivo)
Nº negativos: 231 = -21474863648
Números reales (R): Se puede expresar de forma exponencial o como quebrados. Son números binarios de 32 bits
que constan de 2 partes:
Mantisa : los 3 bytes más altos
Exponente : el byte más alto
23. Introducción a los autómatas programables
Direccionamiento de memoria en un S7-1200
24. Modo PROGRAMACIÓN (STOP)
La CPU está en modo STOP. Nos permite
cambiar y/o supervisar la configuración del
PLC, y cargar el programa de usuario, al al
contrario, leer el programa del PLC desde
la consola de programación.
Introducción a los autómatas programables
Modos de funcionamiento de los PLC
Modo EJECUCIÓN (RUN)
La CPU está en modo RUN para controlar el proceso. En el proceso de
arranque el PLC sigue la siguiente secuencia:
1. Diagnóstico y Supervisión de elementos internos. Inicialización de
variables: puesta a cero de E/S, Contadores, Temporizadores, etc.).
2. Lectura de variables internas y externas.
3. Ejecución del programa de usuario.
4. Actualización de los valores de las salidas.
5. Comunicación y servicio a los periféricos y unidades remotas.
Ejecución Cíclica
del programa
TPROCESO > TCICLO
IMPORTANTE: Los cambios de las E/S no tienen efecto inmediato; tiene que
transcurrir un ciclo de programa para que se tengan en cuenta los nuevos
valores (de aquí que se utilicen imágenes de las E/S).
25. Introducción a los autómatas programables
Modos de programación y ejecución del programa
Linear Con salto condicional
Con salto a subrutinas
Estructura de los programas en los PLC´s de la familia S7
Programa Lineal.- Todo el programa se encuentra en un modulo
(OB1) con todas las instrucciones juntas.
Programa Dividido o con saltos condicionales.- El programa está
dividido en bloques, cada bloque solo contiene el programa para
resolver una tarea parcial. Los bloques se ejecutan cuando sean
llamados desde el programa o se cumpla cualquier condición
programada (salto condicional).
Programa con salto a subrutinas o Estructurado.- Un programa
estructurado contiene bloques con parámetros, llamados bloques
parametrizables o subrutinas. Estos bloques se diseñan para que
puedan usarse de forma universal.
26. Introducción a los autómatas programables
Lenguajes de programación (Norma ISO IEC-1131)
Lista de instrucciones (AWL) Texto estructurado (ST)
Diagrama de Funciones (FUP) Diagrama de contactos (KOP) Diagrama secuencial de funciones (SFC) o GRAFCET
27. Introducción a los autómatas programables
Lenguaje Booleano o de instrucciones (AWL)
Es un tipo de lenguaje ensamblador propio de la máquina con el que operan todos los
PLC´s. Cualquiera de los otros lenguajes se traducen finalmente a éste.
Este lenguaje utiliza la sintaxis del algebra de Boole. Consiste en elaborar una lista de
instrucciones o nemónicos haciendo uso de operadores Booleanos (AND, OR, NOT,
etc.) y otras instrucciones nemónicas para implementar el circuito de control.
Se suele utilizar en pequeños programas y requiere un conocimiento amplio de las
instrucciones y del PLC´s. Es el lenguaje preferido por los programadores
especializados.
Ejemplo: Resolver la función
S = Q0.0 → salida digital nº 0 plc
A = I0.0 → entrada digital nº 0 plc
B = I0.1 → entrada digital nº 1 plc
C = I0.2 → entrada digital nº 2 plc
LDN I0.0 Carga bit y niégalo
A I0.1 Operación Y (multiplicación)
A I0.2 Operación Y (multiplicación)
LD I0.0 Carga bit
AN I0.1 Operación Y negada
A I0.2 Operación Y
OLD (operación O (suma)
= Q0.0 (muestra resultado en Q0.0)
28. Introducción a los autómatas programables
Lenguaje de Texto Estructurado (ST)
Los lenguajes en texto estructurado facilitan la programación de procesos que requieren
instrucciones complejas y gran cantidad de cálculo.
Se trata de lenguajes de alto nivel (Lenguaje C, Visual Basic, etc.).
Se utiliza en aplicaciones muy específicas.
OPERADORES
Resolver:
29. Introducción a los autómatas programables
Lenguaje de Diagramas Básicos de Funciones (FBD)
Se trata de un lenguaje gráfico.
Los programas son bloques cableados entre sí de forma análoga al esquema de un circuito.
Tienen una interface de E/S bien definida y un código interno oculto.
Se utiliza para simplificar la programación.
Ejemplo de programación:
Resolver la función:
S = Q0.0 → salida digital nº 0 plc
A = I0.0 → entrada digital nº 0 plc
B = I0.1 → entrada digital nº 1 plc
C = I0.2 → entrada digital nº 2 plc
Resolver:
30. Introducción a los autómatas programables
Lenguaje o Diagrama de contactos (KOP)
El lenguaje Ladder o de escalera es el lenguaje más utilizado por su semejanza a los
diagramas de lógica cableada o esquemas de contactos y relés.
Está especialmente indicado para facilitar el cambio de un sistema de control realizado
con relés por un PLC.
Se basa en la interconexión de elementos gráficos que representan contactos de entrada,
salidas y bloques de operación configurables por el usuario (contadores, temporizadores,
E/S analógicas, etc.).
Ejemplo de programación:
Resolver la función:
S = Q0.0 → salida digital nº 0 plc
A = I0.0 → entrada digital nº 0 plc
B = I0.1 → entrada digital nº 1 plc
C = I0.2 → entrada digital nº 2 plc
31. Introducción a los autómatas programables
Lenguaje o Diagrama Secuencial de Funciones (SFC) o GRAFCET
SFC es un lenguaje “grafico” que describe la evolución de un proceso de control mediante un
gráfico Grafcet, formado por una sucesión de etapas que representan cada uno de sus
estados, llevando cada una de ellas asociada una o varias acciones a realizar sobre el proceso.
SFC es similar a un diagrama de flujo, en el que se pueden organizar los subprogramas o
subrutinas que forman el programa de control.
Es particularmente útil para operaciones de control secuencial, donde un programa fluye de un
punto a otro una vez que una condición a sido satisfecha (cierta o falsa).
El GRAFCET contiene tres principales elementos que organizan el programa de control:
Pasos (Etapas)
Transiciones (condiciones)
Acciones
El proceso se descompone en etapas que se suceden de forma secuencial. Cada etapa
esta representada mediante una marca de activación-desactivación.
El paso de una etapa a otra requiere que se cumplan las condiciones de transición. Las
transiciones de una etapa a otra se controla mediante variables de entrada o marcas
según la condición que se deba dar en cada fase. Por ejemplo: paso de Etapa 0 a Etapa
1 → E0.0 (pulsador de marcha) activado.
Toda etapa tiene asociada unas acciones. Por ejemplo: Etapa 1 PRODUCTO A → Q0.0,
Q0.1 y M0.50 se activan.
La activación de una nueva etapa pasa forzosamente por la desactivación de la etapa
anterior.
32. Introducción a los autómatas programables
Ejemplo de programación. Control de una Taladradora Automática.
Solución GRAFCET
Q0.0=0 Q0.1=0
I0.0 = 1
NO SUBIR, NO BAJAR
¿Marcha?
BAJAR
¿Final carrera inferior
O Pulsador Parada?
SUBIR. No bajar.
¿Final carrera superior?
Q0.1=1
I0.2= 1 O I0.3=1
Q0.0=1 Q0.0=1
I0.1= 1
M0.0
M0.1
M0.2
Motor parado
Marcha activado
Bajada taladro
Paro activado
Subida taladro
Taladro arriba
33. Panorámica de la Familia de PLC S7 de Siemens
S7-300
S7-1200
S7-400
S7-200
PLC Logo
HMI PC card
S7-1500
S5-95U
KTP-600
Introducción a los autómatas programables