La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Introducción a los Autómatas programables

Presentaciones similares


Presentación del tema: "Introducción a los Autómatas programables"— Transcripción de la presentación:

1 Introducción a los Autómatas programables
Comunicaciones Industriales I.E.S. HIMILCE – LINARES - Departamento de Electricidad-Electrónica Profesor: José María Hurtado Torres Introducción a los Autómatas programables

2 μP (RAM) BUS de la CPU Estructura interna básica de un PLC
Introducción a los autómatas programables Estructura interna básica de un PLC μP EPROM (Firmware) MEMORIA DATOS (RAM) MEMORIA DE TRABAJO 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

3 Estructura interna de los PLCs de la familia S7
Introducción a los autómatas programables Estructura interna de los PLCs de la familia S7

4 Arquitectura típica modular de los PLC
Introducción a los autómatas programables Arquitectura típica modular de los PLC

5 Panorámica de la Familia de PLC S7 de Siemens
Introducción a los autómatas programables Panorámica de la Familia de PLC S7 de Siemens S7-1500 S5-95U S7-200 S7-400 PLC Logo S7-300 HMI PC card S7-1200 KTP-600

6 Principales características de algunas CPUs S7 de Siemens
Introducción a los autómatas programables Principales características de algunas CPUs S7 de Siemens Documentación Siemens (web oficial) (acceso a datos) Web de Siemens

7 Sistema operativo (Firmware)
Introducción a los autómatas programables Sistema operativo (Firmware) Los PLC´s disponen de un Sistema Operativo o Firmware que se encarga de control y supervisión de todos los bloques internos y externos de la CPU, así como de la ejecución del programa de usuario. El firmware se puede actualizar siempre que las características del equipo lo permitan. Las funciones del firmware son las siguientes: Gestión de las funciones internas. Transferencia de datos entre los diferentes bloques internos del PLC. Diagnóstico y Supervisión de los elementos internos. Diagnóstico y gestión de la memoria. Gestión y Comunicación con los periféricos o interfaces de E/S. Ejecución y supervisión del programa de usuario. Gestión de los puertos de comunicación (RS-232, RS 485, Profibus, etc.) Juego de instrucciones del PLC Los PLC´s disponen de un juego de instrucciones (generales y específicas) disponibles para la programación. El uso de éstas en la programación, está determinado por el equipo que se vaya a programar, pues no todos soportan el mismo número de instrucciones. El programador debe conocer las características del equipo y las instrucciones soportadas por el autómata. Juego de instrucciones disponibles en el entorno de programación TIA PORTAL de Siemens.

8 Mapa de memoria de un PLC
Introducción a los autómatas programables Mapa de memoria de un PLC 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 o E). Zona donde encontraremos los datos de las entradas digitales. - Área de imagen de salidas (Q o A). 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 (PEW) donde encontraremos los datos de las entradas analógicas (para S7-300). - Área periferia de salidas (PAW) donde encontraremos los datos de las salidas analógicas (para S7-300). NOTA: La letras indicadas pueden variar de unos PLC a otros. Programas ejecutivos, Sistema Operativo del Sistema o Firmware (ROM o EPROM) Memoria del Sistema (Firmware) Memoria Temporal (RAM o EPROM) Memoria imagen de E/S (RAM) Memoria de Datos (contadores temporizadores, imagen de E/S Registros, etc.) Memoria de Variables internas (RAM) Memoria de Usuario Memoria de Datos numéricos (RAM) Memoria de programa de Control o Usuario (RAM) Memoria Programa de Control

9 Memoria del Sistema (Firmware) Memoria de usuario (RAM)
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. 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. MODOS DE ACCESO A LA MEMORIA: BIT, BYTE, PALABRA Y DOBLE PALABRA Memoria del Sistema (Firmware) Longitud = 1 Bit Estado: «1» o «0» BIT 7 6 5 4 3 2 1 Longitud = 8 Bit Valores numéricos (0 – 255) o (-127 a +127) Memoria de usuario (RAM) BYTE 7 6 5 4 3 2 1 Longitud = 16 Bit (0 – 65535) o ( a ) PALABRA 7 6 5 4 3 2 1 DOBLE PALABRA Longitud = 32 Bit (0 – ) o ( a )

10 Memoria de usuario (RAM)
Introducción a los autómatas programables Direccionamiento de memoria en un PLC Programas ejecutivos, Sistema Operativo del Sistema o Firmware (ROM o EPROM) Memoria Temporal (RAM o EPROM) Memoria de usuario (RAM) Ejemplo de direccionamiento de Entradas Digitales de un PLC

11 Direccionamiento de memoria en un S7-1200
Introducción a los autómatas programables Direccionamiento de memoria en un S7-1200

12 Limitaciones de acceso a la memoria
Introducción a los autómatas programables Limitaciones de acceso a la memoria La memoria y la capacidad de gestión de un PLC están limitadas por las propias características del PLC, por tanto, las diferentes áreas a los que podemos tener acceso están delimitadas. El fabricante suele facilitar estos datos a través de los manuales del PLC. Asignación y distribución de direcciones de entradas al ampliar un S Los bloques representan módulos de E/S en el bastidor del PLC. Áreas de acceso en un S7-300

13 Formatos de representación numérica
Introducción a los autómatas programables Formatos de representación numérica 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 Binario: Representa números naturales mayores o iguales que cero. Ejemplo: 0; 01; 10; 11; Rango: Palabra: 2#0 ÷ 2# (16 unos) Doble palabra: 2#0 ÷ 2# (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 Doble palabra (32 bits): 7 cifras con signo. Rango: Lo que cabe en ACU1: Signo: > positivo 1111 -> negativo Rango: -999 ÷ 999

14 Formatos de representación numérica
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: = (El 0 se considera positivo) Nº negativos: 231 = 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

15 Modo PROGRAMACIÓN (STOP)
Introducción a los autómatas programables Modos de funcionamiento de los PLC Modo PROGRAMACIÓN (STOP) Modo EJECUCIÓN (RUN) 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. La CPU está en modo RUN para controlar el proceso. En el proceso de arranque el PLC sigue la siguiente secuencia: Diagnóstico y Supervisión de elementos internos. Inicialización de variables: puesta a cero de E/S, Contadores, Temporizadores, etc.). Lectura de variables internas y externas. Ejecución del programa de usuario. Actualización de los valores de las salidas. 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).

16 Modos de programación y ejecución del programa
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.

17 Modo ejecución cíclica en los PLC´s de la familia S7 de Siemens
Introducción a los autómatas programables Modos de programación y ejecución del programa Modo ejecución cíclica en los PLC´s de la familia S7 de Siemens

18 Bloques de programa Introducción a los autómatas programables
Dependiendo de los requerimientos del proceso, el programa puede ser estructurado en bloques diferentes, donde podemos almacenar el programa de usuario y demás datos relacionados. En S7 disponemos de los siguientes: Bloques de Organización (OB‘s). Los bloques de organización (OB‘s) constituyen la interface entre el sistema operativo del PLC y el programa de usuario. El programa completo puede almacenarse en el OB, que es ejecutado cíclicamente por el sistema operativo (programa lineal) o puede dividirse y almacenarse en distintos bloques (programa estructurado). Funciones (FC). Una función (FC) es como una subrutina. Una FC es un bloque lógico que generalmente realiza una operación específica con una serie de valores de entrada. La FC almacena los resultados de esta operación en posiciones de memoria. Las FCs se utilizan para realizar operaciones estándar y reutilizables, p. ej. en cálculos matemáticos, operaciones lógicas, etc. Los FC se puede llamar varias veces en diferentes puntos de un programa. Esto facilita la programación de tareas que se repiten con frecuencia. Las FC no tienen bloques de datos DB asociados. Bloques de función (FB). Un bloque de función (FB) es como una subrutina con memoria. El FB almacena los parámetros de E/S en una memoria variable integrada en un bloque de datos (DB), o en un DB "instancia". Los bloques de función están concebidos para tareas muy repetitivas o funcionalidades complejas, como tareas de control en lazo cerrado. Bloques de datos (DB). Los bloques de datos (DB) son áreas de datos del programa de usuario en las que los datos son distribuidos de forma estructurada.

19 Lenguajes de programación (Norma ISO IEC-1131)
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

20 Lenguaje Booleano o de instrucciones (AWL)
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 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) 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

21 Resolver: OPERADORES Lenguaje de Texto Estructurado (ST)
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:

22 Lenguaje de Diagramas Básicos de Funciones (FBD)
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:

23 Lenguaje o Diagrama de contactos (KOP)
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

24 Lenguaje o Diagrama de contactos (KOP)
Introducción a los autómatas programables Lenguaje o Diagrama de contactos (KOP)

25 Lenguaje o Diagrama de contactos (KOP)
Introducción a los autómatas programables Lenguaje o Diagrama de contactos (KOP)

26 Ejemplo de operaciones lógicas binarias con bit AND y OR
Introducción a los autómatas programables Lenguaje o Diagrama de contactos (KOP) Ejemplo de operaciones lógicas binarias con bit AND y OR

27 Lenguaje o Diagrama Secuencial de Funciones (SFC) o GRAFCET
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.

28 Ejemplo: Mezcla de dos productos
Introducción a los autómatas programables Lenguaje o Diagrama Secuencial de Funciones (SFC) o GRAFCET Ejemplo: Mezcla de dos productos El Grafcet se inicia con la Etapa 0. Esta se suele utilizar para establecer las condiciones de inicio o reposo y de seguridad. Por ejemplo: Electroválvulas depósitos cerradas, pulsador marcha desactivado, etc. Las condiciones de transición pueden ser de tres tipos: Lógicas: Por ejemplo → E0.0•M0.5 Temporales: Por ejemplo → t/nº etapa/tiempo → transición a etapa nº 2 a los 10 segundos. Activas por flanco ascendente o descendente. La activación-desactivación de etapas se realiza mediante la activación-desactivación de marcas internas que el programador asigna a voluntad. Si una etapa se activa y desactiva al mismo tiempo, quedará activada.

29 Ejemplo de programación. Control de una Taladradora Automática.
Introducción a los autómatas programables Ejemplo de programación. Control de una Taladradora Automática. Funcionamiento: En el estado de reposo la taladradora estará arriba, pisando el final de carrera superior (I0.1). Mediante el pulsador de Marcha (I0.0), iniciamos el descenso de la herramienta a través del accionamiento de la salida (Q0.1). Cuando el final de carrera inferior (I0.2) se active, la taladradora debe inicial la subida (Q0.0) hasta activar el final de carrera superior (I0.1), momento en que la herramienta debe detenerse. Si en algún momento se pulsa el interruptor de parada o emergencia debe interrumpirse el descenso de la herramienta, para que automáticamente se inicie la subida. Cuando la herramienta este subiendo en ningún caso deberá poder iniciarse la bajada, aunque se pulse Marcha.

30 Ejemplo de programación. Control de una Taladradora Automática.
Introducción a los autómatas programables Ejemplo de programación. Control de una Taladradora Automática. Solución en lenguaje KOP

31 ¿Final carrera inferior O Pulsador Parada?
Introducción a los autómatas programables Ejemplo de programación. Control de una Taladradora Automática. Solución GRAFCET M0.0 NO SUBIR, NO BAJAR Q0.0=0 Q0.1=0 Motor parado ¿Marcha? I0.0 = 1 Marcha activado M0.1 Bajada taladro Q0.1=1 BAJAR ¿Final carrera inferior O Pulsador Parada? I0.2= 1 O I0.3=1 Paro activado M0.2 Subida taladro Q0.0=1 Q0.0=1 SUBIR. No bajar. ¿Final carrera superior? I0.1= 1 Taladro arriba

32 Ejemplo de programación. Control de una Taladradora Automática.
Introducción a los autómatas programables Ejemplo de programación. Control de una Taladradora Automática. Solución GRAFCET

33 Asignación de variables:
Introducción a los autómatas programables Ejemplo de programación. Inversor de giro para motor trifásico. Funcionamiento: La selección de giro se hace mediante pulsadores, disponiendo el control de maniobra de lámparas de señalización de giro a derechas e izquierda y disparo de relé térmico. El paro se hace mediante el pulsador P3. Asignación de variables: ENTRADAS SALIDAS I0.0 Botón giro a drcha Q0.0 Motor giro a drcha + L1 I0.1 Botón giro a izqda. Q0.1 Motor giro a izqda + L2 I0.2 Botón de Paro Q0.2 Lámpara relé térmico I0.3 Relé térmico M0.0 Etapa 0 NOTA: En el primer ciclo de programa, la Etapa 0 deberá ponerse a SET y las Etapas 1, 2 y 3 deberán ponerse a RESET M0.1 Etapa 1 M0.2 Etapa 2 M0.3 Etapa 3

34 Ejemplo de programación. Inversor de giro para motor trifásico.
Introducción a los autómatas programables Ejemplo de programación. Inversor de giro para motor trifásico. Solución GRAFCET:

35 Ejemplo de programación. Inversor de giro para motor trifásico.
Introducción a los autómatas programables Ejemplo de programación. Inversor de giro para motor trifásico. Solución GRAFCET:

36 Ejemplo de programación. Inversor de giro para motor trifásico.
Introducción a los autómatas programables Ejemplo de programación. Inversor de giro para motor trifásico. Bloque de organización OB100 Ponemos a 1 todos los bit del Byte MB10 Bloque de programa OB1 Activamos la Etapa 0 y desactivamos el resto en el primer ciclo de programa.

37 Ejemplo de programación. Inversor de giro para motor trifásico.
Introducción a los autómatas programables Ejemplo de programación. Inversor de giro para motor trifásico.

38 Ejemplo de programación. Inversor de giro para motor trifásico.
Introducción a los autómatas programables Ejemplo de programación. Inversor de giro para motor trifásico.


Descargar ppt "Introducción a los Autómatas programables"

Presentaciones similares


Anuncios Google