SlideShare una empresa de Scribd logo
1 de 141
CURSO DE PLC
CON TIA PORTAL
DE CERO A PROFESIONAL
Abel Domínguez
CURSO PROGRAMACIÓN PLC
CON TIA PORTAL
PRESENTACIÓN
0
Enlace Instagram 👈
Enlace TikTok 👈 Enlace LinkedIn 👈
Enlace Facebook 👈
Canal de YouTube!! 👈
Aprende más en mi WEB!! 👈
Pelecero, antes de empezar el curso, decirte que con un software de simulación de PLC
en 3D, puedes practicar tu programación, mejorando y agilizando tu aprendizaje, además
de poder ponerte retos alucinantes y de pasártelo mejor
que un niño con su juguete preferido.
Conozco dos opciones: Machines Simulator y Factory I/O
Ambos son software de simulación donde puedes crear tus propias fábricas virtuales y
comunicarlas con tu PLC, ya sea real o simulado.
En mi web tengo reviews de ambos software, por si quieres echarles una ojeada,
probablemente te sirvan! (Yo personalmente, prefiero Machines Simulator,
le da mil patadas a Factory I/O, pero te dejo ambas review para
que los analices por ti mismo)
AGILIZA TU APRENDIZAJE
Review Machines Simulator
Review Factory I/O
¿De que trata el curso?
• Saber los fundamentos de programación y lógica con bits.
• Aprender a estructurar un programa según la instalación y premisas del
cliente.
• Configuración del PLC y sus posibles módulos (Hardware)
• Aprender que es y como se programa un PLC.
• En definitiva, aprender a como automatizar una planta industrial o máquina
controlada por PLC.
• Herramientas de control para señales físicas (PID)
Enlace al vídeo AQUÍ 👈
¿A quién va dirigido este curso?
• No se requieren conocimientos previos, aunque nunca está de más empezar el
curso con nociones básicas.
• Es un curso de cero a profesional, es decir, al terminar el curso, tendrás los
conocimientos necesarios para poder realizar automatizaciones industriales
con PLC (concretamente, con TIA Portal).
• A personas que quieran aprender a programar PLC, es decir, a quienes
quieran aprender a automatizar industrias o bien máquinas controladas
mediante PLC.
Enlace al vídeo AQUÍ 👈
¿Qué software necesitaremos?
• Factory I/O – OPCIONAL, aunque recomendable.
 Windows 7 o superior.
 Se recomienda NVIDIA desde 2006 (GeForce 8), AMD desde 2006 (Radeon HD
2000), Intel desde 2012 (HD 4000 / IvyBridge).
• TIA Portal (versión 14 o superior) – IMPRESCINDIBLE.
 Windows 7 o superior.
 Se recomienda 8Gb de RAM.
¿Qué sabré hacer al terminar el curso?
• Configurar por completo un proyecto TIA Portal y manejar el software con soltura.
• Añadir y configurar por completo un PLC y sus posibles módulos (cartas E/S, IM…)
• Programar un PLC con cualquiera de sus lenguajes (Ladder o KOP, SCL y AWL)
• La utilización de la gran mayoría de herramientas y funciones que nos provee TIA
Portal.
• Administración de archivos de descripción de dispositivos (GSD)
• Complementos al curso:
 Metodología GRAFCET
 Regulación de una señal física (temperatura, caudal…) con PID
 Uso del software Factory I/O como apoyo a las simulaciones offline
TEMARIO DEL CURSO
1. Introducción
2. Primeros pasos con TIA Portal
3. Fundamentos básicos
 Sistema binario y puertas lógicas
 Ejecución del programa en el PLC y direcciones
 Simulación del PLC con PLCSIM
 Uso de tablas de observación
 Tipos de datos (bool, byte, int…)
 Array
 Struct
 Tipo de dato PLC (UDT)
 Lenguajes del PLC (LD o KOP, SCL y AWL)
4. Programación con Ladder (KOP), SCL y AWL:
 Lógica con bits
 Bloques de programación en TIA Portal
 Bloques de Organización (OB)
 Bloques de Datos (DB)
 Funciones (FC)
 Bloques de Función (FB)
 Temporizadores
 Contadores
 Comparadores
 Funciones matemáticas
 Conversión de valores
 Ejercicio cámara de refrigeración
5. Metodología GRAFCET
6. Ejercicios prácticos con Factory I/O
7. Configuración Hardware (PLC y sus posibles módulos)
8. Escalar valores (SCALE_X y NORM_X)
9. Programación avanzada:
 Control del flujo del programa (bucles, saltos)
 Movimiento de datos entre DB
 Acceso a bloques de datos (DB) y bloques de instancia (DI)
 Puntero ANY
 Acumuladores en AWL
10. Ejercicios prácticos con Factory I/O
11. Control PID
 Explicación del PID
 Como usarlo en TIA Portal (CONT_C)
 Personalización del PID con bloque propio
12. Ejercicio práctico con Factory I/O
13. Comunicaciones
 Enlaces S7 con GET/PUT
 Modbus TCP/IP (MB_Server, MB_Client)
14. Administración de archivos de descripción de
dispositivos (GSD)
Enlace al vídeo AQUÍ 👈
Posibles preguntas
• ¿Es un curso homologado? No, no lo es. Es un curso
publicado en youtube, sin acreditación alguna y sin
animo de lucro, basado en mis conocimientos y
experiencia.
• ¿Al terminar el curso, tendré los conocimientos
necesarios para poder vivir de esto? Ya lo creo que sí.
Durante estos años, he tenido que tocar muchos
programas ajenos y te puedo asegurar que lo que
enseño en este curso te va a convertir en un gran
profesional.
• ¿En este curso vamos a aprender a programar HMI o
SCADA? No, este curso es únicamente para programar
PLC. Tengo en mente, al finalizar este curso, crear un
curso completo de HMI con TIA Portal y otro de
SCADA con WinCC Explorer. Poco a poco.
• ¿Qué hago en caso de tener dudas? Si tienes dudas
sobre algún apartado o ejercicio, simplemente envíame
un comentario en el mismo vídeo donde se originó tu
duda y lo contestaré sin problemas.
Enlace Curso HMI👈
Posibles preguntas
• ¿De cuanto es la duración del curso? El curso tiene más
de 60 vídeos, con una duración aproximada por vídeo
de entre 5 – 30 minutos.
• ¿Cuál va a ser la metodología del curso? El curso es
80% práctico, mientras que si que tendrá un 20% de
teoría (sobre todo al principio).
La parte teórica se apoyará de la presentación PP,
mientras que la explicación del código, así como los
ejemplos, se harán con TIA Portal (a veces usando
Factory I/O como complemento), que así es como se
aprende.
Un poco sobre tu profesor…
• Graduado en Ingeniería Electrónica Industrial y Automática.
• Máster en Automática e Informática Industrial.
• Diploma de especialización en instalación, configuración y
programación de sistemas de automatización industrial.
• 2 años de experiencia en el sector industrial programando
PLC, HMI y SCADA de diferentes marcas, pero
principalmente con Siemens.
Agradecimientos
• A ti, que estas viendo ahora mismo este vídeo. A ti, que has
decidido usar parte de tu tiempo en formarte con este curso
que con gran esmero y esfuerzo hago. A ti, en querer adquirir
mis conocimientos obtenidos por experiencias pasadas.
GRACIAS !!!
Bueno, ¿Empezamos el curso?
Vamos a ello!
CURSO PROGRAMACIÓN PLC
CON TIA PORTAL
INTRODUCCIÓN
1
Enlace al vídeo AQUÍ 👈
1.1 - ¿Porqué es importante la automatización en la industria?
• Aumenta enormemente la producción para poder satisfacer la gran demanda por parte de los
consumidores.
• Abarata los costes de producción, generando un mayor beneficio.
• Disminuye el error en el proceso de producción, aumentando la calidad del producto y la
disminución de merma.
• Fomenta la investigación de nuevas tecnologías para aportar nuevas soluciones y/o mejorar
soluciones existentes dentro de la industria.
1.2 - ¿Qué ramas abarca la automatización en la industria?
• Ingenieros mecánicos
 Diseño de las piezas y maquinaria (AutoCAD, SolidWorks…)
 Dirección del montaje mecánico por los operarios.
• Ingenieros de proceso
 Diseñan toda la estructura de un proceso, es decir, donde va colocado qué y como (válvulas,
depósitos, tuberías…) para optimizar los recursos y el tiempo.
• Ingenieros eléctricos
 Diseño de los esquemas eléctricos (Eplan…)
 Dirección del montaje de los cuadros por parte de los montadores eléctricos.
• Ingenieros de control
 Se encargan del control automático de la planta.
 Su función es programar el/los PLC junto con HMI y SCADA (si procede) y asegurarse del
correcto funcionamiento.
 Desarrollo offline
 Puesta en marcha in situ (o en remoto)
 Atención al cliente post puesta en marcha
1.3 – Y entonces, ¿Qué es un PLC?
• El PLC (Programmable Logic Controller) es un dispositivo con una CPU incorporada (como si de
un ordenador se tratase) que permite crearle y modificarle instrucciones (código) para que las
ejecute y pueda, de este modo, controlar X elementos.
• El PLC recibe señales de entrada las cuales le proporcionan información del estado de los
elementos:
 Sensores de posición (detección de cajas, finales de carrera de válvulas…)
 Sensores de temperatura o presión
 Lectura de la corriente o rpm de un motor
 Sistemas de visión para obtener la temperatura
• El PLC actúa sobre señales de salida para activarlas o desactivarlas (en función de lo que nosotros
hayamos programado), según el estado actual de las señales de entrada:
 Motores (marcha/paro, inversión de giro)
 Válvulas (abrir/cerrar)
 Compresores (marcha/paro)
 Puertas (abrir/cerrar)
 Pistones (subir/bajar)
1.3 – Y entonces, ¿Qué es un PLC?
• Ejemplo comparativo con llenado de agua:
• Persona:
 Para llenar un vaso de agua, abrimos el grifo
(válvula) hasta que el vaso se llene.
 Para saber si el vaso está lleno, utilizamos nuestra
visión, es decir, los ojos.
 Por lo tanto, tenemos que:
 Señal de entrada, es decir, la que nos
proporciona la información del vaso:
Ojos
 Señal de salida, es decir, la que
manipulamos para añadir agua:
Grifo
 Sistema de control, es decir, qué controla el
grifo según lo que nos proporcionan los
ojos:
Cerebro
• PLC:
 Para llenar un vaso de agua, abrimos la válvula
hasta que el vaso se llene.
 Para saber si el vaso está lleno, utilizamos un
sensor de detección.
 Por lo tanto, tenemos que:
 Señal de entrada, es decir, la que nos
proporciona la información del vaso:
Sensor
 Señal de salida, es decir, la que
manipulamos para añadir agua:
Válvula
 Sistema de control, es decir, qué controla la
válvula según lo que nos proporciona el
sensor:
El PLC (su cpu interna)
Enlace al vídeo AQUÍ 👈
1.3 – Y entonces, ¿Qué es un PLC?
• A nivel visual, siguiendo con el ejemplo del llenado de agua, tendríamos lo siguiente:
• Sensor de nivel: 0 si no detecta agua, 1 si detecta agua
• Válvula: Abierta si recibe corriente (1), cerrada si no recibe corriente (0)
• Si el PLC recibe “0” en su entrada digital donde está conectado el sensor, manda “1” a
la salida digital donde está conectada la válvula para que se abra. En caso contrario, es
decir, si recibe “1” por parte del sensor, mandará un “0” a la válvula para que se
cierre.
1.4 – Diferentes marcas de PLC y software
Siemens Schneider Electric Omron
Serie 200 Serie TSX Micro, Modicon
Premium
CS1, CJ1, CJ2
Serie 300/400 TSX Quantum, Premium,
M340, M580
Serie NJ
Serie 1200/1500 Modicon M221, M241
Step7
TIA Portal
PL7 Pro
Unity Pro
SoMachine
CX-Programmer
Sysmac Studio
MicroWin
1.4 – Diferentes marcas de PLC y software
Otras marcas:
• Allen bradley
• Mitsubishi
• Hitachi
• Festo
• Beckhoff
• Unitronics
1.5 – ¿Porqué trabajaremos con TIA Portal?
• Es un Software muy demandado por las empresas de automatización y, a veces, hasta por el propio cliente.
• Ofrece una gran cantidad de recursos para el programador, y su optimización es aceptable.
• Permite una programación bastante estructurada, basándose en la famosa POO (Programación Orientada a Objetos)
que podemos encontrar en lenguajes como C++, C#, Java…
• Es bastante intuitivo, con un buen diseño de interfaz y visual.
• La conexión con otros dispositivos de Siemens (HMI, SCADA, Variadores, IM…) se realiza de manera bastante
sencilla gracias al famoso “enlace S7” o “enlace SIMATIC 7”.
• Permite realizar simulaciones de una manera bastante intuitiva y sencilla con el software de apoyo PLCSIM.
• El software de las HMI está integrado dentro del propio TIA Portal, es decir, no se requiere de un software externo.
CURSO PROGRAMACIÓN PLC
CON TIA PORTAL
PRIMEROS PASOS CON TIA PORTAL
2
2.0 – ¿Qué vamos a ver en está sección?
1. Breve explicación de qué es TIA Portal y sus versiones.
2. Instalación del programa y activación del mismo.
3. Creación de nuestro primer proyecto.
4. Explicación del entorno de TIA Portal (todo lo que nos ofrece el software).
5. Como añadir un dispositivo (PLC, HMI) al proyecto.
6. Como guardar el proyecto y abrir uno existente.
7. Archivar/Desarchivar un proyecto existente.
2.1 – ¿Qué es TIA Portal?
• TIA Portal (Totally Integrated Automation Portal) es un software de Siemens para programar PLC de la serie 1200
y 1500.
• Tiene bastantes versiones, en este orden:
 V11, V12, V13, V13 SP1, V13 SP2, V14, V14 SP1, V15, V15.1 y V16
• La diferencia más relevante sucede a partir de la v14, donde TIA Portal permite utilizar diferentes lenguajes de
programación dentro de una misma función, o incluso dentro del propio main.
• La mejor versión hasta la fecha, en cuanto a estabilidad y robustez, la V15.1
• En este curso utilizamos la V14 para poder migrar los proyectos a versiones superiores en caso de necesitarlo.
2.2 – Instalación del programa
• Web de descarga (desde la página oficial de siemens) – IMPORTANTE REGISTRARSE
https://support.industry.siemens.com/cs/document/109740158/descarga-del-simatic-step-7-(tia-portal)-v14-
trial?dti=0&lc=es-VE
• Descargar el software SIM EKB:
https://mega.nz/file/klEUGYIR#5caYPr-Ss3YO2v1mu5415ElrypuB2IR1Gm6V5rF4FWI
Enlace al vídeo de Instalación v14, v15 y v16 AQUÍ 👈
Enlace al vídeo de Instalación v14 SP1 AQUÍ 👈
Enlace al vídeo de Instalación v17 AQUÍ 👈
2.2 – Instalación del programa
2.2 – Instalación del programa
2.2 – Instalación del programa
2.2 – Instalación del programa
2.2 – Instalación del programa
2.2 – Instalación del programa
2.2 – Instalación del programa
2.2 – Instalación del programa
2.2 – Instalación del programa
2.2 – Instalación del programa
2.2 – Instalación del programa
2.2 – Instalación del programa
2.2 – Instalación del programa
2.3 – Mi primer proyecto TIA Portal
1. Crear proyecto
2. Explicación de lo que nos ofrece TIA Portal
3. Adición de nuevo dispositivo
4. Guardar/Abrir proyecto
5. Archivar/Desarchivar proyecto
Vídeo Primeros Pasos AQUÍ 👈
Vídeo Archivar/Desarchivar AQUÍ 👈
CURSO PROGRAMACIÓN PLC
CON TIA PORTAL
FUNDAMENTOS BÁSICOS
3
3.0 – ¿Qué vamos a ver en está sección?
1. Lógica binaria y puertas lógicas
2. Simulación y tablas de observación
3. Variables y tipos de datos
4. Saltos automáticos en las direcciones
5. Direcciones de memoria
6. Orden de ejecución del programa
7. Lenguajes del PLC
Vídeo de Introducción AQUÍ 👈
3.1 – Lógica binaria y puertas lógicas
El lenguaje binario se basa en 0 y 1, es decir, es un lenguaje donde todo es expresado con
ceros y unos. Representa el paso de corriente (1) o el bloqueo de la corriente o ausencia de la
misma (0).
En dicho lenguaje, toda secuencia tiene un significado, donde dichas secuencias pueden ser
diferentes, tal que:
001
111
011100110011
00001111
1100110011110011111110001
Existe la denominada “tabla binaria”, donde se puede realizar la conversión de binario a
número decimal, y la cual se lee de derecha a izquierda, estipulada de la siguiente manera:
0000 = 0 0101 = 5 1010 = 10 1111 = 15
0001 = 1 0110 = 6 1011 = 11
0010 = 2 0111 = 7 1100 = 12
0011 = 3 1000 = 8 1101 = 13
0100 = 4 1001 = 9 1110 = 14
La tabla es infinita, al igual que los números. Vídeo AQUÍ 👈
3.1 – Lógica binaria y puertas lógicas
En el lenguaje binario existen operaciones, concretamente la suma y la multiplicación, pero
es ligeramente distinto al sistema decimal, de tal manera que:
SUMA PRODUCTO
0 + 0 = 0 0 · 0 = 0
0 + 1 = 1 0 · 1 = 0
1 + 0 = 1 1 · 0 = 0
1 + 1 = 1 1 · 1 = 1
Es importante entender esto, dado que es la base del funcionamiento de un PLC.
3.1 – Lógica binaria (booleana) y puertas lógicas
• ¿Qué son las puertas lógicas? Simplemente son funciones que nos permiten saber el
estado de un circuito electrónico (se basan en la suma y la multiplicación)
• Existen diferentes tipos de puertas lógicas, donde vamos a ver concretamente:
 AND
 OR
 NOT
 NAND
 NOR
• Insisto, es muy importante entender esta parte para saber programar un PLC.
3.1 – Lógica binaria (booleana) y puertas lógicas
SÍMBOLO PUERTA LÓGICA ESQUEMA ELÉCTRICO
AND
OR
NOT
NAND
NOR
A
B
A·
B
A B
A
B
A+B A
B
A A
A
A
B
A·
B
A
B
A+B
A B
3.1 – Lógica binaria (booleana) y puertas lógicas
• Leyes de Morgan:
A+B = A · B
A · B = A + B
3.2 – Simulación y tablas de observación
• Uso de PLCSIM, integrado en TIA Portal
Vídeo AQUÍ 👈
3.3 – Variables y tipos de datos
• Una variable es un espacio de memoria donde:
 Se le asigna un nombre cualquiera para poder referenciarlo en el programa
 Se le asigna un tipo de dato
 Se le asigna una dirección del PLC acorde a su tipo de dato
3.3 – Variables y tipos de datos
• Tipos de datos más usados:
 Bool: Representa 1 bit. Su valor puede ser 0 o 1
 Ejemplo de dirección de memoria: %M6.4 (solo ocupa el bit 4 del byte 6)
 Byte: Representa 8 bits. Su valor puede ser:
 Binario: 00000000 hasta 11111111
 Decimal: 0 hasta 255
 Hexadecimal: 16#00 hasta 16#FF
 Ejemplo de dirección de memoria: %MB6 (ocupa todo el byte 6)
 Int/Word: Representan 2 bytes (16 bits). Su valor puede ser:
 Binario: 0000000000000000 hasta 1111111111111111
 Decimal: 32767
 Hexadecimal: 16#7FFF
 Ejemplo de dirección de memoria: %MW6 (ocupa el byte 6 y 7)
 Son valores enteros (sin decimales)
 Dint/Dword: Representan 4 bytes (32 bits)
 Ejemplo de dirección de memoria: %MD6 (ocupa el byte 6, 7, 8 y 9)
 Son valores enteros (sin decimales)
 Real: Representa 4 bytes (32 bits)
 Ejemplo de dirección de memoria: %MD6 (ocupa el byte 6, 7, 8 y 9)
 Son valores con decimales
Vídeo BOOL, BYTE y WORD
AQUÍ 👈
Vídeo DWORD, REAL AQUÍ 👈
3.3 – Variables y tipos de datos
• Tipos de datos más usados:
 Date: Representa 2 bytes, como un Word. Se usa para establecer la fecha
 Ejemplo de dirección de memoria: %MW6 (ocupa el byte 6 y 7)
 Formato D#AAAA-MM-DD
 Time: Representa 4 bytes, como un DWord. Se usa para dar valor a temporizadores (lo veremos más adelante)
 Ejemplo de dirección de memoria: %MD6 (ocupa el byte 6, 7, 8 y 9)
 Formato T#xS, T#xMS… (x = valor deseado, S = segundos, MS = milisegundos)
Vídeo DATE y TIME AQUÍ 👈
3.3 – Variables y tipos de datos
• Tipos especiales:
 Array: Colección de elementos de un mismo tipo de dato, separados por “casillas” o “posiciones”,
empezando por la posición 0.
Vídeo Array AQUÍ 👈
3.3 – Variables y tipos de datos
• Tipos especiales:
 Array: Colección de elementos de un mismo tipo de dato, separados por “casillas” o “posiciones”,
empezando por la posición 0.
 Ejemplos:
o Array de 6 bool:
o Array de 4 Real
o Array de 5 Int
0 0 1 0 1 0
0 1 2 3 4 5
24,2 12,0 128,4
8
59,17
0 1 2 3
Posició
n
Posició
n
0 1 2 3
Posició
n
2 12 68 159 78
4
3.3 – Variables y tipos de datos
• Tipos especiales:
3.3 – Variables y tipos de datos
• Tipos especiales:
 Struct: Colección de elementos de diferentes tipos.
 En una variable Struct puede haber cualquier cosa, desde variables bool, byte, int o real, hasta arrays o
incluso otras variables Struct.
 Ejemplo:
Int Int Array de 8
bool
Real Struct Bool
Vídeo Struct AQUÍ 👈
3.3 – Variables y tipos de datos
• Tipos especiales:
 UDT: Permite crear un tipo de dato propio, almacenando en él cualquier tipo de dato. Es exactamente igual
que un Struct, pero la diferencia reside en que es un tipo de dato definido y usable en todo el programa.
Vídeo UDT AQUÍ 👈
VÍDEOS DE INTERÉS
Consejos Peleceros👈
Experiencias de un Programador👈
(tómate un descansito!!)
Shorts de PLC!👈
3.4 – Salto automático en las direcciones
Vídeo AQUÍ👈
3.5 – Direcciones de memoria
• Las direcciones de memoria son porciones de la memoria de la CPU donde se almacenan datos, para de esta manera
poder clasificarla según tamaño.
• En TIA Portal, existen diferentes tipos de direcciones ya determinadas, de las cuales vamos a ver, por ahora, 3 tipos:
 Direcciones %I (entradas digitales)
 Direcciones %Q (salidas digitales)
 Direcciones %M (marcas)
Vídeo AQUÍ👈
3.5 – Direcciones de memoria
• Direcciones de entradas digitales (%I)
 %I0.0, %I0.1, %I0.2, %I0.3, %I0.4, %I0.5, %I0.6, %I0.7, %I1.0, %I1.1, %I1.2, %I1.3, %I1.4, %I1.5, %I1.6, %I1.7, %I2.0….
 En cada dirección (bit) va cableado un elemento físico que proporciona información al PLC proporcionándole dos valores
posibles, 0 o 1 lógico.
 Sensores de detección, detección de avería (térmicos o disyuntores), detección de encendido/apagado…
• Direcciones de salidas digitales (%Q)
 %Q0.0, %Q0.1, %Q0.2, %Q0.3, %Q0.4, %Q0.5, %Q0.6, %Q0.7, %Q1.0, %Q1.1, %Q1.2, %Q1.3, %Q1.4, %Q1.5, %Q1.6,
%Q1.7, %Q2.0….
 En cada dirección (bit) va cableado un elemento físico al cual el PLC le proporciona dos valores posibles, 0 o 1 lógico.
 Si el PLC le proporciona un 0 lógico, corta el paso de corriente por esa salida, impidiendo que se accione el elemento.
 Si el PLC le proporciona un 1 lógico, permite el paso de corriente por esa salida, accionando el elemento.
 Motores, válvulas, pistones…
• Direcciones auxiliares (%M)
 %M0.0, %M0.1, %M0.2, %M0.3, %M0.4, %M0.5, %M0.6, %M0.7, %M1.0, %M1.1, %M1.2, %M1.3, %M1.4, %M1.5,
%M1.6, %M1.7, %M2.0….
 Se utilizan para almacenar datos temporales (y para ser usados) en nuestro código durante su ejecución.
3.5 – Direcciones de memoria
3.6 – Orden de ejecución del programa
El programa de un PLC se ejecuta de arriba hacia abajo, empezando por arriba y terminando
por abajo.
En el PLC, se producen varias etapas durante la ejecución del programa:
1. Se leen todas las entradas (tanto digitales como analógicas)
2. La información de las entradas, se trasladan a la memoria del PLC, concretamente a unas direcciones
“espejo” o “imagen”, llamadas con la nomenclatura %I para las digitales, y %PEW para las analógicas.
3. Se ejecuta todo el código existente en el OB principal, llamado Main, desde arriba hasta abajo
(existen otros OB con ejecuciones independientes, pero lo veremos a lo largo del curso)
4. Al finalizar la ejecución del Main, el PLC escribe en las salidas físicas reales el valor de las direcciones
imagen de las salidas, llamadas con la nomenclatura %Q para las digitales, y %PAW para las analógicas.
La duración de todo este proceso, se le denomina “ciclo de scan”, es decir, todo el tiempo que tarda el
PLC en ejecutar el programa, desde la lectura de las entradas y ejecución del código, hasta la escritura en
las salidas físicas.
Vídeo AQUÍ👈
Lectura entrada
física real
3.6 – Orden de ejecución del programa
%I (digital)
%PEW(analógica)
(Direcciones del PLC)
Ejecución del OB MAIN
(Dentro del código podemos escribir en las direcciones imagen de las salidas del PLC )
%Q = salidas digitales %PAW = salidas analógicas
%Q (digital)
%PAW(analógica)
(Direcciones del PLC)
Escritura salida
física real
3.7 – Lenguajes del PLC
• Diagrama de contactos (Ladder, LD o KOP)
 Está basado en los esquemas eléctricos.
 Muy visual y fácil de entender.
 Algo tedioso a la hora de trabajar con bucles y saltos.
 Coste computacional medio
 Limitado a la hora de mover datos
 Suele ser el más amado por los programadores dado su gran facilidad de uso
• FUP:
 Basado en las puertas lógicas
 No es muy visual y tampoco fácil de entender si el código es complejo
 Tedioso a la hora de trabajar con bucles y saltos
 Coste computacional medio/alto
 Limitado a la hora de mover datos
 Apenas es usado por los programadores
Vídeo AQUÍ👈 Parodia 👈
3.7 – Lenguajes del PLC
• AWL
 Es el lenguaje que entiende el PLC
 No es muy visual y tampoco fácil de entender
 Es el mejor lenguaje a la hora de trabajar con bucles y saltos.
 Coste computacional bajo (es el más óptimo)
 No tiene limitaciones a la hora de mover datos y trabajar con ellos
 Suele ser el más odiado por los programadores dada su dificultad, pero un programador de PLC jamás
será experto si no domina este lenguaje.
 Hay un dicho tal que dice así “Lo que no se pueda programar en AWL, es que no se puede programar
en el PLC”
• SCL:
 Lenguaje de alto nivel basado en Pascal y C
 Nivel visual medio (según la dificultad del código) con sentencias bastante simples de entender
 Sencillo a la hora de trabajar con bucles y saltos
 Coste computacional alto
 Factible a la hora de mover datos, pero tiene sus limitaciones.
 Es bastante usado por los programadores y bastante querido por aquellos a los que no les gusta el AWL.
3.7 – Lenguajes del PLC
• GRAFCET
 Visual y medianamente fácil de entender
 Pésimo lenguaje para realizar bucles y saltos
 Coste computacional alto
 No esta hecho ni pensado para mover datos
 Se suele utilizar para realizar secuencias
3.7 – Lenguajes del PLC
• ¿Con qué lenguajes trabajaremos en este curso?
Trabajaremos con KOP, SCL y AWL. Según vayamos aprendiendo herramientas de programación, iremos
usándolas en los diferentes lenguajes para ver las diferencias y dificultades.
CURSO PROGRAMACIÓN PLC
CON TIA PORTAL
PROGRAMACIÓN EN KOP, SCL Y AWL
4
Vídeo de Introducción 👈
4.0 – ¿Qué vamos a ver en está sección?
1. Lógica con bits
 Diferencia entre contacto y bobina
 Contacto negado y bobina negada
 Sentencia NOT
 Uso de AND y OR
 Ejercicios
 Set y Reset
 Flanco ascendente y descendente
 Ejercicios
 RLO
 Falta grave: repetición de bobinas
El lenguaje principal será en diagrama de contactos (KOP). Utilizaremos SCL y AWL para
ver como se implementa lo aprendido en KOP en dichos lenguajes.
2. Tipos de bloques
 Bloques de Organización (OB)
 Bloques de Datos (DB)
 Funciones (FC)
 Bloques de Función (FB)
4.0 – ¿Qué vamos a ver en está sección?
3. Temporizadores
 ¿Qué son los temporizadores y para que se usan?
 TP
 TON
 TOFF
 TONR
4. Contadores
 ¿Qué son los contadores y para que se usan?
 CTU
 CTD
 CTUD
5. Comparadores
 ¿Qué són los comparadores y para que sirven?
 =, >, <, >=, <= , <>
 Otros…
4.0 – ¿Qué vamos a ver en está sección?
6. Funciones matemáticas
 ¿Qué son y para que sirven?
 Funciones simples: sumar, restar, multiplicar y dividir
 Definición de ecuación en KOP: Función Calculate
 Obtención del resto de una división: Función Mod
 Obtener resultado negado: Función Neg
 Incrementos y decrementos
 Obtener valor absoluto: Función Abs
7. Conversión de valores
 ¿Qué es la conversión de valores?
 Convert
 Round
 Ceil
 Floor
 Trunc
4.1 – Lógica con Bits
• ¿Qué és un contacto en KOP?
 Un contacto en KOP representa un interruptor de un circuito eléctrico.
 A un contacto se le puede asignar una variable del tipo bool.
 Si la variable asignada a dicho contacto tiene el valor 0, NO dejará pasar corriente por el contacto
 Si la variable asignada a dicho contacto tiene el valor 1, SI dejará pasar corriente por el contacto
• ¿Qué és una bobina en KOP?
 Una bobina en KOP representa una bombilla de un circuito eléctrico.
 A una bobina se le puede asignar una variable del tipo bool.
 Si la variable asignada a dicha bobina se le proporciona el valor 0, la bobina estará apagada
 Si la variable asignada a dicha bobina se le proporciona el valor 1, la bobina estará encendida
• ¿Qué és un contacto negado en KOP?
 Un contacto negado en KOP representa un interruptor de un circuito eléctrico, pero con el valor invertido.
 A un contacto negado se le puede asignar una variable del tipo bool.
 Si la variable asignada a dicho contacto negado tiene el valor 0, SI dejará pasar corriente por el contacto
 Si la variable asignada a dicho contacto negado tiene el valor 1, NO dejará pasar corriente por el contacto
• ¿Qué és una bobina negada en KOP?
 Una bobina negada en KOP representa una bombilla de un circuito eléctrico, pero con su valor invertido.
 A una bobina negada se le puede asignar una variable del tipo bool.
 Si la variable asignada a dicha bobina negada se le proporciona el valor 0, la bobina estará encendida
 Si la variable asignada a dicha bobina negada se le proporciona el valor 1, la bobina estará apagada
4.1 – Lógica con Bits
CONTACTO BOBINA
Vídeo 👈
4.1 – Lógica con Bits
• Sentencia NOT
 Invierte el valor resultante existente previo a su llamada.
Vídeo 👈
4.1 – Lógica con Bits
• AND
KOP AWL SCL
AND
(X·Y = Z)
U X
U Y
= Z
IF(X AND Y)
THEN
Z = TRUE;
ELSE
Z = FALSE;
END_IF;
X Y Z
Vídeo 👈
4.1 – Lógica con Bits
• OR
KOP AWL SCL
OR
(X+Y = Z)
U X
O Y
= Z
IF(X OR Y) THEN
Z = TRUE;
ELSE
Z = FALSE;
END_IF;
X
Y
Z
Vídeo 👈
4.1 – Lógica con Bits
• AND y OR
 Ejercicio 1: Implementa las siguientes sentencias en KOP y AWL
1. X = A·B·C·(D+E)
2. X = (A+B+C)·D·E
3. X = (A+B+C)·D·E
4. X = ( (A·B)+(C·D) ) · E
Ejercicio – Parte 1 👈 Ejercicio – Parte 2 👈
4.1 – Lógica con Bits
• SET y RESET
 Set: Proporciona el valor booleano “1” a una variable de manera indefinida. No cambiará su
valor hasta que se modifique en sentencias posteriores a su Set.
 Reset: Proporciona el valor booleano “0” a una variable de manera indefinida. No cambiará su
valor hasta que se modifique en sentencias posteriores a su Reset.
• Alternativa al SET y RESET: Realimentación del estado
 Permite mantener una variable activa realimentándola a si misma con una sentencia OR,
condicionando a la misma con la condición que la desactive.
Vídeo👈 Ejercicio👈
4.1 – Lógica con Bits
• Flanco ascendente/Descendente
 El flanco es una herramienta que nos permite cambiar el valor de una variable justo en el
instante donde se produce el cambio de la variable la cual está asignada al flanco.
 Flanco ascendente: Cuando la variable asignada a dicho flanco cambia su estado de 0 a 1,
permite la ejecución de las siguientes sentencias.
 Flanco descendente: Cuando la variable asignada a dicho flanco cambia su estado de 1 a 0,
permite la ejecución de las siguientes sentencias.
 El flanco requiere de una variable auxiliar para almacenar el valor de la variable asignada al
flanco del ciclo de scan anterior.
Vídeo👈
4.1 – Lógica con Bits
• RLO
• El RLO es el estado (0 o 1) resultante de las operaciones que hay desde la primera condición hasta la condición
deseada.
• Aunque existe, solo es mostrado de manera directa en AWL (en KOP de manera indirecta iluminando el contacto)
Vídeo👈
4.1 – Lógica con Bits
• Falta grave: Repetición de bobinas
• Si se declara la misma variable en 2 o más bobinas, el programa fallará en algún momento. A esto se le denomina
“repetición de bobinas”.
• Solución y buena práctica: Declarar la bobina una única vez y añadir en el segmento todas las condiciones que
activan/desactivan dicha bobina.
Vídeo👈
4.2 – Tipos de bloques
• Tenemos 4 tipos de bloques en TIA Portal:
 Bloques de Organización (OB)
 Bloques de datos (DB)
 Funciones (FC)
 Bloques de función (FB)
• OB (Bloque de organización)
 Es un bloque lógico donde se puede programar código dentro de él.
 Según el tipo de OB se puede procesar a cada ciclo de scan, la primera vez que se pone el PLC en modo run,
al haber un fallo en el PLC…
 El OB principal del PLC (donde va todo nuestro código, principalmente) es el Main
 Como un OB no es una función, ningún OB puede ser llamado dentro de otro OB. Cada OB es
independiente de los demás OB.
 Es IMPORTANTE llamar a los OB de errores (por lo general, no se programa nada en ellos) para que, en
caso de saltar algún error en pleno funcionamiento (hablamos de errores no críticos), la CPU no pase a stop y
se paralice toda la fábrica.
Vídeo👈
4.2 – Tipos de bloques
• DB (Bloque de Datos)
 Sirve para almacenar datos, es decir, variables
 Puede almacenar cualquier tipo de dato, incluido arrays, structs, date…
 Existen DB Globales (no pertenecen a ningún FB) y los DB de Instancia (pertenecen a su respectiva instancia
de su respectivo FB)
 Se le debe asignar un número de referencia
 Ocupa un espacio de memoria equivalente al volumen total de datos que almacena
 Optimización de bloque
 Datos remanentes
 Valores de arranque, instancia actual de valores…
Vídeo👈
4.2 – Tipos de bloques
• FC (Función)
• Sirve para encapsular porciones de código reutilizables
• Se puede llamar en cualquier punto del programa, donde ejecutará el código que lleve dentro
• Al finalizar la ejecución de su código, las variables propias de la FC no almacenan su último valor, es decir,
lo pierden
• No almacena datos ni tiene un DB propio
TIPO DE VARIABLE DESCRIPCIÓN
Input Lee las variables de entrada a la FC
Output Escribe en variables de salida de la FC
InOut Variables externas que pueden leerse y
escribirse
Temp
Variables internas de la FC usadas para
programar el código (estas variables NO
guardan su valor al terminar la ejecución de
la FC)
Constant Variables con valor constante
Vídeo👈
4.2 – Tipos de bloques
• FB (Bloque de Función)
• Sirve para encapsular porciones de código reutilizables
• Se puede llamar en cualquier punto del programa, donde ejecutará el código que lleve dentro
• Al finalizar la ejecución de su código, las variables propias de la FB pueden almacenar (o no) su último valor.
• Generan un DB propio, donde almacenan todos los datos (excepto los temporales)
TIPO DE VARIABLE DESCRIPCIÓN
Input Lee las variables de entrada a la FB
Output Escribe en variables de salida de la FB
InOut Variables externas que pueden leerse y
escribirse
Static
Variables internas de la FB usadas para
programar el código (estas variables SI
guardan su valor al terminar la ejecución de
la FB)
Temp
Variables internas de la FB usadas para
programar el código (estas variables NO
guardan su valor al terminar la ejecución de
la FB)
Vídeo👈
4.3 – Funciones matemáticas
• Se utilizan para realizar operaciones.
OPERACIÓN DESCRIPCIÓN
ADD
Suma entre dos variables numéricas (pueden
ser de diferente tipo siempre y cuando sean
convertibles entre ellas)
SUB
Resta entre dos variables numéricas (pueden
ser de diferente tipo siempre y cuando sean
convertibles entre ellas)
MUL
Producto entre dos variables numéricas
(pueden ser de diferente tipo siempre y
cuando sean convertibles entre ellas)
DIV
Dvisión entre dos variables numéricas
(pueden ser de diferente tipo siempre y
cuando sean convertibles entre ellas)
MOD Obtiene el resto de una división
INC/DEC Incrementa o decrementa en una unidad
ABS Obtiene el valor absoluto de un número
Vídeo👈
4.4 – Comparadores
• Su función es la de comparar si una variable es igual o diferente a otra.
• Si las variables son iguales, devuelve 1 lógico.
• Si las variables son diferentes, devuelve 0 lógico.
• Las variables deben ser del mismo tipo.
• En KOP y AWL se leen de arriba hacia abajo, en SCL de izquierda a derecha.
COMPARADORES DESCRIPCIÓN
> Mayor que
< Menor que
>= Mayor o igual que
<= Menor o igual que
== Igual
<> Diferente
Vídeo👈
4.5 – Temporizadores
• El temporizador es una herramienta que se utiliza para ejecutar o mantener ejecutada una
acción durante un periodo de tiempo definido, antes o después de que ocurra una acción.
• Necesita de una o varias condiciones que lo activen y lo desactiven
TEMPORIZADOR DESCRIPCIÓN
TP
Tras ser activado, mantiene su salida activa
durante el tiempo estipulado.
No necesita que lo mantengan activo una
vez ha sido activado.
TON
Tras ser activado, empieza a contar. Tras
finalizar el conteo, activa su salida.
Necesita que lo mantengan activo durante el
conteo.
TOFF
Tras ser activado, activa su salida sin
empezar el conteo. Cuando se deja de
activarlo, empieza el conteo y, tras finalizar,
desactiva su salida
TONR
Ligeramente diferente al TON, pero con la
opción de poder pararlo y congelar el
Vídeo👈
4.6 – Contadores
• El contador se utiliza para incrementar o decrementar en una unidad a una variable hasta
un máximo/mínimo establecido.
• El contador contabiliza cuando las acciones a su entrada proporcionan un 1 lógico.
CONTADOR DESCRIPCIÓN
CTU
Al activarlo, incrementa en una unidad a la
variable asignada. Cuando llega a su
máximo, deja de contabilizar. Se puede
resetear.
CTD
Al activarlo, decrementa en una unidad a la
variable asignada. Cuando llega a su
mínimo, deja de contabilizar. Se puede
recargar.
CTUD
Posee una activación para incrementar y otra
para decrementar. Contiene reset y recarga.
Vídeo👈
4.7 – Conversión de valores
• Se utilizan para redondear valores o bien para transformarlos en otros tipos de datos.
• Tratamos con números (int, real, dint…)
FUNCIÓN DESCRIPCIÓN
ROUND Redondea el valor, eliminando decimales.
Devuelve el valor entero al que más se
acercaba el valor decimal
CEIL Devuelve el valor entero superior,
eliminando los decimales.
FLOOR Devuelve el valor entero inferior, eliminando
los decimales.
TRUNC Devuelve el mismo entero, eliminando la
parte decimal
Vídeo👈
4.8 – Ejercicio Práctico
• Control de temperatura de una cámara de refrigeración
 La cámara tiene 4 evaporadores, cada uno controlado con un motor con arrancador
 Cada evaporador tiene un disyuntor de protección en el cuadro eléctrico
 Cada evaporador dispone de su selector auto/manual
 Hay un térmico de protección general para todos los evaporadores
 Cada evaporador tiene cerca una sonda de temperatura, donde marca los grados.
Evaporador
Nº1
Evaporador
Nº2
Evaporador
Nº3
Evaporador
Nº4
Proyecto 👈
• Control de temperatura de una cámara de refrigeración. Tareas a realizar:
 Crear una FB evaporador, donde:
o Se tenga en cuenta las señales de entrada (térmico y disyuntor). No tendremos confirmación de marcha. Se
tendrá una señal de auto/manual.
o Se tenga en cuenta las señales de salida (marcha).
o Se deberá contabilizar los segundos, minutos y horas de funcionamiento.
 Crear una FC Control de la temperatura de la cámara, donde:
o La temperatura oscilará entre 0 y 5ºC
o Según la temperatura, dará permiso a los evaporadores
o Trabajar siempre con la media de las sondas disponibles
o Modo simulación Tº:
 La Tº global subirá 0,1ºC cada 1s si el evaporador está parado
 La Tº global bajará 0,1ºC cada 1s si el evaporador está en marcha
o Crear una UDT Termostato para almacenar todas las variables
4.8 – Ejercicio Práctico
Proyecto 👈
• Control de temperatura de una cámara de refrigeración. Tareas a realizar:
 Crear una FC Cámara Refrigeración para almacenar:
 Los evaporadores de la cámara
 La FC Control Temperatura
 Crear una DB Global para FC Cámara Refrigeración para almacenar:
 UDT Termostato
 Variables auxiliares (si cabe)
4.8 – Ejercicio Práctico
Proyecto 👈
• Control de temperatura de una cámara de refrigeración. BONUS EXTRA:
 Modificar el código existente dado que el cliente va a añadir 2 cámaras nuevas, donde:
 La primera cámara de refrigeración nueva (será la segunda) dispone de:
o 3 evaporadores, con 1 motor con arrancador cada uno.
o Cada evaporador dispone de su disyuntor en el cuadro
o Cada evaporador dispone de su selector auto/manual
o Los evaporadores tienen en común un diferencial de protección
o La cámara dispone de 2 sondas
o La temperatura debe oscilar entre 0 y 2ºC
 La segunda cámara de refrigeración (será la tercera) dispone de:
 2 evaporadores, con 1 motor con arrancador cada uno.
o Cada evaporador dispone de su disyuntor en el cuadro
o Cada evaporador dispone de su selector auto/manual
o Los evaporadores tienen en común un diferencial de protección
o La cámara dispone de 1 sonda de temperatura
o La cámara dispone de un detector de NH3 en caso de fuga. Debe parar los evaporadores.
o La temperatura debe oscilar entre -20 y 0ºC
 Además, el cliente quiere poder cambiar los valores de consigna de las temperaturas de cada cámara:
 Se deberá añadir, para cada cámara, una consigna de marcha y una histéresis de paro.
4.8 – Ejercicio Práctico
Proyecto 👈
Consigna de paro: Valor en el cual el elemento en cuestión debe parar para no sobrepasar el valor.
4.8 – Ejercicio Práctico
Histéresis de marcha: Su valor es sumado (o restado) al de la consigna de paro para determinar cuando
debe ponerse en marcha el elemento en cuestión para volver al valor deseado.
10º
C
ºC
15º
C
0ºC
Histéresis de marcha =
3ºC
13º
C
Consigna de paro + Histéresis de
marcha
Consigna de
paro
Proyecto 👈
VÍDEOS DE INTERÉS
Consejos Peleceros👈
Experiencias de un Programador👈
(tómate un descansito!!)
Shorts de PLC!👈
CURSO PROGRAMACIÓN PLC
CON TIA PORTAL
METODOLOGÍA GRAFCET
5
5.0 – ¿Qué vamos a ver en está sección?
1. Que es la metodología GRAFCET
 Etapa
 Transición
 Acción
2. Bifurcaciones
 OR
 AND
3. Ejercicio teórico
4. Ejercicio práctico
Vídeo 👈
5.1 – ¿Qué es GRAFCET?
• Es un diagrama funcional que describe los procesos a ser automatizados.
• Tiene en cuenta los procesos intermedios y las condiciones que deben cumplirse para
ejecutar las acciones correspondientes.
• Un GRAFCET está compuesto de:
 Etapa: Define el estado en el que se encuentra el PLC. Se definen con un cuadrado, siendo la
etapa inicial un doble cuadrado.
 Acción asociada: Define la acción que va a realizar el PLC en la etapa donde se encuentre.
 Transición: Condiciones necesarias para pasar a la siguiente etapa.
5.1 – ¿Qué es GRAFCET?
• Un GRAFCET está compuesto de:
 Etapa: Define el estado en el que se encuentra el PLC.
 Acción asociada: Define la acción que va a realizar el PLC en la etapa donde se encuentre.
 Transición: Condiciones necesarias para pasar a la siguiente etapa.
0
1
Transici
ón
Transici
ón
ACCIÓN
ACCIÓN
5.2 – Bifurcaciones
• Bifurcación en OR
0
4
Transici
ón
Transici
ón
1
Transici
ón
2
Transici
ón
3
Transici
ón
Transici
ón
Transici
ón
A
A A A
A
5.2 – Bifurcaciones
• Bifurcación en AND
0
4
Transici
ón
1
Transici
ón
2 3
Transici
ón
A
A A A
A
5.2 – Bifurcaciones
• Bifurcación en AND
0
4
Transició
n
1
Transici
ón
2 3
Transició
n
A
A A A
A
Transició
n
1.1 2.1 3.1
A A A
1.2 2.2 3.2
A A A
Transició
n
Transició
n
Transició
n
Transició
n
Transició
n
5.3 – Ejercicio
S1 S2 S3
C
1
C
2
C
3
C
4
C
5
LL TP
Marcha Paro
A
1
A
2
El agarrador A1 tiene un sensor interno,
llamado SA1
El agarrador A2 tiene un sensor interno,
llamado SA2
El entaponador TP tiene un sensor interno
de fin de rosca, llamado STP
LR
5.3 – Ejercicio
S1 S2 S3
C
1
C
2
C
3
C
4
C
5
LL TP
Marcha Paro
A
1
A
2
El agarrador A1 tiene un sensor interno,
llamado SA1
El agarrador A2 tiene un sensor interno,
llamado SA2
El entaponador TP tiene un sensor interno
de fin de rosca, llamado STP
LR
5.3 – Ejercicio
S1 S2 S3
C
1
C
2
C
3
C
4
C
5
LL TP
Marcha Paro
A
1
A
2
El agarrador A1 tiene un sensor interno,
llamado SA1
El agarrador A2 tiene un sensor interno,
llamado SA2
El entaponador TP tiene un sensor interno
de fin de rosca, llamado STP
LR
5.3 – Ejercicio
S1 S2 S3
C
1
C
2
C
3
C
4
C
5
LL TP
Marcha Paro
A
1
A
2
El agarrador A1 tiene un sensor interno,
llamado SA1
El agarrador A2 tiene un sensor interno,
llamado SA2
El entaponador TP tiene un sensor interno
de fin de rosca, llamado STP
LR
5.3 – Ejercicio
S1 S2 S3
C
1
C
2
C
3
C
4
C
5
LL TP
Marcha Paro
A
1
A
2
El agarrador A1 tiene un sensor interno,
llamado SA1
El agarrador A2 tiene un sensor interno,
llamado SA2
El entaponador TP tiene un sensor interno
de fin de rosca, llamado STP
LR
5.3 – Ejercicio
S1 S2 S3
C
1
C
2
C
3
C
4
C
5
LL TP
Marcha Paro
A
1
A
2
El agarrador A1 tiene un sensor interno,
llamado SA1
El agarrador A2 tiene un sensor interno,
llamado SA2
El entaponador TP tiene un sensor interno
de fin de rosca, llamado STP
LR
5.3 – Ejercicio
Marcha Paro
S1 S2 S3
C
1
C
2
C
3
C
4
C
5
LL TP
A
1
A
2
El agarrador A1 tiene un sensor interno,
llamado SA1
El agarrador A2 tiene un sensor interno,
llamado SA2
El entaponador TP tiene un sensor interno
de fin de rosca, llamado STP
LR
5.3 – Ejercicio
C
1
E0
S1
E1
LL
T1-10S
E2
S2
E3
C
3
C
2
SA1·SA2
E4
A
2
A
1
STP
E5
A
2
A
1
TP
E6
T2-4S
C
5
C
4
E7
S3
E0
Marcha
Par
o STOP
2
Marcha
E2
Paro
STOP1
Marcha
E1 LR
LR
5.3 – Ejercicio
Marcha Paro
S1 S2 S3
C
1
C
2
C
3
C
4
C
5
LL TP
A
1
A
2
El agarrador A1 tiene un sensor interno,
llamado SA1
El agarrador A2 tiene un sensor interno,
llamado SA2
El entaponador TP tiene un sensor interno
de fin de rosca, llamado STP
TRAMO
1
TRAMO
2
TRAMO 3
TRAMO
4
TRAMO 5
LR
Vídeo 👈 Ejercicio TIA Portal 👈 Simulación PLCSIM👈 Simulación FactoryIO👈
5.3 – Ejercicio
C
1
T1.0
S1
T1.1
Marcha
T1.2
S1
T1.
1
T1_Sto
p
Paro
Paro
March
a
T1.
0
LR
LL
T2.0
T2.1
T2.2
S1
T2.
0
T2_Sto
p
Paro
Paro
March
a
T2.
0
S1
T1-10S
LR
C
3
T3.0
T3.1
T3.2
S2
T3.
0
T3_Sto
p
Paro
Paro
March
a
T3.
0
S2·(T2.2+
S1)·nB>0
S2
LR
C
2
S1
T3.3
T3.
2
C
3
S2
T3-
10S·S2
T3.
0
5.3 – Ejercicio
T4.
0
T4.0
T4.1
T4.2
T4.
0
T4_Sto
p
Paro
Paro
March
a
LR
S2
A
2
A
1
SA1·SA2
A
2
A
1
TP
STP
T4.3
S
3
T4.4
T5.1·NOT(S
2)
Paro
Paro
T5.
0
T5.0
T5.1
T5.
0
T5_Sto
p
Paro
Paro
March
a
LR
S3·T4.4
C
5
C
4
S
3
S
2
T5.2
C
5
S3 + S3·T5-
10S
T5.
0
VÍDEOS DE INTERÉS
Consejos Peleceros👈
Experiencias de un Programador👈
(tómate un descansito!!)
Shorts de PLC!👈
CURSO PROGRAMACIÓN PLC
CON TIA PORTAL
HARDWARE
7
Vídeo Introductorio👈
7.0 – ¿Qué vamos a ver en está sección?
1. Como asignar dirección IP
 Interfaz Profinet
 Identificar el dispositivo deseado
2. Tiempo de ciclo
 Arranque
 WatchDog
 Carga de comunicación
 Visualizar ciclo de Scan en tiempo
“real”
3. Marcas del sistema
4. Marcas de ciclo
5. Configuración Fecha/hora
6. Recursos de conexión
7. Diagnóstico del Sistema
9. Memoria del PLC
 Carga
 Trabajo
 Remanente
10. Cartas de E/S Digitales
11. Cartas de E/S Analógicas
12. Sondas de 2, 3 y 4 hilos
13. Módulos de comunicación
 CP
 CM
 IM (Periferia descentralizada)
14. GSD
Vídeo 👈
Vídeo 👈
Vídeo 👈
Vídeo 👈
Vídeo 👈
Vídeo 👈
Vídeo 👈
Vídeo 👈
Vídeo 👈
Vídeo 👈
Vídeo 👈
Vídeo 👈
Vídeo 👈
CURSO PROGRAMACIÓN PLC
CON TIA PORTAL
PROGRAMACIÓN
AVANZADA
8
Vídeo Introductorio 👈
8.0 – ¿Qué vamos a ver en está sección?
1. Saltos en AWL
2. Bucles en AWL
3. Movimiento de Datos (Áreas de
memoria)
1. Peek/Poke
2. Move_BLK
3. BLKMOV
4. Acceso a DB y DI en AWL
5. Acumuladores en AWL
6. Registros (AR1, AR2)
7. Puntero ANY
8. Lectura/Escritura Fecha y Hora PLC
Vídeo 👈
Vídeo 👈
Vídeo 👈
Vídeo 👈
Vídeo 👈
Vídeo 👈
Vídeo 👈
Vídeo 👈
Vídeo 👈
Vídeo 👈
CURSO PROGRAMACIÓN PLC
CON TIA PORTAL
COMUNICACIONES
INDUSTRIALES
9
Vídeo Introductorio 👈
9.0 – ¿Qué vamos a ver en está sección?
1. Profibus
2. Profinet
3. GET/PUT
4. Modbus TCP/IP
Vídeo 👈
Vídeo 👈
Vídeo 👈
Vídeo MB_Client 👈 Vídeo MB_Server 👈
9.1 – Profibus
- Process Field Bus
- Profibus DP/PA
9.1 – Profibus
9.1 – Profibus
9.1 – Profibus
CPU ET200 ET200
ON OFF ON
CPU
ET200 ET200
ON ON
OFF
9.1 – Profibus
ON
OFF
ON
ON
OFF
OFF
9.2 – Profinet
- Process Field Network
CURSO PROGRAMACIÓN PLC
CON TIA PORTAL
CONTROLADOR
PID
10
Vídeo Introductorio 👈
10.0 – ¿Qué vamos a ver en está sección?
1. Controlador PID: ¿Qué es? ¿Cómo
funciona?
2. Función CONT_C
3. PID Compact
4. Ejercicio Llenado Tanque
5. Auto Tune
6. PID Temp
Vídeo 👈
Vídeo 👈
Vídeo 👈
Vídeo 👈
Vídeo 👈
Vídeo 👈
10.1 – Controlador PID
Variador
Cámara
Frigorífica
Temperatura
SP PV
10.1 – Controlador PID
ECUACIÓN PID
Acción
Proporcional
Acción
Integral
Acción
Derivada
Actúa en función
del error en el instante
actual
Actúa en función
del error pasado
Actúa en función
del error futuro
(predicción según
tendencia)
10.1 – Controlador PID
10ºC
8ºC
12ºC
Acción Proporcional
(P)
e e e
e e e
e
ºC
t
10.1 – Controlador PID
10ºC
Acción Proporcional-Integral (PI)
8ºC
12ºC
Régimen Transitorio Régimen Permanente
ºC
t
10.1 – Controlador PID
10ºC
Acción Proporcional-Integral (PI)
8ºC
12ºC
Régimen
Transitorio
Régimen
Permanente
8ºC
Régimen
Transitorio
Régimen
Permanente
ºC
t
10.1 – Controlador PID
10ºC
Acción Proporcional-Derivada
(PD)
8ºC
12ºC
Régimen
Transitorio
Régimen Permanente
ºC
t
10.1 – Controlador PID
10ºC
Acción Proporcional-Derivada
(PD)
8ºC
12ºC
Régimen
Transitorio
Régimen
Permanente
8ºC
Régimen
Transitorio
Régimen
Permanente
ºC
t
10.1 – Controlador PID
Acción Proporcional-Derivada (PD)
10ºC
8ºC
12ºC
8º
C
ºC
t
SP
PV
Ruido
inestable
+
SP
PV +
Ruido
estable
10ºC
8ºC
12ºC
8º
C
ºC
t
10.1 – Controlador PID
10ºC
¿Lo normal? Utilizar un PI o un PID,
normalmente suele bastar con un PI
8ºC
12ºC
8º
C
ºC
t
10.4 – Ejercicio PID
SP = 50%
PV = 60%
-> SP – PV = error; error = 50% - 60% = -10%
Acción de Control = Kp · error
+ -
-
; AC = 1 · -10% = -10%
El actuador que disminuye el Nv del tanque es la Válvula de
Vaciado
SP = 50%
PV = 40% -> SP – PV = error; error = 50% - 40% = 10%
Acción de Control = Kp · error
+ +
+
; AC = 1 · 10% = 10%
El actuador que aumenta el Nv del tanque es la Válvula de
Llenado
10.4 – Ejercicio PID
1. Un error positivo (PV por debajo del SP) implica una acción
de control entre el 0 y el 100%
2. Un error positivo implica que se necesita llenar el tanque
3. El PID que controla la Válvula de Llenado tendrá una
Acción de control de 0 a +100%
----------------------------------------------------------------------------------
1. Un error negativo (PV por encima del SP) implica una acción
de control entre el 0 y el -100%
2. Un error negativo implica que se necesita disminuir el tanque
3. El PID que controla la Válvula de Vaciado tendrá una Acción
de control de 0 a -100%
VÍDEOS DE INTERÉS
Consejos Peleceros👈
Experiencias de un Programador👈
Shorts de PLC!👈

Más contenido relacionado

Similar a CURSO_PROGRAMACIÓN_PLC.02 (1).pptx

Electronica industrial
Electronica industrialElectronica industrial
Electronica industrial
selayab
 
ESPEL-ENT-0118-P.pdf
ESPEL-ENT-0118-P.pdfESPEL-ENT-0118-P.pdf
ESPEL-ENT-0118-P.pdf
exsal
 

Similar a CURSO_PROGRAMACIÓN_PLC.02 (1).pptx (20)

Plc. unidad v. ici. scm
Plc. unidad v. ici. scmPlc. unidad v. ici. scm
Plc. unidad v. ici. scm
 
Practica 4
Practica 4Practica 4
Practica 4
 
Simuladores de lenguajes de plc
Simuladores de lenguajes de plcSimuladores de lenguajes de plc
Simuladores de lenguajes de plc
 
Teoria s7 300-basico
Teoria s7 300-basicoTeoria s7 300-basico
Teoria s7 300-basico
 
Técnico especialista PLC
Técnico especialista PLCTécnico especialista PLC
Técnico especialista PLC
 
Guia de practicas s7 1200 tia portal
Guia de practicas s7 1200 tia portalGuia de practicas s7 1200 tia portal
Guia de practicas s7 1200 tia portal
 
Logo Siemens
Logo SiemensLogo Siemens
Logo Siemens
 
Electronica industrial
Electronica industrialElectronica industrial
Electronica industrial
 
(588753406) 269284904 laboratorio-logo
(588753406) 269284904 laboratorio-logo(588753406) 269284904 laboratorio-logo
(588753406) 269284904 laboratorio-logo
 
Sesion 1
Sesion 1Sesion 1
Sesion 1
 
Tecnologia de Automatizacion con PLC.pdf
Tecnologia de Automatizacion con PLC.pdfTecnologia de Automatizacion con PLC.pdf
Tecnologia de Automatizacion con PLC.pdf
 
Los plc
Los plcLos plc
Los plc
 
plc
 plc plc
plc
 
Unidad2 plc scada PLC y Pantallas HMI
Unidad2 plc scada PLC y Pantallas HMIUnidad2 plc scada PLC y Pantallas HMI
Unidad2 plc scada PLC y Pantallas HMI
 
Practica 2
Practica 2Practica 2
Practica 2
 
Curso de microcontroladores pic18 f4550
Curso de microcontroladores pic18 f4550Curso de microcontroladores pic18 f4550
Curso de microcontroladores pic18 f4550
 
ESPEL-ENT-0118-P.pdf
ESPEL-ENT-0118-P.pdfESPEL-ENT-0118-P.pdf
ESPEL-ENT-0118-P.pdf
 
Sistema de control de llenado para maquina de sellado fluopack
Sistema de control de llenado para maquina de sellado fluopack Sistema de control de llenado para maquina de sellado fluopack
Sistema de control de llenado para maquina de sellado fluopack
 
Laboratorio 3 plc
Laboratorio 3   plcLaboratorio 3   plc
Laboratorio 3 plc
 
Plc
PlcPlc
Plc
 

Último

4º Clase Laboratorio (2024) Completo Mezclas Asfalticas Caliente (1).pdf
4º Clase Laboratorio (2024) Completo Mezclas Asfalticas Caliente (1).pdf4º Clase Laboratorio (2024) Completo Mezclas Asfalticas Caliente (1).pdf
4º Clase Laboratorio (2024) Completo Mezclas Asfalticas Caliente (1).pdf
nicolascastaneda8
 
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
gustavoiashalom
 
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
bcondort
 
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
Ricardo705519
 
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfMODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
vladimirpaucarmontes
 

Último (20)

4º Clase Laboratorio (2024) Completo Mezclas Asfalticas Caliente (1).pdf
4º Clase Laboratorio (2024) Completo Mezclas Asfalticas Caliente (1).pdf4º Clase Laboratorio (2024) Completo Mezclas Asfalticas Caliente (1).pdf
4º Clase Laboratorio (2024) Completo Mezclas Asfalticas Caliente (1).pdf
 
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
 
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf  PARA TRABAJO SEGUROATS-FORMATO cara.pdf  PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
 
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERU
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERUQUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERU
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERU
 
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
 
JM HIDROGENO VERDE- OXI-HIDROGENO en calderas - julio 17 del 2023.pdf
JM HIDROGENO VERDE- OXI-HIDROGENO en calderas - julio 17 del 2023.pdfJM HIDROGENO VERDE- OXI-HIDROGENO en calderas - julio 17 del 2023.pdf
JM HIDROGENO VERDE- OXI-HIDROGENO en calderas - julio 17 del 2023.pdf
 
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheAportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
 
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
 
Desigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdfDesigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdf
 
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
 
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdfAnálisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
 
Sesion 6 _ Curso Integrador II_TSZVQJ.pdf
Sesion 6 _ Curso Integrador II_TSZVQJ.pdfSesion 6 _ Curso Integrador II_TSZVQJ.pdf
Sesion 6 _ Curso Integrador II_TSZVQJ.pdf
 
Presentacion de la ganaderia en la región
Presentacion de la ganaderia en la regiónPresentacion de la ganaderia en la región
Presentacion de la ganaderia en la región
 
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADOPERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
 
Six Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo processSix Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo process
 
Quimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfQuimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdf
 
Herramientas de la productividad - Revit
Herramientas de la productividad - RevitHerramientas de la productividad - Revit
Herramientas de la productividad - Revit
 
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfMODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
 
27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt
 
UNIDAD II 2.pdf ingenieria civil lima upn
UNIDAD  II 2.pdf ingenieria civil lima upnUNIDAD  II 2.pdf ingenieria civil lima upn
UNIDAD II 2.pdf ingenieria civil lima upn
 

CURSO_PROGRAMACIÓN_PLC.02 (1).pptx

  • 1. CURSO DE PLC CON TIA PORTAL DE CERO A PROFESIONAL Abel Domínguez
  • 2. CURSO PROGRAMACIÓN PLC CON TIA PORTAL PRESENTACIÓN 0 Enlace Instagram 👈 Enlace TikTok 👈 Enlace LinkedIn 👈 Enlace Facebook 👈 Canal de YouTube!! 👈 Aprende más en mi WEB!! 👈
  • 3. Pelecero, antes de empezar el curso, decirte que con un software de simulación de PLC en 3D, puedes practicar tu programación, mejorando y agilizando tu aprendizaje, además de poder ponerte retos alucinantes y de pasártelo mejor que un niño con su juguete preferido. Conozco dos opciones: Machines Simulator y Factory I/O Ambos son software de simulación donde puedes crear tus propias fábricas virtuales y comunicarlas con tu PLC, ya sea real o simulado. En mi web tengo reviews de ambos software, por si quieres echarles una ojeada, probablemente te sirvan! (Yo personalmente, prefiero Machines Simulator, le da mil patadas a Factory I/O, pero te dejo ambas review para que los analices por ti mismo) AGILIZA TU APRENDIZAJE Review Machines Simulator Review Factory I/O
  • 4. ¿De que trata el curso? • Saber los fundamentos de programación y lógica con bits. • Aprender a estructurar un programa según la instalación y premisas del cliente. • Configuración del PLC y sus posibles módulos (Hardware) • Aprender que es y como se programa un PLC. • En definitiva, aprender a como automatizar una planta industrial o máquina controlada por PLC. • Herramientas de control para señales físicas (PID) Enlace al vídeo AQUÍ 👈
  • 5. ¿A quién va dirigido este curso? • No se requieren conocimientos previos, aunque nunca está de más empezar el curso con nociones básicas. • Es un curso de cero a profesional, es decir, al terminar el curso, tendrás los conocimientos necesarios para poder realizar automatizaciones industriales con PLC (concretamente, con TIA Portal). • A personas que quieran aprender a programar PLC, es decir, a quienes quieran aprender a automatizar industrias o bien máquinas controladas mediante PLC. Enlace al vídeo AQUÍ 👈
  • 6. ¿Qué software necesitaremos? • Factory I/O – OPCIONAL, aunque recomendable.  Windows 7 o superior.  Se recomienda NVIDIA desde 2006 (GeForce 8), AMD desde 2006 (Radeon HD 2000), Intel desde 2012 (HD 4000 / IvyBridge). • TIA Portal (versión 14 o superior) – IMPRESCINDIBLE.  Windows 7 o superior.  Se recomienda 8Gb de RAM.
  • 7. ¿Qué sabré hacer al terminar el curso? • Configurar por completo un proyecto TIA Portal y manejar el software con soltura. • Añadir y configurar por completo un PLC y sus posibles módulos (cartas E/S, IM…) • Programar un PLC con cualquiera de sus lenguajes (Ladder o KOP, SCL y AWL) • La utilización de la gran mayoría de herramientas y funciones que nos provee TIA Portal. • Administración de archivos de descripción de dispositivos (GSD) • Complementos al curso:  Metodología GRAFCET  Regulación de una señal física (temperatura, caudal…) con PID  Uso del software Factory I/O como apoyo a las simulaciones offline
  • 8. TEMARIO DEL CURSO 1. Introducción 2. Primeros pasos con TIA Portal 3. Fundamentos básicos  Sistema binario y puertas lógicas  Ejecución del programa en el PLC y direcciones  Simulación del PLC con PLCSIM  Uso de tablas de observación  Tipos de datos (bool, byte, int…)  Array  Struct  Tipo de dato PLC (UDT)  Lenguajes del PLC (LD o KOP, SCL y AWL) 4. Programación con Ladder (KOP), SCL y AWL:  Lógica con bits  Bloques de programación en TIA Portal  Bloques de Organización (OB)  Bloques de Datos (DB)  Funciones (FC)  Bloques de Función (FB)  Temporizadores  Contadores  Comparadores  Funciones matemáticas  Conversión de valores  Ejercicio cámara de refrigeración 5. Metodología GRAFCET 6. Ejercicios prácticos con Factory I/O 7. Configuración Hardware (PLC y sus posibles módulos) 8. Escalar valores (SCALE_X y NORM_X) 9. Programación avanzada:  Control del flujo del programa (bucles, saltos)  Movimiento de datos entre DB  Acceso a bloques de datos (DB) y bloques de instancia (DI)  Puntero ANY  Acumuladores en AWL 10. Ejercicios prácticos con Factory I/O 11. Control PID  Explicación del PID  Como usarlo en TIA Portal (CONT_C)  Personalización del PID con bloque propio 12. Ejercicio práctico con Factory I/O 13. Comunicaciones  Enlaces S7 con GET/PUT  Modbus TCP/IP (MB_Server, MB_Client) 14. Administración de archivos de descripción de dispositivos (GSD) Enlace al vídeo AQUÍ 👈
  • 9. Posibles preguntas • ¿Es un curso homologado? No, no lo es. Es un curso publicado en youtube, sin acreditación alguna y sin animo de lucro, basado en mis conocimientos y experiencia. • ¿Al terminar el curso, tendré los conocimientos necesarios para poder vivir de esto? Ya lo creo que sí. Durante estos años, he tenido que tocar muchos programas ajenos y te puedo asegurar que lo que enseño en este curso te va a convertir en un gran profesional. • ¿En este curso vamos a aprender a programar HMI o SCADA? No, este curso es únicamente para programar PLC. Tengo en mente, al finalizar este curso, crear un curso completo de HMI con TIA Portal y otro de SCADA con WinCC Explorer. Poco a poco. • ¿Qué hago en caso de tener dudas? Si tienes dudas sobre algún apartado o ejercicio, simplemente envíame un comentario en el mismo vídeo donde se originó tu duda y lo contestaré sin problemas. Enlace Curso HMI👈
  • 10. Posibles preguntas • ¿De cuanto es la duración del curso? El curso tiene más de 60 vídeos, con una duración aproximada por vídeo de entre 5 – 30 minutos. • ¿Cuál va a ser la metodología del curso? El curso es 80% práctico, mientras que si que tendrá un 20% de teoría (sobre todo al principio). La parte teórica se apoyará de la presentación PP, mientras que la explicación del código, así como los ejemplos, se harán con TIA Portal (a veces usando Factory I/O como complemento), que así es como se aprende.
  • 11. Un poco sobre tu profesor… • Graduado en Ingeniería Electrónica Industrial y Automática. • Máster en Automática e Informática Industrial. • Diploma de especialización en instalación, configuración y programación de sistemas de automatización industrial. • 2 años de experiencia en el sector industrial programando PLC, HMI y SCADA de diferentes marcas, pero principalmente con Siemens.
  • 12. Agradecimientos • A ti, que estas viendo ahora mismo este vídeo. A ti, que has decidido usar parte de tu tiempo en formarte con este curso que con gran esmero y esfuerzo hago. A ti, en querer adquirir mis conocimientos obtenidos por experiencias pasadas. GRACIAS !!!
  • 13. Bueno, ¿Empezamos el curso? Vamos a ello!
  • 14. CURSO PROGRAMACIÓN PLC CON TIA PORTAL INTRODUCCIÓN 1 Enlace al vídeo AQUÍ 👈
  • 15. 1.1 - ¿Porqué es importante la automatización en la industria? • Aumenta enormemente la producción para poder satisfacer la gran demanda por parte de los consumidores. • Abarata los costes de producción, generando un mayor beneficio. • Disminuye el error en el proceso de producción, aumentando la calidad del producto y la disminución de merma. • Fomenta la investigación de nuevas tecnologías para aportar nuevas soluciones y/o mejorar soluciones existentes dentro de la industria.
  • 16. 1.2 - ¿Qué ramas abarca la automatización en la industria? • Ingenieros mecánicos  Diseño de las piezas y maquinaria (AutoCAD, SolidWorks…)  Dirección del montaje mecánico por los operarios. • Ingenieros de proceso  Diseñan toda la estructura de un proceso, es decir, donde va colocado qué y como (válvulas, depósitos, tuberías…) para optimizar los recursos y el tiempo. • Ingenieros eléctricos  Diseño de los esquemas eléctricos (Eplan…)  Dirección del montaje de los cuadros por parte de los montadores eléctricos. • Ingenieros de control  Se encargan del control automático de la planta.  Su función es programar el/los PLC junto con HMI y SCADA (si procede) y asegurarse del correcto funcionamiento.  Desarrollo offline  Puesta en marcha in situ (o en remoto)  Atención al cliente post puesta en marcha
  • 17. 1.3 – Y entonces, ¿Qué es un PLC? • El PLC (Programmable Logic Controller) es un dispositivo con una CPU incorporada (como si de un ordenador se tratase) que permite crearle y modificarle instrucciones (código) para que las ejecute y pueda, de este modo, controlar X elementos. • El PLC recibe señales de entrada las cuales le proporcionan información del estado de los elementos:  Sensores de posición (detección de cajas, finales de carrera de válvulas…)  Sensores de temperatura o presión  Lectura de la corriente o rpm de un motor  Sistemas de visión para obtener la temperatura • El PLC actúa sobre señales de salida para activarlas o desactivarlas (en función de lo que nosotros hayamos programado), según el estado actual de las señales de entrada:  Motores (marcha/paro, inversión de giro)  Válvulas (abrir/cerrar)  Compresores (marcha/paro)  Puertas (abrir/cerrar)  Pistones (subir/bajar)
  • 18. 1.3 – Y entonces, ¿Qué es un PLC? • Ejemplo comparativo con llenado de agua: • Persona:  Para llenar un vaso de agua, abrimos el grifo (válvula) hasta que el vaso se llene.  Para saber si el vaso está lleno, utilizamos nuestra visión, es decir, los ojos.  Por lo tanto, tenemos que:  Señal de entrada, es decir, la que nos proporciona la información del vaso: Ojos  Señal de salida, es decir, la que manipulamos para añadir agua: Grifo  Sistema de control, es decir, qué controla el grifo según lo que nos proporcionan los ojos: Cerebro • PLC:  Para llenar un vaso de agua, abrimos la válvula hasta que el vaso se llene.  Para saber si el vaso está lleno, utilizamos un sensor de detección.  Por lo tanto, tenemos que:  Señal de entrada, es decir, la que nos proporciona la información del vaso: Sensor  Señal de salida, es decir, la que manipulamos para añadir agua: Válvula  Sistema de control, es decir, qué controla la válvula según lo que nos proporciona el sensor: El PLC (su cpu interna) Enlace al vídeo AQUÍ 👈
  • 19. 1.3 – Y entonces, ¿Qué es un PLC? • A nivel visual, siguiendo con el ejemplo del llenado de agua, tendríamos lo siguiente: • Sensor de nivel: 0 si no detecta agua, 1 si detecta agua • Válvula: Abierta si recibe corriente (1), cerrada si no recibe corriente (0) • Si el PLC recibe “0” en su entrada digital donde está conectado el sensor, manda “1” a la salida digital donde está conectada la válvula para que se abra. En caso contrario, es decir, si recibe “1” por parte del sensor, mandará un “0” a la válvula para que se cierre.
  • 20. 1.4 – Diferentes marcas de PLC y software Siemens Schneider Electric Omron Serie 200 Serie TSX Micro, Modicon Premium CS1, CJ1, CJ2 Serie 300/400 TSX Quantum, Premium, M340, M580 Serie NJ Serie 1200/1500 Modicon M221, M241 Step7 TIA Portal PL7 Pro Unity Pro SoMachine CX-Programmer Sysmac Studio MicroWin
  • 21. 1.4 – Diferentes marcas de PLC y software Otras marcas: • Allen bradley • Mitsubishi • Hitachi • Festo • Beckhoff • Unitronics
  • 22. 1.5 – ¿Porqué trabajaremos con TIA Portal? • Es un Software muy demandado por las empresas de automatización y, a veces, hasta por el propio cliente. • Ofrece una gran cantidad de recursos para el programador, y su optimización es aceptable. • Permite una programación bastante estructurada, basándose en la famosa POO (Programación Orientada a Objetos) que podemos encontrar en lenguajes como C++, C#, Java… • Es bastante intuitivo, con un buen diseño de interfaz y visual. • La conexión con otros dispositivos de Siemens (HMI, SCADA, Variadores, IM…) se realiza de manera bastante sencilla gracias al famoso “enlace S7” o “enlace SIMATIC 7”. • Permite realizar simulaciones de una manera bastante intuitiva y sencilla con el software de apoyo PLCSIM. • El software de las HMI está integrado dentro del propio TIA Portal, es decir, no se requiere de un software externo.
  • 23. CURSO PROGRAMACIÓN PLC CON TIA PORTAL PRIMEROS PASOS CON TIA PORTAL 2
  • 24. 2.0 – ¿Qué vamos a ver en está sección? 1. Breve explicación de qué es TIA Portal y sus versiones. 2. Instalación del programa y activación del mismo. 3. Creación de nuestro primer proyecto. 4. Explicación del entorno de TIA Portal (todo lo que nos ofrece el software). 5. Como añadir un dispositivo (PLC, HMI) al proyecto. 6. Como guardar el proyecto y abrir uno existente. 7. Archivar/Desarchivar un proyecto existente.
  • 25. 2.1 – ¿Qué es TIA Portal? • TIA Portal (Totally Integrated Automation Portal) es un software de Siemens para programar PLC de la serie 1200 y 1500. • Tiene bastantes versiones, en este orden:  V11, V12, V13, V13 SP1, V13 SP2, V14, V14 SP1, V15, V15.1 y V16 • La diferencia más relevante sucede a partir de la v14, donde TIA Portal permite utilizar diferentes lenguajes de programación dentro de una misma función, o incluso dentro del propio main. • La mejor versión hasta la fecha, en cuanto a estabilidad y robustez, la V15.1 • En este curso utilizamos la V14 para poder migrar los proyectos a versiones superiores en caso de necesitarlo.
  • 26. 2.2 – Instalación del programa • Web de descarga (desde la página oficial de siemens) – IMPORTANTE REGISTRARSE https://support.industry.siemens.com/cs/document/109740158/descarga-del-simatic-step-7-(tia-portal)-v14- trial?dti=0&lc=es-VE • Descargar el software SIM EKB: https://mega.nz/file/klEUGYIR#5caYPr-Ss3YO2v1mu5415ElrypuB2IR1Gm6V5rF4FWI Enlace al vídeo de Instalación v14, v15 y v16 AQUÍ 👈 Enlace al vídeo de Instalación v14 SP1 AQUÍ 👈 Enlace al vídeo de Instalación v17 AQUÍ 👈
  • 27. 2.2 – Instalación del programa
  • 28. 2.2 – Instalación del programa
  • 29. 2.2 – Instalación del programa
  • 30. 2.2 – Instalación del programa
  • 31. 2.2 – Instalación del programa
  • 32. 2.2 – Instalación del programa
  • 33. 2.2 – Instalación del programa
  • 34. 2.2 – Instalación del programa
  • 35. 2.2 – Instalación del programa
  • 36. 2.2 – Instalación del programa
  • 37. 2.2 – Instalación del programa
  • 38. 2.2 – Instalación del programa
  • 39. 2.2 – Instalación del programa
  • 40. 2.3 – Mi primer proyecto TIA Portal 1. Crear proyecto 2. Explicación de lo que nos ofrece TIA Portal 3. Adición de nuevo dispositivo 4. Guardar/Abrir proyecto 5. Archivar/Desarchivar proyecto Vídeo Primeros Pasos AQUÍ 👈 Vídeo Archivar/Desarchivar AQUÍ 👈
  • 41. CURSO PROGRAMACIÓN PLC CON TIA PORTAL FUNDAMENTOS BÁSICOS 3
  • 42. 3.0 – ¿Qué vamos a ver en está sección? 1. Lógica binaria y puertas lógicas 2. Simulación y tablas de observación 3. Variables y tipos de datos 4. Saltos automáticos en las direcciones 5. Direcciones de memoria 6. Orden de ejecución del programa 7. Lenguajes del PLC Vídeo de Introducción AQUÍ 👈
  • 43. 3.1 – Lógica binaria y puertas lógicas El lenguaje binario se basa en 0 y 1, es decir, es un lenguaje donde todo es expresado con ceros y unos. Representa el paso de corriente (1) o el bloqueo de la corriente o ausencia de la misma (0). En dicho lenguaje, toda secuencia tiene un significado, donde dichas secuencias pueden ser diferentes, tal que: 001 111 011100110011 00001111 1100110011110011111110001 Existe la denominada “tabla binaria”, donde se puede realizar la conversión de binario a número decimal, y la cual se lee de derecha a izquierda, estipulada de la siguiente manera: 0000 = 0 0101 = 5 1010 = 10 1111 = 15 0001 = 1 0110 = 6 1011 = 11 0010 = 2 0111 = 7 1100 = 12 0011 = 3 1000 = 8 1101 = 13 0100 = 4 1001 = 9 1110 = 14 La tabla es infinita, al igual que los números. Vídeo AQUÍ 👈
  • 44. 3.1 – Lógica binaria y puertas lógicas En el lenguaje binario existen operaciones, concretamente la suma y la multiplicación, pero es ligeramente distinto al sistema decimal, de tal manera que: SUMA PRODUCTO 0 + 0 = 0 0 · 0 = 0 0 + 1 = 1 0 · 1 = 0 1 + 0 = 1 1 · 0 = 0 1 + 1 = 1 1 · 1 = 1 Es importante entender esto, dado que es la base del funcionamiento de un PLC.
  • 45. 3.1 – Lógica binaria (booleana) y puertas lógicas • ¿Qué son las puertas lógicas? Simplemente son funciones que nos permiten saber el estado de un circuito electrónico (se basan en la suma y la multiplicación) • Existen diferentes tipos de puertas lógicas, donde vamos a ver concretamente:  AND  OR  NOT  NAND  NOR • Insisto, es muy importante entender esta parte para saber programar un PLC.
  • 46. 3.1 – Lógica binaria (booleana) y puertas lógicas SÍMBOLO PUERTA LÓGICA ESQUEMA ELÉCTRICO AND OR NOT NAND NOR A B A· B A B A B A+B A B A A A A B A· B A B A+B A B
  • 47. 3.1 – Lógica binaria (booleana) y puertas lógicas • Leyes de Morgan: A+B = A · B A · B = A + B
  • 48. 3.2 – Simulación y tablas de observación • Uso de PLCSIM, integrado en TIA Portal Vídeo AQUÍ 👈
  • 49. 3.3 – Variables y tipos de datos • Una variable es un espacio de memoria donde:  Se le asigna un nombre cualquiera para poder referenciarlo en el programa  Se le asigna un tipo de dato  Se le asigna una dirección del PLC acorde a su tipo de dato
  • 50. 3.3 – Variables y tipos de datos • Tipos de datos más usados:  Bool: Representa 1 bit. Su valor puede ser 0 o 1  Ejemplo de dirección de memoria: %M6.4 (solo ocupa el bit 4 del byte 6)  Byte: Representa 8 bits. Su valor puede ser:  Binario: 00000000 hasta 11111111  Decimal: 0 hasta 255  Hexadecimal: 16#00 hasta 16#FF  Ejemplo de dirección de memoria: %MB6 (ocupa todo el byte 6)  Int/Word: Representan 2 bytes (16 bits). Su valor puede ser:  Binario: 0000000000000000 hasta 1111111111111111  Decimal: 32767  Hexadecimal: 16#7FFF  Ejemplo de dirección de memoria: %MW6 (ocupa el byte 6 y 7)  Son valores enteros (sin decimales)  Dint/Dword: Representan 4 bytes (32 bits)  Ejemplo de dirección de memoria: %MD6 (ocupa el byte 6, 7, 8 y 9)  Son valores enteros (sin decimales)  Real: Representa 4 bytes (32 bits)  Ejemplo de dirección de memoria: %MD6 (ocupa el byte 6, 7, 8 y 9)  Son valores con decimales Vídeo BOOL, BYTE y WORD AQUÍ 👈 Vídeo DWORD, REAL AQUÍ 👈
  • 51. 3.3 – Variables y tipos de datos • Tipos de datos más usados:  Date: Representa 2 bytes, como un Word. Se usa para establecer la fecha  Ejemplo de dirección de memoria: %MW6 (ocupa el byte 6 y 7)  Formato D#AAAA-MM-DD  Time: Representa 4 bytes, como un DWord. Se usa para dar valor a temporizadores (lo veremos más adelante)  Ejemplo de dirección de memoria: %MD6 (ocupa el byte 6, 7, 8 y 9)  Formato T#xS, T#xMS… (x = valor deseado, S = segundos, MS = milisegundos) Vídeo DATE y TIME AQUÍ 👈
  • 52. 3.3 – Variables y tipos de datos • Tipos especiales:  Array: Colección de elementos de un mismo tipo de dato, separados por “casillas” o “posiciones”, empezando por la posición 0. Vídeo Array AQUÍ 👈
  • 53. 3.3 – Variables y tipos de datos • Tipos especiales:  Array: Colección de elementos de un mismo tipo de dato, separados por “casillas” o “posiciones”, empezando por la posición 0.  Ejemplos: o Array de 6 bool: o Array de 4 Real o Array de 5 Int 0 0 1 0 1 0 0 1 2 3 4 5 24,2 12,0 128,4 8 59,17 0 1 2 3 Posició n Posició n 0 1 2 3 Posició n 2 12 68 159 78 4
  • 54. 3.3 – Variables y tipos de datos • Tipos especiales:
  • 55. 3.3 – Variables y tipos de datos • Tipos especiales:  Struct: Colección de elementos de diferentes tipos.  En una variable Struct puede haber cualquier cosa, desde variables bool, byte, int o real, hasta arrays o incluso otras variables Struct.  Ejemplo: Int Int Array de 8 bool Real Struct Bool Vídeo Struct AQUÍ 👈
  • 56. 3.3 – Variables y tipos de datos • Tipos especiales:  UDT: Permite crear un tipo de dato propio, almacenando en él cualquier tipo de dato. Es exactamente igual que un Struct, pero la diferencia reside en que es un tipo de dato definido y usable en todo el programa. Vídeo UDT AQUÍ 👈
  • 57. VÍDEOS DE INTERÉS Consejos Peleceros👈 Experiencias de un Programador👈 (tómate un descansito!!) Shorts de PLC!👈
  • 58. 3.4 – Salto automático en las direcciones Vídeo AQUÍ👈
  • 59. 3.5 – Direcciones de memoria • Las direcciones de memoria son porciones de la memoria de la CPU donde se almacenan datos, para de esta manera poder clasificarla según tamaño. • En TIA Portal, existen diferentes tipos de direcciones ya determinadas, de las cuales vamos a ver, por ahora, 3 tipos:  Direcciones %I (entradas digitales)  Direcciones %Q (salidas digitales)  Direcciones %M (marcas) Vídeo AQUÍ👈
  • 60. 3.5 – Direcciones de memoria • Direcciones de entradas digitales (%I)  %I0.0, %I0.1, %I0.2, %I0.3, %I0.4, %I0.5, %I0.6, %I0.7, %I1.0, %I1.1, %I1.2, %I1.3, %I1.4, %I1.5, %I1.6, %I1.7, %I2.0….  En cada dirección (bit) va cableado un elemento físico que proporciona información al PLC proporcionándole dos valores posibles, 0 o 1 lógico.  Sensores de detección, detección de avería (térmicos o disyuntores), detección de encendido/apagado… • Direcciones de salidas digitales (%Q)  %Q0.0, %Q0.1, %Q0.2, %Q0.3, %Q0.4, %Q0.5, %Q0.6, %Q0.7, %Q1.0, %Q1.1, %Q1.2, %Q1.3, %Q1.4, %Q1.5, %Q1.6, %Q1.7, %Q2.0….  En cada dirección (bit) va cableado un elemento físico al cual el PLC le proporciona dos valores posibles, 0 o 1 lógico.  Si el PLC le proporciona un 0 lógico, corta el paso de corriente por esa salida, impidiendo que se accione el elemento.  Si el PLC le proporciona un 1 lógico, permite el paso de corriente por esa salida, accionando el elemento.  Motores, válvulas, pistones… • Direcciones auxiliares (%M)  %M0.0, %M0.1, %M0.2, %M0.3, %M0.4, %M0.5, %M0.6, %M0.7, %M1.0, %M1.1, %M1.2, %M1.3, %M1.4, %M1.5, %M1.6, %M1.7, %M2.0….  Se utilizan para almacenar datos temporales (y para ser usados) en nuestro código durante su ejecución.
  • 61. 3.5 – Direcciones de memoria
  • 62. 3.6 – Orden de ejecución del programa El programa de un PLC se ejecuta de arriba hacia abajo, empezando por arriba y terminando por abajo. En el PLC, se producen varias etapas durante la ejecución del programa: 1. Se leen todas las entradas (tanto digitales como analógicas) 2. La información de las entradas, se trasladan a la memoria del PLC, concretamente a unas direcciones “espejo” o “imagen”, llamadas con la nomenclatura %I para las digitales, y %PEW para las analógicas. 3. Se ejecuta todo el código existente en el OB principal, llamado Main, desde arriba hasta abajo (existen otros OB con ejecuciones independientes, pero lo veremos a lo largo del curso) 4. Al finalizar la ejecución del Main, el PLC escribe en las salidas físicas reales el valor de las direcciones imagen de las salidas, llamadas con la nomenclatura %Q para las digitales, y %PAW para las analógicas. La duración de todo este proceso, se le denomina “ciclo de scan”, es decir, todo el tiempo que tarda el PLC en ejecutar el programa, desde la lectura de las entradas y ejecución del código, hasta la escritura en las salidas físicas. Vídeo AQUÍ👈
  • 63. Lectura entrada física real 3.6 – Orden de ejecución del programa %I (digital) %PEW(analógica) (Direcciones del PLC) Ejecución del OB MAIN (Dentro del código podemos escribir en las direcciones imagen de las salidas del PLC ) %Q = salidas digitales %PAW = salidas analógicas %Q (digital) %PAW(analógica) (Direcciones del PLC) Escritura salida física real
  • 64. 3.7 – Lenguajes del PLC • Diagrama de contactos (Ladder, LD o KOP)  Está basado en los esquemas eléctricos.  Muy visual y fácil de entender.  Algo tedioso a la hora de trabajar con bucles y saltos.  Coste computacional medio  Limitado a la hora de mover datos  Suele ser el más amado por los programadores dado su gran facilidad de uso • FUP:  Basado en las puertas lógicas  No es muy visual y tampoco fácil de entender si el código es complejo  Tedioso a la hora de trabajar con bucles y saltos  Coste computacional medio/alto  Limitado a la hora de mover datos  Apenas es usado por los programadores Vídeo AQUÍ👈 Parodia 👈
  • 65. 3.7 – Lenguajes del PLC • AWL  Es el lenguaje que entiende el PLC  No es muy visual y tampoco fácil de entender  Es el mejor lenguaje a la hora de trabajar con bucles y saltos.  Coste computacional bajo (es el más óptimo)  No tiene limitaciones a la hora de mover datos y trabajar con ellos  Suele ser el más odiado por los programadores dada su dificultad, pero un programador de PLC jamás será experto si no domina este lenguaje.  Hay un dicho tal que dice así “Lo que no se pueda programar en AWL, es que no se puede programar en el PLC” • SCL:  Lenguaje de alto nivel basado en Pascal y C  Nivel visual medio (según la dificultad del código) con sentencias bastante simples de entender  Sencillo a la hora de trabajar con bucles y saltos  Coste computacional alto  Factible a la hora de mover datos, pero tiene sus limitaciones.  Es bastante usado por los programadores y bastante querido por aquellos a los que no les gusta el AWL.
  • 66. 3.7 – Lenguajes del PLC • GRAFCET  Visual y medianamente fácil de entender  Pésimo lenguaje para realizar bucles y saltos  Coste computacional alto  No esta hecho ni pensado para mover datos  Se suele utilizar para realizar secuencias
  • 67. 3.7 – Lenguajes del PLC • ¿Con qué lenguajes trabajaremos en este curso? Trabajaremos con KOP, SCL y AWL. Según vayamos aprendiendo herramientas de programación, iremos usándolas en los diferentes lenguajes para ver las diferencias y dificultades.
  • 68. CURSO PROGRAMACIÓN PLC CON TIA PORTAL PROGRAMACIÓN EN KOP, SCL Y AWL 4 Vídeo de Introducción 👈
  • 69. 4.0 – ¿Qué vamos a ver en está sección? 1. Lógica con bits  Diferencia entre contacto y bobina  Contacto negado y bobina negada  Sentencia NOT  Uso de AND y OR  Ejercicios  Set y Reset  Flanco ascendente y descendente  Ejercicios  RLO  Falta grave: repetición de bobinas El lenguaje principal será en diagrama de contactos (KOP). Utilizaremos SCL y AWL para ver como se implementa lo aprendido en KOP en dichos lenguajes. 2. Tipos de bloques  Bloques de Organización (OB)  Bloques de Datos (DB)  Funciones (FC)  Bloques de Función (FB)
  • 70. 4.0 – ¿Qué vamos a ver en está sección? 3. Temporizadores  ¿Qué son los temporizadores y para que se usan?  TP  TON  TOFF  TONR 4. Contadores  ¿Qué son los contadores y para que se usan?  CTU  CTD  CTUD 5. Comparadores  ¿Qué són los comparadores y para que sirven?  =, >, <, >=, <= , <>  Otros…
  • 71. 4.0 – ¿Qué vamos a ver en está sección? 6. Funciones matemáticas  ¿Qué son y para que sirven?  Funciones simples: sumar, restar, multiplicar y dividir  Definición de ecuación en KOP: Función Calculate  Obtención del resto de una división: Función Mod  Obtener resultado negado: Función Neg  Incrementos y decrementos  Obtener valor absoluto: Función Abs 7. Conversión de valores  ¿Qué es la conversión de valores?  Convert  Round  Ceil  Floor  Trunc
  • 72. 4.1 – Lógica con Bits • ¿Qué és un contacto en KOP?  Un contacto en KOP representa un interruptor de un circuito eléctrico.  A un contacto se le puede asignar una variable del tipo bool.  Si la variable asignada a dicho contacto tiene el valor 0, NO dejará pasar corriente por el contacto  Si la variable asignada a dicho contacto tiene el valor 1, SI dejará pasar corriente por el contacto • ¿Qué és una bobina en KOP?  Una bobina en KOP representa una bombilla de un circuito eléctrico.  A una bobina se le puede asignar una variable del tipo bool.  Si la variable asignada a dicha bobina se le proporciona el valor 0, la bobina estará apagada  Si la variable asignada a dicha bobina se le proporciona el valor 1, la bobina estará encendida • ¿Qué és un contacto negado en KOP?  Un contacto negado en KOP representa un interruptor de un circuito eléctrico, pero con el valor invertido.  A un contacto negado se le puede asignar una variable del tipo bool.  Si la variable asignada a dicho contacto negado tiene el valor 0, SI dejará pasar corriente por el contacto  Si la variable asignada a dicho contacto negado tiene el valor 1, NO dejará pasar corriente por el contacto • ¿Qué és una bobina negada en KOP?  Una bobina negada en KOP representa una bombilla de un circuito eléctrico, pero con su valor invertido.  A una bobina negada se le puede asignar una variable del tipo bool.  Si la variable asignada a dicha bobina negada se le proporciona el valor 0, la bobina estará encendida  Si la variable asignada a dicha bobina negada se le proporciona el valor 1, la bobina estará apagada
  • 73. 4.1 – Lógica con Bits CONTACTO BOBINA Vídeo 👈
  • 74. 4.1 – Lógica con Bits • Sentencia NOT  Invierte el valor resultante existente previo a su llamada. Vídeo 👈
  • 75. 4.1 – Lógica con Bits • AND KOP AWL SCL AND (X·Y = Z) U X U Y = Z IF(X AND Y) THEN Z = TRUE; ELSE Z = FALSE; END_IF; X Y Z Vídeo 👈
  • 76. 4.1 – Lógica con Bits • OR KOP AWL SCL OR (X+Y = Z) U X O Y = Z IF(X OR Y) THEN Z = TRUE; ELSE Z = FALSE; END_IF; X Y Z Vídeo 👈
  • 77. 4.1 – Lógica con Bits • AND y OR  Ejercicio 1: Implementa las siguientes sentencias en KOP y AWL 1. X = A·B·C·(D+E) 2. X = (A+B+C)·D·E 3. X = (A+B+C)·D·E 4. X = ( (A·B)+(C·D) ) · E Ejercicio – Parte 1 👈 Ejercicio – Parte 2 👈
  • 78. 4.1 – Lógica con Bits • SET y RESET  Set: Proporciona el valor booleano “1” a una variable de manera indefinida. No cambiará su valor hasta que se modifique en sentencias posteriores a su Set.  Reset: Proporciona el valor booleano “0” a una variable de manera indefinida. No cambiará su valor hasta que se modifique en sentencias posteriores a su Reset. • Alternativa al SET y RESET: Realimentación del estado  Permite mantener una variable activa realimentándola a si misma con una sentencia OR, condicionando a la misma con la condición que la desactive. Vídeo👈 Ejercicio👈
  • 79. 4.1 – Lógica con Bits • Flanco ascendente/Descendente  El flanco es una herramienta que nos permite cambiar el valor de una variable justo en el instante donde se produce el cambio de la variable la cual está asignada al flanco.  Flanco ascendente: Cuando la variable asignada a dicho flanco cambia su estado de 0 a 1, permite la ejecución de las siguientes sentencias.  Flanco descendente: Cuando la variable asignada a dicho flanco cambia su estado de 1 a 0, permite la ejecución de las siguientes sentencias.  El flanco requiere de una variable auxiliar para almacenar el valor de la variable asignada al flanco del ciclo de scan anterior. Vídeo👈
  • 80. 4.1 – Lógica con Bits • RLO • El RLO es el estado (0 o 1) resultante de las operaciones que hay desde la primera condición hasta la condición deseada. • Aunque existe, solo es mostrado de manera directa en AWL (en KOP de manera indirecta iluminando el contacto) Vídeo👈
  • 81. 4.1 – Lógica con Bits • Falta grave: Repetición de bobinas • Si se declara la misma variable en 2 o más bobinas, el programa fallará en algún momento. A esto se le denomina “repetición de bobinas”. • Solución y buena práctica: Declarar la bobina una única vez y añadir en el segmento todas las condiciones que activan/desactivan dicha bobina. Vídeo👈
  • 82. 4.2 – Tipos de bloques • Tenemos 4 tipos de bloques en TIA Portal:  Bloques de Organización (OB)  Bloques de datos (DB)  Funciones (FC)  Bloques de función (FB) • OB (Bloque de organización)  Es un bloque lógico donde se puede programar código dentro de él.  Según el tipo de OB se puede procesar a cada ciclo de scan, la primera vez que se pone el PLC en modo run, al haber un fallo en el PLC…  El OB principal del PLC (donde va todo nuestro código, principalmente) es el Main  Como un OB no es una función, ningún OB puede ser llamado dentro de otro OB. Cada OB es independiente de los demás OB.  Es IMPORTANTE llamar a los OB de errores (por lo general, no se programa nada en ellos) para que, en caso de saltar algún error en pleno funcionamiento (hablamos de errores no críticos), la CPU no pase a stop y se paralice toda la fábrica. Vídeo👈
  • 83. 4.2 – Tipos de bloques • DB (Bloque de Datos)  Sirve para almacenar datos, es decir, variables  Puede almacenar cualquier tipo de dato, incluido arrays, structs, date…  Existen DB Globales (no pertenecen a ningún FB) y los DB de Instancia (pertenecen a su respectiva instancia de su respectivo FB)  Se le debe asignar un número de referencia  Ocupa un espacio de memoria equivalente al volumen total de datos que almacena  Optimización de bloque  Datos remanentes  Valores de arranque, instancia actual de valores… Vídeo👈
  • 84. 4.2 – Tipos de bloques • FC (Función) • Sirve para encapsular porciones de código reutilizables • Se puede llamar en cualquier punto del programa, donde ejecutará el código que lleve dentro • Al finalizar la ejecución de su código, las variables propias de la FC no almacenan su último valor, es decir, lo pierden • No almacena datos ni tiene un DB propio TIPO DE VARIABLE DESCRIPCIÓN Input Lee las variables de entrada a la FC Output Escribe en variables de salida de la FC InOut Variables externas que pueden leerse y escribirse Temp Variables internas de la FC usadas para programar el código (estas variables NO guardan su valor al terminar la ejecución de la FC) Constant Variables con valor constante Vídeo👈
  • 85. 4.2 – Tipos de bloques • FB (Bloque de Función) • Sirve para encapsular porciones de código reutilizables • Se puede llamar en cualquier punto del programa, donde ejecutará el código que lleve dentro • Al finalizar la ejecución de su código, las variables propias de la FB pueden almacenar (o no) su último valor. • Generan un DB propio, donde almacenan todos los datos (excepto los temporales) TIPO DE VARIABLE DESCRIPCIÓN Input Lee las variables de entrada a la FB Output Escribe en variables de salida de la FB InOut Variables externas que pueden leerse y escribirse Static Variables internas de la FB usadas para programar el código (estas variables SI guardan su valor al terminar la ejecución de la FB) Temp Variables internas de la FB usadas para programar el código (estas variables NO guardan su valor al terminar la ejecución de la FB) Vídeo👈
  • 86. 4.3 – Funciones matemáticas • Se utilizan para realizar operaciones. OPERACIÓN DESCRIPCIÓN ADD Suma entre dos variables numéricas (pueden ser de diferente tipo siempre y cuando sean convertibles entre ellas) SUB Resta entre dos variables numéricas (pueden ser de diferente tipo siempre y cuando sean convertibles entre ellas) MUL Producto entre dos variables numéricas (pueden ser de diferente tipo siempre y cuando sean convertibles entre ellas) DIV Dvisión entre dos variables numéricas (pueden ser de diferente tipo siempre y cuando sean convertibles entre ellas) MOD Obtiene el resto de una división INC/DEC Incrementa o decrementa en una unidad ABS Obtiene el valor absoluto de un número Vídeo👈
  • 87. 4.4 – Comparadores • Su función es la de comparar si una variable es igual o diferente a otra. • Si las variables son iguales, devuelve 1 lógico. • Si las variables son diferentes, devuelve 0 lógico. • Las variables deben ser del mismo tipo. • En KOP y AWL se leen de arriba hacia abajo, en SCL de izquierda a derecha. COMPARADORES DESCRIPCIÓN > Mayor que < Menor que >= Mayor o igual que <= Menor o igual que == Igual <> Diferente Vídeo👈
  • 88. 4.5 – Temporizadores • El temporizador es una herramienta que se utiliza para ejecutar o mantener ejecutada una acción durante un periodo de tiempo definido, antes o después de que ocurra una acción. • Necesita de una o varias condiciones que lo activen y lo desactiven TEMPORIZADOR DESCRIPCIÓN TP Tras ser activado, mantiene su salida activa durante el tiempo estipulado. No necesita que lo mantengan activo una vez ha sido activado. TON Tras ser activado, empieza a contar. Tras finalizar el conteo, activa su salida. Necesita que lo mantengan activo durante el conteo. TOFF Tras ser activado, activa su salida sin empezar el conteo. Cuando se deja de activarlo, empieza el conteo y, tras finalizar, desactiva su salida TONR Ligeramente diferente al TON, pero con la opción de poder pararlo y congelar el Vídeo👈
  • 89. 4.6 – Contadores • El contador se utiliza para incrementar o decrementar en una unidad a una variable hasta un máximo/mínimo establecido. • El contador contabiliza cuando las acciones a su entrada proporcionan un 1 lógico. CONTADOR DESCRIPCIÓN CTU Al activarlo, incrementa en una unidad a la variable asignada. Cuando llega a su máximo, deja de contabilizar. Se puede resetear. CTD Al activarlo, decrementa en una unidad a la variable asignada. Cuando llega a su mínimo, deja de contabilizar. Se puede recargar. CTUD Posee una activación para incrementar y otra para decrementar. Contiene reset y recarga. Vídeo👈
  • 90. 4.7 – Conversión de valores • Se utilizan para redondear valores o bien para transformarlos en otros tipos de datos. • Tratamos con números (int, real, dint…) FUNCIÓN DESCRIPCIÓN ROUND Redondea el valor, eliminando decimales. Devuelve el valor entero al que más se acercaba el valor decimal CEIL Devuelve el valor entero superior, eliminando los decimales. FLOOR Devuelve el valor entero inferior, eliminando los decimales. TRUNC Devuelve el mismo entero, eliminando la parte decimal Vídeo👈
  • 91. 4.8 – Ejercicio Práctico • Control de temperatura de una cámara de refrigeración  La cámara tiene 4 evaporadores, cada uno controlado con un motor con arrancador  Cada evaporador tiene un disyuntor de protección en el cuadro eléctrico  Cada evaporador dispone de su selector auto/manual  Hay un térmico de protección general para todos los evaporadores  Cada evaporador tiene cerca una sonda de temperatura, donde marca los grados. Evaporador Nº1 Evaporador Nº2 Evaporador Nº3 Evaporador Nº4 Proyecto 👈
  • 92. • Control de temperatura de una cámara de refrigeración. Tareas a realizar:  Crear una FB evaporador, donde: o Se tenga en cuenta las señales de entrada (térmico y disyuntor). No tendremos confirmación de marcha. Se tendrá una señal de auto/manual. o Se tenga en cuenta las señales de salida (marcha). o Se deberá contabilizar los segundos, minutos y horas de funcionamiento.  Crear una FC Control de la temperatura de la cámara, donde: o La temperatura oscilará entre 0 y 5ºC o Según la temperatura, dará permiso a los evaporadores o Trabajar siempre con la media de las sondas disponibles o Modo simulación Tº:  La Tº global subirá 0,1ºC cada 1s si el evaporador está parado  La Tº global bajará 0,1ºC cada 1s si el evaporador está en marcha o Crear una UDT Termostato para almacenar todas las variables 4.8 – Ejercicio Práctico Proyecto 👈
  • 93. • Control de temperatura de una cámara de refrigeración. Tareas a realizar:  Crear una FC Cámara Refrigeración para almacenar:  Los evaporadores de la cámara  La FC Control Temperatura  Crear una DB Global para FC Cámara Refrigeración para almacenar:  UDT Termostato  Variables auxiliares (si cabe) 4.8 – Ejercicio Práctico Proyecto 👈
  • 94. • Control de temperatura de una cámara de refrigeración. BONUS EXTRA:  Modificar el código existente dado que el cliente va a añadir 2 cámaras nuevas, donde:  La primera cámara de refrigeración nueva (será la segunda) dispone de: o 3 evaporadores, con 1 motor con arrancador cada uno. o Cada evaporador dispone de su disyuntor en el cuadro o Cada evaporador dispone de su selector auto/manual o Los evaporadores tienen en común un diferencial de protección o La cámara dispone de 2 sondas o La temperatura debe oscilar entre 0 y 2ºC  La segunda cámara de refrigeración (será la tercera) dispone de:  2 evaporadores, con 1 motor con arrancador cada uno. o Cada evaporador dispone de su disyuntor en el cuadro o Cada evaporador dispone de su selector auto/manual o Los evaporadores tienen en común un diferencial de protección o La cámara dispone de 1 sonda de temperatura o La cámara dispone de un detector de NH3 en caso de fuga. Debe parar los evaporadores. o La temperatura debe oscilar entre -20 y 0ºC  Además, el cliente quiere poder cambiar los valores de consigna de las temperaturas de cada cámara:  Se deberá añadir, para cada cámara, una consigna de marcha y una histéresis de paro. 4.8 – Ejercicio Práctico Proyecto 👈
  • 95. Consigna de paro: Valor en el cual el elemento en cuestión debe parar para no sobrepasar el valor. 4.8 – Ejercicio Práctico Histéresis de marcha: Su valor es sumado (o restado) al de la consigna de paro para determinar cuando debe ponerse en marcha el elemento en cuestión para volver al valor deseado. 10º C ºC 15º C 0ºC Histéresis de marcha = 3ºC 13º C Consigna de paro + Histéresis de marcha Consigna de paro Proyecto 👈
  • 96. VÍDEOS DE INTERÉS Consejos Peleceros👈 Experiencias de un Programador👈 (tómate un descansito!!) Shorts de PLC!👈
  • 97. CURSO PROGRAMACIÓN PLC CON TIA PORTAL METODOLOGÍA GRAFCET 5
  • 98. 5.0 – ¿Qué vamos a ver en está sección? 1. Que es la metodología GRAFCET  Etapa  Transición  Acción 2. Bifurcaciones  OR  AND 3. Ejercicio teórico 4. Ejercicio práctico Vídeo 👈
  • 99. 5.1 – ¿Qué es GRAFCET? • Es un diagrama funcional que describe los procesos a ser automatizados. • Tiene en cuenta los procesos intermedios y las condiciones que deben cumplirse para ejecutar las acciones correspondientes. • Un GRAFCET está compuesto de:  Etapa: Define el estado en el que se encuentra el PLC. Se definen con un cuadrado, siendo la etapa inicial un doble cuadrado.  Acción asociada: Define la acción que va a realizar el PLC en la etapa donde se encuentre.  Transición: Condiciones necesarias para pasar a la siguiente etapa.
  • 100. 5.1 – ¿Qué es GRAFCET? • Un GRAFCET está compuesto de:  Etapa: Define el estado en el que se encuentra el PLC.  Acción asociada: Define la acción que va a realizar el PLC en la etapa donde se encuentre.  Transición: Condiciones necesarias para pasar a la siguiente etapa. 0 1 Transici ón Transici ón ACCIÓN ACCIÓN
  • 101. 5.2 – Bifurcaciones • Bifurcación en OR 0 4 Transici ón Transici ón 1 Transici ón 2 Transici ón 3 Transici ón Transici ón Transici ón A A A A A
  • 102. 5.2 – Bifurcaciones • Bifurcación en AND 0 4 Transici ón 1 Transici ón 2 3 Transici ón A A A A A
  • 103. 5.2 – Bifurcaciones • Bifurcación en AND 0 4 Transició n 1 Transici ón 2 3 Transició n A A A A A Transició n 1.1 2.1 3.1 A A A 1.2 2.2 3.2 A A A Transició n Transició n Transició n Transició n Transició n
  • 104. 5.3 – Ejercicio S1 S2 S3 C 1 C 2 C 3 C 4 C 5 LL TP Marcha Paro A 1 A 2 El agarrador A1 tiene un sensor interno, llamado SA1 El agarrador A2 tiene un sensor interno, llamado SA2 El entaponador TP tiene un sensor interno de fin de rosca, llamado STP LR
  • 105. 5.3 – Ejercicio S1 S2 S3 C 1 C 2 C 3 C 4 C 5 LL TP Marcha Paro A 1 A 2 El agarrador A1 tiene un sensor interno, llamado SA1 El agarrador A2 tiene un sensor interno, llamado SA2 El entaponador TP tiene un sensor interno de fin de rosca, llamado STP LR
  • 106. 5.3 – Ejercicio S1 S2 S3 C 1 C 2 C 3 C 4 C 5 LL TP Marcha Paro A 1 A 2 El agarrador A1 tiene un sensor interno, llamado SA1 El agarrador A2 tiene un sensor interno, llamado SA2 El entaponador TP tiene un sensor interno de fin de rosca, llamado STP LR
  • 107. 5.3 – Ejercicio S1 S2 S3 C 1 C 2 C 3 C 4 C 5 LL TP Marcha Paro A 1 A 2 El agarrador A1 tiene un sensor interno, llamado SA1 El agarrador A2 tiene un sensor interno, llamado SA2 El entaponador TP tiene un sensor interno de fin de rosca, llamado STP LR
  • 108. 5.3 – Ejercicio S1 S2 S3 C 1 C 2 C 3 C 4 C 5 LL TP Marcha Paro A 1 A 2 El agarrador A1 tiene un sensor interno, llamado SA1 El agarrador A2 tiene un sensor interno, llamado SA2 El entaponador TP tiene un sensor interno de fin de rosca, llamado STP LR
  • 109. 5.3 – Ejercicio S1 S2 S3 C 1 C 2 C 3 C 4 C 5 LL TP Marcha Paro A 1 A 2 El agarrador A1 tiene un sensor interno, llamado SA1 El agarrador A2 tiene un sensor interno, llamado SA2 El entaponador TP tiene un sensor interno de fin de rosca, llamado STP LR
  • 110. 5.3 – Ejercicio Marcha Paro S1 S2 S3 C 1 C 2 C 3 C 4 C 5 LL TP A 1 A 2 El agarrador A1 tiene un sensor interno, llamado SA1 El agarrador A2 tiene un sensor interno, llamado SA2 El entaponador TP tiene un sensor interno de fin de rosca, llamado STP LR
  • 112. 5.3 – Ejercicio Marcha Paro S1 S2 S3 C 1 C 2 C 3 C 4 C 5 LL TP A 1 A 2 El agarrador A1 tiene un sensor interno, llamado SA1 El agarrador A2 tiene un sensor interno, llamado SA2 El entaponador TP tiene un sensor interno de fin de rosca, llamado STP TRAMO 1 TRAMO 2 TRAMO 3 TRAMO 4 TRAMO 5 LR Vídeo 👈 Ejercicio TIA Portal 👈 Simulación PLCSIM👈 Simulación FactoryIO👈
  • 115. VÍDEOS DE INTERÉS Consejos Peleceros👈 Experiencias de un Programador👈 (tómate un descansito!!) Shorts de PLC!👈
  • 116. CURSO PROGRAMACIÓN PLC CON TIA PORTAL HARDWARE 7 Vídeo Introductorio👈
  • 117. 7.0 – ¿Qué vamos a ver en está sección? 1. Como asignar dirección IP  Interfaz Profinet  Identificar el dispositivo deseado 2. Tiempo de ciclo  Arranque  WatchDog  Carga de comunicación  Visualizar ciclo de Scan en tiempo “real” 3. Marcas del sistema 4. Marcas de ciclo 5. Configuración Fecha/hora 6. Recursos de conexión 7. Diagnóstico del Sistema 9. Memoria del PLC  Carga  Trabajo  Remanente 10. Cartas de E/S Digitales 11. Cartas de E/S Analógicas 12. Sondas de 2, 3 y 4 hilos 13. Módulos de comunicación  CP  CM  IM (Periferia descentralizada) 14. GSD Vídeo 👈 Vídeo 👈 Vídeo 👈 Vídeo 👈 Vídeo 👈 Vídeo 👈 Vídeo 👈 Vídeo 👈 Vídeo 👈 Vídeo 👈 Vídeo 👈 Vídeo 👈 Vídeo 👈
  • 118. CURSO PROGRAMACIÓN PLC CON TIA PORTAL PROGRAMACIÓN AVANZADA 8 Vídeo Introductorio 👈
  • 119. 8.0 – ¿Qué vamos a ver en está sección? 1. Saltos en AWL 2. Bucles en AWL 3. Movimiento de Datos (Áreas de memoria) 1. Peek/Poke 2. Move_BLK 3. BLKMOV 4. Acceso a DB y DI en AWL 5. Acumuladores en AWL 6. Registros (AR1, AR2) 7. Puntero ANY 8. Lectura/Escritura Fecha y Hora PLC Vídeo 👈 Vídeo 👈 Vídeo 👈 Vídeo 👈 Vídeo 👈 Vídeo 👈 Vídeo 👈 Vídeo 👈 Vídeo 👈 Vídeo 👈
  • 120. CURSO PROGRAMACIÓN PLC CON TIA PORTAL COMUNICACIONES INDUSTRIALES 9 Vídeo Introductorio 👈
  • 121. 9.0 – ¿Qué vamos a ver en está sección? 1. Profibus 2. Profinet 3. GET/PUT 4. Modbus TCP/IP Vídeo 👈 Vídeo 👈 Vídeo 👈 Vídeo MB_Client 👈 Vídeo MB_Server 👈
  • 122. 9.1 – Profibus - Process Field Bus - Profibus DP/PA
  • 125. 9.1 – Profibus CPU ET200 ET200 ON OFF ON CPU ET200 ET200 ON ON OFF
  • 127. 9.2 – Profinet - Process Field Network
  • 128. CURSO PROGRAMACIÓN PLC CON TIA PORTAL CONTROLADOR PID 10 Vídeo Introductorio 👈
  • 129. 10.0 – ¿Qué vamos a ver en está sección? 1. Controlador PID: ¿Qué es? ¿Cómo funciona? 2. Función CONT_C 3. PID Compact 4. Ejercicio Llenado Tanque 5. Auto Tune 6. PID Temp Vídeo 👈 Vídeo 👈 Vídeo 👈 Vídeo 👈 Vídeo 👈 Vídeo 👈
  • 130. 10.1 – Controlador PID Variador Cámara Frigorífica Temperatura SP PV
  • 131. 10.1 – Controlador PID ECUACIÓN PID Acción Proporcional Acción Integral Acción Derivada Actúa en función del error en el instante actual Actúa en función del error pasado Actúa en función del error futuro (predicción según tendencia)
  • 132. 10.1 – Controlador PID 10ºC 8ºC 12ºC Acción Proporcional (P) e e e e e e e ºC t
  • 133. 10.1 – Controlador PID 10ºC Acción Proporcional-Integral (PI) 8ºC 12ºC Régimen Transitorio Régimen Permanente ºC t
  • 134. 10.1 – Controlador PID 10ºC Acción Proporcional-Integral (PI) 8ºC 12ºC Régimen Transitorio Régimen Permanente 8ºC Régimen Transitorio Régimen Permanente ºC t
  • 135. 10.1 – Controlador PID 10ºC Acción Proporcional-Derivada (PD) 8ºC 12ºC Régimen Transitorio Régimen Permanente ºC t
  • 136. 10.1 – Controlador PID 10ºC Acción Proporcional-Derivada (PD) 8ºC 12ºC Régimen Transitorio Régimen Permanente 8ºC Régimen Transitorio Régimen Permanente ºC t
  • 137. 10.1 – Controlador PID Acción Proporcional-Derivada (PD) 10ºC 8ºC 12ºC 8º C ºC t SP PV Ruido inestable + SP PV + Ruido estable 10ºC 8ºC 12ºC 8º C ºC t
  • 138. 10.1 – Controlador PID 10ºC ¿Lo normal? Utilizar un PI o un PID, normalmente suele bastar con un PI 8ºC 12ºC 8º C ºC t
  • 139. 10.4 – Ejercicio PID SP = 50% PV = 60% -> SP – PV = error; error = 50% - 60% = -10% Acción de Control = Kp · error + - - ; AC = 1 · -10% = -10% El actuador que disminuye el Nv del tanque es la Válvula de Vaciado SP = 50% PV = 40% -> SP – PV = error; error = 50% - 40% = 10% Acción de Control = Kp · error + + + ; AC = 1 · 10% = 10% El actuador que aumenta el Nv del tanque es la Válvula de Llenado
  • 140. 10.4 – Ejercicio PID 1. Un error positivo (PV por debajo del SP) implica una acción de control entre el 0 y el 100% 2. Un error positivo implica que se necesita llenar el tanque 3. El PID que controla la Válvula de Llenado tendrá una Acción de control de 0 a +100% ---------------------------------------------------------------------------------- 1. Un error negativo (PV por encima del SP) implica una acción de control entre el 0 y el -100% 2. Un error negativo implica que se necesita disminuir el tanque 3. El PID que controla la Válvula de Vaciado tendrá una Acción de control de 0 a -100%
  • 141. VÍDEOS DE INTERÉS Consejos Peleceros👈 Experiencias de un Programador👈 Shorts de PLC!👈