TFG Bor Des

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 146

UNIVERSIDAD POLITÉCNICA DE

CARTAGENA
Escuela Técnica Superior de Ingeniería Industrial

Desarrollo, simulación y diseño


SCADA de una maqueta de
Laboratorio de prácticas de
automatización de procesos
industriales

TRABAJO FIN DE GRADO

GRADO EN INGENIERÍA ELECTRÓNICA INDUSTRIAL Y


AUTOMÁTICA

Autor: Jaime Borja Rosagro


Director: Miguel Almonacid Kroeger

Cartagena, 15 de diciembre de 2022

1
2
ÍNDICE GENERAL
1. INTRODUCCIÓN ............................................................................................... 5
1.1. Motivaciones .............................................................................................. 5
1.2. Objetivos .................................................................................................... 5
2. SOFTWARE ...................................................................................................... 5
2.1. Interfaz de usuario ..................................................................................... 6
2.1.1. Vista del proyecto ................................................................................ 6
2.1.2. Árbol del proyecto ............................................................................... 8
2.1.2.1. Descripción .................................................................................... 8
2.1.2.2. Carpetas del dispositivo ............................................................. 11
2.1.3. Ventana de inspección ...................................................................... 14
2.1.4. Tareas ................................................................................................. 16
2.1.5. Proyectos de referencia .................................................................... 17
3. HARDWARE ................................................................................................... 18
3.1. PLC ............................................................................................................ 18
3.2. HMI ............................................................................................................ 18
3.3. Switch ....................................................................................................... 19
3.4. Simulador ................................................................................................. 19
4. COMUNICACIONES ....................................................................................... 20
5. RESOLUCIÓN ................................................................................................. 21
5.1. Planteamiento del ejercicio .................................................................... 21
5.2. Desarrollo del ejercicio ........................................................................... 22
5.2.1. Primera solución................................................................................ 22
5.2.1.1. Tabla de variables........................................................................ 22
5.2.1.2. Grafcet .......................................................................................... 23
5.2.1.3. Esquema de conexiones ............................................................. 24
5.2.1.4. Ecuaciones de activación y desactivación de etapas ............. 25
5.2.1.5. Creación y desarrollo del código ............................................... 26
5.2.2. Segunda solución .............................................................................. 43

3
5.2.2.1. Tabla de variables........................................................................ 43
5.2.2.2. Grafcet .......................................................................................... 45
5.2.2.3. Ecuaciones de activación y desactivación de etapas ............. 45
5.2.2.4. Creación y desarrollo del código ............................................... 46
5.3. Programación de HMI .............................................................................. 51
5.3.1. Grafcet ................................................................................................ 51
5.3.2. Ecuaciones de activación y desactivación de etapas ................... 51
5.3.3. Creación y desarrollo del código ..................................................... 52
5.4. Bloques del software............................................................................... 81
5.4.1. DBs ...................................................................................................... 81
5.4.2. FBs ...................................................................................................... 86
5.4.3. FCs ...................................................................................................... 91
5.5. Simulación del proceso .......................................................................... 92
5.6. Ejemplo de HMI industrial ..................................................................... 108
6. PRÁCTICA PARA EL ALUMNO................................................................... 122
7. CONCLUSIONES Y TRABAJOS FUTUROS ............................................... 124
8. ANEXOS ...................................................................................................... 1254
9. BIBLIOGRAFÍA ............................................................................................. 146

4
1. INTRODUCCIÓN
1.1. Motivaciones
Este proyecto, en primer lugar, tiene como fin conseguir el título de Ingeniero
Técnico Industrial en la especialidad de Electrónica y Automatización.
En segundo lugar, mi intención es poner en práctica los conocimientos
desarrollados durante mis prácticas de empresa e intentar dar una idea de ciertos
aspectos que se tratan en el mundo laboral.
La automatización me resulta un campo muy interesante y amplio en el que me
gustaría profundizar en un futuro por su gran utilidad y uso en la industria.

1.2. Objetivos
Este proyecto tiene como objetivo principal proporcionar al estudiante una serie
de recursos para poder realizar la automatización de una maqueta de planta de
mezclado del Laboratorio de Automatización Industrial sin necesidad de tener los
equipos. Como objetivo secundario proporciona al estudiante algunos aspectos
más prácticos y recursos más avanzados de programación.
Todo ello será mediante la realización de una práctica que el alumno pueda
consultar en cualquier momento para comprender cada paso de la resolución de
este proyecto.

2. SOFTWARE
El software que se usará para la resolución del ejercicio será TIA Portal v13
(Totally Integrated Automation). Esto es un programa de ingeniería que ofrece
soluciones de automatización al sector industrial, integrando todas las tareas de
automatización de un proceso industrial.
Este programa incluye:
• SIMATIC STEP7 para la programación de PLCs (Programmable Logic
Computer).
• SIMATICWinCC para visualización de procesos y dispositivos.
5
• SINAMICSStartdrive para el control de servomotores.
• SIMOTION SCOUTTIA para el control de movimiento.
• SIMCODE ES para la administración de los motores.
Para la resolución de este ejercicio se usará SIMATIC STEP7 y SIMATICWinCC.

2.1. Interfaz de usuario


A continuación, se describirá el entorno de programación, mostrando las partes
más importantes para la realización del ejercicio.

2.1.1. Vista del proyecto


- Pantalla de “Vista de proyecto”
La “Figura 1” muestra un ejemplo de esta pantalla:

Figura 1. Ejemplo de “Vista de proyecto”.

6
1. Barra de título
2. Barra de menús
3. Barra de herramientas
4. Árbol del proyecto
5. Proyectos de referencia
6. Vista detallada
7. Área te trabajo
8. Divisor de ventana
9. Ventana de inspección
10. Cambio a vista del portal
11. Barra de editores
12. Barra de estado con indicador de progreso
13. Task cards

o Barra de título
El nombre del proyecto se mostrará en esa barra.
o Barra de menús
La barra de menú contiene todos los comandos que se requieren para
trabajar.
o Barra de herramientas
La barra de herramientas proporciona botones para comandos que se
usarán con frecuencia.
o Divisor de ventana
Los divisores separan los componentes individuales de la interfaz del
programa. Las flechas permiten mostrar o esconder las secciones.
o Cambio a Vista del portal
Se puede usar “Vista del portal” para cambiar de pantalla.
o Barra de editores
La barra de edición muestra los editores abiertos.
o Barra de estado con indicador de progreso

7
En la barra de estado se encontrará el progreso de los procesos que se
estén ejecutando.

2.1.2. Árbol del proyecto


2.1.2.1. Descripción
Función del “Árbol del proyecto”
Usando el “Árbol del proyecto” se tiene acceso a todos los datos de los
dispositivos y del proyecto. Se pueden utilizar las siguientes tareas en el árbol:
• Añadir nuevos dispositivos.
• Editar los dispositivos existentes.
• Revisar y modificar las propiedades de los dispositivos existentes.
Los objetos se pueden seleccionar con el ratón o el teclado escribiendo la primera
letra del objeto deseado (el árbol deberá estar seleccionado para poder hacerlo).
La “Figura 2” muestra un ejemplo de sus componentes:

8
Figura 2. Ejemplo de “Árbol del proyecto”.

1. Barra del título


2. Barra de herramientas
3. Encabezado de la columna
4. Proyecto
5. Dispositivos
6. Datos comunes
7. Configuración de la documentación
8. Idiomas y recursos
9. Accesos online
10. Card Reader/Memoria USB

9
o Barra del título
El título del “Árbol del proyecto” tiene un botón para que automática y
manualmente se abra o cierre.
o Barra de herramientas
Con la barra de herramientas se puede:
▪ Crear una nueva carpeta.
▪ Navegar por un enlace hacia delante o atrás.
▪ Mostrar una vista de los objetos seleccionados en el área de trabajo.
o Encabezado de la columna
El “Nombre” se muestra por defecto. También se pueden mostrar “Tipo de
nombre” y “Versión”.
o Proyecto
Se encontrarán todos los objetos y acciones relacionadas con el proyecto
en la carpeta “Proyecto”, como:
▪ Dispositivos.
▪ Idiomas y recursos.
▪ Accesos online.

o Dispositivos
Hay una carpeta a parte para cada dispositivo, la cual tiene un nombre de
proyecto distinto. Los objetos y las acciones de cada dispositivo están
ordenados en su carpeta.
o Datos comunes
Esta carpeta contiene datos que pueden ser usados en más de un
dispositivo, como alarmas, listas de textos, accesos, etc.
o Configuración del documento
En esta carpeta se puede especificar el diseño de la documentación del
proyecto para ser impreso en un momento posterior.

10
o Idiomas y recursos
Se puede determinar el idioma y los textos (por ejemplo, mensajes de
alarma) del programa.
o Accesos online
La carpeta contiene las interfaces de la programación de los
dispositivos/PC, incluso si no se utilizan para comunicación con un módulo.
o Lector de tarjetas de memoria/memoria USB
Se usa para administrar los lectores de tarjetas y otros medios de
almacenamiento USB conectados al dispositivo de programación/PC.

2.1.2.2. Carpetas del dispositivo


Dentro de este apartado se describirán las carpetas que se utilizarán para este
proyecto y que se encuentran dentro de la carpeta del dispositivo añadido en el
proyecto. En la “Figura 3” se puede ver un ejemplo:

Figura 3. Ejemplo de las carpetas del proy ecto.

11
• Bloques de programa
Dentro de estos bloques podemos encontrar estos cuatro tipos:

El OB “Ciclo del programa” se ejecuta cíclicamente y es el bloque principal


del programa. Es donde se programan las instrucciones que controlan la
aplicación, y llaman a otros bloques adicionales.

El bloque FC es una subrutina que contiene una secuencia específica. Este


bloque se puede llamar desde otro, ya sea un OB, una FC o un FB.

Este bloque no contiene un almacenamiento cíclico de datos, es decir que,


si dentro del bloque se realiza una operación, el valor de esa operación solo
será útil en esa y durante la ejecución. Después de terminar la ejecución de
esta subrutina, el valor se perderá.

Un FB es una subrutina que contiene una secuencia u operación. Este


bloque se puede invocar desde otro, ya sea un OB, una FC o un FB.

A diferencia del FC, este bloque tiene asociado un DB en el que se


almacenarán los valores generados en la ejecución.

12

Los bloques de datos son usados para guardar datos del programa. Por lo
tanto, estos bloques de datos tienen variables. Los bloques de datos
globales almacenan datos que pueden ser utilizados por todos los demás
bloques.

• Variables del PLC


Las tablas de variables del PLC contienen las definiciones de las variables del
PLC y las constantes que son válidas en toda la CPU. Se crea automáticamente
una tabla de variables para cada CPU utilizada en el proyecto. Se puede crear
tablas de variables adicionales y usarlas para ordenar y agrupar variables.
En el “Árbol del proyecto” hay una carpeta "Variables de PLC" para cada CPU
de un proyecto.

En TIA Portal podemos encontrar variables Globales, aquellas direccionadas


como entradas (%IX.X), salidas (%QX.X) o marcas (%MX.X); o variables
Locales, agregadas a los bloques FB o FC (#”Nombre_Variable”).

Además, existen las variables temporales y estáticas.


- Las temporales se encuentran en los FC y FB y estas solo estarán activas
mientras se ejecute el bloque.
- Las estáticas son exclusivas de los FB ya que se almacenan en el DB de
instancia. Gracias a esto, los datos permanecerán visibles continuamente.

13
2.1.3. Ventana de inspección
o Función de la “Ventana de inspección”
Se muestra información adicional de un objeto o acciones ejecutadas.
o Pantalla de la vista de proyecto
La “Figura 4” muestra las partes de la ventana:

Figura 4. Ejemplo de “Ventana de inspección” en la pestaña


“Propiedades”.

1. Propiedades
2. Información
3. Diagnóstico
4. Área de navegación por la ventana de “Propiedades”
5. Contenido de la pestaña de “Propiedades"

14
Figura 5. Ejemplo de “Ventana de inspección” en la pestaña
“Información”.

▪ Propiedades
▪ Información
▪ Diagnóstico
▪ Navegación a través de pestañas adicionales dentro de una pestaña
(únicamente disponible en las pestañas "Información" y "Diagnóstico")
▪ Barra de herramientas (solamente disponible en las pestañas secundarias
"General" y "Compilar" de la pestaña "Información")
▪ Contenido de la pestaña de “Compilar” en la pestaña de “Información”

o Pestaña de propiedades
Esta pestaña muestra las propiedades del objeto seleccionado. Además, se
pueden cambiar las propiedades editables.
o Pestaña de información
Esta pestaña muestra información adicional sobre el objeto seleccionado, así
como alarmas de acciones ejecutadas.
o Pestaña de diagnóstico
Esta pestaña ofrece información sobre eventos de diagnóstico del sistema,
eventos de alarmas y diagnósticos de conexión.

15
o Navegación a través de las pestañas
Se puede usar la navegación por áreas y las pestañas de nivel inferior para
mostrar la información que necesita dentro de las pestañas.
o Barra de herramientas
Se puede usar la barra de herramientas en las pestañas "General" y "Compilar"
en de la pestaña "Info" para especificar qué tipos de alarmas se mostrarán. Puede
habilitar o deshabilitar la pantalla para los siguientes tipos de alarma:

▪ Errores

▪ Advertencias

▪ Información

2.1.4. Tareas
Función de las tareas

Dependiendo del objeto seleccionado o editado, hay disponibles tareas que


permiten realizar acciones adicionales. Estas acciones incluyen:

• Seleccionar objetos de una librería del catálogo de hardware.

• Buscar y remplazar objetos en el proyecto.

• Arrastrar objetos predefinidos al área de trabajo

Las tareas disponibles se pueden encontrar en una barra situada al lado derecho
de la pantalla.

Desplegable de la barra de tareas

La siguiente imagen muestra un ejemplo de la barra con las tarjetas de tareas:

16
Figura 6. Ejemplo de la barra de tareas.

2.1.5. Proyectos de referencia


Este desplegable será igual que un árbol de un proyecto, pero con la diferencia
de que no podrá ser editado, solo visualizado. Sirve para abrir otros proyectos y
tener una referencia sobre cómo trabajar.

Figura 7. Ejemplo de la paleta de “Proyectos de referencia”.

17
3. HARDWARE
En este punto se hablará de todo el hardware empleado en la resolución de este
ejercicio. Todos los dispositivos serán explicados con más detalle en el apartado
Anexos.
3.1. PLC
El autómata utilizado será un SIMATIC S7-1200 1214C AC/DC/Rly con referencia
6ES7 214-1BG40-0XB0:

Figura 9. PLC SIEMENS.

3.2. HMI
El HMI será una KTP400 Basic con referencia 6AV2 123-2DB03-0AX0:

Figura 10. HMI SIEMENS.

18
3.3. Switch
El switch utilizado será el SCALANCE XB005 con referencia
6GK5 005-0BA00-1AB2:

Figura 11. Switch SIEMENS.

3.4. Simulador
El simulador será el Simulador de Lucas Nülle modelo SO3715-1A:

Figura 12. Simulador Lucas Nülle.

19
4. COMUNICACIONES
El tipo de comunicación que se utilizará será PROFINET. PROFINET es un
estándar de Ethernet abierto que cumple con la norma IEC 61158 (norma que
describe las comunicaciones de datos digitales de medición y control) para la
automatización industrial. Al igual que Ethernet, PROFINET usa los protocolos
TCP/IP (“Transmission Control Protocol/Internet Protocol”, protocolo que permite
a los equipos comunicarse con una red) para la transferencia de datos. Las
características del PROFINET son:
• Funcionamiento en tiempo real para datos de E/S cíclicos.
• Uso de cables y switches estándar de Ethernet.
• Sigue un sistema Maestro-Esclavo.
• Configuración similar a la de una red de campo.
• Los dispositivos se configuran mediante un nombre y no mediante número
de nodo.
• Ofrece una comunicación fácil, rápida, flexible y abierta.
• Es un protocolo abierto.
• Permite una comunicación entre dos dispositivos separados 100m.
• Utiliza conectores industriales RJ45 (cable de Ethernet).
• Altas velocidades de transmisión (10-100 Mbps).

Algunos ejemplos de conexión PROFINET se pueden ver en la “Figura 13”:

Figura 13. Ejemplos de conexiones PROFINET.


20
5. RESOLUCIÓN
5.1. Planteamiento del ejercicio
La maqueta utilizada para este proyecto es la siguiente:

Figura 14. Plantilla de instalación de mezcla.

Esta representa una planta de mezclado. Se pueden apreciar tres tanques: el


central y los superiores de llenado. El proceso que sigue es:
1- Presionando el pulsador de inicio S1, se inicia el proceso.
2- Se activa el motor de la cinta 1 (H2) hasta que el tanque principal se
llena hasta el 25% (señal analógica) de su capacidad.
3- Se activa el motor de la cinta 2 (H3) hasta que el tanque principal se
llena hasta el 50% de su capacidad.
4- Se repite el proceso (cinta 1 hasta el 75% y cinta 2 hasta el 100%) hasta
el llenado completo del tanque principal.
5- Se activa el motor de la cinta 3 (H1) hasta que se descargue
completamente el tanque principal.
6- El proceso se repetirá hasta que se desconecte el accionamiento S2,
que detendrá todas las cintas. Volverá a funcionar cuando se vuelva a
conectar.

21
7- La velocidad de las cintas 1 y 2 se controlarán con el potenciómetro
superior y la cinta 3, con el inferior.
5.2. Desarrollo del ejercicio
Para resolver este ejercicio, se usará el orden utilizado en clases para la
resolución de problemas de automatización. Se hará de tal forma que se pueda
extraer el proceso para utilizarlo en una práctica.

5.2.1. Primera solución


5.2.1.1. Tabla de variables
En primer lugar, se creará una tabla de variables donde se incluyan las entradas,
las salidas y marcas del autómata:
VARIABLE DIRECCIÓN COMENTARIO

S1 %I0.0 Pulsador de marcha


S2 %I0.1 Pulsador de paro

H1 %Q0.0 Salida del motor de la cinta 3


H2 %Q0.1 Salida del motor de la cinta 1

H3 %Q0.2 Salida del motor de la cinta 2

E0 %M0.0 Estado 0

E1 %M0.1 Estado 1

E2 %M0.2 Estado 2

E3 %M0.3 Estado 3

E4 %M0.4 Estado 4

E5 %M0.5 Estado 5

N0 %M0.6 Nivel de tanque igual a 0%

N25 %M0.7 Nivel de tanque igual a 25%

N50 %M1.0 Nivel de tanque igual a 50%

N75 %M1.1 Nivel de tanque igual a 75%


N100 %M1.2 Nivel de tanque igual a 100%

Tabla 1. Tabla de variables para Grafcet.

22
5.2.1.2. Grafcet

Figura 15. Grafcet del proceso.

Con este Grafcet se cumplen las condiciones demandadas por el ejercicio:

23
1- Para poner en marcha el proceso, se pulsará S1 y S2 deberá estar
accionado para que pueda ponerse en marcha.
2- Pasará al Estado 1 y se activará la cinta 1 hasta que se active la marca del
25% de nivel.
3- Continuará con el Estado 2, activando la cinta 2 hasta que se active la marca
del 50% de nivel.
4- Se repetirá el proceso hasta que llegue al 100% de nivel (Estado 3 similar al
Estado 1 y Estado 4 igual que Estado 2).
5- El Estado 5 será alcanzado al activarse la marca del 100% de nivel y pondrá
en marcha el motor de la cinta 3 hasta que se vuelva a activar la marca de
0% de nivel.
6- Todo quedará desactivado si se desconecta S2.

5.2.1.3. Esquema de conexiones


Inicialmente, el esquema de las conexiones al autómata se verá de la siguiente
forma:

Figura 16. Esquema eléctrico de conexiones al autómata.

24
La conexión física del hardware queda de la siguiente forma:

Figura 17. Conexión física del hardware.

Color Descripción
Alimentación 24V
Tierra 0V
Conexión ethernet PROFINET
Conexión de entradas
Conexión de salidas
Señal analógica
Tabla 2. Leyenda de conexiones físicas del hardware.

5.2.1.4.Ecuaciones de activación y desactivación de etapas


En este punto se traducirá el Grafcet a sus ecuaciones de activación de etapas.
Éstas quedarán de la siguiente forma:
(1) E0=FirstScan+E0·E1
(2) E1=E0·S1·S2+E5·N0+E1·E2
(3) E2=E1·N25+E2·E3
(4) E3=E2·N50+E3·E4
(5) E4=E3·N75+E4·E5
(6) E5=E4·N100+E5·E1
25
(7) H1=E5·S2
(8) H2=(E1+E3)·S2
(9) H3=(E2+E4)·S2
5.2.1.5. Creación y desarrollo del código
1- Creación de un nuevo proyecto
Para crear un proyecto desde cero se podrá hacer de varias formas:

Figura 18. Creación de un proyecto desde “Vista del portal”.

Si aparece esta pantalla, se pulsará en “Crear nuevo proyecto” y se elegirá el


nombre y la carpeta donde guardarlo. Se puede añadir también el nombre de un
autor y un comentario para describir el proyecto.

26
Figura 19. Creación de un proyecto desde “Vista del proyecto”.

Si aparece esta otra, se pulsará sobre el icono (marcado en la esquina superior


izquierda) y se operará de la misma forma que en la anterior pantalla.

2- Añadir nuevos dispositivos


Una vez creado el proyecto, se añadirán los dispositivos con los que se trabajará.
Para ello, hay que saber en primer lugar el dispositivo con el que se trabajará
(modelo de CPU y referencia):

27
MODELO DE CPU

REFERENCIA

Figura 20. Modelo de CPU y referencia del autómata en parte frontal.

Estos datos también se pueden mirar en el lateral del autómata:

28
MODELO DE CPU

REFERENCIA

Figura 21. Modelo de CPU y referencia en parte lateral.

En primer lugar, se incluirá el PLC. Pulsando sobre “Agregar dispositivos” se abrirá


la ventana donde se podrá seleccionar el dispositivo. Dentro de “Controladores”
encontraremos los PLCs con el modelo y la referencia.

Figura 22. Selección del modelo de autómata.

29
3- Configuración del dispositivo
En “Configuración del dispositivo”, dentro del “Árbol del proyecto”, se comprobará
la IP del dispositivo. Se pulsará dos veces sobre el dispositivo (o con el botón
derecho y se buscarán lar “Propiedades) y aparecerá la “Ventana de inspección”,
donde se seleccionará “Interfaz PROFINET” y se configurará la IP:

Figura 23. Configuración de IP.

Esta se encontrará en el lateral (asignada manualmente cuando desde un inicio)


y es única para cada PLC.

Figura 24. IP del autómata.


30
Una vez configurada, se activarán las marcas internas del sistema por si en algún
momento son necesarias para trabajar. Se pulsará sobre “Marcas de sistema y
ciclo” en la columna de la izquierda en la “Ventana de inspección”:

Figura 25. Activación de marcas del sistema.

Para evitar problemas con las marcas, se asignará una dirección “lejana”, es decir,
dejando una cantidad considerable de memoria para que sea más ordenada la
programación de las variables que se incluyan más adelante.

4- Variables del PLC


El siguiente paso será incluir las variables dentro del programa. En “Variables del
PLC” se encontrará la tabla por defecto “Tabla de variables estándar”. En ella se
añadirán las variables:

31
Figura 26. Carpeta de variables del PLC.

Abriéndola, se podrá añadir las variables necesarias para programar:

Figura 27. Tabla de variables del PLC.

32
Este es el momento donde aparece por primera vez la señal analógica. Se
configurará igual que el resto de variables, siendo su tipo de dato Int y su dirección
%IW64 (una de las dos entradas que tiene el autómata).
Es recomendable añadir un comentario a cada variable para aclararse mejor. En
los programas utilizados o desarrollados en las empresas se utilizan muchas
variables y muchas de ellas con nombres parecidos, por lo que viene bien incluirle
una pequeña descripción.
Se puede ver que las entradas son distintas a lo representado en la conexión del
hardware. Esto es porque la entrada 0.0 al autómata no funciona correctamente.
Estas variables se irán explicando con la programación del sistema.

5- Código
Para comenzar a programar, se abrirá el “Main”:

Figura 28. Programa principal Main.

Se comenzará con la parte secuencial. En ella se programarán las ecuaciones de


activación de etapas. El Segmento 1 será para iniciar el Estado 0 con el
“FirstScan” (primer ciclo realizado por el autómata):

33
Figura 29. Segmento 1. Activación Estado 0.

El Segmento 2 será para la activación del Estado 1. La primera línea es la


transición del Estado 0 al 1 con las condiciones del pulsador y el accionamiento,
la segunda es la transición del Estado 5 al 1 con su condición de nivel y la última
es la realimentación que hará que funcione ese estado hasta que pase al
siguiente.

Figura 30. Segmento 2. Activación Estado 1.

Desde el Segmento 3 hasta el Segmento 6, todos estarán programados de la


misma forma: cuando se active el estado anterior y su marca de nivel, activará el

34
siguiente estado y el segmento quedará realimentado hasta que el siguiente lo
desactive.

Figura 31. Segmento 3. Activación Estado 2.

Figura 32. Segmento 4. Activación Estado 3.

Figura 33. Segmento 5. Activación Estado 4.

35
Figura 34. Segmento 6. Activación Estado 5.

El Segmento 7 es el más importante para trabajar con señales analógicas. Se


pueden ver 3 bloques:

La función “MOVE” es para transferir el contenido que hay en el operando IN hasta


OUT1.

Se utiliza la función “NORM_X” para normalizar el valor de la variable introducida


en “VALUE” traduciéndolo en una escala lineal. Los parámetros “MIN” y “MAX”
son para definir los límites de la escala. Si la variable de “VALUE” es igual al
mínimo, la salida será igual a 0.0; si el valor es igual al máximo, será 1.0.
La “Figura 35” muestra cómo trabaja:

36
Figura 35. Gráfica de normalización.

Funciona con la siguiente ecuación:


OUT = (VALUE – MIN) / (MAX – MIN)

Esta función trabajará de forma similar a la función “NORM_X”. En este caso, se


le introducirá el valor de la salida de la función NORM_X para traducirlo en una
salida cuyo rango de valores se introducirán en “MIN” y “MAX”.
La siguiente figura muestra cómo trabaja:

Figura 36. Gráfica de escalado.

Y su ecuación será la siguiente:


37
OUT = [VALUE ∗ (MAX – MIN)] + MIN

Una vez explicados cada uno de los bloques, el segmento quedará de la siguiente
forma:
7

Figura 37. Segmento 7. Conversión de la señal analógica.

En la primera línea se incluye la condición de que la señal analógica que detecta


el autómata sea mayor o igual a cero para que comience a tratarla. En el bloque
NORM_X se añaden los valores entre los que se tratará la señal (0-27648**) y la
entrada analógica. En la salida se incluye una marca que guarde el valor para
introducirlo como entrada en el bloque SCALE_X.
En estos bloques es importante el tipo de dato. Como los valores de entrada son
enteros, se tendrá que elegir un tipo Int. La salida será un valor Real ya que se
encuentra entre 0.0 y 1.0.
El bloque SCALE_X escalará la salida del bloque anterior entre los valores
introducidos (0.0-100.0, el porcentaje de nivel del tanque). El tipo de dato que se
le introduce es un Real y la salida será del mismo tipo.

38
En la segunda y tercera línea se quiere estabilizar la señal, es decir, si en algún
momento el autómata recibe una señal por debajo o por encima de los valores
máximos y mínimos del autómata, se quedarán con esos valores.

En el segmento 8 se programará la activación de las marcas de nivel:

Figura 38. Segmento 8. Activación de marcas de nivel.


39
La primera línea de este segmento activará la marca de 0% de nivel. Si la señal
tratada en el Segmento 7 es igual o menor a 1.0 (teóricamente sería 0.0, pero el
simulador no llega a ese valor), se activará la marca N0. Las siguientes marcas
funcionarán de igual forma: si se encuentra entre 25.0 y 50.0, se activará N25;
entre 50.0 y 75.0, N50, y así sucesivamente hasta alcanzar el valor 100.0.

Para finalizar el programa, se incluirá en el Segmento 9 la parte combinacional:


9

Figura 39. Segmento 9. Activación de las salidas del sistema.

40
6- Cargar el programa
Una vez programado todo el proceso, se cargará el programa en el autómata. Se
seleccionará primero la carpeta del dispositivo en el “Árbol del proyecto” y después
se pulsará en el icono de “Cargar en dispositivo”:

Figura 40. Cargar programa en el PLC.

Y aparecerá la siguiente ventana:

Figura 41. Ventana de conexión con el PLC.

Aquí se seleccionará el tipo de conexión entre la tarjeta de red del ordenador y


TIA Portal (PN/IE, que es el PROFINET), la tarjeta de red a la que conectarse (TP-
Link Gibabit PCI Express Adapter, la del ordenador) y hacia dónde se envía la
información (Directo a slot ‘1 X1’, slot donde se encuentra el dispositivo).

41
A continuación, se pulsará en “Iniciar búsqueda” y aparecerá el autómata con el
que se trabaja:

Figura 42. Dispositivo encontrado.

Se pulsará sobre “Cargar”, y se mostrará otra ventana, que se configurará de la


siguiente forma:

Figura 43. Carga de programa en PLC.


42
Pulsando sobre “Cargar”, aparecerá esta otra ventana:

Figura 44. Carga de programa en PLC.

Se seleccionará la opción de “Arrancar todos” y se pulsará en “Finalizar”. Solo


quedará comprobar con el simulador que todo haya sido programado
correctamente.

5.2.2. Segunda solución


Como se puede comprobar, la primera solución aportada para el ejercicio funciona
correctamente, pero es ineficiente porque hay varios estados en el Grafcet que se
repiten (Estado 1 y Estado 3 activan las mismas salidas, lo mismo ocurre con el
Estado 2 y el 4). Por eso, se realizará un nuevo Grafcet en el que no exista el
problema de repetición de estados.

5.2.2.1. Tabla de variables


La tabla de variables cambiará muy poco. Solo será necesario eliminar dos
estados.

43
VARIABLE DIRECCIÓN COMENTARIO

S1 %I0.0 Pulsador de marcha

S2 %I0.1 Pulsador de paro

H1 %Q0.0 Salida del motor de la cinta 3

H2 %Q0.1 Salida del motor de la cinta 1


H3 %Q0.2 Salida del motor de la cinta 2

E0 %M0.0 Estado 0
E1 %M0.1 Estado 1

E2 %M0.2 Estado 2
E3 %M0.3 Estado 3

N0 %M0.4 Nivel de tanque igual a 0%

N25 %M0.5 Nivel de tanque igual a 25%

N50 %M0.6 Nivel de tanque igual a 50%


N75 %M0.7 Nivel de tanque igual a 75%

N100 %M1.0 Nivel de tanque igual a 100%

Tabla 3. Tabla de variables para el nuevo Grafcet.

44
5.2.2.2. Grafcet

Figura 45. Grafcet más eficiente.

5.2.2.3.Ecuaciones de activación y desactivación de etapas


(1) E0= FirstScan+E0·E1
(2) E1=E0·S1·S2+E2·N50·N75·N100+E3·N0+E1·E2
(3) E2=E1·(N25·N50+N75)+E2·(E3+E1)
(4) E3=E2·N100+E3·E1
(5) H1=E3·S2
(6) H2=E1·S2
(7) H3=E2·S2

45
5.2.2.4. Creación y desarrollo del código
La programación del nuevo Grafcet comenzará de la misma forma que el anterior:

Figura 46. Segmento 1. Activación Estado 0.

El Segmento 2 seguirá la misma idea que en el programa anterior: todos los


estados con sus condiciones convergerán en el Estado 1. Se puede destacar la
segunda línea, donde se niega la marca del 75% y del 100%. La de 75% es para
evitar que vuelva al primer estado habiendo superado el nivel correspondiente a
esa marca; y la de 100% es para tener exclusividad.

Figura 47. Segmento 2. Activación Estado 1.

46
En el Segmento 3 habrá 2 condiciones para activar el Estado 2: que alcance el
25% del nivel sin que haya llegado al 50% o que llegue al 75%. La negación de la
marca del 50% sirve para que trabaje dentro de ese intervalo, es decir, mayor del
25% y menor que 50%.

Figura 48. Segmento 3. Activación Estado 2.

El Segmento 4 será como en el programa anterior:

Figura 49. Segmento 4. Activación Estado 3.

Los segmentos del tratamiento de la señal analógica y de la activación de marcas


de nivel se mantienen iguales.
47
5

Figura 50. Segmento 5. Conversión de la señal analógica.

48
Figura 51. Segmento 6. Activación de las marcas de nivel.

49
Por último, quedarán las salidas, que se programarán igual que en el anterior
código:
7

Figura 52. Segmento 7. Activación de las salidas del sistema.

50
5.3. Programación de HMI
5.3.1. Grafcet
En primer lugar, se modificará el Grafcet para incluir las entradas que habrá en el
HMI:

Figura 53. Grafcet con HMI.

5.3.2. Ecuaciones de activación y desactivación de etapas


Y sus ecuaciones no sufrirán muchos cambios:
(1) E0=FirstScan+E0·E1
(2) E1=E0·(S1+Marcha_HMI)·S2+E2·N50·N75·N100+E3·N0+
+E1·E2
(3) E2=(N25·N50+N75)+E2·(E3+E1)
(4) E3=E2·N100+E3·E1

51
(5) H1=E3·(S2+Paro_HMI)
(6) H2=E1·(S2+Paro_HMI)
(7) H3=E2·(S2+Paro_HMI)

5.3.3. Creación y desarrollo del código


A continuación, se realizará un sistema SCADA desde cero. Se hará de la misma
forma que la creación y configuración de un HMI. Para la realización de este
proyecto se ha podido disponer de un HMI. Es por eso que el sistema SCADA se
hará en el mismo modelo que el dispositivo. Para los alumnos que quieran probar
el programa en la pantalla, se explicará cómo hacerlo.

En primer lugar, se añadirá un nuevo dispositivo de la misma forma que el


autómata. Hay que saber, antes de añadir la pantalla, su modelo y referencia:

MODELO

REFERENCIA

Figura 54. Modelo y referencia de HMI.

Se pulsará en “Añadir dispositivos” como con el autómata y se buscará en “HMI”


dentro de las carpetas:

52
Figura 55. Selección de HMI en TIA Portal.

Una vez añadido, se configurará la pantalla. La primera pantalla sirve para


conectar el autómata al HMI. Se seleccionará el programado previamente:

Figura 56. Configuración HMI. Conexión con PLC.

53
En la segunda, aparecerá la opción de tener un encabezado, que se ha quitado
por el espacio tan reducido que tiene la pantalla:

Figura 57. Configuración HMI. Formato de imagen.

Después de suprimir el encabezado, se pulsará sobre finalizar.

Por defecto, el HMI tiene cuatro botones en la parte inferior, los cuales se
eliminarán también por espacio, pero en otros tipos de pantallas estos pueden ser
muy útiles para la navegación entre las distintas pantallas del HMI.
Para eliminarlos, habrá que dirigirse a la carpeta de “Administración de imágenes”
y, dentro de ella, a “Plantillas”. En ella, habrá una plantilla creada
automáticamente.

54
Figura 58. Plantillas del HMI.

Las plantillas son muy útiles cuando hay muchas pantallas y se quiere compartir
alguna característica en varias pantallas, como por ejemplo el logo de una
empresa.

A continuación, dentro de la carpeta “Imágenes” se abrirá la “Imagen raíz”. En esta


será donde se desarrolle el ejercicio:

Figura 59. Imagen principal del HMI.


55
En el desplegable de la derecha aparecen varias pestañas con distintas
herramientas:

Figura 60. Herramientas.

56
OBJETOS BÁSICOS
Icono Herramienta Descripción
Línea

Elipse

Círculo

Rectángulo

Campo de texto Se podrá escribir una o más líneas de texto. La


fuente y tamaño son ajustables.
Vista de gráfico Muestra gráficos de programas externos e inserta
objetos OLE. Se pueden utilizar los siguientes
formatos gráficos: "*.emf", "*.wmf", "*.dib",
"*.bmp", "*.jpg", "*.jpeg", "*.gif" y "*.tif".
Tabla 4. Tabla de Objetos Básicos para la creación de una pantalla.

ELEMENTOS
Icono Herramienta Descripción
Campo E/S Muestra los valores de una variable y/o
escribe valores en una variable.
Botón Funciona como un pulsador.

Campo E/S simbólico Muestra los valores de una variable y/o


escribe valores en una variable. Muestra,
además, un texto de una lista de textos
relacionado con una variable.
Campo E/S gráfico Muestra los valores de una variable y/o
escribe valores en una variable. Muestra,
además, un gráfico de una lista de gráficos
relacionado con una variable.

57
Campo Fecha/Hora Cuadro que muestra la fecha y hora de
una variable del sistema.
Barra La barra representa un valor del PLC en
forma de un gráfico de barras escalado.

Interruptor Cambia entre dos estados definidos.

Tabla 5. Tabla de Elementos para la creación de una pantalla.

CONTROLES
Icono Herramienta Descripción
Visor de avisos Muestra las alarmas pendientes
actualmente o los eventos de alarma.
Visor de curvas Representa múltiples curvas con
valores del PLC o de un registro.
Visor de usuarios Permite que un administrador
administre usuarios en el dispositivo
HMI.
También permite que un operador sin
derechos de administrador cambie su
contraseña.
Navegador HTML Muestra páginas HTML.

Visor de recetas Muestra los registros de datos y permite


editarlos.
Visor de diagnóstico del Proporciona una descripción general de
sistema todos los dispositivos con capacidad de
diagnóstico.
Muestra, además, errores en la planta.
Tabla 6. Tabla de Controles para la creación de una pantalla.

58
El apartado de “Gráficos” se mostrará más adelante.

Una vez explicadas las herramientas que hay en el programa, se incluirán los
pulsadores de “Marcha” y de “Paro”. Arrastrando un “Botón” a la pantalla, se puede
comenzar su configuración. En primer lugar, se le añadirá el nombre. Esto puede
hacerse de dos formas: haciendo doble click en el botón o en la parte de
propiedades señalada en la “Figura 61”.

Figura 61. Botón de Marcha.

Lo siguiente será darle las propiedades de botón. Para ello, será necesario
introducir una marca para que trabaje como entrada desde el HMI. Esta marca se
incluye porque desde el HMI no se puede trabajar directamente con entradas
físicas. Se añadirá una llamada “Marcha_HMI” que se colocará de forma paralela
con la entrada física (“Figura 62”):

59
Figura 62. Marca de marcha en el programa.

Una vez añadida en el código, se le atribuirán las propiedades para que trabaje
como entrada en la ventana de “Eventos”. Se añadirán estas funciones en las
pestañas “Pulsar” y “Soltar” (“Figura 63” y “Figura 64”):

Figura 63. Activación de bit de “Marcha_HMI”.

60
Figura 64. Desactivación de bit de “Marcha_HMI”.

El botón de “Paro” se configurará de la misma forma:

Figura 65. Activación de bit de “Paro_HMI”.

Figura 66. Desactivación de bit de “Paro_HMI”.

Para que este botón trabaje como el pulsador S2, se escribirán las siguientes
líneas de código:

61
Figura 67. Activación de marca de “Parado”.

Al pulsar el botón de paro, se activará una marca (“Parado”), la cual solo podrá
desactivarse pulsando el botón de “Marcha_HMI”.

“Parado” se incluirá en la parte combinacional, en serie con S2:

Figura 68. Parte combinacional con HMI.

Existe otra forma en la que se podrían omitir las líneas de código. Desde “Eventos”
cambiándole las propiedades:

62
Figura 69. Eventos de botón de “Marcha”.

Figura 70. Eventos de botón de “Paro”.

Al botón de “Paro” se le elimina su función en “Soltar” y se añade en el botón de


“Marcha” en “Pulsar”. De esta forma, se activa el bit de “Paro_HMI” al pulsar “Paro”
y se desactivará pulsando “Marcha”.

En el código se vería de la misma forma que con la marca “Parado”:

Figura 71. Marca de “Paro_HMI” en parte combinacional.

63
A estos pulsadores se le incluirá una “Apariencia”. En la ventana de “Animaciones”
se pulsará en “Agregar animación”. Se escogerá la variable “Paro_HMI” para
ambos pulsadores. Cuando esta esté a cero, significará que el sistema estará en
marcha, por lo que al botón se le asignará el color indicador verde:

Figura 72. Apariencia de botón de “Marcha”.

Del mismo modo ocurrirá con el botón de “Paro”. Cuando esté a uno significará
que está parado. Con esa condición se le asignará el color rojo:

Figura 73. Apariencia de botón de “Paro”.

Para incluir las figuras en la pantalla, se usará la pestaña “Gráficos” del


desplegable de “Herramientas”. En ella existen muchas figuras sobre el ámbito
industrial. Para este ejercicio, se buscará en la “Carpeta de gráficos WinCC”,
“Equipo de automatización” y dentro de las carpetas de “Tanks” (tanques) y
“Conveyors, Miscellaneous” (cintas) se escogerán las siguientes:

64
Figura 74. Gráfico de cinta.

Figura 75. Gráficos de cintas y tanques.

Todas quedarán dispuestas de la forma más parecida posible a la maqueta.

El siguiente paso será añadir la barra donde se visualizará el estado del tanque.
De la pestaña de “Elementos” se arrastrará una barra hasta la pantalla:

65
Figura 76. Barra de nivel.

En primer lugar, se configurarán sus propiedades, empezando por añadirle la


variable que se mostrará en ella (“SALIDA_ESCALADA”) y los valores entre los
que trabajará (0-100).

Figura 77. Pestaña “General” en “Propiedades” de barra.

En las siguientes imágenes se enseña la modificación de las características de la


barra:

66
1- Color de fondo y de barra.

Figura 78. Pestaña “Apariencia” en ventana de “Propiedades” de


la barra.

2- Grosor, color y radio de las esquinas de la barra.

Figura 79. Pestaña “Tipo de borde” en “Propiedades” de barra.

3- Número de divisiones entre intervalos y la longitud de estos.

Figura 80. Pestaña “Escalas” en “Propiedades” de barra.

67
4- Ventana de animaciones.
Se creará una “Apariencia” donde se le atribuye un color a cada intervalo.
Para ello, se configura como “Rango” en el recuadro de “Tipo” y en la
variable se introduce la que contiene el valor a mostrar
(SALIDA_ESCALADA).

Figura 81. Ventana “Animaciones” de barra.

El siguiente paso es añadir un “Campo E/S” para mostrar el valor numérico del
nivel:

Figura 82. Campo E/S.

Se añadirá la variable que se quiere representar (“SALIDA_ESCALADA”) y en


“Tipo” se pondrá en modo de salida porque solo se quiere que muestre el valor y
que no se pueda modificar. Por último, el formato se ajustará para que se vean
los dígitos deseados (centenas y un decimal).

68
Figura 83. Pestaña “General” en “Propiedades” de campo E/S.

En la pestaña “Apariencia” se añaden las unidades que se quieren mostrar (%).

Figura 84. Pestaña “Apariencia” en “Propiedades” de campo E/S.

Y, por último, el “Formato del texto” para que quede el texto centrado dentro del
Campo.

Figura 85. Pestaña “General” en “Propiedades” de Campo E/S.

69
En la barra superior de herramientas existe una para ajustar las figuras y
elementos que se seleccionen. Pulsando primero sobre la que quiero que
mantenga su posición original y después sobre la segunda manteniendo pulsada
la tecla “Shift”, se podrá ajustar como se desee. Se podrán seleccionar más de
dos figuras.

Figura 86. Barra de herramientas de un HMI.

Figura 87. Herramienta de alineación de elementos.

Se han incluido tres “Campos de texto” para indicar qué cinta es cada una. En la
pestaña “General” de la ventana de “Propiedades” se podrá añadir el texto junto
con el tamaño y la fuente.

Figura 88. Campos de texto.

70
El siguiente paso será incluir unos indicadores que muestren el funcionamiento de
las cintas. Esto será resuelto de tres formas distintas:

1.Visor de gráficos
Se añadirá un visor de gráficos con la idea de atribuirle una animación de
“Visibilidad”. En primer lugar, se arrastra un visor de gráficos a la pantalla:

Figura 89. Visor de gráficos.

En la ventana de inspección se podrán ver todas las imágenes que haya dentro
del programa para visualizar. En el caso de que se quiera introducir una imagen
externa, se pulsará sobre el icono marcado en la “Figura 90” y se buscará en la
carpeta que se desee. En primer lugar, se configurará el gráfico de estado ON:

Figura 90. Selección de gráfico estado ON.

71
Se le añadirá una animación de “Visibilidad” pulsando sobre el icono de la
“Figura 91”:

Figura 91. Animaciones de gráfico estado ON.

Y, por último, su condición de visibilidad. Este gráfico será visible cuando la salida
H2 esté activada.

Figura 92. Visibilidad de gráfico estado ON.

Se configurará de la misma forma el gráfico de estado OFF:

Figura 93. Visor de gráficos estado OFF.

72
En este caso, el estado OFF será visible cuando la salida esté desactivada.

Figura 94. Visibilidad de gráfico estado OFF.

2. Campo E/S gráfico de dos estados


En las “Propiedades” dentro del campo “Modo” se elegirá la opción de “Dos
estados” y en “Contenido” se escogen los gráficos para cada uno de los estados:

Figura 95. Campo E/S gráfico de dos estados.

73
3. Campo E/S gráfico con listas de gráficos
El último modo de añadir un gráfico será mediante una “Lista de gráficos”.
Buscando en el “Árbol del proyecto”, dentro de la carpeta del HMI, se buscará
“Lista de textos y gráficos”. Una vez abierta, se pulsará sobre la esquina superior
derecha para abrir la lista de gráficos.

Figura 96. Listas de textos y gráficos.

Lo primero es ponerle un nombre a la lista, en este caso será “Salidas”, y se


definirán los estados que se quieren representar (0 apagado y 1 encendido) en
“Entradas de la lista de gráficos”. Al crear la lista de gráficos se le pueden añadir
las imágenes como en los casos anteriores.

Figura 97. Nombre de lista de gráficos.

74
Figura 98. Lista de gráficos de “Salidas”.

Y para incluirlo en la pantalla hay que arrastrar de “Elementos” un “Campo E/S


gráfico”.

Figura 99. Campo E/S gráfico de lista de gráficos.

En la pestaña “General” de la ventana de “Propiedades” se le incluirá la lista


creada como se muestra en la “Figura 100”:

75
Figura 100. Selección de lista de gráficos.

Finalmente, el HMI quedará de la siguiente forma:

Figura 101. Pantalla final HMI.

Para completarlo un poco más y utilizando las ideas ya aportadas, se cambiará el


gráfico incluido inicialmente de las cintas y se creará otra lista de gráficos para
representar su estado. Esto se podrá hacer con un programa de edición de
imágenes para darle el color deseado. Después se añadirá como se ha explicado
anteriormente:

76
Figura 102. Lista de gráficos de “Cintas”.

Se introducirá en la pantalla y se configurará su apariencia en la “Ventana de


inspección”. En primer lugar, se le atribuye la lista de “Cintas”:

Figura 103. Campo E/S gráfico de “Cintas”.

77
Y, por último, su “Apariencia”:

Figura 104. “Apariencia” de la lista de gráficos “Cintas”.

Con las imágenes que se introducen en el programa habrá que tener cuidado con
su edición ya que éstas lo hacen con el fondo con el que se ha guardado la
imagen.

Para terminar, se visualizará el sistema SCADA (Supervisory Control And Data


Adquisition) de la pantalla realizada. Para ello, se pulsará sobre el icono marcado,
habiendo seleccionado previamente el dispositivo, en la “Figura 105”:

Figura 105. Inicio de simulación de HMI.

78
Se abrirá una nueva ventana donde se podrá visualizar el proceso e interactuar
con la pantalla creada:

Figura 106. Pantalla SCADA.

En el caso de que se quiera cargar el programa en el HMI, se hará de la misma


forma que con el autómata: se pulsará sobre la carpeta del dispositivo en el “Árbol
del proyecto” y después en la barra de herramientas sobre “Cargar”. Aparecerá
una ventana (“Figura 107”) donde se realizará la conexión con el HMI:

79
Figura 107. Conexión con HMI.

Y por último, se cargará en el dispositivo:

80
Figura 108. Carga de programa en HMI.

5.4. Bloques del software


La finalidad de este apartado es introducir un ejemplo de cada uno de
los bloques explicados en el apartado 2.1.2.2.

5.4.1. DBs
Este tipo de bloques sirven para almacenar datos. Como ejemplo, se creará un
DB para englobar las marcas de nivel de llenado. En los “Bloques de programa”,
se incluirá uno nuevo y se seleccionará el DB:

81
Figura 109. Agregar nuevo bloque. DB.

Una vez creado, se introducirán las marcas de nivel:

Figura 110. Marcas de DB.

82
Una vez creadas las marcas, se cambiarán por las marcas de nivel en el código.
Para llamarlas, es necesario escribir primero al DB y después la marca
(“Nombre_DB”.Nombre_Marca). El código quedará de la siguiente forma:

Figura 111. Segmento 2 con marcas de DB “Nivel_Llenado”.

Figura 112. Segmento 3 con marcas de DB “Nivel_Llenado”.

83
4

Figura 113. Segmento 4 con marcas de DB “Nivel_Llenado”.

84
Figura 114. Segmento 7 con marcas de DB “Nivel_Llenado”.

85
5.4.2. FBs
Se utilizará un bloque de función para englobar todo el segmento de escalado de
la señal analógica. Para ello, se agregará un nuevo bloque:

Figura 115. Agregar nuevo bloque. FB.

Abriendo el FB, se podrá programar dentro de él. Este se verá como el “Main” en
un estado inicial:

Figura 116. FB.

86
Lo primero será añadirle las variables. Pulsando sobre la flecha orientada hacia
abajo (marcada en la “Figura 116”) se podrán añadir las variables. En estos
bloques se pueden añadir entradas, salidas, E/S y variables estáticas, temporales
y constantes. En este caso se usarán entradas, salidas y una variable estática.

Figura 117. Variables de FB.

El segmento de escalado se introducirá dentro del FB y a este se le cambiarán las


variables por las definidas nuevamente:

Figura 118. Segmento de escalado en FB.

87
Una vez creado, se incluye en el programa principal. Desde “Bloques de
programa” se arrastra la función hasta un nuevo segmento y automáticamente se
creará un DB donde se guardarán todos los datos del FB:

Figura 119. DB de FB.

Y el bloque se podrá completar, quedando de la siguiente forma:

Figura 120. FB de “ESCALADO” en programa principal.

Después de añadir este bloque de función, será necesario hacer como en el


apartado 5.4.1: cambiar las variables anteriores por las creadas en el nuevo DB
tanto en el código como en el HMI.

88
Figura 121. Segmento 7 con marcas de DB de “ESCALADO_DB”.

89
Figura 122 a. Cambio de variables del HMI por marcas del DB
“ESCALADO_DB”.

Figura 122 b. Cambio de variables del HMI por marcas del DB


“ESCALADO_DB”.

Figura 122 c. Cambio de variables del HMI por marcas del DB


“ESCALADO_DB”.

90
5.4.3. FCs
Con este tipo de función se englobarán las tres partes principales del código: el
escalado de la señal analógica junto con la activación de las marcas, la secuencia
del programa que controla el proceso y las salidas digitales.

Se agregarán nuevos bloques, uno para cada parte del código:

Figura 123. Agregar nuevo bloque. FC.

Se cogerá del “Main” los segmentos que se quieran introducir en los FCs. Una
vez todos ordenados, se incluirán en el “Main”. El “Main” quedará de la siguiente
forma:

91
Figura 124. “Main” con FCs.

5.5. Simulación del proceso


En este punto se creará un programa para HMI y PLC para el caso de
que no exista un simulador con el que realizar las pruebas.

El programa anterior se modificará quedando de la siguiente forma:

Figura 125. “Main” de programa para simulación.

92
Se puede observar que se ha añadido un nuevo FC llamado “SIMULACION_HMI”.
Este será explicado más adelante.

FC ESTADOS
El Segmento 1 inicia el Estado 0, además de poner a cero todas las marcas de
simulación de la señal analógica. El resto de segmentos de este FC se
mantendrán igual que el programa del punto 5.2.2.4, ya que siguen el mismo
Grafcet:

Figura 126. Segmento 1 de FC “ESTADOS”.

93
Figura 127. Segmento 2 de FC “ESTADOS”.

Figura 128. Segmento 3 de FC “ESTADOS”.

94
Figura 129. Segmento 4 de FC “ESTADOS”.

FC ESCALADO_ANALOGICA
En este FC solo se verá modificado el Segmento 1. La idea para resolver esta
parte es considerar que el tanque principal ya no se ajusta a los bits del
autómata (27648) y en este caso son 30000 (para facilitar los cálculos), y que se
controlará la cantidad de bits que aumenta o disminuye el tanque principal
(control de velocidad de las cintas). Para llevarla a cabo, se han incluido dos
FBs, ambos para controlar la velocidad de las cintas (escalando el número de
bits que simulan la velocidad, que se explicarán en el FC “SIMULACION_HMI”)
cuya función es traducir el número de bits a una escala de 0 a 10 reproduciendo
el potenciómetro, y se ha cambiado en el FB “ESCALADO_DB” el nivel máximo
de analógica por 30000, además de la variable de entrada de señal analógica:

95
Figura 130. Segmento 1 de FC “ESCALADO_ANALOGICA”.

96
El Segmento 2 no sufrirá ningún cambio:

Figura 131. Activación de marcas de nivel.

97
FC SALIDAS_DIGITALES
Este FC se mantendrá:

Figura 132. Segmento 1 de FC “SALIDAS_DIGITALES”.

FC SIMULACION_HMI
Este último FC se iniciará (Segmento 1) con un generador de pulsos con el que
se controlará el tiempo de acción de los pulsadores al presionarlos y de aumento
o disminución de nivel. Para crearlo, se usará un temporizador con retardo a la
conexión (TON):

Figura 133. TON.

Este bloque está formado por una entrada (IN) que lo habilita y dos salidas: una
(Q) que se activará cuando haya transcurrido el tiempo incluido (PT) y otra (ET)
que mostrará el valor actual de tiempo. Gráficamente quedaría de la siguiente
forma:

98
Figura 134. Gráfica de funcionamiento de un TON.

El generador comenzará en la segunda línea activando el temporizador y a los


400 ms activará la marca “GENERADOR_PULSOS”. Esta iniciará otro
temporizador que a los 400 ms activará la marca “SUBIENDO”, lo que hará que la
que se desactive el temporizador inicialmente activado y la marca. De esta forma
se crea un bucle en el que se genera una onda cuadrada y ambas señales tendrán
el estado 0 y 1.

Figura 135. Generador de pulsos de FC “SIMULACION_HMI”.

99
Con el Segmento 2 se controlará la velocidad de las cintas superiores (velocidad
de llenado). La primera línea de este segmento indica que con cada flanco positivo
del generador de pulsos y pulsando el botón de subir velocidad, sin haber llegado
a su límite (3000), se incrementará en 300 (este número de bits es para dividir los
bits totales, 3000, en 10 unidades como los potenciómetros) los bits que se
introducen en el tanque. Del mismo modo trabajará la segunda línea, pero
disminuyendo los bits introducidos. Los límites superior e inferior estarán definidos
en las dos últimas líneas.

Figura 136. Código simulación de potenciómetro de cintas superiores.

100
Se puede ver que en el contacto de flanco positivo hay una marca en su parte
inferior. Esta es para guardar el estado del generador de pulsos (0 ó 1). Cada una
de los contactos tendrá que tener una diferente al resto.

El Segmento 3 será igual que el anterior:

Figura 137. Código simulación de potenciómetro de cintas inferiores.

101
El Segmento 4 es para el aumento o reducción del nivel del tanque. La primeria
línea es la de llenado. Mientras esté el Estado 1 o 2, no se haya parado el sistema
ni haya llegado al límite y esté en un flanco positivo del pulso, se le añadirá a la
cantidad del tanque los bits de la velocidad. Los mismo pasará en la segunda
línea: disminuirá la cantidad elegida siguiendo la misma idea.
En la tercera y cuarta línea estarán los límites del tanque principal.
En la quinta y sexta línea se encontrará la marca de parado, descrita con la
segunda solución de la maqueta (5.2.2).

Figura 138. Segmento simulación de nivel.

102
Este último segmento servirá para parar el proceso como en el programa
anterior:

Figura 139. Paro del sistema.

La pantalla creada para la simulación es la siguiente:

Figura 140. Pantalla de HMI para simulación.

103
Para este programa se ha añadido un rectángulo y varios cuadros de texto de
“Objetos básicos”, cuatro pulsadores (se han añadido porque en estas pantallas
no hay “Sliders” o Barras deslizadoras) y dos campos E/S. Esto pretende simular
los potenciómetros del simulador.

Se comenzará por la configuración de los pulsadores:

Figura 141 a. Propiedades de botón de aumento de velocidad de cintas


superiores.

Figura 141 b. Propiedades de botón de aumento de velocidad de cintas


superiores.
104
El resto de pulsadores se tratarán de la misma forma teniendo en cuenta su
variable.

A los campos E/S se le atribuirá su variable y el número de dígitos que se quieren


mostrar (de 0 a 10):

Figura 142. Configuración de campo E/S de pantalla simulación.

Esta simulación podrá probarse en un HMI. En el caso de que tampoco haya uno,
se podrá simular con el ordenador. Se seguirá el proceso de carga de un
programa, pero esta vez se elegirá el simulador (PLCSIM S7-1200/S7-1500) como
elemento interfaz:

105
Figura 143. Ventana de conexión con el simulador.

Figura 144 a. Carga de programa en simulador.

106
Figura 144 b. Carga de programa en simulador.

Y aparecerá una ventana simulando el estado del autómata:

Figura 145. Estado del autómata en simulación.

Y para visualizar la pantalla se pulsará en “Iniciar simulación” como en el punto


5.3.3:

107
Figura 146. Pantalla simulada.

5.6. Ejemplo de HMI industrial


En este ejemplo se quiere mostrar un pequeño ejemplo de cómo podría verse una
pantalla de una planta con las funciones más utilizadas. En primer lugar, se
cambiará el Grafcet donde se utilizará el Estado 0 para incluir las funciones de
Manual y Limpieza. A continuación, se incluirá la condición de que trabaje en
AUTO (modo automático) o MANUAL. La función Manual podrá mover
individualmente cada uno de los motores que mueven las cintas (Bx); y Limpieza
los activará todos simultáneamente (A). El Grafcet quedará así:

108
Figura 147. Grafcet de programa de empresa.

A la función “Main” se le añadirá una nueva función llamada “HMI” y se modificarán


las funciones “ESTADOS” y “SALIDAS_DIGITALES”.

Sus ecuaciones quedarán de la siguiente forma:


(1) E0=(E1+E2+E3)·MANUAL·AUTO·S2+E0·(E1+E2+E3)
(2) E1=E0·(S1+Marcha_HMI)·AUTO·MANUAL+E2·N50·N75·N100·AUTO·
·MANUAL+E3·N0·AUTO·MANUAL+E1·(E0+E2)
(3) E2=E1·(N25·N50+N75)·AUTO·MANUAL+E2·(E0+E1+E3)
(4) E3=E2·N100·AUTO·MANUAL+E3·(E0+E1)
(5) H1=S2·((LIMPIEZA+Manual_H1)·E0+E3·Paro_HMI)
(6) H2=S2·((LIMPIEZA+Manual_H2)·E0+E1·Paro_HMI)
(7) H3=S2·((LIMPIEZA+Manual_H3)·E0+E2·Paro_HMI)

109
El “Main” se verá así:

Figura 148. Función “Main” programa de empresa.

FC ESTADOS
En esta función se incluirán la programación de los cuatro estados siguiendo las
ecuaciones de activación y desactivación de etapas:

Figura 149. Estado 0 de programa de empresa.


110
Figura 150. Estado 1 de programa de empresa.

Figura 151. Estado 2 de programa de empresa.

111
Figura 152. Estado 3 de programa de empresa.

FC SALIDAS DIGITALES
Para activar las salidas, se cumplirán las siguientes condiciones y serán similares
para cada salida: el Estado 0 con Limpieza o el botón manual de esa salida
activada, o en su estado correspondiente del proceso sin que esté parado. Todas
las salidas estarán condicionadas por la seta de emergencia (marca activada por
S2, explicada en el siguiente FC).

112
Figura 153. Salidas digitales de programa de empresa.

FC HMI
Esta función controlará el funcionamiento del HMI. Todo el segmento estará
condicionado por la seta de emergencia (se explicará en el siguiente segmento).
Este segmento, además, se dividirá en tres partes: modo manual, modo
automático y reseteo de los interruptores de manual.

113
• Manual
En la primera línea, pulsando el botón de limpieza, se activará un
temporizador con retardo a la desconexión (TOF).

Figura 154. TOF.

Este bloque está formado por una entrada (IN) que lo habilita y dos salidas:
una (Q) que se desactivará cuando haya transcurrido el tiempo incluido (PT)
y otra (ET) que mostrará el valor actual de tiempo. Gráficamente quedaría
de la siguiente forma:

Figura 155. Gráfica de funcionamiento de un TOF.

Mientras esté funcionando, activará una marca (“Limpieza_ON”) que


activará las salidas de la función anterior. Se pueden ver varias variables
de tipo “Time” (“Tiempo_S”, “Cuenta_Tiempo”, “Tiempo_MS” y
“Tiempo_Transcurrido”). Estas han sido añadidas para controlar el tiempo
que el sistema trabaja en modo Limpieza. En el HMI se han añadido dos
Campos E/S: uno para introducir el tiempo deseado (“Tiempo_MS”) y otro

114
para visualizar el tiempo transcurrido (“Tiempo_Transcurrido”). Estos
tiempos será tratados de la siguiente forma: los Campos E/S solo reconocen
el tiempo en milisegundos, por lo que primero se multiplicará por 1000 el
valor que se introduce (función MUL), la salida de esta función (“Tiempo_S”)
irá directa a TOF y su salida (“Cuenta_Tiempo”) será finalmente dividida por
1000. Esto se ha hecho para evitar tener que poner un valor de tiempo
seguido de los 3 ceros de las unidades de millar.
La penúltima línea será para la visualización de los interruptores que activan
individualmente las cintas y la última desactivará “Marcha_ON”
(funcionamiento en modo automático).

• Automático
En el caso de que se cambie mientras trabaja en modo manual, se
desactivarán las funciones “Manual_ON” y “Limpieza_ON”. Pulsando el
botón “S1” o “Marcha_HMI” activará el proceso y una marca para la
visualización de su estado (“Marcha_ON”), además de resetear “Parado”.
La segunda línea desactivará “Marcha_ON” y hará que en la tercera línea
active “Parado” para ser visualizado en el HMI. Siempre que “Marcha_ON”
esté desactivado, se activará el estado “Parado”.

• Reseteo
Esta última parte será para desactivar los interruptores manuales y
resetearlos en el caso de que se cambia a automático o a limpieza.

115
116
Figura 156. Segmento que controla el HMI de programa de empresa.

El siguiente segmento sigue la idea de considerar el pulsador S2 una seta de


emergencia. Cuando una seta de emergencia se pulsa, se desactiva cualquier
función y se tiene que rearmar para volver a trabajar. Esta idea se introduce como
elemento de seguridad. Cuando se pulsa la seta de emergencia, se considera que
ha habido un fallo y para que el sistema vuelva a estar preparado para trabajar se
tiene que pulsar un botón de reseteo.
En este caso se activa la marca “RESET_SETA_EMERGENCIA”, que controla
todo el funcionamiento del segmento anterior, la marca “Parado” y
“Seta_Emergencia” (visualización de su estado en el HMI), desactivando las

117
marcas de visualización del HMI. Para salir del estado de emergencia, se tendrá
que volver a pulsar S2 además de pulsar “Reset_HMI”.

Figura 157. Paro y reseteo del sistema de programa de empresa.

118
Así se vería la pantalla en modo AUTO (“Figura 158”) y MANUAL (“Figura 159”):

Figura 158. Modo AUTO.

Como se ha explicado anteriormente, habrá dos campos para visualizar el tiempo:


“Tiempo Limpieza” será para introducir el tiempo que se quiere que trabaje en
limpieza y “Contador” será para visualizar el tiempo actual.

Figura 159. Modo MANUAL.


119
La única función nueva añadida en la programación del HMI ha sido “InvertirBit”.
Esta se le atribuirá al botón que selecciona el modo AUTO/MANUAL.

Figura 160. Función InvertirBit.

Así se visualizará el estado de emergencia:

Figura 161. Pulsador S2 desconectado.

Se mostrará el aviso en pantalla, además de la iluminación del botón de Reset.


Para acabar con la programación del HMI, se mostrará un ejemplo de cómo se
podría añadir otra pantalla más dentro del mismo HMI. En primer lugar, se tendrán
que ver las propiedades de la imagen para comprobar el número asignado (en
este caso no se ha utilizado plantilla y se le ha asignado una por defecto).
120
Figura 162. Propiedades de la pantalla.

A continuación, al botón que se le quiera dar la propiedad para cambiar de imagen,


se le atribuirá la función “ActivarImagen” (en este caso se utilizarán los botones
de la pantalla) y el nombre de la imagen con el número asignado en el paso
anterior:

Figura 163. Configuración botón F1.

Por último, se muestran las librerías globales donde se pueden encontrar muchos
gráficos para la creación de una pantalla. Para este ejercicio se ha buscado dentro
de la carpeta de “PilotLigths”.

121
Figura 164. Librerías globales del programa.

6. PRÁCTICA PARA EL ALUMNO


En este punto se creará el ejercicio para que el alumno trabaje y adquiera los
conceptos clave de este proyecto. Al alumno se le pedirá:
a) Realizar una tabla de variables con las entradas, salidas y marcas del
proceso.
b) Hacer un Grafcet del proceso.
c) Dibujar un esquema de conexiones del autómata.
d) Escribir las ecuaciones de activación y desactivación de etapas del Grafcet.
e) Poner la plantilla en el simulador y conectarlo al autómata.

122
f) Implementar el programa en TIA Portal y comprobar su funcionamiento con
el simulador.
g) Crear una pantalla SCADA en la que pueda visualizarse el proceso con
ayuda del simulador.
h) Incluir dentro del programa un DB donde se engloben todas las variables
del nivel del tanque, un FB para el escalado de la señal analógica y las FCs
necesarias para englobar las partes principales del programa.
i) Suponiendo que no haya ni simulador ni autómata, realizar una simulación
del proceso incluyendo en el programa los potenciómetros, pulsadores y
señal analógica del simulador.

Como ampliación, podría ser útil mostrar el programa de empresa.

123
7. CONCLUSIONES Y TRABAJOS FUTUROS
Como conclusiones principales se encuentran:
• Se ha desarrollado el ejercicio para que el alumno conozca el programa y
sepa manejarse con él para programar. Se le ha ofrecido la posibilidad de
trabajar con hardware y sin él, proporcionándole un rango de ideas, desde
las básicas hasta algunas más avanzadas, de programación y de los
sistemas SCADA.
• El afianzamiento de la creación y programación de Grafcet (la traducción a
ecuaciones de activación y desactivación de estados y al lenguaje de
programación LAD/KOP) y de las ideas aprendidas en la empresa mediante
la explicación paso por paso del desarrollo de todo el proyecto.
• La realización de una memoria de la que extraer ideas y pueda servir de
guía para que el alumno adquiera los conocimientos básicos de la
programación de un PLC y un HMI.

Como trabajos futuros se pueden incluir los siguientes:


• Se podría pedir el programa de la empresa. Además, se podría hacer una
ampliación incluyendo los pulsadores del HMI físicamente como por
ejemplo un pulsador que realice la función de Limpieza, un selector de dos
estados AUTO/MANUAL o incluso uno de tres donde incluir el modo
Limpieza. Con los selectores se podría mostrar su esquema eléctrico para
saber cómo funciona internamente y los tipos de selectores que existen.
• Montaje del proceso en Factory I/O.
• Una explicación de los cuadros eléctricos industriales y sus elementos más
importantes (fuente de alimentación, autómata, disyuntor, descargador de
sobretensiones, HMI, switch, bornes, etc.).
• Se puede suponer que pueden haber más de una línea o maquinaria
distinta. Esto puede traducirse en la inclusión de módulos de E/S (digitales
o analógicas) para incluir todas las nuevas entradas y salidas. Otra idea

124
puede ser la adición de variadores para conocer su funcionamiento y
programación.
• El enunciado de la práctica para el alumno podría ser extraíble para un uso
posterior en otras prácticas.
• En el caso de que el alumno quiera trabajar sin necesidad de adquirir la
licencia de un software, existen algunas alternativas: la descarga de una
máquina virtual con TIA Portal o el uso de programas como PSIM PLC,
i-TriLOGI, Micro LADDER.

8. ANEXOS
ANEXO A – Hoja de datos: SIMATIC S7-1200 1214C AC/DC/Rly

125
126
127
128
129
130
ANEXO B – Hoja de datos: SIMATIC HMI, KTP400 BASIC, BASIC
PANEL

131
132
133
134
135
136
137
138
139
140
ANEXO C – Hoja de datos: SCALANCE XB005

141
142
143
144
ANEXO D – Hoja de datos: SIMULADOR UNIVERSAL LUCAS NÜLLE

145
9. BIBLIOGRAFÍA
“Autómatas Programables. Teoría y Práctica.” N. García, M. Almonacid, R.J.
Saltarén, R. Puerto. Universidad Miguel Hernández, 2000.

“Sistemas Scada”, Aquilino Rodríguez Penin, 3ª edición, Marcombo.

“Autómatas Programables. Entorno y Aplicaciones.” E. Mandado, J. Marcos, C.


Fernández, J.I. Armesto, S. Pérez. Ed. Thomson Paraninfo, 2004.

“Manuales de SIMATIC S7-1200”, “SINAMICS G120” y “SIMATIC HMI KTP400


Basic.”

146

También podría gustarte