Académique Documents
Professionnel Documents
Culture Documents
industriales
Módulo 1 – Controladores Lógicos
Programables (PLCs)
Las funciones principales del sistema operativo (OS) de los PLCs son:
Inicialización de los PLC;
Escaneo (lectura) de las entradas digitales y actualización de las tablas PII
(ver Tarea 1 para las tablas PII y PIO);
Escaneo de las entradas y salidas analógicas;
Ejecución del programa del usuario;
Mantenimiento de los temporizadores, contadores, etc.;
Actualización de las salidas de control por medio de las tablas PIO;
Mantenimiento de los programas en caso de que se encienda;
Auto-diagnostico del sistema;
Comunicación en el entorno de red;
Gestión de las tareas cuando los PLCs se controlan por multitareas del OS en
tiempo real.
4
Ejecución del ciclo operativo de un PLC (1)
5
Ejecución del ciclo de operación de un PLC (2)
La organización del ciclo puede estar fijada de
manera rígida o elegirse entre las siguientes
opciones:
Todas las entradas se visitan al comienzo del ciclo, y
las salidas se actualizan después de resolver todas
las ecuaciones;
Todas las entradas se visitan al comienzo del ciclo, y
las salidas se actualizan después de resolver cada
ecuación;
Todas las entradas se visitan cada n ms, mientras
que las salidas se actualizan cuando existen ciertas
condiciones;
Un ciclo de escaneo típico puede observarse en
las Figuras 1 y 2
Los principales intervalos de tiempo son:
Tiempo de escaneo del programa - Tscan;
Tiempo total de ciclo - Tcycle;
Tiempo de respuesta - Tresponse – un intervalo de
tiempo entre el cambio de una señal de entrada y el Fig.1
cambio de la salida, relacionado a ella. Depende de
6
la estructura y de la lógica del programa.
Ciclo operativo de un PLC
Fig.2 7
Ciclo de operación de un PLC S7- 300 y S7- 400
fabricados por Siemens
Fig.3 8
Lenguajes de programación de los PLCs
Los lenguajes de programación para los PLCs surgieron junto a la aparición del primer
PLC en 1968, esto explica porque no fueron utilizados los lenguajes de alto nivel como
Pascal y C y, en su lugar, se emplearon otros lenguajes más simples y fáciles de
entender, como podremos ver a continuación.
Los lenguajes para la programación de los PLCs han sido considerados en la tercera
parte del estándar IEC 61131, designado como IEC 61131-3 (solía ser designado
como IEC 1131, antes de que el sistema de numeración cambiase por la comisión
internacional electro-técnica). Se definieron los siguientes cinco lenguajes:
Diagrama de Funciones Secuenciales (SFC) – un lenguaje de bloques de funciones
secuenciales;
Diagrama de Bloques de Funciones (FBD) – un lenguaje de diagramas de bloques
secuenciales;
Diagramas de Tipo Escalera (LАD) – un lenguaje de diagramas de relés (denominado de
tipo escalera);
Texto Estructurado (ST) – un lenguaje de alto nivel como el del tipo de texto estructurado
(similar a C y, sobre todo a Pascal);
Lista de instrucciones (IL o STL) – lenguaje de tipo ensamblador con uso de acumuladores.
Estos lenguajes se describen brevemente en las siguientes transparencias.
9
Lenguaje de programación ST:
11
Lenguaje de programación FBD:
Lenguaje gráfico
Es conveniente cuando no hay ciclos y varias ramas en el programa
Consiste en un aritmética gráficamente conectada, Booleana y otros tipos de
elementos funcionales y bloques de funciones.
FBD proviene del campo del procesamiento de señal.
Es muy popular actualmente
Lenguaje gráfico
Programa bien estructurado
Consiste en pasos y transiciones
Los pasos contienen programas en cada
lenguaje estándar
No tiene ningún lenguaje análogo
El primer nivel de la estructura en el SFC
es la red de trabajo, compuesta por
elementos llamados pasos y transiciones.
Un paso puede ser bien activo o inactivo.
Cuando esta activo, las instrucciones
asociadas se ejecutan hasta que el paso se
vuelve inactivo.
En STEP 7 este lenguaje se denomina
lenguaje gráfico de programación (S7-
GRAPH) – ver la figura.
Fig.5
13
Lenguaje de programación LD
Lenguaje gráfico, que pueden soportar casi todos los PLCs
LD es una conexión gráfica entre variables Booleanas, comparable a los
antiguos controles de tipo relé y representa el flujo de energía en los diagramas de
circuitos eléctricos. Este lenguaje de programación se utiliza para la mayoría de
las señales Booleanas.
Los denominados buses o relés rodean una red LD por la izquierda y por la
derecha. Para el bus de la izquierda, suministrado con la señal lógica “1”, “la
energía” llega a todos los elementos conectados. Dependiendo de su condición,
los elementos dejan ir la energía hasta los siguientes elementos o interrumpen el
flujo.
Prácticamente no se utiliza para trabajar con variables analógicas.
En STEP 7 este lenguaje se conoce como LAD (Ladder Logic). La Fig.6
inferior muestra un ejemplo de un programa LAD, y más adelante se muestran
también otros ejemplos.
Fig.6
14
Sistema de programación CoDeSys
CODESYS
Respuesta Pregunta
E/S s
PLC Fábrica
Fig.7
16
Reglas para la programación en PLCs
Fig.8
17
17
Estructura de un programa de un PLC
Projecto
Declaraciones Código
Fig. 9
18
¿Qué es POU?
En la IEC 61131-3 los bloques, que constituyen los programas y los proyectos, se
denominan Unidades Organizativas de los Programas, POU.
Los tres tipos de POU, declarados por el estándar, son Función (FUN), Bloque
funcional (FB) y Programa (PROG).
La función es POU, y puede tener parámetros fijados (argumentos) pero no tiene
variables estáticas, ej. no tiene memoria – siempre se proporcionan los mismos
valores de salida con los mismos parámetros de entrada.
El bloque funcional tiene variables estáticas (memoria). Sus salidas siempre
dependen de la condición de sus variables tanto internas como externas, cuyos
valores permanecen iguales entre las ejecuciones individuales del bloque funcional.
Estos son también los bloques principales para generar un programa de PLC.
El programa es de tipo POU, como el programa principal. Un elevado número de
programas principales puede ejecutarse simultáneamente en los PLCs multitareas.
19
19
Datos y direcciones
Validez:
20
Sintaxis de las variables, fijadas a las direcciones
21
Tipos de datos estándar (1)
22
Tipos de datos estándar(2)
23
23
Operaciones en CoDeSys
• asignación;
• operaciones de tipo Booleano;
• operaciones analógicas;
• comparaciones;
• selección;
• conversión de tipo;
• operaciones con números reales;
• desplazamientos de bits;
• operaciones especiales.
24
Operación de asignación
Ejemplo en IL:
Var1: BYTE;
LD 2#10010011
AND 2#10001010
ST Var1 (* El resultado es 2#10000010 *)
Operaciones analógicas:
IL,FBD,LD ST
ADD +
SUB -
MUL *
DIV /
MOD MOD
IL,FBD,LD ST
EQ =
NE <>
GE >=
GT >
LE <=
LT <
28
Operaciones con números reales:
29
Desplazamiento de bits
ab c de f gh
SHL (DESplazamiento a la Izquierda)
a bc de f gh0
30
Llamada a varios tipos de POU
FBD /
LD
31
Creación de un programa PLC
El proceso de creación de
un programa PLC (fase de
modelo) consiste en las
siguientes fases (Fig.10):
Especificación:
descripción de la tarea;
Diseño: descripción de la
solución;
Realización: ejecución de
la solución;
Integración/revisión:
integración en el medio y
testeo de la solución.
Fig.10 32
Direccionamiento de los módulos del PLC
Fig.11
33
Ejemplos de diagramas de tipo escalera (1)
34
Ejemplos de diagramas de tipo escalera (2)
35
Ejemplos de diagramas de tipo escalera (3)
36
Instrucciones de salida
37
Funciones lógicas básicas (OR, AND)
38
Funciones lógicas básicas (NOR, NAND)
39
Funciones lógicas básicas (EXOR, EXNOR)
40
LD: ejemplo – representación de la expresión
Diagrama de tipo
escalera
Diagrama
equivalente LD
Equivalente en lenguaje
Booleano
41
Instrucciones para temporizadores y contadores (1)
42
Instrucciones para temporizadores y contadores (2)
43
Preguntas de control
44
Referencias:
1. http://81.161.248.42/ntt/aep/readings/aep_u4.pdf
2. http://en.wikipedia.org/wiki/Programmable_logic_controller
3. http://www.idc-
online.com/technical_references/pdfs/instrumentation/introtoplcs.pdf
4. http://2k9meduettaxila.files.wordpress.com/2012/12/plc-lecture.pdf
5. http://www.ormec.com/portals/0/library/documents/software/smlcsoftware/tutorials
/smlc_opc_tutorial.pdf
6. http://me.emu.edu.tr/majid/IENG447/PLC%20examples.pdf
7. http://www.automatic-project.eu/Modules_bg/Module%204,%20Chapter%203.pdf
8. http://gendocs.ru/v4285/?download2=11
9. http://www.consys.ru/sites/default/files/documents/prog-rus.pdf
45