Sesión 02.
Programación avanzada de PLC
Sistemas de Control Mecatrónico
Ing. René Sergio Espejo Gutiérrez
1
Introducción
• En la presente sesión, analizaremos inicialmente los tipos de
datos con los que trabaja un PLC, así como el direccionamiento de
la memoria para acceder a ellos. Posteriormente analizaremos
métodos avanzados de programación, como es la programación
estructurada, y analizaremos su funcionamiento, ventajas y
aplicaciones.
2
• Configurar Funciones y Bases de
CAPACIDADES
TERMINALES datos en un PLC, programar
modularmente.
Objetivos de la sesión
• Reconocer los tipos de datos con los que se
trabaja en el PLC Siemens S7-1200.
• Identificar los registros de memoria y las
formas de acceder a ellos.
• Estudiar el concepto y funcionamiento de la
programación estructurada.
• Realizar ejemplos de aplicación de la
programación estructurada.
4
Índice
1. Estructura modular de los PLCs
2. Tipos de variables y registros de memoria
1. Tipos de datos
2. Registros de memoria
3. Programación estructurada
4. Ejemplo aplicativo
5
Estructura modular de los PLCs
Estructura interna
6
Estructura modular de los PLCs
Estructura interna
7
Estructura modular de los PLCs
Modularidad
El concepto de modularidad puede hacer referencia tanto a la
modularidad estructural de los PLCs, así como a la modularidad en la
programación de los mismos.
La modularidad permite al usuario seleccionar la mejor combinación
de módulos CPU y módulos de E/S, y gracias a ello configurar un
sistema a medida de cualquier aplicación.
8
Estructura modular de los PLCs
Modularidad
9
Estructura modular de los PLCs
Modularidad
10
Estructura modular de los PLCs
Modularidad - Ventajas
• Realizar configuraciones distintas de acuerdo a las necesidades
que se tengan.
• Permiten la actualización delos distintos módulos instalados, así
como el incremento de opciones.
• Ofrecen la solución de problemas más simples.
• Tienen un elevado costo.
• No resultan muy prácticos para aplicaciones básicas.
• Mayor dificultad de instalación, así como necesidad de más
espacio.
11
Estructura modular de los PLCs
Modularidad
12
Estructura modular de los PLCs
Modularidad
13
Estructura modular de los PLCs
Modularidad – Ejemplo Pala 7495
CAT
14
Estructura modular de los PLCs
Modularidad – Ejemplo Pala 7495
CAT
15
Estructura modular de los PLCs
Modularidad – Ejemplo Pala 7495
CAT
16
Estructura modular de los PLCs
Modularidad – Ejemplo Pala 7495
CAT
17
Tipos de variables y registros de
memoria
Mapa de memoria PLC
• Consta de dos memorias, la de sistema y la usuario.
18
Tipos de variables y registros de
memoria
Mapa de memoria PLC
Area de variables (V)
Area de imagen de entradas (I o E)
Area de imagen de salidas (Q o A)
Memoria del usuario
Area de marcas (M)
Area de temporizadores (T)
Area de contadores (C)
Area de acumuladores (AC)
Area de entradas analógicas (AI)
Area de salidas analógicas (AQ)
19
Tipos de variables y registros de
memoria
Direccionamiento de memoria PLC
• Todos los registros de memoria constan de 1 byte (8 bits).
• Existen registros del tipo lectura-escritura, para algunos casos solo
se podrán leer y para otros forzar.
20
Tipos de variables y registros de
memoria
Direccionamiento de memoria PLC
21
Tipos de variables y registros de
memoria
Ejemplo: Direccionamiento S7-1200
22
Programación estructurada
Concepto
• Importante dependiendo del tipo de diseño estructural de nuestro
programa.
• Se distribuye en bloques, los cuales se ejecutan a medida que sea
necesario.
• Los bloques pueden ser leídos a medida que sean necesarios.
23
Programación estructurada
Ventajas
• Organización del programa más simple.
• Mejor entendimiento de programas grandes.
• Bloques de programa reutilizables.
• Se pueden estandarizar procesos del programa.
• Más fácil de editar.
• Se simplifica la puesta en servicio.
• Se simplifica la aplicación de test.
24
Programación estructurada
Tipos de bloques
Tipos de
bloques
OB FC FB DB
Bloques de Funciones de Bloque de Bloque de
organizacion lamada funciones datos
25
Programación estructurada
Bloques OB
• Bloques de organización, pueden ser programados por el usuario.
• Se ejecutan automáticamente cuando se cumple el evento
asociado.
26
Programación estructurada
Bloques OB - Tipos
• OB1: Funcionamiento cíclico, se ejecuta en cada ciclo del
programa, subrutina principal para iniciar todos los programas.
• OB20: Alarma de retardo, ejecuta una acción tiempo después de
un evento, no se repite automáticamente.
• OB30: Ejecución cíclica, se llama en intervalos regulares por el
sistema operativo del PLC.
• OB40: Alarma de proceso, genera alarmas de proceso que
detienen la secuencia del programa.
• OB80: Error de tiempo, se ejecuta alhaber una desincronización.
• OB100: Se ejecuta al primer scan.
27
Programación estructurada
Bloques FC
• Funciones de llamada, son bloques lógicos sin memoria.
• Transfieren parámetros en el programa, por lo que se usan para
programar funciones complejas que se repiten.
• Contiene un programa que se ejecuta cada vez que es llamado.
– Devuelve valores del resultado dela función programada al bloque llamador.
– Ejecuta funciones tecnológicas.
– Puede ser llamada varias veces en diferentes puntos de un programa.
28
Programación estructurada
Bloques FB
• Bloques de funcion, depositan sus parámetros de entrada y salida
de forma permanente en bloques de datos.
• Pueden funcionar con variables temporales que no se almacenan
en el DB.
• Contienen subprogramas que se ejecutan cuando un FB es
llamado por otro bloque.
• Puede llamarse varias veces dentro de un mismo programa.
29
Programación estructurada
Bloques DB
• Bloques de datos, bloques en los que se almacenan valores del
programa.
– DB Global: Configurados por el usuario y de aplicación general.
– DB de instancia: Asociados a funciones FB y de configuración automática.
• Únicamente limitado por la capacidad de la memoria del trabajo.
30
Programación estructurada
Esquema de bloques de programa
31
Programación estructurada
Ejemplo
• Crear un Bloque de Función que permita permita escalar cualquier
entrada análoga del PLC. Usar la entrada %IW64 del CPU PLC.
%IW64 - Variable_Medida
Tipo: Word,int Real
Name: In_1 Out_1
Range: 0 - 27000 0 - 10
32
Programación estructurada
Ejemplo
• Crear bloque FC
33
Programación estructurada
Ejemplo
• Definir variables de trabajo
34
Programación estructurada
Ejemplo
• Editar la función que realizará el programa.
35
Programación estructurada
Ejemplo
• Ejecutando el bloque de función.
36
Programación estructurada
Ejemplo
• Creación del DB
37
CONSULTAS
38
GRACIAS
39