Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
AVISO: Esta página ha sido generada para facilitar la impresión de los contenidos. Los enlaces externos a otras páginas no serán funcionales.
Le ha surgido un proyecto para realizar la instalación eléctrica de una urbanización que llevará incluido un sistema domótico con
un Controlador Lógico Programable con la finalidad de controlar los circuitos y líneas eléctricas de la vivienda.
Pedro, el veterano oficial, dice que nunca ha realizado una instalación eléctrica que incorpore un sistema domótico centralizado y/o distribuido
que controle todas las áreas de la vivienda.
Afortunadamente, está Daniel, que cuando cursó el Ciclo Formativo de Grado Medio de "Equipos e Instalaciones Electrotécnicas" realizó un
montaje similar con un sistema centralizado mediante un autómata programable o PLC.
El proyecto se pudo realizar por contar la empresa con un trabajador formado en la materia.
El desafío constante que toda industria tiene planteado para ser competitiva ha sido, el motor impulsor del desarrollo de nuevas
tecnologías para conseguir una mayor productividad.
En 1968, Ford y General Motors impusieron a sus proveedores de Automatismos unas especificaciones para la realización de un sistema de
control electrónico para máquinas transfer. Este equipo debía ser fácilmente programable, sin recurrir a los computadores industriales ya en
servicio en la industria.
A medio camino entre estos microcomputadores y la lógica cableada aparecen los primeros modelos de Autómatas, también llamados
controladores lógicos programables (PLC´s). Limitados originalmente a los tratamientos de lógica secuencial, los Autómatas se desarrollaron
rápidamente, y actualmente extienden sus aplicaciones al conjunto de sistemas de control de procesos y de máquinas.
Se entiende por Autómata Programable o Controlador Lógico Programable (PLC), a toda máquina electrónica diseñada para ser programada
por personal no informático, destinados a efectuar funciones lógicas combinacionales y secuenciales en un ambiente industrial y en tiempo
real.
El progreso de la Microelectrónica permitió en la década de los 70 colocar en un solo circuito integrado la unidad central de proceso, conocida
como CPU (acrónimo de Central Processisng Unit), de un computador de una dirección bajo la denominación de micropocesador y propició el
desarrollo de autómatas programables basados en un computador de arquitectura Von Neumann.
Se comercializaron, por lo tanto PLCs que poseen capacidad de proceso de variables analógicas y de ejecución de cálculos numéricos y
perdió la validez la definición anterior.
La nueva definición sería como "Computador cuya organización (elementos de entrada y salida, forma constructiva, etc.) están especialmente
orientadas a la implementación de sistemas electrónicos de control industrial y domótico".
En esta unidad vamos a introducir las características principales de los autómatas programables aplicados a un sistema domótico y a los
lenguajes de programación LADDER y GRAFCET. La programación por bloques de función (FDB) se desarrolló en la unidad quinta. Quedaría
pendiente la programación estructurada, pero por ser una programación de más alto nivel no se desarrolla en este Ciclo Formativo.
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=33860 1/37
6/2/2019 Para ponernos en situación
Instalaciones Automatizadas por Controladores Lógicos Programables (PLCs)
Las limitaciones de los sistemas secuenciales de control realizados con relés hicieron que, en la década de los 60, diversos
fabricantes de maquinaria eléctrica llevasen a cabo tareas de investigación aplicada que dieron como resultado la comercialización,
en 1969, de sistemas digitales programables especializados en la ejecución de operaciones lógicas que recibieron la denominación
de PLC (acrónimo de Programable Logic Controller)
Los PLCs como sistema domótico, los podemos considerar de momento como un sistema centralizado, y sería una conexión punto a punto,
pero también existen interfaces para aplicar una topología tipo bus (ASi, PROFIBUS, RED TELEFÓNICA, ETHERNET) y se pueden convertir
en sistemas descentralizados o distribuidos.
Memoria
Fuente de alimentación
Periféricos
La unidad central de un autómata programable se define como un subsistema que está formado como mínimo por un microprocesador, las
unidades de memoria y procesador de comunicaciones.
A esta unidad central se le suele denominar CPU (Central Processing Unit), o Unidad Central de Proceso. La velocidad de proceso de la
unidad central distingue a unas familias de otras.
Interpretar la programación
La velocidad con que se realiza cada ciclo, es del orden de 5 a 10 ms/1K-instrucciones, se puede decir que las salidas se ejecutan en función
de las variables de entrada prácticamente en tiempo real.
Por otro lado la capacidad de memoria está muy ligada a la entrada/salida que se analiza seguidamente. Cuanto mayor es el número de
variables de entrada y salida de un autómata programable, mayor debe ser su capacidad de memoria.
Otro dato importante y muy característico es la capacidad de entradas y salidas digitales, que se define como el número máximo de variables
de entrada y salida digitales.
También hay que destacar la modularidad, que es un concepto tecnológico que hace referencia a la capacidad de un sistema para ampliar
sus prestaciones. La modularidad en los autómatas programables se refiere de forma particular a su capacidad para elevar el número de
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=33860 2/37
6/2/2019 Para ponernos en situación
entradas y salidas tanto digitales como analógicas.
De acuerdo con la modularidad de entrada y salida de los autómatas programables se pueden clasificar en tres grandes tipos:
En este último apartado Autómatas programables compacto o no modulares, es donde se encuentran clasificados los relés programables
estudiados en la unidad anterior.
Memoria
Llamamos memoria a un dispositivo que nos permite almacenar información en forma de bits (ceros y unos).
Tipos de memoria:
Memoria RAM (Random Access Memory) memoria de acceso aleatoria o memoria de lectura-escritura. En este tipo de memorias se
pueden realizar los procesos de lectura y escritura por procedimientos eléctricos, pero su información desaparece al faltarle la corriente
eléctrica.
Memoria ROM (Read Only Memory), o memoria de sólo lectura. En estas memorias se puede leer su contenido, pero no se puede
escribir en ellas; los datos e instrucciones los graba el fabricante y el usuario no puede alterar su contenido. Aquí la información se
mantiene ante la falta de corriente eléctrica.
Memoria de usuario. El programa de usuario normalmente se graba en memoria RAM, ya que no sólo ha de ser leído por el
microprocesador, sino que ha de poder ser variado, cuando el usuario lo desee, utilizando la unidad de programación. El algunos
Autómatas, la memoria RAM se auxilia de una memoria sobre del tipo EEPROM. La desconexión de la alimentación o un fallo de la
misma borraría esta memoria, ya que al ser RAM una memoria volátil necesita estar constantemente alimentada y es por ello que los
Autómatas que la utilizan llevan incorporada una batería tampón que impide su borrado.
Memoria de la tabla de datos. La memoria de este área también es del tipo RAM, y en ella se encuentra, por un lado, la imagen de los
estados de las entradas y salidas, y, por otro, los datos numéricos y variables internas, como contadores, temporizadores, marcas, etc.
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=33860 3/37
6/2/2019 Para ponernos en situación
Memoria y programa del sistema. Esta memoria, que junto con el procesador componen la CPU, se encuentra dividida en dos áreas: la
llamada memoria del sistema, que utiliza memoria RAM, y la que corresponde al programa del sistema o firmware, que lógicamente es
un programa fijo grabado por el fabricante y, por tanto, el tipo de memoria utilizado es ROM. En algunos Autómatas se utiliza
únicamente la EPROM, de tal forma que se puede modificar el programa memoria del sistema previo borrado del anterior con UV.
Memorias EPROM y EEPROM. Independientemente de otras aplicaciones, algunas ya mencionadas en los párrafos anteriores, este
tipo de memorias tiene gran aplicación como memorias copia para grabación y archivo de programas de usuario.
En informática la unidad mínima de información se denomina bit e indica las dos posiciones que pueden representarse un estado (0 ) ó (1).
Ejemplos:
Las memorias suelen estar organizadas en octetos(23 = 8) a lo que denominamos 1 bytes por estar formados por 8 bits. (1byte = 8 bits), y a
su vez, estos en palabras; cada palabra (WORD) es normalmente de 16 bits, esto es, 2 bytes. También se utiliza la doble
palabra(DOBLEWORD) 32 bits., esto es, 4 bytes.
Fuente de alimentación
La unidad de alimentación o fuente de alimentación adapta la tensión de red de 230 V y 50 Hz a la de funcionamiento de los
circuitos electrónicos internos del Autómata, así como a los dispositivos de entrada: 24 V de corriente continua.
Usualmente la entrada es una tensión alterna proveniente de la red eléctrica comercial y la salida es una tensión continua con bajo nivel de
rizado. Constan de tres o cuatro etapas:
Sección de entrada: Compuesta principalmente por un rectificador, también tiene elementos de protección como fusibles, varistores, etc.
Salida: Su misión es filtrar, controlar, limitar, proteger y adaptar la fuente a la carga a la que esté conectada.
Hay que tener en cuenta la corriente que consumen los captadores, para evitar una sobrecarga en la fuente de alimentación.
Si hay una gran cantidad de captadores, es necesaria una fuente de alimentación externa.
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=33860 4/37
6/2/2019 Para ponernos en situación
Están formadas por un conjunto de módulos acoplados y conexionados al módulo central por un soporte, y sus funciones son:
Alimentar y adaptar mediante su tensión de trabajo a los captadores y actuadores a los dispositivos electrónicos del autómata, que
trabajan a tensiones diferentes.
Módulos de entradas
A través de estos módulos se recibe la información procedente del control de un proceso domótico. La información es procesada por la
Unidad Central de Procesos, según el programa residente en la memoria.
Aquí es donde se unen o conectan los captadores o sensores del sistema domótico.
Las entradas son fácilmente identificables, ya que se caracterizan físicamente por sus bornes para acoplar los dispositivos de entrada o
captadores, por su numeración , y por su identificación Input o Entrada; llevan además una indicación luminosa de activado por medio de un
diodo LED.
Libres de tensión.
A corriente continua.
A corriente alterna.
Analógicas
Digitales
Las entradas digitales varían su estado en función de los cambios de tensión todo o nada. Es decir el valor máximo o mínimo de la tensión de
alimentación.
Ejemplo de elementos de este tipo son los interruptores, pulsadores, finales de carrera etc.
Ejemplo:
Conexión de detectores de dos y tres hilos con lógica positiva alimentados con la propia fuente de alimentación del autómata a 24 V c.c.
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=33860 5/37
6/2/2019 Para ponernos en situación
Ejemplo:
Conexión de detectores de dos y tres hilos con lógica negativa, alimentados a 24 V CC igual que el autómata.
Ejemplo:
Captadores
Existen dos tipos de captadores que son los que se conectan a los módulos de entrada de los autómatas:
Captadores pasivos
Captadores activos
Los captadores pasivos son aquellos que tienen dos estados bien diferenciados, (todo-nada) apagado-encendido (ON/OFF), realizándose
esta activación por medio de una acción mecánica.
Los captadores activos son dispositivos electrónicos que necesitan ser alimentados por una tensión para que varíe su estado lógico.
Autoevaluación
¿Qué es un PLC?
a) Un controlador de programas
b) Un relé automático programable
c) Un controlador lógico programable
Salidas digitales
La identificación de las salidas se realiza igual que en las entradas, figurando en este caso la indicación OUTPUT o SALIDA. Es en las
salidas donde se conectan o acoplan los dispositivos de salida o actuadores, e incluye un indicador luminoso LED de activado.
A relé
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=33860 6/37
6/2/2019 Para ponernos en situación
A triac
A transistor.
Estos módulos envían señales de activación y desactivación a los actuadores (relés, contactores, triac, etc.)
Ejemplo:
Ejemplo:
Ejemplo:
Comparan valores de tensión o corriente, y dan una señal cuando alcanzan los valores prefijados en la programación.
Cuando la magnitud a detectar a la entrada corresponde a una medida de por ejemplo, presión, temperatura, velocidad, etc., es necesario
disponer módulos de entradas analógicas.
Su principio de funcionamiento se basa en la conversión de la señal analógica a código binario mediante un convertidor analógico-
digital(A/D).
Campo o rango de
Intensidad o tensión Resolución Tiempo de conversión Precisión
0 ....10 V 8 bits 1 ms ±(1%+1 bit)
4 …20 mA 8 bits 1 ms en entradas
y
0 …±10 V 12 bits 1 ms ±1%
4 …20 mA 12 bits 1 ms en salidas
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=33860 7/37
6/2/2019 Para ponernos en situación
Periféricos
Son equipos con posibilidad de conexión al autómata o a la red de comunicación industrial (ASi, Profibus, Ethernet). Su misión es
facilitar la labor del usuario en tareas de grabación, presentación e impresión de datos.
Se clasifican en:
Genéricos
Específicos
Genéricos
Son elementos que tienen aplicación en otros campos de la técnica como por ejemplo ordenadores, impresoras etc.
Específicos
Son creados específicamente para un autómata y una función determinada. Ejemplo: Visualizadores, paneles de operación, cartuchos de
memoria EEPROM.
Los visualizadores se utilizan para la comunicación hombre-máquina. Desde ellos podemos realizar funciones de modificar parámetros del
sistema, mensajes de alarmas, visualizar el desarrollo del proceso y forzar E/S.
Textuales
Gráficos
Los visualizadores Textuales presentan la información en una pantalla de cristal líquido (LCD) con mensajes de texto corto.
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=33860 8/37
6/2/2019 Para ponernos en situación
Los visualizadores Gráficos representan el proceso a controlar en una pantalla de LCD táctil, pudiéndose actuar directamente sobre los
iconos representados.
Las memorias de acceso aleatorio que reciben la denominación EEPROM o E2PROM (acrónimo de Electricall y Erasable Programable Read
Only Memories).
Son pequeños módulos enchufables al autómata o PLC, en un slot específico para esa memoria.
Esta memoria tiene la ventaja de ser de reducido tamaño y rápida colocación. También permite la transferencia del programa al autómata de
una manera fácil y segura.
DeAutómatas Programables
DePrincipio de Autómatas
DeAutómatas Programables
Autoevaluación
a) Variables
b) Analógicas
c) Digitales
a) De 0....20 V
b) De 0....10 V
c) De 0...+/- 10 V
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=33860 9/37
6/2/2019 Para ponernos en situación
Programación de autómatas programables o PLCs
La programación de un autómata programable o PLC (Programmable Logic Controller) consiste en el establecimiento de una
secuencia ordenada de instrucciones que resuelven una determinada tarea de control. Dicha secuencia establece la relación entre
las distintas variables lógicas y constituye el programa del autómata programable.
Los fabricantes de autómatas programables han desarrollado para sus equipos, diversos lenguajes de programación que constituyen un
sistema de programación.
La existencia de múltiples sistemas de programación propietarios diferentes e incompatibles entre sí, propició el desarrollo de un sistema de
programación normalizado por parte de la Comisión Electrotécnica Internacional (IEC). En la actualidad coexisten el sistema de programación
normalizado y los propietarios.
Por ello, a continuación se describe uno de los sistemas de programación propietarios con mayor implantación industrial, que es el STEP7 de
Siemens y también se desarrolla el sistema de programación normalizado IEC 1131-3 (UNE-EN 611131-3)
El sistema de programación STEP7 y la norma IEC 1131-3 están formados por dos tipos de lenguajes de programación diferentes:
Lenguajes gráficos
Las instrucciones en los lenguajes literales están formadas por letras, números y símbolos especiales. Y se clasifican en:
El lenguaje de lista de instrucciones que en STEP7 se denomina STL (del inglés Statement List) o AWL (del alemán "Anweisungsliste")
que significan precisamente "Lista de Instrucciones". Es el lenguaje ensamblador de STEP7. La norma IEC 1131-3 lo denomina (IL),
también llamado Booleano.
El lenguaje de texto estructurado que en STEP7 se denomina SCL (del inglés Structured Control Language). Es un lenguaje de alto
nivel similar al Pascal que cumple la norma IEC 1131-3 y lo denomina (ST). Se utiliza para la programación de tareas complejas en las
que es necesario realizar un procesamiento de gran cantidad de datos.
Los lenguajes gráficos son lenguajes en los que las instrucciones se representan mediante figuras geométricas. Son lenguajes de este tipo:
El lenguaje de esquema de contactos que en STEP7 se denomina LAD (del inglés Ladder Diagram) o KOP (abreviatura del alemán
"Kontakts plan"). La norma IEC 1131-3 lo denomina LADDER (LD).
El lenguaje de diagrama de funciones que en STEP7 se denomina FBD (del inglés Function Block Diagram) a FUP (abreviatura del
alemán "Funktions Plan"). La norma IEC 1131-3 lo denomina también FBD.
El diagrama funcional de secuencias (Sequential Function Chart SFC) que en STEP7 se denomina S7-GRAPH, cuyo principal
antecedente es el lenguaje GRAFCET (Grafo de Control Etapa-Transición) desarrollado por la Asociación Francesa para la Cibernética
Económica y Técnica (AFCET).
El diagrama de transición de estadosS7-HiGraph y el lenguaje de conexión de bloques CFC similar al diagrama de funciones, en el que
cada bloque es a su vez un programa.
En aplicaciones sencillas, el proyecto se realiza mediante una única tarea que se encarga de la ejecución cíclica del programa.
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=33860 10/37
6/2/2019 Para ponernos en situación
Cuando la aplicación es compleja, es preciso programar varias tareas que se encarguen de la ejecución de una o más unidades de
organización del programa, denominadas "Bloques", que son instrucciones o conjuntos de instrucciones relacionadas entre sí que
proporcionan una determinada funcionalidad.
En STEP7 existen tres tipos de unidades de organización del programa, que son:
Bloques de organización,
Funciones
Bloques funcionales.
Bloques de organización
Hay determinadas tareas que deben ser ejecutadas periódicamente o cuando se producen determinados sucesos.
Los bloques reciben el nombre de bloques de organización porque contribuyen a la estructuración del programa de control.
Entre los bloques de organización más utilizados cabe citar el bloque OB1 que se ejecute cíclicamente y el bloque OB100 que se ejecuta al
pasar el autómata a la situación de paro.
Funciones
Denominada FC (abreviatura de Function), son unidades de organización del programa que tienen como objetivo:
Agrupar las instrucciones que se tienen que ejecutar varias veces a lo largo del programa.
Una función es una unidad de organización del programa que puede actuar de dos formas distintas:
Proporcionando un resultado en forma de parámetro que puede ser utilizado fuera de la propia función en el resto del programa.
Como una entidad independiente que facilita la división del programa en partes fácilmente comprensibles.
ADD (suma) ABS (cálculo del valor absoluto), SIN (seno), COS (coseno), etc.
Bloques funcionales
Denominado FB (acrónimo de Function Block), representa un algoritmo que puede ser utilizado en numerosos sistemas de control y
constituye una unidad de organización del programa que, al ser ejecutada, proporciona una o más variables de salida.
Se caracteriza por poseer variables de estado interno que pueden almacenar resultados parciales. Para ello tiene que tener asociado un
bloque de datos (DB).
Los bloques funcionales pueden realizar una función clásica como por ejemplo un biestable.
Variables y su direccionamiento
Las variables constituyen la información de los terminales de entrada/salida de un autómata programable o la contenida en una
posición de su memoria interna.
Las variables son elementos del programa que pueden cambiar de estado y como están asociadas a las entradas y salidas del autómata es
necesario etiquetarlas para que el programa pueda procesar las señales.
Una variable definida por el programador puede ser accesible desde cualquier punto del programa o solamente dentro de la unidad de
organización en la que se define. En el primer caso es global y en el segundo caso es local.
El direccionamiento de las variables de entradas y salidas consiste en identificar físicamente los diferentes elementos que componen un
módulo en el autómata programable, es decir indicar el borne de conexión en el que está conectado el captador o actuador.
Conociendo el tipo de variable a programar y el lugar que ocupa el autómata obtendremos el OPERANDO, que es necesario para elaborar
cualquier programa de autómatas.
% X M . N
Ejemplo:
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=33860 11/37
6/2/2019 Para ponernos en situación
%I1.2 indica que es la variable (%), de entrada (I), número 3 situada en el módulo número 1 del autómata.
%Q2.0 indica que es la variable (%), de salida (Q), número 2 situada en el módulo número 2.
Ejemplo:
%I3.8 vía de entrada número 8 del módulo de formato estándar situado en las posiciones número 3 y 4.
%Q4.5 vía de salida número 5 del módulo de formato estándar situado en las posiciones número 3 y 4.
En Simatic S7, las entradas quedan identificadas por la letra E y las salidas por la letra A.
X M . N
Los módulos de entrada se numeran independientemente de los módulos de salidas. Es decir, que los módulos de salidas no alteran el orden
de los módulos de entradas y viceversa.
Recuerda
Norma IEC1131-3 Simatic S7
Operando Operador Operando Operador
LD %I1.0 LD E1.0
Tipos de programación
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=33860 12/37
6/2/2019 Para ponernos en situación
Dependiendo de la estructura del programa, podemos establecer dos tipos de programación:
Programación lineal
Programación estructurada
La programación lineal consta de una sola rutina, llamada programa principal, que es ejecutada línea a línea de forma cíclica.
La programación estructurada es para automatismos más complejos. Consta de varias rutinas y subrutinas clasificadas en:
Programa principal
Subrutinas
El programa principal forma el núcleo de la aplicación y de él se deriva a los saltos de las diferentes subrutinas.
Las subrutinas son pequeños programas, con identidad propia, que cuelgan del programa principal tantas veces como necesiten ejecutarse.
Hay varios niveles de subrutinas, formando lo que se llama programa de estructura anidada.
Representación de esquemas
La lógica cableada que se ha utilizado para la realización de circuitos eléctricos, en el Módulo de Automatismos y Cuadros
Eléctricos, nos sirve para el desarrollo de los esquemas utilizados para la programación de los PLCs. Únicamente tendremos que
adaptarnos a la nemotécnia utilizada del lenguaje de programación.
Para la realización de esquemas que faciliten la elaboración del programa debemos de mantener unas reglas básicas:
Todos los esquemas comienzan desde el extremo superior izquierdo cargando un contacto.
Las acciones sobre una bobina o un grupo de bobinas se seccionan redes de contactos (Networks)
Cada red de contactos puede integrar opcionalmente una etiqueta identificativa y un comentario.
Representación de operandos
Los operandos son necesarios para la elaboración de cualquier programa de PLCs y a continuación se detalla su representación de
los más usuales.
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=33860 13/37
6/2/2019 Para ponernos en situación
Entradas
Salidas
Memorias internas
Temporizadores
Contadores
Entradas
Los captadores son los elementos que están conectados a las entradas del autómata. Se representan como contactos abiertos o cerrados
Nemotécnia:
I E
Salidas
Nemotécnia:
Q A
Memorias internas
Normalmente se le conocen por marcas o bits internos. Se comportan como relés auxiliares.
M M
Estas marcas están asociadas a contactos normalmente abiertos o cerrados, cambiando de estado cuando se activan.
Temporizadores
Los temporizadores dan una señal cuando alcanzan un valor de tiempo predeterminado.
Nemotécnia:
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=33860 14/37
6/2/2019 Para ponernos en situación
TM T
Contadores
Se representan por medio de un rectángulo y en su interior se indican las entradas y las salidas según funcionamiento preestablecido.
Nemotécnia:
C Z
DePresentación S7-200
Autoevaluación
a) Una salida
b) Una entrada
c) Una bobina
Las instrucciones que se describen a continuación son conformes a las instrucciones de base principales definidas en la norma IEC
1131.3. Utilizaremos como referencia el autómata PL7 y Twido de Schneider.
Estas instrucciones tienen siempre el mismo efecto. Sólo cambia su presentación en el programa.
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=33860 15/37
6/2/2019 Para ponernos en situación
Estas dos ecuaciones booleanas son equivalentes. El objeto bit %Q2.0 asume el valor
Instrucciones booleanas
Las instrucciones booleanas actúan sobre todas las informaciones del tipo bit (bits de
entradas/salidas, bits internos...).
El objeto bit asociado toma el valor lógico del resultado del elemento de prueba.
Ecuación booleana:
Las instrucciones de prueba permiten detectar el flanco ascendente o descendente en los bits de entradas y salidas de autómatas o en los
bits internos.
Elementos de prueba
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=33860 16/37
6/2/2019 Para ponernos en situación
Elementos de acción
Instrucciones de carga
Instrucciones de asignación
Instrucciones Y lógica
Instrucciones O lógica
Instrucciones O exclusiva
Instrucciones de carga
Contactos de cierre: se establecen cuando el objeto bit que los controla = estado 1,
Contactos de apertura: se establecen cuando el objeto bit que los controla = estado 0,
Contactos de flanco ascendente: detección del paso de 0 a 1 del objeto bit que los controla,
Contactos de flanco descendente: detección del paso de 1 a 0 del objeto bit que los controla.
Instrucciones de asignación
Bobinas directas: el objeto bit asociado toma el valor del resultado de la ecuación,
Bobinas inversas: el objeto bit asociado toma el valor de inverso del resultado de la ecuación,
Instrucciones Y lógica
Una Y lógica entre el inverso del operando y el resultado booleano de instrucción previa.
Una Y lógica entre el flanco ascendente del operando y el resultado booleano de instrucción previa.
Una Y lógica entre el flanco descendente del operando y el resultado booleano de instrucción previa.
Instrucciones O lógica
Una O lógica entre el inverso del operando y el resultado booleano de la instrucción previa,
Una O lógica entre el flanco ascendente del operando y el resultado booleano de la instrucción previa,
Una O lógica entre el flanco descendente del operando y el resultado booleano de la instrucción previa.
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=33860 18/37
6/2/2019 Para ponernos en situación
Utilización de paréntesis
Las instrucciones AND y OR pueden utilizar paréntesis. Estos paréntesis permiten realizar esquemas de contactos de forma sencilla. El signo
de abertura de paréntesis se asocia a la instrucción AND u OR. El paréntesis de cierre es una instrucción que es obligatoria para cada
paréntesis abierto.
Ejemplo:
Ejemplo:
Ejemplo:
Ejemplo:
Ejemplo:
Notas:
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=33860 19/37
6/2/2019 Para ponernos en situación
Las etiquetas %Li: y los subprogramas %SRi: no deberán colocarse en expresiones entre paréntesis, así como las instrucciones de
salto JMP y de llamada a subprograma SRi,
Flanco positivo
Ejemplo:
Un pulsador asociado a una operación de flanco positivo solamente generará la señal 1 en el instante que se pulsa, pasando a la situación 0
inmediatamente, aunque se mantenga la acción sobre él.
Flanco negativo
Ejemplo:
Un pulsador asociado a una operación de flanco negativo solamente generará la señal 1 en el instante de soltar el pulsador, pasando a la
situación 0 inmediatamente.
Estas tres instrucciones permiten tratar los encaminamientos hacia las bobinas. Utilizan una memoria intermedia llamada pila que
puede almacenar hasta 8 informaciones booleanas.
La instrucción MPS (Memory PuSh) almacena el resultado de la última instrucción de prueba en lo alto de la pila y desplaza los demás
valores hacia el fondo de la pila.
La instrucción MPP (Memory PoP) lee la parte alta de la pila, la desalmacena y desplaza los demás valores hacia lo alto de la pila.
Funcionamiento
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=33860 20/37
6/2/2019 Para ponernos en situación
hacia la parte superior del stack.
Ejemplo: Funcionamiento
Operaciones de memoria
Una función de memoria es aquella que genera un evento, y lo mantiene aunque cese la acción inicial que lo originó.
Para trabajar con automatismos secuenciales, es necesario dominar correctamente las operaciones con memoria.
Ejemplos:
Diagrama Ladder:
Lista de instrucciones.
memoria
LD % I1.1 LD % I1.5
OR % Q2.1 ST % M3
ANDN % I1.2 LD % M3
ST % Q2.1 ST % Q2.3
LDN % M3
ST % Q2.4
Instrucciones O exclusiva
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=33860 21/37
6/2/2019 Para ponernos en situación
Una O exclusiva entre el operando y el resultado booleano de la instrucción previa,
Una O exclusiva entre el inverso del operando y el resultado booleano de la instrucción previa,
Una O exclusiva entre el flanco ascendente del operando y el resultado booleano de la instrucción previa,
Una O exclusiva entre el flanco descendente del operando y el resultado booleano de la instrucción previa.
A fin de optimizar el espacio de memoria ocupado, es necesario definir previamente el tipo y el número de los bloques de función utilizados,
dentro de los límites impuestos por el sistema (mediante los editores de configuración y de datos).
Nota
Únicamente se describirán los bloques de función de temporizadores y contadores por ser los elementos de mayor uso.
Salidas (ejemplo: Q) que indican su estado. A cada salida se asocia un bit de salida (ejemplo: %TM1.Q) que puede ser probado por el
programa de usuario. Además, cada salida puede controlar una o varias bobinas (ejemplo: %Q2.3 y SR2),
Los parámetros de los bloques de función (preselección, valor actual...) se visualizan dentro del bloque. En el lenguaje Lista de instrucciones,
las instrucciones programan los bloques predefinidos.
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=33860 22/37
6/2/2019 Para ponernos en situación
TON: permite administrar retardos a la conexión. El retardo es programable y puede ser modificado o no desde el terminal.
TOF: permite administrar retardos a la desconexión. El retardo es programable y puede ser modificado o no desde el terminal.
TP: permite elaborar un impulso de una duración precisa. La duración es programable y puede ser modificada o no desde el terminal.
Características
El temporizador se activa en un flanco ascendente de la entrada IN: su valor actual %TMi.V toma el valor 0.
Luego, el valor actual aumenta hacia %TMi.P en una unidad a cada impulso de la base de tiempo TB.
El bit de salida %TMi.Q pasa a 1 cuando el valor actual alcanza %TMi.P y permanece a 1mientras la entrada está en el estado 1.
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=33860 23/37
6/2/2019 Para ponernos en situación
Cuando la entrada IN pasa al estado 0, el temporizador se detiene aun cuando estaba en curso de evolución: %TMi.V toma el valor 0.
El valor actual %TMi.V toma el valor 0 en un flanco ascendente de la entrada IN (aun cuando el temporizador está en curso de evolución). El
temporizador se activa en un flanco descendente de la entrada IN.
Luego, el valor actual aumenta hacia %TMi.P en una unidad a cada impulso de la base de tiempo TB. El bit de salida %TMi.Q pasa a 1
cuando se detecta un flanco ascendente en la entrada IN y el temporizador se pone a 0 cuando el valor actual alcanza %TMi.P.
Monoestable: modo TP
El temporizador se activa en un flanco ascendente de la entrada IN: su valor actual %TMi.V toma el valor 0 (si el temporizador no está en
curso de evolución).
Luego el valor actual aumenta hacia %TMi.P en una unidad a cada impulso de la base de tiempo TB. El bit de salida %TMi.Q pasa a 1
cuando el temporizador se activa y se pone a 0 cuando el valor actual alcanza %TMi.P.
Cuando la entrada IN y la salida %TM.iQ están a 0, TMi.V toma el valor 0. Este monoestable no puede reactivarse.
Programación y configuración
La programación de los bloques de función temporizador es idéntica en todos los modos de utilización. La elección del funcionamiento TON,
TOF o TP se efectúa en el editor de variables.
Configuración
%TMi.P: 0 a 9999.
MODIF : Y o N.
Programación
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=33860 24/37
6/2/2019 Para ponernos en situación
Casos específicos
Incidencia de un arranque en frío: (%S0=1) tiene como consecuencia la puesta a 0 del valor actual y la puesta a 0 de la salida %TMi.Q.
El valor de preselección se reinicializa al valor definido en la configuración.
Incidencia de un rearranque en caliente: (%S1=1) no tiene incidencia en el valor actual del temporizador, ni en el valor de preselección.
El valor actual no evoluciona durante el corte de corriente.
Incidencia de un paso a STOP, una desactivación de tarea o una ejecución de punto de parada: no inmoviliza el valor actual.
Incidencia de un salto de programa: el hecho de no explorar las instrucciones donde se programa el bloque temporizador no inmoviliza
el valor actual %TMi.V que sigue aumentando hacia %TMi.P. Asimismo, el bit %TMi.Q asociado a la salida Q del bloque temporizador
conserva su funcionamiento normal y, por consiguiente, puede ser probado por otra instrucción. En cambio, no se activa la salida
cableada directamente a la salida del bloque, puesto que no la explora el autómata.
Prueba del bit %TMi.Q: se aconseja probar el bit %TMi.Q una sola vez en el programa.
Incidencia de la modificación de la preselección %TMi.P: la modificación del valor de preselección, mediante una instrucción o en modo
de ajuste, se acepta sólo cuando se activa el temporizador por próxima vez; la modificación del valor de preselección en el editor de
variables se acepta sólo después de un arranque en frío (%S0=1).
Ejemplo:
Dos lámparas conectadas a las salidas del PLC se encienden cíclicamente, en el orden 1-2, cuando es accionado un interruptor. El tiempo de
tiempo de una lámpara a otra es de 2 segundos.
Configuración
Temporizador TON
Base de tiempos, TB en segundos.
Valor de preselección %TMi.P: P = 2
Modif: Y
Programación
LD % I1.1
ANDN %M1
IN %TM1
LD %TM1.Q
ST % Q2.1
LD % Q2.1
IN %TM2
LD %TM2.Q
ST %Q2.2
LD %Q2.2
IN %TM3
LD %TM3.Q
ST %M1
El bloque de función contaje/descontaje permite contar o descontar sucesos. Estas dos operaciones pueden ser simultáneas.
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=33860 25/37
6/2/2019 Para ponernos en situación
Características
Funcionamiento
Contaje: al aparecer un flanco ascendente en la entrada de contaje CU, el valor actual se aumenta en una unidad. Cuando este valor
alcanza el de preselección %Ci.P, el bit de salida %Ci.D "preselección alcanzada" asociado a la salida D pasa al estado 1. El bit de
salida %Ci.F (rebasamiento de contaje) pasa al estado 1 cuando %Ci.V pasa de 9999 a 0; se pone a 0 si el contador sigue contando.
Descontaje: al aparecer un flanco ascendente en la entrada de descontaje CD, el valor actual %Ci.V se disminuye en una unidad. El bit
de salida %Ci.E (rebasamiento de descontaje) pasa al estado 1 cuando %Ci.V pasa de 0 a 9999; se pone a 0 si el contador sigue
descontando.
Contaje/Descontaje: para utilizar simultáneamente las funciones contaje y descontaje, es necesario controlar las dos entradas
correspondientes (CU y CD), que se exploran sucesivamente. Si ambas entradas están simultáneamente en el estado 1, el valor actual
permanece sin cambiar.
Puesta a cero: cuando la entrada R se pone 1, el valor actual %Ci.V se fuerza a 0. Las salidas %Ci.E, %Ci.D y %Ci.F están en el estado
0. La entrada "puesta a cero" es prioritaria.
Preselección: si la entrada S "preselección" está en el estado 1 y la entrada R "puesta a cero" en el estado 0, el valor actual %Ci.V toma
el valor %Ci.P y la salida %Ci.D el valor 1.
Ejemplo:
Contaje de un número de piezas = 5000. Cada impulso en la entrada %I1.2 (cuando el bit interno %M0 = 1) incrementa el contador %C8
hasta el valor de preselección final del contador %C8 (bit %C8.D=1). La entrada %I1.1 pone el contador a cero.
Configuración
MODIF : Y.
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=33860 26/37
6/2/2019 Para ponernos en situación
Programación
Tabla de bits,
Palabra,
Doble palabra.
En el lenguaje de contactos
Las instrucciones se colocan entre corchetes. Se ejecutan, si el resultado booleano de la instrucción de prueba que precede a la instrucción
numérica es 1.
Lista de operandos
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=33860 27/37
6/2/2019 Para ponernos en situación
%NW %NW{j} k palabra común R/W -
palabra. extraida. de
%BLK Ejemplo: %TMi.P bloque función R/W (2) -
estándar o de DFB
Tiempo de actividad
%Xi.T %Xi.T o %Xj.i.T R %Xi.T
etapa
(2) escritura según el tipo de palabra, por ejemplo: los valores de preselección (%Ci.P pueden ser escritos, mientras los valores actuales
%Ci.V sólo pueden ser leídos).
Instrucciones de comparación
Estas instrucciones permiten comparar dos operandos. Con esta simbología los comparamos y, cuando la comparación solicitada
es verdadera, el resultado es 1
Simbología de comparación:
Estructura
La comparación se realiza dentro de corchetes después de las instrucciones LD, AND y OR.
Instrucciones de programa
Estas instrucciones de programa permiten gestionar las diferentes acciones que intervienen en la estructura del programa.
Llamada a un subprograma
Regreso de subprograma
Salto de programa
Instrucciones fin de programa
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=33860 28/37
6/2/2019 Para ponernos en situación
Llamada a un subprograma
La instrucción de llamada a un subprograma permite llamar a un módulo de subprograma situado en la misma tarea.
Estructura
Reglas
Para efectuar una llamada a un subprograma, es necesario crear previamente el módulo de subprograma.
Se regresa del subprograma con la acción que viene inmediatamente después de la instrucción de llamada al subprograma.
Los subprogramas se asignan a una tarea; sólo pueden llamarse desde una misma tarea.
Regreso de subprograma
Permite regresar hacia el módulo que llama, si el resultado booleano de la instrucción de prueba previa es 1.
Estructura
Regla de utilización
La instrucción de regreso del subprograma se realiza implícitamente al final de cada subprograma, pero puede ser utilizada para regresar al
módulo que llama antes del fin de subprograma.
Ejemplo
Salto de programa
Las instrucciones de salto permiten desviar a una línea de programación marcada de una etiqueta %Li.
%Li representa la etiqueta de la línea en la que se efectúa la desviación (i = una variable de 1 a 999 con un máximo de 256 etiquetas).
Estructura
Ejemplo:
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=33860 29/37
6/2/2019 Para ponernos en situación
Lenguaje de contactos Lenguaje Lista de instrucciones
Ejemplo:
Ejemplo:
Reglas
Un salto de programa se efectúa dentro de una misma entidad de programación (módulo principal de una tarea maestra MAIN,
subprograma %SRi, ...).
Un salto de programa se efectúa hacia una línea de programación situada arriba o abajo.
Si se trata de un salto hacia arriba, el tiempo de ejecución del programa se extiende y puede tener como consecuencia el rebasamiento del
período de la tarea que incluye el salto.
Las instrucciones END, ENDC y ENDCN permiten definir el fin de ejecución del ciclo de programa.
De forma predeterminada (modo normal), cuando se activa el fin de programa, se actualizan las salidas y se pasa al ciclo siguiente.
Si la exploración es periódica, se espera el fin de período, se actualizan las salidas y se pasa al ciclo siguiente.
Nota
Estas instrucciones pueden utilizarse únicamente en el lenguaje Lista de instrucciones en la tarea maestra.
Ejemplo
DeLenguajes de programación
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=33860 30/37
6/2/2019 Para ponernos en situación
DeManual A PL7
DeManual B PL7
DeSoftware Twido
DeCatálogo Twido
deTwido Initron
DeModem Twido
Autoevaluación
a) Un temporizador
b) Una bobina
c) Un Set
Grafcet
Esta descripción gráfica del comportamiento secuencial del automatismo y de las situaciones que son su consecuencia se efectúa mediante
símbolos gráficos sencillos:
Una sección de programa escrito en lenguaje Grafcet comprende tres tratamientos consecutivos:
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=33860 31/37
6/2/2019 Para ponernos en situación
Tratamiento preliminar:
Permite tratar:
Preposicionar el gráfico,
Lógica de entrada.
Tratamiento secuencial:
Permite tratar el esquema secuencial de la aplicación y da acceso al tratamiento de las receptividades y acciones directamente asociadas a
las etapas.
Tratamiento posterior:
Permite tratar:
La lógica de salida,
Tratamiento preliminar
Introducido en el lenguaje de contactos, en el lenguaje Lista de instrucciones o en el lenguaje Literal, el tratamiento preliminar se explora en
su totalidad desde arriba hacia abajo.
Ejecutado antes de los tratamientos secuencial y posterior, permite tratar todos los sucesos que tienen una influencia sobre éstos:
Es pues únicamente en el tratamiento preliminar que actuará sobre los bits asociados a las etapas (puesta a 0 o a 1 de los bits etapas %Xi
por las instrucciones Set y Reset).
Puede ser necesario preposicionar un Grafcet cuando el funcionamiento pasa de la marcha normal a una marcha especial o cuando aparece
un incidente (ejemplo: falla que causa una marcha deteriorada).
Esta operación interviene en el desarrollo normal del ciclo de la aplicación; debe pues efectuarse con precaución. El posicionamiento puede
comprender la totalidad o una parte del tratamiento secuencial:
Mediante la puesta a cero general (%S22) y luego, en el ciclo siguiente, posicionamiento a 1 de las etapas.
Nota
Si se trata de la puesta a cero de una etapa cuando ésta se desactiva, las acciones no se ejecutan.
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=33860 32/37
6/2/2019 Para ponernos en situación
Ya que los bits sistema asociados al Grafcet se clasifican numéricamente en orden de prioridad (%S21 a %S23), cuando varios de ellos se
ponen simultáneamente a 1 en el tratamiento preliminar, éstos se tratan uno a uno en el orden creciente (uno solo es válido por ciclo de
exploración). Estos bits se validan al inicio del tratamiento secuencial.
Utilización
Cuando el programa de usuario efectúa la gestión, %S21 debe ponerse a 0 o a 1 en el tratamiento preliminar.
Normalmente en el estado 0, la puesta a 1 de %S22 desactiva las etapas activas de todo el tratamiento secuencial.
Utilización
El sistema pone %S22 a cero; por consiguiente, es inútil ponerlo a 0 desde el programa o el terminal.
Para rearrancar el tratamiento secuencial en una situación dada, el usuario debe prever según su aplicación un procedimiento de
inicialización o de preposicionamiento del Grafcet.
Tratamiento secuencial
Este tratamiento permite programar el esqueleto secuencial de la aplicación. El tratamiento secuencial comprende:
Principio de evolución
Fase 1
Fase 2
El sistema actualiza dos tablas dedicadas respectivamente a la actividad de las etapas y a la validez de las transiciones:
La tabla de actividad de las etapas memoriza, para el ciclo actual, las etapas activas, las etapas que se deben activar y desactivar,
La tabla de validez de las transiciones memoriza, para el ciclo actual, las transiciones situadas debajo de las etapas relativas a la tabla
previa.
Fase 3
Tratamiento posterior
Introducido en el lenguaje de contactos, en el lenguaje Lista de instrucciones o en el lenguaje Literal estructurado, el tratamiento posterior se
explora desde arriba hacia abajo.
El tratamiento posterior permite completar los valores de consigna emitidos por el tratamiento secuencial integrando en la ecuación de una
salida los modos de marcha y de parada y las seguridades indirectas relativas a la acción. Permite también tratar una salida activada varias
veces en el tratamiento secuencial.
De forma general, se aconseja programar las acciones que actúan directamente sobre el proceso en el tratamiento posterior.
Ejemplo:
%M26 : bit interno resultado de la lógica de entrada que trata los modos de marcha y de parada.
Instrucciones Grafcet
En la tabla siguiente se enumeran todas las instrucciones y objetos necesarios para programar un diagrama Grafcet.
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=33860 34/37
6/2/2019 Para ponernos en situación
Ejemplos de Grafcet
Secuencia lineal
Secuencia alternativa
Secuencia simultáneas
Procesamiento previo
Procesamiento secuencial
Procesamiento posterior
Recuperación de la alimentación
Errores
Cambios de modo de funcionamiento
Pasos Grafcet de ubicación previa
Entrada lógica
El flanco ascendente de la entrada %I0.6 pone a 1 el bit %S21. Gracias a ello, se desactivan los pasos activos y se activan los pasos
iniciales.
El procesamiento previo comienza con la primera línea del programa y finaliza con la primera aparición de una instrucción "= * =" o "- * -".
Existen tres bits de sistema designados al control de Grafcet: %S21, %S22 y %S23.
La aplicación ajusta cada uno de estos bits de sistema a 1 (si es necesario), normalmente durante el procesamiento previo.
El sistema lleva a cabo la función asociada cuando finaliza el procesamiento previo y, entonces, el sistema restablece el bit de sistema a 0.
Pasos
Acciones asociadas a los pasos
Transiciones
Condiciones de transición
DeProgramación Grafcet
DeGrafcet
DeGrafcet PL7
Autoevaluación
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=33860 36/37
6/2/2019 Para ponernos en situación
https://aulafp1819.castillalamancha.es/blocks/recopila/view.php?id=33860 37/37