Puebla
Ingeniería en Mecatrónica
Matrícula: 201117509
0
Introducción
Objetivos generales
1
PLC
Un sistema operativo.
Un entorno de programación que puede soportar uno o más lenguajes de
programación.
• Escaneo (lectura) de las entradas digitales y actualización de las tablas PII (ver
Tarea 1 para las tablas PII y PIO);
• Gestión de las tareas cuando los PLCs se controlan por multitareas del OS en
tiempo real.
3
Un programa es una secuencia de instrucciones, que terminan con una orden de
finalización del proceso, devolviendo así el control al operador o al monitor del OS.
El programa se puede ejecutar de manera asíncrona, si se producen ciertos
eventos; o síncrona, si la CPU ejecuta de forma secuencial todas las instrucciones
desde la primera hasta la última y vuelve de nuevo a la primera. El ciclo operativo
de un PLC está compuesto de dos fases: una fase entrada-salida y una fase de
usuario, relacionada con el procesamiento de los datos. La duración de ambas fases
depende del número de entradas y salidas, la extensión del programa y de la
velocidad de operación del PLC. Además, la estructura del ciclo, se define por la
forma en la que direcciona las entradas y salidas, el número de transferencias
incondicionales y la duración de los cálculos.
La organización del ciclo puede estar fijada rígidamente 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; Además, debe mencionarse que, en la
ejecución de un ciclo, pueden destacarse los siguientes intervalos de tiempo son:
LENGUAJES DE PROGRAMACIÓN.
4
surgieron junto al mismo tiempo que la aparición del primer PLC, en 1968. Así se
explica porque no se utilizaron para este fin lenguajes de programación de alto nivel
como Pascal y C y, en su lugar, se emplearon otros lenguajes más simples y fáciles
de entender.
En general, se podría decir que los lenguajes de programación más usuales son
aquellos que transfieren directamente el esquema de contactos y las ecuaciones
lógicas, pero, éstos no son los únicos.
• Diagrama de contactos:
5
Fue la tercera parte del estándar IEC 61131, el que consideró estos lenguajes para
la programación de los PLCs. Este estándar se ha designado como IEC 61131-3
aunque solía ser designado como IEC 1131, antes de que el sistema de numeración
cambiase por la comisión internacional electrotécnica. De este modo se definieron
los siguientes cinco lenguajes:
Uno de los aspectos más importantes de SFC es que muestra los principales
estados de un sistema, todos los posibles cambios de estado y las razones por las
que se produzcan dichos cambios. Se puede utilizar en la parte superior nivel que
muestra las principales fases de un proceso, pero también se puede utilizar en
cualquier otro nivel inferior.
6
El lenguaje SFC tiene su origen en el estándar francés GRAFCET (Grafica de
Control de Etapas de Transición). El grafcet también utiliza etapas, transiciones y
acciones, que operan de la misma manera como en SFC.
TRANSICIONES: son las condiciones que deben darse para pasar de un estado a
otro. Se formulan como funciones lógicas de las entradas. Una transición se activa
cuando la función lógica asociada tiene un valor cierto.
ACCIONES: son todas las actividades que el sistema de control debe encargase
que se ejecuten durante una etapa.
7
• Diagrama de Bloques de Funciones (FBD) – un lenguaje de diagramas de
bloques secuenciales;
Hoy en día, para programar PLC, como también otros equipos, se usa una interface
gráfica de bloques funcionales. Este tipo de programación ha sido diseñado para
8
describir, programar y documentar la secuencia del proceso de control, todo en
sencillos pasos.
Dado que hoy en día el control de procesos se programa principalmente con lógica
secuencial, la programación con bloques funcionales se convierte en el estándar
para programar PLC.
Pasos
Los pasos son una serie de símbolos secuenciales individuales, que se representan
por cuadrados numerados, cuadrados que pueden contener nombres que describen
la función del paso.
Transiciones
Las transiciones son los elementos del diagrama que describen el movimiento de
un paso a otro. Su representación es una línea horizontal corta.
Enlaces
Los enlaces muestran el flujo del control, el que va desde arriba hacia abajo, salvo
que se indique lo contrario.
9
Condiciones
Las condiciones están asociadas a las transiciones y deben ser escritas a la
derecha. Describen el entorno que se debe cumplir en un momento dado.
Este tercer tipo de lenguaje es también un lenguaje gráfico, que pueden soportar
casi todos los PLCs. Se trata de una conexión gráfica entre variables de tipo
Booleano, comparable a los antiguos controladores de tipo relé, donde se
representa el flujo de energía en diagramas de circuitos eléctricos. Así, este
lenguaje de programación se utiliza para la mayoría de las señales Booleanas y
prácticamente no se utiliza para trabajar con variables analógicas.
10
interrumpen el flujo. Para STEP 7, este lenguaje se conoce como LAD (Ladder
Logic)
Lista de instrucciones
Este tipo de lenguaje es el más antiguo y es la base para todos los demás lenguajes
de programación que existen, es precursor del diagrama escalera ya que se usaba
cuando las computadoras aun no tenían capacidad gráfica. Todos los lenguajes
finalmente vana a ser traducidos a lista de instrucciones.
Características:
Todos los lenguajes se pueden traducir a lista de instrucciones, pero no al
revés
La programación es más compacta
Este lenguaje es el más completo de todos los demás
11
• Texto Estructurado (ST) – un lenguaje de alto nivel como el del tipo de texto
estructurado (similar a C y, sobre todo a Pascal);
Este cuarto tipo de lenguaje, ST, está basado, en cambio, en los lenguajes de tipo
texto de alto nivel y es muy similar a los ya conocidos PASCAL, BASIC y C. Aunque
todavía no es muy popular se le considera como un lenguaje nuevo ya que requiere
conocimiento previo de programación. Las principales ventajas de este lenguaje
respecto al basado en el listado de instrucciones o IL es que incluye la formulación
de las tareas del programa, una clara construcción de los programas en bloques
con reglas (instrucciones) y una potente construcción para el control. De este modo,
se trata de la forma más apropiada de programar cuando queremos realizar ciclos
(ej. “if”, “while”, “for”, “case”). Para el caso de STEP 7 este tipo de lenguaje se
denomina SCL (Lenguaje de Control Estructurado).
Este quinto tipo de lenguaje, al igual que el anterior, se trata de un lenguaje de texto,
en este caso, similar a un ensamblador. Está mucho más utilizado en Europa y se
trata de un tipo conveniente para programas de poca extensión. Una de las
principales características es que todos los operadores trabajan con un registro
especial, denominado acumulador (LD, ST).
12
Ilustración 6.1 Estructura de una orden en programación IL/STL.
2. Programar un PLC en uno de los lenguajes estándar, definido por la IEC 61131-
3: Lista de instrucciones (IL), diagrama de función secuencial (SFC), diagrama de
funciones por bloques (FBD) diagrama de lógica en escalera (LD) o texto
estructurado (ST); Testeando y ajustando los programas creados.
13
Ilustración 7.1 Relación entre CoDeSys y un PLC.
PROGRAMACIÓN EN PLCs
14
2. Ejecución con salto condicional Cuando el ciclo de ejecución de un programa
tiene la posibilidad previa condición establecida de alterar la secuencia línea a línea
y dar un salto a otras líneas de programa, dejando x líneas sin ejecutar, se dice que
ha realizado un salto condicional. Si al llegar en el proceso de ejecución del
programa a la instrucción U, se cumple la condición en ella indicada, se salta a V,
continuando el barrido en V+1 hasta el fin de programa (END). Si, por el contrario,
al llegar a U no se cumple la condición, el programa se ejecuta linealmente,
continuando en U+1.
Algunos PLC poseen esta posibilidad, la cual permite reducir el tiempo de ejecución
del ciclo. Es aplicable en aquellos casos en que las instrucciones contenidas en el
salto sólo son necesarias cuando se dan ciertas condiciones impuestas por el
programa.
15
3. Ejecución con salto a sub-rutinas En algunas ocasiones ocurre que en un
programa hay uno o más grupos de secuencias de instrucciones idénticas que se
repiten y que habrá que reescribir tantas veces como éstas se reiteren en dicho
programa principal. En estos casos, es muy útil escribir una sola vez esta secuencia
o sub-rutina, e ir a ella cuando se requiera.
16
Ejemplo de programación de un PLC en Allen Bradley.
Los temporizadores tipo TON actúan sobre diferentes tipos de contactos los cuales
producen diferentes resultados dentro de un programa, los contactos mas usados
son:
17
Contacto DN: Este contacto permanece desactivado, hasta el instante en que se
cumple el tiempo determinado en su temporizador.
Contacto TT: Este contacto permanece activado, hasta el instante en que se cumple
el tiempo determinado en su temporizador. En la figura siguiente se muestra el
comportamiento de los contactos del temporizador tipo TON:
Timer TOF:
18
Los temporizadores tipo TOF actúan sobre diferentes tipos de contactos los cuales
producen diferentes resultados dentro de un programa, los contactos mas usados
son:
Contacto TT: Este contacto permanece activado desde que el temporizador inicia
su tiempo de conteo y hasta el instante en que se cumple el tiempo determinado en
su temporizador. En la figura siguiente se muestra el comportamiento de los
contactos del temporizador tipo TOF:
Timer RTO:
19
último tiempo registrado y al activarlo de nuevo comenzara su tiempo de conteo
desde ahí y no desde cero como los otros 2 tipos de temporizadores.
Este temporizador solo puede inicializar su tiempo de conteo en cero una vez más
solo si se activa su contacto de reset. En la figura siguiente se muestra el
comportamiento en el tiempo del temporizador tipo RTO:
Los temporizadores tipo RTO actúan sobre diferentes tipos de contactos los cuales
producen diferentes resultados dentro de un programa, los contactos más usados
son:
Contacto TT: Este contacto permanece activado desde que el temporizador inicia
su tiempo de conteo y hasta el instante en que se cumple el tiempo determinado en
su temporizador. En la figura siguiente se muestra el comportamiento de los
contactos del temporizador tipo RTO:
20
Ilustración 13.1 Contactos del temporizador tipo RTO.
21
un segundo después se activará la tercera lámpara (LP3) y permaneciendo
encendidas LP1 y LP2, y así sucesivamente hasta que se active la cuarta lámpara
(LP4), después de un segundo LP4 deberá apagarse, un segundo después se
deberá desactivar LP3 y así sucesivamente hasta que las 4 lámparas se apaguen.
22
Preguntas:
Se apagaran las lámparas LP1 y LP2 al mismo tiempo en lugar de ser en forma
secuencial.
23
5. Ahora diseñe un programa que ejecute el mismo proceso del programa anterior
sustituyendo los temporizadores tipo TON por temporizadores tipo TOF. La solución
del problema se localiza en el programa de la figura siguiente.
Programación en Orom
“El motor lo puedo activar con dos contactores pero, ¿cómo los controlaríamos?”
“Presionaría un botón de arranque para que suba, hasta que active un interruptor
de límite, entonces debería parar. Para bajar hacemos algo similar con un botón de
bajada y un límite para cuando llega abajo.”
24
Una declaración como la anterior es exactamente el modo de empezar a planear
una aplicación. Juan y Pedro han definido: dispositivos de entrada y salida, formas
de conexión, y requerimientos del programa de control. Nuestra tarea será tomar
estos datos y presentarlos de forma ordenada para facilitar la implementación.
DISPOSITIVOS DE E/S
25
Selección de PLC
Todas las entradas son de contacto seco, por lo tanto no necesitamos COMUNES
de polaridades diversas. Las salidas se conectan a las bobinas de 24 Vcc y no
poseen una alta velocidad de conmutación.
Asignación de E/S
26
Ingresamos en la tabla de símbolos locales para cargar la información de nuestro
proyecto. Luego, hacemos click con el botón derecho y seleccionamos insertar, para
agregar un nuevo símbolo.
27
Así quedarán los símbolos una vez cargados en la tabla:
28
PROGRAMACIÓN DEL PLC:
En primer lugar debemos comprender, hasta el último detalle, cómo debe responder
la máquina o proceso que vamos a implementar: “Presionaría un botón de arranque
para que suba, hasta que active un interruptor de límite, entonces debería parar.
Para bajar hacemos algo similar con un botón de bajada y un límite para cuando
llega abajo.”
Programación:
29
(0.02). 2. Al presionar Pulsador ABAJO (0.01) el montacargas BAJA (100.01), hasta
llegar al Sensor ABAJO (0.04) o se presione Pulsador PARAR (0.02).
CONDICIONES DE FUNCIONAMIENTO
31
32
33
Conclusión:
34
sencillo para que el usuario trabaje con el PLC sin ninguna complicación. Y se
estudiaron las formas de conexión de circuitos eléctricos y electrónicos al PLC para
la realización de la dinámica.
Bibliografía:
Ingeniería mecafenix. (2018). Lenguajes para programación de plc - Ingeniería mecafenix. [online]
Available at: http://www.ingmecafenix.com/automatizacion/lenguajes-programacion-plc/ [Accessed 3
Jul. 2018]. Sisbib.unmsm.edu.pe. (2018). [online] Available at:
http://sisbib.unmsm.edu.pe/bibvirtualdata/Tesis/Ingenie/reategui_gh/cap3.pdf [Accessed 3 Jul.
2018].
prezi.com. (2018). TEMA: Programa ejemplo realizado en PLC Omron. [online] Available at:
https://prezi.com/ybeplwxiekwa/tema-programa-ejemplo-realizado-en-plc-omron/?webgl=0
[Accessed 3 Jul. 2018]. (2018).
Scribd. (2018). Programación en Plc Con Lenguaje de Texto Estructurado. [online] Available at:
https://es.scribd.com/document/253213163/Programacion-en-Plc-Con-Lenguaje-de-Texto-
Estructurado [Accessed 3 Jul. 2018]. Scribd. (2018).
35
Ww2.educarchile.cl. (2018). [online] Available at:
http://ww2.educarchile.cl/UserFiles/P0029/File/Objetos_Didacticos/ELO_14_ELE/Recursos_Conce
ptuales/Programacion_de_PLC.pdf [Accessed 3 Jul. 2018].
García, D. (2018). Ejemplo programación de montacargas con autómata Omron. [online] Infoplc.net.
Available at: http://www.infoplc.net/descargas/99-omron/automatas-plc/cp1/2490-ejemplo-
programacion-plc-omron-montacargas [Accessed 3 Jul. 2018].
36