Sistemas de control secuencial
____________________________________________________________________________________

AUTOMATISMOS

TEMA 1 : INTRODUCCIÓN A LOS AUTOMATISMOS
1

INTRODUCCIÓN
1.1
Definición de automatización
1.2
Introducción

2

EL PROCESO TÉCNICO
2.1
Procesos continuos
2.2
Procesos discretos
2.3
Procesos discontinuos o por lotes

3

FORMAS DE REALIZAR EL CONTROL SOBRE UN PROCESO
3.1
Control en lazo abierto ( bucle abierto )
3.2
Control en lazo cerrado ( bucle cerrado )

4

OPCIONES TECNOLÓGICAS
4.1
Lógica cableada
4.2
Lógica programada
4.3
Organigramas para desarrollar el control de un proceso
4.4
Fases de estudio en la elaboración de un automatismo

5

ANÁLISIS DE LOS AUTOMATISMOS
5.1
Lógica combinacional
5.2
Lógica secuencial

TEMA 2 : REPRESENTACIÓN DE LOS AUTOMATISMOS
1

LÓGICA DE CONTACTOS
1.1
Elementos de entrada
1.2
Elementos de salida
1.3
Asociación de elementos
1.3.1 Función lógica O
1.3.2 Función lógica Y
1.3.3 Función O lógica de funciones Y
1.3.4 Función Y lógica de funciones O

2

LÓGICA DE FUNCIONES
2.1
Función "O" u "OR" ( Suma lógica )
2.2
Función "Y" O "AND" ( Producto lógico )
2.3
Función NOT ( Negación, inversión o complemento )
2.4
Función NOR ( NO-O )
2.5
Función NAND ( NO - Y )
2.6
Función OR - Exclusiva ( XOR )
2.7
Función NOR - Exclusiva ( XNOR )
2.8
Función IGUALDAD

____________________________________________________________________________________
Índice
pág. 1
Sistemas de control secuencial
____________________________________________________________________________________
3

LÓGICA NEUMÁTICA
3.1
Función "O" u "OR" ( Válvula selectora de circuito )
3.2
Función "Y" O "AND" ( Válvula de simultaneidad )
3.3
Función NO ( Negación, inversión o complemento )
3.4
Función NOR ( NO-O )
3.5
Función NAND ( NO - Y )
3.6
Función OR - Exclusiva ( XOR )
3.7
Función NOR - Exclusiva ( XNOR )
3.8
Función IGUALDAD

4

IMPLEMENTACIÓN DE FUNCIONES
4.1
Implementación de funciones lógicas con contactos
4.2
Implementación de funciones con puertas lógicas
4.2.1 Implementación de funciones con puertas NAND
4.2.2 Implementación de funciones con puertas NOR
4.3
Implementación de funciones con elementos neumáticos

TEMA 3 : ÁLGEBRA DE BOOLE
1

AXIOMAS DEL ÁLGEBRA DE BOOLE
1.1
Postulados y teoremas

2

TEOREMA DE DE MORGAN

3

FORMAS DE UNA FUNCIÓN BOOLEANA

4

CONVERSIÓN ENTRE FORMAS

5

SIMPLIFICACIÓN DE FUNCIONES
5.1
Método algebraico
5.2
Métodos tabulares de simplificación
5.2.1 Tablas de Karnaugh
Simplificación de ecuaciones en tablas de Karnaugh
Estados indiferentes
Azares o " Aleas tecnológicas "
5.2.2 Tablas de Quine-McCluskey

TEMA 4 : GRAFCET
1

INTRODUCCIÓN

2

EL GRAFCET
2.1
Principios básicos

3

DEFINICIÓN DE CONCEPTOS Y ELEMENTOS GRÁFICOS ASOCIADOS
3.1
Etapa
3.2
Acción asociada
Reales, Virtuales
Incondicionales
Condicionales
3.3
Transición y receptividad
3.4
Arco
3.5
Trazos paralelos

____________________________________________________________________________________
Índice
pág. 2
Sistemas de control secuencial
____________________________________________________________________________________
4

CONDICIONES EVOLUTIVAS

5

ESTRUCTURAS EN EL GRAFCET
5.1
Estructuras básicas
Secuencia única
Secuencias paralelas
5.2
Estructuras Lógicas

5.3

Divergencia en OR
Convergencia en OR
Posibilidades de utilización de estas estructuras
Divergencia en AND
Convergencia en AND
Saltos condicionales. Retención de secuencia
Repetición de secuencias. Concepto de macroetapa
Situaciones Especiales
5.3.1 Evoluciones simultáneas
5.3.2 Acciones y receptividades temporizadas
5.3.3 Transiciones temporizadas
5.3.4 Acción mantenida

6

IMPLEMENTACIÓN DE UN AUTOMATISMO A TRAVÉS DEL GRAFCET
6.1
Módulo secuenciador de etapa
6.2
Obtención de las funciones lógicas a partir del diagrama GRAFCET
6.2.1 Ecuación de activación / desactivación
6.2.2 Ecuaciones de activación de operaciones de mando
6.3
Funciones lógicas de activación / desactivación y estructuras lógicas
6.3.1 Divergencia en OR
6.3.2 Convergencia en OR
6.3.3 Divergencia en AND
6.3.4 Convergencia en AND

7

CICLOS DE EJECUCIÓN : TIPOS
7.1
Marcha ciclo a ciclo
7.2
Marcha automática / Parada de ciclo
7.3
Marcha automática / Marcha ciclo a ciclo
7.4
Marcha de verificación en el orden del ciclo

8

TRATAMIENTO DE ALARMAS Y EMERGENCIAS
8.1
Sin secuencia de emergencia
8.2
Con secuencia de emergencia

TEMA 5 : TEORÍA BINODAL
1

INTRODUCCIÓN

2

CONCEPTOS BINODALES BÁSICOS
2.1
Definición general de binodo. Variables de acción
2.2
Binodo " mono " o " monodo ". Gráfico representativo
2.2.1 Obtención de la ecuación lógica del binodo mono
2.3
Binodo " bi ". Grafo de secuencia representativo
2.4
Teoremas del binodo " bi "
1º Teorema ( prioridad de la v.d.a. negadora )
2º Teorema ( prioridad de la v.d.a. creadora )
2.5
Multinodo. Grafo de secuencia
2.6
Condicionantes parciales y generales

____________________________________________________________________________________
Índice
pág. 3
Sistemas de control secuencial
____________________________________________________________________________________
3

DISEÑO BINODAL DE AUTOMATISMOS SECUENCIALES
3.1
Variables de acción ( v.d.a )
3.2
Estados de acción
3.2.1 Estados de acción idénticos
3.2.1.1 Estados de acción idénticos compatibles
3.2.1.2 Estados de acción idénticos incompatibles
3.2.3 Estados de acción no idénticos e incompatibles

4

DISEÑO BINODAL DE AUTOMATISMOS SECUENCIALES QUE NO PRESENTAN
ESTADOS IDÉNTICOS INCOMPATIBLES

5

DISEÑO BINODAL DE AUTOMATISMOS SECUENCIALES QUE
ESTADOS IDÉNTICOS INCOMPATIBLES
5.1
Automatismos con variable auxiliar
5.2
Variables auxiliares
5.3
Variables directivas
5.3
Discriminación de estados de acción incompatibles
5.4
Dominio de una variable
5.5
Dominio de una situación binodal
5.6
Estados inoperantes o transitorios
5.7
Estados inoperantes o transitorios

6

DISEÑO BINODAL DE AUTOMATISMOS SECUENCIALES GOBERNADOS POR LOS
CAMBIOS DE NIVEL ( FLANCOS ) EN SUS ENTRADAS
a)
Solución mediante variable P diferenciada
b)
Solución actuando P por flanco explícito
b)
Solución actuando P por flanco implícito

7

DISEÑO BINODAL DE AUTOMATISMOS SECUENCIALES CON TEMPORIZADOR
7.1
Introducción
7.2
Tipos de temporización
7.2.1.- Temporización en la activación Ata
7.2.2.- Temporización en la desactivación Atd
7.2.3.- Temporización en la activación y en la desactivación Atad
A.- Inversión a la salida
B.- Inversión a la entrada
7.3
Detección de monodos con apariencia de binodos

8

AUTOMATISMOS CON BINODOS DE APOYO

PRESENTAN

TEMA 6 : AUTÓMATA PROGRAMABLE FESTO FPC 404
1

OPERANDOS DE LOS FPC DE FESTO
1.1
1.2
1.3

Operandos monobit y multibit
1.1.1 Operandos Monobit
1.1.2 Operandos Multibit
Operandos locales y globales
1.2.1 Operandos Globales
1.2.2 Operandos Locales
Operadores

____________________________________________________________________________________
Índice
pág. 4
Sistemas de control secuencial
____________________________________________________________________________________
2

ESTRUCTURA DE PROGRAMACIÓN AWL
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9

Jerarquía de los elementos awl
Instrucción step ( paso )
Frases
2.3.1 Frases típicas
Instrucción step
Reglas de ejecución
Influencia en el flujo del programa
Instrucción nop
Instrucción jmp
Instrucción othrw

3

RESUMEN DE INSTRUCCIONES AWL

4

REFERENCIA DE LAS INSTRUCCIONES AWL
AND
BID
CFM
CMP
CPL
DEB
DEC
EXOR
INC
INV
JMP TO
LOAD...TO
NOP
OR
PSE
RESET
ROL
ROR
SET
SHIFT
SHL
SHR
SWAP

5

TEMPORIZADORES
5.1
El temporizador
5.2
Funcionamiento de un temporizador
5.3
Utilización de un temporizador
5.3.1 Inicialización de un preselector de temporizador
Ejemplo: Inicialización de un Preselector de Temporizador con una base de tiempo
Ejemplo : Inicialización de un Preselector de Temporizador sin una base de tiempo
5.3.2 Activación de un temporizador
5.3.3 Interrogación del estado de un temporizador
5.3.4 Paro de un temporizador
5.4
Ejemplos
5.4.1 Retardo de la conexión
5.4.2 Retardo de la desconexión
5.4.3 Impulso de temporización
5.4.4 Impulso de desconexión

____________________________________________________________________________________
Índice
pág. 5
Sistemas de control secuencial
____________________________________________________________________________________

5.5

6

5.4.5 Impulso secuencial
5.4.6 Luz intermitente
5.4.7 Eliminación de rearranques no deseados utilizando la estructura step de awl
5.4.8 Eliminación de continuos rearranques de temporizadores en procesos
paralelos
Programas de enlaces lógicos para la ejecución de funciones de temporizadores
5.5.1 Ejemplo : retardo de conexión
5.5.2 Ejemplo relacionado a la función de temporizador

CONTADORES
6.1
Generalidades
6.1.1 Contadores de hardware
6.1.2 Contadores rápidos
6.1.3 Indicación del estado efectivo del contador
6.1.4 Método multiplexor
6.1.5 Programa para visualizar el estado del contador
6.2
6.3

6.4

6.5

Funciones de los contadores
6.2.1 Aplicación
6.2.2 Programación de una función de contador
Utilización de contadores
6.3.1 Contadores estándar
6.3.2 Utilización de Contadores estándar
6.3.3 Inicialización de un Preselector de Contador
Ejemplo: Inicialización de un Preselector de Contador con un valor absoluto
Ejemplo : Inicialización de un Preselector de Contador con un MBO
6.3.4 Activación de un Contador
6.3.5 Interrogación del estado de un Contador
6.3.6 Conteo de eventos
6.3.7 Parada de un Contador
Ejemplos
6.4.1 Contadores estándar
6.4.2 Contadores ASCENDENTES / DESCENDENTES
Ejemplo : Utilización de un Registro como contador
Programas de enlaces lógicos para la ejecución de funciones de contadores y
temporizadores
6.5.1 Ejemplo relacionado a la función de contador

7

UTILIZACIÓN DE REGISTROS
7.1
EJEMPLOS
Utilización de Registros en la parte condicional de una frase
Utilización de Registros en la parte ejecutiva de una frase

8

FLAGs Y FLAG WORD
8.1
Similitudes con otros operandos multibit
8.2
Diferencias otros operandos multibit
8.3
Ejemplos
8.3.1 Ejemplos en la parte Condicional
8.3.2 Ejemplos en la parte Ejecutiva
8.3.3 Registros de desplazamiento

____________________________________________________________________________________
Índice
pág. 6
Sistemas de control secuencial
____________________________________________________________________________________
9

ACCESO A LAS ENTRADAS Y SALIDAS
9.1
Organización de las e/s ( i/o )
9.2
Palabras de e/s ( i/o words )
9.3
Entradas discretas de i/o
9.4
Uso de entradas en programas
9.4.1 Entradas discretas
9.4.2 Palabras de entrada ( Input Words )
9.5
Uso de salidas en programas
9.5.1 Salidas discretas
9.5.2 Palabras de Salida ( Output Words )

10

DETECCIÓN DE FLANCOS
10.1 Flancos
10.1.1 Flancos positivos y negativos
10.2 Recordador de flancos
10.3 Programación de la evaluación de flancos positivos y negativos

11

MULTITAREA
11.1 Funcionamiento automático y manual
11.2 Funciones
11.3 Realización con orden de salto ( recuperación de subprogramas )
11.3.1 Órdenes de salto / Órdenes de salto hacia atrás
11.4
11.5

12

11.3.2 Orden de salto con retorno automático ( recuperación de subprograma )
Realización con la técnica de procesadores
Procesadores y programas
Activación de un programa
Cancelación de un programa
Activación de un procesador
Cancelación de un procesador

PROGRAMAS DE EJEMPLO
Ejemplo 1.
Completamente secuencial
Ejemplo 2.
Principalmente secuencial con algunas acciones aleatorias
Ejemplo 3.
Acciones completamente aleatorias
Ejemplo 4.
Secuencias múltiples y acciones aleatorias
Máquina Transfer rotativa multi-estación

____________________________________________________________________________________
Índice
pág. 7
Sistemas de control secuencial
____________________________________________________________________________________

TEMA 1 : INTRODUCCIÓN A LOS AUTOMATISMOS

____________________________________________________________________________________
Introducción a los automatismos
pág. 1
Sistemas de control secuencial
____________________________________________________________________________________

Firma no
verificada

JMGO

Firmado digitalmente
por JMGO
Nombre de
reconocimiento (DN):
cn=JMGO,
o=EDUCACION,
ou=ELECTRICIDAD/EL
ECTRONICA, c=ES
Fecha: 2003.11.11
12:00:21 +01'00'

____________________________________________________________________________________
Introducción a los automatismos
pág. 2
Sistemas de control secuencial
____________________________________________________________________________________

1

INTRODUCCIÓN

1.1

Definición de automatización

La Real Academia de Ciencias Exactas Físicas y Naturales define la Automática como
el estudio de los métodos y procedimientos cuya finalidad es la sustitución del operador
humano por un operador artificial en la generación de una tarea física o mental
previamente programada.
Partiendo de esta definición y ciñéndonos al ámbito industrial, puede definirse la
Automatización como " El estudio y aplicación de la Automática al control de los
procesos industriales "
1.2

Introducción

La automatización de un proceso industrial ( máquina, conjunto o equipo industrial )
consiste en la incorporación al mismo, de un conjunto de elementos y dispositivos
tecnológicos que aseguren su control y buen comportamiento.
Dicho automatismo, en general, ha de ser capaz de reaccionar frente alas situaciones
previstas de antemano, y por el contrario, frente a imponderables, tener como objetivo
situar al proceso y a los recursos humanos que lo asisten en una situación más
favorable.
Históricamente, los objetivos de la automatización han sido el procurar la reducción de
costes de fabricación, la calidad constante en los medios de producción, y liberar al ser
humano de las tareas tediosas, peligrosas o insalubres.
Sin embargo, desde los años 60, debido a la alta competitividad empresarial y a la
internacionalización creciente de los mercados, estos objetivos han sido ampliamente
incrementados.
Téngase en cuenta que como resultado de dicha competencia, cualquier empresa
actualmente se ve sometida a grandes y rápidos procesos de cambio en búsqueda de su
adecuación a las demandas del mercado, neutralización de los avances de su
competencia, o, simplemente como maniobra de cambio de estrategia al verse acortado
el ciclo de vida de alguno de sus productos.
Esto obliga a mantener medios de producción adecuados que posean una gran
flexibilidad y puedan modificar oportunamente la estrategia de producción.
La aparición de la microelectrónica y el computador, ha tenido como consecuencia el
que sea posible lograr mayores niveles de integración entre el Sistema Productivo y los
centros de decisión y política empresarial, permitiendo que la producción pueda ser
contemplada como un flujo de material a través del Sistema Productivo y que
interacciona con todas las áreas de la empresa.

____________________________________________________________________________________
Introducción a los automatismos
pág. 3
Sistemas de control secuencial
____________________________________________________________________________________

Este concepto es la base de la Automatización Integrada - CIM- ( Computer Integrated
Manufacturing ), que tiene como objetivos :
*

Reducir los niveles de stock y aumentar su rotación
Disminuir los costes directos
Control de los niveles de stock en tiempo real
Reducir los costes de material
Aumentar la disponibilidad de las máquinas mediante la reducción de los
tiempos de preparación y puesta a punto
*
Incrementar la productividad
*
Mejorar el control de calidad
*
Permitir la rápida introducción de nuevos productos
*
Mejorar el nivel de servicio
*
*
*
*

En este contexto, lo que se pretende, es que las denominadas islas de automatización,
tales como PLC's, máquinas de control numérico, robots etc. se integren en un sistema
de control jerarquizado que permita la conversión de decisiones de política empresarial
en operaciones de control de bajo nivel.

2

EL PROCESO TÉCNICO

Según la norma DIN 66201, un proceso es un procedimiento para la conversión y/o
transporte de material, energía y/o informaciones.

Conversión
Transporte
Material
Energía
Información

Material
Proceso

Energía
Información

____________________________________________________________________________________
Introducción a los automatismos
pág. 4
Sistemas de control secuencial
____________________________________________________________________________________

El punto principal de la automatización se encuentra en el sector de la producción. De
acuerdo con su funcionamiento puede distinguirse, de forma general, entre cuatro clases
de procesos :
*
*
*
*

Procesos de transformación
Procesos de fabricación
Procesos de distribución
Procesos de medición y de verificación

En los procesos de transformación se producen materiales o energía partiendo de
materias primas; tienen lugar transformaciones físicas o químicas. Los campos de
aplicación son la industria química ( p.ej. producción de fibras sintéticas ), la industria
siderúrgica ( p.ej. producción de acero ), fábricas de cemento, centrales eléctricas etc.
En los procesos de fabricación se modifica la forma del material por medio de
elaboración mecánica. Destacan en este sector las máquinas-herramienta de control
numérico, máquinas transfer y máquinas especiales en la construcción de maquinaria,
vehículos y máquinas para trabajar la madera.
En los procesos de distribución, el material, la energía o las informaciones, se
distribuyen con respecto al espacio o al tiempo. Por ejemplo, existen sistemas de
almacenamiento que clasifican, agrupan y entregan el material almacenado de forma
totalmente automática. En redes de energía y en centrales telefónicas automáticas se
controlan distribuidores de energía.
En los procesos de medición y de verificación se analizan las propiedades mecánicas,
físicas y químicas de los objetos. Estos procesos son típicos en los bancos de pruebas (
p.ej. bancos de pruebas de motores ), en la técnica de los análisis y en ensayos de
comprobación para la aviación y la navegación espacial ( p.ej. simuladores de vuelo ).
Un aspecto muy interesante, es clasificar los procesos industriales, en función de su
evolución con el tiempo. Se pueden clasificar en :
*
*
*

Continuos
Discontinuos o por lotes
Discretos

Tradicionalmente, el concepto de automatización industrial se ha ligado al estudio y
aplicación de los sistemas de control empleados en los procesos discontinuos y los
procesos discretos, dejando los procesos continuos a disciplinas tales como : regulación
o servomecanismos

2.1

Procesos continuos

Un proceso continuo se caracteriza porque las materias primas están constantemente
entrando por un extremo del sistema, mientras que en el otro extremo se obtiene de
forma continua un producto terminado.

____________________________________________________________________________________
Introducción a los automatismos
pág. 5
Sistemas de control secuencial
____________________________________________________________________________________

Un ejemplo típico de proceso continuo puede ser un sistema de calefacción para
mantener una temperatura constante en una determinada instalación industrial. La
materia prima de entrada es la temperatura que se quiere alcanzar en la instalación; la
salida será la temperatura que realmente existe.
El sistema de control, teniendo en cuenta la temperatura de consigna y las
informaciones recibidas del proceso, ha de ejecutar las oportunas acciones para que la
temperatura de la instalación controlada se mantenga en el punto más cercano a la de
referencia.

SISTEMA DE
CONTROL
+

ACTUADOR
Valvula
de gas

Regulador

-

PROCESO

Caldera

Instalación a
temperatura
constante

TEMPERATURA
EN LA
INSTALACIÓN

FLUIDO DE
CONTROL
PERDIDAS DE
CALOR

SELECTOR DE
TEMPERATURA
DE REFERENCIA

SENSOR DE
TEMPERATURA EN
INSTALACIÓN
SENSORES

OPERARIO
Selecciona la temperatura

A la vista de la instalación se comprueban dos características propias de los sistemas
continuos :
*

El proceso se realiza durante un tiempo relativamente largo

*

Las variables empleadas en el proceso y sistema de control son de tipo analógico.
Dentro de unos límites determinados, las variables pueden tomar infinitos valores

____________________________________________________________________________________
Introducción a los automatismos
pág. 6
Sistemas de control secuencial
____________________________________________________________________________________

2.2

Procesos discretos

El producto de salida se obtiene a través de una serie de operaciones, muchas de ellas
con gran similitud entre sí. La materia prima sobre la que se trabaja es habitualmente un
elemento discreto que se trabaja de forma individual.
Un ejemplo de proceso discreto es la fabricación de una pieza metálica rectangular con
dos taladros. El proceso para obtener la pieza terminada puede descomponerse en una
serie de estados que han de realizarse secuencialmente, de forma que para realizar un
estado determinado es necesario que se hayan realizado correctamente los anteriores.
Para el ejemplo propuesto estos estados son :
*

Corte de la pieza rectangular con unas dimensiones determinadas, a partir de una
barra que alimenta la sierra

*

Transporte de la pieza rectangular a la base del taladro

*

Realizar el taladro A

*

Realizar el taladro B

*

Evacuar la pieza
S1
C3

S1
C1

A

B

S2

S2

S1
M1

S2

M2

C2

C4
A

S2

S1

C5
M3
S1
S2

C4
S2

S1

C5
____________________________________________________________________________________
Introducción a los automatismos
pág. 7
Sistemas de control secuencial
____________________________________________________________________________________

Cada uno de estos estados supone a su vez una serie de activaciones y desactivaciones
de los actuadores ( motores y cilindros neumáticos ), que se producirán en función de :
*

Los sensores de posición ( colocados sobre la cámara de los cilindros ), y
contactos auxiliares situados en los contactores que activan los motores eléctricos

*
2.3

Variable que indica que se ha realizado el estado anterior
Procesos discontinuos o por lotes

A

B

B

C

E

D

A
B
C

B
D

E

Se reciben a la entrada del proceso las cantidades de las diferentes piezas discretas que
se necesitan para realizar el proceso. Sobre este conjunto se realizan las operaciones
necesarias para producir un producto acabado o un producto intermedio listo para un
procesamiento posterior.
Por ejemplo, se trata de formar una pieza de una máquina partiendo de las piezas
representadas en la figura, que se han obtenido a partir de una serie de procesos
discretos. Las piezas se ensamblarán como se indica en la figura; una vez colocadas se
remacharán los cilindros superiores de las piezas C, D y E de forma que pueda
obtenerse la pieza terminada.
____________________________________________________________________________________
Introducción a los automatismos
pág. 8
Sistemas de control secuencial
____________________________________________________________________________________

El proceso puede descomponerse en estados, que, por ejemplo, podrían ser :
*
*
*
*

Posicionar piezas C, D y E
Posicionar piezas B
Posicionar pieza A
Remachar los cilindros superiores de C, D y E

Estos estados se realizarán de forma secuencial, y para activar los dispositivos
encargados de posicionar las diferentes piezas, serán necesarias :
*
*

Señales de sensores
Variables de estados anteriores

3

FORMAS DE REALIZAR EL CONTROL SOBRE UN PROCESO

Existen dos formas básicas de realizar el control de un proceso industrial.
3.1

Control en lazo abierto ( bucle abierto )

OPERARIO
- Consignas
- Órdenes

SISTEMA
DE
CONTROL

PRODUCTO
DE
ENTRADA

ACTUADORES

PROCESO

PRODUCTO
TERMINADO

El control en lazo abierto se caracteriza porque la información o variables que controlan
el proceso circulan en una sola dirección, desde el sistema de control al proceso.
El sistema de control no recibe la confirmación de que las acciones que a través de los
actuadores se han de realizar sobre el proceso, se hayan ejecutado correctamente.

____________________________________________________________________________________
Introducción a los automatismos
pág. 9
Sistemas de control secuencial
____________________________________________________________________________________

3.2

Control en lazo cerrado ( bucle cerrado )

El control en lazo cerrado se caracteriza porque existe una realimentación de los
sensores desde el proceso hacia el sistema de control, que permite a este último conocer
si las acciones ordenadas a los actuadores se han realizado correctamente sobre el
proceso

OPERARIO
- Consignas
- Órdenes

SISTEMA
DE
CONTROL

ACTUADOR

PRODUCTO
DE
ENTRADA

PROCESO

PRODUCTO
TERMINADO

SENSORES

La mayoría de procesos existentes en la industria utilizan el control en lazo cerrado,
bien, porque el producto que se pretende obtener o la variable que se controla necesita
un control continuo en función de unos determinados parámetros de entrada, o bien,
porque el proceso a controlar se subdivide en una serie de acciones elementales de tal
forma que, para realizar una determinada acción sobre el proceso, es necesario que
previamente se hayan realizado otra serie de acciones elementales.

4

OPCIONES TECNOLÓGICAS

El desarrollo de los automatismos, su complejidad y eficacia, ha ido parejo al desarrollo
experimentado a lo largo de los tiempos. Básicamente se puede establecer la
clasificación mostrada en el cuadro siguiente, partiendo de dos conceptos principales :
el de lógica cableada y lógica programada

____________________________________________________________________________________
Introducción a los automatismos
pág. 10
Sistemas de control secuencial
____________________________________________________________________________________

CLASIFICACIÓN
TECNOLÓGICA

LÓGICA PROGRAMADA

LÓGICA CABLEADA

Neumática

Fluídica

Relés

4.1

Eléctrica

Electrónica
estática

Autómata
programable

Microprocesador

Computador

Lógica cableada

Su denominación viene dada por el tipo de elementos que intervienen en su
implementación, en la cual las uniones físicas se realizan mediante cables eléctricos,
pero también relés electromagnéticos, interruptores, pulsadores etc., en el caso de la
tecnología eléctrica. En lo referente a la tecnología electrónica, las puertas lógicas son
los elementos fundamentales mediante los cuales se realizan los automatismos.
En el caso de la tecnología fluidica, sus conexiones vienen siendo efectuadas por
tuberias de acero, cobre, pvc etc. junto con elementos tales como válvulas, presostatos,
manorreductores etc.
La tecnología cableada, ha sido y es aún utilizada en los automatismos industriales,
aunque va quedando relegada a los accionamientos de cierta potencia, ya que frente a la
lógica programada presenta los siguientes inconvenientes :
*
*
*
*
4.2

Imposibilidad de realización de funciones complejas de control
Gran voluminosidad y peso
Escasa flexibilidad frente a modificaciones
Reparaciones costosas
Lógica programada

Se trata de una tecnología desarrollada a partir de la aparición del microprocesador, y de
los sistemas programables basados en éste : computador, controladores lógicos y
autómatas programables.

____________________________________________________________________________________
Introducción a los automatismos
pág. 11
Sistemas de control secuencial
____________________________________________________________________________________

Constantemente, debido a los altos niveles de integración alcanzados en la
microelectrónica, el umbral de rentabilidad de esta tecnología decrece y frente a la
lógica cableada presenta :
*
*

Gran flexibilidad
Posibilidad de cálculo científico e implementación de tareas complejas de control
de procesos, comunicaciones y gestión

Como inconvenientes a corto y medio plazo, presenta la necesidad de formación en las
empresas de personal adecuado para su programación y asistencia, al tratarse de
verdaderas herramientas informáticas; también, su relativa vulnerabilidad frente a las
agresivas condiciones del medio industrial

4.3

Organigramas para desarrollar el control de un proceso

ORGANIGRAMA PARA EL DESARROLLO DE UN PROCESO CON LÓGICA
CABLEADA

Inicio
Documentación del proceso:
Especificaciones funcionales
Interpretación del proceso
Esquemas de potencia, mando, etc,
Especificaciones de material, aparatos y sus
valoraciones
Determinación de tiempos
Montaje y sus pruebas
Puesta en funcionamiento
Fin

____________________________________________________________________________________
Introducción a los automatismos
pág. 12
Sistemas de control secuencial
____________________________________________________________________________________

ORGANIGRAMA PARA EL DESARROLLO DE UN PROCESO CON
AUTÓMATA PROGRAMABLE

Inicio
Documentación
del proceso
* Memoria de func.
* Planos, etc.

Interpretación del proceso a controlar

Diagrama del proceso

Determinación de E/S, temp. Cont. etc

Elección del autómata

Asignación de E/S tem. Cont. etc.

Programación
* Diagrama de contactos
* Lista de instrucciones

Esquema electrico de potencia

Plano distribución componentes
del automatismo

Puesta en funcionamiento PLC

Esquema de conexionado de
E/S del autómata
Puesta en modo RUN
Montajes

Proceso a controlar

Fin

____________________________________________________________________________________
Introducción a los automatismos
pág. 13
Sistemas de control secuencial
____________________________________________________________________________________

4.4

Fases de estudio en la elaboración de un automatismo

Para el desarrollo y elaboración correcta de un automatismo por el técnico o equipo
encargado de ello, es necesario conocer previamente los siguientes datos :
a)
b)
c)

Las especificaciones técnicas del proceso y su correcta interpretación
La parte económica asignada para no caer en el error de elaborar una buena
opción desde el punto de vista técnico, pero inviable económicamente
Los materiales, aparatos, etc. existentes en el mercado que se van a utilizar para
diseñar el automatismo. En este apartado es importante conocer también :
*
*

Calidad de la información técnica de los equipos
Disponibilidad y rapidez en cuanto a recambios y asistencia
técnica

ORGANIGRAMA GENERAL PARA EL ESTUDIO Y ELABORACIÓN DE
AUTOMATISMOS
Inicio

ESTUDIO
PREVIO

Especificaciones funcionales

Resolución de las opciones
tecnológicas más eficaces

ESTUDIO
TÉCNICO
ECONÓMICO

Estudio económico opciones

Toma de decisiones

DECISIÓN
FINAL
Lógica
cableada

Lógica
programada

Fin

____________________________________________________________________________________
Introducción a los automatismos
pág. 14
Sistemas de control secuencial
____________________________________________________________________________________

a)

Estudio previo

Es importante antes de acometer cualquier estudio medianamente serio de un
automatismo, el conocer con el mayor detalle posible las características, el
funcionamiento, las distintas funciones etc. de la máquina o proceso a automatizar. Esto
lo obtenemos de las especificaciones funcionales; base mínima a partir de la cual
podremos iniciar el siguiente paso, es decir, estudiar cuales son los elementos más
idóneos para la construcción del automatismo.

b)

Estudio técnico-económico

Es la parte técnica de especificaciones del automatismo : relación de materiales,
aparatos, su adaptación al sistema y al entorno en el que se haya inscrito, etc. También
aquí se ha de valorar la parte operativa del comportamiento del automatismo en todos
sus aspectos, como mantenimiento, fiabilidad, etc. Es obvio que la valoración
económica, que será función directa de las prestaciones del mismo, ha de quedar
incluida en esta parte del estudio.

c)

Decisión final

En el apartado anterior se han debido estudiar las dos posibilidades u opciones
tecnológicas posibles : lógica cableada y lógica programada. Con esta información y
previa elaboración de los parámetros que se consideren necesarios tener en cuenta, se
procede al análisis del problema.
Los parámetros que se deben valorar para una decisión correcta pueden ser muchos y
variados, algunos de los cuales serán específicos del problema concreto que se va a
resolver, pero otros serán comunes, tales como los siguientes :
*

Ventajas e inconvenientes que se le asignan a cada opción en relación a su
fiabilidad, vida media y mantenimiento

*

Posibilidades de ampliación y de aprovechamiento de lo existente en cada caso

*

Posibilidades económicas y rentabilidad de la inversión realizada en cada opción

*

Ahorro desde el punto de vista de necesidades para su manejo y mantenimiento

Una vez realizado este análisis solo queda adoptar la solución final elegida.

____________________________________________________________________________________
Introducción a los automatismos
pág. 15
Sistemas de control secuencial
____________________________________________________________________________________

5

ANÁLISIS DE LOS AUTOMATISMOS

El método de análisis de los automatismos se establece a partir de la naturaleza de las
variables que intervienen en éstos. En los sistemas de automática secuencial, las
variables toman en todo momento un número finito de valores manteniendo dos estados
claramente diferenciados, por lo que su naturaleza es discreta y binaria. Por ello, para
establecer las relaciones funcionales entre las variables intervinientes se toma el
Álgebra de Boole, como ente matemático capaz de definir las leyes que relacionan un
conjunto de variables discretas binarias.
En general, un controlador lógico programable ejecuta unas acciones de control en base
a una función lógica, que resulta de la observación y posterior tratamiento de una serie
de variables.
Con frecuencia los controladores lógicos son sistemas que requieren la memorización
de variables de entrada en forma de estado interno, de manera que se puedan tomar
decisiones lógicas en un instante determinado, en función de secuencias de los valores
de las variables de entrada en el pasado. Por ello disponemos de una serie de variables
provenientes de consignas de mando, lecturas efectuadas por los captadores o bien,
variables de estado. Dichas funciones lógicas pueden ser representadas por un conjunto
de ecuaciones booleanas de la forma :

ST = f1 ( ET . QT )
Q ( T + ∆T ) = f2 ( ET . QT )
Siendo :

ET el conjunto de variables de entrada al circuito en el instante T
ST el conjunto de salidas
QT el conjunto de variables internas

Donde la primera ecuación ST representa las salidas del circuito como combinación de
las variables de entrada e internas y Q (T + ∆T ) representa la actualización del estado
interno

5.1

Lógica combinacional

Si ocurre la no existencia de variables de estado, el análisis del automatismo puede ser
tratado según la lógica de circuitos combinacionales, por lo cual el conjunto de
ecuaciones booleanas anteriores queda reducido a la ecuación :

ST = f ( ET )
Por tanto, la salida de un automatismo de lógica combinacional, depende única y
exclusivamente de la combinación de las variables de entrada ( ET )

____________________________________________________________________________________
Introducción a los automatismos
pág. 16
Sistemas de control secuencial
____________________________________________________________________________________

5.2

Lógica secuencial

Si la salida del automatismo en un instante determinado, depende de la secuencia de
valores de las variables de entrada en instantes anteriores, es decir, existen variables de
estado, entonces estamos en el caso general descrito por las dos ecuaciones lógicas
enunciadas anteriormente. En este caso, el sistema deberá ser analizado según la lógica
secuencial. Se comprueba que los procesos discretos y continuos, tienen una gran
similitud entre sí. Ambos procesos podrán controlarse mediante el mismo tipo de
sistema de control; es decir, mediante un controlador secuencial. Se pueden indicar
algunas de las características propias de los procesos que se controlan de forma
secuencial :
*

El proceso puede descomponerse en una serie de estados que se activarán de
forma secuencial ( variables internas )
*
Cada uno de los estados, cuando está activo realiza una serie de acciones sobre los
actuadores ( variables de salida )
*
Las señales procedentes de los captadores ( variables de entrada ) controlan la
transición entre estados
*
Las variables empleadas en el proceso y sistema de control ( entrada, salida e
internas ), son múltiples y generalmente de tipo discreto, solo toman 2 valores,
activado y desactivado.
En función de como se realice la transición entre estados, los controladores secuenciales
pueden ser de dos tipos :
*
Asíncronos
*
Síncronos
Los circuitos secuenciales asíncronos son aquellos en los que las variables de entrada
actúan sobre el estado interno del sistema en el mismo instante en que pasan a un
determinado estado, o cambian de estado. Para sistemas de control de relativa sencillez
estos circuitos pueden ser adecuados, no así cuando existan problemas de fenómenos
aleatorios, difícilmente controlables cuando cambia de estado más de una variable de
entrada o de estado interno simultáneamente.

Variables de entrada
Xo...Xn
Sensores

CONTROLADOR
SECUENCIAL
ASÍNCRONO
Sistema
Combinacional

Variables de salida
Yo...Yn

Actuadores

Estados
Eo+1...En+1
Células de
Memoria

PROCESO
Estados Eo...En

____________________________________________________________________________________
Introducción a los automatismos
pág. 17
Sistemas de control secuencial
____________________________________________________________________________________

En los controladores síncronos la transición a un estado determinado se produce en
función de las variables de entrada y de la variable asociada al estado anterior. Las
variables de entrada y la variable interna están sincronizadas mediante una señal de reloj
de frecuencia fija, de forma que la transición entre estados solo se produce para un
flanco de la señal de reloj.
Las células de memoria que almacenan las variables de entrada se activan todas, de
forma conjunta con la señal de reloj, permitiendo el paso al circuito combinacional de
las Xn variables; las células que almacenan las variables asociadas a los estados se
activan mediante la señal del contador de forma individual; a cada impulso de la señal
de reloj, el contador se incrementa en una unidad permitiendo el acceso a una sola
célula
Los controladores síncronos y asíncronos descritos podrían construirse empleando
lógica cableada y elementos discretos de tecnologías como electrónica, electricidad o
neumática. El único requisito que tendría que cumplir el controlador sería que el tiempo
que necesita el circuito combinacional para tomar decisiones ( ciclo de trabajo ), en
función de las variables de entrada y estados anteriores, tendría que ser mucho menor
que el tiempo de evolución del proceso.

Variables de
entrada
Xo...Xn
Sensores

CONTROLADOR SECUENCIAL
SÍNCRONO
Células de
Memoria
Lect. paralelo

Sistema
Combinacional

Variables de salida
Yo...Yn

Actuadores

Células de
Memoria
Lect. serie

Reloj

Contador

PROCESO

Al emplear lógica cableada, la configuración del circuito combinacional y las
operaciones lógicas que ha de realizar, dependen de la cantidad de variables necesarias
para controlar el proceso ( variables de entrada y salida ) y del número de estados en
que se ha desglosado ( variables internas ). Una modificación del proceso que suponga
una modificación del nº de variables anteriores o en su orden de actuación, significa
diseñar de nuevo el controlador secuencial.

____________________________________________________________________________________
Introducción a los automatismos
pág. 18
Sistemas de control secuencial
____________________________________________________________________________________

Basándose en el microprocesador puede construirse un controlador secuencial síncrono
cuya configuración es independiente del nº de variables y del orden en que éstas actúan
en el proceso. El circuito combinacional se sustituye por la memoria del programa y la
unidad operativa del microprocesador. La memoria del programa de usuario almacena
las operaciones lógicas y con que variables se han de realizar; la unidad operativa se
encarga de realizarlo: El contador de programa del microprocesador accederá
secuencialmente a las posiciones de memoria de programa de usuario.

____________________________________________________________________________________
Introducción a los automatismos
pág. 19
Sistemas de control secuencial
_____________________________________________________________________________________

TEMA 2 : REPRESENTACIÓN DE LOS AUTOMATISMOS

_____________________________________________________________________________________
Representación de los automatismos
pág.1
Sistemas de control secuencial
_____________________________________________________________________________________

_____________________________________________________________________________________
Representación de los automatismos
pág.2
Sistemas de control secuencial
_____________________________________________________________________________________

Toda función lógica puede ser representada gráfica y simbólicamente, dependiendo de
la tecnología utilizada en su implementación. Dejando para un tema posterior la
representación simbólica nemotécnica propia de la lógica programable, la
representación gráfica de la lógica cableada puede ser bien a través de los diagramas de
contactos, si lo que se utiliza es tecnología eléctrica, o bien la representación puede ser a
través de diagramas de funciones lógicas, si lo que se utiliza es la tecnología electrónica
de puertas lógicas.
1

LÓGICA DE CONTACTOS

Se trata de la representación gráfica de esquemas de automatismos eléctricos, en los
cuales, el elemento fundamental es el interruptor electromagnético denominado relé,
junto con pulsadores, interruptores y contactores.
Este método de representación ha tenido profusa difusión entre los automaticistas
eléctricos en la época inmediata anterior, donde los dispositivos automáticos han estado
basados en armarios de relés. Este tipo de representación gráfica se sigue manteniendo
ampliamente por los fabricantes de dispositivos basados en lógica programable,
procurando de esta manera salvar el inconveniente de tener que formar a personal no
expresamente informático en lenguajes evolucionados de alto nivel. Por ello pasamos a
mostrar los elementos fundamentales de la lógica de contactos y la representación
mediante el siguiente cuadro :
FUNCIÓN

O

AND

.

+

Complemento

OR

&

Nemónicos

Y

≥

Representación
Booleana

X

Norma CEI

Norma
Francesa
Norma
NEMA

DIN 40713 16

_____________________________________________________________________________________
Representación de los automatismos
pág.3
Sistemas de control secuencial
_____________________________________________________________________________________

1.1

Elementos de entrada

Los elementos de entrada pueden ser pulsadores, interruptores, captadores tales como
finales de carrera, detectores de proximidad, etc. Son los dispositivos físicos mediante
los cuales el automatismo realiza la observación de las variables de entrada. Por tanto,
se debe asociar a dichos elementos las variables de entrada de cuya combinación
resultará una función lógica que activará o no la salida correspondiente.
Las variables de entrada pueden ser clasificadas como :
*
Variables de entrada directa
*
Variables de entrada inversa
La variable de entrada directa, da un "1" lógico cuando es activada. La variable de
entrada inversa, da un "0" lógico cuando es activada. Se representará pues como una
variable negada. Según donde se realice la observación del automatismo, las variables
de entrada pueden clasificarse como :
*
*

Variable de entrada pura
Variable de salida realimentada

La variable de entrada pura, proviene de acciones de mando del operador, o bien de la
lectura de los elementos de entrada. La variable de salida realimentada, proviene de la
realimentación de una variable de salida y posterior consideración como variable de
entrada. Esto puede tener lugar en automatismos que deban ser tratados según la lógica
secuencial síncrona o asíncrona.

Norma DIN
Variable de entrada directa

Norma NEMA

Norma CEI

Xo

Xo

Xo

Xo

Xo

Xo

Yo

Yo

( normalmente abierta )
Variable de entrada inversa
( normalmente cerrada )

Variable de salida

Yo

1.2
Elementos de salida
Los elementos de salida deberán ser asociados a las variables de salida de las funciones
lógicas. Casi siempre vendrán implementadas físicamente por el circuito de mando de
un relé o de un contactor

_____________________________________________________________________________________
Representación de los automatismos
pág.4
Sistemas de control secuencial
_____________________________________________________________________________________

1.3
Asociación de elementos
Los diversos elementos bien sean normalmente abiertos o normalmente cerrados,
pueden conectarse de forma asociada formando diversas funciones lógicas
1.3.1 Función lógica O
Se trata de la conexión en paralelo de diversos elementos de entrada
a1
y

a2
a3

y = a1 + a2 + a3

1.3.2 Función lógica Y
Se trata de la conexión en serie de diversos elementos de entrada

a1

a2

a3

y

y = a1 . a2 . a3

1.3.3 Función O lógica de funciones Y
Corresponde a la conexión en paralelo de dos o más ramas en serie
a1

a2

a3
y

a4

a5

a6

y = ( a1 . a2 . a3 ) + ( a4 . a5 . a6 )

_____________________________________________________________________________________
Representación de los automatismos
pág.5
Sistemas de control secuencial
_____________________________________________________________________________________

1.3.4 Función Y lógica de funciones O
Corresponde a la conexión en serie de conjuntos de dos o más ramas en paralelo

a1

a3
y

a2

a4

y = ( a1 + a2 ) . ( a3 + a4 )
A partir de las funciones básicas enumeradas, se pueden establecer combinaciones entre
ellas de diversa complejidad
2

Lógica de funciones

Los sistemas digitales se caracterizan por funcionar de modo binario, es decir, emplean
dispositivos mediante los cuales solo son posibles dos estados. Por tanto, al transistor
solo le vamos a permitir trabajar en la zona de corte o en la de saturación, nunca en la
zona activa ( ideal para el uso del transistor como amplificador ). Esta naturaleza
biestable ( todo - nada ) o nivel alto - nivel bajo de muchos dispositivos industriales
hace posible tratar su función mediante un cálculo matemático que solo opere con dos
valores "0" y "1"
Existen dos sistemas lógicos distintos :
Lógica positiva : Cuando el estado alto coincide con el "1" lógico y el estado
bajo con el "0" lógico
Lógica negativa : Cuando el estado alto coincide con el "0" lógico y el estado
bajo con el "1" lógico
El desarrollo de los distintos bloques lógicos se puede realizar con elementos de alguna
de las siguientes familias lógicas :
*
*
*
*
*

Familia RTL :
Familia DTL :
Familia TTL :
Familia ECL :
Familia C-MOS

Lógica transistor - resistencia
Lógica transistor - diodo
Lógica transistor - transistor
Lógica acoplada por emisor

_____________________________________________________________________________________
Representación de los automatismos
pág.6
Sistemas de control secuencial
_____________________________________________________________________________________

2.1

Función "O" u "OR" ( Suma lógica )
La función, puerta o dispositivo OR se caracteriza porque proporciona una salida
"1" siempre que sea "1" el estado de al menos una de las variables de entrada, es
decir, realiza la suma lógica

S=A+B

Los símbolos más generalizados para la representación de la función lógica "OR " son :

A
B

≥1

A
B
C

S=A+B

S=A+B+C

La representación de todas las combinaciones posibles de las variables de entrada y su
repercusión en las salidas se expresa mediante una tabla llamada " Tabla de verdad "
Tabla de verdad
A
0
0
0
0
1
1
1
1

B
0
0
1
1
0
0
1
1

2.2

C
0
1
0
1
0
1
0
1

S
0
1
1
1
1
1
1
1

Representación gráfica de una ecuación
lógica con todas las combinaciones posibles
de sus variables binarias ( 0, 1 ) y el
resultado final
Nº combinaciones = 2n

Función "Y" O "AND" ( Producto lógico )
La función AND se caracteriza porque la salida es "1" solamente cuando todas
las variables de entrada son "1", realiza pues el producto lógico

S=A·B

A
B

&

S=A·B

A
B
C

S=A·B·C

_____________________________________________________________________________________
Representación de los automatismos
pág.7
Sistemas de control secuencial
_____________________________________________________________________________________

A
0
0
0
0
1
1
1
1

Tabla de verdad

2.3

B
0
0
1
1
0
0
1
1

C
0
1
0
1
0
1
0
1

S
0
0
0
0
0
0
0
1

Función NOT ( Negación, inversión o complemento )
Representa el valor inverso de la variable o función. Gráficamente, se expresa
mediante una rayita o barra colocada encima de la variable o función
Si A = 1,

A

A

será A = 1

A

Tabla de verdad

2.4.-

será A = 0

Si A = 0,

S=A

A
0
1

A

S
1
0

Función NOR ( NO-O )
Si después de efectuar una operación "OR", realizamos una inversión,
obtendremos la función NO - O o NOR
A
B

S= A+B=A·B

Tabla de verdad

A
0
0
1
1

B
0
1
0
1

S
1
0
0
0

A
B

≥1

S=A+B

S=A+B

_____________________________________________________________________________________
Representación de los automatismos
pág.8
Sistemas de control secuencial
_____________________________________________________________________________________

2.5

Función NAND ( NO - Y )
Si después de efectuar una operación AND, realizamos una inversión, obtenemos
la función NO - Y o NAND
S= A·B=A+B

A
B

&

S=A·B

S=A·B

A
B

Tabla de verdad

2.6

S=A·B

A
B

A
0
0
1
1

B
0
1
0
1

S
1
1
1
0

Función OR - Exclusiva ( XOR )
La salida es "1" cuando las entradas están en distinto estado
S= A⊕B=A·B+A·B

A
B

=1

S=A + B

S=A + B

A
B

Tabla de verdad

A
0
0
1
1

B
0
1
0
1

S
0
1
1
0

_____________________________________________________________________________________
Representación de los automatismos
pág.9
Sistemas de control secuencial
_____________________________________________________________________________________

2.7

Función NOR - Exclusiva ( XNOR )
La salida es "1" cuando las entradas están en el mismo estado
S= A

B=A·B+A·B

S=A

A
B

Tabla de verdad

2.8

A
0
0
1
1

B
0
1
0
1

B

S
1
0
0
1

Función IGUALDAD
Se trata de una puerta lógica de igualdad, lo que quiere decir que su salida siempre
tiene el mismo valor que su entrada. Es utilizada como amplificador digital
S= A

A

Tabla de verdad

3

S

A

A
0
1

S

S
0
1

LÓGICA NEUMÁTICA

Las válvulas neumáticas realizan distintas funciones lógicas conectándolas
adecuadamente. Las funciones lógicas más complejas pueden realizarse también
mediante la conexión de varias válvulas
El esquema lógico contiene todos los elementos necesarios y sus líneas para el
funcionamiento de la máquina. En neumática, se indican además, todos los
acoplamientos de aire comprimido ( P ) y sus escapes.

_____________________________________________________________________________________
Representación de los automatismos
pág.10
Sistemas de control secuencial
_____________________________________________________________________________________

3.1

Función "O" u "OR" ( Válvula selectora de circuito )

La válvula selectora de circuito es necesaria cuando desde dos o más puntos de emisión
de señal ha de quedar accionado el mismo proceso.
S=A+B
Los símbolos más generalizados para la representación de la función lógica "OR " son :
A
B

≥1

A
B
C

S=A+B

S=A+B+C

La representación neumática de la función OR es la siguiente :
2 (A)
12 ( X )

14 ( Y )

Tabla de verdad

A
0
0
1
1

B
0
1
0
1

S
0
1
1
1

Ejemplo : Mando de un cilindro de simple efecto desde dos puntos diferentes
1.0

2
12

14
1.6

2

2
1.2

1

3

1.4
1

3

No es posible la conexión en paralelo de válvulas para obtener la función "OR", ya que
de no existir la válvula selectora de circuito, al accionar las válvulas 1.2 ó 1.4, el aire
escaparía a través de la purga de la otra válvula.

_____________________________________________________________________________________
Representación de los automatismos
pág.11
Sistemas de control secuencial
_____________________________________________________________________________________

Si se desea llevar varias señales hacia la misma salida, es necesario conectar válvulas
selectoras en paralelo ( ya que siempre existen solo dos entradas por válvula )
Ejemplo : 4 señales e1......e4 han de accionar el mismo proceso
Número necesario de válvulas Nv en una salida S
Nv = Ne - 1

Ne = nº de señales de entrada

Las posibilidades de conexionado de válvulas selectoras que se representan en la
siguiente figura son totalmente equivalentes en cuanto a la lógica. En la práctica sin
embargo, conviene aplicar preferentemente la posibilidad a), ya que aquí las señales de
entrada han de pasar por el mismo número de resistencias ( válvulas ). Una composición
totalmente simétrica sin embargo, sólo es posible con 2, 4, 8, 16 ... etc. señales de
entrada. Se tienen las dos posibilidades de conexión siguientes
Posibilidad A

S
2
12

14

2

2

12

12

14

14

e2 e3

e1

Posibilidad B

e4

S
2
12

14

2
12

14

2
12

e1

14

e2

e3

e4

_____________________________________________________________________________________
Representación de los automatismos
pág.12
Sistemas de control secuencial
_____________________________________________________________________________________

3.2

Función "Y" O "AND" ( Válvula de simultaneidad )
La función AND se caracteriza porque la salida es "1" solamente cuando todas
las variables de entrada son "1", realiza pues el producto lógico
S=A·B

A
B

&

A
B
C

S=A·B

S=A·B·C

La representación neumática de la función AND es la siguiente
2
12

Tabla de verdad

14

A
0
0
1
1

B
0
1
0
1

S
0
0
0
1

En neumática existen en principio, 3 posibilidades de realizar la función Y
1ª Posibilidad : Por conexión en serie
S
2
1.4
1

3
2

1.2
1
Ventajas :

3

Coste más bajo de elementos, solución más económica

Desventajas : En la práctica, a menudo conducciones muy largas entre los órganos de
señal. La señal de la válvula 1.4 no se puede co-utilizar en otras
combinaciones de señales, ya que sólo tiene energía en conexión Y con la
válvula 1.2
_____________________________________________________________________________________
Representación de los automatismos
pág.13
Sistemas de control secuencial
_____________________________________________________________________________________

2ª Posibilidad : Por válvula de simultaneidad
S
2
12

14
1.6
2

2
1.2
1

Ventajas :

1.4
1

3

3

Las señales de las válvulas 1.2 y 1.4 pueden co-utilizarse a voluntad en
otras combinaciones de señales, ya que ambos órganos de señal quedan
abastecidos directamente con energía. Ambas líneas de señal pueden
llevarse por el trecho más corto a la válvula de simultaneidad 1.6

Desventajas : El gasto en componentes es mayor que en la 1ª posibilidad. En cuanto a
la energía resulta que en la salida de la válvula de simultaneidad aparece
siempre la señal más débil
3ª Posibilidad : Con válvula de accionamiento neumático de 3/2 vías cerrada en reposo
S
2
1.6

1

2
1.2

Ventajas :

1

3

2
3

1.4

1

3

Todas las ventajas de la 2ª posibilidad. Adicionalmente existe aquí la
posibilidad de conectar la señal débil en el empalme 12 y la señal fuerte
en el empalme 1 de la válvula 1.6. Con ello está garantizado que la señal
fuerte aparezca en la salida 2 ( efecto de amplificación )

Desventajas : Mayor gasto de componentes
Cuando en la práctica hace falta una operación Y con más de dos entradas, rige
análogamente lo mismo que en el accionamiento de válvulas selectoras de circuito.

_____________________________________________________________________________________
Representación de los automatismos
pág.14
Sistemas de control secuencial
_____________________________________________________________________________________

Ejemplo : El proceso debe realizarse solamente cuando existan 5 señales e1...e5
El número de válvulas de simultaneidad necesarias resulta ser :
Nv = Ne - 1 = 5-1 = 4

Ne = número de señales de entrada

La siguiente figura muestra las dos posibilidades de conexionado de válvulas de
simultaneidad. También aquí conviene dar la preferencia a la posibilidad a), como en las
válvulas selectoras de circuito.
Posibilidad a

S
2

12

14

2

2

12

14 12

14
2
12

e1

e2

e3

14

e4

e5

Posibilidad b

S
2
12

14

2
12

14

2
12

14

2
12

e1

14

e2

e3

e4

e5

_____________________________________________________________________________________
Representación de los automatismos
pág.15
Sistemas de control secuencial
_____________________________________________________________________________________

Ejemplo de función Y : El vástago de un cilindro de doble efecto ha de salir únicamente
en el caso en que se accione un pulsador y al mismo tiempo se disponga de la
información de un estado determinado de la instalación ( por ejemplo presencia de
material ). El retroceso del cilindro se producirá por medio de un final de carrera situado
en la posición final delantera del vástago.
1.3
1.0

4

2

12

14

1.1

1

3

2
12

14
1.6

2

1.2
1

3.3

2

1.4
3

1

2

1.3
1

3

3

Función NO ( Negación, inversión o complemento )

Representa el valor inverso de la variable o función. Gráficamente, se expresa mediante
una rayita o barra colocada encima de la variable o función. En neumática, si se ha de
realizar un proceso cuando la señal de mando tenga valor "0", hace falta una válvula que
emita señal "1" por la salida cuando la señal de mando es "0"
Si A = 1,

A

A

será A = 0

Si A = 0,

S=A

será A = 1

A

A

La representación neumática de la función NO es la siguiente :
S

A

2

10

Válvula de 3 vias abierta en reposo
1

3

_____________________________________________________________________________________
Representación de los automatismos
pág.16
Sistemas de control secuencial
_____________________________________________________________________________________

S

S
S = 1, si A = 0

&

S=A.B

&

S = 1, si B = 1 y A = 0
B
A

A

Símbolo función NO de Parker

Conexionado en inhibición
A
0
1

Tabla de verdad

S
1
0

Ejemplo de función NO : Ha de sonar una señal acústica si un dispositivo de protección
no está cerrado.
Bocina 1.0

1.1

2

10
1
1.2

2

1

3.4

3

3

Función NOR ( NO-O )

La función se obtiene por inversión de la función OR
A
B

S= A+B=A·B

Tabla de verdad

A
0
0
1
1

B
0
1
0
1

S
1
0
0
0

A
B

≥1

S=A+B

S=A+B

_____________________________________________________________________________________
Representación de los automatismos
pág.17
Sistemas de control secuencial
_____________________________________________________________________________________

Neumáticamente la función NOR se puede realizar con el siguiente montaje
S
2
10
1

2
A

3.5

12

14

3

B

Función NAND ( NO - Y )
La función se obtiene por inversión de la puerta AND
S= A·B=A+B

A
B

S=A·B

&

Tabla de verdad

S=A·B

A
B

A
0
0
1
1

B
0
1
0
1

S
1
1
1
0

Con elementos neumáticos, la función NAND se realiza con el siguiente montaje
S

S
1ª Posibilidad

2ª Posibilidad
2

2

10

10
1

1

3

2
A

12

3

2
14

B

A
1

3
B

_____________________________________________________________________________________
Representación de los automatismos
pág.18
Sistemas de control secuencial
_____________________________________________________________________________________

3.6

Función OR - Exclusiva ( XOR )
La salida es "1" cuando las entradas están en distinto estado
S= A⊕B=A·B+A·B

A
B

S=A + B

=1

S=A + B

A
B

A
0
0
1
1

Tabla de verdad

B
0
1
0
1

S
0
1
1
0

Con elementos neumáticos, la función XOR se realiza con el siguiente montaje
S
2
1

2
12

14
2

10
1

2
1

A

3

3

3

B

_____________________________________________________________________________________
Representación de los automatismos
pág.19
Sistemas de control secuencial
_____________________________________________________________________________________

3.7

Función NOR - Exclusiva ( XNOR )
La salida es "1" cuando las entradas están en el mismo estado
S= A

B=A·B+A·B

S=A

A
B
A
0
0
1
1

Tabla de verdad

B
0
1
0
1

B

S
1
0
0
1

Con elementos neumáticos, la función XNOR se puede realizar con el siguiente montaje
S
2
12

14

2

2
10

10
1

3

1

3

2
12

14

A

B

_____________________________________________________________________________________
Representación de los automatismos
pág.20
Sistemas de control secuencial
_____________________________________________________________________________________

3.8

Función IGUALDAD
La salida siempre tiene el mismo valor que la entrada. Es utilizada como
regenerador

S= A

A

S

A

A
0
1

Tabla de verdad

S

S
0
1

En neumática, la función igualdad puede obtenerse, bien con una célula lógica o bien
utilizando una válvula 3/2 vías cerrada en reposo, tal como se indica en la siguiente
figura
S
2
A

10

Válvula de 3 vias cerrada en reposo
1

3
S

=

S=A
( regenerado )
A

Símbolo función SI de Parker

_____________________________________________________________________________________
Representación de los automatismos
pág.21
Sistemas de control secuencial
_____________________________________________________________________________________

4

IMPLEMENTACIÓN DE FUNCIONES

Se denomina implementar una función, a realizar el circuito que cumpla la ecuación de
dicha función. Obtenida la ecuación lógica de funcionamiento del circuito de mando de
un automatismo, se puede elegir la tecnología a utilizar ( contactos, puertas lógicas,
neumática, hidráulica ), teniendo en cuenta que cada una de estas tecnologías tiene
elementos para realizar las distintas funciones lógicas, pero asimismo, no todas las
funciones pueden realizarse de forma económica con cualquier tecnología. Cada
tecnología posee funciones características que son óptimas desde el punto de vista
económico y tecnológico
4.1

Implementación de funciones lógicas con contactos

Cuando se desea implementar la ecuación de funcionamiento del circuito de mando de
un automatismo con contactores y pulsadores, se deben tener en cuenta las siguientes
normas :
*
Cada ecuación se implementará con un contactor o relé
*
Las entradas de la ecuación se realizan con contactos ( interruptores,
pulsadores o contactos auxiliares de los contactores )
*
Cuando en una ecuación aparece como entrada una salida, dicha entrada se
realiza con un contacto auxiliar del contactor que implementa dicha
ecuación
*
Las multiplicaciones de variables en una ecuación equivalen a poner en
serie los elementos que representan dichas variables
*
Las sumas de variables en una ecuación equivalen a poner en paralelo los
elementos que componen dicha suma
*
Las negaciones de variables en una ecuación equivalen al empleo de
elementos ( pulsadores o contactos ) normalmente cerrados
*
Las negaciones de grupos de
variables no pueden implementarse
directamente, precisando de la aplicación del álgebra de Boole para su
reducción a variables simples. Ejemplo :
A+B+C=A·B·C
Problema : Implementar, con pulsadores solamente, la siguiente ecuación lógica de un
automatismo :
S=A.B.(C+D)
Solución : Cuando se implementa un circuito sólo con pulsadores, cada una de las
variables de entrada estará representada por un pulsador que, según se
encuentre negada o no, corresponderá a un pulsador normalmente cerrado o
normalmente abierto

_____________________________________________________________________________________
Representación de los automatismos
pág.22
Sistemas de control secuencial
_____________________________________________________________________________________

La implementación del circuito se realiza representando en primer lugar la alimentación.
En serie con ella se representa el circuito equivalente en pulsadores - a la ecuación de
funcionamiento - y, por último, también en serie, el receptor cuya funcionamiento
define la ecuación.
En nuestro caso, tenemos 4 variables de entrada asociadas de la siguiente forma :
•

Las variables C y D bajo la forma de suma que se representarán, por tanto,
con dos pulsadores en paralelo. El correspondiente a C será normalmente
cerrado, por encontrarse esta variable negada, mientras que el
correspondiente a D será normalmente abierto

•

Las variables A y B bajo la forma de producto en conjunto con el bloque ( C
+ D ) serán representadas por dos pulsadores en serie, en conjunto con el
bloque anterior. El pulsador de A será normalmente cerrado

B

C
Receptor S

A

D
Alimentación

4.2

Implementación de funciones con puertas lógicas

A partir de la ecuación de funcionamiento del automatismo, se puede implementar la
función con la utilización de las puertas lógicas ya descritas. Sin embargo, ello
requeriría la disponibilidad de toda la serie de circuitos integrados digitales. De otra
parte, todas las funciones básicas pueden ser sustituidas por las puertas NAND y NOR.
Este aspecto es muy importante dado que casi todos los circuitos tienden a realizarse
mediante este tipo de puertas, con el fin de simplificar el montaje de aquellos problemas
digitales en los que intervienen sumas, productos, negaciones, etc., que supondrían
bastantes tipos de funciones específicas a realizar por un solo elemento que la ejecute,
complicando sobremanera su montaje. Mediante la correcta utilización del teorema de
De Morgan, se puede resolver cualquier ecuación con estas dos funciones.

_____________________________________________________________________________________
Representación de los automatismos
pág.23
Sistemas de control secuencial
_____________________________________________________________________________________

Equivalencias entre puertas lógicas

Función

a

a
b

Puertas NAND

S

a

a
b

S

Puertas NOR

a

S

S

a
S

S
b

a
a
b

S

S

a
b

S

b

a
a
b

S

S
b

a
a
b

S

S
b

4.2.1 Implementación de funciones con puertas NAND
El proceso es el siguiente :
1.- Una vez obtenida la expresión correspondiente del problema, se realiza a
todo el conjunto una doble inversión o negación
2.- Si en la expresión resultante existe algún producto, las dos negaciones
deben dejarse tal cual. Si por el contrario, es una suma, aplicaremos el
teorema de De Morgan sobre dicha suma
3.- Se continua realizando el proceso anterior hasta la obtención de una función
compuesta exclusivamente por productos negados.
_____________________________________________________________________________________
Representación de los automatismos
pág.24
Sistemas de control secuencial
_____________________________________________________________________________________

Como ejemplo, vamos a realizar la implementación mediante puertas NAND de la
función OR
Función OR ----------- S = a + b
Con puertas NAND :
S = a + b ............ ( 1 )

S = a · b............... ( 2 ) y ( 3 )

que, representado lógicamente, sería la función existente en la tabla de equivalencias
4.2.2 Implementación de funciones con puertas NOR
El proceso es el siguiente :
1.- Una vez obtenida la expresión correspondiente del problema, se realiza a
todo el conjunto una doble inversión o negación
2.- Si en la expresión resultante existe alguna suma, las dos negaciones deben
dejarse tal cual. Si por el contrario, es un producto, aplicaremos el teorema
de De Morgan sobre dicho producto
3.- Se continua realizando el proceso anterior hasta la obtención de una función
compuesta exclusivamente por sumas negadas.
Como ejemplo, vamos a realizar la implementación con puertas NOR de la función Y
Función Y ----------- S = a · b
Con puertas NOR :
S = a + b ............ ( 1 )

S = a · b............... ( 2 ) y ( 3 )

obteniendo la representación lógica mostrada en la tabla de equivalencias de puertas
4.3 Implementación de funciones con elementos neumáticos
Cuando se desea implementar la ecuación de funcionamiento del circuito de mando de
un automatismo con elementos neumáticos, se deben tener en cuenta las siguientes
normas :
*

Las entradas de la ecuación se realizan con válvulas distribuidoras ( válvulas
de vías, en sus diversas disposiciones )

*

Las multiplicaciones de variables en una ecuación equivalen a poner en
serie los elementos que representan dichas variables. Se puede utilizar : bien
la conexión en serie de válvulas, o bien usar las válvulas de simultaneidad

*

Las sumas de variables en una ecuación equivalen a poner en paralelo los
elementos que componen dicha suma. En este caso conviene utilizar las
válvulas selectoras de circuito

_____________________________________________________________________________________
Representación de los automatismos
pág.25
Sistemas de control secuencial
_____________________________________________________________________________________

*

Las negaciones de variables en una ecuación equivalen al empleo de
elementos ( válvulas ) normalmente abiertas. Aquí, para realizar la función,
se dispone de : válvulas de vías normalmente abiertas, función NO y
función Inhibición.

*

Las negaciones de grupos de
variables no pueden implementarse
directamente, precisando de la aplicación del álgebra de Boole para su
reducción a variables simples. Ejemplo :
A+B+C=A·B·C

Problema : Implementar, con elementos neumáticos solamente, la siguiente ecuación
lógica de un automatismo :
S = P1 . I1 + P0

S

P1

I1

P0

_____________________________________________________________________________________
Representación de los automatismos
pág.26
Sistemas de control secuencial
____________________________________________________________________________________

TEMA 3 : ÁLGEBRA DE BOOLE

____________________________________________________________________________________
Algebra de Boole
pág. 1
Sistemas de control secuencial
____________________________________________________________________________________

____________________________________________________________________________________
Algebra de Boole
pág. 2
Sistemas de control secuencial
____________________________________________________________________________________

El fin de toda álgebra o sistema matemático es el de representar, mediante una serie de
símbolos y operaciones un grupo de objetos o elementos con el fin de obtener una serie
de ecuaciones escritas en forma simbólica, que mediante su manipulación y/o
simplificación correctas nos den la solución de un sistema con el menor número de
elementos posible, de modo que sea idéntica a la dada.
El filósofo y matemático George Boole desarrolló a mediados del siglo XX un sistema
matemático basado en relaciones lógicas, estableciendo una serie de postulados y
operaciones con la misión de resolver los automatismos o procesos a ejecutar.
La diferencia entre el álgebra convencional y el álgebra de Boole es que esta última está
relacionada con dos operaciones binarias lógicas, como son la suma ( + ) y el producto (
. ) lógicos, y con las variables "0" y "1"; mientras que la convencional necesita de
relaciones cuantitativas, es decir, necesitamos saber si X es mayor que Y por ejemplo.
Basado en estas relaciones lógicas, su álgebra da a todos sus elementos dos únicos
valores ( 0 y 1 ) que son opuestos entre sí.
1

AXIOMAS DEL ÁLGEBRA DE BOOLE

En este punto, se indican todos aquellos postulados o teoremas que relacionan el álgebra
de Boole, apoyándonos en la representación de contactos eléctricos para una mayor
comprensión.
Recordemos que el signo suma (+) en el álgebra de Boole equivale, traducido al álgebra
de contactos eléctricos, a un circuito paralelo, mientras que el signo producto (.)
equivale al circuito serie.

Operación

Expresión
Booleana

Contactos
eléctricos
a

Suma

a+b
b
a

Producto

b

a.b

Significar que la operación producto se indica generalmente mediante la ausencia de
símbolo entre dos variables.
También :

a · b = ab
1 lógico equivale a contacto cerrado
0 lógico equivale a contacto abierto

____________________________________________________________________________________
Algebra de Boole
pág. 3
Sistemas de control secuencial
____________________________________________________________________________________

1.1

Postulados y teoremas

1.-

Las operaciones suma y producto son conmutativas :
b

a
a)

a+b=b+a

=
b

b)

2.-

a

ab = ba

b

=

( ab ) c = a ( bc ) = abc

Ambas operaciones son distributivas :
a
a + bc = ( a + b ) ( a + c )

a ( b + c ) = ( ab ) + ( ac )

=
b

c
b

a

c
a

b

a

c

=
c

4.-

a

a

b
b)

a

(a+b)+c=a+(b+c)=a+b+c

b)

a)

b

Ambas operaciones son asociativas :
a)

3.-

a

La suma o producto de dos variables iguales equivale a la misma variable
a
a)

a+a= a

=

a

a

b)

a.a = a

a

a

a
=

____________________________________________________________________________________
Algebra de Boole
pág. 4
Sistemas de control secuencial
____________________________________________________________________________________

5.-

Existe elemento complementario para cada operación :
a
a)

a+ a=1

1

=
a

b)

6.-

a.a = 0

a

0

a

=

Ley de absorción
a
a)

a

a + ab = a

=
a

b)

a(a+b)= a

b
a

a

a
=

b

7.Existen dos elementos neutros, el 0 y el 1, cumpliéndose la propiedad en dos de
los casos, quedando como 1 y 0 lógicos en los otros dos :

a)

a.1= a

a

1

a

=

a
b)

a

=

a+0= a
0
a

c)

0

a.0= 0

=

a
d)

a+1= 1

0

1
=

1

____________________________________________________________________________________
Algebra de Boole
pág. 5
Sistemas de control secuencial
____________________________________________________________________________________

8.-

Para todo elemento del álgebra de Boole se cumple que :
=
a = a
Lo que queda perfectamente aclarado comprobando su tabla de verdad

a

=
a

0
1

9.-

_
a
1
0

0
1

Postulado noveno
a

a
a)

a+ab=a+b

=
a

b)

a(a+b)= ab

b

b

a

a

a
=

b

b
Demostración
a)
b)

2

a+ab=(a+a)(a+b)=1(a+b)=a+b
a(a+b)=aa+ab=0+ab=ab

TEOREMA DE DE MORGAN

Permite transformar funciones " suma " en funciones " producto " y viceversa.

a)

A+B=A·B

c)

A+B=A·B

b)

A·B=A+B

d)

A·B=A+B

____________________________________________________________________________________
Algebra de Boole
pág. 6
Sistemas de control secuencial
____________________________________________________________________________________

*

La ecuación a) nos demuestra que podemos conseguir una puerta NOR invirtiendo
las entradas de una puerta AND

*

La ecuación b) nos demuestra que podemos obtener una puerta NAND invirtiendo
las entradas de una puerta OR

*

La ecuación c) nos demuestra que podemos obtener una puerta OR invirtiendo las
entradas de una puerta NAND

*

La ecuación d) nos demuestra que podemos obtener una puerta AND invirtiendo
las entradas de una puerta NOR

Los teoremas del álgebra de Boole son demostrables por el método de inducción
completa que consiste en comprobar que la relación entre los elementos que el teorema
define, se cumplen en todos los casos posibles. Para poder realizar esto, se utilizan las
tablas de verdad.
Por ejemplo : Vamos a demostrar la ley de absorción
a+a.b=a
Cuya tabla de verdad es la siguiente :

a
0
0
1
1

b
0
1
0
1

a+a.b
0+0.0=0
0+0.1=0
1+1.0=1
1+1.1=1

a
0
0
1
1

Existen infinidad de teoremas en el álgebra de Boole, tantos como puedan ser
demostrados por el método referido, sin embargo, los indicados anteriormente se
encuentran entre los más importantes por su utilidad.
Por otra parte, siempre que se cumple una ley o teorema en el álgebra de Boole, se
cumple también su forma dual; es decir, la expresión que se obtiene cambiando
solamente las operaciones de suma por las de producto y las de producto por las de
suma. Las formas duales de las leyes y teoremas básicos se indican en la siguiente tabla.

____________________________________________________________________________________
Algebra de Boole
pág. 7
Sistemas de control secuencial
____________________________________________________________________________________

Nombre de la Ley
Ley de absorción
Teorema
Morgan

de

Forma básica

Forma dual

a+a.b=a

A.(a+b)=a

De __________
_ _ _
( a + b + c + ... ) = a . b . c ...

_______
_ _ _
( a . b . c ... ) = a + b + c + ...

Leyes de
transposición

_
_
a.b+a.c=(a+c).(a+b)
_ _
_
_
a.b+a.b=(a+b).(a+b)

_
_
(a+b).(a+c)=a.c+a.b
_ _
_
_
(a+b).(a+b)=a.b+a.b

Leyes varias

_
a+a.b=a+b
_
_
a+a.b=a+b
_
a.b+a.b.c=a.b+a.c
_
_
a.b+a.c+b.c=a.b+a.c
_
a.b+a.b=a

_
a.(a+b)=a.b
_
_
a.(a+b)=a.b
_
( a+b ) . ( a + b + c ) = ( a+b ) . ( a+c)
_
_
(a + b) (a + c) (b + c ) = (a + b) (a+ c)
_
(a+b).(a+b)=a

a.b+a.c=a.(b+c)

(a+b).(a+c)=a+(b.c)

3

FORMAS DE UNA FUNCIÓN BOOLEANA

Una función Booleana se puede expresar de las siguientes formas :
a)

Mediante la expresión lógica : F = c + b a

b)

Mediante la tabla de verdad. Ejemplo : F ( c, b, a ) = c b + c a

c

b

A

F

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

0
1
0
1
0
0
1
1

____________________________________________________________________________________
Algebra de Boole
pág. 8
Sistemas de control secuencial
____________________________________________________________________________________

c)

Mediante los términos canónicos. Se tienen las siguientes estructuras :
*

Ecuación con estructura minterms : Esta ecuación está estructurada como
una suma de términos en forma de productos de las diferentes variables que
intervienen en la ecuación. Por ejemplo :
x=abc+abc+abc

*

Ecuación con estructura maxterms : Se dispone como un producto de
términos en forma de suma de las diferentes variables que intervienen en la
ecuación. Por ejemplo :
y = ( a + b + c ) . ( a + b + c ) .( a + b + c )

Tanto en una estructura como en la otra, todos los términos han de contener todas las
variables que intervienen en la ecuación
Suele utilizarse también una segunda forma canónica, llamada numérica. Se asigna a
cada término canónico un número decimal que es el equivalente binario que se obtiene
de sustituir las variables según el siguiente criterio :
A las variables que aparecen de forma directa ⇔ 1
A las variables que aparecen de forma negada ⇔ 0
Ejemplo : Supongamos una función F expresada en minterms :

F = c b a + c b a + c b a + c b a = ∑ ( 1, 3, 5, 7 )
3

111
(7)
101
(5)
011
(3)
001
(1)
Si viene expresada en forma de maxterms :
F = ( c + b + a ) . ( c + b + a ) . ( c + b + a ) . ( c + b + a ) = II ( 1, 3, 5, 7 )
3

____________________________________________________________________________________
Algebra de Boole
pág. 9
Sistemas de control secuencial
____________________________________________________________________________________

4
a)

CONVERSIÓN ENTRE FORMAS
Para pasar de la tabla de verdad a la expresión canónica algebraica en forma de
suma de productos, se parte de la tabla de verdad y, aquellas combinaciones que
hacen "1" la función se toman con el criterio expuesto anteriormente.
c
0
0
0
0
1
1
1
1

luego

b
0
0
1
1
0
0
1
1

a
0
1
0
1
0
1
0
1

F
0
1
0
1
0
0
1
1

⇒

c.b.a

⇒

c.b.a

⇒
⇒

c.b.a
c.b.a

F = c . b . a + c . b . a + c . b . a + c . b . a = Σ ( 1, 3, 6, 7 )
3

b)

Para pasar de la forma canónica algebraica o numérica de minterms a la tabla de
verdad se procede al contrario, poniendo un "1" en las combinaciones
correspondientes a los minitérminos.

c)

Para pasar de la tabla de verdad a la expresión canónica algebraica producto de
sumas, se parte de la tabla de verdad y aquellas combinaciones que hacen "0" la
función se toman con el criterio inverso al anterior ( las variables que valgan "0"
se toman directas y las que valgan "1" complementadas.
En el ejemplo anterior :
F = ( c + b + a ) . ( c + b + a ) . ( c + b + a ) . ( c + b + a ) = II ( 2, 3, 5, 7 )
3

d)

Para pasar directamente de una forma canónica de minterms a maxterms y
viceversa, se obtiene la conversión mediante el complemento a 2n-1 de los
términos que no pertenecen a la función, siendo n el número de variables de la
función
Ejemplo : Σ ( 1, 3, 6, 7 ) ----- faltan los términos 0, 2, 4, 5
3
2n-1 = 23 - 1 = 8 - 1 = 7....... 7 - 0 = 7
7-2=5
7-4=3
7-5=2

F = II ( 2, 3, 5, 7 )
3

____________________________________________________________________________________
Algebra de Boole
pág. 10
Sistemas de control secuencial
____________________________________________________________________________________

e)

Para convertir una expresión no canónica en canónica se procede de la siguiente
manera :
*
*

A los productos que no sean canónicos se les multiplica por la forma directa
y complementada de las variables que faltan
A las sumas que no sean canónicas se les suma el producto de la forma
directa y complementada de las variables que falten

Ejemplo : Transformar en la forma canónica minterms la siguiente ecuación :
F=a.b.c + a + b.d
Solución : A los productos que no sean canónicos, por faltarles algún término, se
les multiplica por el término
( a + a ), ( b + b ), (c + c ) o ( d + d ), que les falte. Por tanto, la función anterior
se transforma en :
F = a . b . c . ( d + d ) + a . ( b + b ) (c + c ) ( d + d ) + b . d . ( a + a ) . ( c + c )

5

SIMPLIFICACIÓN DE FUNCIONES

Existen dos procedimientos básicos para simplificar las ecuaciones Booleanas :
*
*
5.1

Método algebraico
Métodos tabulares y gráficos
Método algebraico

Este método consiste en ir aplicando las propiedades del álgebra de Boole hasta
conseguir la reducción total. El criterio más extendido consiste en obtener una
expresión de un sistema cualquiera de las dos formas ya conocidas : como sumas de
productos o como productos de sumas; de forma que tenga el menor número de
términos y de variables, para obtener una expresión que realice exactamente la misma
función planteada en el problema.
Ejemplo : Simplificar la función
F=abcd+abcd+abcd+abcd

____________________________________________________________________________________
Algebra de Boole
pág. 11
Sistemas de control secuencial
____________________________________________________________________________________

Aplicando los axiomas del álgebra de Boole, obtenemos :
abcd+abcd=abc(d+d)=abc(1)=abc
abcd+abcd=abc (d+d)=abc (1)=abc
F=abc+abc

de donde

y repitiendo el proceso anterior

abc+abc =ab(c+c)=ab (1)=ab

F=ab

5.2

Métodos tabulares de simplificación

Los métodos más empleados en la simplificación de funciones son :
*

Tablas de Karnaugh : Se pueden utilizar para simplificar funciones de dos a
seis variables, aunque habitualmente sólo se emplee para funciones de dos a
cinco variables.

*

Tablas de Quine-McCluskey : Se puede emplear en la simplificación de
ecuaciones de cualquier número de variables, pero se suelen utilizar
solamente a partir de cinco variables

5.2.1 Tablas de Karnaugh
Es un método de simplificación de funciones sencillo y rápido de manejar. Se aconseja
no utilizarlo para más de 4-5 variables puesto que entraña más dificultades que ventajas
a la hora de resolverlo.
Para epigrafiar las tablas de Karnaugh se hace uso de un código progresivo,
normalmente se emplea el código Gray. El código Gray se caracteriza porque dos
números consecutivos solo se diferencian en un dígito o bit, lo que no ocurre con el
código binario natural

____________________________________________________________________________________
Algebra de Boole
pág. 12
Sistemas de control secuencial
____________________________________________________________________________________

Decimal
0
1
2
3
4
5
6
7

Binario natural
000
001
010
011
100
101
110
111

Binario Gray
000
001
011
010
110
111
101
100

El código binario natural es útil para el cálculo matemático, pero no para ciertas
aplicaciones, por ejemplo para la codificación de las informaciones procedentes de los
transductores analógicos, ya que el retraso de alguno de los bits daría lugar a una
codificación transitoria errónea.
El código Gray es continuo y cíclico porque el último término, como veremos, cumple
la progresividad con el, primero. También es reflexivo porque puede generarse por
reflexión sobre un eje, siendo precisamente la propiedad reflexiva la que utilizaremos
para obtener el código Gray :
Para una sola variable se tiene :

0
1
---------1
0

Haciendo girar el código anterior sobre el eje "X" y añadiendo " ceros " a la izquierda
de las posiciones antiguas y " unos " a la izquierda de las reflejadas, se tiene el código
para 2 variables :

0
0

0
1

----------------

1
1

0
0
0
0

1
0

Para 3 variables

0
0
1
1

0
1
1
0

0
0
0
0
0
0
0
0

--------------------------- Para 4 variables

1
1
1
1

1
1
0
0

0
1
1
0

0
0
0
0
1
1
1
1

0
0
1
1
1
1
0
0

0
1
1
0
0
1
1
0

-------------------------------

1
1
1
1
1
1
1
1

1
1
1
1
0
0
0
0

0
0
1
1
1
1
0
0

0
1
1
0
0
1
1
0

____________________________________________________________________________________
Algebra de Boole
pág. 13
Sistemas de control secuencial
____________________________________________________________________________________

Siguiendo con el mismo procedimiento se puede obtener el código Gray para cualquier
número de variables
Las tablas de Karnaugh están constituidas por una cuadrícula en forma de encasillado
cuyo número de casillas depende del número de variables que tenga la función a
simplificar. Cada una de las casillas representa las distintas combinaciones de las
variables que puedan existir.
ab
cd
a
b
0

0

1

c
0

1

ab

00

01

11

00

01

11

10

00

10

01
11

1

10
Para 2 variables

Para 3 variables

Para 4 variables

Cada una de las casillas que forman la tabla puede representar términos tanto minterms
como maxterms. En la siguiente figura aparece, a modo de ejemplo, la equivalencia de
cada una de las casillas de una tabla de 4 variables expresada en términos minterms y
maxterms

ab

00

01

11

10

00

abcd

abcd

abcd

abcd

01

abcd

abcd

abcd

abcd

11

abcd

abcd

abcd

abcd

10

abcd

abcd

abcd

abcd

cd

Términos Minterms

____________________________________________________________________________________
Algebra de Boole
pág. 14
Sistemas de control secuencial
____________________________________________________________________________________

ab

00

01

11

10

00

a+b+c+d

a+b+c+d

a+b+c+d

a+b+c+d

01

a+b+c+d

a+b+c+d

a+b+c+d

a+b+c+d

11

a+b+c+d

a+b+c+d

a+b+c+d

a+b+c+d

10

a+b+c+d

a+b+c+d

a+b+c+d

a+b+c+d

cd

Términos Maxterms
Cuando se vaya a representar una ecuación en forma minterms, se pondrá un "1" en la
casilla correspondiente a cada término. Por el contrario, si se representa en forma
maxterms, colocaremos un "0" en la casilla correspondiente a cada término.
Hay que tener en cuenta, que al representar una ecuación Booleana, ésta tiene que estar
en su forma canónica ( minterms o maxterms ) completa y, por tanto, todos los
términos han de contener todas las variables que intervienen en la función
Simplificación de ecuaciones en tablas de Karnaugh
El principio de simplificación de las tablas se basa en una de las leyes del álgebra de
Boole.
a.b+a.b=a
Como se puede observar en la tabla anterior, todas las casillas contiguas, según los ejes
coordenados, se caracterizan por diferenciarse sólo en una variable, que se encuentra
negada en una de ellas y sin negar en la otra. Esta característica, que se cumple en todas
las tablas, permite aplicar de una forma automática la ley anterior, consiguiendo así
simplificar las casillas contiguas por sus variables comunes
El proceso de simplificación consta de las siguientes etapas :
1º .- Se hace una tabla de 2n celdillas ( siendo n el número de variables de entrada ) y
se epigrafía con el código Gray
2º.- Se numeran los términos de la ecuación y este número de referencia se coloca en
la celdilla cuyo epigrafiado corresponda al término considerado. Cuando se desea
simplificar una función desde su tabla de verdad, no es preciso obtener
previamente la ecuación de la función sin simplificar para seguidamente
representarla en la tabla y proceder a su simplificación. En la práctica, se suele
representar la función, directamente desde la tabla de verdad al mapa de
Karnaugh, sin más que ir colocando los unos o los ceros en las casillas
correspondientes a los valores que toma la función para cada una de las
combinaciones binarias de las variables que forman dicha función

____________________________________________________________________________________
Algebra de Boole
pág. 15
Sistemas de control secuencial
____________________________________________________________________________________

3º.- Se enlazan con un bucle los grupos de 2, 4, 8, celdillas ( potencias de 2 ) ocupadas
si son adyacentes no oblicuas. Cada celdilla puede formar parte de más de un
bucle. Se considera que los lados opuestos de la tabla se están tocando como si su
superficie formara un toroide. Se debe procurar conseguir grupos del máximo
número de casillas
4º.- Los términos agrupados por los bucles son simplificables entre sí y cada grupo
dará lugar a un solo término, que se obtiene por la regla siguiente :
Regla : Cada bucle proporciona un término que contiene las variables que no
invierten a lo largo de todo el dominio del bucle. Las variables epigrafiadas
con "0" llevarán la barra de inversión
Ejemplo : Simplificar la siguiente ecuación
S=ABCD+ABCD+ABCD+ABCD+ABCD+ABCD+ABCD
1

2

3

ab
cd

00

4

01

11

00

6

7

10

1

01

5

2

11

3

7

10

4

5

6

El bucle 1-2 proporciona el término :
ABCD
⇒ABC
ABCD
El bucle 3-7-4-5 proporciona el término :
ABCD
ABCD
⇒AC
ABCD
ABCD

____________________________________________________________________________________
Algebra de Boole
pág. 16
Sistemas de control secuencial
____________________________________________________________________________________

El bucle 4-6 proporciona el término :
ABCD
⇒BCD
ABCD
Luego el resultado es :

S=ABC+BCD+AC

Ejemplo 2 : Dada la tabla de verdad de una función, obtener la ecuación más
simplificada

a
0
0
0
0
1
1
1
1

b
0
0
1
1
0
0
1
1

c
0
1
0
1
0
1
0
1

F
1
1
0
0
1
1
1
1

Un punto a tener en cuenta al simplificar una función Booleana desde su tabla de verdad
es si debemos representar la ecuación bajo la forma de minterms o maxterms. La norma
práctica consiste en representar la ecuación en la forma canónica que menos términos
tenga en la salida de dicha tabla.
Esta norma no impide que a veces se obtengan ecuaciones más simplificadas
representando la forma canónica que más términos tiene en la tabla de verdad
En este ejemplo, representaremos la forma canónica maxterms por ser la de menos
términos en la tabla de verdad

c
0
1

ab 00

01

11

10

0

a+b+c

0

a+b+c

Siendo la simplificación final de la función

(a+b)

F=a+b

____________________________________________________________________________________
Algebra de Boole
pág. 17
Sistemas de control secuencial
____________________________________________________________________________________

Estados indiferentes
En algunos casos existen combinaciones de variables de entrada que, por razones
tecnológicas o de programa, no se pueden producir, o bien nos encontramos con alguna
salida inhibida aunque exista la combinación de entradas que pueda producirla
A estas combinaciones de entrada que, apareciendo en la tabla de verdad de
funcionamiento del circuito, no producen en la salida ni 0 ni 1, las denominamos
combinaciones indiferentes y se representan en la tabla de verdad mediante los símbolos
X o φ. A su vez estas combinaciones indiferentes dan lugar a términos indiferentes, que
pueden ser representados en las tablas de Karnaugh y se los puede considerar bien
como 0 o como 1, según convenga para la simplificación
Ejemplo : Simplificar por Karnaugh la función definida en la siguiente tabla de verdad

a

b

C

F

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

X
1
0
1
0
1
0
X

Si analizamos la tabla, comprobamos que el número de términos minterms es igual al
número de términos maxterms. En estos casos debe intentar simplificarse por ambos
tipos de ecuaciones y decidir cual de los resultados es el más simplificado.
c

ab 00

0

X

1

1

1

11

X

1

abc
abc
abc
abc

10

c

ab 00

0

01

X

1

01

11

10

0

0

0

X

a+b+c
c

a+b+c
a+b+c

c

a+b+c

____________________________________________________________________________________
Algebra de Boole
pág. 18
Sistemas de control secuencial
____________________________________________________________________________________

Azares o " Aleas tecnológicas "
Teóricamente la expresión F = A + A = 1 es totalmente cierta, pero en la práctica,
debido a las características de los elementos utilizados en la conmutación, se puede
producir un estado transitorio, conocido por azar o " alea tecnológica ", durante el cual
F=A+A=0
Veamos un ejemplo :
Si materializamos con contactos la función F = A + A , resulta el circuito siguiente :
A
1

F

2

Puede verse que, al conmutar A, antes de cerrarse el contacto 2 se abre el contacto 1;
por tanto, existe un pequeño intervalo de tiempo durante la conmutación en el que
F=A+A=0
La duración de este transitorio es del orden de milisegundos en los contactores
eléctricos y del orden de nanosegundos en los elementos electrónicos.
Si el receptor es de respuesta lenta no acusará este fenómeno, sin embargo, el citado
transitorio puede ocasionar el disparo no deseado de un biestable, un contactor, etc.
dando lugar a una maniobra no prevista en el diseño.
La forma de eliminar los azares al simplificar una función por las tablas de Karnaugh,
es añadir a los términos obtenidos de los bucles normales, otros términos derivados de
nuevos bucles que solapen las celdillas adyacentes pertenecientes a bucles normales
distintos. Otra solución si el circuito se materializa con puertas lógicas consiste en
poner un condensador entre la salida del circuito y masa para filtrar los impulsos
transitorios.
Asimismo, existen sensores electromecánicos ( como pulsadores ) que cierran el
contacto abierto antes de abrirse el contacto cerrado.
En expresiones del tipo A A = 0 también cierta, teóricamente, se puede presentar un
fenómeno análogo y su solución es semejante

____________________________________________________________________________________
Algebra de Boole
pág. 19
Sistemas de control secuencial
____________________________________________________________________________________

5.2.2 Tablas de Quine-McCluskey
Cuando las ecuaciones tienen 5 o más variables es complicado utilizar las tablas de
Karnaugh, siendo el método de Quine-McCluskey el más idóneo. Consiste este método
en ordenar según el número de "1" que tengan las combinaciones de variables que
cumplen la ecuación. A continuación se buscan las combinaciones que comparadas con
los grupos adyacentes, con un "1" más o menos, difieran solo en una variable, que en
una combinación estará negada y en la otra sin negar, eliminándose la misma. La
función Booleana a simplificar ha de venir expresada bajo la forma minterms.
El proceso de simplificación de ecuaciones se lleva a cabo a través de una serie de
operaciones, obteniéndose las siguientes tablas :
Tabla de agrupamientos base
Tabla de agrupamientos de orden : primero, segundo, tercero, etc.
Tabla reductora final
Para poder comprender el proceso de reducción, veamos un ejemplo. Supongamos que
se desea simplificar la ecuación ( representada en este caso en forma algebraica ) :
X = ABC + ACD + ABCD + ACD
1ª Fase.-

Todos los términos de la ecuación lógica han de contener todas las variables
( es decir la ecuación debe representarse en su forma canónica ). Los
términos que carezcan de alguna variable, ésta se incluye realizando la
operación AND del término por la variable directa más la variable negada,
teniendo en cuenta que
(U+U)=1
Al aplicar esta regla en nuestro ejemplo, se obtiene :
X = ABC ( D+D ) + ACD ( B+B ) + ABCD + ACD ( B+B )

X = ABCD + ABCD + ABCD + ABCD + ABCD + ABCD + ABCD

____________________________________________________________________________________
Algebra de Boole
pág. 20
Sistemas de control secuencial
____________________________________________________________________________________

2ª Fase :
Se determina el " índice " de cada término, siendo dicho índice el número
de variables sin negar, o de valor "1", que contenga el término. Así por ejemplo, el
primer término
ABCD
( 0101 ) tiene de índice 2 y le corresponde el valor decimal de 5,
obteniéndose por este procedimiento la tabla de agrupamientos base, que
representaremos ordenada de menor a mayor por su índice
Término

Valor decimal

Índice

ABCD

0100

4

1

ABCD

0011

3

ABCD

0101

5

ABCD

0110

6

ABCD

0111

7

ABCD

1011

11

ABCD

3ª Fase :

Estado de las
Variables

1111

15

2

3

4

Se forma una segunda tabla de agrupamientos de primer orden. Esta tabla
se obtiene combinando los términos expresados en la tabla de
agrupamientos base, siguiendo la siguiente regla : " Los términos a
combinar no difieren entre sí, más que en el estado de una de las variables,
la cual será sustituida por un guión "
Términos combinados
( valor decimal )
( 4, 5 )
( 4, 6 )
( 5, 7 )
( 3, 7 )
( 3, 11 )
( 6, 7 )
( 7, 15 )
( 11, 15 )

Combinación
01001-0
01-1
0-11
-011
011-111
1-11

Índice
1
2
3

____________________________________________________________________________________
Algebra de Boole
pág. 21
Sistemas de control secuencial
____________________________________________________________________________________

4ª Fase :

Se forma una nueva tabla de agrupamientos de segundo orden. Las nuevas
combinaciones dispondrán por lo tanto de dos guiones, uno correspondiente
a la lista anterior más el de la nueva variable que cambia de estado en la
nueva tabla. Cuando en una tabla aparecen términos repetidos, se pueden
eliminar, si bien, conservando siempre su procedencia
Términos combinados
( valor decimal )
( 4, 5 ) , ( 6, 7 )
( 4, 6 ) , ( 5, 7 )
( 3, 7 ) , ( 11, 15 )
( 3, 11 ) , ( 7, 15 )

Combinación
01-01-- ( Se elimina )
--11
--11 ( Se elimina )

Índice
1
2

El proceso de reducción debe realizarse hasta que no sea posible realizar
más agrupamientos; obteniéndose en ese momento la tabla reductora final
5ª Fase :

Se forma la tabla reductora final con los agrupamientos de orden superior
realizados. Si con ellos no están cubiertos todos los términos de la tabla de
agrupamientos base, se añadirán agrupamientos del orden inmediatamente
inferior, y así sucesivamente, hasta que estén cubiertos todos los términos
A B C D
0 1 - - - 1 1

3

4 5 6 7 11 15
X X X X
X
X X X

La ecuación simplificada se forma mediante la suma lógica de los términos
no eliminados, empleando el convenio de las ecuaciones minterms ( 0 =
variable negada y 1 = variable sin negar ), de manera que todos los términos
de la tabla de agrupamientos base estén incluidos. Por tanto, en nuestro caso
la ecuación final es :
X = AB + CD

____________________________________________________________________________________
Algebra de Boole
pág. 22
Sistemas de control secuencial
____________________________________________________________________________________

TEMA 4 : GRAFCET

____________________________________________________________________________________
Grafcet
pág. 1
Sistemas de control secuencial
____________________________________________________________________________________

____________________________________________________________________________________
Grafcet
pág. 2
Sistemas de control secuencial
____________________________________________________________________________________

1

INTRODUCCIÓN

Los métodos de síntesis basados en automatismos vistos en los textos de electrónica
digital son adecuados bajo el punto de vista pedagógico. Sin embargo su adecuación
resulta poco eficaz cuando el número de variables de entrada supera el número de 5 ó 6.
Teniendo en cuenta que en los procesos industriales reales, el número de
entradas/salidas puede ser de varios millares, resulta obvio que deben buscarse métodos
de diseño más eficaces y adecuados para la síntesis de dichos sistemas basados en
automatismos.
En este módulo temático se trata el método de diseño mediante el Diagrama de Mando
Etapa-Transición ( GRAFCET ) ( GRAphe Fonctionnel de Commande EtapesTransitions ), por ser de gran utilidad y creciente implantación en los dispositivos
controladores lógicos programables industriales, si bien resulta igualmente eficaz para
el diseño de automatismos basados en lógica cableada.
2

EL GRAFCET

Se trata de un método de análisis y diseño de los sistemas basados en automatismos,
derivado de las Redes de Petri y desarrollado por la Asociación Francesa para la
Cibernética, Economía y Técnica ( AFCET ) y por la también francesa Agencia para el
Desarrollo de la Producción Automatizada. La norma francesa UTE NF C030-190
precisa los principios del Grafcet y codifica sus símbolos. La norma alemana DIN
40719 propone un lenguaje gráfico idéntico en sus principios pero ligeramente diferente
en su forma. El Grafcet fue homologado en el año 1988 por la Comisión Electrotécnica
Internacional ( Norma IEC 848 ).
Una de las características a destacar en los automatismos, sobre todo en los dedicados al
control de medianos y grandes procesos industriales, es el elevado número de variables
de entrada que en ellos intervienen. A consecuencia de ello, los métodos clásicos de
análisis vistos tradicionalmente en la electrónica digital se muestran inadecuados para
su tratamiento, ya que la intervención de más de 5 ó 6 variables de entrada complica
sobremanera su resolución.
En los Controladores Lógicos Programables, y en general en la implementación de
dispositivos basados en lógica programada no resulta ya rentable buscar una ley de
mando con un número mínimo de "puertas lógicas". El coste de dicha búsqueda excede
al de la memoria disponible en el dispositivo programable, ya que ésta experimenta
abaratamientos constantes debidos a los altos niveles de integración alcanzados con los
avances tecnológicos en la microelectrónica.
El Grafcet no busca la minimización de las funciones lógicas que representan la
dinámica del sistema, bien al contrario, su poder radica precisamente en que impone
una metodología rigurosa y jerarquizada de solución en los problemas, evitando así las
incoherencias, los bloqueos o los conflictos durante el funcionamiento del automatismo.
____________________________________________________________________________________
Grafcet
pág. 3
Sistemas de control secuencial
____________________________________________________________________________________

Habría que destacar además en este método ciertas cualidades tales como :
*
*
*

2.1

Claridad
Legibilidad
Presentación sintética

Principios básicos

El Grafcet es un diagrama funcional que describe la evolución del proceso que se
pretende automatizar, indicando las acciones que hay que realizar sobre el proceso y
que informaciones las provocan.
Accesible tanto para el usuario como para el diseñador, facilita la comunicación y el
diálogo entre las personas implicadas en el automatismo, tanto en el momento del
análisis del proceso a automatizar, como posteriormente en el mantenimiento y
reparación de averías.
El Grafcet es independiente de las técnicas secuenciales " todo o nada ", neumática,
eléctrica o electrónica, cableadas o programadas, pudiendo utilizarse para realizar el
automatismo de mando, pero la utilización de secuenciadores, por una parte, y de
autómatas programables por otra, permite una transcripción directa del diagrama
funcional.
Entre sus principales características podemos destacar que :
*

Ofrece una metodología de programación estructurada " top-down " ( de forma
descendente ) que permite el desarrollo conceptual de los general a lo particular

*

Introduce un concepto de "tarea " de forma jerarquizada

El proceso se descompone en etapas, que se activarán unas después de otras. A una
etapa se asocian una o varias acciones. Estas acciones no son efectivas más que en la
etapa que es activa.
Una etapa se activa si la etapa precedente está activa y si la condición lógica o
receptividad asociada a la transición de etapa se verifica.
El cumplimiento de esta transición provoca la activación de la etapa siguiente y la
desactivación de la etapa anterior

____________________________________________________________________________________
Grafcet
pág. 4
Sistemas de control secuencial
____________________________________________________________________________________

Ejemplo :

Acción asociada
a la etapa 1

Etapa 1

1

Traspaso de pieza
Condición de transición

sv
2

Descenso pieza
Condición de transición

d
3

Subida prensa
m

Con el fin de definir el cuaderno de cargas de un equipo, el Grafcet se utiliza en 2
niveles
Nivel 1
Nivel 2

Permite comprender lo que debe hacer el automatismo, de cara a las
diferentes situaciones que puedan presentarse
Estando hecha la elección tecnológica, establece la descripción de las
precisiones necesarias para la realización práctica del equipo

El ejemplo que se da a continuación muestra la ayuda aportada a lo largo del estudio por
el empleo del Grafcet : El Grafcet del ciclo se va determinando a medida que se eligen
las tecnologías a emplear ( accionadores, captadores, preaccionadores, etc. )
evolucionando del Grafcet funcional al Grafcet de mando
Marcado

Alimentació
0
Pulsador marcha
Pieza
1

2

3

Alimenta
Pieza
li
d
Marcar

Retorno
alimentació
Pieza marcada y final retorno alimentador
Retorno
marcado
Final del retorno de marcado

____________________________________________________________________________________
Grafcet
pág. 5
Sistemas de control secuencial
____________________________________________________________________________________

1.Desde el pliego de condiciones, el Grafcet determina el ciclo ordenando las
funciones a realizar, estando estas últimas expresadas de forma literal

b0
B
a0

A+

b1

a1

A
B+

Pieza

0
m
1

A+
a1

2

B+

A-

b1 a0
B-

3
b0

____________________________________________________________________________________
Grafcet
pág. 6
Sistemas de control secuencial
____________________________________________________________________________________

2.Escogidos los accionadores ( cilindros A y B ), el Grafcet utiliza entonces los
símbolos de movimientos ( A+, A-,...) y las referencias de los captadores de fin de
carrera ( a0, a1,...)

B

b+

b0
a+

ab-

a0

b1
a1

A
Pieza

0
m
1

1

a+

a1

a1
2

b+

a-

2

bb0

3.-

b+

a-

b1 a0

b1 a0
3

a+

Escogidos los preaccionadores ( 4.distribuidores biestables en este caso
)el Grafcet determina entonces las
señales emitidas ( a+, a-...) o
recibidas
(a0, a1,..) por la
parte de mando

3

bb0 m

Finalmente,
comprobando
que
pueden mantenerse los retornos de
los cilindros, se utiliza la última
etapa 3, como etapa inicial,
suprimiendo así la etapa 0

____________________________________________________________________________________
Grafcet
pág. 7
Sistemas de control secuencial
____________________________________________________________________________________

3

DEFINICIÓN
ASOCIADOS

3.1

DE

CONCEPTOS

Y

ELEMENTOS

GRÁFICOS

Etapa

Se define a la Etapa como la situación del sistema en la cual todo o una parte del órgano
de mando es invariante con respecto a las entradas/salidas del sistema automatizado.
Una etapa corresponde a un periodo de funcionamiento del automatismo de mando,
durante el cual, en espera de la satisfacción de una receptividad, las acciones
engendradas y la receptividad del sistema no varían.
La receptividad representa la facultad para el automatismo, de distinguir entre todas las
informaciones que le llegan, únicamente aquellas que deben modificar su
comportamiento en un instante dado.
Durante el desarrollo del proceso, las Etapas se activan unas después de otras. Entre
estas etapas, la primera se activa inicialmente al principio del funcionamiento.
Gráficamente la Etapa, se representa por un cuadrado que se numera en su interior,
dando de esta manera una secuencialidad a las etapas representadas. Igualmente, la
numeración puede representarse por la letra E con un número como subíndice. En
ambos casos el número indica el orden que ocupa la etapa dentro del Grafcet. Para
distinguir el comienzo del Grafcet, la primera etapa ( etapa de inicialización ) se
representa con un " doble cuadrado "

E
2

2

Representación de

0

E0

Representación de etapas iniciales

____________________________________________________________________________________
Grafcet
pág. 8
Sistemas de control secuencial
____________________________________________________________________________________

3.2

ACCIÓN ASOCIADA

La acción o acciones elementales a realizar durante la etapa en el sistema, vienen
indicadas mediante las etiquetas, que son rectángulos conectados a las etapas y situados
a la derecha de las mismas.

10

Abrir válvula

5

A+

B-

Estas acciones elementales, pueden ser clasificadas como sigue :
* Reales :

Se trata de acciones concretas que se producen en el automatismo,
tales como abrir/cerrar una válvula, arrancar/parar un motor, etc. A su
vez se clasifican en :
Internas : Son acciones que se producen en el interior del dispositivo
de control, tales como temporizaciones, conteos etc.

Fin de descenso
CICLO 1
TEMPORIZACIÓN

3

Fin temporización

Externas : Se producen sobre el proceso en sí

M
ACTIVAR
MOTOR 1

4

PARAR
MOTOR 2

P

____________________________________________________________________________________
Grafcet
pág. 9
Sistemas de control secuencial
____________________________________________________________________________________

* Virtuales :

No se realiza ninguna acción sobre el sistema. Suelen utilizarse
como situaciones de espera a que se produzcan determinados
eventos ( activación de determinadas señales ) que permitan la
evolución del proceso. En estas etapas la etiqueta está vacía o
sin etiqueta.
mac

1

A derecha

11

b
2

d
A Izquierda

B Izquierda

12

a
3

B Derecha

c
Espera

13

Espera

E3 . E13

Cuando se realizan dos secuencias simultáneas, es posible que el
tiempo que cada una de estas secuencias tarda en realizarse sea
distinto, en función del número de tareas asociadas a las etapas,
de cuando se activen las condiciones de transición, etc. Para
finalizar dos secuencias simultáneas es necesario que las etapas
últimas de cada una de ellas estén activas; una o las dos pueden
ser etapas de espera para que la secuencia más rápida aguarde el
final de la secuencia más lenta.

* Incondicionales:

Son acciones que se producen con sólo quedar activadas las
etapas correspondientes
M
ACTIVAR
MOTOR 1

4
P

____________________________________________________________________________________
Grafcet
pág. 10
Sistemas de control secuencial
____________________________________________________________________________________

Estas acciones pueden ser activas mientras la etapa esté activa o
pueden activarse en una etapa y desactivarse en otra posterior

M
ACTIVAR
MOTOR 1

4

P
PARAR
MOTOR 1

10

* Condicionales :

Son aquéllas que requieren el cumplimiento de una condición
adicional a la propia activación de la etapa correspondiente.
Estas condiciones suplementarias se anotan al lado de un trazo
vertical encima de la acción

d
34

T / 0 / 5 seg
ABRIR VÁLVULA 1

f
35

La válvula 1 se abrirá si la etapa 34 está activa y han
transcurrido 5 seg. desde que se activó el temporizador T0

____________________________________________________________________________________
Grafcet
pág. 11
Sistemas de control secuencial
____________________________________________________________________________________

3.3

Transición y receptividad

El concepto de Transición se asocia a la barrera existente entre dos etapas consecutivas
y cuyo franqueamiento hace posible la evolución lógica del sistema. A toda transición le
corresponde una receptividad, que es la condición lógica necesaria para que se produzca
el franqueamiento, si bien éste se producirá siempre que además, la etapa precedente
esté activa. La condición lógica viene expresada mediante una función lógica booleana.
Si se verifica la receptividad, estando activada la etapa precedente, entonces se realiza
la transición, y se produce la activación de la etapa siguiente y la desactivación de la
etapa precedente.
Las receptividades se pueden expresar bajo diferentes formas :
*
*
*
*
*
*
*

Captadores, fin de carrera
Valor de contador ( C = 20 )
Temperatura ( 800 º C )
Nivel de velocidad ( 1000 r.p.m. )
Fin de una temporización
Resultado de una comparación ( >, <, = )
etc.

2

Activar

CT ( condición de transición )
Condición de transición
3

Parar motor

asociada a la etapa
posterior

En la figura anterior hay dos etapas y una condición de transición entre ellas. Para que
el proceso evolucione de la etapa 2 a la etapa 3, es necesario que la etapa 2 esté activa y
además que se cumpla la activación de la condición de transición ( CT ); entonces se
produce la activación de la etapa 3 y la desactivación de la etapa 2.
La condición de transición CT está siempre asociada a la etapa posterior, en este caso a
la 3.

____________________________________________________________________________________
Grafcet
pág. 12
Sistemas de control secuencial
____________________________________________________________________________________

La condición de transición puede ser una o varias variables de las que intervienen en el
proceso. Se emplea la lógica positiva, pudiendo tomar 2 valores CT = 1 y CT = 0
Ejemplo :

6

ACTIVAR CINTA 1
CT

7

Condición de
Transición
Señal "1"
Señal "0"
Por tiempo

Expresión
CT = A
__
CT = A
CT = T / 3 / 10 s.

__
Varias variables
CT = A B F1
Incondicional
CT = 1
Flanco descendente CT = A⇓
Flanco ascendente CT = A ⇑
3.4

ETAPA DE ESPERA

La activación de la etapa 7 se produce
cuando A ( f.d.c por ejemplo ) está activo
cuando el f.d.c A está inactivo
cuando hayan transcurrido 10 segundos
desde que se activó el temporizador 3
Si las variables A y F1 están activas y la
variable B está inactiva
Al activarse la etapa 6
Cuando la señal A pasa de "1" a "0"
Cuando la señal A pasa de "0" a "1"

Arco

Un arco es un segmento de recta que une
una Transición con una Etapa o viceversa,
pero nunca entre elementos homónimos
entre sí.

10
CT
11

____________________________________________________________________________________
Grafcet
pág. 13
Sistemas de control secuencial
____________________________________________________________________________________

3.5

Trazos paralelos

Se utilizan para representar a varias etapas cuya evolución está condicionada por una
misma transición
17

18

ab+c

19

4

20

CONDICIONES EVOLUTIVAS

La dinámica evolutiva del Grafcet viene dada por un conjunto de reglas :
*

El proceso se descompone en etapas, que serán activadas de forma secuencial

*

La etapa de inicialización se activa de forma incondicional antes de que se inicie
el ciclo del Grafcet. Un ciclo está formado por todas las etapas posteriores a la
etapa inicial

*

Una o varias acciones se asocian a cada etapa. Estas acciones solo están activas
cuando la etapa está activa

*

Un etapa se hace activa cuando la precedente lo está y la condición de transición
entre ambas etapas ha sido activada

*

La activación de una condición de transición implica la activación de la etapa
siguiente y la desactivación de la precedente

5

ESTRUCTURAS EN EL GRAFCET

Consisten en una serie de estructuras que dotan al Grafcet de una gran capacidad de
representación gráfica de los automatismos. A grandes rasgos pueden ser clasificadas en
estructuras básicas y lógicas. Las básicas atienden a conceptos tales como
secuencialidad y paralelismo y permiten realizar el análisis del sistema mediante su
descomposición en subprocesos. Las estructuras lógicas atienden a conceptos de
concatenación entre sí de las anteriores estructuras

____________________________________________________________________________________
Grafcet
pág. 14
Sistemas de control secuencial
____________________________________________________________________________________

5.1

Estructuras básicas

Secuencia única
Una secuencia única está compuesta de un conjunto de etapas que van siendo activadas
una tras otra, sin interacción con ninguna otra estructura

En la secuencia única, a cada etapa le sigue una sola transición y cada transición es
validada por una sola etapa.
La secuencia se dice que está activa, si una de sus etapas lo está. Se dice que está
inactiva si todas sus etapas lo están
Secuencias paralelas
Se
denominan
secuencias
paralelas al conjunto de
secuencias únicas que son activadas
de forma simultánea por una misma
transición. Después de la activación
de las distintas secuencias su
evolución se produce de forma
independiente

____________________________________________________________________________________
Grafcet
pág. 15
Sistemas de control secuencial
____________________________________________________________________________________

5.2

Estructuras lógicas

Las operaciones lógicas OR y AND son ampliamente utilizadas en la estructura gráfica
del Grafcet, por ello pasamos seguidamente a realizar un análisis de las mismas
Divergencia en OR
La Etapa n pasa a ser activa si estando activa la etapa n-1 se satisface la Receptividad de
la Transición a
La Etapa n+1 pasa a ser activa si, estando activa la Etapa n-1 se satisface la
Receptividad de la Transición b

n- 1

a

b

n

n+1

Esta estructura lógica nos permite optar por secuencias alternativas cuando la
implementación del automatismo así lo requiera
Convergencia en OR
La Etapa n pasa a ser activa, si estando activa la Etapa n-1 se satisface la Receptividad
de la Transición c, o si estando activa la Etapa n-2 se satisface la Receptividad de la
Transición d

n- 1

n- 2
d

c

n

____________________________________________________________________________________
Grafcet
pág. 16
Sistemas de control secuencial
____________________________________________________________________________________

Posibilidades de utilización de estas estructuras
Un Grafcet está constituido generalmente por varias secuencias, es decir, de varios
grupos de etapas a ejecutar unas después de otras y a menudo es necesario efectuar una
selección exclusiva de una de estas secuencias
5

x
6

y
Acción A

8

Acción C

9
f

c

a
7

z

Acción G

10

Acción D

g

11

Acción E
e

En la ramificación formada por la elección de la secuencia a realizar, las diferentes
transiciones corresponden a las receptividades x, y, z siendo validadas simultáneamente
por la misma etapa 5, pudiendo ejecutarse simultáneamente. En la práctica, a menudo se
adoptan estas receptividades como exclusivas. Se pueden introducir prioridades
igualmente

12

12

13

a

ab

ab
16

Receptividades exclusivas. Si a y b se
presentan a la vez, no podrá realizarse
ninguna transición a partir de la etapa 12

13

ab
16

Prioridad a la receptividad a. La
prioridad dada a la transición 12-13
permite ejecutar ésta si a y b se
presentan a la vez

____________________________________________________________________________________
Grafcet
pág. 17
Sistemas de control secuencial
____________________________________________________________________________________

Divergencia en AND
Las etapas n+1 y n+2 pasan al estado activo, si estando activa la etapa n se satisface la
receptividad de la transición F

n
F

n+1

n+2

Esta estructura hace posible el disparo simultáneo de dos o más secuencias paralelas

Convergencia en AND
La etapa n pasa al estado activo, si estando las etapas n-1 y n-2 activas, se satisface la
receptividad de la transición F

n- 1

n- 2

F
n

Mediante esta estructura se hace posible la convergencia de dos o más secuencias
paralelas

____________________________________________________________________________________
Grafcet
pág. 18
Sistemas de control secuencial
____________________________________________________________________________________

Saltos condicionales. Retención de secuencia
El salto condicional es una ramificación que permite saltar una o varias etapas si las
acciones a realizar no son útiles, mientras que la retención de secuencia permite, al
contrario, efectuar una o varias veces la misma secuencia en tanto que una condición
fijada no se ha obtenido

K

F

F

Acción G

13

Acción L

17
L

G

Acción M

18

Acción H

14

Acción K

16

Acción E

12

M
H
15

M
19

Acción J

En el Grafcet de la figura se producirá
un salto de la etapa 12 a la etapa 15 si
la receptividad representada por la
variable F es F = 0. Si F=1 se prosigue
la secuencia 13, 14, 15

Acción P

En el Grafcet de la figura, se producirá
una retención de la secuencia de etapas
17, 18, mientras se mantenga el valor
de la variable M en M=0

Repetición de secuencias. Concepto de macroetapa
Un conjunto de etapas cuya aparición puede repetirse en varias ocasiones a lo largo del
diagrama Grafcet, puede ser representado a través de un rectángulo con bordes
verticales de doble trazo y conteniendo los números de la etapa inicial y final. De esta
forma solo habrá que detallar de manera explícita la secuencia una sola vez

____________________________________________________________________________________
Grafcet
pág. 19
Sistemas de control secuencial
____________________________________________________________________________________

5
a

6

15- 20
b

7

c
8
d

9

15- 20

e
10

5.3

SITUACIONES ESPECIALES

Se tratan en este apartado, algunos modos de representación normalizada Grafcet de
situaciones especiales de evolución de los sistemas, también la forma de escritura de
acciones asociadas de naturaleza interna. Algunas de especial interés son :
Evoluciones simultáneas
Acciones y receptividades temporizadas
Transiciones temporizadas
Acciones mantenidas

____________________________________________________________________________________
Grafcet
pág. 20
Sistemas de control secuencial
____________________________________________________________________________________

5.3.1 Evoluciones simultáneas
Una de las reglas del Grafcet indica que varias transiciones simultáneamente
franqueables son franqueadas simultáneamente.
Esta regla de franqueamineto simultáneo permite descomponer un diagrama Grafcet en
varios diagramas asegurando de forma rigurosa sus interconexiones. Ello debe
conseguirse, haciendo intervenir en las receptividades los estados activos de las etapas,
de tal forma que el estado activo de la etapa " n " será representado mediante " En " y el
estado inactivo mediante " En " negado.
Esta regla, permite particularmente, el franqueamiento simultáneo de transiciones
validadas por etapas situadas en diagramas separados, excluyendo de esta forma,
posibles ambigüedades en cuanto al franqueamiento de la transición 6 antes que la
transición 14 o viceversa ( ver figura )

6

14
T6 · E14

7

T14 · E6
15

5.3.2 Acciones y receptividades temporizadas
Este tipo de acciones y receptividades temporizadas son de uso frecuente. En el caso de
acciones temporizadas, se trata de acciones de carácter virtual, pero también pueden ser
un caso particular de las acciones condicionales. La indicación de la temporización se
realiza por :
t/n/q
donde

t
n
q

representa la temporización
representa la etapa en que tiene lugar
representa el tiempo en segundos

Su representación puede realizarse de forma que se considere la ejecución de la acción
asociada durante la temporización o a partir de la temporización

____________________________________________________________________________________
Grafcet
pág. 21
Sistemas de control secuencial
____________________________________________________________________________________

E8
Acción A si t / 8 / 10

8

A
10 s

Acción B si t / 8 / 15
B

15 s

5.3.3 Transiciones temporizadas
Su representación se realiza de idéntica forma a lo expuesto anteriormente en las
acciones temporizadas. de tal forma que en el diagrama de la figura, la etapa nº 9 se
activará transcurridos 5 segundos desde la activación de la etapa nº 8

8
Etapa 8
t/8/5s
9

Etapa 9
5 seg

5.3.4 Acción mantenida
Se estudia el tratamiento a realizar con acciones cuya ejecución ha de prolongarse
durante dos o más etapas consecutivas. A este respecto pueden contemplarse mediante
dos modalidades de representación :

____________________________________________________________________________________
Grafcet
pág. 22
Sistemas de control secuencial
____________________________________________________________________________________

a)

Efecto mantenido por acciones continuas no memorizadas

En este caso, la acción a mantener se repetirá en cada una de las etapas afectadas lo
cual, asegura la continuidad de la operación asociada

Etapa 8
Acción A

8

Etapa 9

T8
Acción A Acción B

9

Acción A
Acción B

b)

Efecto mantenido por acción memorizada

En este caso, las acciones se precisarán en las etapas de comienzo y final del efecto
mantenido, tal y como se refleja en la figura

Acción A = 1

10

Etapa 10
Etapa 30

T10
11

Acción A =1
T11
Acción A = 0
30

Acción A = 0

Acción A

____________________________________________________________________________________
Grafcet
pág. 23
Sistemas de control secuencial
____________________________________________________________________________________

6

IMPLEMENTACIÓN DE UN AUTOMATISMO A TRAVÉS DEL
GRAFCET

La implementación de un automatismo mediante lógica programada o cableada, a partir
del Grafcet se realizará teniendo en cuenta las siguientes consideraciones :
El Diagrama Grafcet, nos permite realizar una división del funcionamiento del
automatismo por Etapas, y en cada una de ellas se ejecutarán, por lo general, una o más
acciones asociadas.
El concepto de etapa se asociará al de una memoria binaria, que puede estar activa o
inactiva según dicha memoria esté en estado lógico "1" o "0". Cuando la memoria se
encuentre en estado lógico "1" se ejecutarán todas las acciones asociadas de carácter
incondicional. Las acciones condicionales, deberán ejecutarse cuando además del
estado lógico "1" de la memoria, se encuentre en estado lógico "1" la condición
asociada.
La interacción de las diferentes etapas y la receptividad asociada a cada una de ellas se
realiza a través del denominado módulo secuenciador de etapas.

6.1

Módulo secuenciador de etapa

La relación funcional existente entre etapas contiguas queda establecida por lo que se
denomina el módulo secuenciador de etapa, que podemos definir como el elemento
tecnológico capaz de interaccionar con su/s etapa/s anterior/es y posterior/es.
El módulo secuenciador de etapa es un concepto funcional pero también tecnológico, ya
que existen en el mercado módulos secuenciadores de diversa naturaleza : eléctricos,
neumáticos etc. Dicho módulo secuenciador, básicamente está formado por una
memoria binaria ( biestable o relé de enclavamiento ),a cuya entrada de activación se
conecta una puerta AND con tantas entradas como número de etapas deban activar la
citada etapa, más otra entrada para conectar la receptividad asociada. En su entrada de
desactivación lleva conectada una puerta OR, con tantas entradas como etapas cuya
activación debe provocar la desactivación de la primera

Entradas de
activación

&

Memoria
Salida

Entradas de
desactivación

≥1

binaria

Módulo secuenciador de etapa
____________________________________________________________________________________
Grafcet
pág. 24
Sistemas de control secuencial
____________________________________________________________________________________

Su descripción gráfica se muestra en la siguiente figura, y contribuirá a clarificar la
dinámica inter-etapas
Salida módulo n-1
Transición n-1

Activación módulo n+1

Secuenciador
n

Reset módulo n+1

&

Tn- 2

Salida n

Módulo

A reset módulo n-1

S
En- 1

Salida

En

Salida

En+1

Salida

R

&

Tn- 1

S
R

&

Tn

S
R

El citado elemento tecnológico, en el supuesto de una secuencia única, posee tres
entradas y una salida y el objeto de cada una de ellas para un módulo de etapa de orden
n, es respectivamente :
1ª Entrada :

Se utiliza para hacer activable la etapa n, a través de la señal
proveniente de la salida de la etapa n-1

2ª Entrada :

Se utiliza para efectuar la activación de la etapa y la señal de
activación proviene del franqueamiento de la transición n-1

3ª Entrada :

Se utiliza para la puesta a cero ( Reset ) de la Etapa n, y la señal
proviene de la salida realimentada de la Etapa n+1

1ª Salida :

Se utiliza para que realice tres funciones distintas y simultáneas que
son :
*
*
*

Hacer activable la etapa n+1
Desactivar la etapa n-1
Ejecutar la orden de mando prevista

____________________________________________________________________________________
Grafcet
pág. 25
Sistemas de control secuencial
____________________________________________________________________________________

El módulo secuenciador de etapa de orden n se hace activable por el módulo n-1 y se
hace activo por el franqueamiento de la transición. Su paso al estado activo hace
activable al módulo n+1 y desactiva al módulo n-1.
En la siguiente figura se muestra la implementación física de un módulo secuenciador
de etapa mediante un biestable RS. A la entrada SET se conecta una puerta Y, y a ella
se conecta la salida y receptividad de E ( n-1 ) y T ( n-1 ) respectivamente. A su entrada
RESET se conecta la salida de la etapa ( n+1 )

&

≥1

6.2

S

Salida

R

Obtención de las funciones lógicas a partir del diagrama GRAFCET

A partir de cada Etapa de un diagrama GRAFCET, deben obtenerse dos tipos diferentes
de funciones lógicas :
*

Función lógica de activación / desactivación de la etapa correspondiente

*

Funciones lógicas de activación de las operaciones de mando

La función lógica de activación / desactivación es única por etapa. Sin embargo el
número de funciones lógicas de operación de mando, depende de la cantidad de
acciones asociadas a cada etapa.

6.2.1 Ecuación de activación / desactivación
La ecuación de activación / desactivación asociada a cada una de las etapas del
diagrama Grafcet tiene la siguiente expresión :
__
Y=R(S+Y)
donde :
Y
R
S

es la salida ( estado de la etapa )
es la condición de desactivación
es la condición de activación

____________________________________________________________________________________
Grafcet
pág. 26
Sistemas de control secuencial
____________________________________________________________________________________

La expresión concreta de R y S, dependerá de la estructura básica y lógica del diagrama
GRAFCET. En general pueden ser funciones OR y AND donde intervienen las
variables representativas de Etapas y Transiciones.
Las condiciones de activación de una etapa En, viene dada por la función lógica :
__
En = En + 1 ( En - 1 . Tn - 1 + En )
__
En = En - 1 . Tn - 1 + En + 1 En
En la cual, para una secuencia única de etapas se relaciona la activación de la etapa En,
en función de la etapa anterior, la etapa posterior y la receptividad asociada

En- 1
T
n- 1
En
Tn
En+1

La etapa En se activará, si estando la etapa En-1 activada y la En+1 desactivada se
satisface la transición Tn-1. Después permanecerá activada hasta que la En+1 se active.
6.2.2 Ecuaciones de activación de operaciones de mando
El número de ecuaciones de activación de operaciones de mando, depende del número
de acciones asociadas a cada etapa ( número de variables de salida ). Su expresión
dependerá del carácter condicional o incondicional de éstas. Para una mejor
comprensión de lo expuesto en los apartados anteriores, veamos un ejemplo.

____________________________________________________________________________________
Grafcet
pág. 27
Sistemas de control secuencial
____________________________________________________________________________________

Ejemplo :
Sea el Grafcet de la siguiente figura, donde vamos a proceder a la
obtención y clasificación del total de funciones lógicas a generar por el citado diagrama.

T4
Acción A

Acción B

Acción D

m
Acción F

Acción G

5

Acción H

T5
6

Acción C

T6
7
T7

En la etapa nº 5 tenemos 3 acciones asociadas de carácter incondicional representadas
por las variables de salida A, B, y C respectivamente. En la etapa nº 6 tenemos
asociadas dos acciones, una incondicional D, y otra de carácter condicional F. En la
etapa nº 7 dos acciones asociadas la G y la H.
Por tanto, las funciones lógicas a generar son :
Funciones lógicas de la etapa nº 5 :
__
E5 = E6 ( E4 . T4 + E5 )
A = E5
B = E5
C = E5

Activación de la etapa

Funciones lógicas de la etapa nº 6 :
__
E6 = E7 ( E5 . T5 + E6 )
D = E6
F = m . E6

Activación de la etapa

Funciones lógicas de la etapa nº 7 :
__
E7 = E8 ( E6 . T6 + E7 )
G = E7
H = E7

Activación de la etapa

____________________________________________________________________________________
Grafcet
pág. 28
Sistemas de control secuencial
____________________________________________________________________________________

En la siguiente figura se ha realizado la implementación de las ecuaciones lógicas
generadas, mediante el lenguaje de programación de diagrama de contactos.

E6

E4

T4
E5
E5

Ecuaciones asociadas

E5

A

E5

B

E5

E7

a Etapa nº 5

C
E5

T5
E6
E6

Ecuaciones asociadas

E6

D

E6

m

E8

E6

F
T6

E7

E7
E7
E7

a Etapa nº 6

Ecuaciones asociadas
G

a Etapa nº 7

H

Como se ha podido comprobar la obtención de las funciones lógicas resulta de gran
facilidad, si bien su obtención a partir de las distintas estructuras lógicas, bucles, saltos
y macroetapas conlleva mayor dificultad, por ello pasamos a detallar su obtención a
partir de las estructuras referidas anteriormente.

6.3

Funciones lógicas de activación / desactivación y estructuras lógicas

La obtención de las funciones lógicas de activación / desactivación de las etapas,
cuando no se trata de una estructura simple de secuencia única, requiere de cierta
reflexión teniendo en cuenta la estructuración de las distintas etapas a través de las
diversas estructuras lógicas. Seguidamente pasamos a realizar su análisis

____________________________________________________________________________________
Grafcet
pág. 29
Sistemas de control secuencial
____________________________________________________________________________________

63.1

Divergencia en OR

La estructura lógica de Divergencia en OR, requiere que en las condiciones de
desactivación de la etapa divergente se reflejen las diversas etapas que,
alternativamente, pueden producir la desactivación de la primera.

n

a

b

n+1

n+2

Reset prioritario

__
__
En = En + 1 En + 2 ( En - 1 . Tn - 1 + En )

Set prioritario

__
__
En = En - 1 . Tn - 1 + En En + 1 En + 2

63.2

Convergencia en OR

La estructura lógica de Convergencia en OR, en lo que respecta a la etapa de
convergencia, su condición de activación debe tener en cuenta las posibles etapas
anteriores que alternativamente, pueden provocar la activación de dicha etapa.

n- 1

n- 2
d

c

n

Reset prioritario
Set prioritario

__
En = En + 1 ( En - 1 . c + En - 2 . d + En )
__
En = En - 1 . c + En - 2 . d + En En + 1

____________________________________________________________________________________
Grafcet
pág. 30
Sistemas de control secuencial
____________________________________________________________________________________

63.3

Divergencia en AND

En una estructura de Divergencia en AND, tendremos que tener en cuenta en la función
lógica asociada a la etapa a partir de la cual se produce la divergencia, el número de
etapas posteriores que intervienen en su condición de desactivación.

n
Tn

n+1

Reset prioritario
Set prioritario

63.4

n+2

__
__
En = En + 1 En + 2 ( En - 1 . Tn - 1 + En )
__
__
En = En - 1 . Tn - 1 + En + 1 En + 2 En

Convergencia en AND

Finalmente, en la estructura de Convergencia en AND, deberá tenerse en cuenta en la
etapa de convergencia, en las condiciones de activación de su función lógica, las etapas
cuya activación simultánea deberá provocar la activación posterior de dicha etapa.

n-2

n-1

F
n

Reset prioritario
Set prioritario

__
En = En + 1 ( En - 1 . En - 2 . F + En )
__
En = En - 1 . En - 2 F + En En + 1

____________________________________________________________________________________
Grafcet
pág. 31
Sistemas de control secuencial
____________________________________________________________________________________

7

CICLOS DE EJECUCIÓN : TIPOS

Dependiendo de las características de funcionamiento del automatismo, éste requerirá
distintas modalidades de ejecución de ciclo Por ello atendiendo a diversos criterios los
ciclos pueden clasificarse como sigue :
*
*
*
*
7.1

Marcha ciclo a ciclo
Marcha automática / Parada de ciclo
Marcha automática / Marcha ciclo a ciclo
Marcha de verificación en el orden del ciclo

Marcha ciclo a ciclo

Cada ciclo se ejecuta
automáticamente, pero
necesita
la
intervención
del
operador ( arranque
de ciclo ) para poder
ejecutar
el
ciclo
siguiente

ACI = Arranque de ciclo
0

CI = Condiciones iniciales
ACI · CI

1

CICLO

n
Tn

Un
accionamiento
permanente
del
arranque de ciclo (
ACI ) produce la
repetición de los
ciclos
En este caso el ciclo
se ejecuta una sola
vez
aunque
el
operador
mantenga
presente
la
información
de
arranque. Es necesario
accionar de nuevo el
arranque de ciclo (
ACI ) para volver a iniciar el ciclo

ACI = Arranque de ciclo
0

CI = Condiciones iniciales
ACI · CI

1

CICLO

n
Tn · ACI

____________________________________________________________________________________
Grafcet
pág. 32
Sistemas de control secuencial
____________________________________________________________________________________

7.3

Marcha automática / Parada de ciclo

En esta modalidad, el ciclo se repetirá indefinidamente tras su arranque, hasta que se
active una señal de parada tras lo cual, el ciclo en curso acabará su ejecución y se
detendrá.

0
10
E20 . CI

ACI . pcl . CI

1
20
CICLO

Marcha automática

pcl

n
ACI = Arranque de ciclo

Tn

CI = Condiciones iniciales
pcl = Parada del ciclo

7.4

Marcha automática / Marcha ciclo a ciclo

El operador puede elegir por medio de un conmutador entre dos tipos de marcha. El
ciclo se inicia por una acción ( arranque de ciclo ). El posterior bloqueo se ejecuta en
función de la posición del conmutador.

auto

ciclo a ciclo

0
ACI . CI
1

CICLO

n

ACI = Arranque de ciclo

Tn . auto

CI = Condiciones iniciales
Tn . ciclo a ciclo

____________________________________________________________________________________
Grafcet
pág. 33
Sistemas de control secuencial
____________________________________________________________________________________

7.5

Marcha de verificación en el orden del ciclo

Esta marcha etapa por etapa, tiene como fin verificar la conformidad del desarrollo del
ciclo teniendo en cuenta todas las condiciones reales de una marcha de producción,
efectuándose el desarrollo bajo el control permanente del operador
a
0
ACI . CI . a

a

1
T1 . a

a

ACI = Arranque de ciclo
CI = Condiciones iniciales
a = pulsador avance 1 paso

T2 . a
a
n
Tn . a

Esta disposición tiene el inconveniente de que se hace difícil la manipulación en los
movimientos rápidos ( posible evolución de varias etapas según el tiempo de pulsado
del botón )

8

TRATAMIENTO DE ALARMAS Y EMERGENCIAS

La tendencia actual en lo que respecta a los dispositivos de control basados en lógica
programada, es que una gran parte del cuerpo de programa implementado en el mismo
esté dedicado al objetivo de garantizar un buen comportamiento del sistema en el caso
de situaciones imprevistas, averías, emergencias etc. Con ello deben asegurarse niveles
adecuados de seguridad para los operadores humanos al cargo de los sistemas, cuando
no de las propias instalaciones industriales cuya reparación puede suponer la dedicación
de grandes recursos económicos.
En lo que respecta al tratamiento de alarmas y situaciones de emergencia, es
conveniente su clasificación a partir de criterios de implementación tecnológica de los
sistemas a tratar. Por ello las alarmas deben ser clasificadas como :
*
*

Alarmas locales
Alarmas generales.

____________________________________________________________________________________
Grafcet
pág. 34
Sistemas de control secuencial
____________________________________________________________________________________

Las alarmas locales, sólo afectarán parcialmente al sistema, de forma que su efecto sólo
debe repercutir sobre un conjunto delimitado de dispositivos tecnológicos o subsistema
en concreto. Por el contrario, las alarmas generales afectarán a la totalidad del sistema y
por lo general van a disponer de prioridad frente a las locales anteriormente citadas.
Tanto las alarmas locales como las generales, pueden ser implementadas mediante la
colocación de una nueva variable en las condiciones de desactivación de la función
lógica activadora / desactivadora de una Etapa.
__ __ __
En = Zp . Zt .En + 1 ( En - 1 . Tn - 1 + En )
Donde Zp representa a una alarma de carácter local y Zt a una alarma de carácter total.
Obviamente la variable representativa de la alarma de carácter total tendrá presencia en
la totalidad de las ecuaciones de activación de etapas del diagrama funcional. No así la
variable representativa de la alarma local, cuya aparición se restringe a un conjunto
determinado de ecuaciones de activación.
Existe otro criterio para el tratamiento de las alarmas. Este consiste en la intervención
de las variables representativas de alarmas en las receptividades asociadas a cada
transición. Ello permite de forma relativamente fácil, hacer evolucionar el sistema a
determinadas situaciones de parada o espera ante situaciones de emergencia. De forma
rigurosa, las variables de alarma deberían aparecer en cada una de las etapas del
Grafcet, y tener prevista cada una de las situaciones de seguridad en función del tramo
en ejecución y de los niveles de seguridad solicitados.
Algunos autores, desaconsejan el tratamiento de las paradas de emergencia como una
información de entrada más, puesto que argumentan que ello es contrario al propio
espíritu de " emergencia ".
La posible formalización del comportamiento de los sistemas frente a situaciones de
emergencia se podría sintetizar mediante los siguientes criterios :
Sin secuencia de emergencia
Con secuencia de emergencia
8.1

Sin secuencia de emergencia

Ante una situación de alarma, el sistema se limita a detener su evolución y suspende las
operaciones básicas asociadas a la etapa donde se produce la suspensión. Además,
pueden establecerse a partir de este criterio diversas variantes. Dos de ellas serían :
*
*

Congelación del automatismo
Inhibición de acciones

____________________________________________________________________________________
Grafcet
pág. 35
Sistemas de control secuencial
____________________________________________________________________________________

En la modalidad de congelación del automatismo, la señal de alarma participa en cada
una de las receptividades asociadas a las transiciones, de forma que su activación
impide la puesta a "1" de la receptividad y también la evolución del sistema. Cuando la
señal de alarma desaparece, el sistema puede continuar su evolución a partir de la etapa
donde se produjo el paro.

En- 1
Tn- 1 . Zt
En
Tn . Zt
En+1
Tn+1 . Zt

Obsérvese que en este caso, las acciones asociadas a las etapas pueden permanecer
activas, los movimientos iniciados continúan, lo que puede resultar peligroso en sí
mismo o por consiguiente bloqueo en la evolución.
En la modalidad de inhibición de acciones, aparición de la señal de alarma, no detiene
directamente la evolución del automatismo, sino que inhibe a las propias acciones
asociadas a las etapas
Zt
En-1

A
Tn-1
Zt
B

En
Tn
Zt
En+1

C
Tn+1

____________________________________________________________________________________
Grafcet
pág. 36
Sistemas de control secuencial
____________________________________________________________________________________

En este caso debe estudiarse detenidamente el gobierno de los accionadores según el
tipo de acción deseada en caso de parada de emergencia. Por ejemplo :
Para distribuidores que gobiernan cilindros
*
Control monoestable, si se desea retornar a una posición determinada
*
Control biestable, si se desea parar al finalizar el movimiento
*
Distribuidor de tres posiciones, si se desea una detención en ese lugar
Para contactores que gobiernan motores
*
Control monoestable
*
Cableado incorporando dispositivos de seguridad

También podemos realizar una
combinación de ambas opciones

Zt
E 1
n-

A
Tn-1 Zt
Zt
B

En
Tn Zt
Zt
E +1
n

C
Tn+1 Zt

8.2

Con secuencia de emergencia

E 1
nTn 1 Zt
En
Tn Zt

Zt

E+
n
Tn+ Zt

En este caso la evolución del
sistema deriva hacia una secuencia
de emergencia ante la activación
de la señal de alarma prevista de
Zt antemano, cuya naturaleza estará
lógicamente condicionada por
aspectos
de
implementación
tecnológica. En la figura se ofrece
un ejemplo de representación de
un diagrama Grafcet de esta
opción
de
tratamiento
de
emergencia

Zt
Secuencia de
emergencia

____________________________________________________________________________________
Grafcet
pág. 37
Sistemas de control secuencial
____________________________________________________________________________________

TEMA 5 : APLICACIÓN DE LA TEORÍA BINODAL

____________________________________________________________________________________
Teoría Binodal
pág. 1
Sistemas de control secuencial
____________________________________________________________________________________

____________________________________________________________________________________
Teoría Binodal
pág. 2
Sistemas de control secuencial
____________________________________________________________________________________

1

INTRODUCCIÓN

La aplicación de la " Teoría Binodal " a los procesos de síntesis de sistemas
secuenciales asíncronos y sincronizados proporciona un método rápido e intuitivo en el
que sin perder en ningún momento la imagen global del sistema tratado, y a través de un
gráfico representativo de la dinámica del sistema, se obtienen las ecuaciones lógicas que
rigen el comportamiento del sistema.
En la síntesis de sistemas asíncronos ( que evolucionan sin precisar el control de una
señal de reloj ), resulta sencillo evitar las transiciones críticas y los deslizamientos de
secuencia, ya que el " grafo de secuencia " contiene todas las evoluciones internas del
sistema y, por tanto, las anomalías citadas pueden ser eliminadas a medida que se vaya
construyendo el grafo.

2

CONCEPTOS BINODALES BÁSICOS

El planteamiento de la teoría binodal se inicia con la definición de " binodo " y "
multinodo ", y con la descripción de un diagrama designado con el nombre de " grafo de
secuencia ". A partir de las definiciones de estas estructuras, se deducen los teoremas
binodales, que permiten obtener las ecuaciones de salida de cualquier binodo,
resultando además dichas ecuaciones simplificadas en la mayoría de los casos, o
pendientes de una mínima y directa simplificación

2.1

Definición general de binodo. Variables de acción

Se dice que un dispositivo cualquiera posee estructura de binodo, cuando únicamente
puede encontrarse en dos situaciones ( representadas por B yB ), pasando de la una a la
otra, por efecto de unas variables de acción ( v.d.a. ), independientemente de que el
efecto de dichas variables quede o no memorizado al desaparecer éstas.
Se distinguen dos tipos fundamentales de binodos :
Binodo " bi "
Binodo " mono " o " monodo ".

____________________________________________________________________________________
Teoría Binodal
pág. 3
Sistemas de control secuencial
____________________________________________________________________________________

2.2

Binodo " mono " o " monodo ". Gráfico representativo

Se denomina así a todo aquel binodo que necesita la presencia de una, al menos, de las
variables de acción ( v.d.a. ) creadoras Mr ( r = 1, 2,....n ) y la ausencia de todas las
v.d.a. negadoras Pu ( u = 1, 2, ... m ) para sostener una de sus dos situaciones ( B ), a la
que se denomina situación principal
B

Monodo Activo

B

Monodo desactivo

P1
M1
Mr
Mn

Pu

Pm

B

Como se puede observar en el grafo, la situación principal ( B ) existirá cuando estando
presente alguna de las v.d.a. ( Mr ), no exista ninguna de las v.d.a ( Pu ). Es decir, el
efecto de las v.d.a. anulatorias o negadoras de la situación ( B ) tiene prioridad sobre el
de las v.d.a. creadoras de dicha situación, en el supuesto de que variables de ambos
grupos actúen simultáneamente.
2.2.1 Obtención de la ecuación lógica del binodo mono
La ecuación lógica de un binodo mono se obtiene multiplicando a la suma de las
variables de acción creadoras las inversas de las variables de acción negadoras

B = ( M1 + M2 + ..... + Mn ) · P1 · P2 · ....Pm

El monodo carece de memoria puesto que es una estructura combinacional, y
únicamente aparecerá en los grafos como elemento accesorio de alguna salida de binodo

____________________________________________________________________________________
Teoría Binodal
pág. 4
Sistemas de control secuencial
____________________________________________________________________________________

2.3

Binodo " bi ". Grafo de secuencia representativo

Se denomina binodo "bi" a todo aquel binodo que se mantiene en la situación en la que
se encuentra aunque desaparezca la v.d.a. que la originó, siempre y cuando no exista
otra v.d.a de efecto contrario que la haga vascular a la situación opuesta
En este caso, no hay prioridad de unas v.d.a sobre otras ( creadoras o negadoras ). La
prioridad dependerá de cual de los dos teoremas del binodo "bi" utilicemos para obtener
las ecuaciones lógicas
El grafo de secuencia del binodo "bi " puede expresarse de la forma que se indica

v.d.a. creadoras
B

2.4

v.d.a. negadoras

B

Teoremas del binodo " bi "

1º Teorema ( prioridad de la v.d.a. negadora )
La ecuación lógica de salida de una situación cualquiera de un binodo, independiente o
integrado en un multinodo, se halla sumando a la propia situación, las v.d.a. que la
crean, y multiplicando este resultado por las inversas de las v.d.a. que hacen conmutar
al binodo a la situación complementaria de la considerada.

m
n
B ( t ) = [ ( B + Σ Mr ) · Π Pu ]
( t - τ)
u=1
r=1

donde Σ y Π son el sumatorio y el productorio booleano respectivamente, t el instante
considerado y τ el tiempo de conmutación del binodo en cuestión.

____________________________________________________________________________________
Teoría Binodal
pág. 5
Sistemas de control secuencial
____________________________________________________________________________________

Aplicando el teorema enunciado al grafo de secuencia del binodo "bi" se obtiene la
ecuación lógica siguiente :

v.d.a. creadoras ( A )
B

v.d.a. negadoras ( C )

B

B=(B+A).C

2º Teorema ( prioridad de la v.d.a. creadora )
La ecuación lógica de salida de una situación cualquiera de un binodo independiente o
integrado en un multinodo se halla, multiplicando la propia situación binodal por las
inversas de las variables que la niegan y sumando las v.d.a. que la crean

m
n
B ( t ) = [ ( B · Π Pu ) + Σ Mr ]
( t -τ )
r=1
u=1

Las ecuaciones obtenidas para una situación binodal mediante los dos teoremas, son
equivalentes, aunque tienen distinta estructura, siempre que se verifique la hipótesis de
no simultaneidad de v.d.a. de efectos antagónicos.
En los casos en que se admita la simultaneidad de v.d.a. antagónicas, se demuestra que
el 1º teorema proporciona una ecuación lógica que da prioridad al efecto de las v.d.a. de
borrado sobre las de creación de la situación, en tanto que el segundo teorema da
prioridad a las v.d.a creadoras de la situación. No obstante, debe quedar claro que por
medio de condicionantes en el grafo de secuencia puede imponérsele a cualquiera de los
dos enunciados del teorema binodal la prioridad que se desee; es decir, cualquiera de los
dos teoremas responde a las exigencias de los condicionantes de prioridad introducidos
en el grafo de secuencia. Así pues, las ecuaciones lógicas, una vez simplificadas serán
idénticas.

____________________________________________________________________________________
Teoría Binodal
pág. 6
Sistemas de control secuencial
____________________________________________________________________________________

Ejemplo.- En el binodo de la figura se ha dado, por medio del condicionante M̅ ,
prioridad a la v.d.a. M sobre P en el caso de que exista simultaneidad :

M
A

P.M

A

Aplicando el 1º teorema y simplificando la ecuación obtenida, resulta :

A=(A+M)·P·M=(A+M)·(P+M)=A·P+A·M+M·P+M=A·P+M

Aplicando el 2º teorema y simplificando la ecuación obtenida, resulta :

A=A·P·M+M=A·(P+M)+M=A·P+A·M+M=A·P+M

2.5

Multinodo. Grafo de secuencia

Bajo la denominación de multinodo se incluye a toda estructura constituida por varios
binodos influenciados entre sí
Como consecuencia aparecerán numerosas situaciones que a su vez podrán actuar como
v.d.a o bien como condicionantes de otras v.d.a de los diferentes binodos. Nos
encontraremos pues, con v.d.a internas, externas, temporizadas, diferenciadas, etc., así
como compuestas; es decir, en forma de expresiones booleanas de varias variables
simples.
Cada una de las múltiples situaciones parciales del multinodo pueden proporcionar al
exterior, de forma simultánea, una acción física que se denomina salida
En la siguiente figura, se muestra, a modo de ejemplo, el grafo de secuencia de un
multinodo, el cual nos proporciona una visión global y dinámica de todas las
evoluciones del programa operacional que representa.

____________________________________________________________________________________
Teoría Binodal
pág. 7
Sistemas de control secuencial
____________________________________________________________________________________

P3
M
(S+T).B

N
A

(F.C).A

R

P2

P1
A

Q.B

B

B

Se observa que este multinodo está constituido por dos binodos "bi" y un "monodo"
La situación A es creada por la v.d.a M, o bien por la booleana ( S + T ), pero
condicionada esta última a la existencia de B̅ , es decir, tiene que valer "1" la
expresión ( S + T ) · B̅. La situación complementaria de A, o sea A̅, será creada por la
acción de P1
A = [ ( A + M + ( S + T ) · B ] · P1
La situación B es creada por la acción de la variable N, o por la booleana F·C
condicionada a la existencia de A, y será borrada, es decir, su complementaria B̅, por la
acción de la variable P2
B = ( B + N + F · C · A ) · P2
La situación R será creada por Q condicionada a B, y borrada por P3

R = Q · B · P3

____________________________________________________________________________________
Teoría Binodal
pág. 8
Sistemas de control secuencial
____________________________________________________________________________________

2.6

Condicionantes parciales y generales

Tomemos como ejemplo el siguiente ejercicio :
Se desea gobernar dos relés R1 y R2, de tal forma que R1 pueda actuar con
independencia de R2; pero que R2 sólo pueda excitarse cuando R1 esté excitado, si
bien, una vez excitado R2 pueda seguir existiendo aunque desaparezca R1.
La activación del relé R1 se hará por un impulso eléctrico proporcionado por un
pulsador M1, y la activación de R2 por un pulsador M2. La desactivación de ambos
relés se producirá por un impulso eléctrico en P1 y P2 respectivamente

M1

R1

M2 . R1

R2

P2

P1
R1

R2

Ecuaciones lógicas
R1 = ( R1 + M1 ) · P1
R2 = ( R2 + M2 · R1 ) · P2
El enunciado del ejercicio nos indica que la situación R2 debe ser creada por la v.d.a.
M2, pero condicionada a la existencia de R1, si bien, una vez creada dicha situación R2,
debe persistir aunque desaparezca R1. En estos casos decimos que R1 es un
condicionante parcial, porque sólo condiciona la creación, pero no la persistencia,
de R2

____________________________________________________________________________________
Teoría Binodal
pág. 9
Sistemas de control secuencial
____________________________________________________________________________________

En algunos automatismos es necesario que el condicionante sea general; es decir, que
condicione la creación y la persistencia. Para expresar en el grafo de secuencia esta
exigencia, se coloca el condicionante general ( enmarcado en un pequeño cuadrado ) al
lado de la situación condicionada, y al hallar la ecuación lógica de la situación citada se
pondrá este condicionante como factor general. El condicionante general tiene por si
solo un efecto anulatorio, pero no creador; es una autorización.
Así, si en el ejercicio anterior se hubiese exigido que la situación R2 estuviera
condicionada en todo momento a la existencia de R1, haríamos el grafo de secuencia
siguiente :

R1
M1

R1

M2

R2

P2

P1
R1

R2

Ecuaciones lógicas

R1 = ( R1 + M1 ) · P1
R2 = ( R2 + M2 ) · P2 · R1

____________________________________________________________________________________
Teoría Binodal
pág. 10
Sistemas de control secuencial
____________________________________________________________________________________

3

DISEÑO BINODAL DE AUTOMATISMOS SECUENCIALES

Para poder abordar el diseño de los automatismos secuenciales por el método binodal,
es necesario tener en cuenta una serie de conceptos, que a continuación se definen :
3.1

Variables de acción ( v.d.a )

Es toda información, en expresión simple o booleana, exterior o interior al sistema que
puede provocar una evolución de éste

3.2

Estados de acción ( e. d. a. )

Denominamos estados de acción ( e.d.a ) a cada una de las combinaciones binarias que
se pueden presentar en las variables externas de entrada a un automatismo, provocando
una transición de éste
Entre cada dos estados de acción operativos pueden existir uno o varios estados de
acción transitorios

3.2.1 Estados de acción idénticos
Son aquéllos ( e.d.a ) cuyas variables constituyentes se encuentran en el mismo valor
binario o nivel lógico

3.2.1.1 Estados de acción idénticos y compatibles
Dos e.d.a idénticos serán compatibles, y por tanto no necesitarán ser discriminados en
los siguientes casos :
a.b.c.-

Cuando crean siempre y únicamente las mismas situaciones binodales
Cuando la situación binodal creada por uno de ellos es condicionante para la
operatividad del otro; generalmente estos e.d.a aparecen consecutivos en el grafo
de secuencia
Cuando las situaciones creadas por ellos no sean antagónicas, y además se cumpla
que los intervalos de existencia de dichas situaciones sean mayores que los
intervalos existentes entre los citados estados idénticos, incluido el e.d.a límite del
intervalo

Los e.d.a. idénticos compatibles se unen mediante una linea de trazos, excluyendo a los
transitorios con sus adyacentes, por ser siempre compatibles

____________________________________________________________________________________
Teoría Binodal
pág. 11
Sistemas de control secuencial
____________________________________________________________________________________

3.2.1.2 Estados de acción idénticos e incompatibles
Decimos que dos e.d.a idénticos son incompatibles cuando no cumplen ninguna de las
condiciones a), b) y c) anteriormente expresadas.
A efectos prácticos para determinar la compatibilidad o incompatibilidad de e.d.a.
idénticos, aplicaremos las reglas establecidas por F. Ojeda, que establecen la
incompatibilidad de dos e.d.a. idénticos cuando :

*

Las situaciones creadas por ellos sean antagónicas, o cuando

*

Una al menos de las situaciones binodales generadas por cualquiera de dichos
estados no exista en el instante de la actuación del otro estado idéntico

Estos estados necesitan, siempre, ser discriminados, pues de lo contrario se podrían
producir saltos de secuencia, acciones antagónicas, ciclos parásitos, etc.
En estos casos, es necesario recurrir a la intersección de otras variables con la variable
de acción correspondiente. Las citadas variables condicionantes pueden ser otras
variables externas ( captadores de información ) ó variables internas ( situaciones
binodales ) , pero en muchas ocasiones será necesaria la intersección de nuevas
variables, que denominaremos "variables auxiliares"

3.2.3 Estados de acción no idénticos e incompatibles
Son aquéllos en que la misma v.d.a. da lugar a situaciones binodales distintas. Estos
necesitan ser discriminados, de la misma forma que los e.d.a. idénticos
Los e.d.a. incompatibles e unen mediante una linea continua

____________________________________________________________________________________
Teoría Binodal
pág. 12
Sistemas de control secuencial
____________________________________________________________________________________

4
DISEÑO BINODAL DE AUTOMATISMOS SECUENCIALES QUE NO
PRESENTAN ESTADOS IDÉNTICOS INCOMPATIBLES
A continuación se diseña un automatismo concreto, con el objeto de aclarar los
conceptos expuestos, así como aclarar la forma de realizar el grafo de secuencia y la
obtención de las ecuaciones lógicas
Ejercicio :
Proyectar el circuito de mando para un móvil que se desliza sobre un husillo movido
por un motor con doble sentido de giro. El motor es gobernado por dos contactores Rd y
Ri que lo conexionan para que gire en sentido derecha o izquierda, respectivamente
CONDICIONES :
a)

Al pulsar Md entrará el contactor Rd; entonces el móvil se desplaza hacia la
derecha, y al llegar al final de carrera Fd se para, regresando seguidamente hacia
Fi, donde permanecerá en reposo hasta una nueva orden de Md

b)

Al pulsar un botón de emergencia P, se parará el móvil en cualquier posición en
que se encuentre, y podrá reanudar la marcha hacia la derecha si se pulsa Md, o
hacia la izquierda si se pulsa Mi. En cualquiera de los dos casos se parará al final
del ciclo; es decir, al llegar el móvil al final de carrera Fi

Ri

Rd

HUSILLO

MOTOR

Fi
Md

P

Fd

Mi

El grafo de secuencia debe ser una expresión gráfica fiel del programa del automatismo
propuesto. El proceso para la realización del grafo de secuencia es el siguiente :

____________________________________________________________________________________
Teoría Binodal
pág. 13
Sistemas de control secuencial
____________________________________________________________________________________

1)

Se van dibujando las situaciones binodales en el orden en que se deben ir creando,
según la secuencia impuesta por el programa del automatismo propuesto

2)

Se escriben los e.d.a. En primer lugar se anota el e.d.a. de comienzo del ciclo; es
decir, los niveles lógicos ( 1 o 0 ) de los captadores de información en el momento
de comienzo del ciclo. A partir del e.d.a de comienzo de ciclo se van obteniendo
los siguientes, simplemente cambiando el nivel lógico de las variables que han
conmutado. Deben incluirse los e.d.a transitorios si son diferentes del estado de
acción operativo adyacente

3)

Se identifican los estados idénticos y si son compatibles se les une mediante una
línea de trazos, excluyendo a los transitorios entre sí y a los transitorios con sus
adyacentes, por ser siempre compatibles. Si son incompatibles, se les une con una
línea continua

4)

Se observa si alguna misma v.d.a da lugar a situaciones binodales distintas, si es
así, se unen sus e.d.a con una línea continua

Rd

Ri
Mi
Md

Rd

Fd

Fi
P

Md
Fd
Fi

1
0
1

*
0
*

( 1 ) ( 1' )

Ri

Rd

Ri

P

*
1
0

*
*
0

0
0
1

(2)

( 2' )

(3)

En consecuencia :
Los estados de acción operativos son : ( 1 ), ( 2 ) y ( 3 )
Dentro de las variables externas que constituyen un estado de acción, no se
considera el pulsador de paro P ni el de marcha Mi, ya que no tienen un
comportamiento regular dentro del automatismo; dependen de la voluntad del
operario

____________________________________________________________________________________
Teoría Binodal
pág. 14
Sistemas de control secuencial
____________________________________________________________________________________

Con el asterisco se indica que Md puede estar o no pulsado, depende del operario;
siempre consideraremos el caso más desfavorable, que pueda estar o no pulsado; a
excepción del último e.d.a., en que se considerará que es cero, con el fin de que se
acabe el ciclo, ya que en caso de estar pulsado de nuevo Md volvería de nuevo a
empezar el proceso. En los estados transitorios ( 1' ) y ( 2' ) hemos indicado con
asteriscos el estado de los contactos Fi y Fd, pues podría ocurrir que el operario
dejara de pulsar justo antes de abrirse cualquiera de los contactos anteriores; con
lo que los asteriscos permiten contemplar todas las situaciones posibles
No hemos indicado el estado transitorio ( 3' ) porque es análogo al estado de
acción ( 3 ) y corresponde al estado inicial del automatismo antes de pulsar el
botón de marcha Md. Todos los estados transitorios son compatibles entre sí por
ser inoperantes. También son compatibles con los dos e.d.a operativos adyacentes
( si son idénticos ) puesto que la identidad de un transitorio con el e.d.a. operativo
adyacente anterior no haría más que confirmar el efecto de éste y si la identidad es
con el e.d.a. operativo adyacente posterior significaría que se había llegado a él,
es decir, no se trataría realmente de un transitorio.
Los estados ( 1' ) y ( 2' ) aunque son idénticos son compatibles por ser transitorios
Los estados ( 1' ) y ( 3 ) son compatibles ya que la situación binodal R̅i creada por
( 3 ) existe en el momento en que aparece el ( 1' )
Es conveniente, una vez realizado el grafo de secuencia y detectadas las
incompatibilidades, si las hubiera, repasar los e.d.a observando si se da la
coexistencia de variables negadoras en los e.d.a. correspondientes a las creadoras,
en el caso de aplicar el primer teorema ( prioridad de las negadoras ); o de
variables creadoras en los e.d.a correspondientes a las negadoras, en el caso de
aplicar el 2º teorema ( prioridad de las creadoras ). Ya que en el primer caso no se
podría crear la situación binodal y en el segundo no se podría negar.

OBTENCIÓN DE LAS ECUACIONES LÓGICAS

Rd = ( Rd + Md · Fi ) · Fd · P · Ri
Por el 1º teorema
Ri = ( Ri + Mi + Fd ) · Fi · P · Rd

____________________________________________________________________________________
Teoría Binodal
pág. 15
Sistemas de control secuencial
____________________________________________________________________________________

5
DISEÑO BINODAL DE AUTOMATISMOS SECUENCIALES QUE
PRESENTAN ESTADOS IDÉNTICOS INCOMPATIBLES
Los e.d.a idénticos sabemos que pueden ser compatibles o incompatibles; estos últimos
deben ser discriminados si no se desean saltos de secuencia. Para ello se recurre a la
intersección de la v.d.a creadora con otras variables. Estas variables pueden ser externas
( captadores de información ) o internas ( situaciones binodales ), pero en muchas
ocasiones será necesaria la intervención de nuevas variables, que se denominan "
variables auxiliares "
5.1

Automatismos con variable auxiliar

Ejemplo : El grafo de la figura representa un automatismo que va a permitir aclarar los
conceptos indicados para diseñar un automatismo con variable auxiliar

X

acM

P

d

P

dP

Q

b

Q

bQ

X

R

a

R

aR

S

c

a

1

1

1

0

0

1

1

1

b

0

0

0

1

1

0

0

0

c

1

0

0

0

0

0

0

1

d

0

1

1

1

1

1

1

0

M

1

0

0

0

0

0

0

0

(1)

(2)

(3)

(4)

(5)

(6)

(7)

S

(8)

Estudio de compatibilidad
Los e.d.a ( 2 ) y ( 3 ), son idénticos y compatibles, por el caso b
Los e.d.a. ( 2 ) y ( 6 ), son idénticos y compatibles, por el caso c
Los e.d.a ( 6 ) y ( 7 ), son idénticos y compatibles, por el caso b
Los e.d.a ( 4 ) y ( 5 ), son idénticos y compatibles, por el caso b

____________________________________________________________________________________
Teoría Binodal
pág. 16
Sistemas de control secuencial
____________________________________________________________________________________

2-6
6-2
2-7
7-2

P'
R'
P'
S

N.I.E.E.S.B
7
7
7
1

>
>
>
<

N.I.E.E.A.I
4
5
5
3

3-6

Q

1

<

3

6-3
3-7

R'
Q

7
1

>
<

5
4

7-3

S

1

<

4

Compatible
Compatible
Compatible
Incompatibl
e
Incompatibl
e
Compatible
Incompatibl
e
Incompatibl
e

S. Antag.
No
No
No
Si
Si
No
Si
Si

Los e.d.a ( 2 ) y ( 7 ), son idénticos e incompatibles, por el caso c: observemos que los
intervalos entre S y S̅ son menores que entre los estados ( 7 ) y ( 2 ). Los e.d.a ( 3 ) y ( 6
) son idénticos e incompatibles, por el apartado c. Observemos que los intervalos entre
Q y Q̅ son menores que los intervalos entre los estados ( 3 ) y ( 6 )
Los e.d.a ( 3 ) y ( 7 ) son idénticos e incompatibles por al apartado c. Observemos que
los intervalos entre Q y Q̅ son menores que los intervalos entre los estados ( 3 ) y ( 7 ).
Igualmente, los intervalos entre S y S̅ son menores que los intervalos entre los estados (
7)y(3)
Para eliminar las incompatibilidades existentes entre e.d.a idénticos, se introducen las
variables necesarias , de manera que la creación corte todos los lazos, y la desactivación
sea fuera de los lazos
5.2

Variables auxiliares

La discriminación de e.d.a incompatibles se puede realizar, algunas veces, por
condicionamiento a variables internas ( situaciones binodales ), pero normalmente es
necesario introducir nuevas variables condicionadoras, llamadas " variables auxiliares ".
Estas variables se introducen en el grafo de secuencia y se mantienen memorizadas
durante un cierto intervalo del ciclo secuencial
5.3

Variables directivas

Se llaman " variables directivas " a aquellas que en el momento de aparecer dan lugar a
una nueva situación binodal. Estas variables pueden ser simples o booleanas
" Las variables directivas han de tomarse siempre para la obtención de las
ecuaciones lógicas ", porque son las que determinan el momento de creación de las
situaciones binodales. Las restantes variables que junto con la directiva constituyen un
e.d.a. son solamente " condicionantes " del efecto de dicha variable directiva y
únicamente serán necesarias, algunas de ellas, en aquellos casos que la variable
directiva exista ( aunque no sea como directiva ) varias veces en un mismo ciclo y
necesita ser discriminado su efecto en los distintos momentos de la secuencia.
____________________________________________________________________________________
Teoría Binodal
pág. 17
Sistemas de control secuencial
____________________________________________________________________________________

5.4

Discriminación de estados de acción incompatibles

La discriminación de e.d.a. idénticos incompatibles se consigue introduciendo en el
grafo de secuencia las variables auxiliares. Una variable auxiliar será creada por alguna
de las variables directivas o situaciones binodales existentes en uno de los intervalos del
ciclo que separan los e.d.a. incompatibles, y será borrada ( creada su complementaria )
por alguna variable directiva o situación binodal existente en el otro intervalo que
separa a los citados e.d.a.
Las variables auxiliares tiene carácter binario ( X, X̅ ); por tanto, una sola variable
auxiliar puede discriminar dos o más e.d.a. incompatibles; bastará para ello que unos
e.d.a. queden en el intervalo del dominio de X, y los correspondientes incompatibles, en
el intervalo del dominio de X̅
El número de variables auxiliares necesarias para discriminar todos los e.d.a.
incompatibles, y la determinación de los puntos del grafo en que aquellas deben ser
introducidas se obtiene fácilmente trazando el número mínimo de líneas verticales que,
pasando por alguna v.d.a., intercepten la totalidad de los enlaces de los e.d.a.
incompatibles. Así, en el grafo anterior bastará la línea vertical X para interceptar todos
los enlaces de un intervalo, y la línea X̅ para interceptar los del intervalo de vuelta
5.5

Dominio de una variable

Se denomina dominio de una variable ( directiva, condicionante o auxiliar, simple o
booleana ) a los intervalos de ciclo durante los cuales permanece en ese estado. Por
ejemplo X está activada en 3 intervalos : entre ( 5 ) y ( 6 ), entre ( 6 ) y ( 7 ) y entre ( 7 )
y(8)
5.6

Dominio de una situación binodal

Se llama dominio de una situación binodal a los intervalos de ciclo comprendidos entre
la citada situación y situación antagónica. Por ejemplo de P a P̅ hacia la derecha hay un
intervalo, y hacia la izquierda hay siete
Tanto el dominio de una variable como el dominio de una situación binodal pueden ser
intermitentes, pues es frecuente en muchos automatismos el que una misma variable o
situación binodal exista en dos o más grupos de intervalos distintos del ciclo; es decir,
que se cree y se borre más de una vez dentro de un mismo ciclo.
Observemos que los e.d.a. ( 2 ) y ( 3 ) han quedado bajo el dominio de X̅ , mientras que
sus incompatibles ( 6 ) y ( 7 ), respectivamente, están bajo el dominio de X
A continuación, diseñaremos un automatismo concreto, con el objeto de aclarar los
conceptos expuestos y orientar sobre la forma de realizar el grafo de secuencia y la
obtención de las ecuaciones lógicas

____________________________________________________________________________________
Teoría Binodal
pág. 18
Sistemas de control secuencial
____________________________________________________________________________________

Ejercicio : Se desea sintetizar un autómata secuencial para el gobierno del
desplazamiento de dos móviles, según el programa siguiente :
Mediante una orden impulsional en el botón de puesta en marcha M se debe activar el
contactor R1, lo que provoca que el móvil (1) se desplace hacia la derecha, al llegar éste
al captador F2 se debe desactivar R1 y a continuación activarse R3, lo que hace
desplazar al móvil (2) hacia la derecha. Al llegar éste al captador F4 se debe desactivar
R3 y activarse seguidamente R4, por lo cual el móvil (2) se desplazará hacia la
izquierda hasta llegar de nuevo a F3, donde debe pararse y seguidamente activarse R2,
que hace regresar al móvil (1) hasta F1 ( estado inicial ), donde permanecerá hasta una
nueva pulsación en M, que ordenará la iniciación de un nuevo ciclo.

R1

R2

HUSILLO

MOTOR

1

M
F1

F2

R3

R4

HUSILLO

MOTOR

2

F3

F4

X
M·F1

R1

F2

R1

F2·R1

R3

F4

X

R3

F4·R3

R4

F3

R4

F3·R4

R2

F1

M... 1
F1...1
F2...0
F3...1

*
0
1
1

*
0
1
1

*
0
1
0

*
0
1
0

*
0
1
1

*
0
1
1

0
1
0
1

F4...0
(1)

0
(2)

0
(3)

1
(4)

1
(5)

0
(6)

0
(7)

R2

0
(8)

____________________________________________________________________________________
Teoría Binodal
pág. 19
Sistemas de control secuencial
____________________________________________________________________________________

Identificación de e.d.a. idénticos
*
*
*
*

2-7
7-2
3-6
6-3
3-7
7-3

Comparando el e.d.a. ( 1 ) con todos los siguientes vemos que no es idéntico a
ninguno
Comparando el e.d.a. ( 2 ) con todos los siguientes se deduce que es compatible
con el ( 3 ) ( caso b ). También es compatible con el ( 6 ) ( caso c ). Sin embargo
con el ( 7 ) es incompatible
Comparando el e.d.a. ( 3 ) con todos los siguientes se verifica que es incompatible
con el ( 6 ) y con el ( 7 )
Los restantes e.d.a no tienen ninguna incompatibilidad

R1'
R2
R3
R4'
R3
R2

N.I.E.E.S.B
7
1
1
7
1
1

>
<
<
>
<
<

N.I.E.E.A.I
5
3
3
5
4
4

Compatible
Incompatible
Incompatible
Compatible
Incompatible
Incompatible

S. Antag.
No
Si
Si
No
Si
Si

Introducción de variables auxiliares
Si en el ciclo que existen e.d.a. incompatibles ( en el ejercicio que estamos tratando son
incompatibles el 2 con el 7 y el 3 con el 6 y 7 ) es necesario discriminar sus acciones, lo
cual se consigue condicionando los e.d.a. incompatibles a variables auxiliares distintas.
Estas variables deben colocarse en los intervalos que separan a los citados e.d.a.
incompatibles
El número de variables auxiliares y el lugar del grafo donde deben ser introducidas se
determina prácticamente trazando el número mínimo de líneas verticales que pasando
por alguna v.d.a., intercepten la totalidad de los enlaces de los e.d.a. incompatibles. Así,
en el grafo presente bastará la línea vertical X que pasa por la variable de acción F4
para interceptar todos los enlaces de un intervalo, y la línea X̅ que pasa por la v.d.a. F1
para interceptar el intervalo de vuelta
Obsérvese en el grafo como los e.d.a. 2 y 3 quedan bajo el dominio de X̅ en tanto que
sus incompatibles están bajo el dominio de X. Por tanto, si condicionamos la
operatividad de dos e.d.a. idénticos incompatibles a la existencia o dominio de dos
variables distintas ( X y X̅ ) desaparece la incompatibilidad, pues, evidentemente, al
incorporarse a dos e.d.a. idénticos una variable distinta se obtienen dos nuevos estados
diferentes entre sí.
Una vez introducidas las variables auxiliares, el paso siguiente y último es la obtención
de las ecuaciones lógicas

____________________________________________________________________________________
Teoría Binodal
pág. 20
Sistemas de control secuencial
____________________________________________________________________________________

Obtención de las ecuaciones lógicas
Se aplican los teoremas binodales, teniendo en cuenta la siguiente regla :

" Si el dominio de una variable directiva es menor que el de la situación por ella
activada, o lo que es lo mismo, si en el dominio de una variable directiva no
aparece la situación antagónica de la situación activada por la citada variable, es
suficiente para el gobierno de la situación la propia variable directiva, es decir, no
hace falta tomar, al hallar la ecuación de la situación, ninguna variable más, ni
auxiliar ni de entrada "

En caso contrario, sí es necesaria la intersección con otra u otras variables auxiliares o
de entrada, para tener un dominio menor que el de la situación activada.
Apliquemos la regla para la obtención de las ecuaciones lógicas de los binodos del grafo
de secuencia anterior
Ecuación del binodo auxiliar ( X, X̅ )
Los dominios de las variables directivas F4 y F1 son menores que los de las situaciones
X y X̅ , creadas por ellas, respectivamente. No serán necesarias otras variables.
X = ( X + F4 ) · F1
Ecuación del binodo ( R1, R̅1 )
La variable directiva de la situación R1 es la booleana M · F1 cuyo dominio es menor
que el de la situación R1. La variable directiva de la situación R̅1 es F2 cuyo dominio es
menor que el de R̅1 ; por tanto, su ecuación lógica será :
R1 = ( R1 + M · F1 ) · F2
Ecuación del binodo ( R2, R̅2 )
La variable directiva de la situación R2 es F3 ·R̅4 , cuyo dominio es mayor que el de
R2; por tanto F3 · R̅4 no es suficiente para el gobierno de R2, porque dentro de su
dominio aparecerá la situación antagónica R̅2 dando lugar a una indeterminación. Por
esta razón es necesario reducir el dominio de F3 · R̅4 , lo que se consigue
interceptándole con el dominio de la auxiliar X, resultando F3 · R̅4 · X; esta
intersección ya tiene un dominio menor que R2. Así pues, la citada intersección F3 · R̅4
· X será la v.d.a. definitiva creadora de la situación R2

____________________________________________________________________________________
Teoría Binodal
pág. 21
Sistemas de control secuencial
____________________________________________________________________________________

1

2

3

4

5

6

7

8

F3
R4
R2
Utilizando la variable auxiliar X, se consigue reducir el dominio, no apareciendo ya la
situación antagónica de R2 ( es decir no apareciendo R̅2 ), tal como se puede apreciar
en la tabla siguiente
1

2

3

4

5

6

7

8

F3
R4
X
R2

La variable directiva de la situación R̅2 es F1, cuyo dominio es menor que el de R2; por
tanto, es suficiente F1 como v.d.a. definitiva
R2 = ( R2 + F3 · R4 · X ) · F1
Cuando la variable directiva crea a su vez una variable auxiliar ( X̅ ), puede utilizarse
ésta en lugar de la directiva, siempre que la intersección resultante siga siendo de menor
dominio que la situación. Este caso se da en el problema presente y su utilización puede
reportar alguna simplificación, como ocurre aquí :
R2 = ( R2 + F3 · R4 · X ) · X = ( R2 + F3 · R4 ) · X
Aplicando las mismas reglas a los restantes binodos se obtienen las siguientes
ecuaciones
R3 = ( R3 + F2 · R1 · X ) · X = ( R3 + F2 · R1 ) · X
Nota : Todos los factores parciales de los términos de una función "O" pueden
suprimirse si también figuran en la misma ecuación como factores generales. Para
comprobarlo, basta efectuar el producto, simplificar y sacar nuevamente factores
comunes.
R4 = ( R4 + F4 · R3 ) · F3

____________________________________________________________________________________
Teoría Binodal
pág. 22
Sistemas de control secuencial
____________________________________________________________________________________

5.7

Estados inoperantes o transitorios

Cuando en un sistema secuencial una o más variables tienen carácter aleatorio, es decir
si el instante de aparición de dichas variables no está totalmente determinado, pueden
aparecer en los intervalos existentes entre e.d.a. operativos, unos estados transitorios
que aunque deben ser inoperantes porque no se les ha asignado efecto alguno, pueden
ser idénticos e incompatibles con otros e.d.a. operativos
La existencia de un estado transitorio en un instante dado de la secuencia haría actuar el
e.d.a. operativo idéntico correspondiente a otro momento secuencial distinto,
produciendo un salto de secuencia no deseado. En estos casos es necesario discriminar
el e.d.a. operativo respecto al transitorio idéntico, bien mediante una variable auxiliar o
bien a través de su condicionamiento a situaciones binodales si ello fuera posible.
Los estados transitorios se escriben, en el grafo de secuencia, debajo de la situación
binodal correspondiente al momento secuencial en que aparecen. Los estados
transitorios, por ser inoperantes, son siempre compatibles entre sí. también son
compatibles con los dos e.d.a. operativos adyacentes, puesto que en la identidad de
un transitorio con el e.d.a. operativo adyacente anterior no haría más que confirmar el
efecto de éste; y si la identidad es con el e.d.a. operativo adyacente posterior significaría
que ya se había llegado a él, es decir, no sería realmente un transitorio.
Para detectar si en el intervalo entre dos e.d.a. operativos consecutivos puede aparecer
algún estado transitorio, se observa si en dicho intervalo puede cambiar de nivel alguna
variable. Para ello hay que tener en cuenta, además del enunciado y exigencias del
programa, el comportamiento de las variables. Al escribir el grafo de secuencia se
asignará el signo de indeterminación * a aquellas variables que tengan este carácter. A
las variables que no cambien de nivel se les asignará el nivel lógico que mantienen en el
intervalo, que evidentemente es el que figura en el e.d.a. de entrada a dicho intervalo.
Supongamos que en el grafo parcial de la figura, la variable de entrada "a" es aleatoria.
Se observa que la aparición del transitorio ( 2' ) podría hacer actuar el e.d.a. operativo (
1 ), que puede ser idéntico, en un momento no deseado; por tanto, es necesario
discriminar el e.d.a. operativo ( 1 ) respecto al transitorio ( 2' )
a

S1

b

S1

c

S2

*a

1

*

*

*

*

*

b

0

0

1

*

0

0

c

0

0

0

0

1

1

(1)

( 1' )

(2)

(3)

( 3' )

( 2' )

____________________________________________________________________________________
Teoría Binodal
pág. 23
Sistemas de control secuencial
____________________________________________________________________________________

También aparecen transitorios cuando la variable directiva de alguna situación binodal
contiene más de una variable exterior independiente, dado que no es posible físicamente
que dos o más variables independientes lleguen al mismo tiempo; la diferencia podría
ser despreciable y no provocar problemas, pero lo más probable en la práctica, es que la
duración del transitorio sea superior al tiempo de respuesta de los elementos del
sistema.
El grafo de la figura siguiente posee dos transitorios de este tipo
a

b·c

S1

a

1

1

1

1

b

0

0

1

1

c

0

1

0

S2

1

(1)

( 1' ) ( 1" )

(2)

El e.d.a. ( 2 ) se forma a la llegada de b y c, pero como estas variables no pueden llegar
al mismo tiempo aparecerá alguno de los transitorios ( 1' ) ó ( 1" ), según sea c o b que
llegue antes.
Ejercicio. Sistema de alarma
Un sensor vigila la temperatura de una máquina. Cuando, por causa de una avería, la
temperatura llega a un cierto valor preestablecido, el sensor envía una señal S. Tanto si
la avería es momentánea como si es persistente, se debe poner en funcionamiento un
avisador acústico A y encenderse una lámpara roja L. Recibida la señal de alarma, el
operario debe accionar un pulsador P, y pueden ocurrir dos casos :
a.b.-

Si la avería sólo fue momentánea, el impulso P hace que se apague la lámpara L y
también deje de funcionar el avisador acústico.
Si la avería persiste, el impulso P desconecta el avisador acústico A, pero la
lámpara L seguirá encendida hasta que desaparezca la avería, en cuyo momento se
apaga

S
A

P

L

____________________________________________________________________________________
Teoría Binodal
pág. 24
Sistemas de control secuencial
____________________________________________________________________________________

En este automatismo la v.d.a. "S" es aleatoria; por tanto, habrá que tener en cuenta los
estados transitorios

S

A

A

L

P

S

A

L

S

1

*

*

*

*

*

0

0

P

0

0

0

0

1

*

*

*

(1)

( 1' )

(2)

( 2' )

(3)

L

( 3' ) ( 4 )

( 4' )

A
A

Aunque el e.d.a. ( 1 ) es incompatible con el transitorio ( 3' ) no es necesario introducir
variables auxiliares porque ( 1 ) está bajo el dominio de L̅ , mientras que ( 3' ) lo está en
el dominio de L. Por tanto, la situación binodal L̅ será el condicionante discriminatorio
del e.d.a. ( 1 ) respecto al transitorio ( 3' )
El e.d.a. ( 2 ) es incompatible con el ( 4 ) y el ( 4' ), pero está bajo el dominio de
situaciones distintas ( A y A̅ ) que servirán para discriminarlos. Por tanto las ecuaciones
lógicas serán :
A=(A+S·L)·P
L=(L+A)·S·A=L·S+A

____________________________________________________________________________________
Teoría Binodal
pág. 25
Sistemas de control secuencial
____________________________________________________________________________________

6

DISEÑO BINODAL DE AUTOMATISMOS SECUENCIALES
GOBERNADOS POR LOS CAMBIOS DE NIVEL ( FLANCOS ) EN SUS
ENTRADAS

Vamos a estudiar el diseño binodal de automatismos secuenciales gobernados por los
flancos en sus entradas, mediante un ejemplo práctico
Ejercicio :
Se desea diseñar un automatismo de forma que cada vez que se actúe sobre un pulsador
P se encienda una bombilla B si estaba apagada, o se apague si estaba encendida.
a)

Solución mediante variable P diferenciada

P

B

P

B

P

1

1

(1)

P

B

(2)

( 1 ) y ( 2 ) son incompatibles porque dan lugar a situaciones antagónicas. Si intentamos
introducir entre ellos variables auxiliares para diferenciarlos, vemos que no se puede, ya
que no hay estados intermedios
Podríamos condicionar la creación de B a B̅ · P ; y la creación de B̅ a B · P, pero
haciéndolo de esta forma van a surgir problemas. Veamos :
B=(B+B·P)·B·P=(B+B·P)(B+P)=B·P+B·P=B + P

____________________________________________________________________________________
Teoría Binodal
pág. 26
Sistemas de control secuencial
____________________________________________________________________________________

Si P = 1 con B = 0 → B = 1, pero si soltamos el pulsador P = 1 con B = 1 → B = 0 y así
sucesivamente, es decir, se producen oscilaciones. El único caso en que funcionaría
sería si al mismo tiempo que B = 1, P pasase a 0, es decir, que la pulsación de P fuese
muy corta. La forma de conseguir esto es que P actúe de forma diferenciada.
Un sencillo diferenciador sería :
P

Pd

La duración del impulso se puede aumentar añadiendo más inversores, con la condición
de que el total sea un número impar.
Esta forma de materialización es
insegura desde el punto de vista
P
Pd
hardware. Requiere verificar
experimentalmente la anchura de
Pd↑ más adecuada ya que con un
sólo inversor en TTL resulta un
impulso ≈ 10 ns, siendo algo justo para conmutar B. Con 3 inversores el impulso sería
de unos 30 ns pudiendo dar lugar a veces a 2 conmutaciones sucesivas. Una solución
intermedia podría ser añadir un buffer no inversor a continuación del inversor
B = ( B + B · Pd

) · B · Pd

= B · Pd

+ B · Pd

= B + Pd

B

Pd

Este montaje no es recomendable por ser muy difícil encontrar un impulso de duración
adecuada
b)

Solución actuando P por flanco explícito

Cuando aparecen 2 e.d.a. incompatibles consecutivos, la solución más segura es por
flancos. El grafo sería :

P

B

P

1

1

(1)

P

B

(2)

____________________________________________________________________________________
Teoría Binodal
pág. 27
Sistemas de control secuencial
____________________________________________________________________________________

Sin embargo, aun actuando por flanco los estados siguen siendo iguales e incompatibles
( dan lugar a situaciones antagónicas ) ya que ambas situaciones son activadas por la
misma variable directiva P ↑. Para distinguir los estados, los condicionaremos a la
situación anterior, es decir B se creará si estando presente B̅ llega P ↑ ; y B̅ se creará si
estando presente B llega P ↑
B=(B+B·P )·B·P
c)

Solución actuando P por flanco implícito

En este caso se realiza la detección del flanco a través de un binodo auxiliar X - X̅

X

X
B·P

B·P
X·P=P

B

X·P=P

1

1

(1)

P

B

(2)

( X ) será creada por la situación anterior condicionada al reposo de P ( P̅ ) y será
borrada ( X̅ ) por la situación anterior ( B̅ ) condicionada también al reposo de P

X=(X+B·P)·B·P
La situación principal ( B ) será creada por X̅ condicionada a la llegada de P y será
borrada ( B̅ ) por X condicionada también a la llegada de P

B=(B+X·P)·X·P
Regla Práctica
Cuando dos e.d.a. incompatibles sean consecutivos, la variable auxiliar discriminatoria
de cada e.d.a. será creada y negada por el producto lógico de la situación binodal
precedente con el complemento de la variable directiva del e.d.a. considerado
En el caso, poco probable de que la intersección citada tuviera un dominio mayor que la
variable auxiliar creada, se reducirá este dominio interceptándolo con otras variables, tal
como se ha venido haciendo en la determinación de las v.d.a. definitivas

____________________________________________________________________________________
Teoría Binodal
pág. 28
Sistemas de control secuencial
____________________________________________________________________________________

7
7.1

DISEÑO BINODAL DE AUTOMATISMOS SECUENCIALES CON
TEMPORIZADOR
Introducción

En este punto se va a tratar el fenómeno de la temporización y su aplicación a los
automatismos secuenciales. Para ello se va a hacer un resumen de los diversos tipos de
temporización y la forma de plasmarlo en los grafos de secuencia resolutivos del
problema secuencial.
Un punto importante a tener en cuenta, que va parejo al problema de la temporización,
es la detección de posibles estructuras monodales que con apariencia de binodos se
encuentran en los grafos de secuencia. Este problema surge como consecuencia de
temporizar el efecto de alguna variable, ya que, con ello, se alarga, se recorta o
desplaza, en el dominio del tiempo, el efecto de la misma, provocando usualmente una
variación del dominio de la variable, lo cual debe ser tenido en cuenta.
Por último, se va a tratar el diferenciador. Dicho dispositivo va a permitir, en
determinadas ocasiones, evitar la utilización de variables auxiliares. Como
consecuencia de ello el número de binodos auxiliares disminuirá y, por tanto, el número
de ecuaciones lógicas
7.2

Tipos de temporización

Los temporizadores son dispositivos que se colocan entre la señal que se desea
temporizar y el receptor que tiene que recibir su acción, para retardar su activación, su
desactivación, o las dos cosas sucesivamente.
El diagrama de bloques de un temporizador es el mostrado en la siguiente figura :
SEÑAL DE ENTRADA A
TEMPORIZADOR

At

RECEPTOR

Se distinguen tres tipos de temporizadores elementales :
7.2.1 Temporización en la activación Ata
Es aquel que al activarse la señal de entrada A, tarda un tiempo "t" en transmitirla
a la salida

____________________________________________________________________________________
Teoría Binodal
pág. 29
Sistemas de control secuencial
____________________________________________________________________________________

7.2.2 Temporización en la desactivación Atd
Es aquel que recibe la señal de entrada A y la transmite inmediatamente al
receptor, pero cuando desaparece A, el temporizador sigue suministrando, durante
un tiempo "t", una señal equivalente a la entrada A, ya desaparecida
7.2.3 Temporización en la activación y en la desactivación Atad
Es el que realiza sucesivamente las dos temporizaciones indicadas anteriormente
Los tres tipos de temporización están representados gráficamente en la siguiente figura :

1
A

Señal de entrada A
Señal temporizada
en la activación
ta
A

A

Señal temporizada en
la desactivación
td
A

A

Señal temporizada en
la activación y en
la desactivación
tad
A

A

0

t

A ta

t

A td

t

A tad

t

t

t

t

A partir de estas tres temporizaciones básicas estudiadas se pueden obtener otros tipos
de temporizaciones, que podríamos llamar secundarias, simplemente invirtiendo las
entradas o las salidas de los temporizadores estudiados. Con estos nuevos tipos de
temporización se abre un amplio abanico de posibilidades a la hora de utilizar los
temporizadores. También es útil, el presente estudio, para que a partir de un sólo tipo de
temporizador comercial se pueda obtener cualquier tipo de temporización, según nos
interese.
Así pues, vamos a distinguir dos tipos de temporizaciones secundarias :
A.B.-

Inversión a la salida del temporizador básico
Inversión a la entrada del temporizador básico

____________________________________________________________________________________
Teoría Binodal
pág. 30
Sistemas de control secuencial
____________________________________________________________________________________

A.- Inversión a la salida
Se obtienen las temporizaciones siguientes :

Ata

Atd

Atad

1
0

A

A

t

A ta

A

t

A td

A

t

A tad

t

t

t

t

B.- Inversión a la entrada
Si la señal sufre una inversión a la entrada del temporizador, se obtienen las
temporizaciones siguientes :

A ta

A td

A tad

1
0

A
ta

A

t

A

A

t

A td

t

A

t

A tad

t

t

t

____________________________________________________________________________________
Teoría Binodal
pág. 31
Sistemas de control secuencial
____________________________________________________________________________________

Observando detenidamente las figuras anteriores se obtienen tres igualdades de gran
importancia, las cuales permiten obtener todas las funciones de tiempo, utilizando un
sólo tipo de unidad temporizadora, asociada a las unidades inversoras que sean
necesarias
A ta = A td

A td = A ta

A tad = A tad

A

A

ta
ta

A td

A

ta

td

Temporizaciones
básicas

tad
ta

td

A

A

ta

ta

A td

td

tad

td

A

ta
Temporizaciones

A ta

td

A td

A

tad

secundaria

ta

ta

____________________________________________________________________________________
Teoría Binodal
pág. 32
Sistemas de control secuencial
____________________________________________________________________________________

7.3

Detección de monodos con apariencia de binodos

Cuando en un automatismo se temporiza el efecto de alguna de sus variables, los
dominios de éstas, se ven modificados en mayor o menor medida.
Como consecuencia de esta modificación, del dominio de algunas variables, puede
ocurrir que ciertas estructuras con apariencia de binodos en el grafo de secuencia, se
comporten como verdaderas estructuras monodales ( monodos ). La detección de estas
estructuras monodales se traduce en una mayor simplificación de la ecuación lógica
resultante del falso monodo.
Para detectar estas estructuras monodales existen dos reglas prácticas. Estas reglas son
de aplicación inmediata una vez que se ha realizado el grafo de secuencia del
automatismo.

REGLA 1.- Dos situaciones binodales antagónicas constituyen un " monodo
restringido ", es decir, carente de variable de borrado, cuando el dominio de la
variable " C " creadora de la situación principal " P ", es igual al dominio de ésta

C

P

REGLA 2.- Dos situaciones binodales antagónicas constituyen un " monodo
generalizado " cuando sus variables directivas sean diferentes y además la variable
" C" creadora de la situación principal " P ", se mantenga en todo el dominio de la
situación o le sobrepase, pero no sobrepase el dominio de variable de borrado " B
" ( en el caso de que el dominio de "C" penetre en el dominio de "B" )

B

C

P

____________________________________________________________________________________
Teoría Binodal
pág. 33
Sistemas de control secuencial
____________________________________________________________________________________

Ejercicio 1
Un equipo de soldadura oxiacetilénica lleva una electroválvula A para la vía del
acetileno y otra Ox para la vía del oxígeno.
Programa :
a)
Un impulso en un pulsador de marcha M excita la electroválvula A y a los 3
segundos de existir A se excita Ox.
b)

Un impulso en un pulsador de parada P desexcita A y seguidamente se desexcita
Ox

Monodo restringido ( regla 1 )

M

A

ta
A 3 s.

Ox

P

A

A

M

1

0

0

0

P
ta
A 3 s.

0

0

1

1

0

1

1

0

(1)

(2)

(3)

Ox

(4)

A=(A+ M)·P

Ox = A ta
3 s.

Ejercicio 2
Diseñar un circuito para el gobierno de dos electroimanes A y B, con el siguiente
programa de trabajo
a)

Un impulso eléctrico dado por el pulsador de puesta en marcha M activa al
electroimán A y a los 5 segundos siguientes se activa B

b)

Un impulso eléctrico del pulsador de parada P desactiva al electroimán B y a los 8
segundos siguientes se desactiva A

____________________________________________________________________________________
Teoría Binodal
pág. 34
Sistemas de control secuencial
____________________________________________________________________________________

Monodo generalizado ( regla 2 )

X

M

X

A

ta
A 5 s.

B

P

B

ta
B 8 s.

M

1

0

0

0

P
ta
A 5 s.
ta
B 8 s.

0

0

1

0

0

1

1

1

1

1

0

1

(1)

(2)

(3)

A

(4)

ta
A=(A+ M)·B ·X
8 s.

X=(X+M )·P

B = A ta · X
5 s.

____________________________________________________________________________________
Teoría Binodal
pág. 35
Sistemas de control secuencial
____________________________________________________________________________________

8

AUTOMATISMOS CON BINODOS DE APOYO

Son numerosos los automatismos que precisan, para su correcto funcionamiento, la
actuación secuencial de una serie de acontecimientos con un orden y duración
predeterminados. Pensemos, por ejemplo, en cajeros automáticos, alarmas, puertas de
seguridad, etc. Sólo después de que la secuencia establecida en la actuación de los
captadores de información sea la correcta, el automatismo estará en situación de variar
el nivel de alguna de sus salidas.
Esto se puede conseguir mediante la introducción de los " BINODOS DE APOYO "
Así, pues, los binodos de apoyo son una herramienta auxiliar que nos va a permitir que
determinados automatismos respondan sólo a una ( ó varias ) secuencias
predeterminadas. Dicha secuencia va a estar regida por la limitación, tanto en el orden
de aparición de los captadores de información, como en los tiempos en que estos
acontezcan.
A diferencia de los binodos habituales, estos binodos no producen ninguna actuación
externa del automatismo, sino que sólo sirven para " memorizar " determinadas
secuencias de actuación. Por tanto con ellos se dota de cierta inteligencia a los
automatismos, ya que la secuencia puede bifurcarse por distintos caminos dentro del
grafo de secuencia.
También son diferentes a los binodos auxiliares introducidos en los grafos de secuencia,
ya que estos binodos auxiliares se introducen después de realizado el grafo de
secuencia.
Por tanto, al realizar el grafo de secuencia, introduciremos dichos binodos de apoyo
siempre que se produzca una acción de entrada que sea condición del programa, pero
que no produzca de inmediato un cambio en ninguna salida.
Ejemplo :
Queremos que un actuador Z se active si y sólo si los tres captadores de información A,
B y C llegan de forma secuencial en el siguiente orden : primero A, luego B y luego C
El grafo de secuencia quedaría de la siguiente forma :

······

A

Am

B · Am

Bm

C · Bm

Z

······

En dicho grafo de secuencia Am y Bm memorizan las llegadas de A y B
respectivamente, si previamente se ha memorizado A.
Sólo queda decir que la obtención de la ecuación lógica de un binodo de apoyo se
realiza de forma análoga a los binodos normales, aplicando los teoremas de la teoría
binodal.

____________________________________________________________________________________
Teoría Binodal
pág. 36
Sistemas de control secuencial
____________________________________________________________________________________

TEMA 6: AUTÓMATA PROGRAMABLE FESTO FPC 404

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 1
Sistemas de control secuencial
____________________________________________________________________________________

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 2
Sistemas de control secuencial
____________________________________________________________________________________

1

OPERANDOS DE LOS FPC DE FESTO

El software FST permite que los programas se escriban utilizando indistintamente
operandos absolutos ( p.ej. T1 es el operando absoluto del Temporizador número 1 ) o
bien operandos simbólicos ( p.ej. MOTOR puede ser asignado a la salida 1.6 ). Para
obtener un mayor grado de claridad, en este documento se utilizarán solamente
operandos absolutos.
Antes de empezar a utilizar el lenguaje AWL es necesario familiarizarse con los
diferentes operandos de los controles FPC y como se direccionan utilizando este
lenguaje.
Dependiendo del modelo de control, puede haber diferencias en el tipo y alcance de los
operandos disponibles

1.1

Operandos monobit y multibit

Debe distinguirse entre los operandos Monobit y Multibit. Los Operandos Monobit (
SBO ) ( Single Bit Operand ) pueden evaluarse como cierto / falso en la parte
condicional de una frase del programa y pueden Activarse / Desactivarse ( Set / Reset )
en la parte ejecutiva del programa. Durante las operaciones de interrogación y carga, los
SBO son almacenados en el Acumulador Monobit ( SBA ) ( Single Bit Accumulator )
de la CPU
Los operandos Multibit ( MBO ) ( Multi Bit Operand ) pueden compararse con otros
operandos multibit ( <, >, =, etc. ) ( rango 0-255, 0-65535, +/- 32767 etc. ) en la parte
condicional de la frase. En la parte de ejecución de la frase de un programa, los
operandos multibit pueden ser cargados con valores, decrementados e incrementados o
manipulados por medio de un amplio conjunto de operadores aritméticos y lógicos.
Durante su interrogación y operaciones de carga, los MBOs son cargados en el
Acumulador Multibit ( MBA ) de la CPU

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 3
Sistemas de control secuencial
____________________________________________________________________________________

1.1.1 Operandos Monobit
La siguiente tabla proporciona información general sobre los operandos Monobit, cómo
se abrevian en el lenguaje AWL, así como un breve ejemplo. La columna indica si el
ejemplo respectivo es válido para la parte Condicional ( c ) o Ejecutiva ( e ) de una frase
del programa

Operando
Entrada
Input
Salida
Output
Marca
Flag
Contador
Counter
Temporizador
Timer
Programa
Program
Procesador
Processor
Error Status

AWL
Forma
I

Sintaxis

Parte

Ejemplo típico

In.n

c

IF I 2.0

O
O
F
F
C
C
T
T
P
P
Y
Y
E

On.n
On.n
Fn.n
Fn.n
Cn
Cn
Tn
Tn
Pn
Pn
Yn
Yn
E

c
e
c
e
c
e
c
e
c
e
c
e
c

IF O 2.6
SET O 2.3
IF F 7.15
RESET F 9.3
IF C 3
SET C 5
IF T 7
SET T 4
* IF P2
* SET P3
* IF Y2
* RESET Y1
* IF E

NOTA : Los operandos marcados con "* " pueden diferir o no estar disponibles en
todos los modelos de FPC

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 4
Sistemas de control secuencial
____________________________________________________________________________________

1.1.2 Operandos Multibit
La siguiente tabla proporciona información general sobre los operandos Multibit, cómo
se abrevian en el lenguaje AWL, así como un breve ejemplo. La columna indica si el
ejemplo respectivo es válido para la parte Condicional ( c ) o Ejecutiva ( e ) de una frase
del programa
Operando
Palabra de Entradas
Input Word
Palabra de Salidas
Output Word
Palabra de Marcas
Flag Word
Unidad Funcional
Function Unit
Pal. deTemporizador
Timer Word
Preselec de Tempor.
Timer Preselect
Palabra deContador
Counter Word
Presel. de Contador
Counter Preselect
Registro
register

AWL
Forma
IW

Sintaxis

Parte

Ejemplo típico

IWn

c

IF ( IW3 = V 255 )

OW
OW
FW
FW
FU
FU
TW
TW
TP
TP

OWn
OWn
FWn
FWn
FUn
FUn
TWn
TWn
TPn
TPn

c
e
c
e
c
e
c
e
c
e

CW
CW
CP
CP
R
R

CWn
CWn
CPn
CPn
Rn
Rn

c
e
c
e
c
e

IF ( OW2 = V 80 )
LOAD V 128 TO OW3
IF ( FW3 = V 220 )
LOAD V 2100 TO FW1
IF ( FU32 = V16 )
LOAD FU34 TO R60
IF ( TW2 < V 2000 )
LOAD V1345 TO TW6
IF ( TP0 < V20 )
* THEN LOAD V50
TO TP4
IF ( CW 3 <> V20 )
THEN INC CW 5
IF ( CP3 = V 555 )
LOAD V67 TO CP5
IF ( R 60 = V 21113 )
LOAD ( R53 + R 45 )
TO R 32

NOTA : Los operandos marcados con "* " pueden diferir o no estar disponibles en
todos los modelos de FPC

1.2

Operandos Locales y Globales

Algunos modelos de FPC permiten varias CPUs dentro del mismo sistema. Cuando se
construyen tales sistemas, algunos operandos se designan como locales mientras que
otros se definen como globales
1.2.1 Operandos Globales
Los operandos globales son partes de un sistema al que puede accederse desde
cualquier CPU. Ejemplos típicos de elementos globales incluyen Entradas, Salidas y
Marcas.
Para que sea posible este acceso global, los operandos globales deben ser únicos en su
designación convencional

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 5
Sistemas de control secuencial
____________________________________________________________________________________

1.2.2 Operandos Locales
Los operandos locales son parte de un sistema al cual sólo puede accederse por medio
de programas en una determinada CPU. Generalmente estos operandos residen en la
CPU local y no tienen nombres globales únicos.
Si el modelo de FPC utilizado no permite la inclusión de un número de CPU o número
de módulo cuando se referencia un operando, entonces el operando es clasificado
típicamente como de uso local. Por ejemplo, en un sistema que contenga múltiples
CPUs, cada CPU puede tener 32 Temporizadores que son referenciados como T0 - T 31
en los programas AWL.
Así que podemos tener un programa funcionando en la CPU 0 que se refiera al
temporizador 6 ( T6 ) y al mismo tiempo un programa en la CPU 1 que también se
refiera al temporizador 6 como T6. En esta situación, nuestro sistema contiene
actualmente dos ( 2 ) temporizadores totalmente independientes, ambos
referenciados como T6...uno en cada CPU.
A pesar de que se debería consultar el manual del modelo de FPC utilizado, se
considera que los siguientes operandos son generalmente locales :
*
*
*
*
*
*
1.3

Registros
Temporizadores
Contadores
Unidades Funcionales
Programas
Procesadores
Operadores

El lenguaje AWL utiliza los siguientes operadores y notaciones en la construcción de
frases.
Símbolo
N
V
V$
V%
+
*
/
<
>
=
<>
<=
>=

Propósito
NOT ( negación
VALUE asignación para operandos multibit ( decimal )
VALUE asignación para operandos multibit ( hexadecimal )
VALUE asignación para operandos multibit ( binario )
Suma de operandos multibit y constantes
Resta de operandos multibit y constantes
Multiplicación de operandos multibit y constantes
División de operandos multibit y constantes
Comparación multibit....Menor que
Comparación multibit....Mayor que
Comparación multibit....Igual a
Comparación multibit....Diferente de
Comparación multibit....Menor o igual a
Comparación multibit....Mayor o igual a

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 6
Sistemas de control secuencial
____________________________________________________________________________________

2

ESTRUCTURA DE PROGRAMACIÓN AWL

El lenguaje de programación AWL ( lista de instrucciones ) permite al programador
resolver tareas de control utilizando simples instrucciones en inglés para describir las
operaciones que se desea que haga el control.
Los programas en lista de instrucciones se construyen utilizando varios elementos
importantes. No se requieren todos los elementos disponibles, y la forma en que son
combinados los elementos influye notablemente en el comportamiento del programa
2.1

Jerarquía de los elementos AWL
PROGRAMA
PASO
FRASE
PARTE CONDICIONAL
PARTE EJECUTIVA

2.2

Instrucción STEP ( Paso )

A pesar de que la instrucción STEP ( Paso ) es opcional, muchos de los programas
AWL utilizan la instrucción STEP. Esta instrucción se utiliza para marcar el inicio de
un bloque lógico de programa
Cada programa AWL puede contener hasta 255 STEPs ( Pasos ) y cada Paso puede
contener una o más Frases. A cada Paso se le puede asignar un nombre o " etiqueta "
opcional. Una Etiqueta de Paso solamente se requiere si el Paso correspondiente debe
ser posteriormente nombrado como el destino de una instrucción de salto.
2.3

Frases

La Frase forma el nivel más elemental de la organización de un programa. Cada Frase
consta de una Parte Condicional y de una Parte Ejecutiva .
La Parte Condicional sirve para indicar una o más condiciones que son evaluadas
durante el funcionamiento por su condición de ciertas o falsas. La Parte Condicional
siempre empieza con la palabra clave IF y sigue con una o más instrucciones que
describen las condiciones a evaluar.

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 7
Sistemas de control secuencial
____________________________________________________________________________________

Si las condiciones programadas son evaluadas como ciertas, entonces serán ejecutadas
todas las instrucciones programadas en la parte ejecutiva de la frase. El inicio de la
parte ejecutiva se indica con la palabra clave THEN
2.3.1 Frases típicas
A continuación se presenta un ejemplo típico de frases sencillas en AWL sin la
utilización de la instrucción STEP

IF
THEN
IF
THEN

I 1.0
O 1.2

SET
N
SET

IF
THEN

AND
AND
RESET
RESET

N

Si entrada 1.0 activa
entonces activa la salida 1.2

I 2.0
O 2.3

Si entrada 2.0 NO está activa
entonces activar la salida 2.3

I 6.0
I 2.1
O 3.1
O 2.1
T6

Si entrada 6.0 está activa y
entrada 2.1 no está activa y
salida 3.1 está activa
entonces desactiva salida 2.1
y desactiva Timer 6

En la última frase del ejemplo, se ha introducido el concepto de condiciones
compuestas. Esto significa que todas las condiciones citadas en la frase deben ser
ciertas para que se ejecuten las acciones que siguen a la palabra clave THEN

IF
THEN

OR
INC
SET

I 3.2
N T6
CW1
T4

Si entrada 3.2 activa
o Timer 6 no está activo
entonces incrementa Counter 1 y
arranca Timer 4 con los parámetros
existentes

Este ejemplo muestra la utilización de una estructura en OR dentro de la parte
condicional de una frase. Esto significa que la frase será evaluada como cierta ( y por
tanto se incrementará el Contador 1 y se activará el Temporizador 4 ) si una o ambas
de las condiciones indicadas son ciertas.

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 8
Sistemas de control secuencial
____________________________________________________________________________________

La siguiente frase introduce la utilización de paréntesis entre las partes condicionales de
una frase para influir en la forma en la que las condiciones son evaluadas.
IF
OR
AND
OR

( I 1.1
T4 )
( I 1.3
I 1.2 )

Si entrada 1.1 activa
o Timer 4 está funcionando
y si entrada 1.3 está activa
o entrada 1.2 está activa

Hemos utilizado la instrucción OR para combinar dos condiciones compuestas por
medio de un operador de paréntesis.
Es posible crear programas enteros que consten solamente de frases sin utilizar en
ningún caso la instrucción STEP. Los programas construidos de esta forma suelen
llamarse programas paralelos, y reaccionan igual que los programas escritos en
diagrama de contactos. Esto significa que, sin utilizar la instrucción STEP, tales
programas serían procesados una sola vez. Para que estos programas puedan procesarse
continuamente, es necesario incluir la instrucción PSE.

2.4

Instrucción STEP

Los programas que no utilizan la instrucción STEP pueden procesarse de modo paralelo
( scanning ). A pesar de que este tipo de ejecución de programas puede ser adecuado
para resolver ciertas tareas de control, el lenguaje AWL ofrece la instrucción STEP que
permite que los programas sean divididos en compartimentos estancos ( STEPS o
PASOS ), que serán ejecutados independientemente. En su forma más sencilla, un STEP
incluye por lo menos una frase y toma la forma

STEP
IF
THEN

( Label )
SET

I 1.0
O 2.4

Si entrada 1.0 está activa
entonces activa la salida 2.4 y continua en el siguiente
paso

Es importante comprender que el programa ESPERARÁ en este paso hasta que las
condiciones sean ciertas, en cuyo momento se ejecutarán las acciones y solamente
entonces el programa seguirá procesando el siguiente paso.
La etiqueta ( Label ) del paso es opcional y solo se requiere si el paso va a ser el destino
de una instrucción de salto ( JMP ). Debe observarse que cuando el software FST carga
un programa AWL en el control programable, asigna automáticamente una numeración
relativa a cada paso del programa.

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 9
Sistemas de control secuencial
____________________________________________________________________________________

Estos números de paso asignados son reproducidos en todos los listados del programa y
pueden ser muy útiles en la visualización de la ejecución del programa en modo on-line
a efectos de seguimiento.
Los pasos de un programa pueden, por descontado, incluir varias frases :

STEP
IF
THEN
IF
THEN

SET

I 2.2
O 4.4

Si entrada 2.2 activa
entonces conecta salida 4.4

RESET
SET

I 1.6
O 2.5
O 3.3

Si entrada 1.6 activa
entonces desconecta salida 2.5
y conecta salida 3.3

En el ejemplo anterior, hemos introducido el concepto de varias frases en un solo paso.
Cuando el programa llega a este paso, procesará la primera frase ( en este caso,
activando la salida 4.4 si la entrada 2.2 está activa ) y a continuación se desplaza a la
siguiente frase independientemente de si las condiciones de la primera frase son ciertas
o falsas.
Cuando la última frase de un paso ( en este caso la segunda ) es procesada, si la parte
condicional es cierta , entonces se realiza la parte ejecutiva y el programa continua en
el siguiente paso. Si la parte condicional de la última frase no es cierta, entonces el
programa regresa a la primera frase del paso actual.

2.5

Reglas de ejecución

Pueden utilizarse las siguientes pautas para determinar como se procesan los Pasos y las
Frases :
Si las Condiciones de una frase se cumplen, se ejecutarán las acciones
programadas en ella
Si las Condiciones de la última ( o la única ) frase dentro de un paso se
cumplen, se ejecutarán las Acciones programadas y el programa seguirá en
el siguiente paso
Si las Condiciones de la frase no se cumplen, entonces el programa seguirá
en la siguiente frase del paso actual
Si las Condiciones de la última ( o la única ) frase dentro de un paso no se
cumplen, entonces el programa regresará a la primera frase del paso
actual

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 10
Sistemas de control secuencial
____________________________________________________________________________________

Nota : Cuando se construyen programas o pasos que contengan varias frases, es muy
importante recordar que estas se procesarán de forma paralela ( scanning ); que cada
vez que la parte condicional de la frase sea evaluada como cierta, se ejecutarán
las instrucciones programadas en la parte ejecutiva. Esto debe ser considerado para
evitar las incontroladas ejecuciones múltiples de instrucciones tales como SET
TIMER o INC/DEC contador.
El lenguaje AWL no utiliza " accionamiento por flancos "... las condiciones son
evaluadas cada vez que se procesan, sin tener en cuenta su anterior estado.
Esta situación se resuelve fácilmente o bien utilizando STEPs, Flags ( Marcas ) u otras
formas de control
La siguiente figura ilustra la estructura del proceso de un paso en AWL. Utilizando
varias combinaciones de pasos conteniendo una o varias frases, el lenguaje AWL
proporciona amplias facilidades para resolver tareas complejas de control.

Frase
Primera o anterior
en STEP x

¿ Parte condicional
cierta ?

No

Si
Acción

¿ es esta la
ULTIMA frase
del STEP x ?

No

No

¿ es esta la
ULTIMA frase
del STEP x ?

Si

Ir al
siguiente STEP

Siguiente frase
del STEP x

Volver al inicio
del STEP x

Reglas de ejecución de un STEP básico

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 11
Sistemas de control secuencial
____________________________________________________________________________________

2.6

Influencia en el flujo del programa

Adicionalmente a las estructuras de control inherentes a la instrucción STEP, se dispone
de varias instrucciones AWL adicionales que pueden utilizarse para modificar los
criterios de ejecución de los Pasos de programa y sus Frases.
2.7

Instrucción NOP

La instrucción NOP puede utilizarse indistintamente en la parte Condicional o en la
Ejecutiva de una frase.
Cuando se utiliza en la parte condicional siempre es evaluada como cierta. pudiendo
utilizarse para forzar la ejecución incondicional de una frase

IF
THEN

NOP
O 1.0

SET

Siempre cierto
así que salida 1.0 siempre se activará
cuando el programa pase por aquí

En el siguiente ejemplo puede verse una aplicación típica en la que el autor desea que
cuando la ejecución del programa alcance el paso 50 se comprueben varias condiciones
que, de ser ciertas, realizarán las correspondientes acciones.
Sin embargo, independientemente de si una o todas las condiciones son ciertas, después
de ser procesadas exactamente una sola vez, el programa activará la salida 3.6 y
seguirá en el siguiente paso... puesto que hemos forzado la última frase a ser cierta con
la instrucción NOP

STEP 50
IF
THEN

I 1.0
O 2.2

Si entrada 1.0 está activa
entonces activar salida 2.2

THEN

AND
RESET

I 3.5
I 4.4
O 1.2

Si entrada 3.5 NO está activa
y entrada 4.4. está activa
entonces desconecta salida 1.2

IF
THEN

SET

T3
F 0.0

Si Timer 3 funciona
activa Marca ( Flag ) 0.0

IF

NOP

THEN

SET

SET

IF

N

O 3.6

De todas formas nos aseguramos que la
ÚLTIMA frase siempre sea cierta
Activa la salida 3.6, abandona este paso y
procesa el siguiente

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 12
Sistemas de control secuencial
____________________________________________________________________________________

La instrucción NOP también puede utilizarse en la parte Ejecutiva de una frase. En este
caso un NOP es equivalente a " no hagas nada ". Es utilizada frecuentemente cuando el
programa debe esperar ciertas condiciones y seguir en el siguiente paso

IF
THEN

2.8

I 3.2
NOP

Si entrada 2.2 activa
entonces no hagas nada y sigue en el
siguiente paso

Instrucción JMP

Otra instrucción AWL que puede utilizarse para influir en el flujo de ejecución de un
programa, es la instrucción JMP ( salto ). Esta instrucción añade la posibilidad de
ramificar el lenguaje AWL.
Modificando el ejemplo anterior es posible comprobar las condiciones de cada frase y,
de ser ciertas, realizar la acción programada y a continuación saltar ( JMP ) al Paso (
Step ) indicado del programa

STEP 50
IF
THEN

I 1.0
O 2.2
70

Si entrada 1.0 está activa
entonces activar salida 2.2
y salta al paso ( etiqueta ) 70

AND
RESET
JMP TO

I 3.5
I 4.4
O 1.2
6

Si entrada 3.5 NO está activa
y entrada 4.4. está activa
entonces desconecta salida 1.2
y salta al paso ( etiqueta ) 6

IF
THEN

SET

T3
F 0.0

Si Timer 3 funciona
activa Marca ( Flag ) 0.0

IF

NOP

THEN

SET

SET
JMP TO

IF
THEN

N

O 3.6

De todas formas nos aseguramos que la
ÚLTIMA frase siempre sea cierta
Activa la salida 3.6, abandona este paso y
procesa el siguiente

Puede verse que no solo hemos alterado el flujo del programa, sino que además hemos
establecido prioridades entre las frases.
Por ejemplo, las frases 2, 3 y 4 solamente tienen posibilidad de ser procesadas si la frase
1 es falsa y por lo tanto no se ejecuta; puesto que si la frase 1 se ejecuta, el programa
saltará al paso 70 sin haber procesado ninguna frase subsiguiente en el paso 50.
____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 13
Sistemas de control secuencial
____________________________________________________________________________________

2.9

Instrucción OTHRW

La instrucción OTHRW ( otherwise, sino ) también puede utilizarse para influir en el
flujo del programa. La instrucción OTHRW es ejecutada cuando la última IF es
evaluada como falsa

IF
THEN
OTHRW

SET
SET

I 2.0
O 3.3
O 4.5

Si entrada 2.0 está activa
entonces activa salida 3.3
sino, activa la salida 4.5

Frase
Primera o anterior
en STEP x

¿ Parte condicional
cierta ?

No

Si
Si

Acción

¿ es esta la
ULTIMA frase
del STEP x ?

Ejecuta la
instrucción OTHRW

No

No

No

¿ es esta la
ULTIMA frase
del STEP x ?
Si

Si

Ir al
siguiente STEP

¿ OTHRW
en esta
Frase ?

Siguiente frase
del STEP x

Volver al inicio
del STEP x

Reglas de ejecución de un STEP con instrucciones OTHRW

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 14
Sistemas de control secuencial
____________________________________________________________________________________

3

RESUMEN DE INSTRUCCIONES AWL

El lenguaje AWL usa las siguientes instrucciones que permiten resolver tareas de
control sencillas o complejas fácil y rápidamente

Instrucción
AND
BID
CFM n
CMP n
CPL
DEC
DEB
EXOR
IF
INC
INV
JMP TO
( Step Label )
LOAD
NOP
OR
OTHRW
PSE
RESET
ROL
ROR

Propósito
Realiza una función lógica AND entre operandos monobit o entre
multibit y constantes
Convierte el contenido del acumulador multibit de Binario a formato
BCD
Empieza la ejecución o inicialización de un módulo de función
Empieza la ejecución de un Módulo de programa
Produce el complemento a dos del contenido del acumulador
multibit
Decrementa un operando multibit / acumulador
Convierte el contenido del acumulador multibit de formato BCD a
Binario
Realiza la función EXOR entre operandos monobit o multibit y
constantes
Instrucción que marca el inicio de la parte condicional de una frase
Incrementa un operando multibit / acumulador
Realiza el complemento a uno del contenido del acumulador multibit
Obliga al programa a seguir en un Paso especificado
Permite la carga en el acumulador monobit o multibit de los
operandos especificados ( monobit o multibit ) y constantes
Instrucción especial que siempre es cierta en la parte Condicional de
una frase. En la parte Ejecutiva equivale a " no hacer nada "
Realiza la función OR entre operandos monobit o multibit y
constantes
Permite la continuación de la ejecución del programa aunque la Parte
Condicional de la frase sea falsa
PSE ( Program Section End ) Fin de un programa parcial
La instrucción Reset se utiliza para cambiar los operandos monobit a
estado lógico "0"
Gira a izquierdas una posición todos los bits contenidos en el
Acumulador. El bit más significativo es desplazado a la posición del
menos significativo
Gira a derechas una posición todos los bits contenidos en el
acumulador. El bit menos significativo es desplazado a la posición
del más significativo

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 15
Sistemas de control secuencial
____________________________________________________________________________________

Instrucción
SET
SHIFT
SHL
SHR
SWAP
TO
THEN
WITH

Propósito
La instrucción Set se usa para cambiar los operandos monobit a
estado lógico "1"
Realiza un desplazamiento entre operandos monobit
Desplaza una posición a la izquierda todos los bits contenidos en el
Acumulador Multibit. El más significativo se pierde
Desplaza una posición a la derecha todos los bits contenidos en el
Acumulador Multibit. El menos significativo se pierde, y el más
significativo es puesto a "0"
Intercambia el Byte alto con el Byte bajo del Acumulador Multibit
Se utiliza junto con la instrucción LOAD para especificar el
operando destino de la carga
Instrucción que indica el inicio de la parte Ejecutiva de una frase
Utilizada para parametrizar las llamadas CMF / CMP. También se
utiliza para especificar la base de tiempo en algunos modelos de FPC

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 16
Sistemas de control secuencial
____________________________________________________________________________________

4

REFERENCIA DE LAS INSTRUCCIONES AWL

AND

Propósito
1.-

Para combinar dos o más operandos monobit o multibit en la parte condicional de
una frase utilizando la operación lógica AND

2.-

Para realizar una intersección en AND entre dos operandos multibit o valores,
indistintamente en la parte condicional o ejecutiva de una frase

Ejemplos
Monobit
IF

I 1.1
T6
O 1.5

AND
SET

THEN

Si entrada 1.1 está activa
y timer 6 funciona
entonces activa salida 1.5

Multibit
A continuación se muestra la operación lógica AND aplicada a dos operandos de 8 bits
0
1
0

0
1
0

1
1
1

0
0
0

1
1
1

1
1
1

0
0
0

1
0
0

operando 1 = 45 decimal
AND operando 2 = 236 decimal
resultado = 44 decimal

La función AND puede utilizarse indistintamente en la parte Condicional o en la parte
Ejecutiva de una frase. Cuando se utiliza en la parte Condicional de una frase, esta
función permite comparar el resultado de una función lógica AND de dos operandos
multibit, con un tercer operando multibit o bien con una constante.

IF
AND
THEN

......

( R6
R7 )
= V 34

El contenido de R6 es enlazado en
AND con el contenido del registro R7
A continuación el resultado es comparado
con la cte. decimal 34
Si hay igualdad entonces se realizarán las
funciones programadas

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 17
Sistemas de control secuencial
____________________________________________________________________________________

El siguiente ejemplo muestra como utilizar la prestación multibit para leer una palabra
entera ( Word ) de Entradas. A continuación el resultado es enlazado en AND con el
valor decimal 15 ( 00001111 en binario ). Comparando el resultado de esta operación
para ver si es mayor de "0", podremos verificar si alguna de las entradas I0.0 hasta I 0.3
se haya activa

IF
AND
THEN

(IW0
V 15 )
>V0

......

El contenido de la palabra de entradas
IW0 es enlazado con la constante 15
y el resultado es comparado .....
Si es mayor de "0" la frase será cierta

El siguiente ejemplo muestra esta utilización de la función AND con operandos multibit
en la parte Ejecutiva de una frase

IF
THEN

.......
LOAD
AND
TO

( R 38
R 45 )
R 17

Si las condiciones son ciertas
transfiere el contenido del registro 38 al
acumulador multibit
Enlaza en AND con el registro 45
y deposita el resultado en el registro 17

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 18
Sistemas de control secuencial
____________________________________________________________________________________

BID

Propósito
Para convertir el contenido del acumulador multibit de un formato binario al formato
BCD
Esta instrucción se utiliza frecuentemente junto con un dispositivo conectado a las
salidas del PLC ( p.ej. visualizadores de mensajes, controles de motores, etc. )
Estos dispositivos generalmente esperan la entrada de órdenes en formato BCD

Ejemplos
El valor a convertir, primero debe ser cargado en el acumulador multibit

IF

Al accionar el pulsador del motor

LOAD

R 26

BID
AND
TO

THEN

I 1.0

V 15
OW2

El registro 26 contiene la información de
la nueva posición
Convierte a formato BCD
y oculta todos los bits excepto 0-3
transfiere el resultado a la palabra de
salida 2 ( conectada al control del
servomotor )

Por favor, observe que los valores permitidos son de 0-9999

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 19
Sistemas de control secuencial
____________________________________________________________________________________

CFM
Propósito
La instrucción CFM ( Module, Llamada a un Módulo de Función ) se utiliza para
requerir la ejecución de una rutina estándar del sistema, la cual reside en la memoria
del sistema de control. Debe consultarse el correspondiente manual de FPC para ver que
llamadas CFM pueden hacerse en cada configuración de hardware. Estas rutinas
estándar no pueden ser escritas por el usuario, ya que forman parte del sistema
operativo del PLC. Algunos Módulos de Función pueden utilizar Unidades Funcionales
( FU ) para pasar información desde / hacia los programas del usuario y Módulos de
Función
Ejemplos. Dependiendo del modelo específico de FPC , así como de la rutina CFM en
particular, puede ser necesario pasar algunos parámetros cuando se programa una CFM
Ejemplo 1 : FPC 202 c
Esta rutina del sistema puede utilizarse para borrar o inicializar diversos operandos. La
llamada a este CFM acepta un solo parámetro numérico. Si utilizamos el valor 2, el
Módulo de Función inicializará todos los Flags a 0s
IF
THEN

I 1.2
2
V2

CFM
WITH

Pulsador de reset accionado
Llamar al módulo de función 1
pasar el valor 2 al 1er parámetro que aquí
significa poner a cero TODOS los Flags

Ejemplo 2 : FPC 404
Esta rutina del sistema puede utilizarse para habilitar un controlador de interrupciones
de conteo a alta velocidad en la entrada I0 de la CPU del FPC 404. Este CFM requiere
pasar varios parámetros junto con la llamada al sistema. El primer parámetro especifica
el número del programa que queremos ejecutar cuando se alcance el final del conteo. El
segundo parámetro permite especificar si deseamos identificar el flanco ascendente o el
descendente de la señal. El parámetro 3 permite especificar el número de pulsos que
queremos contar antes de ejecutar el programa especificado en el parámetro 1
IF
THEN

AND
SET
CFM

N

I 2.2
O 2.1
O 2.1
2

WITH

V6

WITH
WITH

V0
V200

Pulsador arranque motor
Y motor inactivo
Arranca el motor
Llama al módulo de función 2, habilita la función de
interrupción para CPU 0
Programa a lanzar cuando se alcance el final del
conteo
Sobre el flanco ascendente de la señal
El conteo es 200

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 20
Sistemas de control secuencial
____________________________________________________________________________________

CMP
Propósito
La instrucción CMP ( Call Program Module, Llamada a un Módulo de Programa ) se
utiliza para solicitar la ejecución de una rutina de programa externa. Los módulos de
programa pueden considerarse similares a las subrutinas
NOTA : No es posible utilizar la función CMP DENTRO de un módulo de programa
Los módulos de programa pueden escribirse en uno de los diferentes lenguajes
incluyendo AWL y Assembler. Festo pude suministrar varios módulos de programa
optimizados para realizar tareas especializadas tales como :
*
Entrada / Salida de Textos
*
Conteo en alta velocidad
*
Funciones aritméticas de 32 bits
Algunos Módulos de Programa pueden utilizar Unidades Funcionales ( FU ) para pasar
información desde / hacia los programas de usuario y los Módulos de Programa
Ejemplos
Dependiendo del modelo específico de FPC , así como del Módulo de Programa
llamado, puede ser necesario pasar algunos parámetros cuando se utiliza una CMP
Ejemplo : FPC 202 c
Este módulo de programa puede utilizarse para transmitir texto. La llamada a este CMP
en particular acepta varios parámetros dependiendo de la función deseada
IF
THEN

CMP
WITH
WITH

I 1.5
7
V0
Tanque # 1

Si sensor de nivel máximo
Llamar al módulo de programa 7
con el texto que se indica
lleno

El ejemplo anterior sirve simplemente para dar una idea general de la forma en que son
llamados los módulos de programa. Los diferentes procedimientos de llamada varían
mucho, así que el usuario siempre deberá consultar la documentación específica
Módulos sencillos
En una situación donde el usuario simplemente escribe una subrutina como un módulo
de programa, no es necesario pasar ningún parámetro. En tales casos, la llamada puede
realizarse con :
IF......
THEN

CMP

8

Llama a un módulo de programa que no
requiere ningún parámetro

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 21
Sistemas de control secuencial
____________________________________________________________________________________

CPL

Propósito
Esta instrucción complementa el contenido del acumulador multibit utilizando el
método del complemento a dos
En principio, el efecto de la instrucción CPL es el mismo que multiplicar por -1, si se
trata de números enteros con signo

Ejemplos
Lo siguiente muestra la utilización de la instrucción CPL a un número de 16 bits que ha
sido cargado en el acumulador multibit

0
1

0
1

0
1

1
0

0
1

0
1

1
0

0
1

0
1

1
0

1
0

0
1

0
1

1
0

1
0

1
1

4711
CPL = - 4711

El valor con que se va a operar, primero debe ser cargado en el acumulador multibit. En
el ejemplo siguiente, el programa comprobará si el Registro 32 contiene un número
negativo, y si es así lo convertirá a positivo y lo depositará en el Registro 22

IF
THEN

( R32
<V0)
LOAD
CPL
TO

Ver si el registro 32 es menor de 0... o
un valor negativo y si es negativo

R 32

cargarlo en el acumulador multibit
realizar la instrucción "complementar "
y copiarlo en el registro 22

R 22

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 22
Sistemas de control secuencial
____________________________________________________________________________________

DEB

Propósito
Para convertir el contenido del acumulador multibit de formato BCD a Binario
Es frecuente que muchos equipos periféricos puedan enviar información ( valores etc.) a
un PLC a través de las entradas estándar. Para minimizar el número de entradas, el
dispositivo periférico puede utilizar una codificación BCD.
Dado que la instrucción DEB opera sobre el contenido del acumulador multibit, el valor
a convertir debe ser previamente cargado en el acumulador multibit.

Ejemplos
Si utilizamos dos conmutadores rotativos BCD para definir el número de ciclos que una
máquina debe realizar, podríamos utilizar las siguientes instrucciones :
Hemos conectado los conmutadores BCD a las entradas 0-7 de la palabra de entradas
IW1 y la entrada I0.3 se utiliza para validar la introducción del valor, que será
almacenado en la palabra de contador CW2

IF
THEN

LOAD
AND

DEB
TO

I 0.3
(IW1
V 255 )

CW2

Cuando se active I 0.3
copiar la palabra de entradas en el
acumulador multibit y usar la instrucción
AND para enmascarar las entradas I
1.8..15. Tanto si existen I 1.8....15 como
sino, se asegura que en el acumulador
habrá realmente l valor de los
conmutadores BCD
Convertir el actual valor BCD a binario
y copiar el resultado en la palabra del
contador 2

Por favor, observar que los valores permitidos son de 0..9999

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 23
Sistemas de control secuencial
____________________________________________________________________________________

DEC

Propósito
La instrucción DECrement reduce el valor de cualquier operando multibit en "1". A
diferencia de otras instrucciones aritméticas, la operación DECrement puede ser
realizada directamente sin necesidad de cargar previamente el operando a decrementar
en el acumulador multibit
A pesar de que la instrucción DECrement puede utilizarse sobre cualquier operando
multibit, es comúnmente utilizada junto con Contadores y Registros.

Ejemplos
En el siguiente ejemplo se supone que en una línea de llenado de botellas, la entrada I
1.3 es activada cada vez que pasa una botella por la estación de conteo. El número total
de botellas debe guardarse en el Registro 9
Sin embargo, a veces una botella puede no estar completamente llena y esto es
verificado más adelante en el proceso de producción. Si se detecta una botella
parcialmente llena, el contador totalizador debe ser disminuido en una unidad

IF
THEN

I 1.3
R9

INC

IF
THEN

I 2.2
AND
DEC

N

I 3.6
R9

La I 1.3 detecta todas las botellas que
queremos totalizar, así que hay que añadir
1 al contador existente
Cuando llega una botella a la estación de
verificación
y no ,está totalmente llena
restar 1 del total

La instrucción citada DECrement equivale a :

IF....
THEN

LOAD
TO

R9
-V1
R9

Cargar R 9 en el acumulador multibit
restar 1
y copiar el resultado de nuevo en R 9

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 24
Sistemas de control secuencial
____________________________________________________________________________________

EXOR

Propósito
Para combinar dos o más operandos monobit o multibit en la parte Condicional o
Ejecutiva de una frase utilizando la operación lógica EXOR ( OR Exclusiva )

Ejemplo Monobit: En el siguiente ejemplo, la salida O 1.3 será activada si cualquiera
de las Entradas I 1.1 o I 1.2 está activa, pero no si lo están ambas

IF

I 1.1
I 1.2
O 1.3

EXOR
SET

THEN

Tanto si está activa I 1.1 como I 1.2
PERO NO AMBAS
entonces activa la salida 1.3

Ejemplo Multibit: A continuación se muestra la operación lógica EXOR aplicada a
dos operandos de 8 bits
0
1
1

0
1
1

1
1
0

0
0
0

1
1
0

1
1
0

0
0
0

1
0
1

operando 1 = 45 decimal
OR operando 2 = 236 decimal
resultado = 193 decimal

Cuando se utiliza en la parte Condicional de una frase, esta función permite comparar el
resultado de una función lógica EXOR de dos operandos multibit con un tercer
operando multibit o con una constante.

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 25
Sistemas de control secuencial
____________________________________________________________________________________

En el siguiente ejemplo, utilizaremos la potencia de la instrucción EXOR para controlar
una estación de llenado de 8 botellas. Las 8 posiciones de llenado se hallan en un lugar
del sistema de transporte de las botellas. A medida que pasan las botellas, deben ser
verificadas. Es posible en cualquiera de las 8 posiciones que una botella esté o no
presente. Todas las botellas vacías deberán llenarse y cuando estén todas presentes, la
linea se desplazará de nuevo, buscando el siguiente grupo para llenar
La palabra de entradas IW0 ( I0.0...I 0.7 ) está conectada a los sensores de presencia de
botella y la palabra de entradas IW1 ( I1.0...I1,7 ) está conectada a los sensores de
llenado de botella. La palabra de salidas OW0 ( O0.0...O0.7 ) controla las boquillas de
llenado, mientras que la salida O 1.0 cuando está activa, cierra un tope sosteniendo así
las botellas para su llenado

STEP 10
IF
AND
THEN

N O 1.0
I 0.7

Las botellas no están detenidas
y hay botellas en posición 7

SET
LOAD
EXOR
TO

O 1.0
( IW0
IW1 )
OW0

parar movimiento botellas
Ver si están presentes y
SIN llenar
entonces activar salidas
botellas

Si TODAS las salidas están inactivas

AND

(OW0
= V0 )
O 1.0

IF

THEN

SET
JMP TO

O 1.0
10

para

llenar

y las botellas detenidas para llenado
Liberar las botellas de nuevo
e ir al paso 10

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 26
Sistemas de control secuencial
____________________________________________________________________________________

INC

Propósito
La instrucción INCrement, incrementa el valor de cualquier operando multibit en "1". A
diferencia de otras instrucciones aritméticas, la operación INCrement puede ser
realizada directamente sin necesidad de cargar previamente el operando a INCrementar
en el acumulador multibit
A pesar de que la instrucción INCrement puede utilizarse sobre cualquier operando
multibit, es comúnmente utilizada junto con Contadores y Registros.
Ejemplos
En el siguiente ejemplo se supone que en una línea de llenado de botellas, la entrada I
1.3 es activada cada vez que pasa una botella por la estación de conteo. El número total
de botellas debe guardarse en el Registro 9
Sin embargo, a veces una botella puede no estar completamente llena y esto es
verificado más adelante en el proceso de producción. Si se detecta una botella
parcialmente llena, el contador totalizador debe ser disminuido en una unidad

IF
THEN

I 1.3
R9

INC

IF
THEN

I 2.2
AND
DEC

N

I 3.6
R9

La I 1.3 detecta todas las botellas que
queremos totalizar, así que hay que añadir
1 al contador existente
Cuando llega una botella a la estación de
verificación
y no ,está totalmente llena
restar 1 del total

La instrucción citada INCrement equivale a :

IF....
THEN

LOAD
TO

R9
+V1
R9

Cargar R 9 en el acumulador multibit
añade 1
y copia el resultado de nuevo en R 9

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 27
Sistemas de control secuencial
____________________________________________________________________________________

INV

Propósito
Esta instrucción complementa ( INVerts, INVierte ) el contenido del acumulador
multibit, utilizando el método del complemento a "1"
Cuando se aplica a enteros con signo, esto es equivalente a multiplicar un número por -1
y añadirle -1.
Ejemplos
El siguiente cuadro ilustra una aplicación de la instrucción INV a un número de 16 bits
que ha sido cargado en el acumulador multibit
0
1

0
1

0
1

1
0

0
1

0
1

1
0

0
1

0
1

1
0

1
0

0
1

0
1

1
0

1
0

1
0

INV

La instrucción INV puede ser de utilidad cuando se desea invertir todos y cada uno de
los bits contenidos en el acumulador multibit
En el siguiente ejemplo, una máquina mezcladora tiene 16 estaciones. El ciclo de
mezcla consiste en periodos alternativos de agitación y de asentamiento. Durante la
operación normal, los operarios añaden o quitan contenedores aleatoriamente.
Solamente aquellas estaciones que poseen contenedor situado deben activarse. Se han
previsto sensores para detectar que estaciones deben ser activadas
STEP 10
IF
THEN

N
LOAD

T1
OW1

INV
AND
TO

OW1

SET
STEP 20
IF
THEN

IW1

T1
N

JMP TO

T1
10

Tiempo vencido
El estado actual de las salidas 0-15 de las
estaciones de agitado es copiado al
acumulador
ahora invertimos el estado de cada
salida... aquellas que estén en 1 pasarán a
0 ( pero esto solo en el MBA )
ahora corregir para cada estación que
estuviera en off y no tuviera contenedor
finalmente activar las correspondientes
salidas
y arrancar el temporizador
espera hasta terminar el proceso
de temporización
para regresar al paso 10

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 28
Sistemas de control secuencial
____________________________________________________________________________________

JMP TO

Propósito
Para proporcionar un medio de influir en el flujo de ejecución del programa, basándose
en un criterio programable. Análoga a la instrucción del lenguaje Basic " GOTO "
Se debe observar que la instrucción JMP TO puede alterar el comportamiento normal
que hace que al cumplirse la ÚLTIMA frase de un STEP el programa continúe en el
siguiente
La instrucción JMP TO también puede utilizarse para dar prioridad a la ejecución de
frases dentro de un STEP

Ejemplos
En el primer ejemplo la instrucción JMP TO se utiliza en un programa paralelo para
detectar y reaccionar ante una condición de PARO. El paso 20 contiene todas las frases
que son procesadas de forma paralela. Observar que el PARO es un pulsador cerrado en
reposo

STEP 20
.......... frases anteriores en el paso 20
IF
THEN

N
LOAD
TO
TO
JMP TO

STEP 80
IF
THEN

I 1.1

Ver si paro ha sido pulsado, si es así,

V0
OW0
OW1
80

desactivar todas las salidas en grupo
en las palabras de salidas 0 y 1

I 1.1
AND
JMP TO

I 2.1
20

y seguir en una rutina especial
Rutina de PARO
Esperar aquí hasta que no se detecte la
señal de paro
y se accione el pulsador de RESET
entonces continuar en el paso 20

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 29
Sistemas de control secuencial
____________________________________________________________________________________

El siguiente ejemplo utiliza saltos múltiples dentro de una instrucción STEP y muestra
una situación donde el operador de la máquina debe seleccionar 1 de 3 posibles
opciones

STEP 40
IF
THEN
IF
THEN
IF
THEN

AND
AND
JMP TO

N
N

AND
AND
JMP TO

N
N

AND
AND
JMP TO

N
N

I 1.1
I 1.2
I 1.3
100
I 1.2
I 1.1
I 1.3
150
I 1.3
I 1.1
I 1.2
200

El operador debe seleccionar SOLO 1 de
las 3 secuencias
Selección de secuencia 1
y no secuencia 2
y no secuencia 3
salto a secuencia 1
Selección de secuencia 2
y no secuencia 1
y no secuencia 3
salto a secuencia 2
Selección de secuencia 3
y no secuencia 1
y no secuencia 2
salto a secuencia 3

Hay que tener cuidado al ordenar varias frases dentro de un mismo paso, junto con el
uso de la instrucción JMP, ya que es fácil asignar prioridades involuntariamente.
El siguiente ejemplo asume que los pasos hasta el 50 contienen instrucciones para un
proceso, y que al alcanzar el paso 60, la máquina debe verificar las entradas I1.1, I1.2 y
I 1.3, esperar hasta que aparezca una PRIMERA entrada y procesar solamente una de
estas entradas, donde la I 1.1. tiene la máxima prioridad e I 1.2 tiene la prioridad más
baja

STEP 60
IF
THEN
IF
THEN
IF
THEN
IF
THEN

AND
AND
JMP TO
JMP TO
AND
JMP TO
AND
AND
NOP

N I 1.1
N I 1.2
N I 1.3
60
I 1.1
100
N I 1.1
I 1.2
150
N I 1.1
N I 1.2
I 1.3

Esperar hasta que por lo menos una de
las entradas está activa
Esta entrada tiene la más alta prioridad
al paso 100
asegurarse de que no hay acciones
de mayor prioridad
al paso 150
asegurarse de que no hay acciones
de mayor prioridad
OK. para procesar solo el siguiente paso
del programa

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 30
Sistemas de control secuencial
____________________________________________________________________________________

LOAD...TO

Propósito
La instrucción LOAD ( CARGAR ) permite copiar ( cargar ) operandos monobit o
multibit en los acumuladores monobit o multibit ( respectivamente ) como preparación
para :
1.-

Realizar operaciones lógicas y/o matemáticas

2.-

Como paso intermedio requerido para transferir información entre operandos

La parte ... TO ( hacia ) de la instrucción permite especificar el destino del operando.
La instrucción LOAD...TO es más frecuentemente utilizada con operandos multibit
Ejemplos
Cargas monobit
Origen
LOAD SBO
LOAD I 1.0

Operación
Opcional
ninguna

Destino
TO SBO
TO O 1.0

LOAD SBO
AND SBO
LOAD I 1.0
AND N I 1.1
Nota : SBO = cualquier Single Bit Operand ( monobit )
Sintaxis monobit

TO SBO
TO O 1.0

A pesar que los ejemplos citados son instrucciones válidas AWL, generalmente no se
usan. Equivalen a :

IF
THEN
OTHRW

SET
RESET

I 1.1
O 1.0
O 1.0

AND
SET
RESET

I 1.0
N I 1.1
O 1.0
O 1.0

IF
THEN
OTHRW

Si entrada 1.0 está activa
activar salida 1.0
sino desactivarla
Si entrada 1.0 activa
y entrada 1.1 NO activa
activar salida 1.0
sino desactivarla

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 31
Sistemas de control secuencial
____________________________________________________________________________________

Cargas multibit
Origen
LOAD MBO / V
LOAD R6

Operación
Opcional
ninguna

Destino
TO MBO
TO TW1

LOAD MBO/ V
AND MBO / V
TO MBO
LOAD R11
SHL
TO CW4
LOAD CW2
+ V3199
TO R28
Nota : MBO / V = cualquier Multi Bit Operand o Valor
Sintaxis multibit
La utilización de la instrucción LOAD con operandos multibit y valores, cuando se
utiliza junto con los operadores lógicos o matemáticos disponibles, proporciona unas
posibilidades de proceso muy potentes.
El siguiente ejemplo ilustra algunas de las diversas funciones que pueden realizarse
utilizando la instrucción LOAD
Desconexión de TODAS las salidas de un sistema
Asumiremos que nuestro sistema contiene 64 salidas organizadas en 4 palabras de 16
bits. Utilizando la clásica instrucción RESET para desactivarlas requeriría un programa
como :

IF
THEN

RESET
RESET
...
...

I 1.0
O 1.0
O 1.1

p. ej. un pulsador
desactiva la salida 1.0
y otra
repetimos esta instrucción
para cada una de las 64 salidas

Mientras que utilizando la instrucción LOAD puede conseguirse el mismo resultado
con:

IF
THEN

LOAD
TO
TO
TO
TO

I 1.0
V0
OW 1
OW 2
OW 3
OW 4

p. ej. un pulsador
carga el valor "0" en el acumulador
desactiva las salidas 1.0...1.15
desactiva las salidas 2.0...2.15
desactiva las salidas 3.0...3.15
desactiva las salidas 4.0...4.15

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 32
Sistemas de control secuencial
____________________________________________________________________________________

Obsérvese que una vez que el Valor ( en este caso 0 ) ha sido cargado en el acumulador
multibit, puede copiarse ( utilizando TO ) a varios destinos sin tener que recargarlo

Resumen
La instrucción LOAD, puede muy bien ser una de las instrucciones más potentes en el
lenguaje AWL.
Es importante recordar que la instrucción LOAD únicamente prepara al sistema para las
instrucciones que le siguen.

Nota : Cuando se ejecuta una instrucción LOAD, el operando multibit o el Valor
especificado es cargado en el acumulador multibit ( MBA )
El MBA es de 16 bits. Si el operando multibit especificado como fuente ( p.ej. LOAD
MBO es de solo 8 bits ( p.ej. un módulo de E / S con solo 8 puntos ) entonces el byte
más alto del MBA se llenará con ceros.
Igualmente, si el MBA es transferido ( por medio de la instrucción TO ) a un destino
de 8 bits, los 8 bits altos se perderán

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 33
Sistemas de control secuencial
____________________________________________________________________________________

NOP

Propósito
La instrucción NOP ( No OPeration ) que en principio podría parecer de poca utilidad,
es frecuentemente de gran ayuda en programación
La consecuencia de utilizar la instrucción NOP depende de si es utilizada en la parte
condicional o en la parte ejecutiva de una frase
Ejemplos
Parte condicional
Cuando se utiliza en la parte condicional de una frase, la instrucción NOP puede servir
para construir una frase que siempre sea evaluada como cierta, con lo que las
instrucciones programadas en la parte ejecutiva siempre se realizarán

STEP 45
IF
THEN

SET
SET

NOP
T6
O 1.2

Siempre cierto
arranca temporizador 6
activa la salida 1.2

Procesamiento paralelo
Cuando un paso de programa contiene varias frases que deben procesarse ( explorarse )
continuamente, la instrucción NOP puede utilizarse para controlar el flujo del programa
STEP 11
IF
THEN
IF
THEN
OTHRW

SET

I 1.4
T4

Si entrada 1.4 está activa
arranca temporizador 4

SET
RESET

I 3.0
O 1.6
O 1.6

Arranque manual
del motor
sino, parar motor

AND
INC

T4
O 1.6
CW3

Temporizador 4 funciona
y motor funciona
incrementa ciclo de conteo

IF
THEN

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 34
Sistemas de control secuencial
____________________________________________________________________________________

IF
THEN

JMP TO

IF
THEN

NOP
JMP TO

STEP 90
IF
THEN

I 2.2
90
11
N

AND
JMP TO

Pulsador de emergencia
abandona esta exploración
Incondicionalmente
continua esta exploración

I 2.2
I 3.3
11

rutina especial
Pulsador de emergencia liberado
y pulsador de reset
vuelve al paso 11, sino espera

Parte ejecutiva
Cuando se utiliza en la parte ejecutiva de una frase, la instrucción NOP es evaluada
como una instrucción de " no hagas nada ". A pesar de que esto puede parecer poco
interesante, a menudo es muy útil cuando el programador desea esperar a que se
cumplan unas determinadas condiciones para seguir con la ejecución del programa en el
siguiente paso

STEP 60
IF
THEN

AND
AND
NOP

N

I 1.5
T7
C2

Entrada 1.5 activa
Temporizador 7 funcionando
Contador 2 inactivo
cumplidas las condiciones anteriores,
procede con el siguiente paso

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 35
Sistemas de control secuencial
____________________________________________________________________________________

OR

Propósito
1.-

Para combinar dos o más operandos monobit o multibit en la parte condicional de
una frase utilizando la operación lógica OR

2.-

Para realizar el enlace en OR de dos operandos multibit o valores, indistintamente
en la parte condicional o ejecutiva de una frase

Ejemplos
Monobit

IF

I 1.1
T6
O 1.5

OR
SET

THEN

Si entrada 1.1 está activa
o el timer 6 funciona
entonces activa salida 1.5

Multibit
A continuación se muestra la operación lógica AND aplicada a dos operandos de 8 bits
0
1
1

0
1
1

1
1
1

0
0
0

1
1
1

1
1
1

0
0
0

1
0
1

operando 1 = 45 decimal
OR operando 2 = 236 decimal
resultado = 237 decimal

La función OR puede ser utilizada con operandos Multibit y valores, tanto en la parte
Condicional de la frase, como en la parte Ejecutiva.
Cuando se utiliza en la parte Condicional de una frase, esta función permite que el
resultado de la función lógica OR entre dos operandos multibit o valores, sea
comparado con un tercer operando multibit o con un valor.

IF
OR
THEN

......

( R43
El contenido de R43 es enlazado en
R7 ) OR con el contenido del registro R7
= V 100 Si el resultado es igual a 100
entonces se realizarán las funciones
programadas

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 36
Sistemas de control secuencial
____________________________________________________________________________________

El siguiente ejemplo es una máquina que consiste en 16 transportadores paralelos, cada
uno de los cuales suministra componentes a una zona de montaje.
Los componentes son cargados manualmente a uno o más de los tres posibles
emplazamientos de cada transportador. Cada transportador incluye tres sensores que
verifican si las piezas han sido cargadas
Cuando los 16 transportadores tienen por lo menos un componente cargado, entonces
cada transportador deberá comenzar a funcionar. A medida que una pieza alcance la
posición final de cada transportador, éste deberá detenerse. Cada transportador contiene
un sensor para detectar cuando una pieza se halla presente en la posición final

STEP 50
IF
OR
AND

(OW1
IW4
=V0)
(IW1

OR

IW2

OR

IW3
= V 65535

THEN
STEP 60
THEN

LOAD
TO

V 65535
OW1

Entonces activar los 16 transportadores
controlados por las salidas 1.0...1.15

LOAD
TO

IW4
OW4
(OW4
=V0
50

Desactivar cada transportador
a medida que alcanzan la posición final
Cuando todos los transportadores
se han detenido
empezar de nuevo

IF
THEN

El criterio de arranque de todos los
transportadores está detenido ahora
( salidas 1.0 a 1.15 )
y las 16 posiciones están libres
Todos los sensores de la estación 1 para
transportadores 1, 2 y 3
Todos los sensores de la estación 2 para
transportadores 1, 2 y 3
Todos los sensores de la estación 3 para
transportadores 1, 2 y 3
Los 16 tienen por lo menos 1 componente
cargado

JMP TO

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 37
Sistemas de control secuencial
____________________________________________________________________________________

PSE

Propósito
Para marcar el final de programa ( Program Section End ) o un cambio de programa.
Esto provocará un cambio de procesador virtual en aquellos procesadores que soportan
multitarea ( ver multitarea )
Al regresar al programa que ha ejecutado la instrucción PSE, el programa continuará
procesando :
*
*

en la primera frase del paso actual o
en la primera frase del programa cuando no existan pasos

Ejemplos
Si un programa AWL simplemente termina con una instrucción normal y no se dan
instrucciones adicionales, el programa dejará de funcionar
Los programas clásicos o partes del programa se terminan utilizando la instrucción PSE
o la instrucción JMP.

STEP 10
IF
THEN
STEP 20
IF
THEN
OTHRW

SET
RESET
PSE
PSE

I 1.1
O 2.1

Pulsador de marcha
Avanzar cilindro

I 3.1
O 2.1

Cilindro delante
retroceder cilindro
ir a la primera frase
ir a la primera frase

Cuando un programa ha sido realizado sin etiquetas de pasos, y debe procesarse de
forma continuada según el ciclo de exploración ( scan ); el programa debe terminar con
una instrucción PSE
.......
.......
IF
THEN

NOP
PSE

frases anteriores
"
"
Siempre cierto
Fin del programa parcial e ir a la frase
inicial en el programa

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 38
Sistemas de control secuencial
____________________________________________________________________________________

RESET

Propósito
La instrucción RESET ( desactivar ) se utiliza para cambiar los operandos Monobit al
estado lógico "0". La desactivación de un operando que ya esté desactivado, no produce
efecto alguno
El efecto que produce una instrucción de RESET, varía según el operando referido. La
siguiente tabla proporciona un resumen de la utilización de la instrucción RESET

Ejemplos

Operando

Sintaxis

Output
Flag
Counter
Timer

RESET O 1.6
RESET F 2.12
RESET C 6
RESET T 4

Program *

RESET P 2

Processor *

RESET Y 2

Auto Restart *

RESET ARU

Error Status *

RESET E

Efecto
Desactiva Salida 1.6 ( off )
Fuerza el estado del Flag 2.12 a ser "0"
El estado del contador 6 es puesto a inactivo
El estado del Temporizador 4 es puesto a
inactivo
El programa 2 es liberado de su procesador
asignado y es detenido
Cualquier programa asignado al procesador
2 es puesto en estado de detención
Desactiva la función de rearranque
automático ( default = off )
Borra el bit de estado de error

Los operandos marcados con "*" pueden diferir o no ser aplicables a todos los
modelos de PLC

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 39
Sistemas de control secuencial
____________________________________________________________________________________

ROL

Propósito
La instrucción ROL ( ROtate Left ), rota el contenido del acumulador Multibit hacia la
izquierda en una posición
El bit más significativo ( 15 ) es transferido a la posición del bit menos significativo.
Véanse también las instrucciones ROR, SHR y SHL
Debe recordarse que la instrucción LOAD....TO se utiliza normalmente en primer lugar
para preparar el Acumulador Multibit y de nuevo después de la instrucción ROL para
copiar el resultado al operando multibit deseado

Ejemplos
La siguiente tabla muestra el efecto de la utilización de la instrucción ROL
0
1
0
0

1
0
1
1

IF
THEN

0
1
0
0

1
0
1
1

0
1
1
1

1
1
0
0

1
0
0
0

0
0
0
0

0
0
0
0

N

0
0
1
1

LOAD

T6
OW1

ROL
ROL
TO

OW1

0
1
1
1

1
1
1
1

1
1
0
0

1
0
1
1

0
1
0
0

1
0
1
1

LOAD MBO
1er ROL
2º ROL
TO MBO

Si T6 está parado
cargar los 16 bits de la palabra de salidas
1 al MBA
Rota a izquierda una vez
rota a izquierda una segunda vez
copia el resultado de nuevo al mismo sitio

Esta instrucción puede tener una buena aplicación cuando se utiliza en máquinas
transfer rotativas o transportadores, para seguir el estado de la producción cuando la
máquina realiza la transferencia

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 40
Sistemas de control secuencial
____________________________________________________________________________________

ROR

Propósito
La instrucción ROR ( ROtate Rigth ), rota el contenido del acumulador Multibit hacia la
derecha en una posición
El bit menos significativo ( bit 0 ) es transferido a la posición del bit más significativo.
Véanse también las instrucciones ROR, SHR y SHL
Debe recordarse que la instrucción LOAD....TO se utiliza normalmente en primer lugar
para preparar el Acumulador Multibit y de nuevo después de la instrucción ROR para
copiar el resultado al operando multibit deseado

Ejemplos
La siguiente tabla muestra el efecto de la utilización de la instrucción ROR
0
1
0
0

1
0
1
1

IF
THEN

0
1
0
0

1
0
1
1

0
1
0
0

1
0
1
1

1
1
0
0

0
1
1
1

0
0
1
1

N

0
0
0
0

LOAD

T6
OW1

ROR
ROR
TO

OW1

0
0
0
0

1
0
0
0

1
1
0
0

1
1
1
1

0
1
1
1

1
0
1
1

LOAD MBO
1er ROR
2º ROR
TO MBO

Si T6 está parado
cargar los 16 bits de la palabra de salidas
1 al MBA
Rota a la derecha una vez
Rota a la derecha una segunda vez
copia el resultado de nuevo al mismo sitio

Esta instrucción puede tener una buena aplicación cuando se utiliza en máquinas
transfer rotativas o transportadores, para seguir el estado de la producción cuando la
máquina realiza la transferencia

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 41
Sistemas de control secuencial
____________________________________________________________________________________

SET

Propósito
La instrucción SET ( activar ) se utiliza para cambiar los operandos Monobit al estado
lógico "1". La activación de un operando que ya esté activado, no produce efecto alguno
El efecto que produce una instrucción de SET, varía según el operando referido. La
siguiente tabla proporciona un resumen de la utilización de la instrucción SET

Ejemplos

Operando

Sintaxis

Efecto

Output
Flag
Counter

SET O 1.6
SET F 2.12
SET C 6

Timer

SET T 4

Program *
Processor *

SET P 2
SET P 2.3
SET Y 2

Auto Restart *

SET ARU

Activa Salida 1.6 ( on )
Fuerza el estado del Flag 2.12 a ser "1"
1.- La palabra del contador 6 es cargada con "0"
2.- El bit de estado de C6 es activado
1.- El contenido del preselector TP 4 es copiado al
TW4
2.- El bit de estado del Timer 4 ( T4 ) es activado ( = 1
)
Programa 2 es lanzado desde el inicio. Programa 3 es
asignado al procesador 2 y lanzado desde el principio
Reactiva un programa previamente detenido en el
procesador 2 en el punto donde se detuvo
Activa la función de rearranque automático

Los operandos marcados con "*" pueden diferir o no ser aplicables a todos los
modelos de PLC

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 42
Sistemas de control secuencial
____________________________________________________________________________________

SHIFT

Propósito
La instrucción SHIFT realiza un intercambio entre el Acumulador Monobit ( SBA ) y
un operando Monobit
Esta instrucción puede utilizarse para construir Shift Registers ( Registros de
desplazamiento ) de diferentes longitudes... diferentes de las manipulaciones sobre 16
bits que realizan las instrucciones SHR y SHL. Para operar correctamente, primero debe
cargarse el SBA y a continuación pueden programarse cualquier número de SHIFTs
monobit

Ejemplos
En el siguiente ejemplo, cada vez que la entrada I 1.0 se activa, el estado de las salidas
O 1.1 hasta O 1.4 debe ser actualizadas.
*
*
*
*

STEP 10
IF
THEN

La salida O 1.4 tomará su estado según el estado que tenga la salida O 1.3
La salida O 1.3 tomará su estado según O 1.2
La salida O 1.2 tomará su estado según O 1.1
La salida O 1.1 tomará su estado según el estado que tenga la entrada I 1.1

I 1.0
I 1.0

TO
SHIFT
SHIFT
SHIFT
SHIFT
STEP 20
IF
THEN

LOAD

F 0.0
O 1.1
O 1.2
O 1.3
O 1.4
N

JMP TO

I 1.0
10

Entrada activa
aquí se utiliza un Flag para evitar escribir
desde una entrada, lo que de lo
contrario sucedería
cargar F0.0 O 1.1
cargar O 1.1 O 1.2
cargar O 1.2 O 1.3
cargar O 1.3 O 1.4
Espera que liberen la entrada
repetir

Ver Flags y Flags Words ( marcas y palabras de marca ) para una alternativa a la
construcción de registros de desplazamiento

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 43
Sistemas de control secuencial
____________________________________________________________________________________

SHL

Propósito
La instrucción SHift Left mueve ( desplaza ) el contenido del acumulador Multibit en
una posición hacia la izquierda
El bit más significativo ( bit 15 ) es descartado y la posición del bit más significativo se
llena con un "0". Ver también las instrucciones ROL, ROR y SHR
Una utilización típica de la instrucción SHL es la emulación de registros de
desplazamiento
Debe recordarse que la instrucción LOAD....TO se utiliza normalmente en primer lugar
para preparar el Acumulador Multibit y de nuevo después de la instrucción SHL para
copiar el resultado al operando multibit deseado
Ejemplos
La siguiente tabla muestra el efecto de la utilización de la instrucción SHL

1
1
1

1
0
0

0
1
1

1
0
0

0
1
1

1
1
1

1
0
0

0
0
0

0
0
0

0
0
0

0
1
1

1
1
1

1
1
1

1
0
0

0
1
1

1
0
0

LOAD MBO
SHL
TO MBO

Shift Register
El siguiente ejemplo mostrará la utilización de SHL en combinación con un MBO para
emular un registro de desplazamiento. A pesar de que puede utilizarse cualquier
operando multibit, hemos elegido un Flag Word, dado que pueden ser manejados en
base a palabra o en base a bit indistintamente
Supongamos que estamos controlando una máquina que monta cartuchos de cintas para
impresoras de ordenador. El proceso empieza en la estación 1 donde se hallan apilados
los cartuchos vacíos en la línea de montaje; hasta la línea 10 donde los conjuntos
montados son descargados a una máquina de embalar. En cada estación ( 1-10 ), una
vez se ha completado la operación de montaje respectiva, se realiza un control de
calidad. Los montajes defectuosos son inmediatamente retirados.
Adicionalmente, cuando la máquina es cargada por primera vez por la mañana, y al
parar por la tarde, solo deben funcionar aquellas estaciones que contengan componentes
válidos.

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 44
Sistemas de control secuencial
____________________________________________________________________________________

Mientras que cada estación puede incluir sensores para asegurar que ciertas piezas están
correctamente posicionadas antes de proceder, el registro de desplazamiento,
simplificará notablemente nuestras necesidades de proceso.
Para simplificar este ejemplo, sólo hemos considerado las estaciones 1-3
STEP 40
AND
AND
RESET

F 1.1
N T1
N I 2.1
F 1.1

Procesar estaciones. FW1 contiene un
patrón de bits de donde hay piezas
Hubo pieza correcta en la estación 1
operación realizada
pieza mala en estación 1
PIEZA MALA RETIRADA

AND
AND
RESET

F 1.2
N T1
N I 2.2
F 1.2

Hubo pieza buena en estación 2
operación realizada
pieza mala en estación 2
PIEZA MALA RETIRADA

THEN

AND
AND
RESET

F 1.3
N T1
N I 1.3
F 1.3

Hubo pieza buena en estación 3
operación realizada
pieza mala en estación 3
PIEZA MALA RETIRADA

IF
THEN

SET

IF
THEN
IF
THEN
IF

STEP 50
IF
THEN

STEP 60
IF
THEN

T1
O 1.1
N

LOAD
SHL
TO

RESET
JMP TO

Operaciones terminadas
transferir linea de montaje

I 2.0
FW1

Linea transfiriendo
carga el registro de desplazamiento
actualiza
y almacena

FW1
I 2.0
O 1.1
20

Transferencia realizada
continua procesando

Multiplicación
La instrucción SHL puede utilizarse para multiplicar el contenido del MBA por dos
IF
THEN

LOAD
SHL
SHL
TO

I 1.0
R6
R6

Detector de piezas
registro 6
multiplica por 2
multiplica de nuevo, o sea, por 4
y guarda el resultado

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 45
Sistemas de control secuencial
____________________________________________________________________________________

SHR

Propósito
La instrucción SHift Right mueve ( desplaza ) el contenido del acumulador Multibit en
una posición hacia la derecha
El bit menos significativo ( bit 0 ) es descartado y la posición del bit más significativo
se llena con un "0". Ver también las instrucciones ROL, ROR y SHL
La instrucción SHR puede utilizarse también para dividir por dos cualquier MBO o
valor
El programador debe comprobar un posible desbordamiento o si el dividendo es un
número impar, en cuyo caso el resultado será incorrecto, ya que solo se manipulan
números enteros
Debe recordarse que la instrucción LOAD....TO se utiliza normalmente en primer lugar
para preparar el Acumulador Multibit y de nuevo después de la instrucción SHR para
copiar el resultado al operando multibit deseado

Ejemplos
La siguiente tabla muestra el efecto de la utilización de la instrucción SHR

1
0
0

1
1
1

0
1
1

1
0
0

0
1
1

1
0
0

1
1
1

0
1
1

0
0
0

0
0
0

0
0
0

1
0
0

1
1
1

1
1
1

0
1
1

1
0
0

LOAD MBO
SHR
TO MBO

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 46
Sistemas de control secuencial
____________________________________________________________________________________

SWAP

Propósito
Proporciona el medio de intercambiar ( permutar ) el byte alto ( bits del 8 al 15 ) y el
byte bajo ( bits del 0 al 7 ) en el acumulador multibit
Antes de ejecutar la instrucción SWAP primero debe cargarse el correspondiente MBO
en el acumulador multibit

Ejemplos
La siguiente tabla muestra el efecto de la utilización de la instrucción SHL
1
0
0

1
0
0

1
0
0

1
0
0

1
0
0

1
0
0

1
0
0

1
0
0

0
1
1

0
1
1

0
1
1

0
1
1

0
1
1

0
1
1

0
1
1

0
1
1

LOAD MBO / V
SWAP
TO MBO

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 47
Sistemas de control secuencial
____________________________________________________________________________________

5

TEMPORIZADORES

5.1

El temporizador

Muchas funciones de control exigen la programación del tiempo. Ejemplo : En una
máquina deberá avanzar el cilindro B cuando el cilindro A haya vuelto a su posición
normal, aunque solo después de transcurridos 5 segundos. En este caso se trata de un
retardo de conexión. Con frecuencia es necesario que la activación de la sección se
produzca con un retardo por razones de seguridad
Retardo de conexión

Señal de activación
Activar el temporizador mediante un flanco
positivo de la señal de activación
Temporizador está activado
Activar la función después de
parar el temporizador

Para efectuar la
Pulsos secuenciales
programación
de
una temporización,
es necesario recurrir
a ( submódulos )
temporizadores.
cadencia
Todos los controles
( se cuentan flancos negativos )
lógicos
programables
contienen
dichos
submódulos
de
temporización. Por
cadencia
lo general, los
( se cuentan flancos positivos )
tiempos
son
configurados
de
modo digital, lo que significa que un contador se encarga de contar cadencias. Un PLC
cuenta las cadencias con la misma exactitud con la que los relojes cuentan las
oscilaciones de cuarzo. O, para ser más precisos : el PLC cuenta flancos positivos o
negativos de los pulsos secuenciales.

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 48
Sistemas de control secuencial
____________________________________________________________________________________

A modo de unidad básica se define o selecciona un determinado tiempo para las
secuencias de los pulsos :
Un milisegundo
Una centésima de segundo
Una décima de segundo
Un segundo
Un minuto
En el programa, los tiempos son confeccionados recurriendo a las unidades básicas
respectivas, estando limitada la duración del tiempo programable.
La amplitud de conteo de un temporizador define la cantidad máxima de cadencias.
Multiplicando la amplitud de conteo con la cadencia más larga posible, se obtiene como
resultado el tiempo máximo programable de un temporizador.
No obstante, utilizando varios submódulos temporizadores ( con un contador ) es
posible prolongar el tiempo.
También existen temporizadores ( submódulos electrónicos ) que son parte integrante
del hardware del PLC y que son denominados temporizadores analógicos del hardware.
Estos temporizadores conforman los tiempos de modo analógico con condensadores y
resistencias. Para activar un temporizador analógico se recurre a una entrada y a una
salida del PLC. Mediante un potenciómetro pueden ajustarse los tiempos analógicos.
No obstante, en la actualidad prácticamente ya no se utilizan este tipo de
temporizadores, puesto que la temporización mediante software resulta más flexible y
menos costosa.

5.2

Funcionamiento de un temporizador

Un
temporizador
está compuesto de
los
siguientes
elementos :

Funcionamiento de un temporizador ( ejemplo )
Temporizador
Cargar

* Valor nominal
* Valor efectivo
* Estado

Valor nominal

+1
-1

Valor efectivo

Activar
Estado
Parar

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 49
Sistemas de control secuencial
____________________________________________________________________________________

El valor nominal indica el tiempo que deberá transcurrir en función del programa y
expresado mediante un número que indica la cantidad de cadencias que se haya
seleccionado. El valor nominal también puede ser igual a "0"; en este caso, el tiempo
que se haya ajustado es igual al valor efectivo.
El valor efectivo indica el valor instantáneo del temporizador. Los temporizadores
pueden contar hacia atrás o hacia adelante. El valor efectivo va cambiando
respectivamente
El estado de un temporizador indica si ya ha transcurrido el tiempo que se haya
preseleccionado o si aún está transcurriendo, pudiendo ser la señal respectiva "0" o "1",
según tipo de PLC

Funcionamiento de un temporizador ( ejemplo )

Cadencia
cadencia

Valor Nominal

0

0

0

0

0

Valor efectivo

4

3

2

1

0

1

1

1

1

0

Estado

Tiempo está
activado

Tiempo está
desactivado

En la figura se muestra el funcionamiento de un temporizador recurriendo a un ejemplo
sencillo. En él se ha ajustado un tiempo de 4 cadencias ( es decir, por ejemplo, 4 veces
0,1 segundos ). El número 4 es el valor efectivo y el conteo se produce hacia atrás hasta
que se alcanza el valor efectivo 0. El temporizador cuenta los flancos positivos de los
pulsos secuenciales.

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 50
Sistemas de control secuencial
____________________________________________________________________________________

Cada temporizador ( o Timer ), tal y como ha sido implementado en el lenguaje AWL,
consta de varios elementos :

Elemento / Operando

Ref.

Timer Status Bit

Tn

Timer Preselect

TPn

Timer Word

TWn

Función
Permite a un programa verificar si un Timer está
activo ( funcionando ). Este bit es cambiado a activo
cuando el Timer es activado ( SET ). Cuando se ha
terminado el periodo de tiempo o si el Timer es
detenido ( RESET ) el bit de estado pasa a inactivo
Un operando de 16 bits que contiene el valor que
define el tiempo del Temporizador n
Un operando de 16 bits al cual se transfiere
automáticamente TP cuando se activa el Temporizador
( SET ). El contenido es automáticamente
decrementado por el sistema a intervalos regulares

Nota : Todos los modelos de FPC incorporan baterías que mantienen el contenido de
los Preselectores de Temporizador durante los periodos de desconexión

5.3

Utilización de un temporizador

Para la utilización de un Temporizador en un programa AWL, se requieren varios pasos
básicos :
Debe establecerse un Preselector de Temporizador ( Timer Preselect )
válido
Debe emitirse una instrucción para activar el Temporizador
El estado del Temporizador ( activo / detenido ) puede verificarse

5.3.1 Inicialización de un preselector de temporizador
Nota : Dependiendo de qué modelo de control se está utilizando, puede o no ser
necesario especificar una base de tiempo así como un valor de temporización.
Consultar el correspondiente manual de hardware del modelo de control que se esté
programando
Antes de utilizar cualquier temporizador, el correspondiente Preselector de
Temporizador debe inicializarse con un valor correspondiente al periodo de tiempo
deseado.

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 51
Sistemas de control secuencial
____________________________________________________________________________________

Esta inicialización solamente es necesario realizarla de nuevo si el valor a temporizar
debe cambiar. No es necesario recargar el Preselector de Temporizador cada vez que se
active el Temporizador. Los Preselectores de Temporizador pueden cargarse con un
valor o bien con el contenido de cualquier MBO ( p.ej. Registros, Input Word, Flag
Word, etc. )
Ejemplo: Inicialización de un Preselector de Temporizador con una base de tiempo

STEP 1
IF
LOAD
TO
WHIT

NOP
V 10
TP 4
SEC

Primero hacemos esto
Incondicionalmente
valor 10
hacia el preselector
base de tiempo = segundos
El Timer 4 será ahora un temporizador
de 10 segundos

Las bases de tiempo disponibles son :
HSC
centésimas de segundo
TSC
décimas de segundo
SEC
segundos
MIN
minutos
Ejemplo : Inicialización de un Preselector de Temporizador sin una base de tiempo
STEP 1
IF
LOAD

NOP
V 100

TO

TP 0

Primero hacemos esto
Incondicionalmente
valor 100....., al no especificar base de
tiempo, esta será de 1 / 100 de segundo
lo que fija el tiempo de T0 en 1 segundo

El ejemplo precedente ha inicializado el Timer 0 para una duración de 1 segundo ( 100
x 1 / 100 de segundo ). La gama válida es de 0-65535, lo que da periodos de tiempo
desde 0,01 s hasta 655, 35 s ( aprox. 10 minutos )
5.3.2 Activación de un temporizador
La activación de un temporizador sólo requiere la ejecución de la instrucción SET,
especificando qué temporizador debe activarse
IF
THEN

SET

I 2.0
T6

Cualquier condición de marcha
activar Timer 6

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 52
Sistemas de control secuencial
____________________________________________________________________________________

Siempre que se ejecute la orden SET Tn, sucede lo siguiente :
1.2.3.4.-

El valor contenido en TPn ( Preselector de Temporizador ) es copiado al
TWn ( Palabra de Temporizador n )
Tn ( El estado del Temporizador n ) se pone en "1" ( activo / funcionando )
El control decrementa automáticamente el valor almacenado en TWn a
intervalos regulares
Cuando el valor almacenado en TWn alcanza 0 ( cero ), el Tn ( estado del
temporizador ) se pone en "0" ( inactivo / detenido )

Nota : Si se ejecuta la instrucción SET Tn, y el Temporizador especificado YA está
activo, el temporizador se REINICIALIZARÁ y empezará de NUEVO a contar el
periodo de tiempo especificado en TPn

5.3.3 Interrogación del estado de un temporizador
Para que los temporizadores sean útiles en control de procesos, es necesario saber
cuándo ha vencido un tiempo programado. El lenguaje AWL proporciona los medios
para interrogar si un temporizador está activo, de la misma forma que se interroga si una
entrada está activa

IF

T5

IF

N

Ver si Timer 5 está activo ( funciona )

T3

Ver si Timer 3 está inactivo ( parado )

5.3.4 Paro de un temporizador
Para detener un Temporizador, sólo se requiere ejecutar la orden RESET y especificar
qué temporizador debe detenerse
IF
THEN

I 2.0
RESET

Entrada para parar el timer

T5

Detener Timer 5

Cuando se ejecuta la instrucción RESET Tn el bit de estado del temporizador ( Tn ) se
pone en "0" ( inactivo ). Si el temporizador ya se hallaba inactivo, no se produce ningún
efecto

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 53
Sistemas de control secuencial
____________________________________________________________________________________

La siguiente figura ilustra la relación entre el bit de estado del temporizador ( Tn ), la
instrucción SET Tn y RESET Tn, y el periodo de temporización normal

tiempo programado
Timer activo = 1

Timer inactivo = 0
SET Tn

RESET Tn

La línea gruesa representa una secuencia normal de temporización en la cual el estado
del temporizador se vuelve activo cuando se ejecuta una orden SET Tn y el bit de
estado vuelve a inactivo cuando se ha cumplido el periodo de tiempo programado
La línea fina indica que ejecutando una instrucción RESET Tn, inmediatamente se
situará al temporizador en estado inactivo

Atención : Cuando se desarrollan programas o pasos que contengan varias frases
que serán procesadas de forma paralela ( exploración / scanning continua ), es
importante comprender que cada vez que la parte condicional de una frase es
evaluada como cierta, las instrucciones programadas en la parte ejecutiva se
realizarán. Esto debe ser considerado para evitar las múltiples ejecuciones de muchas
instrucciones como SET TIMER o INC / DEC CW, SHL, etc.
El lenguaje AWL no utiliza el " accionamiento por flancos "...Las condiciones son
evaluadas cada vez que se procesan, sin tener en cuenta su estado anterior. Esta
situación se resuelve fácilmente utilizando STEPs, Flags u otra forma de control. Los
ejemplos siguientes muestran dos posibles formas en las que este aspecto es
controlado

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 54
Sistemas de control secuencial
____________________________________________________________________________________

5.4

Ejemplos

5.4.1 Retardo de la conexión
Con el flanco positivo de la señal de entrada se activa el temporizador; la salida es
activada con un retardo de 0,7 segundos. El flanco negativo de la señal de entrada
cancela la salida inmediatamente.
Si la señal de entrada es emitida durante un tiempo menor a 0, 7 segundos, la salida no
llega a activarse.

1
I 7.0
0

1
O 7.5
0
t

STEP 20
IF
THEN

STEP 21
IF
THEN
IF
THEN
STEP 22
IF
THEN

I 7.0
V7
TP 0
TSC
T0

LOAD
TO
WHIT
SET
N

t

Retardo de arranque
Al accionar entrada 7.0
Cargar valor fijo
0,1 seg.
Activar temporizador

AND
SET
RESET
JMP TO

Si entrada 7.0 no está activa
regresar al inicio
¿ Tiempo transcurrido ?
y entrada activa
Activar salida 7.5

N

JMP TO

I 7.0
20
N T0
I 7.0
O 7.5

Si entrada 7.0 no está activa
Desactivar la salida
y volver al inicio

I 7.0
O 7.5
20

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 55
Sistemas de control secuencial
____________________________________________________________________________________

A continuación se indica otro modo de programar un retardo a la conexión. En este
caso, mediante un pulsador, se enciende una luz dos segundos después. Según el
planteamiento del problema, la lámpara solo se enciende mientras que se mantiene
activado el pulsador. Ello significa que si, por ejemplo, se deja de presionar el pulsador
transcurridos 1,5 segundos, la lámpara no se enciende
El Programa AWL está compuesto de dos pasos. En el paso 1 se carga el temporizador (
carga de la constante 2 en el preselector del temporizador TP0 ) y simultáneamente se
inicia el transcurso del tiempo ( activación del temporizador 0 ). En el paso 2 se produce
la consulta del tiempo. Si han transcurrido 2 segundos y sigue recibiéndose la señal 1,
se activa la salida. La señal 0 en la entrada cancela la salida
Si este programa AWL es redactado como programa de enlaces lógicos, deberá
recurrirse a recordadores
STEP S1
IF
THEN

LOAD
TO
WHIT
SET

STEP S2
IF
THEN
IF
THEN

AND
SET
RESET
JMP TO

I 1.0
V2
TP 0
SEC
T0
N T0
I 1.0
O 1.0
N I 1.0
O 1.0
S1

Cargar temporizador
Activar temporizador

Consultar temporizador

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 56
Sistemas de control secuencial
____________________________________________________________________________________

5.4.2 Retardo de la desconexión
Con el flanco positivo de la señal de entrada se activa la salida, y ésta es desactivada
con el flanco negativo, aunque sólo después de transcurridos 0,5 segundos. Ello
significa que el flanco negativo activa el temporizador, mientras que éste cancela la
salida una vez transcurrido el tiempo.

1
I
0

1
0
t

STEP 10
IF
THEN
STEP 11
IF
THEN

STEP 12
IF
THEN

t

I 7.0
O 7.5

Retardo de desconexión
Al accionar entrada 7.0
Activar salida 7.5

N

I 7.0
V5
TP 0
TSC
T0

Si entrada 7.0 no está activa
Cargar valor fijo
En preselector de temporizador TP0
0, 1 segundo
Activar temporizador 0

N

T0
O 7.5
10

Tiempo transcurrido
Desactivar salida 7.5
volver al paso 10

SET

LOAD
TO
WHIT
SET

RESET
JMP TO

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 57
Sistemas de control secuencial
____________________________________________________________________________________

5.4.3 Impulso de temporización
El flanco positivo de la señal de entrada activa la salida. Al mismo tiempo empieza a
funcionar el temporizador. Una vez transcurrido el tiempo ( 2 minutos ), se desactiva la
salida
Sin embargo, si en la entrada se vuelve a recibir la señal "0" antes de que haya
transcurrido el tiempo, también se cancela la salida ( condición OR en el último paso

1
I 7.0
0

1
O 7.5
0
t

STEP 30
IF
THEN

LOAD
TO
WHIT
SET
SET

STEP 31
IF
THEN

OR
RESET
JMP TO

I 7.0
V2
TP 0
MIN
T0
O 7.5
N T0
N I 7.0
O 7.5
30

t

Impulso temporal de arranque
Al accionar entrada 7.0
Cargar valor fijo
1 minuto
Activar temporizador
Activar salida 7.5
¿ Tiempo transcurrido ?
o entrada no activa
desactivar salida
y volver al inicio

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 58
Sistemas de control secuencial
____________________________________________________________________________________

5.4.4 Impulso de desconexión
La salida es activada con el flanco negativo de la señal de entrada. Al mismo tiempo se
pone en funcionamiento el temporizador. Una vez transcurrido el tiempo ( 14 seg.), se
desactiva la salida
En consecuencia, el flanco positivo de la señal de entrada no provoca acción alguna. Por
esta razón, el programa incluye a continuación una instrucción de salto

1
I 7.0
0

1
O 7.5
0
t

STEP 24
IF
THEN
STEP 25
IF
THEN

STEP 26
IF
THEN

t

I 7.0
25

Impulso temporal de desconexión
Al accionar entrada 7.0
continua en el siguiente paso

N

I 7.0
V 14
TP 0
SEC
T0
O 7.5

Si entrada 7.0 no está activa
Cargar valor fijo
En preselector de temporizador TP0
1 segundo
Activar temporizador 0
Activar salida 7.5

N

T0
O 7.5
24

Tiempo transcurrido
Desactivar salida 7.5
volver al paso 24

JMP TO

LOAD
TO
WHIT
SET
SET

RESET
JMP TO

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 59
Sistemas de control secuencial
____________________________________________________________________________________

5.4.5 Impulso secuencial
Activación de un proceso intermitente mediante el flanco positivo de la señal de
entrada. La salida es activada, y mantiene ese estado durante 0,2 seg. ( tiempo t activado
). A continuación es cancelada la salida, y ese estado se mantiene durante 0,1 seg. (
tiempo t desactivado ).
En estos programas el temporizador es cargado dos veces ( con constantes diferentes ).
Esta operación se repite constantemente en el programa a raíz de la instrucción de salto.
La operación intermitente es interrumpida por el flanco negativo de la señal de entrada.

1
I 7.0
0

1
O 7.5
0
t on

t on
t off

STEP 40
IF
THEN

LOAD
TO
WHIT
SET
SET

STEP 41
IF
THEN

Impulso de paso
Al accionar entrada 7.0
Cargar valor fijo
0,01 seg.
Activar temporizador
Activar salida 7.5

OR
RESET
LOAD
TO
WHIT
SET

N T0
N I 7.0
O 7.5
V 10
TP 0
HSC
T0

¿ Tiempo transcurrido ?
o entrada no activa
desactivar salida
Cargar valor fijo

AND
JMP TO

N T0
I 7.0
40

¿ Tiempo transcurrido ?
y entrada activa
ir al paso 40

STEP 42
IF
THEN

I 7.0
V 20
TP 0
HSC
T0
O 7.5

t off

0,01 seg.
Activar temporizador

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 60
Sistemas de control secuencial
____________________________________________________________________________________

5.4.6 Luz intermitente
Procedimiento
Tiempos de conexión y desconexión de la luz intermitente :
*
*

0, 5 seg. Tiempo de DESCONEXIÓN
0, 5 seg. Tiempo de CONEXIÓN

Esquema eléctrico

0V
+ 24 V

H1

+ 24 V

0V

O 1.0

Solamente deberá conectarse la lámpara. En este programa no se toma en cuenta la
activación y la desactivación del proceso intermitente con, por ejemplo, un pulsador. La
lámpara se enciende intermitentemente después de conectar el mando

Denominación
Lámpara
Temporizador

Listado de direcciones
Abreviatura
Dirección
Función
H1
O 1.0
Lámpara encendida con señal 1
T0

Programa
La lista de instrucciones está compuesta de 3 pasos :
Paso 1 :
Paso 2 :
Paso 3 :

Cargar temporizador
Consultar tiempo / iniciar tiempo y encender lámpara
Consultar tiempo / iniciar tiempo y apagar lámpara

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 61
Sistemas de control secuencial
____________________________________________________________________________________

STEP
THEN

CARGAR
LOAD
TO
WHIT

STEP
IF
THEN

Lampact

STEP
IF
THEN

Lampdesact

SET
SET

RESET
SET
JMP TO

V5
TP 0
TSC

Cargar Temporizador
5 x 0, 1 seg. , cargar
en preselección de temporizador 0

N T0
O 1.0
T0

Activar lámpara
tiempo transcurrido o no activado
Activar lámpara
Activar tiempo

N T0
O 1.0
T0
Lampact

Desactivar lámpara
Tiempo transcurrido
desactivar lámpara
activar tiempo
Salto de retorno

Dado que los tiempos para la CONEXIÓN y la DESCONEXIÓN son iguales, sólo es
necesario tener una constante y efectuar un proceso de carga para el temporizador.
En el paso 1 se efectúa la carga del temporizador, el cual entonces puede ser consultado
para encender y apagar la lámpara. El paso 1 no contiene una parte condicional IF
porque la lámpara siempre tiene luz intermitente ( si está activado el mando )
En los pasos 2 y 3 vuelve a activarse respectivamente el tiempo. La orden de salto
procura que el proceso de conexión y desconexión se repita constantemente, es decir,
que la lámpara tenga luz intermitente.
La lista de instrucciones también puede escribirse como programa de enlaces lógicos.
En ese caso deberán utilizarse los recordadores de flancos.

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 62
Sistemas de control secuencial
____________________________________________________________________________________

5.4.7 Eliminación de rearranques no deseados utilizando la estructura step de
awl
El siguiente ejemplo muestra una parte del programa en la que se desea poner en
marcha un motor durante 3 segundos cada vez que se accione un pulsador, si el motor
no está funcionando, y por lo menos después de transcurridos 9 segundos desde que el
motor estuvo funcionando por última vez. En este programa, la situación de que los
temporizadores sean continuamente rearrancados, es eliminada combinando la
instrucción STEP de AWL con la instrucción N Timer
STEP 1
IF
THEN

Inicializar al arranque
900 x 0,01 seg.
T0 es el tempor. de la segunda pausa
300 x 0,01 seg.
T2 es el tiempo motor
activar tiempo de pausa

N
N
N

T0
T2
O 1.0
I 1.2
T2
O 1.0

Tiempo 0 vencido
Tiempo 2 no corre
Motor parado
Pulsador accionado
Activar tiempo 2
Activar motor

N

T2
O 1.0
T0
10

Tiempo motor vencido
Parar el motor
Activar tiempo pausa
Volver a empezar

LOAD
TO
LOAD
TO
SET

STEP 10
IF
AND
AND
AND
SET
SET

THEN
STEP 20
IF
THEN

5.4.8

NOP
V 900
TP 0
V 300
TP 2
T0

RESET
SET
JMP TO

Eliminación de continuos rearranques de temporizadores en procesos
paralelos

Es importante que el programador de AWL comprenda que el bit de estado de un
temporizador ( p.ej. T2 ) puede interrogarse utilizando las instrucciones :
IF
IF

T2
N

T2

Esto es cierto si el timer 2 está activo y
temporizando
Esto es cierto si el timer 2 no está
actualmente activo

Es vital comprender que ninguna de estas instrucciones permite saber si el temporizador
2 ha sido activado y ha terminado. Por ello, cuando se escriben programas en AWL de
forma que puedan haber frases que procesen varios tiempos, deben tomarse
precauciones para evitar resultados inesperados.
____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 63
Sistemas de control secuencial
____________________________________________________________________________________

El siguiente ejemplo presenta una parte de un programa en la que se acciona un
pulsador para hacer avanzar un cilindro por un periodo de tiempo preseleccionado. La
lógica utilizada en el programa evitará que se produzcan los problemas que de lo
contrario sucederían :
*
Manteniendo el pulsador o pulsando y soltando varias veces, dentro del
tiempo definido, no se alterará el tiempo programado

STEP 1
THEN

LOAD
TO
RESET
LOAD
TO

STEP 2
IF
THEN

AND
AND
SET
SET
SET

IF
THEN
IF
THEN
IF
THEN

5.5

AND
RESET
AND
AND
RESET
JMP TO

V0
OW0
F 3.0
V 100
TP 0
I 1.0
N T0
N F 3.0
T0
O 1.0
F 3.0
N T0
O 1.0
O 1.0
N T0
F 3.0
N I 1.0
F 3.0
NOP
2

Primero sólo inicializamos
los temporizadores
Desconectar las salidas
Borrar Flag 3.0
Inicializar T0 a 1 segundo
Sección principal
Pulsador 1 accionado
y timer 0 parado
Flag auxiliar de detección de flanco
activar timer 0
avanzar cilindro
memorizar flanco ascendente
del pulsador
Timer 0 está inactivo
cilindro extendido
retroceder cilindro
Timer 0 inactivo
y ha habido antes un flanco ascendente
pulsador liberado.... flanco descendente
para mantener la exploración
del paso actual

Programas de enlaces lógicos para la ejecución de funciones de
temporizadores

Cuando se efectúa la programación de funciones de temporizadores, es necesario
distinguir entre la programación de la duración del tiempo y la programación de las
secuencias ( del programa ). Recurriendo a programas de paso a paso, es fácil
programar las secuencias: en el primer paso se carga el tiempo, en el segundo se efectúa
la consulta, etc.
Si por el contrario se programa un tiempo en un programa de enlaces lógicos, deberá
ponerse cuidado en que las operaciones de carga y consulta del tiempo estén ligadas a a
condiciones que no pueden cumplirse simultáneamente. ( En un programa de enlaces
lógicos, todas las condiciones del proceso son leídas prácticamente de modo simultáneo
). En consecuencia, se recurre a recordadores de flancos.

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 64
Sistemas de control secuencial
____________________________________________________________________________________

5.5.1 Ejemplo : retardo de conexión
En el cuadro se hace una comparación entre un programa de pasos y uno de enlaces. El
ejemplo se refiere a un retardo de conexión simple :
Activación de un pulsador. 2 segundos más tarde se enciende una lámpara.
En el programa de enlaces lógicos se incluye un recordador de flancos ( para flancos
positivos ). El recordador F 0.0 " bloquea " el pulsador de activación una vez que se
cargó el tiempo ( "Activa F 0.0 ")

STEP S1
IF
THEN

LOAD
TO
WHIT
SET

STEP S2
IF
THEN
IF
THEN

AND
SET
RESET
JMP TO

I 1.0
V2
TP 0
SEC
T0
N T0
I 1.0
O 1.0
N I 1.0
O 1.0
S1

Cargar Temporizador

Consultar temporizador

Programa secuencial : retardo de conexión
IF
THEN

AND
LOAD
TO
WHIT
SET
SET

IF
THEN
IF
THEN

AND
AND
SET

I 1.0
N F 0.0
V2
TP 0
SEC
T0
F 0.0
N T0
I 1.0
F 0.0
O 1.0
N I 1.0
O 1.0
F 0.0

RESET
RESET
PSE
OTHRW
PSE
Programa de enlaces lógicos : retardo de conexión

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 65
Sistemas de control secuencial
____________________________________________________________________________________

5.5.2 Ejemplo relacionado a la función de temporizador
Una lámpara deberá encenderse intermitentemente con :
*
0, 5 seg. de tiempo de DESACTIVACIÓN
*
0, 5 seg. de tiempo de ACTIVACIÓN
El programa secuencial consta de 3 pasos: cargar el temporizador, encender la
lámpara, apagar la lámpara. La intermitencia está a cargo de una instrucción de salto.
STEP
THEN
STEP
IF
THEN
STEP
IF
THEN

Start
LOAD
TO
WHIT
act.lamp

V5
TP 0
TSC
N

SET
SET
Desact.lamp

T0
O 1.0
T0

N T0
RESET
O 1.0
SET
T0
JMP TO
act.lamp
Programa secuencial : intermitente

Cargar Temporizador
5 x 0, 1 seg , cargar
en preselección de temporizador 0
Activar lámpara
tiempo transcurrido o no activado
Activar lámpara
Activar tiempo
Desactivar lámpara
Tiempo transcurrido
desactivar lámpara
activar tiempo
Salto de retorno

En el programa de enlaces lógicos se necesita el recordador F 0.0 para saber si ya se
cargó el tiempo o no. De esta manera queda excluida la posibilidad de que se encienda o
apague la lámpara mientras aún no se haya cargado el tiempo
IF
THEN

N
SET
LOAD
TO
WHIT

IF
THEN
IF

AND
AND
SET
SET

F 0.0
F 0.0
V5
TP 0
TSC
F 0.0
N O 1.0
N T0
O 1.0
T0
F 0.0
O 1.0
N T0
O 1.0
T0

AND
AND
THEN
RESET
SET
PSE
OTHRW
PSE
Programa de enlaces lógicos : intermitente

Recordador de flanco para " c.tiempo "
Activar recordador
5 x 0,1 seg., cargar en
preselección de temporizador 0
Tiempo está cargado
Salida desactivada
Tiempo transcurrido o no activado
Activar lámpara
Activar tiempo
Tiempo está cargado
Salida activada
Tiempo transcurrido o no activado
Desactivar lámpara
Activar tiempo

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 66
Sistemas de control secuencial
____________________________________________________________________________________

6

CONTADORES

6.1

Generalidades

Existen contadores de hardware y contadores de software. Los contadores de
software son parte integrante de la unidad central y tienen estados, valores nominales y
valores efectivos. Los contadores de software son cargados a través del programa.
6.1.1 Contadores de hardware
Son submódulos que son conectados al PLC ( al igual que los actuadores y sensores ).
Ejemplo : un contador electromagnético con preselección. El valor seleccionado es
introducido manualmente ( cargar el contador ). El número preseleccionado puede verse
en el visualizador. Asimismo, también se indica el valor efectivo en cada momento. Una
vez que el valor efectivo es igual al valor previamente seleccionado, se activa un
conjunto de contactos, los cuales se encargan de abrir o cerrar circuitos de corriente.
La reposición del contador puede efectuarse eléctrica o manualmente ( con un pulsador
respectivo ). Sin embargo se mantiene el valor que se haya seleccionado antes. No
obstante, incluso durante el funcionamiento del contador es factible corregir el número
preseleccionado.
6.1.2 Contadores rápidos
En muchas operaciones de control es necesario recurrir a contadores rápidos. " Rápido "
suele significar en este caso una frecuencia de conteo superior a 50 Hz, lo que equivale
al registro de más de 50 operaciones por segundo. Tal función por lo general no se
puede solucionar con contadores " normales " de un PLC.
La frecuencia de la operación de conteo está limitada por el retardo de las señales en las
entradas. Todas las señales de entrada ( incluyendo también la señal de conteo ) es
retardada durante un tiempo determinado ( de 1 hasta 20 ms. ) antes de que pueda ser
procesada por el PLC. De esta manera se evita que interfieran otras señales. Otra
limitación estriba en el tiempo de los ciclos de control ( es decir, el tiempo que necesita
el PLC para ejecutar el programa )
En el mercado suelen ofrecerse submódulos adicionales de contadores rápidos para los
PLC. Las entradas de estos submódulos no tienen retardo de señales o, en todo caso,
muy pequeño ( puesto que las interferencias se evitan mediante cables aislados ). Estos
submódulos de contadores tienen que incorporarse y programarse adicionalmente

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 67
Sistemas de control secuencial
____________________________________________________________________________________

El posicionamiento de piezas en una máquina es un ejemplo de un control con
contadores rápidos.

La medición de la operación de posicionamiento puede realizarse de modo directo o
indirecto. En el primer caso, la escala de medición se encuentra montada en una cinta
emisora de impulsos, mientras que en el segundo caso, la escala está en un disco de
pulsos. La posición de las marcas de la escala es registrada ópticamente y transmitida
mediante una señal eléctrica a la unidad de control. Para que el posicionamiento sea
extremadamente preciso y rápido, tendrá que recurrirse a contadores rápidos. En este
caso, el sistema de control cuenta la cantidad de marcas de la escala en cada
movimiento.
La programación de una función de interrupción es otra posibilidad que se tiene para
solucionar este tipo de aplicaciones con un PLC.

6.1.3 Indicación del estado efectivo del contador
Para representar un número de un dígito se necesitan 4 números binarios, es decir, 4
bits, puesto que debe ser posible indicar 10 cifras diferentes ( de 0 a 9 ). Con este fin se
recurre al código BCD
____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 68
Sistemas de control secuencial
____________________________________________________________________________________

Los 4 bits permiten la codificación de un total de 16 símbolos. En la codificación BCD
se utilizan los primeros 10 símbolos para las cifras 0 hasta 9; los siguientes 5 símbolos
ya no se necesitan entonces
Código BCD

0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111

-

0
1
2
3
4
5
6
7
8
9







Estos números binarios no se
necesitan

Para representar las cifras se suelen utilizar visualizadores de 7 segmentos. La
visualización del estado del contador se realiza mediante un programa adicional, ya que
es necesario ocupar las salidas del PLC. Desde dichas salidas se emiten las señales
correspondientes al visualizador
Visualización del estado del contador

0 1 1 0

0 0 1 0

Cifras duales

Cifras decimales
( visualizador de 7 segmentos )

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 69
Sistemas de control secuencial
____________________________________________________________________________________

Ejemplo :
La figura muestra un ejemplo, en el que la palabra del contador ( valor efectivo del
contador ) está compuesto de 2 bytes (1). En consecuencia, quedan 16 bits para la
representación de un número binario. Con 4 cifras del número binario puede
representarse una cifra del sistema decimal si se emplea la codificación BCD. Ello
significa que con 16 bits pueden representarse los números comprendidos entre 0000 y
9999. Si bien es posible crear números mayores binariamente, éstos no pueden ser
representados en el sistema decimal. ( El valor efectivo puede abarcar diferentes
cantidades de bit, dependiendo del PLC )
Primero, la palabra del contador es cargada en la memoria operativa de la unidad central
(2). Allí se procede a la conversión dual-decimal (3). Después de este proceso, los 16
bits están compuestos de 4 unidades de 4 bits cada una ( A cada unidad le corresponde
una cifra decimal ). Con las 8 últimas cifras de la palabra del contador es activada una
palabra de salidas ( 8 salidas ). Con esta palabra de salida AW1 se indican los dos
valores decimales más bajos (4).

Visualización del valor efectivo ( ejemplo

0 0 0 1 0 1 0 0 1 1 1 1 1 1

1 0

Valor efectivo
del contador

0 0 1 0 1 0 0 1 1 1 1 1 1

1 0

Memoria ( 2 )

(1)

Conversión dual decimal ( 4 cifras )
0 1 0 1 0

0 1 1 0 1 1 1 0 1 0 0

0 1 1 1 0 1 0 0

Memoria ( 3 )

AW 1

Visualizador ( 4 )

Memoria

0 1 0 1 0 0 1 1

0 1 0 1 0 0 1 1

AW 2

Visualizador ( 5 )

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 70
Sistemas de control secuencial
____________________________________________________________________________________

A continuación, las 8 cifras de la palabra del contador son desplazadas hacia la derecha
y transformadas en la palabra de salida AW2. Con esta palabra de salida se indican los
dos valores decimales más altos ( 5 ).

Palabra de salida / Visualización

0
1
2
3
4
5
6
7

0
1
2
3
4
5
6
7

6.1.4 Método multiplexor
Con el fin de " ahorrar " salidas al efectuar la indicación del estado del contador, puede
aplicarse otro método : se trata, concretamente, del método multiplexor. Ejemplo : para
visualizar un número de cuatro cifras se necesitan sólo 8 salidas ( es decir, solamente
una palabra de salida ). El método normal consumiría 16 salidas.
De las 8 salidas, 4 son utilizadas para la representación de las cifras y 4 para la
activación del dígito correspondiente.
Ello significa lo siguiente : con las 4 últimas salidas se forma primero la última cifra (
con el código BCD ). Con la cuarta salida se activa el último dígito donde se visualiza
dicha cifra. A continuación, nuevamente se recurre a las 4 últimas salidas para formar la
penúltima cifra. Con la tercera salida se activa el tercer dígito del visualizador; etc.

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 71
Sistemas de control secuencial
____________________________________________________________________________________
Método multiplexor ( ejemplo )
1º
dígito
2º
dígito
3º
dígito

Valor de cifras
con el código

dígito

1

0

0

0

0

0

1

Palabra de salida

1

Visualizador

De esta manera, el valor correspondiente a la última cifra ya está cancelado en la
palabra de salida cuando aparece la penúltima cifra. Este resultado se obtiene mediante
el efecto de iluminación retenida o con una conexión de sample-and-hold.
Aplicando este método, las cifras aparecen en el visualizador una después de la otra. Sin
embargo, ello sucede en fracciones de segundo. Para la vista humana, es como si las
cifras apareciesen simultáneamente.
Ello significa que la transmisión multiplex de datos es la transformación de una
transmisión paralela en una transmisión en serie. La ventaja del método multiplexor
consiste en que se necesitan menos salidas y líneas. Su desventaja es que se necesita una
conexión especial.

6.1.5 Programa para visualizar el estado del contador
En este ejemplo se muestra la palabra del contador cuando éste ha finalizado el conteo,
es decir, cuando el contador ha contado hasta llegar a un valor determinado.
El contenido de la palabra del contador igual a "0" es memorizado por la memoria
operativa del PLC. A continuación se produce la transformación de código decimal.
Acto seguido, el valor efectivo es transmitido como palabra de salida 5 ( hacia el
visualizador )

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 72
Sistemas de control secuencial
____________________________________________________________________________________

IF
THEN

SET
LOAD
BID
TO

N C0
O 1.3
CW 0
OW 5

Este programa permite la visualización de valores numéricos entre 00 y 99. ( Para 1
dígito se necesitan 4 salidas )
La programación de este tipo de visualización de números varía según el PLC. El
programa respectivo pude ser parte del programa secuencial

6.2

Funciones de los contadores

Los contadores son utilizados para contar unidades o procesos. En la práctica es
frecuente que los controles trabajen con contadores. si por ejemplo, se desea que un
equipo clasificador coloque siempre 10 piezas iguales sobre una cinta transportadora, se
necesita un contador
En la mayoría de los PLC, los contadores son unidades electrónicas contenidas en la
unidad central. Las tareas de conteo sencillo, así como también la programación de una
temporización, pueden solucionarse actualmente con cualquier PLC
Los contadores se rigen por las siguientes magnitudes :
*
*
*

Valor efectivo
Valor nominal
Estado

El valor efectivo indica el estado momentáneo del contador. El valor nominal
corresponde al número hasta el cual deberá contar el contador. El valor efectivo y el
valor nominal pueden ser cargados en la memoria y se puede recurrir a ellos
El estado del contador se constata sin importar si el contador ha alcanzado un número
previamente definido o no. Si el contador está en funcionamiento su estado es "1" ( lo
que significa que está puesta la señal 1 ). Si el contador ya no está activado, entonces
su estado es "0" ( es decir que está puesta la señal 0 ). No obstante, también puede
convenirse que el estado 0 y 1 estén invertidos. El estado también puede contener
informaciones adicionales; por ejemplo puede indicar si ha sido rebasado el valor
nominal o si se ha rebasado el valor máximo permisible.
El siguiente ejemplo contiene los siguientes parámetros :
Estado 1:
Contador en funcionamiento
Estado 0 :
Contador detenido

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 73
Sistemas de control secuencial
____________________________________________________________________________________

El valor inicial es un número entero y positivo. Este número equivale al valor efectivo
del contador. Dicho valor cambia en función de cada una de las operaciones que se
produzcan y que deberán ser contadas. Concretamente, se deducirá una unidad en cada
operación ( contador de cuenta atrás ). El contador se detiene cuando alcanza el valor
nominal 0. En este caso no es necesario definir un valor nominal.
Funcionamiento de un contador ( 1º ejemplo )

Contador
Cargar
impulso de
conteo

Valor efectivo

+1

Valor efectivo

-1

Arranque
Parada

Cargar constante 3
comando : DEC ( cuenta

Estado
0 si valor
nominal = 0

3

1ª Operación
Valor efectivo

del contador

2

Funcionamiento del
contador

2ª Operación
Valor efectivo

1

3ª Operación
Valor efectivo

0

Contador
detenido

Análogamente puede también obtenerse un contador incremental. En este caso el valor
inicial es un número entero y positivo. En cada operación se agrega una unidad al valor
efectivo. Si el valor nominal es n, entonces el contador cuenta desde el valor efectivo 0
hasta el valor nominal n. Ello significa que el contador se detiene cuando el valor
efectivo = valor nominal
Funcionamiento de un contador ( 2º ejemplo )

Contador
Cargar

Cargar constante
en valor nominal 3
comando : INC ( cuenta
hacia adelante )
Valor efectivo

impulso de
conteo

+1

Valor efectivo

-1

Arranque
Parada

Estado
0 si valor
efec = nom

0

1ª Operación
Valor efectivo

Activación
del contador

1

Funciona miento del
contador

2ª Operación
Valor efectivo

2

3ª Operación
Valor efectivo
efectivo = nominal

3

Contador
detenido

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 74
Sistemas de control secuencial
____________________________________________________________________________________

Después de cada operación de conteo ( es decir cada vez que el contador agrega una
unidad al valor efectivo ) se efectúa una comparación entre el valor nominal y el
efectivo. En la figura se muestra un ejemplo sencillo de este funcionamiento. También
en este caso se aplica lo siguiente :
Estado 1:
Estado 0 :

Contador en funcionamiento
Contador detenido

6.2.1 Aplicación
¿ Cómo se aplican las funciones del contador en un PLC ?. Veamos un ejemplo.
Para definir los elementos del contador se utilizan las siguientes instrucciones ( FPC
404 )
Estado
C0...C15
C = Counter ( Contador )
Valor efectivo CW0...CW15
CW = Counter Word ( Palabra del contador )
Valor nominal CP0..CP15
CP = Counter Preselect (Preselector del contador)
El contador, la palabra y el preselector del contador que van juntos tienen la misma
dirección. El contador 6, por ejemplo, tiene los elementos C6, CW6 y CP6
La palabra del contador es el número que corresponde al valor vigente en ese
momento ( valor efectivo ). En cada operación cambia el valor efectivo agregando o
restando una unidad, según si el conteo es hacia atrás o hacia adelante.
Con el preselector del contador se define un valor nominal para la palabra del
contador
De este modo se dispone básicamente de dos posibilidades para, por ejemplo, efectuar
el conteo de 24 operaciones
El contador cuenta de 24 hasta 0 :
Como constante se carga 24 en la palabra del contador. Con DEC ( "Decrement =
conteo hacia atrás " ) se activa la función. Cuando la palabra del contador llega a
0, se detiene el contador.
El contador cuenta de 0 hasta 24 :
Se tiene que cargar la constante 24 en el preselector del contador. La palabra del
contador está puesta en 0. Con INC ( " Increment = conteo hacia adelante " ) se
produce el conteo hasta 24. ( La constante deberá expresarse mediante un número
positivo del sistema decimal )

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 75
Sistemas de control secuencial
____________________________________________________________________________________

Programación en AWL

IF
THEN

I 1.2
LOAD
V7
TO
CW 1
Cargar constante en la palabra del contador 1
IF
THEN

LOAD
TO
Ajustar el preselector del contador 8

I 1.6
V 24
CP 8

IF
I 1.1
THEN
INC
CW 0
Contar hacia adelante en la palabra del contador 0
IF
I 1.1
THEN
DEC
CW 5
Contar hacia atrás en la palabra del contador 5
IF
THEN
SET
IF
THEN
RESET
Consultar contador 0 ( estado )

N

IF
THEN
SET
Consultar contador 4 ( comparación )
IF
THEN
SET
Consultar contador 1 ( comparación )

C0
O 1.2
C0
O 1.2

Contador en función
Contador detenido

( CW 4
> V 150 )
O 1.0

( CW 1
> CP 1 )
O 1.1

Mediante la consulta del contador ( estado ) es posible comprobar en el programa si el
contador aún está activado ( señal 1 ) o si se ha detenido o si aún no se ha puesto en
funcionamiento ( señal 0 ). La consulta del contador también puede efectuarse
comparando la palabra del contador con una constante.
La palabra y el preselector del contador son unidades que ocupan 16 bits
respectivamente. El contador ( estado ) es una unidad que ocupa un bit.

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 76
Sistemas de control secuencial
____________________________________________________________________________________

6.2.2 Programación de una función de contador
En el ejemplo se muestra el programa de una función de contador simple : la salida O
1.0 es activada 5 veces.
Cargar el contador :
El contador es cargado mediante la señal de entrada proveniente de I 1.3. La palabra del
contador CW1 es puesta en el valor efectivo 5. Si se trata de un contador de cuenta
atrás, el valor nominal es puesto automaticamente en 1 ( por lo que no es necesario
activar el preselector del contador CP ).
Contar :
Las " operaciones " que son contadas equivalen a las señales "1" de la entrada I 1.2. Del
valor efectivo de la palabra del contador se resta 1 ( DEC : cuenta hacia atrás ). Al
mismo tiempo se activa la salida O 1.0
Consulta :
A continuación se procede a la consulta del contador. Si el contador aún está activado,
se repite la operación. En total, la salida es activada y desactivada cinco veces : salto
hacia paso CONTAR. Si el contador se para, se produce un salto hacia el paso
CARGAR. Cuando se efectúa la programación de las funciones de un contador, siempre
deberán acatarse los siguientes tres pasos : Cargar el contador - Contar - Consultar
STEP
IF
THEN
STEP
IF
THEN
STEP CON
IF
THEN

CARGAR
LOAD
TO
CONTAR
SET
DEC
SULTAR
AND
RESET
JMP TO

IF
THEN

AND
RESET
JMP TO

I 1.3
V5
CW 1
I 1.2
O 1.0
CW 1
C1
N I 1.2
O 1.0
CONTAR
N C1
N I 1.2
O 1.0
CARGAR

Se sobreentiende que entre estos pasos es posible activar otras salidas adicionales en
otros pasos del programa. Las operaciones de conteo y consulta son repetidas hasta que
el contador se para.

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 77
Sistemas de control secuencial
____________________________________________________________________________________

6.3

Utilización de contadores

6.3.1 Contadores estándar
Cada contador tal y como ha sido implementado en el lenguaje AWL, puede
programarse de dos formas diferentes. Primero se describirá el método estándar (
generalmente citado como contador INCremental )

Elemento / Operando

Ref.

Counter
Bit de estado

Cn

Counter Preselect

CPn

Counter Word

CWn

Función
Permite a un programa interrogar si un Contador está
activo ( no ha alcanzado aún su valor ). Este bit es
cambiado a activo cuando se activa el contador ( SET ).
Cuando se ha alcanzado el número de eventos
preseleccionados o si el Contador se ha detenido (
RESET ) el bit de estado pasa a inactivo
Preselector del Contador. Un operando de 16 bits que
contiene el valor a contar
Palabra del Contador. Un operando de 16 bits que
contiene el valor actual de conteo modificado por las
instrucciones INCrementar o DECrementar. Si se
ejecuta la instrucción SET Cn la Counter Word es
automáticamente puesta a 0 ( cero )

Nota : Todos los modelos de FPC incorporan baterías que mantienen el contenido de
los Preselectores de Contador, Palabras ( Words ) y bit de estado, durante los
periodos de desconexión

6.3.2 Utilización de Contadores estándar
Un Contador ( Counter ) estándar es adecuado para contar eventos definidos y realizar
una determinada acción cuando se ha alcanzado una cantidad preseleccionada. Los
contadores estándar funcionan de la siguiente forma :
El valor a contar es almacenado en el Preselector del Contador ( CPn )
El contador es activado ( SET Cn ), lo que produce :
Poner un valor "0" en la Palabra de Contador ( CWn = 0 )
Cambiar el bit de estado del Contador a activo ( Cn = 1 )
El valor actual de conteo puede ser INCrementado o DECrementado
Cuando el valor actual ( CWn ) = valor preseleccionado ( CPn ), el bit de
estado del contador ( Cn ) cambia a inactivo ( Cn = 0 )

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 78
Sistemas de control secuencial
____________________________________________________________________________________

6.3.3 Inicialización de un Preselector de Contador
Antes de utilizar un contador estándar, el correspondiente Preselector de Contador debe
ser inicializado con un valor correspondiente al número de eventos a contar
Esta inicialización sólo es preciso hacerla de nuevo si el valor de conteo para otras
actividades debe cambiarse. No es necesario recargar el Preselector del Contador cada
vez que se active el Contador. Los Preselectores de Contador pueden cargarse con
valores absolutos, o con el contenido de cualquier MBO ( p.ej. Registros, Input Word,
Flag Word, etc. )
Ejemplo: Inicialización de un Preselector de Contador con un valor absoluto
IF
THEN

LOAD

I 1.0
V 100

TO

CP 4

En las condiciones deseadas de carga
cargamos el valor absoluto 100 como
número de eventos a contar
al preselector del contador CP 4

Ejemplo : Inicialización de un Preselector de Contador con un MBO
IF
THEN

LOAD

I 1.0
IW 1

TO

CP 5

En las condiciones deseadas de carga
cargamos el valor de la Palabra de
Entradas 1
en el Preselector de Contador 5

Por medio de la instrucción DEB podemos utilizar conmutadores rotativos externos
BCD para fijar el valor de conteo
6.3.4 Activación de un Contador
La activación de un contador solamente requiere la ejecución de la instrucción SET,
especificando qué contador debe arrancarse
IF
THEN

SET

I 1.2
C2

Condiciones deseadas
activar Contador 2

Siempre que se ejecute la orden SET Cn, sucede lo siguiente :
1.2.-

La correspondiente Palabra de Contador ( CWn ) es cargada con el valor "0"
Cn ( El estado del Contador n ) se pone en "1" ( activo )

Nota : Si se ejecuta una instrucción SET Cn, y el Contador indicado YA está activo, el
Contador será REARRANCADO y el valor actual de conteo ( en CWn ) será puesto de
nuevo a "0"

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 79
Sistemas de control secuencial
____________________________________________________________________________________

6.3.5 Interrogación del estado de un Contador
Para poder utilizar los contadores de forma comprensible es necesario determinar
cuándo se ha alcanzado el valor de preselección

6.3.6 Conteo de eventos
Una vez que se ha activado el contador ( SET ), el valor actual es mantenido en la
respectiva Palabra de Contador ( Counter Word ), que es actualizada utilizando las
instrucciones INC CWn o DEC CWn

6.3.7 Parada de un Contador
Un contador puede ser detenido ( desactivado ) en cualquier momento ejecutando la
instrucción RESET Cn. Cuando esto sucede, el bit de estado del Contador ( Cn ) se
pone a "0". El contenido de la Palabra de Contador ( CWn ) permanece inalterable

Atención : Cuando se desarrollan programas o pasos que contengan varias frases
que serán procesadas de forma paralela ( exploración / scanning continua ), es
importante comprender que cada vez que la parte condicional de una frase es
evaluada como cierta, las instrucciones programadas en la parte ejecutiva se
realizarán. Esto debe ser considerado para evitar las múltiples ejecuciones de muchas
instrucciones como SET TIMER o INC / DEC CW, SHL, etc.
El lenguaje AWL no utiliza el " accionamiento por flancos "...Las condiciones son
evaluadas cada vez que se procesan, sin tener en cuenta su estado anterior.

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 80
Sistemas de control secuencial
____________________________________________________________________________________

6.4

Ejemplos

6.4.1 Contadores estándar
El primer ejemplo presentado utiliza un contador estándar junto con la instrucción
STEP del lenguaje AWL para evitar los incontrolados INCrementos múltiples que se
realizarían en los pasos 10 y 15
Se utiliza un pulsador para iniciar el ciclo de una máquina. El ciclo activará un
transportador y contará las botellas que pasan frente a un sensor. Una vez que hayan
pasado 25 botellas por delante del sensor, el transportador se detiene y un dispositivo
posiciona corchos de cierre en cada botella. Finalmente, todos los corchos son
presionados dos veces en las botellas por un tiempo de 1 segundo cada vez.

STEP 1
THEN

STEP 5
IF
THEN
STEP 10
IF
THEN
STEP 15
IF
THEN
OTHRW

RESET
RESET
RESET
RESET
LOAD
TO
LOAD
TO
LOAD
TO

ESPERA PULSADOR MARCHA
Pulsador de marcha
Activar contador
Arranca transporte

I 1.1
CW 0

INC

CONTEO DE BOTELLAS
Sensor de botella activo
incrementa contador

N

C0
O 1.0
C2
50

N

I 1.1

RESET
SET
JMP TO
NOP

JMP TO

ARRANQUE
Contador de botellas
Contador de prensados
Desactivar transporte
Desactivar prensa corchos
Conteos que debe hacer
el contador 0
Número de prensadas que debe hacer
el contador 2
Temporizador 0
al valor de 100 x 0,1 seg.

I 1.0
C0
O 1.0

SET
SET

STEP 20
IF
THEN

C0
C1
O 1.0
O 1.1
V 25
CP 0
V2
CP 2
V 100
TP 0

10

¿ HAY 25 BOTELLAS ?
Hemos terminado, luego...
para transporte
activa contador de prensa
salir del bucle de conteo
sino seguir en paso 20
Esperar que la última botella salga del
sensor
y seguir contando

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 81
Sistemas de control secuencial
____________________________________________________________________________________

STEP 50
THEN

STEP 60
IF
THEN
STEP 70
IF
THEN
OTHRW

SET
SET
INC

O 1.0
T2
CW 2

CONTADOR 25 BOTELLAS
Prensar tapones
Tiempo de prensado
contar este prensado

N

T2
O 1.1

ESPERAR 1 SEGUNDO
Tiempo vencido
desactivar prensado

N

C2
5
50

¿ TERMINADO ?
2 veces prensado
volver al paso 5
sino, prensar de nuevo

RESET

JMP TO
JMP TO

El siguiente ejemplo detalla la utilización de un contador estándar en una sección de
programa de exploración / scanning, en la que no se ha utilizado la estructura de STEPs
para eludir los incontrolados INCrementos del contador. Como solución alternativa se
ha utilizado un Flag auxiliar
El programa espera la acción sobre un pulsador y entonces mueve 100 veces un cilindro
desde completamente atrás hasta completamente delante. Sin la utilización del Flag, un
programa de exploración ( scanning ) INCrementaría el contador a cada ciclo de scan
del programa, en lugar de hacerlo cada vez que el cilindro avanzara nuevamente.
STEP 1
IF
THEN

LOAD
TO
RESET
LOAD
TO
SET

STEP 2
IF

THEN

AND
AND
AND
SET
SET

IF
THEN
IF
THEN

AND
INC
RESET
RESET
JMP TO

I 1.0
V0
OW 1
F 3.0
V 100
CP 0
C0
I 1.1
C0
N F 3.0
N O 1.0
O 1.0
F 3.0
I 1.2
F 3.0
CW 0
F 3.0
O 1.0
N C0
1

Inicializar solo la 1ª vez
Pulsador accionado
Desactivar todas
las salidas
Desactivar Flag auxiliar
Inicializar contador 0
Activar contador 0
Sección principal de exploración
Cilindro detrás
Contador activo
Detección del flanco
válvula cilindro inactiva
Avanzar cilindro
listo para otro avance
Cilindro delante
nuevo flanco
contar el ciclo
actualizar control flanco
retroceder cilindro
realizados 100 ciclos
empezar todo de nuevo

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 82
Sistemas de control secuencial
____________________________________________________________________________________

6.4.2 Contadores ASCENDENTES / DESCENDENTES
Además de la utilización de los contadores descritos anteriormente ( Estándar ), el
lenguaje AWL también permite al usuario la libre creación de contadores a través de los
operandos multibit
Los llamados contadores Ascendentes / Descendentes pueden realizarse utilizando
cualquier Operando Multibit ( Flag Words, Registros, etc. ). A diferencia de los
contadores estándar no es necesario inicializar el preselector, ni existe un determinado
bit de estado. Naturalmente, las instrucciones SET / RESET no son aplicables en este
contexto. Se requieren los siguientes pasos para utilizar este tipo de conteo :
*
*
*

Inicializar el correspondiente MBO a un valor
El MBO puede ser INCrementado o DECrementado
El MBO puede ser comparado con un valor o con otro MBO

Ejemplo : Utilización de un Registro como contador
En el siguiente ejemplo se inicia un proceso y funciona hasta que se han producido 100
piezas buenas
STEP 10
IF
THEN

I 1.0
V 100
R 50
O 1.0

LOAD
TO
SET

STEP 20
IF
THEN
IF
THEN

( I 1.1
I 2.3 )
R 50
30

AND
DEC
JMP TO
AND
NOP

( I 1.1
N I 2.3 )

STEP 30
IF
THEN
OTHRW

CONTROL DE CALIDAD
Listo para comprobar
calidad correcta
1 pieza buena de menos
seguir en el paso 30
Listo para comprobar
Calidad NO correcta ( sensor inactivo )
no contar piezas malas
VER SI YA TENEMOS 100 PIEZAS

( R 50
=V0)
O 1.1
10

RESET
JMP TO
NOP

STEP 40
IF
THEN

ESPERAR ARRANQUE
Pulsador de marcha
Piezas buenas a producir
El R50 hace las funciones de contador
Arranca la máquina

N
JMP TO

I 1.1
20

Todas las piezas hechas
Parar la máquina
regresar al principio
o si no ha terminado seguir
ESPERAR SALIDA ULTIMA PIEZA
Sensor de zona de control de calidad
liberado
seguir funcionando y verificando

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 83
Sistemas de control secuencial
____________________________________________________________________________________

6.5
Programas de enlaces lógicos para la ejecución de funciones de contadores
y temporizadores
Cuando se efectúa la programación de funciones de temporizadores o de contadores, es
necesario distinguir entre la programación de la duración del tiempo y la programación
de las secuencias ( del programa ). Recurriendo a programas de paso a paso, es fácil
programar las secuencias: en el primer paso se carga el tiempo, en el segundo se efectúa
la consulta, etc.
Si por el contrario se programa un tiempo en un programa de enlaces lógicos, deberá
ponerse cuidado en que las operaciones de carga y consulta del tiempo estén ligadas a
condiciones que no pueden cumplirse simultáneamente. ( En un programa de enlaces
lógicos, todas las condiciones del proceso son leídas prácticamente de modo simultáneo
). En consecuencia, se recurre a recordadores de flancos.
6.5.1 Ejemplo relacionado a la función de contador
Un cilindro es desplazado por acción de una electroválvula Y1 de reposición por
muelle. La posición del cilindro es consultada por los interruptores de final de carrera
S1 ( posición normal ) y S2 ( posición de avance ). S3 es el pulsador de activación. Al
pulsar S3, el cilindro deberá avanzar 10 veces hasta el final de carrera. Una vez
concluidos estos movimientos, deberá activarse nuevamente con S3.
El programa secuencial consta de 4 pasos. de esta manera se obtiene un desglose claro
de la ejecución del programa. El último paso es una instrucción de salto, ya sea al paso
1 o al paso 2
STEP
IF
THEN
STEP
IF
THEN
STEP
IF
THEN

Start
LOAD
TO

I 1.2
V 10
CW 0

Cargar contador
S3 : Pulsador Start
Cargar valor efectivo del
contador con 10

I 1.0
O 1.0
CW 0

Avanzar cilindro / reducir C0 en 1
S1 : F.d.c. atrás
Y1 : avanzar cilindro
Contador -1

I 1.1
O 1.0

Retroceder cilindro
S2 : F.d.c. avanzado
Y1 : retroceder cilindro

cil.desact.
SET
DEC
cil.act.
RESET

STEP
salto
IF
C0
THEN
JMP TO
cil.desact.
IF
N C0
THEN
JMP TO
Start
Programa secuencial : contador

Interrogación posición del contador
Valor efectivo mayor que 0
continuar con cadencia siguiente
Valor efectivo es 0
continuar con Start

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 84
Sistemas de control secuencial
____________________________________________________________________________________

El programa de enlaces lógicos necesario para solucionar este problema de control es
más complicado. Se necesitan dos recordadores de flancos :
F 0.0 Recordador " activar contador "
F 0.1 Recordador " impulso de conteo
Cada uno de los recordadores tiene que ser consultado, activado y cancelado
IF
THEN

AND
SET
LOAD
TO

I 1.2
N F 0.0
F 0.0
V 10
CW 0

IF
THEN

AND
AND
SET
SET
DEC

IF
THEN
OTHRW

AND
RESET
RESET
N
RESET
PSE
PSE

I 1.0
F 0.0
F 0.1
F 0.1
O 1.0
CW 0

S1 : cilindro retrocedido
Recordador activado
Recordador " impulso de conteo "
Activar recordador
Y1 : avanzar cilindro
Contador -1

I 1.1
F 0.0
O 1.0
F 0.1

N

IF
THEN

S3 : Pulsador Start
Recordador "activar contador"
Activar recordador
cargar valor nominal con 10

S2 : cilindro avanzado
Contador activado
Y1 : retroceder cilindro
Desactivar recordador

C0
F 0.0

Valor efectivo es igual a "0"
Desactivar recordador

Programa de enlaces lógicos : Contador
F 0.0 tiene la finalidad de que el control sepa en todo momento si ha sido activada la
operación de conteo o no. Este recordador es activado al cargar el contador. En este
estado, si se pulsa nuevamente S3 durante la operación de conteo, no sucede nada,
puesto que el contador sólo puede ser activado al principio del programa mediante
consulta del recordador si dicho recordador aún no ha sido activado. F 0.0 es cancelado
solamente al final de programa ( cuando ha terminado de contar el contador ).
La salida es activada mediante una señal positiva emitida por el interruptor de final de
carrera I 1.0, con lo que del valor efectivo de contador se resta 1. Si la señal proveniente
de la entrada dura más que la duración del ciclo de programa, es posible que se cuente
dos veces.
El segundo recordador de flancos F 0.1 tiene la finalidad de evitar esta situación. Dicho
segundo recordador es activado cuando la operación de conteo se produce una vez.
Cuando el cilindro avanza y llega al final de carrera ( señal 1 en I 1.1 ), se cancela la
salida y el cilindro retrocede. Simultáneamente se cancela el recordador de flancos F 0.1

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 85
Sistemas de control secuencial
____________________________________________________________________________________

7

UTILIZACIÓN DE REGISTROS

Los controles programables FESTO que pueden programarse utilizando el lenguaje
AWL, poseen un número de registros de 16 bits. La cantidad exacta de estos registros
varia según el modelo de FPC.
Estos registros son operandos multibit que pueden utilizarse para almacenar números en
la gama de :
*

0 - 65535 Enteros sin signo

*

+/- 32767 Enteros con signo

Si el modelo de FPC utilizado lleva una batería, el contenido de los registros será
mantenido durante los periodos de desconexión. Los registros que no han sido nunca
inicializados contendrán un valor aleatorio.
Los Registros ( Registers ) son generalmente utilizados con la instrucción LOAD TO y
en operaciones lógicas multibit. Los Registros no pueden direccionarse directamente bit
a bit. Si se requiere acceder a un determinado bit, será más adecuado utilizar Flag
Words.
Los registros también pueden utilizarse para simplificar procesos secuenciales dentro de
una sección de programa de exploración simple, como alternativa a la instrucción STEP
7.1

Ejemplos

Utilización de Registros en la parte condicional de una frase
IF
AND
AND

( R 51
= V 111 )
T7
(R3
<R8)

THEN ....

Si el contenido del Registro 51
es igual a 111
y el timer 7 funciona
y el Registro 3
es inferior al Registro 8
Haz lo programado aquí

Utilización de Registros en la parte ejecutiva de una frase
IF...
THEN

LOAD
TO

R 12
+ R50
R 45

Condiciones programadas
Carga el contenido del R12 en el MBA
suma el contenido del Registro 50
y guarda el resultado en el Registro 45

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 86
Sistemas de control secuencial
____________________________________________________________________________________

8

FLAGs Y FLAG WORD

8.1

Similitudes con otros operandos multibit

Los Flag Words ( o Palabras de Marcas ) son, en muchas cosas, idénticos a los
Registros. Cada Flag Word contiene 16 bits de información. Cuando son referenciados
como unidades de 16 bits ( MBO / Multibit Operands ), se utiliza el término Flag Word.
Los Flag Word son capaces de almacenar datos numéricos en la gama :
*

0 - 65535 Enteros sin signo

*

+/- 32767 Enteros con signo

Si el modelo de FPC utilizado lleva una batería, el contenido de los registros será
mantenido durante los periodos de desconexión. Los Flag Word que no han sido nunca
inicializados contendrán un valor aleatorio.
Los Flag Word difieren de otros operandos multibit en varios puntos importantes

8.2
1.-

Diferencias otros operandos multibit
La mayor diferencia entre los Flags Words y los demás operandos multibit tales
como Registros, Palabras de Contador, etc. es que cada uno de los 16 bits de que
consta un Flag Word puede direccionarse como bit independiente. Por ejemplo el
FPC 202 C contiene 16 Flag Words, direccionados desde FW0 hasta FW15
También es posible direccionar bits ( Flags o Marcas ) individuales para cada Flag
Word, utilizando la sintaxis :
F ( número de Flag Word ). número del bit
donde el número de bit está entre 0 y 15
Por ejemplo, F 7.14 se refiere al bit 14 del FW7. Este sistema de direccionamiento
es similar al utilizado con las E / S digitales.
Mientras que los Flag Words pueden utilizarse con cualquier instrucción AWL
adecuada para operandos multibit, los Flags individuales sólo son accesibles
utilizando instrucciones adecuadas para los operandos monobit
Los Flags o Marcas, como elementos monobit, son frecuentemente utilizados para
memorizar eventos. En este aspecto, son similares a los "relés internos"
frecuentemente citados en el lenguaje de Diagrama de Contactos

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 87
Sistemas de control secuencial
____________________________________________________________________________________

2.-

Los modelos de FPC que permiten varios módulos de CPU ( Multiproceso ),
permiten que cualquier programa en cualquier CPU pueda acceder a los Flags de
cualquier otra CPU. Esto es, cada CPU es capaz de leer desde o escribir hacia
los Flags de otra CPU
Por esta razón, los Flags proporcionan el medio adecuado para intercomunicar
datos entre CPUs. En tales sistemas de múltiples CPUs, cada Flag es referenciado
como :
FW. número de la CPU. número de Flag Word
Por ejemplo, FW 2.14 se refiere a la Flag Word 14 en la CPU 2
De la misma forma también es posible direccionar Flags en forma monobit en
otras CPUs, extendiendo la sintaxis de direccionamiento :
F. núm. de CPU. núm.de Flag Word. núm. del bit
Por ejemplo, F0,11,9 se refiere al Flag ( o bit, o marca ) 9 en el Flag Word 11, de
la CPU 0

8.3

Ejemplos

Los Flags individuales ( así como los Flag Words ) pueden programarse indistintamente
en la parte condicional o en la ejecutiva de una frase. En la parte condicional pueden ser
interrogados por su estado ( 0 = inactivo, 1 = activo ); mientras que los Flag Words
pueden compararse con valores u otros MBOs
8.3.1 Ejemplos en la parte Condicional

IF
IF
AND

F 1.1
F 2.1
N F 4.0

Si el bit 1 de Flag Word 1 está activo
Si el bit 1 de Flag Word 2 está activo
y el bit o de Flag Word 4 no está activo

Al igual que con los otros operandos monobit o multibit, los Flags pueden combinarse
con otros operandos
IF
AND
OR
AND

( I 3.0
F 0.0 )
( FW 3
= V 500 )
N T7

Si la entrada 3.0 es válida
y el Flag 0.0 está activo
o el valor de los 16 bits de Flag Word 3
equivalen a 500
y el timer 6 no está activo

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 88
Sistemas de control secuencial
____________________________________________________________________________________

8.3.2 Ejemplos en la parte Ejecutiva

IF
THEN
IF
THEN

SET

I 1.1
F 2.2
T6
F 3.3

OTHRW

RESET

F 3.3

SET

Si hay la entrada 1.1
Entonces activa el bit 2 de la Flag Word 2
Si T6 en la CPU local funciona
Activa Flag 3.3 para que otra CPU pueda
verificar el estado del T6
sino desactivarlo

En la parte ejecutiva de una frase, los Flag Words pueden utilizarse como fuente o
destino de cualquier instrucción multibit

8.3.3 Registros de desplazamiento
El hecho que los Flag Words sean direccionables en base a palabra o en base a bit,
proporciona un método muy adecuado para construir registros de desplazamiento.
Como ejemplo, podríamos necesitar programar una línea de mecanizado en las que las
piezas fundidas en bruto se cargan en la estación 0 y se realizan varias operaciones en
las siguientes 15 estaciones. La máquina completa transfiere o indexa cada 2 segundos y
durante este tiempo una nueva pieza puede o no estar presente en la estación 0...lo cual
es detectado por medio de un sensor.
Las estaciones 1-15 no incluyen sensor de pieza, pero deseamos realizar la operación
solamente si existe pieza en el útil.
Esto representa una situación ideal en la que es ventajoso utilizar un registro de
desplazamiento.
Utilizaremos el Flag Word 6 para guardar información de qué estaciones contienen
pieza a mecanizar.
La instrucción Shift Left ( SHL ) la utilizaremos para desplazar los bits en el Flag Word
6. También se utilizan las siguientes I / O
Input 1.0
Input 1.1
Input 2.2
Output 2.0
Outputs 1.0..1.15

Pulsador de marcha
Sensor de pieza en estación 0
Transferencia realizada
Activa línea de mecanizado
Controla las operaciones de mecanizado de las estaciones 0...15
respectivamente

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 89
Sistemas de control secuencial
____________________________________________________________________________________

STEP 10
IF
THEN

I 1.0
I 2.2
V 200
TP 0
V0
FW 6

I 1.1
F 6.0

ESPERAR
HASTA
QUE
ALGUNA PIEZA DISPUESTA
Pieza encontrada en estación 1
memorizarlo

( FW 6
>V0)
FW 6
OW 1
T0

AND
LOAD
TO
LOAD
TO

ARRANQUE
Pulsador de marcha
Línea transferida
2 segundos el preselector
del timer 0
asumimos nueva producción, ninguna
pieza en las estaciones

Hay alguna pieza
a procesar
activar motores de mecanizado
en las estaciones con pieza
iniciar proceso de temporización

STEP 15
IF
THEN

SET

IF
THEN

LOAD
TO
SET

STEP 20
IF
THEN

N
LOAD
SET

T0
V0
O 2.0

STEP 25
IF
THEN

N
LOAD
SHL
TO

RESET
JMP TO

¿
TIEMPO
DE
MECANIZADO
TERMINADO ?
Tiempo vencido
desconectar todos los motores
e iniciar la transferencia de la línea

FW 6

ESPERAR A QUE EMPIECE LA
TRANSFERENCIA
Ya ha empezado a transferir
cargar los estados de las estaciones
desplazar los bits que coinciden con las
piezas
y guardarlos de nuevo

I 2.2
O 2.0
15

¿
HA
TERMINADO
TRANSFERENCIA ?
Nuevo punto de indexación
Parar el motor de indexación
regresar al paso 15 para seguir

I 2.2
FW 6

STEP 30
IF
THEN

HAYA

LA

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 90
Sistemas de control secuencial
____________________________________________________________________________________

9

ACCESO A LAS ENTRADAS Y SALIDAS

9.1

Organización de las E/S ( I/O )

Los controles programables Festo organizan las Entradas y Salidas en grupos
denominados Word ( palabras ). Dependiendo del modelo de FPC ( o del grupo de I/O
para los sistemas modulares ) cada grupo de I/O consiste en 8 o 16 entradas o salidas
discretas
9.2

Palabras de E/S ( I/O WORDS )

Estos grupos completos de palabras son referenciados por su tipo ( Input o bien Output
y la dirección de la Word n ). Esta dirección es un número generalmente asignado en los
controles pequeños y configurable ( por conmutadores ) en los sistemas modulares.
Las Input Words se referencian con IWn, mientras que las Output Words se nombran
como OWn. Ejemplos

IW 1
IW 7

Input Word 1
Input Word 7

Palabra de Entradas 1
Palabra de Entradas 7

OW 0
OW 2

Output Word 0
Output Word 2

Palabra de Salidas 0
Palabra de Salidas 2

Debe observarse que cada Input o Output dentro de un sistema debe tener un único
número de dirección. O lo que es lo mismo : no se permiten direcciones duplicadas en
un mismo sistema
Sin embargo, es generalmente aceptable para un sistema, incluir una Input Word con la
misma dirección que una Output Word ( p.ej. IW1 y OW1 ).

9.3

Entradas discretas de I/O

Las entradas y salidas contenidas en cada grupo de I/O se referencian especificando :
El tipo de I/O ( I ó O ) +
El número de dirección de la Word ( n ) +
" . " seguido por el número particular de la etapa I/O ( Sn )
Los números de etapa son 0 - 7 ó 0 - 15 dependiendo del grupo de I/O. Por ejemplo

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 91
Sistemas de control secuencial
____________________________________________________________________________________

I 3.2
I 0.15

Etapa 2 de la palabra de entradas 3
Etapa 15 de la palabra de entradas 0

O 2.7
O 0.0

Etapa 7 de la palabra de salidas 2
Etapa 0 de la palabra de salidas 0

9.4

Uso de entradas en programas

Las Inputs ( o Entradas ) son elementos del sistema de control que están diseñados
solamente para ser leídas o interrogadas. Es decir, están conectadas a dispositivos
externos, tales como sensores, interruptores, etc. que pueden o no emitir señal a una
determinada entrada
9.4.1 Entradas discretas
Ejecutando las instrucciones adecuadas en AWL, dentro de la parte Condicional de una
frase, el control puede determinar el estado actual de una entrada discreta

IF

I 1.1

IF

N 13.3

Comprueba si hay señal válida en la entrada I 1.1
Comprueba si hay señal falsa en la entrada I 3.3

Pueden enlazarse en diversas combinaciones lógicas entradas múltiples, así como otras
condiciones
9.4.2 Palabras de entrada ( Input Words )
A veces es necesario o deseable comprobar el estado de palabras completas de entrada.
Para determinar el estado de una palabra de entrada completa, es necesario leer el valor
de la palabra entera y determinar si se ajusta al criterio deseado.
Por ejemplo, para determinar si todas las 8 entradas de la Input Word 2 están recibiendo
señales válidas, podríamos enlazar en AND cada una de las entradas :
IF
AND
AND
AND
AND
AND
AND
AND

I 2.0
I 2.1
I 2.2
I 2.3
I 2.4
I 2.5
I 2.6
I 2.7

Aquí verificamos si las 8
entradas de una palabra
de entradas de 8 bits,
se hallan en estado lógico 1

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 92
Sistemas de control secuencial
____________________________________________________________________________________

o utilizando la capacidad del lenguaje AWL, evaluar por palabras enteras utilizando el
programa :

IF

( IW2
= V 255 )

Comprobar si las 8 entradas
son = 255 ( 11111111 binario )

Verificaciones más complejas, que normalmente requerirían largas frases si se
programaran bit a bit, se realizan fácilmente utilizando las Input Words combinadas con
otras instrucciones lógicas.
Para verificar si una o más de las entradas I 1.5, I 1.6, I 1.7 están activas, puede
realizarse con :

IF

( IW1
V 224 )
>V 31

AND

Primero obtener la palabra
= ( 11100000 en binario )
si el resultado es mayor de 31, por lo
menos hay una entrada activa

Lo cual es equivalente a :

IF
OR
OR

9.5

I 1.5
I 1.6
I 1.7

Uso de salidas en programas

Las Outputs ( o Salidas ) de un control programable pueden utilizarse para controlar
varios tipos de dispositivos eléctricos por medio de instrucciones de programa que
pueden activar ( SET ) o desactivar ( RESET ) las pertinentes salidas
Nota : Mientras que las entradas sólo pueden ser leídas ( interrogadas ), las salidas
pueden ser "escritas" ( SET o RESET ) y pueden también ser interrogadas igual que
las entradas. Por ello las referencias a salidas pueden aparecer indistintamente en la
parte Condicional o en la Ejecutiva de una frase AWL

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 93
Sistemas de control secuencial
____________________________________________________________________________________

9.5.1 Salidas discretas
Ejecutando la instrucción AWL adecuada en la parte Ejecutiva de una frase, el control
puede conmutar una determinada salida a ON ( activarla ) o a OFF ( desactivarla )

IF
THEN

Siempre que se cumplan las condiciones
SET
RESET

O 1.2
O 3.3

activa la salida 1.2
desactiva la salida 3.3

La instrucción SET se utiliza para conectar una salida ( ponerla en ON ), mientras que
RESET se utiliza para desactivarla ( ponerla en OFF ).
Activar una salida que ya está activa, o desactivar una que ya está inactiva, no produce
ningún efecto.
Como se ha visto, las salidas también pueden ser interrogadas en la parte condicional.
La siguiente frase comprueba si la entrada I 2.4 está recibiendo señal y si la salida O 2.2
está actualmente activa

IF
AND

I 2.4
O 2.2

THEN......

Entrada I 2.4 activa
Y salida O 2.2 está en ON
realizar acciones

9.5.2 Palabras de Salida ( Output Words )
A veces puede ser deseable o necesario, verificar o alterar el estado de una palabra de
salidas. De la misma forma que las entradas pueden ser manipuladas en base a un grupo
o word, también lo pueden ser las salidas
Por ejemplo, la frase :

THEN

LOAD
TO

V0
OW 2

Producirá que todas las salidas asociadas a la palabra de salidas 2, sean desactivadas

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 94
Sistemas de control secuencial
____________________________________________________________________________________

10

DETECCIÓN DE FLANCOS

10.1

Flancos

Las señales que provienen de sensores y llegan a las entradas son interpretadas por la
unidad central del PLC como señales "0" ó "1". La duración de las señales "1" y "0" es
definida por el sensor. Por ejemplo : mientras que se actúa un pulsador, se emite la señal
"1"; cuando se deja de actuar sobre el pulsador, el PLC recibe una señal "0". Sin
embargo, en muchos casos no tiene relevancia la señal misma, sino más bien el
momento en que la señal cambia. Tal cambio es denominado un flanco
Para entender más fácilmente el significado de un flanco, piénsese en un interruptor (
pulsador ) de una luz. En ese caso, la evaluación del flanco se efectúa de modo
mecánico. Actuando sobre el pulsador se enciende la luz ( independientemente del
tiempo que se actúe sobre el pulsador ). Si entretanto se dejó de actuar sobre el
pulsador, puede volver a apagarse la luz actuando nuevamente sobre el pulsador.
Un PLC también tiene que registrar el momento en que la señal de entrada cambia de
"0" a "1", puesto que cada vez que se actúa sobre el pulsador sólo deberá activarse una
única reacción, ( independientemente de la duración de la señal "1" ). De este modo se
evita una ejecución repetida de una orden controlada por el PLC en caso de que se actúe
demasiado tiempo sobre un pulsador. Los flancos de la señal de entrada son evaluados
por un programa
10.1.1 Flancos positivos y negativos
Todas las señales binarias tienen flancos positivos y negativos :
Los flancos positivos o ascendentes marcan el momento en el que se
produce el cambio de señal de "0" a "1"
Los flancos negativos o descendentes marcan el momento en el que se
produce el cambio de señal de "1" a "0"
Flancos

Flanco
positivo

1

0

Flanco
positivo

1

0

Flanco
negativo

0

Flanco
negativo

Nivel de señales binarias

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 95
Sistemas de control secuencial
____________________________________________________________________________________

10.2

Recordador de flancos

Tratándose de programas con enlaces lógicos, los flancos son evaluados mediante
recordadores de flancos. En el ejemplo que se ofrece a continuación, los flancos
positivos ( cambio de señal 0 a 1 ) son registrados por el recordador

IF
AND
SET
...
...
...

THEN
...
...
...
IF
THEN

RESET

I 1.0
N F 0.0
F 0.0
...
...
...
N I 1.0
F 0.0

Consultar recordador ( 1 )
Activar recordador ( 2 )
Disparo de la función
Cancelar recordador

En el programa, los flancos son detectados en tres pasos; es decir, el recordador de
flancos es :
(1)
(2)
(3)
(1)

Consultado
Activado
Cancelado

Consulta del recordador :

En el ejemplo ( véase programa ) se evalúa un flanco positivo. El recordador no debe
estar activado si la entrada I 1.0 recibe una señal positiva

(2)

Activación del recordador

El recordador registra el flanco positivo ( cambio de señal 0 a 1 en la entrada I 1.0 ). A
continuación se activan determinadas funciones en el programa, ya sea activando
determinados actuadores o una temporización ( el ejemplo no contiene estas funciones )
(3)

Cancelación del recordador

Cuando ya no se registra la señal 1 en E 1.0 se produce la cancelación del recordador.
De este modo se cumple con la condición necesaria para repetir la consulta ( 1 )

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 96
Sistemas de control secuencial
____________________________________________________________________________________

Detección de flancos

Flanco
positivo

Flanco
positivo
1

1

0

0

0

Cancelación
del recordador

Cancelación
del recordador

Activación
del recordador

Activación
del recordador

Disparo de
la función

Disparo de
la función

La evaluación solamente se refiere al flanco, independientemente de la duración de la
señal, puesto que antes de volverse a activar el recordador de flancos ( 2 ) es necesario
que la entrada haya recibido señal "0". De este modo queda cancelado el recordador ( 3
). Esta circunstancia explica el porqué de la consulta en ( 1 ). Si el recordador ha sido
activado y la entrada sigue recibiendo la señal "1", ello no incide en los actuadores
puesto que no se ha cumplido la condición para ( 2 ).

10.3 Programación de la evaluación de flancos positivos y negativos
El programa puede estar configurado de tal manera que se evalúen los flancos positivos
o negativos de las señales. Uno y otro caso dependen de las conexiones del sensor (
normalmente cerrado / normalmente abierto ) y de la forma en que es utilizado.
En el momento en que es activado un pulsador ( de contacto normalmente abierto ), éste
origina un flanco positivo, mientras que en el momento en que deja de ser activado
produce un flanco negativo. La elección de la programación de flancos positivos o
negativos depende, a fin de cuentas, del significado que ha de tener la señal durante los
ciclos.
Flanco positivo : Activación del recordador si la entrada recibe señal 1. Cancelación
del recordador si la entrada recibe una señal 0

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 97
Sistemas de control secuencial
____________________________________________________________________________________

Flanco positivo

Flanco
positivo

1

1
IF

I 1.0
AND N F0.0

0

0

THEN SET

F0.0

Cancelación
del recordador
disparo de
la función

Activación
del recordador
IF

N I 1.0

THEN RESET

Disparo de
la función

F0.0

Flanco negativo : Activación del recordador si la entrada recibe señal 0. Cancelación
del recordador si la entrada recibe una señal 1
Flanco negativo

Flanco
negativo
1

1

IF

0

N I
AND N F0.0
THEN SET F0.0

0
Cancelación del
recordador

disparo de
la función

Activación
del recordador

IF
Disparo de la
función

I 1.0

THEN RESET F0.0

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 98
Sistemas de control secuencial
____________________________________________________________________________________

11

MULTITAREA

11.1

Funcionamiento automático y manual

Bajo el concepto de multitarea se entiende la ejecución " concurrente " de varias tareas
( trabajos, programas ). Con ese fin es necesario disponer de un sistema operativo
apropiado, que se encargue de administrar los programas parciales con la técnica de
programas parciales. Ello significa que un programa puede estar compuesto de varias
partes, conformando cada una de ellas un programa parcial. Estos programas parciales
tienen diversas funciones. Ventajas : estructura más clara del programa y menor
duración de los ciclos
Ejemplo
Un programa complejo deberá poder ejecutarse tanto en funcionamiento automático
como también en funcionamiento manual. Básicamente se trata de dos tipos de
programas totalmente diferentes. " Automático " suele ser un programa secuencial,
mientras que " Manual " es un programa de enlaces lógicos
Multitarea ( ejemplo 1 )

ACTIVACIÓN

P1
AUTOMÁTICO

P2
MANUAL

Funcionamiento manual significa que las funciones del mando son activadas
directamente por el operario ( a través de las entradas ). No obstante tienen que
cumplirse determinadas condiciones. El programa no es ejecutado automáticamente.
Tratándose, por el contrario, de un programa de funcionamiento automático, la
ejecución del mismo se produce sin intervención del operario ( una vez que éste lo haya
activado )

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 99
Sistemas de control secuencial
____________________________________________________________________________________

Estos programas van unidos puesto que tienen la finalidad de ejecutar la misma función
de control. En consecuencia, "manual" y "automático" son funciones de control. Al
efectuarse la programación se obtendrían dos programas parciales que pueden ser, por
ejemplo, los siguientes :
Programa 1 : Automático
Programa 2 : Manual
La técnica de programas parciales evidentemente es ventajosa en este caso, puesto que
las dos funciones " manual " y " automático " nunca pueden ejecutarse al mismo tiempo.
Si, no obstante, se optase por confeccionar ambas partes en un solo programa, su
ejecución demoraría demasiado y el programa tendría una estructura poco clara.

11.2

Funciones

El método de multitarea permite efectuar cómodamente la programación de varias
funciones. Tratándose de funciones de control complicadas, esta forma de programación
resulta indispensable ( también por razones de seguridad ). Estos programas también
son denominados programas paralelos, ya que, aparte del programa automático, en todo
momento puede recurrirse a cualquiera de los demás programas
En un programa de organización tienen que estar definidas las siguientes funciones :
*
*

Cómo cambiar de función
Cómo reaccionará el PLC si se activa el paro de emergencia

Cuando se pone en marcha el PLC, automáticamente es activado el programa de
organización; a partir de él se recurre a uno de los programas parciales
Ejemplo :
P0 : Programa de organización
P1 : Automático ( ciclo simple / ciclo continuo )
P2 : Manual
P3 : Reposición

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 100
Sistemas de control secuencial
____________________________________________________________________________________

Multitarea ( ejemplo 2 )

ACTIVACIÓN

P0
Programa de
organización

P1
AUTOMÁTICO

Ciclo
continuo

P2
MANUAL

P3
REPOSICIÓN

Ciclo
simple

Ciclo simple : Si está activada esta función, el programa es ejecutado desde el primer
hasta el último paso. Entonces concluye el programa y puede ser activado nuevamente
por el operario.
Ciclo continuo : En realidad, este es el programa principal propiamente dicho. Se
ejecutan varios ciclos hasta que se alcanza un determinado estado final en el programa.
Con excepción de las funciones de activación y desactivación, el programa no es
influenciado por el operario.
Reposición : La máquina es puesta en su posición normal mediante un sensor (
pulsador ). Este estado suele ser indicado, además, por un diodo luminoso. Esta función
es importante tratándose de máquinas complicadas, especialmente si durante la
ejecución automática de programa ocurrió un fallo.

11.3

Realización con orden de salto ( recuperación de subprogramas )

No todos los PLC permiten la ejecución de una multitarea con programas parciales. No
obstante, para aún así ejecutar rápidamente programas largos, puede efectuarse la
programación de órdenes de salto o, también, puede aplicarse la técnica de
subprogramas.

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 101
Sistemas de control secuencial
____________________________________________________________________________________

11.3.1

Órdenes de salto / Órdenes de salto hacia atrás

Si es necesario recurrir varias veces a una parte determinada de un programa, deberá
incluirse una orden de salto en las partes respectivas ( es decir en aquellas en las que
deberá activarse el programa parcial correspondiente ). Antes de la orden de salto
deberá incluirse un recordador con el fin de que al terminarse de ejecutar el programa
parcial se vuelva a la orden inicial. Dicho recordador es consultado en el programa
parcial. Después de la orden de salto hacia atrás es cancelado el recordador.
Para cada orden de salto deberá preverse la activación y posterior cancelación de un
recordador

Multitarea· Órdenes de salto/ Órdenes de salto hacia atrás

.
.
123

IF
124 THEN

I 1.2
SET

F1

125

JMP TO

219

126

RESET

F1

.
.
.
198 IF
199 THEN

I 1.7
F2

200
.

SET
JMP TO

219

201

RESET

F2

.
219
.
.
250 IF
251 THEN

F1
JMP TO

252 IF
253 THEN

126
F2

JMP TO

201

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 102
Sistemas de control secuencial
____________________________________________________________________________________

11.3.2

Orden de salto con retorno automático ( recuperación de subprograma )

Esta solución es más cómoda puesto que no es necesario programar recordadores. El
salto hacia atrás automático significa lo siguiente : la unidad central memoriza la
dirección en la que se produce el salto y suma 1 ( después de ejecutar la orden ATRÁS )
a dicha dirección. Entonces, ésta es la dirección de instrucción actual, lo que significa
que la ejecución del programa principal continúa en el lugar del salto.

Multitarea · Orden de salto hacia atrás automático

.
.

123

IF
124

I 1.2
THEN Programa parcial 219

125
.
.
.
198 IF

I 1.7

199 THEN Programa parcial

219

200
.
.
219
.
.
249 RETURN

Programa
parcial

En las figuras se muestran ejemplos ( teóricos ) que se refieren a ambos casos. La
programación exacta de las órdenes de saltos varía según el PLC.
Los dos siguientes ejemplos muestran otras posibles soluciones. Diversos PLC son
capaces de recurrir a más subprogramas contenidos en subprogramas ( en este caso, se
trata de subprogramas relacionados entre sí. ). También es posible recuperar un
subprograma de subprogramas iguales.

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 103
Sistemas de control secuencial
____________________________________________________________________________________

Subprograma relacionado tres veces

Programa
principal

Subprograma
UP1

UP2

UP3

01

01

02

03

( JSR )

LBL

LBL

LBL

( JSR )

( JSR )

( JSR )

(RET)

(RET)

(RET)

Subprograma de lazo

Programa
principal

01

Subprograma

01
LBL
051
( SCT )

( JSR )

01
( JSR )

051
15

051
(CTR)
RET
End xxxxx

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 104
Sistemas de control secuencial
____________________________________________________________________________________

11.4

Realización con la técnica de procesadores

La unidad central del PLC 404 contiene 4 procesadores virtuales ( PZ0 hasta PZ3 ),
que ejecutan diversos programas.
Cada uno de los procesadores puede albergar uno de los programas existentes. Por
ejemplo : el programa 7 está en el procesador 1
Multitarea técnica de procesadores ( ejemplo )

P0
P1
P2

PZ 0

P3
P4
P5

PZ 1

P6
P7
P8

PZ 2

P9
P 10
P 11

PZ 3

P 12
P 13
P 14
P 15

Unidad central 0

Un proyecto puede estar compuesto de 16 programas parciales. En consecuencia, es
factible que como máximo se ejecuten paralelamente 4 programas por los cuatro
procesadores. En principio es indiferente qué programa es ejecutado por qué
procesador. Los programas KOP, FUP, AWL y BASIC pueden mezclarse
indistintamente. En la figura se muestra un ejemplo.

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 105
Sistemas de control secuencial
____________________________________________________________________________________

La ejecución de un programa puede ser interrumpida mediante una orden respectiva. El
procesador que queda " libre " de esta manera, puede ser utilizado para activar otro
programa. Cuando se conecta la unidad de control, el programa siempre es ejecutado
desde el principio, es decir :
*
*
*
*
*
11.5

Unidad central 0
Procesador 0
Programa 0
Paso 0
línea 0
Procesadores y programas

Los procesadores son unidades funcionales monobit que pueden ser consultadas,
activadas o canceladas. Un procesador activado emite una señal "1" al ser consultado,
mientras que un procesador cancelado emite una señal "0".
También los programas son unidades funcionales monobit. También ellos pueden ser
consultados, activados o cancelados. Un programa que está puesto en un procesador y
que, además, está activado, emite una señal "1"; en caso contrario, emite una señal "0".
Activar / Desactivar programas y procesadores ( ejemplo )

IF
I 1.0
THEN
SET
P 3.12
Programa 12 está puesto en procesador 3 y es activado en paso 0
IF
I0
THEN
SET
P1
Programa 1 se activa si el procesador está puesto
IF
THEN
RESET
Desactivar el programa 12

I7
P 3.12

IF
THEN
SET
Programa continúa en procesador 0

I1
PZ 0

IF
THEN
RESET
Desactivar el procesador 0

o

IF
I7
THEN RESET P12

I. 3
PZ 0

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 106
Sistemas de control secuencial
____________________________________________________________________________________

Activación de un programa
Un programa es puesto en un procesador y activado con la instrucción SET. El
programa empieza a ejecutar el paso 0, sin importar si antes había sido interrumpido o
no. Al escribir las direcciones del programa, se coloca delante del punto el número de
procesador y detrás el número de programa. Si el programa ya está cargado en el
procesador, no es necesario indicar el número de procesador.
Cancelación de un programa
La instrucción RESET tiene como consecuencia la desactivación del programa
respectivo. La instrucción puede escribirse con o sin indicación del procesador activado
Activación de un procesador
La ejecución del programa puesto en el procesador continúa en aquel lugar donde fue
detenida
Cancelación de un procesador
Esta instrucción detiene al procesador. En consecuencia, no continúa la ejecución del
programa activado.
Un programa solo debería cancelar a su propio procesador si las funciones de control
necesarias son asumidas por otro programa ( que continúa ejecutándose ).

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 107
Sistemas de control secuencial
____________________________________________________________________________________

12

PROGRAMAS DE EJEMPLO

La mayor parte de tareas de control pueden dividirse en tres categorías :
*
*
*

Completamente secuencial
Principalmente secuencial con algunas acciones aleatorias
Completamente aleatorio

Adicionalmente, aparecen muchas situaciones en las cuales puede ser necesario
controlar algunas secuencias de mando simultáneamente. Los siguientes ejemplos
ofrecen soluciones para todas las posibilidades mencionadas.
Ejemplo 1.
Completamente secuencial
Las tareas que son completamente secuenciales, son ideales para ser resueltas en el
lenguaje AWL, dada su implícita estructura de Pasos ( Step ). La tarea secuencial que
presentamos aquí es la de controlar 3 cilindros neumáticos por medio de 3
electroválvulas de 3/2 vías en una determinada secuencia.
Cuando se conecta el sistema y se acciona el pulsador de marcha, el cilindro A debe
avanzar completamente, esperar 3 segundos y a continuación retroceder.
A continuación, el cilindro B debe avanzar y retroceder 4 veces y después avanzar y
permanecer delante.
Finalmente, el cilindro C debe avanzar completamente, en cuyo momento el cilindro A
avanzará. Cuando el cilindro A esté de nuevo completamente extendido, los tres
cilindros retrocederán y se esperará un nuevo ciclo por el pulsador de marcha.
Se asignan las siguientes Entradas / Salidas
Pulsador de marcha
Cilindro A detrás
Cilindro A delante
Cilindro B detrás
Cilindro B delante
Cilindro C detrás
Cilindro C delante
Electroválvula del Cilindro A
Electroválvula del Cilindro B
Electroválvula del Cilindro C

I 1.0
I 1.1
I 1.2
I 1.3
I 1.4
I 1.5
I 1.6
O 1.0
O 1.1
O 1.2

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 108
Sistemas de control secuencial
____________________________________________________________________________________

STEP 1
IF
THEN

NOP
V0
OW 1
V 300
TP 0
V4
CP 2

Inicialización al arranque
Incondicionalmente
desconecta todas
las salidas
Prepara el timer
en 3 segundos
y el contador 2
para 4 unidades

I 1.0
I 1.1
I 1.3
I 1.5
O 1.0

Asegurar que todas las posiciones están
OK
Pulsador accionado
Cilindro A detrás
Cilindro B detrás
Cilindro C detrás
iniciar avance cilindro A

I 1.2
T0

¿ Cilindro A completamente avanzado ?
Ahora está delante
empezar a temporizar 3 segundos

N T0
O 1.0

Esperar los 3 segundos
Timer vencido
retroceder cilindro A

SET
SET

I 1.1
C2
O 1.1

¿ Cilindro A completamente detrás ?
Cilindro A detrás
Inicializa contador 2 a 4 eventos
avanzar cilindro B

INC
RESET

I 1.4
CW 2
O 1.1

¿ Cilindro B delante ¿
ahora está delante
cuenta este ciclo
inicia el retroceso del cilindro B

I 1.3
C2
O 1.1
20
I 1.3
N C2
O 1.1

¿ Es éste el 4º avance ?
Cilindro B detrás
y aún no ha hecho 4 carreras
avanza cilindro B
sigue haciendo ciclos
Cilindro B detrás
y 4 carreras realizadas
avanzar cilindro B

I 1.4
O 1.2

¿ Cilindro B delante ?
cilindro B delante ( avance 5º )
avanzar cilindro C

LOAD
TO
LOAD
TO
LOAD
TO

STEP 5
IF

THEN
STEP 10
IF
THEN
STEP 12
IF
THEN
STEP 15
IF
THEN
STEP 20
IF
THEN

AND
AND
AND
SET

SET

RESET

STEP 22
IF
THEN

AND
SET
JMP TO

IF
THEN
STEP 30
IF
THEN

AND
SET

SET

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 109
Sistemas de control secuencial
____________________________________________________________________________________

STEP 35
IF
THEN
STEP 40
IF
THEN

SET

I 1.6
O 1.0

¿ Cilindro C delante ?
Cilindro C delante
avanzar cilindro A

RESET
RESET
RESET
JMP TO

I 1.2
O 1.0
O 1.1
O 1.2
5

¿ Todos los cilindros delante ?
cilindro A también delante
retroceder cilindro A
retroceder cilindro B
retroceder cilindro C
regresar al paso 5

Ejemplo 2.
Principalmente secuencial con algunas acciones aleatorias
Mientras que las máquinas muy sencillas pueden ser puramente secuenciales en su
funcionamiento, hay algunas excepciones en las cuales cambian las especificaciones de
la tarea de forma que ya no es completamente secuencial
Si la mayor parte de la tarea de control es secuencial, y el modelo de FPC permite la
multitarea, una posible solución puede ser dividir el proceso de las acciones
secuenciales y las aleatorias, en programas separados
Sin embargo, también es posible manejar tales situaciones con un sencillo programa
AWL. Si la acción ( o acciones ) aleatoria /s a realizar son pocas y el conjunto del
programa es relativamente sencillo, entonces es posible manejar estas acciones
añadiéndolas en cada uno de los pasos del programa.
Otras posibles soluciones incluyen la utilización del procesamiento por interrupción (
solamente soportado por algunos modelos de FPC ) o construyendo toda la secuencia
como una sección de programa paralela o de exploración / scanning total. Este método
se explicará en los ejemplos 3 y 4
El ejemplo 2 muestra la inserción en cada paso del programa mostrado en el ejemplo 1,
de una frase en forma de detección de un sencillo pulsador de " pausa "; el cual, cuando
está pulsado, provoca la detención del programa hasta que es liberado
STEP 1
IF
THEN

LOAD
TO
LOAD
TO
LOAD
TO

NOP
V0
OW 1
V 300
TP 0
V4
CP 2

Inicialización al arranque
Incondicionalmente
desconecta todas
las salidas
Prepara el timer
en 3 segundos
y el contador 2
para 4 unidades

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 110
Sistemas de control secuencial
____________________________________________________________________________________

STEP 5
IF

THEN
STEP 10
IF
THEN
IF
THEN
STEP 12
IF
THEN
IF
THEN
STEP 15
IF
THEN
IF
THEN
STEP 20
IF
THEN
IF
THEN
STEP 22
IF
THEN
IF
THEN

AND
AND
AND
AND
SET

JMP TO
SET

JMP TO
RESET

JMP TO
SET
SET

JMP TO
INC
RESET

JMP TO
AND
SET
JMP TO

IF
THEN

AND
SET

I 1.0
I 1.1
I 1.3
I 1.5
N I 1.7
O 1.0

Asegurar que todas las posiciones están
OK
Pulsador accionado
Cilindro A detrás
Cilindro B detrás
Cilindro C detrás
Pulsador pausa inactivo

I 1.7
10
I 1.2
T0

¿ Cilindro A completamente avanzado ?
Pulsador de pausa activo
esperar aquí
Ahora está delante
empezar a temporizar 3 segundos

I 1.7
12
N T0
O 1.0

Esperar los 3 segundos
Pulsador de pausa activo
esperar aquí
Timer vencido
retroceder cilindro A

I 1.7
15
I 1.1
C2
O 1.1

¿ Cilindro A completamente detrás ?
Pulsador de pausa activo
esperar aquí
Cilindro A detrás
Inicializa contador 2 a 4 eventos
avanzar cilindro B

I 1.7
20
I 1.4
CW 2
O 1.1

¿ Cilindro B delante ?
Pulsador de pausa activo
esperar aquí
ahora está delante
cuenta este ciclo
inicia el retroceso del cilindro B

I 1.7
22
I 1.3
C2
O 1.1
20
I 1.3
N C2
O 1.1

¿ Es éste el 4º avance ?
Pulsador de pausa activo
esperar aquí
Cilindro B detrás
y aún no ha hecho 4 carreras
avanza cilindro B
sigue haciendo ciclos
Cilindro B detrás
y 4 carreras realizadas
avanzar cilindro B

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 111
Sistemas de control secuencial
____________________________________________________________________________________

STEP 30
IF
THEN

JMP TO

I 1.7
30

¿ Cilindro B delante ?
Pulsador de pausa activo
esperar aquí

SET

I 1.4
O 1.2

cilindro B delante ( avance 5º )
avanzar cilindro C

STEP 35
IF
THEN

JMP TO

I 1.7
35

¿ Cilindro C delante ?
Pulsador de pausa activo
esperar aquí

IF
THEN

SET

I 1.6
O 1.0

Cilindro C delante
avanzar cilindro A

JMP TO

I 1.7
40

¿ Todos los cilindros delante ?
Pulsador de pausa activo
esperar aquí

RESET
RESET
RESET
JMP TO

I 1.2
O 1.0
O 1.1
O 1.2
5

cilindro A también delante
retroceder cilindro A
retroceder cilindro B
retroceder cilindro C
regresar al paso 5

IF
THEN

STEP 40
IF
THEN
IF
THEN

En resumen : es posible manejar una limitada cantidad de condiciones en paralelo o
aleatorias, dentro de lo que, de otra forma, sería un proceso puramente secuencial,
utilizando la instrucción Step.

Ejemplo 3.
Acciones completamente aleatorias
Algunas acciones de control no pueden organizarse en una secuencia lógica ya que las
acciones pueden ocurrir de forma aleatoria. Un ejemplo típico de tales tareas, podría ser
el programa de control de la preparación de una máquina El proceso lo define el
operador de la máquina al accionar aleatoriamente diferentes pulsadores, cada uno
utilizado para una función individual.
Lo siguiente representa el programa de preparación para una máquina de inyectar
plástico.

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 112
Sistemas de control secuencial
____________________________________________________________________________________

STEP 1
IF
THEN

NOP
V0
OW 1

Inicialización
Incondicionalmente
desconecta todas
las salidas

SET

I 1.0
O 1.0

Paso de exploración / scanning
Pulsador de cerrar molde
Cerrar molde

AND
SET
RESET

I 1.1
I 2.0
O 1.3
O 1.3

Pulsador de inyectar plástico
Sensor de molde cerrado
Electroválvula inyección

THEN

AND
RESET

I 1.2
N O 1.3
O 1.0

Molde abierto
Pulsador de inyección inactivo
Abrir molde

IF
THEN
OTHRW

SET
RESET

I 1.3
O 1.1
O 1.1

Pulsador de girar mecanismo extrusor
Electroválvula girar extrusor
Parar extrusor

AND
SET
RESET

I 1.4
I 1.5
O 1.4
O 1.4

Sensor molde abierto
Pulsador extractor molde
Electroválvula extractor molde
Parar proceso extracción

JMP TO

NOP
20

Incondicionalmente
seguir procesando

STEP 20
IF
THEN

LOAD
TO

IF
THEN
OTHRW
IF

IF
THEN
OTHRW
IF
THEN

Ejemplo 4.
Secuencias múltiples y acciones aleatorias
Máquina Transfer rotativa multi-estación
El siguiente programa AWL se utiliza para controlar una mesa circular de 4 estaciones
en la que cada estación debe realizar su propia secuencia simultáneamente con las
demás. Las diferentes estaciones, poseen diferente número de pasos, asociados con sus
funciones individuales.
El operador debe tener la posibilidad de activar o desactivar cualquier estación. Una vez
que todas las estaciones han completado sus respectivas secuencias, la mesa rotativa
indexará e iniciará un nuevo ciclo. adicionalmente se utilizará un Flag Word como
registro de desplazamiento para determinar que estaciones deberán trabajar,
dependiendo de la presencia de pieza en la estación.

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 113
Sistemas de control secuencial
____________________________________________________________________________________

El conjunto del proceso será controlado por medio de la asignación de un registro a
cada estación. a pesar de que se podrían utilizar Flags para este fin, la utilización de
Registros mejora mucho el diagnóstico de la máquina en el caso de ocurrir una
detención.
Este método de estructurar programas permite tantos procesos paralelos activos como
número de registros se disponga, y además permite más de 65.000 pasos por proceso.
El funcionamiento de la máquina es como sigue :
Estación 1 : La estación 1 es utilizada para cargar cartuchos de cinta vacíos. Si no hay
cartuchos en eta estación, pero si los hay en las estaciones 2, 3 o 4, entonces aquellas
estaciones funcionarán. Cuando la máquina indexa, el estado de cada estación ( pieza a
procesar : si/no) será actualizado
Estación 2 : La estación 2 consiste en varias acciones secuenciales que insertan dos
carretes vacíos en el cartucho de cinta
Estación 3 : La estación 3 realiza varios pasos en los cuales una cinta larga es unida al
carrete de la izquierda, es completamente enrollada y finalmente unida al carrete
derecho
Estación 4 : La estación 4 fija la mitad superior del cartucho de cinta y lo une a la parte
inferior por soldadura ultrasónica. Finalmente, el cartucho terminado es expulsado a una
caja de embalaje...
STEP 10
THEN

LOAD
TO
TO
TO
TO
TO
TO
TO
TO
TO
TO
TO
LOAD
TO
LOAD
TO
LOAD

V0
OW0
OW1
OW2
OW3
OW4
FW0
R0
R1
R2
R3
R4
V25
TP2
V250
TP3
V300

Inicialización
Desactivar todas las salidas

Inicializar " shift register "
Registro de control de indexación mesa
Registro de control de estación 1
Registro de control de estación 2
Registro de control de estación 3
Registro de control de estación 4
Timer 2 a 1/4 de segundo
Timer 3 a 2,5 segundos
Timer 4 a 3 segundos

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 114
Sistemas de control secuencial
____________________________________________________________________________________

TO

TP4

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 115
Sistemas de control secuencial
____________________________________________________________________________________

STEP 20
IF
THEN

JMP TO

N I 0.0
99

AND
AND
AND
AND
AND
AND
AND

I 0.2
I 2.1
I 2.3
N I 2.5
N I 2.6
I 3.1
I 3.4
I 3.6

IF

AND
AND
AND
AND
AND
AND
OR
AND
THEN
STEP 30
IF

I 4.1
N I 4.3
I 4.4
I 0.1
I 0.0
( I 1.1
( FW0
V15
> V0 ))
NOP

LOAD

( R1
= V0 )
( R2
= V 255 )
( R3
= V 255 )
( R4
= V 255 )
V 10

TO

R1

AND
SET

( R1
= V 10 )
I 1.1
F0.0

LOAD
TO

( R1
= V 10 )
V 255
R1

AND
AND
AND
THEN

IF
THEN
IF
THEN

¿Estaciones en origen ?
Paro_Activo
Rutina especial
Mesa indexada
Est.2 Cilindro insertor izquierdo detrás
Est.2 Cilindro insertor derecho detrás
Est.2 Carrete izquierdo colocado
Est.2 Carrete derecho colocado
Est.3 Pinza sujeción cinta, abierta
Est.3 Cilindro avance cinta, detrás
Est.3 Cilindro fijación derecha cinta,
detrás
Est.4 Cilindro inserción detrás
no hay mitad superior del cartucho situada
Est.4 Cilindro de extracción detrás
Pulsador de marcha a posición de partida
Paro_E inactivo
Cartucho en estación 1
o piezas en alguna estación
toda la palabra de 16 bits enmascarando
toda, excepto bits0,1,2,3 hay alguna pieza
OK para proceder, sino esperar
ESTACIÓN 1
Registro de control estación 1 empezando
Registro de control estación 2
indica ha terminado
Registro de control estación 3
indica ha terminado
Registro de control estación 4
indica ha terminado
Todas las estaciones han terminado,así
que
ya es momento de ver si se ha cargado
pieza en la estación 1
Registro de control de estación 1
listo para leer
sensor de pieza situada
poner un "1" en el shift register
Cuando se cumpla esto
todas las estaciones habrán terminado

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 116
Sistemas de control secuencial
____________________________________________________________________________________

IF

THEN

AND
OR
LOAD
TO

Registro de control estación 2, empezando

SET
SET
LOAD
TO

( R2
=V0)
O 2.0
O 2.1
V 20
R2

Registro de control estación 2

AND
AND
AND
AND
SET
SET
LOAD
TO

( R2
= V 20 )
I 2.2
I 2.4
I 2.5
I 2.6
O 2.2
T2
V 30
R2

Registro de control estación 2

AND
RESET
RESET
LOAD
TO

( R2
= V 30 )
N T2
O 2.0
O 2.1
V 40
R2

Registro de control estación 2

AND
AND
RESET
LOAD
TO

( R2
= V 40 )
I 2.1
I 2.2
O 2.2
V 255
R2

IF
THEN

IF

THEN

IF
THEN

IF

THEN

ESTACIÓN 2
Registro de control estación 2

( R2
= V0 )
( N I 2.0
N F0.1 )
V 255
R2

Estación 2 no activada
o no hay piezas en estación 2
por lo tanto marcar
estación 2 como terminada

avanzar cilindro carrete izquierdo
avanzar cilindro carrete derecho
control de avance de la secuencia

lado izquierdo delante
lado derecho delante
carrete izquierdo en fijación
carrete derecho en fijación
conectar vacío de sujeción
activar el temporizador
actualizar registro de
control de estación 2

transcurrido un tiempo de 1/4 de seg.
retroceder cilindro carrete izquierdo
retroceder cilindro carrete derecho
actualizar registro de control
de estación 2

cilindro carrete izquierdo detrás
cilindro carrete derecho detrás
conmutador de vacío desconectado
marcar estación 2 como terminada

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 117
Sistemas de control secuencial
____________________________________________________________________________________

IF

ESTACIÓN 3
Registro de control estación 3

SET
LOAD
TO

Registro de control estación 3

AND
SET
LOAD
TO

( R3
= V 10 )
I 3.2
O 3.2
V 30
R3

Registro de control estación 3

AND
RESET
RESET
LOAD
TO

( R3
= V 30 )
I 3.3
O 3.2
O 3.1
V 40
R3

Registro de control estación 3

AND
SET
SET
LOAD
TO

( R3
= V 40 )
I 3.4
O 3.3
T3
V 50
R3

Registro de control estación 3

AND
RESET
SET

( R3
= V 50 )
N T3
O 3.3
O 3.4

LOAD
TO

THEN

( R3
= V0 )
( N I 3.0
N F0.2 )
V 255
R3
( R3
= V0 )
O 3.1
V 10
R3

V 60
R3

AND
OR
LOAD
TO

IF
THEN

IF
THEN

IF
THEN

IF
THEN

IF
THEN

Estación 3 inactiva
o no hay pieza
por lo tanto marcar la estación 3
como terminada
Registro de control estación 3
cerrar pinza de la cinta
actualizar registro de control
de la estación 3

pinza cerrada
insertar cinta en carrete izquierdo
actualizar registro de control
de estación 3

cinta insertada en carrete
retroceder cilindro inserción
desactivar pinza de cinta
actualizar registro de control de
estación 3

cilindro de inserción detrás
arrancar motor enrollado de la cinta
arrancar temporizador de enrollado
actualizar registro de control
de estación 3

tiempo de enrollado vencido
parar motor de enrollado
avanzar cilindro inserción carrete lado
der
actualizar registro de control
de estación 3

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 118
Sistemas de control secuencial
____________________________________________________________________________________

Registro de control estación 3

AND
RESET
LOAD
TO

( R3
= V 60 )
I 3.5
O 3.4
V 70
R3

Registro de control estación 3

AND
LOAD
TO

( R3
= V 70 )
I 3.6
V 255
R3

AND
OR
LOAD
TO

( R4
=V0)
( N I 4.0
N F0.3 )
V 255
R4

Registro de control estación 4

SET
LOAD
TO

( R4
= V0 )
O 4.1
V 10
R4

Registro de control estación 4

AND
AND
SET
SET
LOAD
TO

( R4
= V 10 )
I 4.2
I 4.3
O 4.2
T4
V 20
R4

Registro de control estación 4

AND
RESET
RESET
LOAD
TO

( R4
= V 20 )
N T3
O 4.2
O 4.1
V 30
R4

Registro de control estación 4

AND

( R4
= V 30 )
I 4.1

IF
THEN

IF
THEN
IF

THEN
IF
THEN

IF

THEN

IF
THEN

IF

sensor inserción carrete derecho
retroceder cilindro inserción lado derecho
actualizar registro de control
de estación 3

cilindro lado derecho detrás
marcar registro de control
de estación 3 como terminado
ESTACIÓN 4
Registro de control estación 4
estación 4 inactiva
o no hay pieza en estación 4
por lo tanto marcar
la estación como terminada

bajar cartucho superior
actualizar registro de control
de estación 4

cilindro de cartucho delante
cartucho en fijación
activar soldadura ultrasónica
empezar tiempo soldadura
actualizar registro de control
de estación 4

tiempo soldadura vencido
detener soldadura
soltar cilindro fijación cartucho
actualizar registro de control
de estación 4

cilindro carcasa superior detrás

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 119
Sistemas de control secuencial
____________________________________________________________________________________

THEN

O 4.3
V 40
R4

avanzar cilindro extracción
actualizar registro de control de
estación 4
Registro de control estación 4

AND
RESET
LOAD
TO

( R3
= V 40 )
I 4.5
O 4.3
V 50
R4
( R4
= V 50 )
I 4.4
F 0.3
V 255
R4

Estaciones 1-4 terminadas

LOAD
TO

( R1
= V 255 )
V 10
R0

SET
LOAD
TO

IF
THEN

AND
RESET
LOAD
TO

IF
THEN

IF
THEN
IF
AND
AND
THEN

MESA DE INDEXACIÓN
Registro de control de indexación
toda la palabra de 16 bits
enmascarar toda excepto los bits 0,1,2,3
si esto es cierto, por lo menos hay una
estación con pieza
actualizar registro de control
de indexación
Registro de control de indexación

JMP TO

( R0
= V 10 )
10

SET
LOAD
TO

( R0
= V20 )
O 0.0
V 30
R0

Registro de control de indexación
hay que indexar
activar indexación mesa
actualizar registro de control
de indexación
Registro de control de indexación

AND
LOAD
TO
LOAD

( R0
= V 30 )
N I 0.2
V 40
R0
FW0

IF
THEN

registro de control de indexación

V 20
R0

IF
THEN

cilindro de extracción detrás
shift register marca " no hay pieza "
marcar la estación como terminada

LOAD
TO

IF
THEN

( R0
= V 10 )
( ( FW0
V 15 )
> V0 )

cilindro de extracción delante
retroceder cilindro de extracción
actualizar registro de control
de estación 4
Registro de control estación 4

no hay que indexar, seguir con el proceso

la indexación ha empezado
activar registro de control
de indexación
cargar shift register al MBA

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 120
Sistemas de control secuencial
____________________________________________________________________________________

SHL
TO

FW0

AND
RESET
LOAD
TO
TO
TO
TO
TO
JMP TO

( R0
= V 40 )
I 0.2
O 0.0
V0
R0
R1
R2
R3
R4
20

JMP TO

N I 0.0
99

JMP TO

NOP
30

JMP TO

I 0.0
10

IF
THEN

IF
THEN
IF
THEN
STEP 99
IF
THEN

desplazar bits a la izquierda para hacerlo
coincidir con las piezas actuales presentes
Secuencia indexación completa
Registro de control de indexación
alcanzada nueva posición de indexación
detener indexación
borrar registros de control

seguir procesando
Paro_E activo
rutina especial
seguir procesando
Incondicionalmente
sigue el proceso en el paso 30
RUTINA PARO_E
esperar hasta que Paro_E sea liberado
y reaccionar como si se arrancara de
nuevo el sistema

____________________________________________________________________________________
Autómata programable Festo FPC 404
pág. 121

Apuntes De Automatismos.pdf

  • 1.
    Sistemas de controlsecuencial ____________________________________________________________________________________ AUTOMATISMOS TEMA 1 : INTRODUCCIÓN A LOS AUTOMATISMOS 1 INTRODUCCIÓN 1.1 Definición de automatización 1.2 Introducción 2 EL PROCESO TÉCNICO 2.1 Procesos continuos 2.2 Procesos discretos 2.3 Procesos discontinuos o por lotes 3 FORMAS DE REALIZAR EL CONTROL SOBRE UN PROCESO 3.1 Control en lazo abierto ( bucle abierto ) 3.2 Control en lazo cerrado ( bucle cerrado ) 4 OPCIONES TECNOLÓGICAS 4.1 Lógica cableada 4.2 Lógica programada 4.3 Organigramas para desarrollar el control de un proceso 4.4 Fases de estudio en la elaboración de un automatismo 5 ANÁLISIS DE LOS AUTOMATISMOS 5.1 Lógica combinacional 5.2 Lógica secuencial TEMA 2 : REPRESENTACIÓN DE LOS AUTOMATISMOS 1 LÓGICA DE CONTACTOS 1.1 Elementos de entrada 1.2 Elementos de salida 1.3 Asociación de elementos 1.3.1 Función lógica O 1.3.2 Función lógica Y 1.3.3 Función O lógica de funciones Y 1.3.4 Función Y lógica de funciones O 2 LÓGICA DE FUNCIONES 2.1 Función "O" u "OR" ( Suma lógica ) 2.2 Función "Y" O "AND" ( Producto lógico ) 2.3 Función NOT ( Negación, inversión o complemento ) 2.4 Función NOR ( NO-O ) 2.5 Función NAND ( NO - Y ) 2.6 Función OR - Exclusiva ( XOR ) 2.7 Función NOR - Exclusiva ( XNOR ) 2.8 Función IGUALDAD ____________________________________________________________________________________ Índice pág. 1
  • 2.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 3 LÓGICA NEUMÁTICA 3.1 Función "O" u "OR" ( Válvula selectora de circuito ) 3.2 Función "Y" O "AND" ( Válvula de simultaneidad ) 3.3 Función NO ( Negación, inversión o complemento ) 3.4 Función NOR ( NO-O ) 3.5 Función NAND ( NO - Y ) 3.6 Función OR - Exclusiva ( XOR ) 3.7 Función NOR - Exclusiva ( XNOR ) 3.8 Función IGUALDAD 4 IMPLEMENTACIÓN DE FUNCIONES 4.1 Implementación de funciones lógicas con contactos 4.2 Implementación de funciones con puertas lógicas 4.2.1 Implementación de funciones con puertas NAND 4.2.2 Implementación de funciones con puertas NOR 4.3 Implementación de funciones con elementos neumáticos TEMA 3 : ÁLGEBRA DE BOOLE 1 AXIOMAS DEL ÁLGEBRA DE BOOLE 1.1 Postulados y teoremas 2 TEOREMA DE DE MORGAN 3 FORMAS DE UNA FUNCIÓN BOOLEANA 4 CONVERSIÓN ENTRE FORMAS 5 SIMPLIFICACIÓN DE FUNCIONES 5.1 Método algebraico 5.2 Métodos tabulares de simplificación 5.2.1 Tablas de Karnaugh Simplificación de ecuaciones en tablas de Karnaugh Estados indiferentes Azares o " Aleas tecnológicas " 5.2.2 Tablas de Quine-McCluskey TEMA 4 : GRAFCET 1 INTRODUCCIÓN 2 EL GRAFCET 2.1 Principios básicos 3 DEFINICIÓN DE CONCEPTOS Y ELEMENTOS GRÁFICOS ASOCIADOS 3.1 Etapa 3.2 Acción asociada Reales, Virtuales Incondicionales Condicionales 3.3 Transición y receptividad 3.4 Arco 3.5 Trazos paralelos ____________________________________________________________________________________ Índice pág. 2
  • 3.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 4 CONDICIONES EVOLUTIVAS 5 ESTRUCTURAS EN EL GRAFCET 5.1 Estructuras básicas Secuencia única Secuencias paralelas 5.2 Estructuras Lógicas 5.3 Divergencia en OR Convergencia en OR Posibilidades de utilización de estas estructuras Divergencia en AND Convergencia en AND Saltos condicionales. Retención de secuencia Repetición de secuencias. Concepto de macroetapa Situaciones Especiales 5.3.1 Evoluciones simultáneas 5.3.2 Acciones y receptividades temporizadas 5.3.3 Transiciones temporizadas 5.3.4 Acción mantenida 6 IMPLEMENTACIÓN DE UN AUTOMATISMO A TRAVÉS DEL GRAFCET 6.1 Módulo secuenciador de etapa 6.2 Obtención de las funciones lógicas a partir del diagrama GRAFCET 6.2.1 Ecuación de activación / desactivación 6.2.2 Ecuaciones de activación de operaciones de mando 6.3 Funciones lógicas de activación / desactivación y estructuras lógicas 6.3.1 Divergencia en OR 6.3.2 Convergencia en OR 6.3.3 Divergencia en AND 6.3.4 Convergencia en AND 7 CICLOS DE EJECUCIÓN : TIPOS 7.1 Marcha ciclo a ciclo 7.2 Marcha automática / Parada de ciclo 7.3 Marcha automática / Marcha ciclo a ciclo 7.4 Marcha de verificación en el orden del ciclo 8 TRATAMIENTO DE ALARMAS Y EMERGENCIAS 8.1 Sin secuencia de emergencia 8.2 Con secuencia de emergencia TEMA 5 : TEORÍA BINODAL 1 INTRODUCCIÓN 2 CONCEPTOS BINODALES BÁSICOS 2.1 Definición general de binodo. Variables de acción 2.2 Binodo " mono " o " monodo ". Gráfico representativo 2.2.1 Obtención de la ecuación lógica del binodo mono 2.3 Binodo " bi ". Grafo de secuencia representativo 2.4 Teoremas del binodo " bi " 1º Teorema ( prioridad de la v.d.a. negadora ) 2º Teorema ( prioridad de la v.d.a. creadora ) 2.5 Multinodo. Grafo de secuencia 2.6 Condicionantes parciales y generales ____________________________________________________________________________________ Índice pág. 3
  • 4.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 3 DISEÑO BINODAL DE AUTOMATISMOS SECUENCIALES 3.1 Variables de acción ( v.d.a ) 3.2 Estados de acción 3.2.1 Estados de acción idénticos 3.2.1.1 Estados de acción idénticos compatibles 3.2.1.2 Estados de acción idénticos incompatibles 3.2.3 Estados de acción no idénticos e incompatibles 4 DISEÑO BINODAL DE AUTOMATISMOS SECUENCIALES QUE NO PRESENTAN ESTADOS IDÉNTICOS INCOMPATIBLES 5 DISEÑO BINODAL DE AUTOMATISMOS SECUENCIALES QUE ESTADOS IDÉNTICOS INCOMPATIBLES 5.1 Automatismos con variable auxiliar 5.2 Variables auxiliares 5.3 Variables directivas 5.3 Discriminación de estados de acción incompatibles 5.4 Dominio de una variable 5.5 Dominio de una situación binodal 5.6 Estados inoperantes o transitorios 5.7 Estados inoperantes o transitorios 6 DISEÑO BINODAL DE AUTOMATISMOS SECUENCIALES GOBERNADOS POR LOS CAMBIOS DE NIVEL ( FLANCOS ) EN SUS ENTRADAS a) Solución mediante variable P diferenciada b) Solución actuando P por flanco explícito b) Solución actuando P por flanco implícito 7 DISEÑO BINODAL DE AUTOMATISMOS SECUENCIALES CON TEMPORIZADOR 7.1 Introducción 7.2 Tipos de temporización 7.2.1.- Temporización en la activación Ata 7.2.2.- Temporización en la desactivación Atd 7.2.3.- Temporización en la activación y en la desactivación Atad A.- Inversión a la salida B.- Inversión a la entrada 7.3 Detección de monodos con apariencia de binodos 8 AUTOMATISMOS CON BINODOS DE APOYO PRESENTAN TEMA 6 : AUTÓMATA PROGRAMABLE FESTO FPC 404 1 OPERANDOS DE LOS FPC DE FESTO 1.1 1.2 1.3 Operandos monobit y multibit 1.1.1 Operandos Monobit 1.1.2 Operandos Multibit Operandos locales y globales 1.2.1 Operandos Globales 1.2.2 Operandos Locales Operadores ____________________________________________________________________________________ Índice pág. 4
  • 5.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 2 ESTRUCTURA DE PROGRAMACIÓN AWL 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 Jerarquía de los elementos awl Instrucción step ( paso ) Frases 2.3.1 Frases típicas Instrucción step Reglas de ejecución Influencia en el flujo del programa Instrucción nop Instrucción jmp Instrucción othrw 3 RESUMEN DE INSTRUCCIONES AWL 4 REFERENCIA DE LAS INSTRUCCIONES AWL AND BID CFM CMP CPL DEB DEC EXOR INC INV JMP TO LOAD...TO NOP OR PSE RESET ROL ROR SET SHIFT SHL SHR SWAP 5 TEMPORIZADORES 5.1 El temporizador 5.2 Funcionamiento de un temporizador 5.3 Utilización de un temporizador 5.3.1 Inicialización de un preselector de temporizador Ejemplo: Inicialización de un Preselector de Temporizador con una base de tiempo Ejemplo : Inicialización de un Preselector de Temporizador sin una base de tiempo 5.3.2 Activación de un temporizador 5.3.3 Interrogación del estado de un temporizador 5.3.4 Paro de un temporizador 5.4 Ejemplos 5.4.1 Retardo de la conexión 5.4.2 Retardo de la desconexión 5.4.3 Impulso de temporización 5.4.4 Impulso de desconexión ____________________________________________________________________________________ Índice pág. 5
  • 6.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 5.5 6 5.4.5 Impulso secuencial 5.4.6 Luz intermitente 5.4.7 Eliminación de rearranques no deseados utilizando la estructura step de awl 5.4.8 Eliminación de continuos rearranques de temporizadores en procesos paralelos Programas de enlaces lógicos para la ejecución de funciones de temporizadores 5.5.1 Ejemplo : retardo de conexión 5.5.2 Ejemplo relacionado a la función de temporizador CONTADORES 6.1 Generalidades 6.1.1 Contadores de hardware 6.1.2 Contadores rápidos 6.1.3 Indicación del estado efectivo del contador 6.1.4 Método multiplexor 6.1.5 Programa para visualizar el estado del contador 6.2 6.3 6.4 6.5 Funciones de los contadores 6.2.1 Aplicación 6.2.2 Programación de una función de contador Utilización de contadores 6.3.1 Contadores estándar 6.3.2 Utilización de Contadores estándar 6.3.3 Inicialización de un Preselector de Contador Ejemplo: Inicialización de un Preselector de Contador con un valor absoluto Ejemplo : Inicialización de un Preselector de Contador con un MBO 6.3.4 Activación de un Contador 6.3.5 Interrogación del estado de un Contador 6.3.6 Conteo de eventos 6.3.7 Parada de un Contador Ejemplos 6.4.1 Contadores estándar 6.4.2 Contadores ASCENDENTES / DESCENDENTES Ejemplo : Utilización de un Registro como contador Programas de enlaces lógicos para la ejecución de funciones de contadores y temporizadores 6.5.1 Ejemplo relacionado a la función de contador 7 UTILIZACIÓN DE REGISTROS 7.1 EJEMPLOS Utilización de Registros en la parte condicional de una frase Utilización de Registros en la parte ejecutiva de una frase 8 FLAGs Y FLAG WORD 8.1 Similitudes con otros operandos multibit 8.2 Diferencias otros operandos multibit 8.3 Ejemplos 8.3.1 Ejemplos en la parte Condicional 8.3.2 Ejemplos en la parte Ejecutiva 8.3.3 Registros de desplazamiento ____________________________________________________________________________________ Índice pág. 6
  • 7.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 9 ACCESO A LAS ENTRADAS Y SALIDAS 9.1 Organización de las e/s ( i/o ) 9.2 Palabras de e/s ( i/o words ) 9.3 Entradas discretas de i/o 9.4 Uso de entradas en programas 9.4.1 Entradas discretas 9.4.2 Palabras de entrada ( Input Words ) 9.5 Uso de salidas en programas 9.5.1 Salidas discretas 9.5.2 Palabras de Salida ( Output Words ) 10 DETECCIÓN DE FLANCOS 10.1 Flancos 10.1.1 Flancos positivos y negativos 10.2 Recordador de flancos 10.3 Programación de la evaluación de flancos positivos y negativos 11 MULTITAREA 11.1 Funcionamiento automático y manual 11.2 Funciones 11.3 Realización con orden de salto ( recuperación de subprogramas ) 11.3.1 Órdenes de salto / Órdenes de salto hacia atrás 11.4 11.5 12 11.3.2 Orden de salto con retorno automático ( recuperación de subprograma ) Realización con la técnica de procesadores Procesadores y programas Activación de un programa Cancelación de un programa Activación de un procesador Cancelación de un procesador PROGRAMAS DE EJEMPLO Ejemplo 1. Completamente secuencial Ejemplo 2. Principalmente secuencial con algunas acciones aleatorias Ejemplo 3. Acciones completamente aleatorias Ejemplo 4. Secuencias múltiples y acciones aleatorias Máquina Transfer rotativa multi-estación ____________________________________________________________________________________ Índice pág. 7
  • 8.
    Sistemas de controlsecuencial ____________________________________________________________________________________ TEMA 1 : INTRODUCCIÓN A LOS AUTOMATISMOS ____________________________________________________________________________________ Introducción a los automatismos pág. 1
  • 9.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Firma no verificada JMGO Firmado digitalmente por JMGO Nombre de reconocimiento (DN): cn=JMGO, o=EDUCACION, ou=ELECTRICIDAD/EL ECTRONICA, c=ES Fecha: 2003.11.11 12:00:21 +01'00' ____________________________________________________________________________________ Introducción a los automatismos pág. 2
  • 10.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 1 INTRODUCCIÓN 1.1 Definición de automatización La Real Academia de Ciencias Exactas Físicas y Naturales define la Automática como el estudio de los métodos y procedimientos cuya finalidad es la sustitución del operador humano por un operador artificial en la generación de una tarea física o mental previamente programada. Partiendo de esta definición y ciñéndonos al ámbito industrial, puede definirse la Automatización como " El estudio y aplicación de la Automática al control de los procesos industriales " 1.2 Introducción La automatización de un proceso industrial ( máquina, conjunto o equipo industrial ) consiste en la incorporación al mismo, de un conjunto de elementos y dispositivos tecnológicos que aseguren su control y buen comportamiento. Dicho automatismo, en general, ha de ser capaz de reaccionar frente alas situaciones previstas de antemano, y por el contrario, frente a imponderables, tener como objetivo situar al proceso y a los recursos humanos que lo asisten en una situación más favorable. Históricamente, los objetivos de la automatización han sido el procurar la reducción de costes de fabricación, la calidad constante en los medios de producción, y liberar al ser humano de las tareas tediosas, peligrosas o insalubres. Sin embargo, desde los años 60, debido a la alta competitividad empresarial y a la internacionalización creciente de los mercados, estos objetivos han sido ampliamente incrementados. Téngase en cuenta que como resultado de dicha competencia, cualquier empresa actualmente se ve sometida a grandes y rápidos procesos de cambio en búsqueda de su adecuación a las demandas del mercado, neutralización de los avances de su competencia, o, simplemente como maniobra de cambio de estrategia al verse acortado el ciclo de vida de alguno de sus productos. Esto obliga a mantener medios de producción adecuados que posean una gran flexibilidad y puedan modificar oportunamente la estrategia de producción. La aparición de la microelectrónica y el computador, ha tenido como consecuencia el que sea posible lograr mayores niveles de integración entre el Sistema Productivo y los centros de decisión y política empresarial, permitiendo que la producción pueda ser contemplada como un flujo de material a través del Sistema Productivo y que interacciona con todas las áreas de la empresa. ____________________________________________________________________________________ Introducción a los automatismos pág. 3
  • 11.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Este concepto es la base de la Automatización Integrada - CIM- ( Computer Integrated Manufacturing ), que tiene como objetivos : * Reducir los niveles de stock y aumentar su rotación Disminuir los costes directos Control de los niveles de stock en tiempo real Reducir los costes de material Aumentar la disponibilidad de las máquinas mediante la reducción de los tiempos de preparación y puesta a punto * Incrementar la productividad * Mejorar el control de calidad * Permitir la rápida introducción de nuevos productos * Mejorar el nivel de servicio * * * * En este contexto, lo que se pretende, es que las denominadas islas de automatización, tales como PLC's, máquinas de control numérico, robots etc. se integren en un sistema de control jerarquizado que permita la conversión de decisiones de política empresarial en operaciones de control de bajo nivel. 2 EL PROCESO TÉCNICO Según la norma DIN 66201, un proceso es un procedimiento para la conversión y/o transporte de material, energía y/o informaciones. Conversión Transporte Material Energía Información Material Proceso Energía Información ____________________________________________________________________________________ Introducción a los automatismos pág. 4
  • 12.
    Sistemas de controlsecuencial ____________________________________________________________________________________ El punto principal de la automatización se encuentra en el sector de la producción. De acuerdo con su funcionamiento puede distinguirse, de forma general, entre cuatro clases de procesos : * * * * Procesos de transformación Procesos de fabricación Procesos de distribución Procesos de medición y de verificación En los procesos de transformación se producen materiales o energía partiendo de materias primas; tienen lugar transformaciones físicas o químicas. Los campos de aplicación son la industria química ( p.ej. producción de fibras sintéticas ), la industria siderúrgica ( p.ej. producción de acero ), fábricas de cemento, centrales eléctricas etc. En los procesos de fabricación se modifica la forma del material por medio de elaboración mecánica. Destacan en este sector las máquinas-herramienta de control numérico, máquinas transfer y máquinas especiales en la construcción de maquinaria, vehículos y máquinas para trabajar la madera. En los procesos de distribución, el material, la energía o las informaciones, se distribuyen con respecto al espacio o al tiempo. Por ejemplo, existen sistemas de almacenamiento que clasifican, agrupan y entregan el material almacenado de forma totalmente automática. En redes de energía y en centrales telefónicas automáticas se controlan distribuidores de energía. En los procesos de medición y de verificación se analizan las propiedades mecánicas, físicas y químicas de los objetos. Estos procesos son típicos en los bancos de pruebas ( p.ej. bancos de pruebas de motores ), en la técnica de los análisis y en ensayos de comprobación para la aviación y la navegación espacial ( p.ej. simuladores de vuelo ). Un aspecto muy interesante, es clasificar los procesos industriales, en función de su evolución con el tiempo. Se pueden clasificar en : * * * Continuos Discontinuos o por lotes Discretos Tradicionalmente, el concepto de automatización industrial se ha ligado al estudio y aplicación de los sistemas de control empleados en los procesos discontinuos y los procesos discretos, dejando los procesos continuos a disciplinas tales como : regulación o servomecanismos 2.1 Procesos continuos Un proceso continuo se caracteriza porque las materias primas están constantemente entrando por un extremo del sistema, mientras que en el otro extremo se obtiene de forma continua un producto terminado. ____________________________________________________________________________________ Introducción a los automatismos pág. 5
  • 13.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Un ejemplo típico de proceso continuo puede ser un sistema de calefacción para mantener una temperatura constante en una determinada instalación industrial. La materia prima de entrada es la temperatura que se quiere alcanzar en la instalación; la salida será la temperatura que realmente existe. El sistema de control, teniendo en cuenta la temperatura de consigna y las informaciones recibidas del proceso, ha de ejecutar las oportunas acciones para que la temperatura de la instalación controlada se mantenga en el punto más cercano a la de referencia. SISTEMA DE CONTROL + ACTUADOR Valvula de gas Regulador - PROCESO Caldera Instalación a temperatura constante TEMPERATURA EN LA INSTALACIÓN FLUIDO DE CONTROL PERDIDAS DE CALOR SELECTOR DE TEMPERATURA DE REFERENCIA SENSOR DE TEMPERATURA EN INSTALACIÓN SENSORES OPERARIO Selecciona la temperatura A la vista de la instalación se comprueban dos características propias de los sistemas continuos : * El proceso se realiza durante un tiempo relativamente largo * Las variables empleadas en el proceso y sistema de control son de tipo analógico. Dentro de unos límites determinados, las variables pueden tomar infinitos valores ____________________________________________________________________________________ Introducción a los automatismos pág. 6
  • 14.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 2.2 Procesos discretos El producto de salida se obtiene a través de una serie de operaciones, muchas de ellas con gran similitud entre sí. La materia prima sobre la que se trabaja es habitualmente un elemento discreto que se trabaja de forma individual. Un ejemplo de proceso discreto es la fabricación de una pieza metálica rectangular con dos taladros. El proceso para obtener la pieza terminada puede descomponerse en una serie de estados que han de realizarse secuencialmente, de forma que para realizar un estado determinado es necesario que se hayan realizado correctamente los anteriores. Para el ejemplo propuesto estos estados son : * Corte de la pieza rectangular con unas dimensiones determinadas, a partir de una barra que alimenta la sierra * Transporte de la pieza rectangular a la base del taladro * Realizar el taladro A * Realizar el taladro B * Evacuar la pieza S1 C3 S1 C1 A B S2 S2 S1 M1 S2 M2 C2 C4 A S2 S1 C5 M3 S1 S2 C4 S2 S1 C5 ____________________________________________________________________________________ Introducción a los automatismos pág. 7
  • 15.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Cada uno de estos estados supone a su vez una serie de activaciones y desactivaciones de los actuadores ( motores y cilindros neumáticos ), que se producirán en función de : * Los sensores de posición ( colocados sobre la cámara de los cilindros ), y contactos auxiliares situados en los contactores que activan los motores eléctricos * 2.3 Variable que indica que se ha realizado el estado anterior Procesos discontinuos o por lotes A B B C E D A B C B D E Se reciben a la entrada del proceso las cantidades de las diferentes piezas discretas que se necesitan para realizar el proceso. Sobre este conjunto se realizan las operaciones necesarias para producir un producto acabado o un producto intermedio listo para un procesamiento posterior. Por ejemplo, se trata de formar una pieza de una máquina partiendo de las piezas representadas en la figura, que se han obtenido a partir de una serie de procesos discretos. Las piezas se ensamblarán como se indica en la figura; una vez colocadas se remacharán los cilindros superiores de las piezas C, D y E de forma que pueda obtenerse la pieza terminada. ____________________________________________________________________________________ Introducción a los automatismos pág. 8
  • 16.
    Sistemas de controlsecuencial ____________________________________________________________________________________ El proceso puede descomponerse en estados, que, por ejemplo, podrían ser : * * * * Posicionar piezas C, D y E Posicionar piezas B Posicionar pieza A Remachar los cilindros superiores de C, D y E Estos estados se realizarán de forma secuencial, y para activar los dispositivos encargados de posicionar las diferentes piezas, serán necesarias : * * Señales de sensores Variables de estados anteriores 3 FORMAS DE REALIZAR EL CONTROL SOBRE UN PROCESO Existen dos formas básicas de realizar el control de un proceso industrial. 3.1 Control en lazo abierto ( bucle abierto ) OPERARIO - Consignas - Órdenes SISTEMA DE CONTROL PRODUCTO DE ENTRADA ACTUADORES PROCESO PRODUCTO TERMINADO El control en lazo abierto se caracteriza porque la información o variables que controlan el proceso circulan en una sola dirección, desde el sistema de control al proceso. El sistema de control no recibe la confirmación de que las acciones que a través de los actuadores se han de realizar sobre el proceso, se hayan ejecutado correctamente. ____________________________________________________________________________________ Introducción a los automatismos pág. 9
  • 17.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 3.2 Control en lazo cerrado ( bucle cerrado ) El control en lazo cerrado se caracteriza porque existe una realimentación de los sensores desde el proceso hacia el sistema de control, que permite a este último conocer si las acciones ordenadas a los actuadores se han realizado correctamente sobre el proceso OPERARIO - Consignas - Órdenes SISTEMA DE CONTROL ACTUADOR PRODUCTO DE ENTRADA PROCESO PRODUCTO TERMINADO SENSORES La mayoría de procesos existentes en la industria utilizan el control en lazo cerrado, bien, porque el producto que se pretende obtener o la variable que se controla necesita un control continuo en función de unos determinados parámetros de entrada, o bien, porque el proceso a controlar se subdivide en una serie de acciones elementales de tal forma que, para realizar una determinada acción sobre el proceso, es necesario que previamente se hayan realizado otra serie de acciones elementales. 4 OPCIONES TECNOLÓGICAS El desarrollo de los automatismos, su complejidad y eficacia, ha ido parejo al desarrollo experimentado a lo largo de los tiempos. Básicamente se puede establecer la clasificación mostrada en el cuadro siguiente, partiendo de dos conceptos principales : el de lógica cableada y lógica programada ____________________________________________________________________________________ Introducción a los automatismos pág. 10
  • 18.
    Sistemas de controlsecuencial ____________________________________________________________________________________ CLASIFICACIÓN TECNOLÓGICA LÓGICA PROGRAMADA LÓGICA CABLEADA Neumática Fluídica Relés 4.1 Eléctrica Electrónica estática Autómata programable Microprocesador Computador Lógica cableada Su denominación viene dada por el tipo de elementos que intervienen en su implementación, en la cual las uniones físicas se realizan mediante cables eléctricos, pero también relés electromagnéticos, interruptores, pulsadores etc., en el caso de la tecnología eléctrica. En lo referente a la tecnología electrónica, las puertas lógicas son los elementos fundamentales mediante los cuales se realizan los automatismos. En el caso de la tecnología fluidica, sus conexiones vienen siendo efectuadas por tuberias de acero, cobre, pvc etc. junto con elementos tales como válvulas, presostatos, manorreductores etc. La tecnología cableada, ha sido y es aún utilizada en los automatismos industriales, aunque va quedando relegada a los accionamientos de cierta potencia, ya que frente a la lógica programada presenta los siguientes inconvenientes : * * * * 4.2 Imposibilidad de realización de funciones complejas de control Gran voluminosidad y peso Escasa flexibilidad frente a modificaciones Reparaciones costosas Lógica programada Se trata de una tecnología desarrollada a partir de la aparición del microprocesador, y de los sistemas programables basados en éste : computador, controladores lógicos y autómatas programables. ____________________________________________________________________________________ Introducción a los automatismos pág. 11
  • 19.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Constantemente, debido a los altos niveles de integración alcanzados en la microelectrónica, el umbral de rentabilidad de esta tecnología decrece y frente a la lógica cableada presenta : * * Gran flexibilidad Posibilidad de cálculo científico e implementación de tareas complejas de control de procesos, comunicaciones y gestión Como inconvenientes a corto y medio plazo, presenta la necesidad de formación en las empresas de personal adecuado para su programación y asistencia, al tratarse de verdaderas herramientas informáticas; también, su relativa vulnerabilidad frente a las agresivas condiciones del medio industrial 4.3 Organigramas para desarrollar el control de un proceso ORGANIGRAMA PARA EL DESARROLLO DE UN PROCESO CON LÓGICA CABLEADA Inicio Documentación del proceso: Especificaciones funcionales Interpretación del proceso Esquemas de potencia, mando, etc, Especificaciones de material, aparatos y sus valoraciones Determinación de tiempos Montaje y sus pruebas Puesta en funcionamiento Fin ____________________________________________________________________________________ Introducción a los automatismos pág. 12
  • 20.
    Sistemas de controlsecuencial ____________________________________________________________________________________ ORGANIGRAMA PARA EL DESARROLLO DE UN PROCESO CON AUTÓMATA PROGRAMABLE Inicio Documentación del proceso * Memoria de func. * Planos, etc. Interpretación del proceso a controlar Diagrama del proceso Determinación de E/S, temp. Cont. etc Elección del autómata Asignación de E/S tem. Cont. etc. Programación * Diagrama de contactos * Lista de instrucciones Esquema electrico de potencia Plano distribución componentes del automatismo Puesta en funcionamiento PLC Esquema de conexionado de E/S del autómata Puesta en modo RUN Montajes Proceso a controlar Fin ____________________________________________________________________________________ Introducción a los automatismos pág. 13
  • 21.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 4.4 Fases de estudio en la elaboración de un automatismo Para el desarrollo y elaboración correcta de un automatismo por el técnico o equipo encargado de ello, es necesario conocer previamente los siguientes datos : a) b) c) Las especificaciones técnicas del proceso y su correcta interpretación La parte económica asignada para no caer en el error de elaborar una buena opción desde el punto de vista técnico, pero inviable económicamente Los materiales, aparatos, etc. existentes en el mercado que se van a utilizar para diseñar el automatismo. En este apartado es importante conocer también : * * Calidad de la información técnica de los equipos Disponibilidad y rapidez en cuanto a recambios y asistencia técnica ORGANIGRAMA GENERAL PARA EL ESTUDIO Y ELABORACIÓN DE AUTOMATISMOS Inicio ESTUDIO PREVIO Especificaciones funcionales Resolución de las opciones tecnológicas más eficaces ESTUDIO TÉCNICO ECONÓMICO Estudio económico opciones Toma de decisiones DECISIÓN FINAL Lógica cableada Lógica programada Fin ____________________________________________________________________________________ Introducción a los automatismos pág. 14
  • 22.
    Sistemas de controlsecuencial ____________________________________________________________________________________ a) Estudio previo Es importante antes de acometer cualquier estudio medianamente serio de un automatismo, el conocer con el mayor detalle posible las características, el funcionamiento, las distintas funciones etc. de la máquina o proceso a automatizar. Esto lo obtenemos de las especificaciones funcionales; base mínima a partir de la cual podremos iniciar el siguiente paso, es decir, estudiar cuales son los elementos más idóneos para la construcción del automatismo. b) Estudio técnico-económico Es la parte técnica de especificaciones del automatismo : relación de materiales, aparatos, su adaptación al sistema y al entorno en el que se haya inscrito, etc. También aquí se ha de valorar la parte operativa del comportamiento del automatismo en todos sus aspectos, como mantenimiento, fiabilidad, etc. Es obvio que la valoración económica, que será función directa de las prestaciones del mismo, ha de quedar incluida en esta parte del estudio. c) Decisión final En el apartado anterior se han debido estudiar las dos posibilidades u opciones tecnológicas posibles : lógica cableada y lógica programada. Con esta información y previa elaboración de los parámetros que se consideren necesarios tener en cuenta, se procede al análisis del problema. Los parámetros que se deben valorar para una decisión correcta pueden ser muchos y variados, algunos de los cuales serán específicos del problema concreto que se va a resolver, pero otros serán comunes, tales como los siguientes : * Ventajas e inconvenientes que se le asignan a cada opción en relación a su fiabilidad, vida media y mantenimiento * Posibilidades de ampliación y de aprovechamiento de lo existente en cada caso * Posibilidades económicas y rentabilidad de la inversión realizada en cada opción * Ahorro desde el punto de vista de necesidades para su manejo y mantenimiento Una vez realizado este análisis solo queda adoptar la solución final elegida. ____________________________________________________________________________________ Introducción a los automatismos pág. 15
  • 23.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 5 ANÁLISIS DE LOS AUTOMATISMOS El método de análisis de los automatismos se establece a partir de la naturaleza de las variables que intervienen en éstos. En los sistemas de automática secuencial, las variables toman en todo momento un número finito de valores manteniendo dos estados claramente diferenciados, por lo que su naturaleza es discreta y binaria. Por ello, para establecer las relaciones funcionales entre las variables intervinientes se toma el Álgebra de Boole, como ente matemático capaz de definir las leyes que relacionan un conjunto de variables discretas binarias. En general, un controlador lógico programable ejecuta unas acciones de control en base a una función lógica, que resulta de la observación y posterior tratamiento de una serie de variables. Con frecuencia los controladores lógicos son sistemas que requieren la memorización de variables de entrada en forma de estado interno, de manera que se puedan tomar decisiones lógicas en un instante determinado, en función de secuencias de los valores de las variables de entrada en el pasado. Por ello disponemos de una serie de variables provenientes de consignas de mando, lecturas efectuadas por los captadores o bien, variables de estado. Dichas funciones lógicas pueden ser representadas por un conjunto de ecuaciones booleanas de la forma : ST = f1 ( ET . QT ) Q ( T + ∆T ) = f2 ( ET . QT ) Siendo : ET el conjunto de variables de entrada al circuito en el instante T ST el conjunto de salidas QT el conjunto de variables internas Donde la primera ecuación ST representa las salidas del circuito como combinación de las variables de entrada e internas y Q (T + ∆T ) representa la actualización del estado interno 5.1 Lógica combinacional Si ocurre la no existencia de variables de estado, el análisis del automatismo puede ser tratado según la lógica de circuitos combinacionales, por lo cual el conjunto de ecuaciones booleanas anteriores queda reducido a la ecuación : ST = f ( ET ) Por tanto, la salida de un automatismo de lógica combinacional, depende única y exclusivamente de la combinación de las variables de entrada ( ET ) ____________________________________________________________________________________ Introducción a los automatismos pág. 16
  • 24.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 5.2 Lógica secuencial Si la salida del automatismo en un instante determinado, depende de la secuencia de valores de las variables de entrada en instantes anteriores, es decir, existen variables de estado, entonces estamos en el caso general descrito por las dos ecuaciones lógicas enunciadas anteriormente. En este caso, el sistema deberá ser analizado según la lógica secuencial. Se comprueba que los procesos discretos y continuos, tienen una gran similitud entre sí. Ambos procesos podrán controlarse mediante el mismo tipo de sistema de control; es decir, mediante un controlador secuencial. Se pueden indicar algunas de las características propias de los procesos que se controlan de forma secuencial : * El proceso puede descomponerse en una serie de estados que se activarán de forma secuencial ( variables internas ) * Cada uno de los estados, cuando está activo realiza una serie de acciones sobre los actuadores ( variables de salida ) * Las señales procedentes de los captadores ( variables de entrada ) controlan la transición entre estados * Las variables empleadas en el proceso y sistema de control ( entrada, salida e internas ), son múltiples y generalmente de tipo discreto, solo toman 2 valores, activado y desactivado. En función de como se realice la transición entre estados, los controladores secuenciales pueden ser de dos tipos : * Asíncronos * Síncronos Los circuitos secuenciales asíncronos son aquellos en los que las variables de entrada actúan sobre el estado interno del sistema en el mismo instante en que pasan a un determinado estado, o cambian de estado. Para sistemas de control de relativa sencillez estos circuitos pueden ser adecuados, no así cuando existan problemas de fenómenos aleatorios, difícilmente controlables cuando cambia de estado más de una variable de entrada o de estado interno simultáneamente. Variables de entrada Xo...Xn Sensores CONTROLADOR SECUENCIAL ASÍNCRONO Sistema Combinacional Variables de salida Yo...Yn Actuadores Estados Eo+1...En+1 Células de Memoria PROCESO Estados Eo...En ____________________________________________________________________________________ Introducción a los automatismos pág. 17
  • 25.
    Sistemas de controlsecuencial ____________________________________________________________________________________ En los controladores síncronos la transición a un estado determinado se produce en función de las variables de entrada y de la variable asociada al estado anterior. Las variables de entrada y la variable interna están sincronizadas mediante una señal de reloj de frecuencia fija, de forma que la transición entre estados solo se produce para un flanco de la señal de reloj. Las células de memoria que almacenan las variables de entrada se activan todas, de forma conjunta con la señal de reloj, permitiendo el paso al circuito combinacional de las Xn variables; las células que almacenan las variables asociadas a los estados se activan mediante la señal del contador de forma individual; a cada impulso de la señal de reloj, el contador se incrementa en una unidad permitiendo el acceso a una sola célula Los controladores síncronos y asíncronos descritos podrían construirse empleando lógica cableada y elementos discretos de tecnologías como electrónica, electricidad o neumática. El único requisito que tendría que cumplir el controlador sería que el tiempo que necesita el circuito combinacional para tomar decisiones ( ciclo de trabajo ), en función de las variables de entrada y estados anteriores, tendría que ser mucho menor que el tiempo de evolución del proceso. Variables de entrada Xo...Xn Sensores CONTROLADOR SECUENCIAL SÍNCRONO Células de Memoria Lect. paralelo Sistema Combinacional Variables de salida Yo...Yn Actuadores Células de Memoria Lect. serie Reloj Contador PROCESO Al emplear lógica cableada, la configuración del circuito combinacional y las operaciones lógicas que ha de realizar, dependen de la cantidad de variables necesarias para controlar el proceso ( variables de entrada y salida ) y del número de estados en que se ha desglosado ( variables internas ). Una modificación del proceso que suponga una modificación del nº de variables anteriores o en su orden de actuación, significa diseñar de nuevo el controlador secuencial. ____________________________________________________________________________________ Introducción a los automatismos pág. 18
  • 26.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Basándose en el microprocesador puede construirse un controlador secuencial síncrono cuya configuración es independiente del nº de variables y del orden en que éstas actúan en el proceso. El circuito combinacional se sustituye por la memoria del programa y la unidad operativa del microprocesador. La memoria del programa de usuario almacena las operaciones lógicas y con que variables se han de realizar; la unidad operativa se encarga de realizarlo: El contador de programa del microprocesador accederá secuencialmente a las posiciones de memoria de programa de usuario. ____________________________________________________________________________________ Introducción a los automatismos pág. 19
  • 27.
    Sistemas de controlsecuencial _____________________________________________________________________________________ TEMA 2 : REPRESENTACIÓN DE LOS AUTOMATISMOS _____________________________________________________________________________________ Representación de los automatismos pág.1
  • 28.
    Sistemas de controlsecuencial _____________________________________________________________________________________ _____________________________________________________________________________________ Representación de los automatismos pág.2
  • 29.
    Sistemas de controlsecuencial _____________________________________________________________________________________ Toda función lógica puede ser representada gráfica y simbólicamente, dependiendo de la tecnología utilizada en su implementación. Dejando para un tema posterior la representación simbólica nemotécnica propia de la lógica programable, la representación gráfica de la lógica cableada puede ser bien a través de los diagramas de contactos, si lo que se utiliza es tecnología eléctrica, o bien la representación puede ser a través de diagramas de funciones lógicas, si lo que se utiliza es la tecnología electrónica de puertas lógicas. 1 LÓGICA DE CONTACTOS Se trata de la representación gráfica de esquemas de automatismos eléctricos, en los cuales, el elemento fundamental es el interruptor electromagnético denominado relé, junto con pulsadores, interruptores y contactores. Este método de representación ha tenido profusa difusión entre los automaticistas eléctricos en la época inmediata anterior, donde los dispositivos automáticos han estado basados en armarios de relés. Este tipo de representación gráfica se sigue manteniendo ampliamente por los fabricantes de dispositivos basados en lógica programable, procurando de esta manera salvar el inconveniente de tener que formar a personal no expresamente informático en lenguajes evolucionados de alto nivel. Por ello pasamos a mostrar los elementos fundamentales de la lógica de contactos y la representación mediante el siguiente cuadro : FUNCIÓN O AND . + Complemento OR & Nemónicos Y ≥ Representación Booleana X Norma CEI Norma Francesa Norma NEMA DIN 40713 16 _____________________________________________________________________________________ Representación de los automatismos pág.3
  • 30.
    Sistemas de controlsecuencial _____________________________________________________________________________________ 1.1 Elementos de entrada Los elementos de entrada pueden ser pulsadores, interruptores, captadores tales como finales de carrera, detectores de proximidad, etc. Son los dispositivos físicos mediante los cuales el automatismo realiza la observación de las variables de entrada. Por tanto, se debe asociar a dichos elementos las variables de entrada de cuya combinación resultará una función lógica que activará o no la salida correspondiente. Las variables de entrada pueden ser clasificadas como : * Variables de entrada directa * Variables de entrada inversa La variable de entrada directa, da un "1" lógico cuando es activada. La variable de entrada inversa, da un "0" lógico cuando es activada. Se representará pues como una variable negada. Según donde se realice la observación del automatismo, las variables de entrada pueden clasificarse como : * * Variable de entrada pura Variable de salida realimentada La variable de entrada pura, proviene de acciones de mando del operador, o bien de la lectura de los elementos de entrada. La variable de salida realimentada, proviene de la realimentación de una variable de salida y posterior consideración como variable de entrada. Esto puede tener lugar en automatismos que deban ser tratados según la lógica secuencial síncrona o asíncrona. Norma DIN Variable de entrada directa Norma NEMA Norma CEI Xo Xo Xo Xo Xo Xo Yo Yo ( normalmente abierta ) Variable de entrada inversa ( normalmente cerrada ) Variable de salida Yo 1.2 Elementos de salida Los elementos de salida deberán ser asociados a las variables de salida de las funciones lógicas. Casi siempre vendrán implementadas físicamente por el circuito de mando de un relé o de un contactor _____________________________________________________________________________________ Representación de los automatismos pág.4
  • 31.
    Sistemas de controlsecuencial _____________________________________________________________________________________ 1.3 Asociación de elementos Los diversos elementos bien sean normalmente abiertos o normalmente cerrados, pueden conectarse de forma asociada formando diversas funciones lógicas 1.3.1 Función lógica O Se trata de la conexión en paralelo de diversos elementos de entrada a1 y a2 a3 y = a1 + a2 + a3 1.3.2 Función lógica Y Se trata de la conexión en serie de diversos elementos de entrada a1 a2 a3 y y = a1 . a2 . a3 1.3.3 Función O lógica de funciones Y Corresponde a la conexión en paralelo de dos o más ramas en serie a1 a2 a3 y a4 a5 a6 y = ( a1 . a2 . a3 ) + ( a4 . a5 . a6 ) _____________________________________________________________________________________ Representación de los automatismos pág.5
  • 32.
    Sistemas de controlsecuencial _____________________________________________________________________________________ 1.3.4 Función Y lógica de funciones O Corresponde a la conexión en serie de conjuntos de dos o más ramas en paralelo a1 a3 y a2 a4 y = ( a1 + a2 ) . ( a3 + a4 ) A partir de las funciones básicas enumeradas, se pueden establecer combinaciones entre ellas de diversa complejidad 2 Lógica de funciones Los sistemas digitales se caracterizan por funcionar de modo binario, es decir, emplean dispositivos mediante los cuales solo son posibles dos estados. Por tanto, al transistor solo le vamos a permitir trabajar en la zona de corte o en la de saturación, nunca en la zona activa ( ideal para el uso del transistor como amplificador ). Esta naturaleza biestable ( todo - nada ) o nivel alto - nivel bajo de muchos dispositivos industriales hace posible tratar su función mediante un cálculo matemático que solo opere con dos valores "0" y "1" Existen dos sistemas lógicos distintos : Lógica positiva : Cuando el estado alto coincide con el "1" lógico y el estado bajo con el "0" lógico Lógica negativa : Cuando el estado alto coincide con el "0" lógico y el estado bajo con el "1" lógico El desarrollo de los distintos bloques lógicos se puede realizar con elementos de alguna de las siguientes familias lógicas : * * * * * Familia RTL : Familia DTL : Familia TTL : Familia ECL : Familia C-MOS Lógica transistor - resistencia Lógica transistor - diodo Lógica transistor - transistor Lógica acoplada por emisor _____________________________________________________________________________________ Representación de los automatismos pág.6
  • 33.
    Sistemas de controlsecuencial _____________________________________________________________________________________ 2.1 Función "O" u "OR" ( Suma lógica ) La función, puerta o dispositivo OR se caracteriza porque proporciona una salida "1" siempre que sea "1" el estado de al menos una de las variables de entrada, es decir, realiza la suma lógica S=A+B Los símbolos más generalizados para la representación de la función lógica "OR " son : A B ≥1 A B C S=A+B S=A+B+C La representación de todas las combinaciones posibles de las variables de entrada y su repercusión en las salidas se expresa mediante una tabla llamada " Tabla de verdad " Tabla de verdad A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 2.2 C 0 1 0 1 0 1 0 1 S 0 1 1 1 1 1 1 1 Representación gráfica de una ecuación lógica con todas las combinaciones posibles de sus variables binarias ( 0, 1 ) y el resultado final Nº combinaciones = 2n Función "Y" O "AND" ( Producto lógico ) La función AND se caracteriza porque la salida es "1" solamente cuando todas las variables de entrada son "1", realiza pues el producto lógico S=A·B A B & S=A·B A B C S=A·B·C _____________________________________________________________________________________ Representación de los automatismos pág.7
  • 34.
    Sistemas de controlsecuencial _____________________________________________________________________________________ A 0 0 0 0 1 1 1 1 Tabla de verdad 2.3 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 S 0 0 0 0 0 0 0 1 Función NOT ( Negación, inversión o complemento ) Representa el valor inverso de la variable o función. Gráficamente, se expresa mediante una rayita o barra colocada encima de la variable o función Si A = 1, A A será A = 1 A Tabla de verdad 2.4.- será A = 0 Si A = 0, S=A A 0 1 A S 1 0 Función NOR ( NO-O ) Si después de efectuar una operación "OR", realizamos una inversión, obtendremos la función NO - O o NOR A B S= A+B=A·B Tabla de verdad A 0 0 1 1 B 0 1 0 1 S 1 0 0 0 A B ≥1 S=A+B S=A+B _____________________________________________________________________________________ Representación de los automatismos pág.8
  • 35.
    Sistemas de controlsecuencial _____________________________________________________________________________________ 2.5 Función NAND ( NO - Y ) Si después de efectuar una operación AND, realizamos una inversión, obtenemos la función NO - Y o NAND S= A·B=A+B A B & S=A·B S=A·B A B Tabla de verdad 2.6 S=A·B A B A 0 0 1 1 B 0 1 0 1 S 1 1 1 0 Función OR - Exclusiva ( XOR ) La salida es "1" cuando las entradas están en distinto estado S= A⊕B=A·B+A·B A B =1 S=A + B S=A + B A B Tabla de verdad A 0 0 1 1 B 0 1 0 1 S 0 1 1 0 _____________________________________________________________________________________ Representación de los automatismos pág.9
  • 36.
    Sistemas de controlsecuencial _____________________________________________________________________________________ 2.7 Función NOR - Exclusiva ( XNOR ) La salida es "1" cuando las entradas están en el mismo estado S= A B=A·B+A·B S=A A B Tabla de verdad 2.8 A 0 0 1 1 B 0 1 0 1 B S 1 0 0 1 Función IGUALDAD Se trata de una puerta lógica de igualdad, lo que quiere decir que su salida siempre tiene el mismo valor que su entrada. Es utilizada como amplificador digital S= A A Tabla de verdad 3 S A A 0 1 S S 0 1 LÓGICA NEUMÁTICA Las válvulas neumáticas realizan distintas funciones lógicas conectándolas adecuadamente. Las funciones lógicas más complejas pueden realizarse también mediante la conexión de varias válvulas El esquema lógico contiene todos los elementos necesarios y sus líneas para el funcionamiento de la máquina. En neumática, se indican además, todos los acoplamientos de aire comprimido ( P ) y sus escapes. _____________________________________________________________________________________ Representación de los automatismos pág.10
  • 37.
    Sistemas de controlsecuencial _____________________________________________________________________________________ 3.1 Función "O" u "OR" ( Válvula selectora de circuito ) La válvula selectora de circuito es necesaria cuando desde dos o más puntos de emisión de señal ha de quedar accionado el mismo proceso. S=A+B Los símbolos más generalizados para la representación de la función lógica "OR " son : A B ≥1 A B C S=A+B S=A+B+C La representación neumática de la función OR es la siguiente : 2 (A) 12 ( X ) 14 ( Y ) Tabla de verdad A 0 0 1 1 B 0 1 0 1 S 0 1 1 1 Ejemplo : Mando de un cilindro de simple efecto desde dos puntos diferentes 1.0 2 12 14 1.6 2 2 1.2 1 3 1.4 1 3 No es posible la conexión en paralelo de válvulas para obtener la función "OR", ya que de no existir la válvula selectora de circuito, al accionar las válvulas 1.2 ó 1.4, el aire escaparía a través de la purga de la otra válvula. _____________________________________________________________________________________ Representación de los automatismos pág.11
  • 38.
    Sistemas de controlsecuencial _____________________________________________________________________________________ Si se desea llevar varias señales hacia la misma salida, es necesario conectar válvulas selectoras en paralelo ( ya que siempre existen solo dos entradas por válvula ) Ejemplo : 4 señales e1......e4 han de accionar el mismo proceso Número necesario de válvulas Nv en una salida S Nv = Ne - 1 Ne = nº de señales de entrada Las posibilidades de conexionado de válvulas selectoras que se representan en la siguiente figura son totalmente equivalentes en cuanto a la lógica. En la práctica sin embargo, conviene aplicar preferentemente la posibilidad a), ya que aquí las señales de entrada han de pasar por el mismo número de resistencias ( válvulas ). Una composición totalmente simétrica sin embargo, sólo es posible con 2, 4, 8, 16 ... etc. señales de entrada. Se tienen las dos posibilidades de conexión siguientes Posibilidad A S 2 12 14 2 2 12 12 14 14 e2 e3 e1 Posibilidad B e4 S 2 12 14 2 12 14 2 12 e1 14 e2 e3 e4 _____________________________________________________________________________________ Representación de los automatismos pág.12
  • 39.
    Sistemas de controlsecuencial _____________________________________________________________________________________ 3.2 Función "Y" O "AND" ( Válvula de simultaneidad ) La función AND se caracteriza porque la salida es "1" solamente cuando todas las variables de entrada son "1", realiza pues el producto lógico S=A·B A B & A B C S=A·B S=A·B·C La representación neumática de la función AND es la siguiente 2 12 Tabla de verdad 14 A 0 0 1 1 B 0 1 0 1 S 0 0 0 1 En neumática existen en principio, 3 posibilidades de realizar la función Y 1ª Posibilidad : Por conexión en serie S 2 1.4 1 3 2 1.2 1 Ventajas : 3 Coste más bajo de elementos, solución más económica Desventajas : En la práctica, a menudo conducciones muy largas entre los órganos de señal. La señal de la válvula 1.4 no se puede co-utilizar en otras combinaciones de señales, ya que sólo tiene energía en conexión Y con la válvula 1.2 _____________________________________________________________________________________ Representación de los automatismos pág.13
  • 40.
    Sistemas de controlsecuencial _____________________________________________________________________________________ 2ª Posibilidad : Por válvula de simultaneidad S 2 12 14 1.6 2 2 1.2 1 Ventajas : 1.4 1 3 3 Las señales de las válvulas 1.2 y 1.4 pueden co-utilizarse a voluntad en otras combinaciones de señales, ya que ambos órganos de señal quedan abastecidos directamente con energía. Ambas líneas de señal pueden llevarse por el trecho más corto a la válvula de simultaneidad 1.6 Desventajas : El gasto en componentes es mayor que en la 1ª posibilidad. En cuanto a la energía resulta que en la salida de la válvula de simultaneidad aparece siempre la señal más débil 3ª Posibilidad : Con válvula de accionamiento neumático de 3/2 vías cerrada en reposo S 2 1.6 1 2 1.2 Ventajas : 1 3 2 3 1.4 1 3 Todas las ventajas de la 2ª posibilidad. Adicionalmente existe aquí la posibilidad de conectar la señal débil en el empalme 12 y la señal fuerte en el empalme 1 de la válvula 1.6. Con ello está garantizado que la señal fuerte aparezca en la salida 2 ( efecto de amplificación ) Desventajas : Mayor gasto de componentes Cuando en la práctica hace falta una operación Y con más de dos entradas, rige análogamente lo mismo que en el accionamiento de válvulas selectoras de circuito. _____________________________________________________________________________________ Representación de los automatismos pág.14
  • 41.
    Sistemas de controlsecuencial _____________________________________________________________________________________ Ejemplo : El proceso debe realizarse solamente cuando existan 5 señales e1...e5 El número de válvulas de simultaneidad necesarias resulta ser : Nv = Ne - 1 = 5-1 = 4 Ne = número de señales de entrada La siguiente figura muestra las dos posibilidades de conexionado de válvulas de simultaneidad. También aquí conviene dar la preferencia a la posibilidad a), como en las válvulas selectoras de circuito. Posibilidad a S 2 12 14 2 2 12 14 12 14 2 12 e1 e2 e3 14 e4 e5 Posibilidad b S 2 12 14 2 12 14 2 12 14 2 12 e1 14 e2 e3 e4 e5 _____________________________________________________________________________________ Representación de los automatismos pág.15
  • 42.
    Sistemas de controlsecuencial _____________________________________________________________________________________ Ejemplo de función Y : El vástago de un cilindro de doble efecto ha de salir únicamente en el caso en que se accione un pulsador y al mismo tiempo se disponga de la información de un estado determinado de la instalación ( por ejemplo presencia de material ). El retroceso del cilindro se producirá por medio de un final de carrera situado en la posición final delantera del vástago. 1.3 1.0 4 2 12 14 1.1 1 3 2 12 14 1.6 2 1.2 1 3.3 2 1.4 3 1 2 1.3 1 3 3 Función NO ( Negación, inversión o complemento ) Representa el valor inverso de la variable o función. Gráficamente, se expresa mediante una rayita o barra colocada encima de la variable o función. En neumática, si se ha de realizar un proceso cuando la señal de mando tenga valor "0", hace falta una válvula que emita señal "1" por la salida cuando la señal de mando es "0" Si A = 1, A A será A = 0 Si A = 0, S=A será A = 1 A A La representación neumática de la función NO es la siguiente : S A 2 10 Válvula de 3 vias abierta en reposo 1 3 _____________________________________________________________________________________ Representación de los automatismos pág.16
  • 43.
    Sistemas de controlsecuencial _____________________________________________________________________________________ S S S = 1, si A = 0 & S=A.B & S = 1, si B = 1 y A = 0 B A A Símbolo función NO de Parker Conexionado en inhibición A 0 1 Tabla de verdad S 1 0 Ejemplo de función NO : Ha de sonar una señal acústica si un dispositivo de protección no está cerrado. Bocina 1.0 1.1 2 10 1 1.2 2 1 3.4 3 3 Función NOR ( NO-O ) La función se obtiene por inversión de la función OR A B S= A+B=A·B Tabla de verdad A 0 0 1 1 B 0 1 0 1 S 1 0 0 0 A B ≥1 S=A+B S=A+B _____________________________________________________________________________________ Representación de los automatismos pág.17
  • 44.
    Sistemas de controlsecuencial _____________________________________________________________________________________ Neumáticamente la función NOR se puede realizar con el siguiente montaje S 2 10 1 2 A 3.5 12 14 3 B Función NAND ( NO - Y ) La función se obtiene por inversión de la puerta AND S= A·B=A+B A B S=A·B & Tabla de verdad S=A·B A B A 0 0 1 1 B 0 1 0 1 S 1 1 1 0 Con elementos neumáticos, la función NAND se realiza con el siguiente montaje S S 1ª Posibilidad 2ª Posibilidad 2 2 10 10 1 1 3 2 A 12 3 2 14 B A 1 3 B _____________________________________________________________________________________ Representación de los automatismos pág.18
  • 45.
    Sistemas de controlsecuencial _____________________________________________________________________________________ 3.6 Función OR - Exclusiva ( XOR ) La salida es "1" cuando las entradas están en distinto estado S= A⊕B=A·B+A·B A B S=A + B =1 S=A + B A B A 0 0 1 1 Tabla de verdad B 0 1 0 1 S 0 1 1 0 Con elementos neumáticos, la función XOR se realiza con el siguiente montaje S 2 1 2 12 14 2 10 1 2 1 A 3 3 3 B _____________________________________________________________________________________ Representación de los automatismos pág.19
  • 46.
    Sistemas de controlsecuencial _____________________________________________________________________________________ 3.7 Función NOR - Exclusiva ( XNOR ) La salida es "1" cuando las entradas están en el mismo estado S= A B=A·B+A·B S=A A B A 0 0 1 1 Tabla de verdad B 0 1 0 1 B S 1 0 0 1 Con elementos neumáticos, la función XNOR se puede realizar con el siguiente montaje S 2 12 14 2 2 10 10 1 3 1 3 2 12 14 A B _____________________________________________________________________________________ Representación de los automatismos pág.20
  • 47.
    Sistemas de controlsecuencial _____________________________________________________________________________________ 3.8 Función IGUALDAD La salida siempre tiene el mismo valor que la entrada. Es utilizada como regenerador S= A A S A A 0 1 Tabla de verdad S S 0 1 En neumática, la función igualdad puede obtenerse, bien con una célula lógica o bien utilizando una válvula 3/2 vías cerrada en reposo, tal como se indica en la siguiente figura S 2 A 10 Válvula de 3 vias cerrada en reposo 1 3 S = S=A ( regenerado ) A Símbolo función SI de Parker _____________________________________________________________________________________ Representación de los automatismos pág.21
  • 48.
    Sistemas de controlsecuencial _____________________________________________________________________________________ 4 IMPLEMENTACIÓN DE FUNCIONES Se denomina implementar una función, a realizar el circuito que cumpla la ecuación de dicha función. Obtenida la ecuación lógica de funcionamiento del circuito de mando de un automatismo, se puede elegir la tecnología a utilizar ( contactos, puertas lógicas, neumática, hidráulica ), teniendo en cuenta que cada una de estas tecnologías tiene elementos para realizar las distintas funciones lógicas, pero asimismo, no todas las funciones pueden realizarse de forma económica con cualquier tecnología. Cada tecnología posee funciones características que son óptimas desde el punto de vista económico y tecnológico 4.1 Implementación de funciones lógicas con contactos Cuando se desea implementar la ecuación de funcionamiento del circuito de mando de un automatismo con contactores y pulsadores, se deben tener en cuenta las siguientes normas : * Cada ecuación se implementará con un contactor o relé * Las entradas de la ecuación se realizan con contactos ( interruptores, pulsadores o contactos auxiliares de los contactores ) * Cuando en una ecuación aparece como entrada una salida, dicha entrada se realiza con un contacto auxiliar del contactor que implementa dicha ecuación * Las multiplicaciones de variables en una ecuación equivalen a poner en serie los elementos que representan dichas variables * Las sumas de variables en una ecuación equivalen a poner en paralelo los elementos que componen dicha suma * Las negaciones de variables en una ecuación equivalen al empleo de elementos ( pulsadores o contactos ) normalmente cerrados * Las negaciones de grupos de variables no pueden implementarse directamente, precisando de la aplicación del álgebra de Boole para su reducción a variables simples. Ejemplo : A+B+C=A·B·C Problema : Implementar, con pulsadores solamente, la siguiente ecuación lógica de un automatismo : S=A.B.(C+D) Solución : Cuando se implementa un circuito sólo con pulsadores, cada una de las variables de entrada estará representada por un pulsador que, según se encuentre negada o no, corresponderá a un pulsador normalmente cerrado o normalmente abierto _____________________________________________________________________________________ Representación de los automatismos pág.22
  • 49.
    Sistemas de controlsecuencial _____________________________________________________________________________________ La implementación del circuito se realiza representando en primer lugar la alimentación. En serie con ella se representa el circuito equivalente en pulsadores - a la ecuación de funcionamiento - y, por último, también en serie, el receptor cuya funcionamiento define la ecuación. En nuestro caso, tenemos 4 variables de entrada asociadas de la siguiente forma : • Las variables C y D bajo la forma de suma que se representarán, por tanto, con dos pulsadores en paralelo. El correspondiente a C será normalmente cerrado, por encontrarse esta variable negada, mientras que el correspondiente a D será normalmente abierto • Las variables A y B bajo la forma de producto en conjunto con el bloque ( C + D ) serán representadas por dos pulsadores en serie, en conjunto con el bloque anterior. El pulsador de A será normalmente cerrado B C Receptor S A D Alimentación 4.2 Implementación de funciones con puertas lógicas A partir de la ecuación de funcionamiento del automatismo, se puede implementar la función con la utilización de las puertas lógicas ya descritas. Sin embargo, ello requeriría la disponibilidad de toda la serie de circuitos integrados digitales. De otra parte, todas las funciones básicas pueden ser sustituidas por las puertas NAND y NOR. Este aspecto es muy importante dado que casi todos los circuitos tienden a realizarse mediante este tipo de puertas, con el fin de simplificar el montaje de aquellos problemas digitales en los que intervienen sumas, productos, negaciones, etc., que supondrían bastantes tipos de funciones específicas a realizar por un solo elemento que la ejecute, complicando sobremanera su montaje. Mediante la correcta utilización del teorema de De Morgan, se puede resolver cualquier ecuación con estas dos funciones. _____________________________________________________________________________________ Representación de los automatismos pág.23
  • 50.
    Sistemas de controlsecuencial _____________________________________________________________________________________ Equivalencias entre puertas lógicas Función a a b Puertas NAND S a a b S Puertas NOR a S S a S S b a a b S S a b S b a a b S S b a a b S S b 4.2.1 Implementación de funciones con puertas NAND El proceso es el siguiente : 1.- Una vez obtenida la expresión correspondiente del problema, se realiza a todo el conjunto una doble inversión o negación 2.- Si en la expresión resultante existe algún producto, las dos negaciones deben dejarse tal cual. Si por el contrario, es una suma, aplicaremos el teorema de De Morgan sobre dicha suma 3.- Se continua realizando el proceso anterior hasta la obtención de una función compuesta exclusivamente por productos negados. _____________________________________________________________________________________ Representación de los automatismos pág.24
  • 51.
    Sistemas de controlsecuencial _____________________________________________________________________________________ Como ejemplo, vamos a realizar la implementación mediante puertas NAND de la función OR Función OR ----------- S = a + b Con puertas NAND : S = a + b ............ ( 1 ) S = a · b............... ( 2 ) y ( 3 ) que, representado lógicamente, sería la función existente en la tabla de equivalencias 4.2.2 Implementación de funciones con puertas NOR El proceso es el siguiente : 1.- Una vez obtenida la expresión correspondiente del problema, se realiza a todo el conjunto una doble inversión o negación 2.- Si en la expresión resultante existe alguna suma, las dos negaciones deben dejarse tal cual. Si por el contrario, es un producto, aplicaremos el teorema de De Morgan sobre dicho producto 3.- Se continua realizando el proceso anterior hasta la obtención de una función compuesta exclusivamente por sumas negadas. Como ejemplo, vamos a realizar la implementación con puertas NOR de la función Y Función Y ----------- S = a · b Con puertas NOR : S = a + b ............ ( 1 ) S = a · b............... ( 2 ) y ( 3 ) obteniendo la representación lógica mostrada en la tabla de equivalencias de puertas 4.3 Implementación de funciones con elementos neumáticos Cuando se desea implementar la ecuación de funcionamiento del circuito de mando de un automatismo con elementos neumáticos, se deben tener en cuenta las siguientes normas : * Las entradas de la ecuación se realizan con válvulas distribuidoras ( válvulas de vías, en sus diversas disposiciones ) * Las multiplicaciones de variables en una ecuación equivalen a poner en serie los elementos que representan dichas variables. Se puede utilizar : bien la conexión en serie de válvulas, o bien usar las válvulas de simultaneidad * Las sumas de variables en una ecuación equivalen a poner en paralelo los elementos que componen dicha suma. En este caso conviene utilizar las válvulas selectoras de circuito _____________________________________________________________________________________ Representación de los automatismos pág.25
  • 52.
    Sistemas de controlsecuencial _____________________________________________________________________________________ * Las negaciones de variables en una ecuación equivalen al empleo de elementos ( válvulas ) normalmente abiertas. Aquí, para realizar la función, se dispone de : válvulas de vías normalmente abiertas, función NO y función Inhibición. * Las negaciones de grupos de variables no pueden implementarse directamente, precisando de la aplicación del álgebra de Boole para su reducción a variables simples. Ejemplo : A+B+C=A·B·C Problema : Implementar, con elementos neumáticos solamente, la siguiente ecuación lógica de un automatismo : S = P1 . I1 + P0 S P1 I1 P0 _____________________________________________________________________________________ Representación de los automatismos pág.26
  • 53.
    Sistemas de controlsecuencial ____________________________________________________________________________________ TEMA 3 : ÁLGEBRA DE BOOLE ____________________________________________________________________________________ Algebra de Boole pág. 1
  • 54.
    Sistemas de controlsecuencial ____________________________________________________________________________________ ____________________________________________________________________________________ Algebra de Boole pág. 2
  • 55.
    Sistemas de controlsecuencial ____________________________________________________________________________________ El fin de toda álgebra o sistema matemático es el de representar, mediante una serie de símbolos y operaciones un grupo de objetos o elementos con el fin de obtener una serie de ecuaciones escritas en forma simbólica, que mediante su manipulación y/o simplificación correctas nos den la solución de un sistema con el menor número de elementos posible, de modo que sea idéntica a la dada. El filósofo y matemático George Boole desarrolló a mediados del siglo XX un sistema matemático basado en relaciones lógicas, estableciendo una serie de postulados y operaciones con la misión de resolver los automatismos o procesos a ejecutar. La diferencia entre el álgebra convencional y el álgebra de Boole es que esta última está relacionada con dos operaciones binarias lógicas, como son la suma ( + ) y el producto ( . ) lógicos, y con las variables "0" y "1"; mientras que la convencional necesita de relaciones cuantitativas, es decir, necesitamos saber si X es mayor que Y por ejemplo. Basado en estas relaciones lógicas, su álgebra da a todos sus elementos dos únicos valores ( 0 y 1 ) que son opuestos entre sí. 1 AXIOMAS DEL ÁLGEBRA DE BOOLE En este punto, se indican todos aquellos postulados o teoremas que relacionan el álgebra de Boole, apoyándonos en la representación de contactos eléctricos para una mayor comprensión. Recordemos que el signo suma (+) en el álgebra de Boole equivale, traducido al álgebra de contactos eléctricos, a un circuito paralelo, mientras que el signo producto (.) equivale al circuito serie. Operación Expresión Booleana Contactos eléctricos a Suma a+b b a Producto b a.b Significar que la operación producto se indica generalmente mediante la ausencia de símbolo entre dos variables. También : a · b = ab 1 lógico equivale a contacto cerrado 0 lógico equivale a contacto abierto ____________________________________________________________________________________ Algebra de Boole pág. 3
  • 56.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 1.1 Postulados y teoremas 1.- Las operaciones suma y producto son conmutativas : b a a) a+b=b+a = b b) 2.- a ab = ba b = ( ab ) c = a ( bc ) = abc Ambas operaciones son distributivas : a a + bc = ( a + b ) ( a + c ) a ( b + c ) = ( ab ) + ( ac ) = b c b a c a b a c = c 4.- a a b b) a (a+b)+c=a+(b+c)=a+b+c b) a) b Ambas operaciones son asociativas : a) 3.- a La suma o producto de dos variables iguales equivale a la misma variable a a) a+a= a = a a b) a.a = a a a a = ____________________________________________________________________________________ Algebra de Boole pág. 4
  • 57.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 5.- Existe elemento complementario para cada operación : a a) a+ a=1 1 = a b) 6.- a.a = 0 a 0 a = Ley de absorción a a) a a + ab = a = a b) a(a+b)= a b a a a = b 7.Existen dos elementos neutros, el 0 y el 1, cumpliéndose la propiedad en dos de los casos, quedando como 1 y 0 lógicos en los otros dos : a) a.1= a a 1 a = a b) a = a+0= a 0 a c) 0 a.0= 0 = a d) a+1= 1 0 1 = 1 ____________________________________________________________________________________ Algebra de Boole pág. 5
  • 58.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 8.- Para todo elemento del álgebra de Boole se cumple que : = a = a Lo que queda perfectamente aclarado comprobando su tabla de verdad a = a 0 1 9.- _ a 1 0 0 1 Postulado noveno a a a) a+ab=a+b = a b) a(a+b)= ab b b a a a = b b Demostración a) b) 2 a+ab=(a+a)(a+b)=1(a+b)=a+b a(a+b)=aa+ab=0+ab=ab TEOREMA DE DE MORGAN Permite transformar funciones " suma " en funciones " producto " y viceversa. a) A+B=A·B c) A+B=A·B b) A·B=A+B d) A·B=A+B ____________________________________________________________________________________ Algebra de Boole pág. 6
  • 59.
    Sistemas de controlsecuencial ____________________________________________________________________________________ * La ecuación a) nos demuestra que podemos conseguir una puerta NOR invirtiendo las entradas de una puerta AND * La ecuación b) nos demuestra que podemos obtener una puerta NAND invirtiendo las entradas de una puerta OR * La ecuación c) nos demuestra que podemos obtener una puerta OR invirtiendo las entradas de una puerta NAND * La ecuación d) nos demuestra que podemos obtener una puerta AND invirtiendo las entradas de una puerta NOR Los teoremas del álgebra de Boole son demostrables por el método de inducción completa que consiste en comprobar que la relación entre los elementos que el teorema define, se cumplen en todos los casos posibles. Para poder realizar esto, se utilizan las tablas de verdad. Por ejemplo : Vamos a demostrar la ley de absorción a+a.b=a Cuya tabla de verdad es la siguiente : a 0 0 1 1 b 0 1 0 1 a+a.b 0+0.0=0 0+0.1=0 1+1.0=1 1+1.1=1 a 0 0 1 1 Existen infinidad de teoremas en el álgebra de Boole, tantos como puedan ser demostrados por el método referido, sin embargo, los indicados anteriormente se encuentran entre los más importantes por su utilidad. Por otra parte, siempre que se cumple una ley o teorema en el álgebra de Boole, se cumple también su forma dual; es decir, la expresión que se obtiene cambiando solamente las operaciones de suma por las de producto y las de producto por las de suma. Las formas duales de las leyes y teoremas básicos se indican en la siguiente tabla. ____________________________________________________________________________________ Algebra de Boole pág. 7
  • 60.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Nombre de la Ley Ley de absorción Teorema Morgan de Forma básica Forma dual a+a.b=a A.(a+b)=a De __________ _ _ _ ( a + b + c + ... ) = a . b . c ... _______ _ _ _ ( a . b . c ... ) = a + b + c + ... Leyes de transposición _ _ a.b+a.c=(a+c).(a+b) _ _ _ _ a.b+a.b=(a+b).(a+b) _ _ (a+b).(a+c)=a.c+a.b _ _ _ _ (a+b).(a+b)=a.b+a.b Leyes varias _ a+a.b=a+b _ _ a+a.b=a+b _ a.b+a.b.c=a.b+a.c _ _ a.b+a.c+b.c=a.b+a.c _ a.b+a.b=a _ a.(a+b)=a.b _ _ a.(a+b)=a.b _ ( a+b ) . ( a + b + c ) = ( a+b ) . ( a+c) _ _ (a + b) (a + c) (b + c ) = (a + b) (a+ c) _ (a+b).(a+b)=a a.b+a.c=a.(b+c) (a+b).(a+c)=a+(b.c) 3 FORMAS DE UNA FUNCIÓN BOOLEANA Una función Booleana se puede expresar de las siguientes formas : a) Mediante la expresión lógica : F = c + b a b) Mediante la tabla de verdad. Ejemplo : F ( c, b, a ) = c b + c a c b A F 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 1 1 ____________________________________________________________________________________ Algebra de Boole pág. 8
  • 61.
    Sistemas de controlsecuencial ____________________________________________________________________________________ c) Mediante los términos canónicos. Se tienen las siguientes estructuras : * Ecuación con estructura minterms : Esta ecuación está estructurada como una suma de términos en forma de productos de las diferentes variables que intervienen en la ecuación. Por ejemplo : x=abc+abc+abc * Ecuación con estructura maxterms : Se dispone como un producto de términos en forma de suma de las diferentes variables que intervienen en la ecuación. Por ejemplo : y = ( a + b + c ) . ( a + b + c ) .( a + b + c ) Tanto en una estructura como en la otra, todos los términos han de contener todas las variables que intervienen en la ecuación Suele utilizarse también una segunda forma canónica, llamada numérica. Se asigna a cada término canónico un número decimal que es el equivalente binario que se obtiene de sustituir las variables según el siguiente criterio : A las variables que aparecen de forma directa ⇔ 1 A las variables que aparecen de forma negada ⇔ 0 Ejemplo : Supongamos una función F expresada en minterms : F = c b a + c b a + c b a + c b a = ∑ ( 1, 3, 5, 7 ) 3 111 (7) 101 (5) 011 (3) 001 (1) Si viene expresada en forma de maxterms : F = ( c + b + a ) . ( c + b + a ) . ( c + b + a ) . ( c + b + a ) = II ( 1, 3, 5, 7 ) 3 ____________________________________________________________________________________ Algebra de Boole pág. 9
  • 62.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 4 a) CONVERSIÓN ENTRE FORMAS Para pasar de la tabla de verdad a la expresión canónica algebraica en forma de suma de productos, se parte de la tabla de verdad y, aquellas combinaciones que hacen "1" la función se toman con el criterio expuesto anteriormente. c 0 0 0 0 1 1 1 1 luego b 0 0 1 1 0 0 1 1 a 0 1 0 1 0 1 0 1 F 0 1 0 1 0 0 1 1 ⇒ c.b.a ⇒ c.b.a ⇒ ⇒ c.b.a c.b.a F = c . b . a + c . b . a + c . b . a + c . b . a = Σ ( 1, 3, 6, 7 ) 3 b) Para pasar de la forma canónica algebraica o numérica de minterms a la tabla de verdad se procede al contrario, poniendo un "1" en las combinaciones correspondientes a los minitérminos. c) Para pasar de la tabla de verdad a la expresión canónica algebraica producto de sumas, se parte de la tabla de verdad y aquellas combinaciones que hacen "0" la función se toman con el criterio inverso al anterior ( las variables que valgan "0" se toman directas y las que valgan "1" complementadas. En el ejemplo anterior : F = ( c + b + a ) . ( c + b + a ) . ( c + b + a ) . ( c + b + a ) = II ( 2, 3, 5, 7 ) 3 d) Para pasar directamente de una forma canónica de minterms a maxterms y viceversa, se obtiene la conversión mediante el complemento a 2n-1 de los términos que no pertenecen a la función, siendo n el número de variables de la función Ejemplo : Σ ( 1, 3, 6, 7 ) ----- faltan los términos 0, 2, 4, 5 3 2n-1 = 23 - 1 = 8 - 1 = 7....... 7 - 0 = 7 7-2=5 7-4=3 7-5=2 F = II ( 2, 3, 5, 7 ) 3 ____________________________________________________________________________________ Algebra de Boole pág. 10
  • 63.
    Sistemas de controlsecuencial ____________________________________________________________________________________ e) Para convertir una expresión no canónica en canónica se procede de la siguiente manera : * * A los productos que no sean canónicos se les multiplica por la forma directa y complementada de las variables que faltan A las sumas que no sean canónicas se les suma el producto de la forma directa y complementada de las variables que falten Ejemplo : Transformar en la forma canónica minterms la siguiente ecuación : F=a.b.c + a + b.d Solución : A los productos que no sean canónicos, por faltarles algún término, se les multiplica por el término ( a + a ), ( b + b ), (c + c ) o ( d + d ), que les falte. Por tanto, la función anterior se transforma en : F = a . b . c . ( d + d ) + a . ( b + b ) (c + c ) ( d + d ) + b . d . ( a + a ) . ( c + c ) 5 SIMPLIFICACIÓN DE FUNCIONES Existen dos procedimientos básicos para simplificar las ecuaciones Booleanas : * * 5.1 Método algebraico Métodos tabulares y gráficos Método algebraico Este método consiste en ir aplicando las propiedades del álgebra de Boole hasta conseguir la reducción total. El criterio más extendido consiste en obtener una expresión de un sistema cualquiera de las dos formas ya conocidas : como sumas de productos o como productos de sumas; de forma que tenga el menor número de términos y de variables, para obtener una expresión que realice exactamente la misma función planteada en el problema. Ejemplo : Simplificar la función F=abcd+abcd+abcd+abcd ____________________________________________________________________________________ Algebra de Boole pág. 11
  • 64.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Aplicando los axiomas del álgebra de Boole, obtenemos : abcd+abcd=abc(d+d)=abc(1)=abc abcd+abcd=abc (d+d)=abc (1)=abc F=abc+abc de donde y repitiendo el proceso anterior abc+abc =ab(c+c)=ab (1)=ab F=ab 5.2 Métodos tabulares de simplificación Los métodos más empleados en la simplificación de funciones son : * Tablas de Karnaugh : Se pueden utilizar para simplificar funciones de dos a seis variables, aunque habitualmente sólo se emplee para funciones de dos a cinco variables. * Tablas de Quine-McCluskey : Se puede emplear en la simplificación de ecuaciones de cualquier número de variables, pero se suelen utilizar solamente a partir de cinco variables 5.2.1 Tablas de Karnaugh Es un método de simplificación de funciones sencillo y rápido de manejar. Se aconseja no utilizarlo para más de 4-5 variables puesto que entraña más dificultades que ventajas a la hora de resolverlo. Para epigrafiar las tablas de Karnaugh se hace uso de un código progresivo, normalmente se emplea el código Gray. El código Gray se caracteriza porque dos números consecutivos solo se diferencian en un dígito o bit, lo que no ocurre con el código binario natural ____________________________________________________________________________________ Algebra de Boole pág. 12
  • 65.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Decimal 0 1 2 3 4 5 6 7 Binario natural 000 001 010 011 100 101 110 111 Binario Gray 000 001 011 010 110 111 101 100 El código binario natural es útil para el cálculo matemático, pero no para ciertas aplicaciones, por ejemplo para la codificación de las informaciones procedentes de los transductores analógicos, ya que el retraso de alguno de los bits daría lugar a una codificación transitoria errónea. El código Gray es continuo y cíclico porque el último término, como veremos, cumple la progresividad con el, primero. También es reflexivo porque puede generarse por reflexión sobre un eje, siendo precisamente la propiedad reflexiva la que utilizaremos para obtener el código Gray : Para una sola variable se tiene : 0 1 ---------1 0 Haciendo girar el código anterior sobre el eje "X" y añadiendo " ceros " a la izquierda de las posiciones antiguas y " unos " a la izquierda de las reflejadas, se tiene el código para 2 variables : 0 0 0 1 ---------------- 1 1 0 0 0 0 1 0 Para 3 variables 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 --------------------------- Para 4 variables 1 1 1 1 1 1 0 0 0 1 1 0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 0 0 0 1 1 0 0 1 1 0 ------------------------------- 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 1 1 0 0 1 1 0 ____________________________________________________________________________________ Algebra de Boole pág. 13
  • 66.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Siguiendo con el mismo procedimiento se puede obtener el código Gray para cualquier número de variables Las tablas de Karnaugh están constituidas por una cuadrícula en forma de encasillado cuyo número de casillas depende del número de variables que tenga la función a simplificar. Cada una de las casillas representa las distintas combinaciones de las variables que puedan existir. ab cd a b 0 0 1 c 0 1 ab 00 01 11 00 01 11 10 00 10 01 11 1 10 Para 2 variables Para 3 variables Para 4 variables Cada una de las casillas que forman la tabla puede representar términos tanto minterms como maxterms. En la siguiente figura aparece, a modo de ejemplo, la equivalencia de cada una de las casillas de una tabla de 4 variables expresada en términos minterms y maxterms ab 00 01 11 10 00 abcd abcd abcd abcd 01 abcd abcd abcd abcd 11 abcd abcd abcd abcd 10 abcd abcd abcd abcd cd Términos Minterms ____________________________________________________________________________________ Algebra de Boole pág. 14
  • 67.
    Sistemas de controlsecuencial ____________________________________________________________________________________ ab 00 01 11 10 00 a+b+c+d a+b+c+d a+b+c+d a+b+c+d 01 a+b+c+d a+b+c+d a+b+c+d a+b+c+d 11 a+b+c+d a+b+c+d a+b+c+d a+b+c+d 10 a+b+c+d a+b+c+d a+b+c+d a+b+c+d cd Términos Maxterms Cuando se vaya a representar una ecuación en forma minterms, se pondrá un "1" en la casilla correspondiente a cada término. Por el contrario, si se representa en forma maxterms, colocaremos un "0" en la casilla correspondiente a cada término. Hay que tener en cuenta, que al representar una ecuación Booleana, ésta tiene que estar en su forma canónica ( minterms o maxterms ) completa y, por tanto, todos los términos han de contener todas las variables que intervienen en la función Simplificación de ecuaciones en tablas de Karnaugh El principio de simplificación de las tablas se basa en una de las leyes del álgebra de Boole. a.b+a.b=a Como se puede observar en la tabla anterior, todas las casillas contiguas, según los ejes coordenados, se caracterizan por diferenciarse sólo en una variable, que se encuentra negada en una de ellas y sin negar en la otra. Esta característica, que se cumple en todas las tablas, permite aplicar de una forma automática la ley anterior, consiguiendo así simplificar las casillas contiguas por sus variables comunes El proceso de simplificación consta de las siguientes etapas : 1º .- Se hace una tabla de 2n celdillas ( siendo n el número de variables de entrada ) y se epigrafía con el código Gray 2º.- Se numeran los términos de la ecuación y este número de referencia se coloca en la celdilla cuyo epigrafiado corresponda al término considerado. Cuando se desea simplificar una función desde su tabla de verdad, no es preciso obtener previamente la ecuación de la función sin simplificar para seguidamente representarla en la tabla y proceder a su simplificación. En la práctica, se suele representar la función, directamente desde la tabla de verdad al mapa de Karnaugh, sin más que ir colocando los unos o los ceros en las casillas correspondientes a los valores que toma la función para cada una de las combinaciones binarias de las variables que forman dicha función ____________________________________________________________________________________ Algebra de Boole pág. 15
  • 68.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 3º.- Se enlazan con un bucle los grupos de 2, 4, 8, celdillas ( potencias de 2 ) ocupadas si son adyacentes no oblicuas. Cada celdilla puede formar parte de más de un bucle. Se considera que los lados opuestos de la tabla se están tocando como si su superficie formara un toroide. Se debe procurar conseguir grupos del máximo número de casillas 4º.- Los términos agrupados por los bucles son simplificables entre sí y cada grupo dará lugar a un solo término, que se obtiene por la regla siguiente : Regla : Cada bucle proporciona un término que contiene las variables que no invierten a lo largo de todo el dominio del bucle. Las variables epigrafiadas con "0" llevarán la barra de inversión Ejemplo : Simplificar la siguiente ecuación S=ABCD+ABCD+ABCD+ABCD+ABCD+ABCD+ABCD 1 2 3 ab cd 00 4 01 11 00 6 7 10 1 01 5 2 11 3 7 10 4 5 6 El bucle 1-2 proporciona el término : ABCD ⇒ABC ABCD El bucle 3-7-4-5 proporciona el término : ABCD ABCD ⇒AC ABCD ABCD ____________________________________________________________________________________ Algebra de Boole pág. 16
  • 69.
    Sistemas de controlsecuencial ____________________________________________________________________________________ El bucle 4-6 proporciona el término : ABCD ⇒BCD ABCD Luego el resultado es : S=ABC+BCD+AC Ejemplo 2 : Dada la tabla de verdad de una función, obtener la ecuación más simplificada a 0 0 0 0 1 1 1 1 b 0 0 1 1 0 0 1 1 c 0 1 0 1 0 1 0 1 F 1 1 0 0 1 1 1 1 Un punto a tener en cuenta al simplificar una función Booleana desde su tabla de verdad es si debemos representar la ecuación bajo la forma de minterms o maxterms. La norma práctica consiste en representar la ecuación en la forma canónica que menos términos tenga en la salida de dicha tabla. Esta norma no impide que a veces se obtengan ecuaciones más simplificadas representando la forma canónica que más términos tiene en la tabla de verdad En este ejemplo, representaremos la forma canónica maxterms por ser la de menos términos en la tabla de verdad c 0 1 ab 00 01 11 10 0 a+b+c 0 a+b+c Siendo la simplificación final de la función (a+b) F=a+b ____________________________________________________________________________________ Algebra de Boole pág. 17
  • 70.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Estados indiferentes En algunos casos existen combinaciones de variables de entrada que, por razones tecnológicas o de programa, no se pueden producir, o bien nos encontramos con alguna salida inhibida aunque exista la combinación de entradas que pueda producirla A estas combinaciones de entrada que, apareciendo en la tabla de verdad de funcionamiento del circuito, no producen en la salida ni 0 ni 1, las denominamos combinaciones indiferentes y se representan en la tabla de verdad mediante los símbolos X o φ. A su vez estas combinaciones indiferentes dan lugar a términos indiferentes, que pueden ser representados en las tablas de Karnaugh y se los puede considerar bien como 0 o como 1, según convenga para la simplificación Ejemplo : Simplificar por Karnaugh la función definida en la siguiente tabla de verdad a b C F 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 X 1 0 1 0 1 0 X Si analizamos la tabla, comprobamos que el número de términos minterms es igual al número de términos maxterms. En estos casos debe intentar simplificarse por ambos tipos de ecuaciones y decidir cual de los resultados es el más simplificado. c ab 00 0 X 1 1 1 11 X 1 abc abc abc abc 10 c ab 00 0 01 X 1 01 11 10 0 0 0 X a+b+c c a+b+c a+b+c c a+b+c ____________________________________________________________________________________ Algebra de Boole pág. 18
  • 71.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Azares o " Aleas tecnológicas " Teóricamente la expresión F = A + A = 1 es totalmente cierta, pero en la práctica, debido a las características de los elementos utilizados en la conmutación, se puede producir un estado transitorio, conocido por azar o " alea tecnológica ", durante el cual F=A+A=0 Veamos un ejemplo : Si materializamos con contactos la función F = A + A , resulta el circuito siguiente : A 1 F 2 Puede verse que, al conmutar A, antes de cerrarse el contacto 2 se abre el contacto 1; por tanto, existe un pequeño intervalo de tiempo durante la conmutación en el que F=A+A=0 La duración de este transitorio es del orden de milisegundos en los contactores eléctricos y del orden de nanosegundos en los elementos electrónicos. Si el receptor es de respuesta lenta no acusará este fenómeno, sin embargo, el citado transitorio puede ocasionar el disparo no deseado de un biestable, un contactor, etc. dando lugar a una maniobra no prevista en el diseño. La forma de eliminar los azares al simplificar una función por las tablas de Karnaugh, es añadir a los términos obtenidos de los bucles normales, otros términos derivados de nuevos bucles que solapen las celdillas adyacentes pertenecientes a bucles normales distintos. Otra solución si el circuito se materializa con puertas lógicas consiste en poner un condensador entre la salida del circuito y masa para filtrar los impulsos transitorios. Asimismo, existen sensores electromecánicos ( como pulsadores ) que cierran el contacto abierto antes de abrirse el contacto cerrado. En expresiones del tipo A A = 0 también cierta, teóricamente, se puede presentar un fenómeno análogo y su solución es semejante ____________________________________________________________________________________ Algebra de Boole pág. 19
  • 72.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 5.2.2 Tablas de Quine-McCluskey Cuando las ecuaciones tienen 5 o más variables es complicado utilizar las tablas de Karnaugh, siendo el método de Quine-McCluskey el más idóneo. Consiste este método en ordenar según el número de "1" que tengan las combinaciones de variables que cumplen la ecuación. A continuación se buscan las combinaciones que comparadas con los grupos adyacentes, con un "1" más o menos, difieran solo en una variable, que en una combinación estará negada y en la otra sin negar, eliminándose la misma. La función Booleana a simplificar ha de venir expresada bajo la forma minterms. El proceso de simplificación de ecuaciones se lleva a cabo a través de una serie de operaciones, obteniéndose las siguientes tablas : Tabla de agrupamientos base Tabla de agrupamientos de orden : primero, segundo, tercero, etc. Tabla reductora final Para poder comprender el proceso de reducción, veamos un ejemplo. Supongamos que se desea simplificar la ecuación ( representada en este caso en forma algebraica ) : X = ABC + ACD + ABCD + ACD 1ª Fase.- Todos los términos de la ecuación lógica han de contener todas las variables ( es decir la ecuación debe representarse en su forma canónica ). Los términos que carezcan de alguna variable, ésta se incluye realizando la operación AND del término por la variable directa más la variable negada, teniendo en cuenta que (U+U)=1 Al aplicar esta regla en nuestro ejemplo, se obtiene : X = ABC ( D+D ) + ACD ( B+B ) + ABCD + ACD ( B+B ) X = ABCD + ABCD + ABCD + ABCD + ABCD + ABCD + ABCD ____________________________________________________________________________________ Algebra de Boole pág. 20
  • 73.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 2ª Fase : Se determina el " índice " de cada término, siendo dicho índice el número de variables sin negar, o de valor "1", que contenga el término. Así por ejemplo, el primer término ABCD ( 0101 ) tiene de índice 2 y le corresponde el valor decimal de 5, obteniéndose por este procedimiento la tabla de agrupamientos base, que representaremos ordenada de menor a mayor por su índice Término Valor decimal Índice ABCD 0100 4 1 ABCD 0011 3 ABCD 0101 5 ABCD 0110 6 ABCD 0111 7 ABCD 1011 11 ABCD 3ª Fase : Estado de las Variables 1111 15 2 3 4 Se forma una segunda tabla de agrupamientos de primer orden. Esta tabla se obtiene combinando los términos expresados en la tabla de agrupamientos base, siguiendo la siguiente regla : " Los términos a combinar no difieren entre sí, más que en el estado de una de las variables, la cual será sustituida por un guión " Términos combinados ( valor decimal ) ( 4, 5 ) ( 4, 6 ) ( 5, 7 ) ( 3, 7 ) ( 3, 11 ) ( 6, 7 ) ( 7, 15 ) ( 11, 15 ) Combinación 01001-0 01-1 0-11 -011 011-111 1-11 Índice 1 2 3 ____________________________________________________________________________________ Algebra de Boole pág. 21
  • 74.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 4ª Fase : Se forma una nueva tabla de agrupamientos de segundo orden. Las nuevas combinaciones dispondrán por lo tanto de dos guiones, uno correspondiente a la lista anterior más el de la nueva variable que cambia de estado en la nueva tabla. Cuando en una tabla aparecen términos repetidos, se pueden eliminar, si bien, conservando siempre su procedencia Términos combinados ( valor decimal ) ( 4, 5 ) , ( 6, 7 ) ( 4, 6 ) , ( 5, 7 ) ( 3, 7 ) , ( 11, 15 ) ( 3, 11 ) , ( 7, 15 ) Combinación 01-01-- ( Se elimina ) --11 --11 ( Se elimina ) Índice 1 2 El proceso de reducción debe realizarse hasta que no sea posible realizar más agrupamientos; obteniéndose en ese momento la tabla reductora final 5ª Fase : Se forma la tabla reductora final con los agrupamientos de orden superior realizados. Si con ellos no están cubiertos todos los términos de la tabla de agrupamientos base, se añadirán agrupamientos del orden inmediatamente inferior, y así sucesivamente, hasta que estén cubiertos todos los términos A B C D 0 1 - - - 1 1 3 4 5 6 7 11 15 X X X X X X X X La ecuación simplificada se forma mediante la suma lógica de los términos no eliminados, empleando el convenio de las ecuaciones minterms ( 0 = variable negada y 1 = variable sin negar ), de manera que todos los términos de la tabla de agrupamientos base estén incluidos. Por tanto, en nuestro caso la ecuación final es : X = AB + CD ____________________________________________________________________________________ Algebra de Boole pág. 22
  • 75.
    Sistemas de controlsecuencial ____________________________________________________________________________________ TEMA 4 : GRAFCET ____________________________________________________________________________________ Grafcet pág. 1
  • 76.
    Sistemas de controlsecuencial ____________________________________________________________________________________ ____________________________________________________________________________________ Grafcet pág. 2
  • 77.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 1 INTRODUCCIÓN Los métodos de síntesis basados en automatismos vistos en los textos de electrónica digital son adecuados bajo el punto de vista pedagógico. Sin embargo su adecuación resulta poco eficaz cuando el número de variables de entrada supera el número de 5 ó 6. Teniendo en cuenta que en los procesos industriales reales, el número de entradas/salidas puede ser de varios millares, resulta obvio que deben buscarse métodos de diseño más eficaces y adecuados para la síntesis de dichos sistemas basados en automatismos. En este módulo temático se trata el método de diseño mediante el Diagrama de Mando Etapa-Transición ( GRAFCET ) ( GRAphe Fonctionnel de Commande EtapesTransitions ), por ser de gran utilidad y creciente implantación en los dispositivos controladores lógicos programables industriales, si bien resulta igualmente eficaz para el diseño de automatismos basados en lógica cableada. 2 EL GRAFCET Se trata de un método de análisis y diseño de los sistemas basados en automatismos, derivado de las Redes de Petri y desarrollado por la Asociación Francesa para la Cibernética, Economía y Técnica ( AFCET ) y por la también francesa Agencia para el Desarrollo de la Producción Automatizada. La norma francesa UTE NF C030-190 precisa los principios del Grafcet y codifica sus símbolos. La norma alemana DIN 40719 propone un lenguaje gráfico idéntico en sus principios pero ligeramente diferente en su forma. El Grafcet fue homologado en el año 1988 por la Comisión Electrotécnica Internacional ( Norma IEC 848 ). Una de las características a destacar en los automatismos, sobre todo en los dedicados al control de medianos y grandes procesos industriales, es el elevado número de variables de entrada que en ellos intervienen. A consecuencia de ello, los métodos clásicos de análisis vistos tradicionalmente en la electrónica digital se muestran inadecuados para su tratamiento, ya que la intervención de más de 5 ó 6 variables de entrada complica sobremanera su resolución. En los Controladores Lógicos Programables, y en general en la implementación de dispositivos basados en lógica programada no resulta ya rentable buscar una ley de mando con un número mínimo de "puertas lógicas". El coste de dicha búsqueda excede al de la memoria disponible en el dispositivo programable, ya que ésta experimenta abaratamientos constantes debidos a los altos niveles de integración alcanzados con los avances tecnológicos en la microelectrónica. El Grafcet no busca la minimización de las funciones lógicas que representan la dinámica del sistema, bien al contrario, su poder radica precisamente en que impone una metodología rigurosa y jerarquizada de solución en los problemas, evitando así las incoherencias, los bloqueos o los conflictos durante el funcionamiento del automatismo. ____________________________________________________________________________________ Grafcet pág. 3
  • 78.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Habría que destacar además en este método ciertas cualidades tales como : * * * 2.1 Claridad Legibilidad Presentación sintética Principios básicos El Grafcet es un diagrama funcional que describe la evolución del proceso que se pretende automatizar, indicando las acciones que hay que realizar sobre el proceso y que informaciones las provocan. Accesible tanto para el usuario como para el diseñador, facilita la comunicación y el diálogo entre las personas implicadas en el automatismo, tanto en el momento del análisis del proceso a automatizar, como posteriormente en el mantenimiento y reparación de averías. El Grafcet es independiente de las técnicas secuenciales " todo o nada ", neumática, eléctrica o electrónica, cableadas o programadas, pudiendo utilizarse para realizar el automatismo de mando, pero la utilización de secuenciadores, por una parte, y de autómatas programables por otra, permite una transcripción directa del diagrama funcional. Entre sus principales características podemos destacar que : * Ofrece una metodología de programación estructurada " top-down " ( de forma descendente ) que permite el desarrollo conceptual de los general a lo particular * Introduce un concepto de "tarea " de forma jerarquizada El proceso se descompone en etapas, que se activarán unas después de otras. A una etapa se asocian una o varias acciones. Estas acciones no son efectivas más que en la etapa que es activa. Una etapa se activa si la etapa precedente está activa y si la condición lógica o receptividad asociada a la transición de etapa se verifica. El cumplimiento de esta transición provoca la activación de la etapa siguiente y la desactivación de la etapa anterior ____________________________________________________________________________________ Grafcet pág. 4
  • 79.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Ejemplo : Acción asociada a la etapa 1 Etapa 1 1 Traspaso de pieza Condición de transición sv 2 Descenso pieza Condición de transición d 3 Subida prensa m Con el fin de definir el cuaderno de cargas de un equipo, el Grafcet se utiliza en 2 niveles Nivel 1 Nivel 2 Permite comprender lo que debe hacer el automatismo, de cara a las diferentes situaciones que puedan presentarse Estando hecha la elección tecnológica, establece la descripción de las precisiones necesarias para la realización práctica del equipo El ejemplo que se da a continuación muestra la ayuda aportada a lo largo del estudio por el empleo del Grafcet : El Grafcet del ciclo se va determinando a medida que se eligen las tecnologías a emplear ( accionadores, captadores, preaccionadores, etc. ) evolucionando del Grafcet funcional al Grafcet de mando Marcado Alimentació 0 Pulsador marcha Pieza 1 2 3 Alimenta Pieza li d Marcar Retorno alimentació Pieza marcada y final retorno alimentador Retorno marcado Final del retorno de marcado ____________________________________________________________________________________ Grafcet pág. 5
  • 80.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 1.Desde el pliego de condiciones, el Grafcet determina el ciclo ordenando las funciones a realizar, estando estas últimas expresadas de forma literal b0 B a0 A+ b1 a1 A B+ Pieza 0 m 1 A+ a1 2 B+ A- b1 a0 B- 3 b0 ____________________________________________________________________________________ Grafcet pág. 6
  • 81.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 2.Escogidos los accionadores ( cilindros A y B ), el Grafcet utiliza entonces los símbolos de movimientos ( A+, A-,...) y las referencias de los captadores de fin de carrera ( a0, a1,...) B b+ b0 a+ ab- a0 b1 a1 A Pieza 0 m 1 1 a+ a1 a1 2 b+ a- 2 bb0 3.- b+ a- b1 a0 b1 a0 3 a+ Escogidos los preaccionadores ( 4.distribuidores biestables en este caso )el Grafcet determina entonces las señales emitidas ( a+, a-...) o recibidas (a0, a1,..) por la parte de mando 3 bb0 m Finalmente, comprobando que pueden mantenerse los retornos de los cilindros, se utiliza la última etapa 3, como etapa inicial, suprimiendo así la etapa 0 ____________________________________________________________________________________ Grafcet pág. 7
  • 82.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 3 DEFINICIÓN ASOCIADOS 3.1 DE CONCEPTOS Y ELEMENTOS GRÁFICOS Etapa Se define a la Etapa como la situación del sistema en la cual todo o una parte del órgano de mando es invariante con respecto a las entradas/salidas del sistema automatizado. Una etapa corresponde a un periodo de funcionamiento del automatismo de mando, durante el cual, en espera de la satisfacción de una receptividad, las acciones engendradas y la receptividad del sistema no varían. La receptividad representa la facultad para el automatismo, de distinguir entre todas las informaciones que le llegan, únicamente aquellas que deben modificar su comportamiento en un instante dado. Durante el desarrollo del proceso, las Etapas se activan unas después de otras. Entre estas etapas, la primera se activa inicialmente al principio del funcionamiento. Gráficamente la Etapa, se representa por un cuadrado que se numera en su interior, dando de esta manera una secuencialidad a las etapas representadas. Igualmente, la numeración puede representarse por la letra E con un número como subíndice. En ambos casos el número indica el orden que ocupa la etapa dentro del Grafcet. Para distinguir el comienzo del Grafcet, la primera etapa ( etapa de inicialización ) se representa con un " doble cuadrado " E 2 2 Representación de 0 E0 Representación de etapas iniciales ____________________________________________________________________________________ Grafcet pág. 8
  • 83.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 3.2 ACCIÓN ASOCIADA La acción o acciones elementales a realizar durante la etapa en el sistema, vienen indicadas mediante las etiquetas, que son rectángulos conectados a las etapas y situados a la derecha de las mismas. 10 Abrir válvula 5 A+ B- Estas acciones elementales, pueden ser clasificadas como sigue : * Reales : Se trata de acciones concretas que se producen en el automatismo, tales como abrir/cerrar una válvula, arrancar/parar un motor, etc. A su vez se clasifican en : Internas : Son acciones que se producen en el interior del dispositivo de control, tales como temporizaciones, conteos etc. Fin de descenso CICLO 1 TEMPORIZACIÓN 3 Fin temporización Externas : Se producen sobre el proceso en sí M ACTIVAR MOTOR 1 4 PARAR MOTOR 2 P ____________________________________________________________________________________ Grafcet pág. 9
  • 84.
    Sistemas de controlsecuencial ____________________________________________________________________________________ * Virtuales : No se realiza ninguna acción sobre el sistema. Suelen utilizarse como situaciones de espera a que se produzcan determinados eventos ( activación de determinadas señales ) que permitan la evolución del proceso. En estas etapas la etiqueta está vacía o sin etiqueta. mac 1 A derecha 11 b 2 d A Izquierda B Izquierda 12 a 3 B Derecha c Espera 13 Espera E3 . E13 Cuando se realizan dos secuencias simultáneas, es posible que el tiempo que cada una de estas secuencias tarda en realizarse sea distinto, en función del número de tareas asociadas a las etapas, de cuando se activen las condiciones de transición, etc. Para finalizar dos secuencias simultáneas es necesario que las etapas últimas de cada una de ellas estén activas; una o las dos pueden ser etapas de espera para que la secuencia más rápida aguarde el final de la secuencia más lenta. * Incondicionales: Son acciones que se producen con sólo quedar activadas las etapas correspondientes M ACTIVAR MOTOR 1 4 P ____________________________________________________________________________________ Grafcet pág. 10
  • 85.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Estas acciones pueden ser activas mientras la etapa esté activa o pueden activarse en una etapa y desactivarse en otra posterior M ACTIVAR MOTOR 1 4 P PARAR MOTOR 1 10 * Condicionales : Son aquéllas que requieren el cumplimiento de una condición adicional a la propia activación de la etapa correspondiente. Estas condiciones suplementarias se anotan al lado de un trazo vertical encima de la acción d 34 T / 0 / 5 seg ABRIR VÁLVULA 1 f 35 La válvula 1 se abrirá si la etapa 34 está activa y han transcurrido 5 seg. desde que se activó el temporizador T0 ____________________________________________________________________________________ Grafcet pág. 11
  • 86.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 3.3 Transición y receptividad El concepto de Transición se asocia a la barrera existente entre dos etapas consecutivas y cuyo franqueamiento hace posible la evolución lógica del sistema. A toda transición le corresponde una receptividad, que es la condición lógica necesaria para que se produzca el franqueamiento, si bien éste se producirá siempre que además, la etapa precedente esté activa. La condición lógica viene expresada mediante una función lógica booleana. Si se verifica la receptividad, estando activada la etapa precedente, entonces se realiza la transición, y se produce la activación de la etapa siguiente y la desactivación de la etapa precedente. Las receptividades se pueden expresar bajo diferentes formas : * * * * * * * Captadores, fin de carrera Valor de contador ( C = 20 ) Temperatura ( 800 º C ) Nivel de velocidad ( 1000 r.p.m. ) Fin de una temporización Resultado de una comparación ( >, <, = ) etc. 2 Activar CT ( condición de transición ) Condición de transición 3 Parar motor asociada a la etapa posterior En la figura anterior hay dos etapas y una condición de transición entre ellas. Para que el proceso evolucione de la etapa 2 a la etapa 3, es necesario que la etapa 2 esté activa y además que se cumpla la activación de la condición de transición ( CT ); entonces se produce la activación de la etapa 3 y la desactivación de la etapa 2. La condición de transición CT está siempre asociada a la etapa posterior, en este caso a la 3. ____________________________________________________________________________________ Grafcet pág. 12
  • 87.
    Sistemas de controlsecuencial ____________________________________________________________________________________ La condición de transición puede ser una o varias variables de las que intervienen en el proceso. Se emplea la lógica positiva, pudiendo tomar 2 valores CT = 1 y CT = 0 Ejemplo : 6 ACTIVAR CINTA 1 CT 7 Condición de Transición Señal "1" Señal "0" Por tiempo Expresión CT = A __ CT = A CT = T / 3 / 10 s. __ Varias variables CT = A B F1 Incondicional CT = 1 Flanco descendente CT = A⇓ Flanco ascendente CT = A ⇑ 3.4 ETAPA DE ESPERA La activación de la etapa 7 se produce cuando A ( f.d.c por ejemplo ) está activo cuando el f.d.c A está inactivo cuando hayan transcurrido 10 segundos desde que se activó el temporizador 3 Si las variables A y F1 están activas y la variable B está inactiva Al activarse la etapa 6 Cuando la señal A pasa de "1" a "0" Cuando la señal A pasa de "0" a "1" Arco Un arco es un segmento de recta que une una Transición con una Etapa o viceversa, pero nunca entre elementos homónimos entre sí. 10 CT 11 ____________________________________________________________________________________ Grafcet pág. 13
  • 88.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 3.5 Trazos paralelos Se utilizan para representar a varias etapas cuya evolución está condicionada por una misma transición 17 18 ab+c 19 4 20 CONDICIONES EVOLUTIVAS La dinámica evolutiva del Grafcet viene dada por un conjunto de reglas : * El proceso se descompone en etapas, que serán activadas de forma secuencial * La etapa de inicialización se activa de forma incondicional antes de que se inicie el ciclo del Grafcet. Un ciclo está formado por todas las etapas posteriores a la etapa inicial * Una o varias acciones se asocian a cada etapa. Estas acciones solo están activas cuando la etapa está activa * Un etapa se hace activa cuando la precedente lo está y la condición de transición entre ambas etapas ha sido activada * La activación de una condición de transición implica la activación de la etapa siguiente y la desactivación de la precedente 5 ESTRUCTURAS EN EL GRAFCET Consisten en una serie de estructuras que dotan al Grafcet de una gran capacidad de representación gráfica de los automatismos. A grandes rasgos pueden ser clasificadas en estructuras básicas y lógicas. Las básicas atienden a conceptos tales como secuencialidad y paralelismo y permiten realizar el análisis del sistema mediante su descomposición en subprocesos. Las estructuras lógicas atienden a conceptos de concatenación entre sí de las anteriores estructuras ____________________________________________________________________________________ Grafcet pág. 14
  • 89.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 5.1 Estructuras básicas Secuencia única Una secuencia única está compuesta de un conjunto de etapas que van siendo activadas una tras otra, sin interacción con ninguna otra estructura En la secuencia única, a cada etapa le sigue una sola transición y cada transición es validada por una sola etapa. La secuencia se dice que está activa, si una de sus etapas lo está. Se dice que está inactiva si todas sus etapas lo están Secuencias paralelas Se denominan secuencias paralelas al conjunto de secuencias únicas que son activadas de forma simultánea por una misma transición. Después de la activación de las distintas secuencias su evolución se produce de forma independiente ____________________________________________________________________________________ Grafcet pág. 15
  • 90.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 5.2 Estructuras lógicas Las operaciones lógicas OR y AND son ampliamente utilizadas en la estructura gráfica del Grafcet, por ello pasamos seguidamente a realizar un análisis de las mismas Divergencia en OR La Etapa n pasa a ser activa si estando activa la etapa n-1 se satisface la Receptividad de la Transición a La Etapa n+1 pasa a ser activa si, estando activa la Etapa n-1 se satisface la Receptividad de la Transición b n- 1 a b n n+1 Esta estructura lógica nos permite optar por secuencias alternativas cuando la implementación del automatismo así lo requiera Convergencia en OR La Etapa n pasa a ser activa, si estando activa la Etapa n-1 se satisface la Receptividad de la Transición c, o si estando activa la Etapa n-2 se satisface la Receptividad de la Transición d n- 1 n- 2 d c n ____________________________________________________________________________________ Grafcet pág. 16
  • 91.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Posibilidades de utilización de estas estructuras Un Grafcet está constituido generalmente por varias secuencias, es decir, de varios grupos de etapas a ejecutar unas después de otras y a menudo es necesario efectuar una selección exclusiva de una de estas secuencias 5 x 6 y Acción A 8 Acción C 9 f c a 7 z Acción G 10 Acción D g 11 Acción E e En la ramificación formada por la elección de la secuencia a realizar, las diferentes transiciones corresponden a las receptividades x, y, z siendo validadas simultáneamente por la misma etapa 5, pudiendo ejecutarse simultáneamente. En la práctica, a menudo se adoptan estas receptividades como exclusivas. Se pueden introducir prioridades igualmente 12 12 13 a ab ab 16 Receptividades exclusivas. Si a y b se presentan a la vez, no podrá realizarse ninguna transición a partir de la etapa 12 13 ab 16 Prioridad a la receptividad a. La prioridad dada a la transición 12-13 permite ejecutar ésta si a y b se presentan a la vez ____________________________________________________________________________________ Grafcet pág. 17
  • 92.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Divergencia en AND Las etapas n+1 y n+2 pasan al estado activo, si estando activa la etapa n se satisface la receptividad de la transición F n F n+1 n+2 Esta estructura hace posible el disparo simultáneo de dos o más secuencias paralelas Convergencia en AND La etapa n pasa al estado activo, si estando las etapas n-1 y n-2 activas, se satisface la receptividad de la transición F n- 1 n- 2 F n Mediante esta estructura se hace posible la convergencia de dos o más secuencias paralelas ____________________________________________________________________________________ Grafcet pág. 18
  • 93.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Saltos condicionales. Retención de secuencia El salto condicional es una ramificación que permite saltar una o varias etapas si las acciones a realizar no son útiles, mientras que la retención de secuencia permite, al contrario, efectuar una o varias veces la misma secuencia en tanto que una condición fijada no se ha obtenido K F F Acción G 13 Acción L 17 L G Acción M 18 Acción H 14 Acción K 16 Acción E 12 M H 15 M 19 Acción J En el Grafcet de la figura se producirá un salto de la etapa 12 a la etapa 15 si la receptividad representada por la variable F es F = 0. Si F=1 se prosigue la secuencia 13, 14, 15 Acción P En el Grafcet de la figura, se producirá una retención de la secuencia de etapas 17, 18, mientras se mantenga el valor de la variable M en M=0 Repetición de secuencias. Concepto de macroetapa Un conjunto de etapas cuya aparición puede repetirse en varias ocasiones a lo largo del diagrama Grafcet, puede ser representado a través de un rectángulo con bordes verticales de doble trazo y conteniendo los números de la etapa inicial y final. De esta forma solo habrá que detallar de manera explícita la secuencia una sola vez ____________________________________________________________________________________ Grafcet pág. 19
  • 94.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 5 a 6 15- 20 b 7 c 8 d 9 15- 20 e 10 5.3 SITUACIONES ESPECIALES Se tratan en este apartado, algunos modos de representación normalizada Grafcet de situaciones especiales de evolución de los sistemas, también la forma de escritura de acciones asociadas de naturaleza interna. Algunas de especial interés son : Evoluciones simultáneas Acciones y receptividades temporizadas Transiciones temporizadas Acciones mantenidas ____________________________________________________________________________________ Grafcet pág. 20
  • 95.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 5.3.1 Evoluciones simultáneas Una de las reglas del Grafcet indica que varias transiciones simultáneamente franqueables son franqueadas simultáneamente. Esta regla de franqueamineto simultáneo permite descomponer un diagrama Grafcet en varios diagramas asegurando de forma rigurosa sus interconexiones. Ello debe conseguirse, haciendo intervenir en las receptividades los estados activos de las etapas, de tal forma que el estado activo de la etapa " n " será representado mediante " En " y el estado inactivo mediante " En " negado. Esta regla, permite particularmente, el franqueamiento simultáneo de transiciones validadas por etapas situadas en diagramas separados, excluyendo de esta forma, posibles ambigüedades en cuanto al franqueamiento de la transición 6 antes que la transición 14 o viceversa ( ver figura ) 6 14 T6 · E14 7 T14 · E6 15 5.3.2 Acciones y receptividades temporizadas Este tipo de acciones y receptividades temporizadas son de uso frecuente. En el caso de acciones temporizadas, se trata de acciones de carácter virtual, pero también pueden ser un caso particular de las acciones condicionales. La indicación de la temporización se realiza por : t/n/q donde t n q representa la temporización representa la etapa en que tiene lugar representa el tiempo en segundos Su representación puede realizarse de forma que se considere la ejecución de la acción asociada durante la temporización o a partir de la temporización ____________________________________________________________________________________ Grafcet pág. 21
  • 96.
    Sistemas de controlsecuencial ____________________________________________________________________________________ E8 Acción A si t / 8 / 10 8 A 10 s Acción B si t / 8 / 15 B 15 s 5.3.3 Transiciones temporizadas Su representación se realiza de idéntica forma a lo expuesto anteriormente en las acciones temporizadas. de tal forma que en el diagrama de la figura, la etapa nº 9 se activará transcurridos 5 segundos desde la activación de la etapa nº 8 8 Etapa 8 t/8/5s 9 Etapa 9 5 seg 5.3.4 Acción mantenida Se estudia el tratamiento a realizar con acciones cuya ejecución ha de prolongarse durante dos o más etapas consecutivas. A este respecto pueden contemplarse mediante dos modalidades de representación : ____________________________________________________________________________________ Grafcet pág. 22
  • 97.
    Sistemas de controlsecuencial ____________________________________________________________________________________ a) Efecto mantenido por acciones continuas no memorizadas En este caso, la acción a mantener se repetirá en cada una de las etapas afectadas lo cual, asegura la continuidad de la operación asociada Etapa 8 Acción A 8 Etapa 9 T8 Acción A Acción B 9 Acción A Acción B b) Efecto mantenido por acción memorizada En este caso, las acciones se precisarán en las etapas de comienzo y final del efecto mantenido, tal y como se refleja en la figura Acción A = 1 10 Etapa 10 Etapa 30 T10 11 Acción A =1 T11 Acción A = 0 30 Acción A = 0 Acción A ____________________________________________________________________________________ Grafcet pág. 23
  • 98.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 6 IMPLEMENTACIÓN DE UN AUTOMATISMO A TRAVÉS DEL GRAFCET La implementación de un automatismo mediante lógica programada o cableada, a partir del Grafcet se realizará teniendo en cuenta las siguientes consideraciones : El Diagrama Grafcet, nos permite realizar una división del funcionamiento del automatismo por Etapas, y en cada una de ellas se ejecutarán, por lo general, una o más acciones asociadas. El concepto de etapa se asociará al de una memoria binaria, que puede estar activa o inactiva según dicha memoria esté en estado lógico "1" o "0". Cuando la memoria se encuentre en estado lógico "1" se ejecutarán todas las acciones asociadas de carácter incondicional. Las acciones condicionales, deberán ejecutarse cuando además del estado lógico "1" de la memoria, se encuentre en estado lógico "1" la condición asociada. La interacción de las diferentes etapas y la receptividad asociada a cada una de ellas se realiza a través del denominado módulo secuenciador de etapas. 6.1 Módulo secuenciador de etapa La relación funcional existente entre etapas contiguas queda establecida por lo que se denomina el módulo secuenciador de etapa, que podemos definir como el elemento tecnológico capaz de interaccionar con su/s etapa/s anterior/es y posterior/es. El módulo secuenciador de etapa es un concepto funcional pero también tecnológico, ya que existen en el mercado módulos secuenciadores de diversa naturaleza : eléctricos, neumáticos etc. Dicho módulo secuenciador, básicamente está formado por una memoria binaria ( biestable o relé de enclavamiento ),a cuya entrada de activación se conecta una puerta AND con tantas entradas como número de etapas deban activar la citada etapa, más otra entrada para conectar la receptividad asociada. En su entrada de desactivación lleva conectada una puerta OR, con tantas entradas como etapas cuya activación debe provocar la desactivación de la primera Entradas de activación & Memoria Salida Entradas de desactivación ≥1 binaria Módulo secuenciador de etapa ____________________________________________________________________________________ Grafcet pág. 24
  • 99.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Su descripción gráfica se muestra en la siguiente figura, y contribuirá a clarificar la dinámica inter-etapas Salida módulo n-1 Transición n-1 Activación módulo n+1 Secuenciador n Reset módulo n+1 & Tn- 2 Salida n Módulo A reset módulo n-1 S En- 1 Salida En Salida En+1 Salida R & Tn- 1 S R & Tn S R El citado elemento tecnológico, en el supuesto de una secuencia única, posee tres entradas y una salida y el objeto de cada una de ellas para un módulo de etapa de orden n, es respectivamente : 1ª Entrada : Se utiliza para hacer activable la etapa n, a través de la señal proveniente de la salida de la etapa n-1 2ª Entrada : Se utiliza para efectuar la activación de la etapa y la señal de activación proviene del franqueamiento de la transición n-1 3ª Entrada : Se utiliza para la puesta a cero ( Reset ) de la Etapa n, y la señal proviene de la salida realimentada de la Etapa n+1 1ª Salida : Se utiliza para que realice tres funciones distintas y simultáneas que son : * * * Hacer activable la etapa n+1 Desactivar la etapa n-1 Ejecutar la orden de mando prevista ____________________________________________________________________________________ Grafcet pág. 25
  • 100.
    Sistemas de controlsecuencial ____________________________________________________________________________________ El módulo secuenciador de etapa de orden n se hace activable por el módulo n-1 y se hace activo por el franqueamiento de la transición. Su paso al estado activo hace activable al módulo n+1 y desactiva al módulo n-1. En la siguiente figura se muestra la implementación física de un módulo secuenciador de etapa mediante un biestable RS. A la entrada SET se conecta una puerta Y, y a ella se conecta la salida y receptividad de E ( n-1 ) y T ( n-1 ) respectivamente. A su entrada RESET se conecta la salida de la etapa ( n+1 ) & ≥1 6.2 S Salida R Obtención de las funciones lógicas a partir del diagrama GRAFCET A partir de cada Etapa de un diagrama GRAFCET, deben obtenerse dos tipos diferentes de funciones lógicas : * Función lógica de activación / desactivación de la etapa correspondiente * Funciones lógicas de activación de las operaciones de mando La función lógica de activación / desactivación es única por etapa. Sin embargo el número de funciones lógicas de operación de mando, depende de la cantidad de acciones asociadas a cada etapa. 6.2.1 Ecuación de activación / desactivación La ecuación de activación / desactivación asociada a cada una de las etapas del diagrama Grafcet tiene la siguiente expresión : __ Y=R(S+Y) donde : Y R S es la salida ( estado de la etapa ) es la condición de desactivación es la condición de activación ____________________________________________________________________________________ Grafcet pág. 26
  • 101.
    Sistemas de controlsecuencial ____________________________________________________________________________________ La expresión concreta de R y S, dependerá de la estructura básica y lógica del diagrama GRAFCET. En general pueden ser funciones OR y AND donde intervienen las variables representativas de Etapas y Transiciones. Las condiciones de activación de una etapa En, viene dada por la función lógica : __ En = En + 1 ( En - 1 . Tn - 1 + En ) __ En = En - 1 . Tn - 1 + En + 1 En En la cual, para una secuencia única de etapas se relaciona la activación de la etapa En, en función de la etapa anterior, la etapa posterior y la receptividad asociada En- 1 T n- 1 En Tn En+1 La etapa En se activará, si estando la etapa En-1 activada y la En+1 desactivada se satisface la transición Tn-1. Después permanecerá activada hasta que la En+1 se active. 6.2.2 Ecuaciones de activación de operaciones de mando El número de ecuaciones de activación de operaciones de mando, depende del número de acciones asociadas a cada etapa ( número de variables de salida ). Su expresión dependerá del carácter condicional o incondicional de éstas. Para una mejor comprensión de lo expuesto en los apartados anteriores, veamos un ejemplo. ____________________________________________________________________________________ Grafcet pág. 27
  • 102.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Ejemplo : Sea el Grafcet de la siguiente figura, donde vamos a proceder a la obtención y clasificación del total de funciones lógicas a generar por el citado diagrama. T4 Acción A Acción B Acción D m Acción F Acción G 5 Acción H T5 6 Acción C T6 7 T7 En la etapa nº 5 tenemos 3 acciones asociadas de carácter incondicional representadas por las variables de salida A, B, y C respectivamente. En la etapa nº 6 tenemos asociadas dos acciones, una incondicional D, y otra de carácter condicional F. En la etapa nº 7 dos acciones asociadas la G y la H. Por tanto, las funciones lógicas a generar son : Funciones lógicas de la etapa nº 5 : __ E5 = E6 ( E4 . T4 + E5 ) A = E5 B = E5 C = E5 Activación de la etapa Funciones lógicas de la etapa nº 6 : __ E6 = E7 ( E5 . T5 + E6 ) D = E6 F = m . E6 Activación de la etapa Funciones lógicas de la etapa nº 7 : __ E7 = E8 ( E6 . T6 + E7 ) G = E7 H = E7 Activación de la etapa ____________________________________________________________________________________ Grafcet pág. 28
  • 103.
    Sistemas de controlsecuencial ____________________________________________________________________________________ En la siguiente figura se ha realizado la implementación de las ecuaciones lógicas generadas, mediante el lenguaje de programación de diagrama de contactos. E6 E4 T4 E5 E5 Ecuaciones asociadas E5 A E5 B E5 E7 a Etapa nº 5 C E5 T5 E6 E6 Ecuaciones asociadas E6 D E6 m E8 E6 F T6 E7 E7 E7 E7 a Etapa nº 6 Ecuaciones asociadas G a Etapa nº 7 H Como se ha podido comprobar la obtención de las funciones lógicas resulta de gran facilidad, si bien su obtención a partir de las distintas estructuras lógicas, bucles, saltos y macroetapas conlleva mayor dificultad, por ello pasamos a detallar su obtención a partir de las estructuras referidas anteriormente. 6.3 Funciones lógicas de activación / desactivación y estructuras lógicas La obtención de las funciones lógicas de activación / desactivación de las etapas, cuando no se trata de una estructura simple de secuencia única, requiere de cierta reflexión teniendo en cuenta la estructuración de las distintas etapas a través de las diversas estructuras lógicas. Seguidamente pasamos a realizar su análisis ____________________________________________________________________________________ Grafcet pág. 29
  • 104.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 63.1 Divergencia en OR La estructura lógica de Divergencia en OR, requiere que en las condiciones de desactivación de la etapa divergente se reflejen las diversas etapas que, alternativamente, pueden producir la desactivación de la primera. n a b n+1 n+2 Reset prioritario __ __ En = En + 1 En + 2 ( En - 1 . Tn - 1 + En ) Set prioritario __ __ En = En - 1 . Tn - 1 + En En + 1 En + 2 63.2 Convergencia en OR La estructura lógica de Convergencia en OR, en lo que respecta a la etapa de convergencia, su condición de activación debe tener en cuenta las posibles etapas anteriores que alternativamente, pueden provocar la activación de dicha etapa. n- 1 n- 2 d c n Reset prioritario Set prioritario __ En = En + 1 ( En - 1 . c + En - 2 . d + En ) __ En = En - 1 . c + En - 2 . d + En En + 1 ____________________________________________________________________________________ Grafcet pág. 30
  • 105.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 63.3 Divergencia en AND En una estructura de Divergencia en AND, tendremos que tener en cuenta en la función lógica asociada a la etapa a partir de la cual se produce la divergencia, el número de etapas posteriores que intervienen en su condición de desactivación. n Tn n+1 Reset prioritario Set prioritario 63.4 n+2 __ __ En = En + 1 En + 2 ( En - 1 . Tn - 1 + En ) __ __ En = En - 1 . Tn - 1 + En + 1 En + 2 En Convergencia en AND Finalmente, en la estructura de Convergencia en AND, deberá tenerse en cuenta en la etapa de convergencia, en las condiciones de activación de su función lógica, las etapas cuya activación simultánea deberá provocar la activación posterior de dicha etapa. n-2 n-1 F n Reset prioritario Set prioritario __ En = En + 1 ( En - 1 . En - 2 . F + En ) __ En = En - 1 . En - 2 F + En En + 1 ____________________________________________________________________________________ Grafcet pág. 31
  • 106.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 7 CICLOS DE EJECUCIÓN : TIPOS Dependiendo de las características de funcionamiento del automatismo, éste requerirá distintas modalidades de ejecución de ciclo Por ello atendiendo a diversos criterios los ciclos pueden clasificarse como sigue : * * * * 7.1 Marcha ciclo a ciclo Marcha automática / Parada de ciclo Marcha automática / Marcha ciclo a ciclo Marcha de verificación en el orden del ciclo Marcha ciclo a ciclo Cada ciclo se ejecuta automáticamente, pero necesita la intervención del operador ( arranque de ciclo ) para poder ejecutar el ciclo siguiente ACI = Arranque de ciclo 0 CI = Condiciones iniciales ACI · CI 1 CICLO n Tn Un accionamiento permanente del arranque de ciclo ( ACI ) produce la repetición de los ciclos En este caso el ciclo se ejecuta una sola vez aunque el operador mantenga presente la información de arranque. Es necesario accionar de nuevo el arranque de ciclo ( ACI ) para volver a iniciar el ciclo ACI = Arranque de ciclo 0 CI = Condiciones iniciales ACI · CI 1 CICLO n Tn · ACI ____________________________________________________________________________________ Grafcet pág. 32
  • 107.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 7.3 Marcha automática / Parada de ciclo En esta modalidad, el ciclo se repetirá indefinidamente tras su arranque, hasta que se active una señal de parada tras lo cual, el ciclo en curso acabará su ejecución y se detendrá. 0 10 E20 . CI ACI . pcl . CI 1 20 CICLO Marcha automática pcl n ACI = Arranque de ciclo Tn CI = Condiciones iniciales pcl = Parada del ciclo 7.4 Marcha automática / Marcha ciclo a ciclo El operador puede elegir por medio de un conmutador entre dos tipos de marcha. El ciclo se inicia por una acción ( arranque de ciclo ). El posterior bloqueo se ejecuta en función de la posición del conmutador. auto ciclo a ciclo 0 ACI . CI 1 CICLO n ACI = Arranque de ciclo Tn . auto CI = Condiciones iniciales Tn . ciclo a ciclo ____________________________________________________________________________________ Grafcet pág. 33
  • 108.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 7.5 Marcha de verificación en el orden del ciclo Esta marcha etapa por etapa, tiene como fin verificar la conformidad del desarrollo del ciclo teniendo en cuenta todas las condiciones reales de una marcha de producción, efectuándose el desarrollo bajo el control permanente del operador a 0 ACI . CI . a a 1 T1 . a a ACI = Arranque de ciclo CI = Condiciones iniciales a = pulsador avance 1 paso T2 . a a n Tn . a Esta disposición tiene el inconveniente de que se hace difícil la manipulación en los movimientos rápidos ( posible evolución de varias etapas según el tiempo de pulsado del botón ) 8 TRATAMIENTO DE ALARMAS Y EMERGENCIAS La tendencia actual en lo que respecta a los dispositivos de control basados en lógica programada, es que una gran parte del cuerpo de programa implementado en el mismo esté dedicado al objetivo de garantizar un buen comportamiento del sistema en el caso de situaciones imprevistas, averías, emergencias etc. Con ello deben asegurarse niveles adecuados de seguridad para los operadores humanos al cargo de los sistemas, cuando no de las propias instalaciones industriales cuya reparación puede suponer la dedicación de grandes recursos económicos. En lo que respecta al tratamiento de alarmas y situaciones de emergencia, es conveniente su clasificación a partir de criterios de implementación tecnológica de los sistemas a tratar. Por ello las alarmas deben ser clasificadas como : * * Alarmas locales Alarmas generales. ____________________________________________________________________________________ Grafcet pág. 34
  • 109.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Las alarmas locales, sólo afectarán parcialmente al sistema, de forma que su efecto sólo debe repercutir sobre un conjunto delimitado de dispositivos tecnológicos o subsistema en concreto. Por el contrario, las alarmas generales afectarán a la totalidad del sistema y por lo general van a disponer de prioridad frente a las locales anteriormente citadas. Tanto las alarmas locales como las generales, pueden ser implementadas mediante la colocación de una nueva variable en las condiciones de desactivación de la función lógica activadora / desactivadora de una Etapa. __ __ __ En = Zp . Zt .En + 1 ( En - 1 . Tn - 1 + En ) Donde Zp representa a una alarma de carácter local y Zt a una alarma de carácter total. Obviamente la variable representativa de la alarma de carácter total tendrá presencia en la totalidad de las ecuaciones de activación de etapas del diagrama funcional. No así la variable representativa de la alarma local, cuya aparición se restringe a un conjunto determinado de ecuaciones de activación. Existe otro criterio para el tratamiento de las alarmas. Este consiste en la intervención de las variables representativas de alarmas en las receptividades asociadas a cada transición. Ello permite de forma relativamente fácil, hacer evolucionar el sistema a determinadas situaciones de parada o espera ante situaciones de emergencia. De forma rigurosa, las variables de alarma deberían aparecer en cada una de las etapas del Grafcet, y tener prevista cada una de las situaciones de seguridad en función del tramo en ejecución y de los niveles de seguridad solicitados. Algunos autores, desaconsejan el tratamiento de las paradas de emergencia como una información de entrada más, puesto que argumentan que ello es contrario al propio espíritu de " emergencia ". La posible formalización del comportamiento de los sistemas frente a situaciones de emergencia se podría sintetizar mediante los siguientes criterios : Sin secuencia de emergencia Con secuencia de emergencia 8.1 Sin secuencia de emergencia Ante una situación de alarma, el sistema se limita a detener su evolución y suspende las operaciones básicas asociadas a la etapa donde se produce la suspensión. Además, pueden establecerse a partir de este criterio diversas variantes. Dos de ellas serían : * * Congelación del automatismo Inhibición de acciones ____________________________________________________________________________________ Grafcet pág. 35
  • 110.
    Sistemas de controlsecuencial ____________________________________________________________________________________ En la modalidad de congelación del automatismo, la señal de alarma participa en cada una de las receptividades asociadas a las transiciones, de forma que su activación impide la puesta a "1" de la receptividad y también la evolución del sistema. Cuando la señal de alarma desaparece, el sistema puede continuar su evolución a partir de la etapa donde se produjo el paro. En- 1 Tn- 1 . Zt En Tn . Zt En+1 Tn+1 . Zt Obsérvese que en este caso, las acciones asociadas a las etapas pueden permanecer activas, los movimientos iniciados continúan, lo que puede resultar peligroso en sí mismo o por consiguiente bloqueo en la evolución. En la modalidad de inhibición de acciones, aparición de la señal de alarma, no detiene directamente la evolución del automatismo, sino que inhibe a las propias acciones asociadas a las etapas Zt En-1 A Tn-1 Zt B En Tn Zt En+1 C Tn+1 ____________________________________________________________________________________ Grafcet pág. 36
  • 111.
    Sistemas de controlsecuencial ____________________________________________________________________________________ En este caso debe estudiarse detenidamente el gobierno de los accionadores según el tipo de acción deseada en caso de parada de emergencia. Por ejemplo : Para distribuidores que gobiernan cilindros * Control monoestable, si se desea retornar a una posición determinada * Control biestable, si se desea parar al finalizar el movimiento * Distribuidor de tres posiciones, si se desea una detención en ese lugar Para contactores que gobiernan motores * Control monoestable * Cableado incorporando dispositivos de seguridad También podemos realizar una combinación de ambas opciones Zt E 1 n- A Tn-1 Zt Zt B En Tn Zt Zt E +1 n C Tn+1 Zt 8.2 Con secuencia de emergencia E 1 nTn 1 Zt En Tn Zt Zt E+ n Tn+ Zt En este caso la evolución del sistema deriva hacia una secuencia de emergencia ante la activación de la señal de alarma prevista de Zt antemano, cuya naturaleza estará lógicamente condicionada por aspectos de implementación tecnológica. En la figura se ofrece un ejemplo de representación de un diagrama Grafcet de esta opción de tratamiento de emergencia Zt Secuencia de emergencia ____________________________________________________________________________________ Grafcet pág. 37
  • 112.
    Sistemas de controlsecuencial ____________________________________________________________________________________ TEMA 5 : APLICACIÓN DE LA TEORÍA BINODAL ____________________________________________________________________________________ Teoría Binodal pág. 1
  • 113.
    Sistemas de controlsecuencial ____________________________________________________________________________________ ____________________________________________________________________________________ Teoría Binodal pág. 2
  • 114.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 1 INTRODUCCIÓN La aplicación de la " Teoría Binodal " a los procesos de síntesis de sistemas secuenciales asíncronos y sincronizados proporciona un método rápido e intuitivo en el que sin perder en ningún momento la imagen global del sistema tratado, y a través de un gráfico representativo de la dinámica del sistema, se obtienen las ecuaciones lógicas que rigen el comportamiento del sistema. En la síntesis de sistemas asíncronos ( que evolucionan sin precisar el control de una señal de reloj ), resulta sencillo evitar las transiciones críticas y los deslizamientos de secuencia, ya que el " grafo de secuencia " contiene todas las evoluciones internas del sistema y, por tanto, las anomalías citadas pueden ser eliminadas a medida que se vaya construyendo el grafo. 2 CONCEPTOS BINODALES BÁSICOS El planteamiento de la teoría binodal se inicia con la definición de " binodo " y " multinodo ", y con la descripción de un diagrama designado con el nombre de " grafo de secuencia ". A partir de las definiciones de estas estructuras, se deducen los teoremas binodales, que permiten obtener las ecuaciones de salida de cualquier binodo, resultando además dichas ecuaciones simplificadas en la mayoría de los casos, o pendientes de una mínima y directa simplificación 2.1 Definición general de binodo. Variables de acción Se dice que un dispositivo cualquiera posee estructura de binodo, cuando únicamente puede encontrarse en dos situaciones ( representadas por B yB ), pasando de la una a la otra, por efecto de unas variables de acción ( v.d.a. ), independientemente de que el efecto de dichas variables quede o no memorizado al desaparecer éstas. Se distinguen dos tipos fundamentales de binodos : Binodo " bi " Binodo " mono " o " monodo ". ____________________________________________________________________________________ Teoría Binodal pág. 3
  • 115.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 2.2 Binodo " mono " o " monodo ". Gráfico representativo Se denomina así a todo aquel binodo que necesita la presencia de una, al menos, de las variables de acción ( v.d.a. ) creadoras Mr ( r = 1, 2,....n ) y la ausencia de todas las v.d.a. negadoras Pu ( u = 1, 2, ... m ) para sostener una de sus dos situaciones ( B ), a la que se denomina situación principal B Monodo Activo B Monodo desactivo P1 M1 Mr Mn Pu Pm B Como se puede observar en el grafo, la situación principal ( B ) existirá cuando estando presente alguna de las v.d.a. ( Mr ), no exista ninguna de las v.d.a ( Pu ). Es decir, el efecto de las v.d.a. anulatorias o negadoras de la situación ( B ) tiene prioridad sobre el de las v.d.a. creadoras de dicha situación, en el supuesto de que variables de ambos grupos actúen simultáneamente. 2.2.1 Obtención de la ecuación lógica del binodo mono La ecuación lógica de un binodo mono se obtiene multiplicando a la suma de las variables de acción creadoras las inversas de las variables de acción negadoras B = ( M1 + M2 + ..... + Mn ) · P1 · P2 · ....Pm El monodo carece de memoria puesto que es una estructura combinacional, y únicamente aparecerá en los grafos como elemento accesorio de alguna salida de binodo ____________________________________________________________________________________ Teoría Binodal pág. 4
  • 116.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 2.3 Binodo " bi ". Grafo de secuencia representativo Se denomina binodo "bi" a todo aquel binodo que se mantiene en la situación en la que se encuentra aunque desaparezca la v.d.a. que la originó, siempre y cuando no exista otra v.d.a de efecto contrario que la haga vascular a la situación opuesta En este caso, no hay prioridad de unas v.d.a sobre otras ( creadoras o negadoras ). La prioridad dependerá de cual de los dos teoremas del binodo "bi" utilicemos para obtener las ecuaciones lógicas El grafo de secuencia del binodo "bi " puede expresarse de la forma que se indica v.d.a. creadoras B 2.4 v.d.a. negadoras B Teoremas del binodo " bi " 1º Teorema ( prioridad de la v.d.a. negadora ) La ecuación lógica de salida de una situación cualquiera de un binodo, independiente o integrado en un multinodo, se halla sumando a la propia situación, las v.d.a. que la crean, y multiplicando este resultado por las inversas de las v.d.a. que hacen conmutar al binodo a la situación complementaria de la considerada. m n B ( t ) = [ ( B + Σ Mr ) · Π Pu ] ( t - τ) u=1 r=1 donde Σ y Π son el sumatorio y el productorio booleano respectivamente, t el instante considerado y τ el tiempo de conmutación del binodo en cuestión. ____________________________________________________________________________________ Teoría Binodal pág. 5
  • 117.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Aplicando el teorema enunciado al grafo de secuencia del binodo "bi" se obtiene la ecuación lógica siguiente : v.d.a. creadoras ( A ) B v.d.a. negadoras ( C ) B B=(B+A).C 2º Teorema ( prioridad de la v.d.a. creadora ) La ecuación lógica de salida de una situación cualquiera de un binodo independiente o integrado en un multinodo se halla, multiplicando la propia situación binodal por las inversas de las variables que la niegan y sumando las v.d.a. que la crean m n B ( t ) = [ ( B · Π Pu ) + Σ Mr ] ( t -τ ) r=1 u=1 Las ecuaciones obtenidas para una situación binodal mediante los dos teoremas, son equivalentes, aunque tienen distinta estructura, siempre que se verifique la hipótesis de no simultaneidad de v.d.a. de efectos antagónicos. En los casos en que se admita la simultaneidad de v.d.a. antagónicas, se demuestra que el 1º teorema proporciona una ecuación lógica que da prioridad al efecto de las v.d.a. de borrado sobre las de creación de la situación, en tanto que el segundo teorema da prioridad a las v.d.a creadoras de la situación. No obstante, debe quedar claro que por medio de condicionantes en el grafo de secuencia puede imponérsele a cualquiera de los dos enunciados del teorema binodal la prioridad que se desee; es decir, cualquiera de los dos teoremas responde a las exigencias de los condicionantes de prioridad introducidos en el grafo de secuencia. Así pues, las ecuaciones lógicas, una vez simplificadas serán idénticas. ____________________________________________________________________________________ Teoría Binodal pág. 6
  • 118.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Ejemplo.- En el binodo de la figura se ha dado, por medio del condicionante M̅ , prioridad a la v.d.a. M sobre P en el caso de que exista simultaneidad : M A P.M A Aplicando el 1º teorema y simplificando la ecuación obtenida, resulta : A=(A+M)·P·M=(A+M)·(P+M)=A·P+A·M+M·P+M=A·P+M Aplicando el 2º teorema y simplificando la ecuación obtenida, resulta : A=A·P·M+M=A·(P+M)+M=A·P+A·M+M=A·P+M 2.5 Multinodo. Grafo de secuencia Bajo la denominación de multinodo se incluye a toda estructura constituida por varios binodos influenciados entre sí Como consecuencia aparecerán numerosas situaciones que a su vez podrán actuar como v.d.a o bien como condicionantes de otras v.d.a de los diferentes binodos. Nos encontraremos pues, con v.d.a internas, externas, temporizadas, diferenciadas, etc., así como compuestas; es decir, en forma de expresiones booleanas de varias variables simples. Cada una de las múltiples situaciones parciales del multinodo pueden proporcionar al exterior, de forma simultánea, una acción física que se denomina salida En la siguiente figura, se muestra, a modo de ejemplo, el grafo de secuencia de un multinodo, el cual nos proporciona una visión global y dinámica de todas las evoluciones del programa operacional que representa. ____________________________________________________________________________________ Teoría Binodal pág. 7
  • 119.
    Sistemas de controlsecuencial ____________________________________________________________________________________ P3 M (S+T).B N A (F.C).A R P2 P1 A Q.B B B Se observa que este multinodo está constituido por dos binodos "bi" y un "monodo" La situación A es creada por la v.d.a M, o bien por la booleana ( S + T ), pero condicionada esta última a la existencia de B̅ , es decir, tiene que valer "1" la expresión ( S + T ) · B̅. La situación complementaria de A, o sea A̅, será creada por la acción de P1 A = [ ( A + M + ( S + T ) · B ] · P1 La situación B es creada por la acción de la variable N, o por la booleana F·C condicionada a la existencia de A, y será borrada, es decir, su complementaria B̅, por la acción de la variable P2 B = ( B + N + F · C · A ) · P2 La situación R será creada por Q condicionada a B, y borrada por P3 R = Q · B · P3 ____________________________________________________________________________________ Teoría Binodal pág. 8
  • 120.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 2.6 Condicionantes parciales y generales Tomemos como ejemplo el siguiente ejercicio : Se desea gobernar dos relés R1 y R2, de tal forma que R1 pueda actuar con independencia de R2; pero que R2 sólo pueda excitarse cuando R1 esté excitado, si bien, una vez excitado R2 pueda seguir existiendo aunque desaparezca R1. La activación del relé R1 se hará por un impulso eléctrico proporcionado por un pulsador M1, y la activación de R2 por un pulsador M2. La desactivación de ambos relés se producirá por un impulso eléctrico en P1 y P2 respectivamente M1 R1 M2 . R1 R2 P2 P1 R1 R2 Ecuaciones lógicas R1 = ( R1 + M1 ) · P1 R2 = ( R2 + M2 · R1 ) · P2 El enunciado del ejercicio nos indica que la situación R2 debe ser creada por la v.d.a. M2, pero condicionada a la existencia de R1, si bien, una vez creada dicha situación R2, debe persistir aunque desaparezca R1. En estos casos decimos que R1 es un condicionante parcial, porque sólo condiciona la creación, pero no la persistencia, de R2 ____________________________________________________________________________________ Teoría Binodal pág. 9
  • 121.
    Sistemas de controlsecuencial ____________________________________________________________________________________ En algunos automatismos es necesario que el condicionante sea general; es decir, que condicione la creación y la persistencia. Para expresar en el grafo de secuencia esta exigencia, se coloca el condicionante general ( enmarcado en un pequeño cuadrado ) al lado de la situación condicionada, y al hallar la ecuación lógica de la situación citada se pondrá este condicionante como factor general. El condicionante general tiene por si solo un efecto anulatorio, pero no creador; es una autorización. Así, si en el ejercicio anterior se hubiese exigido que la situación R2 estuviera condicionada en todo momento a la existencia de R1, haríamos el grafo de secuencia siguiente : R1 M1 R1 M2 R2 P2 P1 R1 R2 Ecuaciones lógicas R1 = ( R1 + M1 ) · P1 R2 = ( R2 + M2 ) · P2 · R1 ____________________________________________________________________________________ Teoría Binodal pág. 10
  • 122.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 3 DISEÑO BINODAL DE AUTOMATISMOS SECUENCIALES Para poder abordar el diseño de los automatismos secuenciales por el método binodal, es necesario tener en cuenta una serie de conceptos, que a continuación se definen : 3.1 Variables de acción ( v.d.a ) Es toda información, en expresión simple o booleana, exterior o interior al sistema que puede provocar una evolución de éste 3.2 Estados de acción ( e. d. a. ) Denominamos estados de acción ( e.d.a ) a cada una de las combinaciones binarias que se pueden presentar en las variables externas de entrada a un automatismo, provocando una transición de éste Entre cada dos estados de acción operativos pueden existir uno o varios estados de acción transitorios 3.2.1 Estados de acción idénticos Son aquéllos ( e.d.a ) cuyas variables constituyentes se encuentran en el mismo valor binario o nivel lógico 3.2.1.1 Estados de acción idénticos y compatibles Dos e.d.a idénticos serán compatibles, y por tanto no necesitarán ser discriminados en los siguientes casos : a.b.c.- Cuando crean siempre y únicamente las mismas situaciones binodales Cuando la situación binodal creada por uno de ellos es condicionante para la operatividad del otro; generalmente estos e.d.a aparecen consecutivos en el grafo de secuencia Cuando las situaciones creadas por ellos no sean antagónicas, y además se cumpla que los intervalos de existencia de dichas situaciones sean mayores que los intervalos existentes entre los citados estados idénticos, incluido el e.d.a límite del intervalo Los e.d.a. idénticos compatibles se unen mediante una linea de trazos, excluyendo a los transitorios con sus adyacentes, por ser siempre compatibles ____________________________________________________________________________________ Teoría Binodal pág. 11
  • 123.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 3.2.1.2 Estados de acción idénticos e incompatibles Decimos que dos e.d.a idénticos son incompatibles cuando no cumplen ninguna de las condiciones a), b) y c) anteriormente expresadas. A efectos prácticos para determinar la compatibilidad o incompatibilidad de e.d.a. idénticos, aplicaremos las reglas establecidas por F. Ojeda, que establecen la incompatibilidad de dos e.d.a. idénticos cuando : * Las situaciones creadas por ellos sean antagónicas, o cuando * Una al menos de las situaciones binodales generadas por cualquiera de dichos estados no exista en el instante de la actuación del otro estado idéntico Estos estados necesitan, siempre, ser discriminados, pues de lo contrario se podrían producir saltos de secuencia, acciones antagónicas, ciclos parásitos, etc. En estos casos, es necesario recurrir a la intersección de otras variables con la variable de acción correspondiente. Las citadas variables condicionantes pueden ser otras variables externas ( captadores de información ) ó variables internas ( situaciones binodales ) , pero en muchas ocasiones será necesaria la intersección de nuevas variables, que denominaremos "variables auxiliares" 3.2.3 Estados de acción no idénticos e incompatibles Son aquéllos en que la misma v.d.a. da lugar a situaciones binodales distintas. Estos necesitan ser discriminados, de la misma forma que los e.d.a. idénticos Los e.d.a. incompatibles e unen mediante una linea continua ____________________________________________________________________________________ Teoría Binodal pág. 12
  • 124.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 4 DISEÑO BINODAL DE AUTOMATISMOS SECUENCIALES QUE NO PRESENTAN ESTADOS IDÉNTICOS INCOMPATIBLES A continuación se diseña un automatismo concreto, con el objeto de aclarar los conceptos expuestos, así como aclarar la forma de realizar el grafo de secuencia y la obtención de las ecuaciones lógicas Ejercicio : Proyectar el circuito de mando para un móvil que se desliza sobre un husillo movido por un motor con doble sentido de giro. El motor es gobernado por dos contactores Rd y Ri que lo conexionan para que gire en sentido derecha o izquierda, respectivamente CONDICIONES : a) Al pulsar Md entrará el contactor Rd; entonces el móvil se desplaza hacia la derecha, y al llegar al final de carrera Fd se para, regresando seguidamente hacia Fi, donde permanecerá en reposo hasta una nueva orden de Md b) Al pulsar un botón de emergencia P, se parará el móvil en cualquier posición en que se encuentre, y podrá reanudar la marcha hacia la derecha si se pulsa Md, o hacia la izquierda si se pulsa Mi. En cualquiera de los dos casos se parará al final del ciclo; es decir, al llegar el móvil al final de carrera Fi Ri Rd HUSILLO MOTOR Fi Md P Fd Mi El grafo de secuencia debe ser una expresión gráfica fiel del programa del automatismo propuesto. El proceso para la realización del grafo de secuencia es el siguiente : ____________________________________________________________________________________ Teoría Binodal pág. 13
  • 125.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 1) Se van dibujando las situaciones binodales en el orden en que se deben ir creando, según la secuencia impuesta por el programa del automatismo propuesto 2) Se escriben los e.d.a. En primer lugar se anota el e.d.a. de comienzo del ciclo; es decir, los niveles lógicos ( 1 o 0 ) de los captadores de información en el momento de comienzo del ciclo. A partir del e.d.a de comienzo de ciclo se van obteniendo los siguientes, simplemente cambiando el nivel lógico de las variables que han conmutado. Deben incluirse los e.d.a transitorios si son diferentes del estado de acción operativo adyacente 3) Se identifican los estados idénticos y si son compatibles se les une mediante una línea de trazos, excluyendo a los transitorios entre sí y a los transitorios con sus adyacentes, por ser siempre compatibles. Si son incompatibles, se les une con una línea continua 4) Se observa si alguna misma v.d.a da lugar a situaciones binodales distintas, si es así, se unen sus e.d.a con una línea continua Rd Ri Mi Md Rd Fd Fi P Md Fd Fi 1 0 1 * 0 * ( 1 ) ( 1' ) Ri Rd Ri P * 1 0 * * 0 0 0 1 (2) ( 2' ) (3) En consecuencia : Los estados de acción operativos son : ( 1 ), ( 2 ) y ( 3 ) Dentro de las variables externas que constituyen un estado de acción, no se considera el pulsador de paro P ni el de marcha Mi, ya que no tienen un comportamiento regular dentro del automatismo; dependen de la voluntad del operario ____________________________________________________________________________________ Teoría Binodal pág. 14
  • 126.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Con el asterisco se indica que Md puede estar o no pulsado, depende del operario; siempre consideraremos el caso más desfavorable, que pueda estar o no pulsado; a excepción del último e.d.a., en que se considerará que es cero, con el fin de que se acabe el ciclo, ya que en caso de estar pulsado de nuevo Md volvería de nuevo a empezar el proceso. En los estados transitorios ( 1' ) y ( 2' ) hemos indicado con asteriscos el estado de los contactos Fi y Fd, pues podría ocurrir que el operario dejara de pulsar justo antes de abrirse cualquiera de los contactos anteriores; con lo que los asteriscos permiten contemplar todas las situaciones posibles No hemos indicado el estado transitorio ( 3' ) porque es análogo al estado de acción ( 3 ) y corresponde al estado inicial del automatismo antes de pulsar el botón de marcha Md. Todos los estados transitorios son compatibles entre sí por ser inoperantes. También son compatibles con los dos e.d.a operativos adyacentes ( si son idénticos ) puesto que la identidad de un transitorio con el e.d.a. operativo adyacente anterior no haría más que confirmar el efecto de éste y si la identidad es con el e.d.a. operativo adyacente posterior significaría que se había llegado a él, es decir, no se trataría realmente de un transitorio. Los estados ( 1' ) y ( 2' ) aunque son idénticos son compatibles por ser transitorios Los estados ( 1' ) y ( 3 ) son compatibles ya que la situación binodal R̅i creada por ( 3 ) existe en el momento en que aparece el ( 1' ) Es conveniente, una vez realizado el grafo de secuencia y detectadas las incompatibilidades, si las hubiera, repasar los e.d.a observando si se da la coexistencia de variables negadoras en los e.d.a. correspondientes a las creadoras, en el caso de aplicar el primer teorema ( prioridad de las negadoras ); o de variables creadoras en los e.d.a correspondientes a las negadoras, en el caso de aplicar el 2º teorema ( prioridad de las creadoras ). Ya que en el primer caso no se podría crear la situación binodal y en el segundo no se podría negar. OBTENCIÓN DE LAS ECUACIONES LÓGICAS Rd = ( Rd + Md · Fi ) · Fd · P · Ri Por el 1º teorema Ri = ( Ri + Mi + Fd ) · Fi · P · Rd ____________________________________________________________________________________ Teoría Binodal pág. 15
  • 127.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 5 DISEÑO BINODAL DE AUTOMATISMOS SECUENCIALES QUE PRESENTAN ESTADOS IDÉNTICOS INCOMPATIBLES Los e.d.a idénticos sabemos que pueden ser compatibles o incompatibles; estos últimos deben ser discriminados si no se desean saltos de secuencia. Para ello se recurre a la intersección de la v.d.a creadora con otras variables. Estas variables pueden ser externas ( captadores de información ) o internas ( situaciones binodales ), pero en muchas ocasiones será necesaria la intervención de nuevas variables, que se denominan " variables auxiliares " 5.1 Automatismos con variable auxiliar Ejemplo : El grafo de la figura representa un automatismo que va a permitir aclarar los conceptos indicados para diseñar un automatismo con variable auxiliar X acM P d P dP Q b Q bQ X R a R aR S c a 1 1 1 0 0 1 1 1 b 0 0 0 1 1 0 0 0 c 1 0 0 0 0 0 0 1 d 0 1 1 1 1 1 1 0 M 1 0 0 0 0 0 0 0 (1) (2) (3) (4) (5) (6) (7) S (8) Estudio de compatibilidad Los e.d.a ( 2 ) y ( 3 ), son idénticos y compatibles, por el caso b Los e.d.a. ( 2 ) y ( 6 ), son idénticos y compatibles, por el caso c Los e.d.a ( 6 ) y ( 7 ), son idénticos y compatibles, por el caso b Los e.d.a ( 4 ) y ( 5 ), son idénticos y compatibles, por el caso b ____________________________________________________________________________________ Teoría Binodal pág. 16
  • 128.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 2-6 6-2 2-7 7-2 P' R' P' S N.I.E.E.S.B 7 7 7 1 > > > < N.I.E.E.A.I 4 5 5 3 3-6 Q 1 < 3 6-3 3-7 R' Q 7 1 > < 5 4 7-3 S 1 < 4 Compatible Compatible Compatible Incompatibl e Incompatibl e Compatible Incompatibl e Incompatibl e S. Antag. No No No Si Si No Si Si Los e.d.a ( 2 ) y ( 7 ), son idénticos e incompatibles, por el caso c: observemos que los intervalos entre S y S̅ son menores que entre los estados ( 7 ) y ( 2 ). Los e.d.a ( 3 ) y ( 6 ) son idénticos e incompatibles, por el apartado c. Observemos que los intervalos entre Q y Q̅ son menores que los intervalos entre los estados ( 3 ) y ( 6 ) Los e.d.a ( 3 ) y ( 7 ) son idénticos e incompatibles por al apartado c. Observemos que los intervalos entre Q y Q̅ son menores que los intervalos entre los estados ( 3 ) y ( 7 ). Igualmente, los intervalos entre S y S̅ son menores que los intervalos entre los estados ( 7)y(3) Para eliminar las incompatibilidades existentes entre e.d.a idénticos, se introducen las variables necesarias , de manera que la creación corte todos los lazos, y la desactivación sea fuera de los lazos 5.2 Variables auxiliares La discriminación de e.d.a incompatibles se puede realizar, algunas veces, por condicionamiento a variables internas ( situaciones binodales ), pero normalmente es necesario introducir nuevas variables condicionadoras, llamadas " variables auxiliares ". Estas variables se introducen en el grafo de secuencia y se mantienen memorizadas durante un cierto intervalo del ciclo secuencial 5.3 Variables directivas Se llaman " variables directivas " a aquellas que en el momento de aparecer dan lugar a una nueva situación binodal. Estas variables pueden ser simples o booleanas " Las variables directivas han de tomarse siempre para la obtención de las ecuaciones lógicas ", porque son las que determinan el momento de creación de las situaciones binodales. Las restantes variables que junto con la directiva constituyen un e.d.a. son solamente " condicionantes " del efecto de dicha variable directiva y únicamente serán necesarias, algunas de ellas, en aquellos casos que la variable directiva exista ( aunque no sea como directiva ) varias veces en un mismo ciclo y necesita ser discriminado su efecto en los distintos momentos de la secuencia. ____________________________________________________________________________________ Teoría Binodal pág. 17
  • 129.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 5.4 Discriminación de estados de acción incompatibles La discriminación de e.d.a. idénticos incompatibles se consigue introduciendo en el grafo de secuencia las variables auxiliares. Una variable auxiliar será creada por alguna de las variables directivas o situaciones binodales existentes en uno de los intervalos del ciclo que separan los e.d.a. incompatibles, y será borrada ( creada su complementaria ) por alguna variable directiva o situación binodal existente en el otro intervalo que separa a los citados e.d.a. Las variables auxiliares tiene carácter binario ( X, X̅ ); por tanto, una sola variable auxiliar puede discriminar dos o más e.d.a. incompatibles; bastará para ello que unos e.d.a. queden en el intervalo del dominio de X, y los correspondientes incompatibles, en el intervalo del dominio de X̅ El número de variables auxiliares necesarias para discriminar todos los e.d.a. incompatibles, y la determinación de los puntos del grafo en que aquellas deben ser introducidas se obtiene fácilmente trazando el número mínimo de líneas verticales que, pasando por alguna v.d.a., intercepten la totalidad de los enlaces de los e.d.a. incompatibles. Así, en el grafo anterior bastará la línea vertical X para interceptar todos los enlaces de un intervalo, y la línea X̅ para interceptar los del intervalo de vuelta 5.5 Dominio de una variable Se denomina dominio de una variable ( directiva, condicionante o auxiliar, simple o booleana ) a los intervalos de ciclo durante los cuales permanece en ese estado. Por ejemplo X está activada en 3 intervalos : entre ( 5 ) y ( 6 ), entre ( 6 ) y ( 7 ) y entre ( 7 ) y(8) 5.6 Dominio de una situación binodal Se llama dominio de una situación binodal a los intervalos de ciclo comprendidos entre la citada situación y situación antagónica. Por ejemplo de P a P̅ hacia la derecha hay un intervalo, y hacia la izquierda hay siete Tanto el dominio de una variable como el dominio de una situación binodal pueden ser intermitentes, pues es frecuente en muchos automatismos el que una misma variable o situación binodal exista en dos o más grupos de intervalos distintos del ciclo; es decir, que se cree y se borre más de una vez dentro de un mismo ciclo. Observemos que los e.d.a. ( 2 ) y ( 3 ) han quedado bajo el dominio de X̅ , mientras que sus incompatibles ( 6 ) y ( 7 ), respectivamente, están bajo el dominio de X A continuación, diseñaremos un automatismo concreto, con el objeto de aclarar los conceptos expuestos y orientar sobre la forma de realizar el grafo de secuencia y la obtención de las ecuaciones lógicas ____________________________________________________________________________________ Teoría Binodal pág. 18
  • 130.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Ejercicio : Se desea sintetizar un autómata secuencial para el gobierno del desplazamiento de dos móviles, según el programa siguiente : Mediante una orden impulsional en el botón de puesta en marcha M se debe activar el contactor R1, lo que provoca que el móvil (1) se desplace hacia la derecha, al llegar éste al captador F2 se debe desactivar R1 y a continuación activarse R3, lo que hace desplazar al móvil (2) hacia la derecha. Al llegar éste al captador F4 se debe desactivar R3 y activarse seguidamente R4, por lo cual el móvil (2) se desplazará hacia la izquierda hasta llegar de nuevo a F3, donde debe pararse y seguidamente activarse R2, que hace regresar al móvil (1) hasta F1 ( estado inicial ), donde permanecerá hasta una nueva pulsación en M, que ordenará la iniciación de un nuevo ciclo. R1 R2 HUSILLO MOTOR 1 M F1 F2 R3 R4 HUSILLO MOTOR 2 F3 F4 X M·F1 R1 F2 R1 F2·R1 R3 F4 X R3 F4·R3 R4 F3 R4 F3·R4 R2 F1 M... 1 F1...1 F2...0 F3...1 * 0 1 1 * 0 1 1 * 0 1 0 * 0 1 0 * 0 1 1 * 0 1 1 0 1 0 1 F4...0 (1) 0 (2) 0 (3) 1 (4) 1 (5) 0 (6) 0 (7) R2 0 (8) ____________________________________________________________________________________ Teoría Binodal pág. 19
  • 131.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Identificación de e.d.a. idénticos * * * * 2-7 7-2 3-6 6-3 3-7 7-3 Comparando el e.d.a. ( 1 ) con todos los siguientes vemos que no es idéntico a ninguno Comparando el e.d.a. ( 2 ) con todos los siguientes se deduce que es compatible con el ( 3 ) ( caso b ). También es compatible con el ( 6 ) ( caso c ). Sin embargo con el ( 7 ) es incompatible Comparando el e.d.a. ( 3 ) con todos los siguientes se verifica que es incompatible con el ( 6 ) y con el ( 7 ) Los restantes e.d.a no tienen ninguna incompatibilidad R1' R2 R3 R4' R3 R2 N.I.E.E.S.B 7 1 1 7 1 1 > < < > < < N.I.E.E.A.I 5 3 3 5 4 4 Compatible Incompatible Incompatible Compatible Incompatible Incompatible S. Antag. No Si Si No Si Si Introducción de variables auxiliares Si en el ciclo que existen e.d.a. incompatibles ( en el ejercicio que estamos tratando son incompatibles el 2 con el 7 y el 3 con el 6 y 7 ) es necesario discriminar sus acciones, lo cual se consigue condicionando los e.d.a. incompatibles a variables auxiliares distintas. Estas variables deben colocarse en los intervalos que separan a los citados e.d.a. incompatibles El número de variables auxiliares y el lugar del grafo donde deben ser introducidas se determina prácticamente trazando el número mínimo de líneas verticales que pasando por alguna v.d.a., intercepten la totalidad de los enlaces de los e.d.a. incompatibles. Así, en el grafo presente bastará la línea vertical X que pasa por la variable de acción F4 para interceptar todos los enlaces de un intervalo, y la línea X̅ que pasa por la v.d.a. F1 para interceptar el intervalo de vuelta Obsérvese en el grafo como los e.d.a. 2 y 3 quedan bajo el dominio de X̅ en tanto que sus incompatibles están bajo el dominio de X. Por tanto, si condicionamos la operatividad de dos e.d.a. idénticos incompatibles a la existencia o dominio de dos variables distintas ( X y X̅ ) desaparece la incompatibilidad, pues, evidentemente, al incorporarse a dos e.d.a. idénticos una variable distinta se obtienen dos nuevos estados diferentes entre sí. Una vez introducidas las variables auxiliares, el paso siguiente y último es la obtención de las ecuaciones lógicas ____________________________________________________________________________________ Teoría Binodal pág. 20
  • 132.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Obtención de las ecuaciones lógicas Se aplican los teoremas binodales, teniendo en cuenta la siguiente regla : " Si el dominio de una variable directiva es menor que el de la situación por ella activada, o lo que es lo mismo, si en el dominio de una variable directiva no aparece la situación antagónica de la situación activada por la citada variable, es suficiente para el gobierno de la situación la propia variable directiva, es decir, no hace falta tomar, al hallar la ecuación de la situación, ninguna variable más, ni auxiliar ni de entrada " En caso contrario, sí es necesaria la intersección con otra u otras variables auxiliares o de entrada, para tener un dominio menor que el de la situación activada. Apliquemos la regla para la obtención de las ecuaciones lógicas de los binodos del grafo de secuencia anterior Ecuación del binodo auxiliar ( X, X̅ ) Los dominios de las variables directivas F4 y F1 son menores que los de las situaciones X y X̅ , creadas por ellas, respectivamente. No serán necesarias otras variables. X = ( X + F4 ) · F1 Ecuación del binodo ( R1, R̅1 ) La variable directiva de la situación R1 es la booleana M · F1 cuyo dominio es menor que el de la situación R1. La variable directiva de la situación R̅1 es F2 cuyo dominio es menor que el de R̅1 ; por tanto, su ecuación lógica será : R1 = ( R1 + M · F1 ) · F2 Ecuación del binodo ( R2, R̅2 ) La variable directiva de la situación R2 es F3 ·R̅4 , cuyo dominio es mayor que el de R2; por tanto F3 · R̅4 no es suficiente para el gobierno de R2, porque dentro de su dominio aparecerá la situación antagónica R̅2 dando lugar a una indeterminación. Por esta razón es necesario reducir el dominio de F3 · R̅4 , lo que se consigue interceptándole con el dominio de la auxiliar X, resultando F3 · R̅4 · X; esta intersección ya tiene un dominio menor que R2. Así pues, la citada intersección F3 · R̅4 · X será la v.d.a. definitiva creadora de la situación R2 ____________________________________________________________________________________ Teoría Binodal pág. 21
  • 133.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 1 2 3 4 5 6 7 8 F3 R4 R2 Utilizando la variable auxiliar X, se consigue reducir el dominio, no apareciendo ya la situación antagónica de R2 ( es decir no apareciendo R̅2 ), tal como se puede apreciar en la tabla siguiente 1 2 3 4 5 6 7 8 F3 R4 X R2 La variable directiva de la situación R̅2 es F1, cuyo dominio es menor que el de R2; por tanto, es suficiente F1 como v.d.a. definitiva R2 = ( R2 + F3 · R4 · X ) · F1 Cuando la variable directiva crea a su vez una variable auxiliar ( X̅ ), puede utilizarse ésta en lugar de la directiva, siempre que la intersección resultante siga siendo de menor dominio que la situación. Este caso se da en el problema presente y su utilización puede reportar alguna simplificación, como ocurre aquí : R2 = ( R2 + F3 · R4 · X ) · X = ( R2 + F3 · R4 ) · X Aplicando las mismas reglas a los restantes binodos se obtienen las siguientes ecuaciones R3 = ( R3 + F2 · R1 · X ) · X = ( R3 + F2 · R1 ) · X Nota : Todos los factores parciales de los términos de una función "O" pueden suprimirse si también figuran en la misma ecuación como factores generales. Para comprobarlo, basta efectuar el producto, simplificar y sacar nuevamente factores comunes. R4 = ( R4 + F4 · R3 ) · F3 ____________________________________________________________________________________ Teoría Binodal pág. 22
  • 134.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 5.7 Estados inoperantes o transitorios Cuando en un sistema secuencial una o más variables tienen carácter aleatorio, es decir si el instante de aparición de dichas variables no está totalmente determinado, pueden aparecer en los intervalos existentes entre e.d.a. operativos, unos estados transitorios que aunque deben ser inoperantes porque no se les ha asignado efecto alguno, pueden ser idénticos e incompatibles con otros e.d.a. operativos La existencia de un estado transitorio en un instante dado de la secuencia haría actuar el e.d.a. operativo idéntico correspondiente a otro momento secuencial distinto, produciendo un salto de secuencia no deseado. En estos casos es necesario discriminar el e.d.a. operativo respecto al transitorio idéntico, bien mediante una variable auxiliar o bien a través de su condicionamiento a situaciones binodales si ello fuera posible. Los estados transitorios se escriben, en el grafo de secuencia, debajo de la situación binodal correspondiente al momento secuencial en que aparecen. Los estados transitorios, por ser inoperantes, son siempre compatibles entre sí. también son compatibles con los dos e.d.a. operativos adyacentes, puesto que en la identidad de un transitorio con el e.d.a. operativo adyacente anterior no haría más que confirmar el efecto de éste; y si la identidad es con el e.d.a. operativo adyacente posterior significaría que ya se había llegado a él, es decir, no sería realmente un transitorio. Para detectar si en el intervalo entre dos e.d.a. operativos consecutivos puede aparecer algún estado transitorio, se observa si en dicho intervalo puede cambiar de nivel alguna variable. Para ello hay que tener en cuenta, además del enunciado y exigencias del programa, el comportamiento de las variables. Al escribir el grafo de secuencia se asignará el signo de indeterminación * a aquellas variables que tengan este carácter. A las variables que no cambien de nivel se les asignará el nivel lógico que mantienen en el intervalo, que evidentemente es el que figura en el e.d.a. de entrada a dicho intervalo. Supongamos que en el grafo parcial de la figura, la variable de entrada "a" es aleatoria. Se observa que la aparición del transitorio ( 2' ) podría hacer actuar el e.d.a. operativo ( 1 ), que puede ser idéntico, en un momento no deseado; por tanto, es necesario discriminar el e.d.a. operativo ( 1 ) respecto al transitorio ( 2' ) a S1 b S1 c S2 *a 1 * * * * * b 0 0 1 * 0 0 c 0 0 0 0 1 1 (1) ( 1' ) (2) (3) ( 3' ) ( 2' ) ____________________________________________________________________________________ Teoría Binodal pág. 23
  • 135.
    Sistemas de controlsecuencial ____________________________________________________________________________________ También aparecen transitorios cuando la variable directiva de alguna situación binodal contiene más de una variable exterior independiente, dado que no es posible físicamente que dos o más variables independientes lleguen al mismo tiempo; la diferencia podría ser despreciable y no provocar problemas, pero lo más probable en la práctica, es que la duración del transitorio sea superior al tiempo de respuesta de los elementos del sistema. El grafo de la figura siguiente posee dos transitorios de este tipo a b·c S1 a 1 1 1 1 b 0 0 1 1 c 0 1 0 S2 1 (1) ( 1' ) ( 1" ) (2) El e.d.a. ( 2 ) se forma a la llegada de b y c, pero como estas variables no pueden llegar al mismo tiempo aparecerá alguno de los transitorios ( 1' ) ó ( 1" ), según sea c o b que llegue antes. Ejercicio. Sistema de alarma Un sensor vigila la temperatura de una máquina. Cuando, por causa de una avería, la temperatura llega a un cierto valor preestablecido, el sensor envía una señal S. Tanto si la avería es momentánea como si es persistente, se debe poner en funcionamiento un avisador acústico A y encenderse una lámpara roja L. Recibida la señal de alarma, el operario debe accionar un pulsador P, y pueden ocurrir dos casos : a.b.- Si la avería sólo fue momentánea, el impulso P hace que se apague la lámpara L y también deje de funcionar el avisador acústico. Si la avería persiste, el impulso P desconecta el avisador acústico A, pero la lámpara L seguirá encendida hasta que desaparezca la avería, en cuyo momento se apaga S A P L ____________________________________________________________________________________ Teoría Binodal pág. 24
  • 136.
    Sistemas de controlsecuencial ____________________________________________________________________________________ En este automatismo la v.d.a. "S" es aleatoria; por tanto, habrá que tener en cuenta los estados transitorios S A A L P S A L S 1 * * * * * 0 0 P 0 0 0 0 1 * * * (1) ( 1' ) (2) ( 2' ) (3) L ( 3' ) ( 4 ) ( 4' ) A A Aunque el e.d.a. ( 1 ) es incompatible con el transitorio ( 3' ) no es necesario introducir variables auxiliares porque ( 1 ) está bajo el dominio de L̅ , mientras que ( 3' ) lo está en el dominio de L. Por tanto, la situación binodal L̅ será el condicionante discriminatorio del e.d.a. ( 1 ) respecto al transitorio ( 3' ) El e.d.a. ( 2 ) es incompatible con el ( 4 ) y el ( 4' ), pero está bajo el dominio de situaciones distintas ( A y A̅ ) que servirán para discriminarlos. Por tanto las ecuaciones lógicas serán : A=(A+S·L)·P L=(L+A)·S·A=L·S+A ____________________________________________________________________________________ Teoría Binodal pág. 25
  • 137.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 6 DISEÑO BINODAL DE AUTOMATISMOS SECUENCIALES GOBERNADOS POR LOS CAMBIOS DE NIVEL ( FLANCOS ) EN SUS ENTRADAS Vamos a estudiar el diseño binodal de automatismos secuenciales gobernados por los flancos en sus entradas, mediante un ejemplo práctico Ejercicio : Se desea diseñar un automatismo de forma que cada vez que se actúe sobre un pulsador P se encienda una bombilla B si estaba apagada, o se apague si estaba encendida. a) Solución mediante variable P diferenciada P B P B P 1 1 (1) P B (2) ( 1 ) y ( 2 ) son incompatibles porque dan lugar a situaciones antagónicas. Si intentamos introducir entre ellos variables auxiliares para diferenciarlos, vemos que no se puede, ya que no hay estados intermedios Podríamos condicionar la creación de B a B̅ · P ; y la creación de B̅ a B · P, pero haciéndolo de esta forma van a surgir problemas. Veamos : B=(B+B·P)·B·P=(B+B·P)(B+P)=B·P+B·P=B + P ____________________________________________________________________________________ Teoría Binodal pág. 26
  • 138.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Si P = 1 con B = 0 → B = 1, pero si soltamos el pulsador P = 1 con B = 1 → B = 0 y así sucesivamente, es decir, se producen oscilaciones. El único caso en que funcionaría sería si al mismo tiempo que B = 1, P pasase a 0, es decir, que la pulsación de P fuese muy corta. La forma de conseguir esto es que P actúe de forma diferenciada. Un sencillo diferenciador sería : P Pd La duración del impulso se puede aumentar añadiendo más inversores, con la condición de que el total sea un número impar. Esta forma de materialización es insegura desde el punto de vista P Pd hardware. Requiere verificar experimentalmente la anchura de Pd↑ más adecuada ya que con un sólo inversor en TTL resulta un impulso ≈ 10 ns, siendo algo justo para conmutar B. Con 3 inversores el impulso sería de unos 30 ns pudiendo dar lugar a veces a 2 conmutaciones sucesivas. Una solución intermedia podría ser añadir un buffer no inversor a continuación del inversor B = ( B + B · Pd ) · B · Pd = B · Pd + B · Pd = B + Pd B Pd Este montaje no es recomendable por ser muy difícil encontrar un impulso de duración adecuada b) Solución actuando P por flanco explícito Cuando aparecen 2 e.d.a. incompatibles consecutivos, la solución más segura es por flancos. El grafo sería : P B P 1 1 (1) P B (2) ____________________________________________________________________________________ Teoría Binodal pág. 27
  • 139.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Sin embargo, aun actuando por flanco los estados siguen siendo iguales e incompatibles ( dan lugar a situaciones antagónicas ) ya que ambas situaciones son activadas por la misma variable directiva P ↑. Para distinguir los estados, los condicionaremos a la situación anterior, es decir B se creará si estando presente B̅ llega P ↑ ; y B̅ se creará si estando presente B llega P ↑ B=(B+B·P )·B·P c) Solución actuando P por flanco implícito En este caso se realiza la detección del flanco a través de un binodo auxiliar X - X̅ X X B·P B·P X·P=P B X·P=P 1 1 (1) P B (2) ( X ) será creada por la situación anterior condicionada al reposo de P ( P̅ ) y será borrada ( X̅ ) por la situación anterior ( B̅ ) condicionada también al reposo de P X=(X+B·P)·B·P La situación principal ( B ) será creada por X̅ condicionada a la llegada de P y será borrada ( B̅ ) por X condicionada también a la llegada de P B=(B+X·P)·X·P Regla Práctica Cuando dos e.d.a. incompatibles sean consecutivos, la variable auxiliar discriminatoria de cada e.d.a. será creada y negada por el producto lógico de la situación binodal precedente con el complemento de la variable directiva del e.d.a. considerado En el caso, poco probable de que la intersección citada tuviera un dominio mayor que la variable auxiliar creada, se reducirá este dominio interceptándolo con otras variables, tal como se ha venido haciendo en la determinación de las v.d.a. definitivas ____________________________________________________________________________________ Teoría Binodal pág. 28
  • 140.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 7 7.1 DISEÑO BINODAL DE AUTOMATISMOS SECUENCIALES CON TEMPORIZADOR Introducción En este punto se va a tratar el fenómeno de la temporización y su aplicación a los automatismos secuenciales. Para ello se va a hacer un resumen de los diversos tipos de temporización y la forma de plasmarlo en los grafos de secuencia resolutivos del problema secuencial. Un punto importante a tener en cuenta, que va parejo al problema de la temporización, es la detección de posibles estructuras monodales que con apariencia de binodos se encuentran en los grafos de secuencia. Este problema surge como consecuencia de temporizar el efecto de alguna variable, ya que, con ello, se alarga, se recorta o desplaza, en el dominio del tiempo, el efecto de la misma, provocando usualmente una variación del dominio de la variable, lo cual debe ser tenido en cuenta. Por último, se va a tratar el diferenciador. Dicho dispositivo va a permitir, en determinadas ocasiones, evitar la utilización de variables auxiliares. Como consecuencia de ello el número de binodos auxiliares disminuirá y, por tanto, el número de ecuaciones lógicas 7.2 Tipos de temporización Los temporizadores son dispositivos que se colocan entre la señal que se desea temporizar y el receptor que tiene que recibir su acción, para retardar su activación, su desactivación, o las dos cosas sucesivamente. El diagrama de bloques de un temporizador es el mostrado en la siguiente figura : SEÑAL DE ENTRADA A TEMPORIZADOR At RECEPTOR Se distinguen tres tipos de temporizadores elementales : 7.2.1 Temporización en la activación Ata Es aquel que al activarse la señal de entrada A, tarda un tiempo "t" en transmitirla a la salida ____________________________________________________________________________________ Teoría Binodal pág. 29
  • 141.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 7.2.2 Temporización en la desactivación Atd Es aquel que recibe la señal de entrada A y la transmite inmediatamente al receptor, pero cuando desaparece A, el temporizador sigue suministrando, durante un tiempo "t", una señal equivalente a la entrada A, ya desaparecida 7.2.3 Temporización en la activación y en la desactivación Atad Es el que realiza sucesivamente las dos temporizaciones indicadas anteriormente Los tres tipos de temporización están representados gráficamente en la siguiente figura : 1 A Señal de entrada A Señal temporizada en la activación ta A A Señal temporizada en la desactivación td A A Señal temporizada en la activación y en la desactivación tad A A 0 t A ta t A td t A tad t t t t A partir de estas tres temporizaciones básicas estudiadas se pueden obtener otros tipos de temporizaciones, que podríamos llamar secundarias, simplemente invirtiendo las entradas o las salidas de los temporizadores estudiados. Con estos nuevos tipos de temporización se abre un amplio abanico de posibilidades a la hora de utilizar los temporizadores. También es útil, el presente estudio, para que a partir de un sólo tipo de temporizador comercial se pueda obtener cualquier tipo de temporización, según nos interese. Así pues, vamos a distinguir dos tipos de temporizaciones secundarias : A.B.- Inversión a la salida del temporizador básico Inversión a la entrada del temporizador básico ____________________________________________________________________________________ Teoría Binodal pág. 30
  • 142.
    Sistemas de controlsecuencial ____________________________________________________________________________________ A.- Inversión a la salida Se obtienen las temporizaciones siguientes : Ata Atd Atad 1 0 A A t A ta A t A td A t A tad t t t t B.- Inversión a la entrada Si la señal sufre una inversión a la entrada del temporizador, se obtienen las temporizaciones siguientes : A ta A td A tad 1 0 A ta A t A A t A td t A t A tad t t t ____________________________________________________________________________________ Teoría Binodal pág. 31
  • 143.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Observando detenidamente las figuras anteriores se obtienen tres igualdades de gran importancia, las cuales permiten obtener todas las funciones de tiempo, utilizando un sólo tipo de unidad temporizadora, asociada a las unidades inversoras que sean necesarias A ta = A td A td = A ta A tad = A tad A A ta ta A td A ta td Temporizaciones básicas tad ta td A A ta ta A td td tad td A ta Temporizaciones A ta td A td A tad secundaria ta ta ____________________________________________________________________________________ Teoría Binodal pág. 32
  • 144.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 7.3 Detección de monodos con apariencia de binodos Cuando en un automatismo se temporiza el efecto de alguna de sus variables, los dominios de éstas, se ven modificados en mayor o menor medida. Como consecuencia de esta modificación, del dominio de algunas variables, puede ocurrir que ciertas estructuras con apariencia de binodos en el grafo de secuencia, se comporten como verdaderas estructuras monodales ( monodos ). La detección de estas estructuras monodales se traduce en una mayor simplificación de la ecuación lógica resultante del falso monodo. Para detectar estas estructuras monodales existen dos reglas prácticas. Estas reglas son de aplicación inmediata una vez que se ha realizado el grafo de secuencia del automatismo. REGLA 1.- Dos situaciones binodales antagónicas constituyen un " monodo restringido ", es decir, carente de variable de borrado, cuando el dominio de la variable " C " creadora de la situación principal " P ", es igual al dominio de ésta C P REGLA 2.- Dos situaciones binodales antagónicas constituyen un " monodo generalizado " cuando sus variables directivas sean diferentes y además la variable " C" creadora de la situación principal " P ", se mantenga en todo el dominio de la situación o le sobrepase, pero no sobrepase el dominio de variable de borrado " B " ( en el caso de que el dominio de "C" penetre en el dominio de "B" ) B C P ____________________________________________________________________________________ Teoría Binodal pág. 33
  • 145.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Ejercicio 1 Un equipo de soldadura oxiacetilénica lleva una electroválvula A para la vía del acetileno y otra Ox para la vía del oxígeno. Programa : a) Un impulso en un pulsador de marcha M excita la electroválvula A y a los 3 segundos de existir A se excita Ox. b) Un impulso en un pulsador de parada P desexcita A y seguidamente se desexcita Ox Monodo restringido ( regla 1 ) M A ta A 3 s. Ox P A A M 1 0 0 0 P ta A 3 s. 0 0 1 1 0 1 1 0 (1) (2) (3) Ox (4) A=(A+ M)·P Ox = A ta 3 s. Ejercicio 2 Diseñar un circuito para el gobierno de dos electroimanes A y B, con el siguiente programa de trabajo a) Un impulso eléctrico dado por el pulsador de puesta en marcha M activa al electroimán A y a los 5 segundos siguientes se activa B b) Un impulso eléctrico del pulsador de parada P desactiva al electroimán B y a los 8 segundos siguientes se desactiva A ____________________________________________________________________________________ Teoría Binodal pág. 34
  • 146.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Monodo generalizado ( regla 2 ) X M X A ta A 5 s. B P B ta B 8 s. M 1 0 0 0 P ta A 5 s. ta B 8 s. 0 0 1 0 0 1 1 1 1 1 0 1 (1) (2) (3) A (4) ta A=(A+ M)·B ·X 8 s. X=(X+M )·P B = A ta · X 5 s. ____________________________________________________________________________________ Teoría Binodal pág. 35
  • 147.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 8 AUTOMATISMOS CON BINODOS DE APOYO Son numerosos los automatismos que precisan, para su correcto funcionamiento, la actuación secuencial de una serie de acontecimientos con un orden y duración predeterminados. Pensemos, por ejemplo, en cajeros automáticos, alarmas, puertas de seguridad, etc. Sólo después de que la secuencia establecida en la actuación de los captadores de información sea la correcta, el automatismo estará en situación de variar el nivel de alguna de sus salidas. Esto se puede conseguir mediante la introducción de los " BINODOS DE APOYO " Así, pues, los binodos de apoyo son una herramienta auxiliar que nos va a permitir que determinados automatismos respondan sólo a una ( ó varias ) secuencias predeterminadas. Dicha secuencia va a estar regida por la limitación, tanto en el orden de aparición de los captadores de información, como en los tiempos en que estos acontezcan. A diferencia de los binodos habituales, estos binodos no producen ninguna actuación externa del automatismo, sino que sólo sirven para " memorizar " determinadas secuencias de actuación. Por tanto con ellos se dota de cierta inteligencia a los automatismos, ya que la secuencia puede bifurcarse por distintos caminos dentro del grafo de secuencia. También son diferentes a los binodos auxiliares introducidos en los grafos de secuencia, ya que estos binodos auxiliares se introducen después de realizado el grafo de secuencia. Por tanto, al realizar el grafo de secuencia, introduciremos dichos binodos de apoyo siempre que se produzca una acción de entrada que sea condición del programa, pero que no produzca de inmediato un cambio en ninguna salida. Ejemplo : Queremos que un actuador Z se active si y sólo si los tres captadores de información A, B y C llegan de forma secuencial en el siguiente orden : primero A, luego B y luego C El grafo de secuencia quedaría de la siguiente forma : ······ A Am B · Am Bm C · Bm Z ······ En dicho grafo de secuencia Am y Bm memorizan las llegadas de A y B respectivamente, si previamente se ha memorizado A. Sólo queda decir que la obtención de la ecuación lógica de un binodo de apoyo se realiza de forma análoga a los binodos normales, aplicando los teoremas de la teoría binodal. ____________________________________________________________________________________ Teoría Binodal pág. 36
  • 148.
    Sistemas de controlsecuencial ____________________________________________________________________________________ TEMA 6: AUTÓMATA PROGRAMABLE FESTO FPC 404 ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 1
  • 149.
    Sistemas de controlsecuencial ____________________________________________________________________________________ ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 2
  • 150.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 1 OPERANDOS DE LOS FPC DE FESTO El software FST permite que los programas se escriban utilizando indistintamente operandos absolutos ( p.ej. T1 es el operando absoluto del Temporizador número 1 ) o bien operandos simbólicos ( p.ej. MOTOR puede ser asignado a la salida 1.6 ). Para obtener un mayor grado de claridad, en este documento se utilizarán solamente operandos absolutos. Antes de empezar a utilizar el lenguaje AWL es necesario familiarizarse con los diferentes operandos de los controles FPC y como se direccionan utilizando este lenguaje. Dependiendo del modelo de control, puede haber diferencias en el tipo y alcance de los operandos disponibles 1.1 Operandos monobit y multibit Debe distinguirse entre los operandos Monobit y Multibit. Los Operandos Monobit ( SBO ) ( Single Bit Operand ) pueden evaluarse como cierto / falso en la parte condicional de una frase del programa y pueden Activarse / Desactivarse ( Set / Reset ) en la parte ejecutiva del programa. Durante las operaciones de interrogación y carga, los SBO son almacenados en el Acumulador Monobit ( SBA ) ( Single Bit Accumulator ) de la CPU Los operandos Multibit ( MBO ) ( Multi Bit Operand ) pueden compararse con otros operandos multibit ( <, >, =, etc. ) ( rango 0-255, 0-65535, +/- 32767 etc. ) en la parte condicional de la frase. En la parte de ejecución de la frase de un programa, los operandos multibit pueden ser cargados con valores, decrementados e incrementados o manipulados por medio de un amplio conjunto de operadores aritméticos y lógicos. Durante su interrogación y operaciones de carga, los MBOs son cargados en el Acumulador Multibit ( MBA ) de la CPU ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 3
  • 151.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 1.1.1 Operandos Monobit La siguiente tabla proporciona información general sobre los operandos Monobit, cómo se abrevian en el lenguaje AWL, así como un breve ejemplo. La columna indica si el ejemplo respectivo es válido para la parte Condicional ( c ) o Ejecutiva ( e ) de una frase del programa Operando Entrada Input Salida Output Marca Flag Contador Counter Temporizador Timer Programa Program Procesador Processor Error Status AWL Forma I Sintaxis Parte Ejemplo típico In.n c IF I 2.0 O O F F C C T T P P Y Y E On.n On.n Fn.n Fn.n Cn Cn Tn Tn Pn Pn Yn Yn E c e c e c e c e c e c e c IF O 2.6 SET O 2.3 IF F 7.15 RESET F 9.3 IF C 3 SET C 5 IF T 7 SET T 4 * IF P2 * SET P3 * IF Y2 * RESET Y1 * IF E NOTA : Los operandos marcados con "* " pueden diferir o no estar disponibles en todos los modelos de FPC ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 4
  • 152.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 1.1.2 Operandos Multibit La siguiente tabla proporciona información general sobre los operandos Multibit, cómo se abrevian en el lenguaje AWL, así como un breve ejemplo. La columna indica si el ejemplo respectivo es válido para la parte Condicional ( c ) o Ejecutiva ( e ) de una frase del programa Operando Palabra de Entradas Input Word Palabra de Salidas Output Word Palabra de Marcas Flag Word Unidad Funcional Function Unit Pal. deTemporizador Timer Word Preselec de Tempor. Timer Preselect Palabra deContador Counter Word Presel. de Contador Counter Preselect Registro register AWL Forma IW Sintaxis Parte Ejemplo típico IWn c IF ( IW3 = V 255 ) OW OW FW FW FU FU TW TW TP TP OWn OWn FWn FWn FUn FUn TWn TWn TPn TPn c e c e c e c e c e CW CW CP CP R R CWn CWn CPn CPn Rn Rn c e c e c e IF ( OW2 = V 80 ) LOAD V 128 TO OW3 IF ( FW3 = V 220 ) LOAD V 2100 TO FW1 IF ( FU32 = V16 ) LOAD FU34 TO R60 IF ( TW2 < V 2000 ) LOAD V1345 TO TW6 IF ( TP0 < V20 ) * THEN LOAD V50 TO TP4 IF ( CW 3 <> V20 ) THEN INC CW 5 IF ( CP3 = V 555 ) LOAD V67 TO CP5 IF ( R 60 = V 21113 ) LOAD ( R53 + R 45 ) TO R 32 NOTA : Los operandos marcados con "* " pueden diferir o no estar disponibles en todos los modelos de FPC 1.2 Operandos Locales y Globales Algunos modelos de FPC permiten varias CPUs dentro del mismo sistema. Cuando se construyen tales sistemas, algunos operandos se designan como locales mientras que otros se definen como globales 1.2.1 Operandos Globales Los operandos globales son partes de un sistema al que puede accederse desde cualquier CPU. Ejemplos típicos de elementos globales incluyen Entradas, Salidas y Marcas. Para que sea posible este acceso global, los operandos globales deben ser únicos en su designación convencional ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 5
  • 153.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 1.2.2 Operandos Locales Los operandos locales son parte de un sistema al cual sólo puede accederse por medio de programas en una determinada CPU. Generalmente estos operandos residen en la CPU local y no tienen nombres globales únicos. Si el modelo de FPC utilizado no permite la inclusión de un número de CPU o número de módulo cuando se referencia un operando, entonces el operando es clasificado típicamente como de uso local. Por ejemplo, en un sistema que contenga múltiples CPUs, cada CPU puede tener 32 Temporizadores que son referenciados como T0 - T 31 en los programas AWL. Así que podemos tener un programa funcionando en la CPU 0 que se refiera al temporizador 6 ( T6 ) y al mismo tiempo un programa en la CPU 1 que también se refiera al temporizador 6 como T6. En esta situación, nuestro sistema contiene actualmente dos ( 2 ) temporizadores totalmente independientes, ambos referenciados como T6...uno en cada CPU. A pesar de que se debería consultar el manual del modelo de FPC utilizado, se considera que los siguientes operandos son generalmente locales : * * * * * * 1.3 Registros Temporizadores Contadores Unidades Funcionales Programas Procesadores Operadores El lenguaje AWL utiliza los siguientes operadores y notaciones en la construcción de frases. Símbolo N V V$ V% + * / < > = <> <= >= Propósito NOT ( negación VALUE asignación para operandos multibit ( decimal ) VALUE asignación para operandos multibit ( hexadecimal ) VALUE asignación para operandos multibit ( binario ) Suma de operandos multibit y constantes Resta de operandos multibit y constantes Multiplicación de operandos multibit y constantes División de operandos multibit y constantes Comparación multibit....Menor que Comparación multibit....Mayor que Comparación multibit....Igual a Comparación multibit....Diferente de Comparación multibit....Menor o igual a Comparación multibit....Mayor o igual a ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 6
  • 154.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 2 ESTRUCTURA DE PROGRAMACIÓN AWL El lenguaje de programación AWL ( lista de instrucciones ) permite al programador resolver tareas de control utilizando simples instrucciones en inglés para describir las operaciones que se desea que haga el control. Los programas en lista de instrucciones se construyen utilizando varios elementos importantes. No se requieren todos los elementos disponibles, y la forma en que son combinados los elementos influye notablemente en el comportamiento del programa 2.1 Jerarquía de los elementos AWL PROGRAMA PASO FRASE PARTE CONDICIONAL PARTE EJECUTIVA 2.2 Instrucción STEP ( Paso ) A pesar de que la instrucción STEP ( Paso ) es opcional, muchos de los programas AWL utilizan la instrucción STEP. Esta instrucción se utiliza para marcar el inicio de un bloque lógico de programa Cada programa AWL puede contener hasta 255 STEPs ( Pasos ) y cada Paso puede contener una o más Frases. A cada Paso se le puede asignar un nombre o " etiqueta " opcional. Una Etiqueta de Paso solamente se requiere si el Paso correspondiente debe ser posteriormente nombrado como el destino de una instrucción de salto. 2.3 Frases La Frase forma el nivel más elemental de la organización de un programa. Cada Frase consta de una Parte Condicional y de una Parte Ejecutiva . La Parte Condicional sirve para indicar una o más condiciones que son evaluadas durante el funcionamiento por su condición de ciertas o falsas. La Parte Condicional siempre empieza con la palabra clave IF y sigue con una o más instrucciones que describen las condiciones a evaluar. ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 7
  • 155.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Si las condiciones programadas son evaluadas como ciertas, entonces serán ejecutadas todas las instrucciones programadas en la parte ejecutiva de la frase. El inicio de la parte ejecutiva se indica con la palabra clave THEN 2.3.1 Frases típicas A continuación se presenta un ejemplo típico de frases sencillas en AWL sin la utilización de la instrucción STEP IF THEN IF THEN I 1.0 O 1.2 SET N SET IF THEN AND AND RESET RESET N Si entrada 1.0 activa entonces activa la salida 1.2 I 2.0 O 2.3 Si entrada 2.0 NO está activa entonces activar la salida 2.3 I 6.0 I 2.1 O 3.1 O 2.1 T6 Si entrada 6.0 está activa y entrada 2.1 no está activa y salida 3.1 está activa entonces desactiva salida 2.1 y desactiva Timer 6 En la última frase del ejemplo, se ha introducido el concepto de condiciones compuestas. Esto significa que todas las condiciones citadas en la frase deben ser ciertas para que se ejecuten las acciones que siguen a la palabra clave THEN IF THEN OR INC SET I 3.2 N T6 CW1 T4 Si entrada 3.2 activa o Timer 6 no está activo entonces incrementa Counter 1 y arranca Timer 4 con los parámetros existentes Este ejemplo muestra la utilización de una estructura en OR dentro de la parte condicional de una frase. Esto significa que la frase será evaluada como cierta ( y por tanto se incrementará el Contador 1 y se activará el Temporizador 4 ) si una o ambas de las condiciones indicadas son ciertas. ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 8
  • 156.
    Sistemas de controlsecuencial ____________________________________________________________________________________ La siguiente frase introduce la utilización de paréntesis entre las partes condicionales de una frase para influir en la forma en la que las condiciones son evaluadas. IF OR AND OR ( I 1.1 T4 ) ( I 1.3 I 1.2 ) Si entrada 1.1 activa o Timer 4 está funcionando y si entrada 1.3 está activa o entrada 1.2 está activa Hemos utilizado la instrucción OR para combinar dos condiciones compuestas por medio de un operador de paréntesis. Es posible crear programas enteros que consten solamente de frases sin utilizar en ningún caso la instrucción STEP. Los programas construidos de esta forma suelen llamarse programas paralelos, y reaccionan igual que los programas escritos en diagrama de contactos. Esto significa que, sin utilizar la instrucción STEP, tales programas serían procesados una sola vez. Para que estos programas puedan procesarse continuamente, es necesario incluir la instrucción PSE. 2.4 Instrucción STEP Los programas que no utilizan la instrucción STEP pueden procesarse de modo paralelo ( scanning ). A pesar de que este tipo de ejecución de programas puede ser adecuado para resolver ciertas tareas de control, el lenguaje AWL ofrece la instrucción STEP que permite que los programas sean divididos en compartimentos estancos ( STEPS o PASOS ), que serán ejecutados independientemente. En su forma más sencilla, un STEP incluye por lo menos una frase y toma la forma STEP IF THEN ( Label ) SET I 1.0 O 2.4 Si entrada 1.0 está activa entonces activa la salida 2.4 y continua en el siguiente paso Es importante comprender que el programa ESPERARÁ en este paso hasta que las condiciones sean ciertas, en cuyo momento se ejecutarán las acciones y solamente entonces el programa seguirá procesando el siguiente paso. La etiqueta ( Label ) del paso es opcional y solo se requiere si el paso va a ser el destino de una instrucción de salto ( JMP ). Debe observarse que cuando el software FST carga un programa AWL en el control programable, asigna automáticamente una numeración relativa a cada paso del programa. ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 9
  • 157.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Estos números de paso asignados son reproducidos en todos los listados del programa y pueden ser muy útiles en la visualización de la ejecución del programa en modo on-line a efectos de seguimiento. Los pasos de un programa pueden, por descontado, incluir varias frases : STEP IF THEN IF THEN SET I 2.2 O 4.4 Si entrada 2.2 activa entonces conecta salida 4.4 RESET SET I 1.6 O 2.5 O 3.3 Si entrada 1.6 activa entonces desconecta salida 2.5 y conecta salida 3.3 En el ejemplo anterior, hemos introducido el concepto de varias frases en un solo paso. Cuando el programa llega a este paso, procesará la primera frase ( en este caso, activando la salida 4.4 si la entrada 2.2 está activa ) y a continuación se desplaza a la siguiente frase independientemente de si las condiciones de la primera frase son ciertas o falsas. Cuando la última frase de un paso ( en este caso la segunda ) es procesada, si la parte condicional es cierta , entonces se realiza la parte ejecutiva y el programa continua en el siguiente paso. Si la parte condicional de la última frase no es cierta, entonces el programa regresa a la primera frase del paso actual. 2.5 Reglas de ejecución Pueden utilizarse las siguientes pautas para determinar como se procesan los Pasos y las Frases : Si las Condiciones de una frase se cumplen, se ejecutarán las acciones programadas en ella Si las Condiciones de la última ( o la única ) frase dentro de un paso se cumplen, se ejecutarán las Acciones programadas y el programa seguirá en el siguiente paso Si las Condiciones de la frase no se cumplen, entonces el programa seguirá en la siguiente frase del paso actual Si las Condiciones de la última ( o la única ) frase dentro de un paso no se cumplen, entonces el programa regresará a la primera frase del paso actual ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 10
  • 158.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Nota : Cuando se construyen programas o pasos que contengan varias frases, es muy importante recordar que estas se procesarán de forma paralela ( scanning ); que cada vez que la parte condicional de la frase sea evaluada como cierta, se ejecutarán las instrucciones programadas en la parte ejecutiva. Esto debe ser considerado para evitar las incontroladas ejecuciones múltiples de instrucciones tales como SET TIMER o INC/DEC contador. El lenguaje AWL no utiliza " accionamiento por flancos "... las condiciones son evaluadas cada vez que se procesan, sin tener en cuenta su anterior estado. Esta situación se resuelve fácilmente o bien utilizando STEPs, Flags ( Marcas ) u otras formas de control La siguiente figura ilustra la estructura del proceso de un paso en AWL. Utilizando varias combinaciones de pasos conteniendo una o varias frases, el lenguaje AWL proporciona amplias facilidades para resolver tareas complejas de control. Frase Primera o anterior en STEP x ¿ Parte condicional cierta ? No Si Acción ¿ es esta la ULTIMA frase del STEP x ? No No ¿ es esta la ULTIMA frase del STEP x ? Si Ir al siguiente STEP Siguiente frase del STEP x Volver al inicio del STEP x Reglas de ejecución de un STEP básico ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 11
  • 159.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 2.6 Influencia en el flujo del programa Adicionalmente a las estructuras de control inherentes a la instrucción STEP, se dispone de varias instrucciones AWL adicionales que pueden utilizarse para modificar los criterios de ejecución de los Pasos de programa y sus Frases. 2.7 Instrucción NOP La instrucción NOP puede utilizarse indistintamente en la parte Condicional o en la Ejecutiva de una frase. Cuando se utiliza en la parte condicional siempre es evaluada como cierta. pudiendo utilizarse para forzar la ejecución incondicional de una frase IF THEN NOP O 1.0 SET Siempre cierto así que salida 1.0 siempre se activará cuando el programa pase por aquí En el siguiente ejemplo puede verse una aplicación típica en la que el autor desea que cuando la ejecución del programa alcance el paso 50 se comprueben varias condiciones que, de ser ciertas, realizarán las correspondientes acciones. Sin embargo, independientemente de si una o todas las condiciones son ciertas, después de ser procesadas exactamente una sola vez, el programa activará la salida 3.6 y seguirá en el siguiente paso... puesto que hemos forzado la última frase a ser cierta con la instrucción NOP STEP 50 IF THEN I 1.0 O 2.2 Si entrada 1.0 está activa entonces activar salida 2.2 THEN AND RESET I 3.5 I 4.4 O 1.2 Si entrada 3.5 NO está activa y entrada 4.4. está activa entonces desconecta salida 1.2 IF THEN SET T3 F 0.0 Si Timer 3 funciona activa Marca ( Flag ) 0.0 IF NOP THEN SET SET IF N O 3.6 De todas formas nos aseguramos que la ÚLTIMA frase siempre sea cierta Activa la salida 3.6, abandona este paso y procesa el siguiente ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 12
  • 160.
    Sistemas de controlsecuencial ____________________________________________________________________________________ La instrucción NOP también puede utilizarse en la parte Ejecutiva de una frase. En este caso un NOP es equivalente a " no hagas nada ". Es utilizada frecuentemente cuando el programa debe esperar ciertas condiciones y seguir en el siguiente paso IF THEN 2.8 I 3.2 NOP Si entrada 2.2 activa entonces no hagas nada y sigue en el siguiente paso Instrucción JMP Otra instrucción AWL que puede utilizarse para influir en el flujo de ejecución de un programa, es la instrucción JMP ( salto ). Esta instrucción añade la posibilidad de ramificar el lenguaje AWL. Modificando el ejemplo anterior es posible comprobar las condiciones de cada frase y, de ser ciertas, realizar la acción programada y a continuación saltar ( JMP ) al Paso ( Step ) indicado del programa STEP 50 IF THEN I 1.0 O 2.2 70 Si entrada 1.0 está activa entonces activar salida 2.2 y salta al paso ( etiqueta ) 70 AND RESET JMP TO I 3.5 I 4.4 O 1.2 6 Si entrada 3.5 NO está activa y entrada 4.4. está activa entonces desconecta salida 1.2 y salta al paso ( etiqueta ) 6 IF THEN SET T3 F 0.0 Si Timer 3 funciona activa Marca ( Flag ) 0.0 IF NOP THEN SET SET JMP TO IF THEN N O 3.6 De todas formas nos aseguramos que la ÚLTIMA frase siempre sea cierta Activa la salida 3.6, abandona este paso y procesa el siguiente Puede verse que no solo hemos alterado el flujo del programa, sino que además hemos establecido prioridades entre las frases. Por ejemplo, las frases 2, 3 y 4 solamente tienen posibilidad de ser procesadas si la frase 1 es falsa y por lo tanto no se ejecuta; puesto que si la frase 1 se ejecuta, el programa saltará al paso 70 sin haber procesado ninguna frase subsiguiente en el paso 50. ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 13
  • 161.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 2.9 Instrucción OTHRW La instrucción OTHRW ( otherwise, sino ) también puede utilizarse para influir en el flujo del programa. La instrucción OTHRW es ejecutada cuando la última IF es evaluada como falsa IF THEN OTHRW SET SET I 2.0 O 3.3 O 4.5 Si entrada 2.0 está activa entonces activa salida 3.3 sino, activa la salida 4.5 Frase Primera o anterior en STEP x ¿ Parte condicional cierta ? No Si Si Acción ¿ es esta la ULTIMA frase del STEP x ? Ejecuta la instrucción OTHRW No No No ¿ es esta la ULTIMA frase del STEP x ? Si Si Ir al siguiente STEP ¿ OTHRW en esta Frase ? Siguiente frase del STEP x Volver al inicio del STEP x Reglas de ejecución de un STEP con instrucciones OTHRW ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 14
  • 162.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 3 RESUMEN DE INSTRUCCIONES AWL El lenguaje AWL usa las siguientes instrucciones que permiten resolver tareas de control sencillas o complejas fácil y rápidamente Instrucción AND BID CFM n CMP n CPL DEC DEB EXOR IF INC INV JMP TO ( Step Label ) LOAD NOP OR OTHRW PSE RESET ROL ROR Propósito Realiza una función lógica AND entre operandos monobit o entre multibit y constantes Convierte el contenido del acumulador multibit de Binario a formato BCD Empieza la ejecución o inicialización de un módulo de función Empieza la ejecución de un Módulo de programa Produce el complemento a dos del contenido del acumulador multibit Decrementa un operando multibit / acumulador Convierte el contenido del acumulador multibit de formato BCD a Binario Realiza la función EXOR entre operandos monobit o multibit y constantes Instrucción que marca el inicio de la parte condicional de una frase Incrementa un operando multibit / acumulador Realiza el complemento a uno del contenido del acumulador multibit Obliga al programa a seguir en un Paso especificado Permite la carga en el acumulador monobit o multibit de los operandos especificados ( monobit o multibit ) y constantes Instrucción especial que siempre es cierta en la parte Condicional de una frase. En la parte Ejecutiva equivale a " no hacer nada " Realiza la función OR entre operandos monobit o multibit y constantes Permite la continuación de la ejecución del programa aunque la Parte Condicional de la frase sea falsa PSE ( Program Section End ) Fin de un programa parcial La instrucción Reset se utiliza para cambiar los operandos monobit a estado lógico "0" Gira a izquierdas una posición todos los bits contenidos en el Acumulador. El bit más significativo es desplazado a la posición del menos significativo Gira a derechas una posición todos los bits contenidos en el acumulador. El bit menos significativo es desplazado a la posición del más significativo ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 15
  • 163.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Instrucción SET SHIFT SHL SHR SWAP TO THEN WITH Propósito La instrucción Set se usa para cambiar los operandos monobit a estado lógico "1" Realiza un desplazamiento entre operandos monobit Desplaza una posición a la izquierda todos los bits contenidos en el Acumulador Multibit. El más significativo se pierde Desplaza una posición a la derecha todos los bits contenidos en el Acumulador Multibit. El menos significativo se pierde, y el más significativo es puesto a "0" Intercambia el Byte alto con el Byte bajo del Acumulador Multibit Se utiliza junto con la instrucción LOAD para especificar el operando destino de la carga Instrucción que indica el inicio de la parte Ejecutiva de una frase Utilizada para parametrizar las llamadas CMF / CMP. También se utiliza para especificar la base de tiempo en algunos modelos de FPC ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 16
  • 164.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 4 REFERENCIA DE LAS INSTRUCCIONES AWL AND Propósito 1.- Para combinar dos o más operandos monobit o multibit en la parte condicional de una frase utilizando la operación lógica AND 2.- Para realizar una intersección en AND entre dos operandos multibit o valores, indistintamente en la parte condicional o ejecutiva de una frase Ejemplos Monobit IF I 1.1 T6 O 1.5 AND SET THEN Si entrada 1.1 está activa y timer 6 funciona entonces activa salida 1.5 Multibit A continuación se muestra la operación lógica AND aplicada a dos operandos de 8 bits 0 1 0 0 1 0 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 0 0 operando 1 = 45 decimal AND operando 2 = 236 decimal resultado = 44 decimal La función AND puede utilizarse indistintamente en la parte Condicional o en la parte Ejecutiva de una frase. Cuando se utiliza en la parte Condicional de una frase, esta función permite comparar el resultado de una función lógica AND de dos operandos multibit, con un tercer operando multibit o bien con una constante. IF AND THEN ...... ( R6 R7 ) = V 34 El contenido de R6 es enlazado en AND con el contenido del registro R7 A continuación el resultado es comparado con la cte. decimal 34 Si hay igualdad entonces se realizarán las funciones programadas ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 17
  • 165.
    Sistemas de controlsecuencial ____________________________________________________________________________________ El siguiente ejemplo muestra como utilizar la prestación multibit para leer una palabra entera ( Word ) de Entradas. A continuación el resultado es enlazado en AND con el valor decimal 15 ( 00001111 en binario ). Comparando el resultado de esta operación para ver si es mayor de "0", podremos verificar si alguna de las entradas I0.0 hasta I 0.3 se haya activa IF AND THEN (IW0 V 15 ) >V0 ...... El contenido de la palabra de entradas IW0 es enlazado con la constante 15 y el resultado es comparado ..... Si es mayor de "0" la frase será cierta El siguiente ejemplo muestra esta utilización de la función AND con operandos multibit en la parte Ejecutiva de una frase IF THEN ....... LOAD AND TO ( R 38 R 45 ) R 17 Si las condiciones son ciertas transfiere el contenido del registro 38 al acumulador multibit Enlaza en AND con el registro 45 y deposita el resultado en el registro 17 ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 18
  • 166.
    Sistemas de controlsecuencial ____________________________________________________________________________________ BID Propósito Para convertir el contenido del acumulador multibit de un formato binario al formato BCD Esta instrucción se utiliza frecuentemente junto con un dispositivo conectado a las salidas del PLC ( p.ej. visualizadores de mensajes, controles de motores, etc. ) Estos dispositivos generalmente esperan la entrada de órdenes en formato BCD Ejemplos El valor a convertir, primero debe ser cargado en el acumulador multibit IF Al accionar el pulsador del motor LOAD R 26 BID AND TO THEN I 1.0 V 15 OW2 El registro 26 contiene la información de la nueva posición Convierte a formato BCD y oculta todos los bits excepto 0-3 transfiere el resultado a la palabra de salida 2 ( conectada al control del servomotor ) Por favor, observe que los valores permitidos son de 0-9999 ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 19
  • 167.
    Sistemas de controlsecuencial ____________________________________________________________________________________ CFM Propósito La instrucción CFM ( Module, Llamada a un Módulo de Función ) se utiliza para requerir la ejecución de una rutina estándar del sistema, la cual reside en la memoria del sistema de control. Debe consultarse el correspondiente manual de FPC para ver que llamadas CFM pueden hacerse en cada configuración de hardware. Estas rutinas estándar no pueden ser escritas por el usuario, ya que forman parte del sistema operativo del PLC. Algunos Módulos de Función pueden utilizar Unidades Funcionales ( FU ) para pasar información desde / hacia los programas del usuario y Módulos de Función Ejemplos. Dependiendo del modelo específico de FPC , así como de la rutina CFM en particular, puede ser necesario pasar algunos parámetros cuando se programa una CFM Ejemplo 1 : FPC 202 c Esta rutina del sistema puede utilizarse para borrar o inicializar diversos operandos. La llamada a este CFM acepta un solo parámetro numérico. Si utilizamos el valor 2, el Módulo de Función inicializará todos los Flags a 0s IF THEN I 1.2 2 V2 CFM WITH Pulsador de reset accionado Llamar al módulo de función 1 pasar el valor 2 al 1er parámetro que aquí significa poner a cero TODOS los Flags Ejemplo 2 : FPC 404 Esta rutina del sistema puede utilizarse para habilitar un controlador de interrupciones de conteo a alta velocidad en la entrada I0 de la CPU del FPC 404. Este CFM requiere pasar varios parámetros junto con la llamada al sistema. El primer parámetro especifica el número del programa que queremos ejecutar cuando se alcance el final del conteo. El segundo parámetro permite especificar si deseamos identificar el flanco ascendente o el descendente de la señal. El parámetro 3 permite especificar el número de pulsos que queremos contar antes de ejecutar el programa especificado en el parámetro 1 IF THEN AND SET CFM N I 2.2 O 2.1 O 2.1 2 WITH V6 WITH WITH V0 V200 Pulsador arranque motor Y motor inactivo Arranca el motor Llama al módulo de función 2, habilita la función de interrupción para CPU 0 Programa a lanzar cuando se alcance el final del conteo Sobre el flanco ascendente de la señal El conteo es 200 ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 20
  • 168.
    Sistemas de controlsecuencial ____________________________________________________________________________________ CMP Propósito La instrucción CMP ( Call Program Module, Llamada a un Módulo de Programa ) se utiliza para solicitar la ejecución de una rutina de programa externa. Los módulos de programa pueden considerarse similares a las subrutinas NOTA : No es posible utilizar la función CMP DENTRO de un módulo de programa Los módulos de programa pueden escribirse en uno de los diferentes lenguajes incluyendo AWL y Assembler. Festo pude suministrar varios módulos de programa optimizados para realizar tareas especializadas tales como : * Entrada / Salida de Textos * Conteo en alta velocidad * Funciones aritméticas de 32 bits Algunos Módulos de Programa pueden utilizar Unidades Funcionales ( FU ) para pasar información desde / hacia los programas de usuario y los Módulos de Programa Ejemplos Dependiendo del modelo específico de FPC , así como del Módulo de Programa llamado, puede ser necesario pasar algunos parámetros cuando se utiliza una CMP Ejemplo : FPC 202 c Este módulo de programa puede utilizarse para transmitir texto. La llamada a este CMP en particular acepta varios parámetros dependiendo de la función deseada IF THEN CMP WITH WITH I 1.5 7 V0 Tanque # 1 Si sensor de nivel máximo Llamar al módulo de programa 7 con el texto que se indica lleno El ejemplo anterior sirve simplemente para dar una idea general de la forma en que son llamados los módulos de programa. Los diferentes procedimientos de llamada varían mucho, así que el usuario siempre deberá consultar la documentación específica Módulos sencillos En una situación donde el usuario simplemente escribe una subrutina como un módulo de programa, no es necesario pasar ningún parámetro. En tales casos, la llamada puede realizarse con : IF...... THEN CMP 8 Llama a un módulo de programa que no requiere ningún parámetro ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 21
  • 169.
    Sistemas de controlsecuencial ____________________________________________________________________________________ CPL Propósito Esta instrucción complementa el contenido del acumulador multibit utilizando el método del complemento a dos En principio, el efecto de la instrucción CPL es el mismo que multiplicar por -1, si se trata de números enteros con signo Ejemplos Lo siguiente muestra la utilización de la instrucción CPL a un número de 16 bits que ha sido cargado en el acumulador multibit 0 1 0 1 0 1 1 0 0 1 0 1 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 1 1 4711 CPL = - 4711 El valor con que se va a operar, primero debe ser cargado en el acumulador multibit. En el ejemplo siguiente, el programa comprobará si el Registro 32 contiene un número negativo, y si es así lo convertirá a positivo y lo depositará en el Registro 22 IF THEN ( R32 <V0) LOAD CPL TO Ver si el registro 32 es menor de 0... o un valor negativo y si es negativo R 32 cargarlo en el acumulador multibit realizar la instrucción "complementar " y copiarlo en el registro 22 R 22 ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 22
  • 170.
    Sistemas de controlsecuencial ____________________________________________________________________________________ DEB Propósito Para convertir el contenido del acumulador multibit de formato BCD a Binario Es frecuente que muchos equipos periféricos puedan enviar información ( valores etc.) a un PLC a través de las entradas estándar. Para minimizar el número de entradas, el dispositivo periférico puede utilizar una codificación BCD. Dado que la instrucción DEB opera sobre el contenido del acumulador multibit, el valor a convertir debe ser previamente cargado en el acumulador multibit. Ejemplos Si utilizamos dos conmutadores rotativos BCD para definir el número de ciclos que una máquina debe realizar, podríamos utilizar las siguientes instrucciones : Hemos conectado los conmutadores BCD a las entradas 0-7 de la palabra de entradas IW1 y la entrada I0.3 se utiliza para validar la introducción del valor, que será almacenado en la palabra de contador CW2 IF THEN LOAD AND DEB TO I 0.3 (IW1 V 255 ) CW2 Cuando se active I 0.3 copiar la palabra de entradas en el acumulador multibit y usar la instrucción AND para enmascarar las entradas I 1.8..15. Tanto si existen I 1.8....15 como sino, se asegura que en el acumulador habrá realmente l valor de los conmutadores BCD Convertir el actual valor BCD a binario y copiar el resultado en la palabra del contador 2 Por favor, observar que los valores permitidos son de 0..9999 ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 23
  • 171.
    Sistemas de controlsecuencial ____________________________________________________________________________________ DEC Propósito La instrucción DECrement reduce el valor de cualquier operando multibit en "1". A diferencia de otras instrucciones aritméticas, la operación DECrement puede ser realizada directamente sin necesidad de cargar previamente el operando a decrementar en el acumulador multibit A pesar de que la instrucción DECrement puede utilizarse sobre cualquier operando multibit, es comúnmente utilizada junto con Contadores y Registros. Ejemplos En el siguiente ejemplo se supone que en una línea de llenado de botellas, la entrada I 1.3 es activada cada vez que pasa una botella por la estación de conteo. El número total de botellas debe guardarse en el Registro 9 Sin embargo, a veces una botella puede no estar completamente llena y esto es verificado más adelante en el proceso de producción. Si se detecta una botella parcialmente llena, el contador totalizador debe ser disminuido en una unidad IF THEN I 1.3 R9 INC IF THEN I 2.2 AND DEC N I 3.6 R9 La I 1.3 detecta todas las botellas que queremos totalizar, así que hay que añadir 1 al contador existente Cuando llega una botella a la estación de verificación y no ,está totalmente llena restar 1 del total La instrucción citada DECrement equivale a : IF.... THEN LOAD TO R9 -V1 R9 Cargar R 9 en el acumulador multibit restar 1 y copiar el resultado de nuevo en R 9 ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 24
  • 172.
    Sistemas de controlsecuencial ____________________________________________________________________________________ EXOR Propósito Para combinar dos o más operandos monobit o multibit en la parte Condicional o Ejecutiva de una frase utilizando la operación lógica EXOR ( OR Exclusiva ) Ejemplo Monobit: En el siguiente ejemplo, la salida O 1.3 será activada si cualquiera de las Entradas I 1.1 o I 1.2 está activa, pero no si lo están ambas IF I 1.1 I 1.2 O 1.3 EXOR SET THEN Tanto si está activa I 1.1 como I 1.2 PERO NO AMBAS entonces activa la salida 1.3 Ejemplo Multibit: A continuación se muestra la operación lógica EXOR aplicada a dos operandos de 8 bits 0 1 1 0 1 1 1 1 0 0 0 0 1 1 0 1 1 0 0 0 0 1 0 1 operando 1 = 45 decimal OR operando 2 = 236 decimal resultado = 193 decimal Cuando se utiliza en la parte Condicional de una frase, esta función permite comparar el resultado de una función lógica EXOR de dos operandos multibit con un tercer operando multibit o con una constante. ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 25
  • 173.
    Sistemas de controlsecuencial ____________________________________________________________________________________ En el siguiente ejemplo, utilizaremos la potencia de la instrucción EXOR para controlar una estación de llenado de 8 botellas. Las 8 posiciones de llenado se hallan en un lugar del sistema de transporte de las botellas. A medida que pasan las botellas, deben ser verificadas. Es posible en cualquiera de las 8 posiciones que una botella esté o no presente. Todas las botellas vacías deberán llenarse y cuando estén todas presentes, la linea se desplazará de nuevo, buscando el siguiente grupo para llenar La palabra de entradas IW0 ( I0.0...I 0.7 ) está conectada a los sensores de presencia de botella y la palabra de entradas IW1 ( I1.0...I1,7 ) está conectada a los sensores de llenado de botella. La palabra de salidas OW0 ( O0.0...O0.7 ) controla las boquillas de llenado, mientras que la salida O 1.0 cuando está activa, cierra un tope sosteniendo así las botellas para su llenado STEP 10 IF AND THEN N O 1.0 I 0.7 Las botellas no están detenidas y hay botellas en posición 7 SET LOAD EXOR TO O 1.0 ( IW0 IW1 ) OW0 parar movimiento botellas Ver si están presentes y SIN llenar entonces activar salidas botellas Si TODAS las salidas están inactivas AND (OW0 = V0 ) O 1.0 IF THEN SET JMP TO O 1.0 10 para llenar y las botellas detenidas para llenado Liberar las botellas de nuevo e ir al paso 10 ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 26
  • 174.
    Sistemas de controlsecuencial ____________________________________________________________________________________ INC Propósito La instrucción INCrement, incrementa el valor de cualquier operando multibit en "1". A diferencia de otras instrucciones aritméticas, la operación INCrement puede ser realizada directamente sin necesidad de cargar previamente el operando a INCrementar en el acumulador multibit A pesar de que la instrucción INCrement puede utilizarse sobre cualquier operando multibit, es comúnmente utilizada junto con Contadores y Registros. Ejemplos En el siguiente ejemplo se supone que en una línea de llenado de botellas, la entrada I 1.3 es activada cada vez que pasa una botella por la estación de conteo. El número total de botellas debe guardarse en el Registro 9 Sin embargo, a veces una botella puede no estar completamente llena y esto es verificado más adelante en el proceso de producción. Si se detecta una botella parcialmente llena, el contador totalizador debe ser disminuido en una unidad IF THEN I 1.3 R9 INC IF THEN I 2.2 AND DEC N I 3.6 R9 La I 1.3 detecta todas las botellas que queremos totalizar, así que hay que añadir 1 al contador existente Cuando llega una botella a la estación de verificación y no ,está totalmente llena restar 1 del total La instrucción citada INCrement equivale a : IF.... THEN LOAD TO R9 +V1 R9 Cargar R 9 en el acumulador multibit añade 1 y copia el resultado de nuevo en R 9 ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 27
  • 175.
    Sistemas de controlsecuencial ____________________________________________________________________________________ INV Propósito Esta instrucción complementa ( INVerts, INVierte ) el contenido del acumulador multibit, utilizando el método del complemento a "1" Cuando se aplica a enteros con signo, esto es equivalente a multiplicar un número por -1 y añadirle -1. Ejemplos El siguiente cuadro ilustra una aplicación de la instrucción INV a un número de 16 bits que ha sido cargado en el acumulador multibit 0 1 0 1 0 1 1 0 0 1 0 1 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 1 0 INV La instrucción INV puede ser de utilidad cuando se desea invertir todos y cada uno de los bits contenidos en el acumulador multibit En el siguiente ejemplo, una máquina mezcladora tiene 16 estaciones. El ciclo de mezcla consiste en periodos alternativos de agitación y de asentamiento. Durante la operación normal, los operarios añaden o quitan contenedores aleatoriamente. Solamente aquellas estaciones que poseen contenedor situado deben activarse. Se han previsto sensores para detectar que estaciones deben ser activadas STEP 10 IF THEN N LOAD T1 OW1 INV AND TO OW1 SET STEP 20 IF THEN IW1 T1 N JMP TO T1 10 Tiempo vencido El estado actual de las salidas 0-15 de las estaciones de agitado es copiado al acumulador ahora invertimos el estado de cada salida... aquellas que estén en 1 pasarán a 0 ( pero esto solo en el MBA ) ahora corregir para cada estación que estuviera en off y no tuviera contenedor finalmente activar las correspondientes salidas y arrancar el temporizador espera hasta terminar el proceso de temporización para regresar al paso 10 ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 28
  • 176.
    Sistemas de controlsecuencial ____________________________________________________________________________________ JMP TO Propósito Para proporcionar un medio de influir en el flujo de ejecución del programa, basándose en un criterio programable. Análoga a la instrucción del lenguaje Basic " GOTO " Se debe observar que la instrucción JMP TO puede alterar el comportamiento normal que hace que al cumplirse la ÚLTIMA frase de un STEP el programa continúe en el siguiente La instrucción JMP TO también puede utilizarse para dar prioridad a la ejecución de frases dentro de un STEP Ejemplos En el primer ejemplo la instrucción JMP TO se utiliza en un programa paralelo para detectar y reaccionar ante una condición de PARO. El paso 20 contiene todas las frases que son procesadas de forma paralela. Observar que el PARO es un pulsador cerrado en reposo STEP 20 .......... frases anteriores en el paso 20 IF THEN N LOAD TO TO JMP TO STEP 80 IF THEN I 1.1 Ver si paro ha sido pulsado, si es así, V0 OW0 OW1 80 desactivar todas las salidas en grupo en las palabras de salidas 0 y 1 I 1.1 AND JMP TO I 2.1 20 y seguir en una rutina especial Rutina de PARO Esperar aquí hasta que no se detecte la señal de paro y se accione el pulsador de RESET entonces continuar en el paso 20 ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 29
  • 177.
    Sistemas de controlsecuencial ____________________________________________________________________________________ El siguiente ejemplo utiliza saltos múltiples dentro de una instrucción STEP y muestra una situación donde el operador de la máquina debe seleccionar 1 de 3 posibles opciones STEP 40 IF THEN IF THEN IF THEN AND AND JMP TO N N AND AND JMP TO N N AND AND JMP TO N N I 1.1 I 1.2 I 1.3 100 I 1.2 I 1.1 I 1.3 150 I 1.3 I 1.1 I 1.2 200 El operador debe seleccionar SOLO 1 de las 3 secuencias Selección de secuencia 1 y no secuencia 2 y no secuencia 3 salto a secuencia 1 Selección de secuencia 2 y no secuencia 1 y no secuencia 3 salto a secuencia 2 Selección de secuencia 3 y no secuencia 1 y no secuencia 2 salto a secuencia 3 Hay que tener cuidado al ordenar varias frases dentro de un mismo paso, junto con el uso de la instrucción JMP, ya que es fácil asignar prioridades involuntariamente. El siguiente ejemplo asume que los pasos hasta el 50 contienen instrucciones para un proceso, y que al alcanzar el paso 60, la máquina debe verificar las entradas I1.1, I1.2 y I 1.3, esperar hasta que aparezca una PRIMERA entrada y procesar solamente una de estas entradas, donde la I 1.1. tiene la máxima prioridad e I 1.2 tiene la prioridad más baja STEP 60 IF THEN IF THEN IF THEN IF THEN AND AND JMP TO JMP TO AND JMP TO AND AND NOP N I 1.1 N I 1.2 N I 1.3 60 I 1.1 100 N I 1.1 I 1.2 150 N I 1.1 N I 1.2 I 1.3 Esperar hasta que por lo menos una de las entradas está activa Esta entrada tiene la más alta prioridad al paso 100 asegurarse de que no hay acciones de mayor prioridad al paso 150 asegurarse de que no hay acciones de mayor prioridad OK. para procesar solo el siguiente paso del programa ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 30
  • 178.
    Sistemas de controlsecuencial ____________________________________________________________________________________ LOAD...TO Propósito La instrucción LOAD ( CARGAR ) permite copiar ( cargar ) operandos monobit o multibit en los acumuladores monobit o multibit ( respectivamente ) como preparación para : 1.- Realizar operaciones lógicas y/o matemáticas 2.- Como paso intermedio requerido para transferir información entre operandos La parte ... TO ( hacia ) de la instrucción permite especificar el destino del operando. La instrucción LOAD...TO es más frecuentemente utilizada con operandos multibit Ejemplos Cargas monobit Origen LOAD SBO LOAD I 1.0 Operación Opcional ninguna Destino TO SBO TO O 1.0 LOAD SBO AND SBO LOAD I 1.0 AND N I 1.1 Nota : SBO = cualquier Single Bit Operand ( monobit ) Sintaxis monobit TO SBO TO O 1.0 A pesar que los ejemplos citados son instrucciones válidas AWL, generalmente no se usan. Equivalen a : IF THEN OTHRW SET RESET I 1.1 O 1.0 O 1.0 AND SET RESET I 1.0 N I 1.1 O 1.0 O 1.0 IF THEN OTHRW Si entrada 1.0 está activa activar salida 1.0 sino desactivarla Si entrada 1.0 activa y entrada 1.1 NO activa activar salida 1.0 sino desactivarla ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 31
  • 179.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Cargas multibit Origen LOAD MBO / V LOAD R6 Operación Opcional ninguna Destino TO MBO TO TW1 LOAD MBO/ V AND MBO / V TO MBO LOAD R11 SHL TO CW4 LOAD CW2 + V3199 TO R28 Nota : MBO / V = cualquier Multi Bit Operand o Valor Sintaxis multibit La utilización de la instrucción LOAD con operandos multibit y valores, cuando se utiliza junto con los operadores lógicos o matemáticos disponibles, proporciona unas posibilidades de proceso muy potentes. El siguiente ejemplo ilustra algunas de las diversas funciones que pueden realizarse utilizando la instrucción LOAD Desconexión de TODAS las salidas de un sistema Asumiremos que nuestro sistema contiene 64 salidas organizadas en 4 palabras de 16 bits. Utilizando la clásica instrucción RESET para desactivarlas requeriría un programa como : IF THEN RESET RESET ... ... I 1.0 O 1.0 O 1.1 p. ej. un pulsador desactiva la salida 1.0 y otra repetimos esta instrucción para cada una de las 64 salidas Mientras que utilizando la instrucción LOAD puede conseguirse el mismo resultado con: IF THEN LOAD TO TO TO TO I 1.0 V0 OW 1 OW 2 OW 3 OW 4 p. ej. un pulsador carga el valor "0" en el acumulador desactiva las salidas 1.0...1.15 desactiva las salidas 2.0...2.15 desactiva las salidas 3.0...3.15 desactiva las salidas 4.0...4.15 ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 32
  • 180.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Obsérvese que una vez que el Valor ( en este caso 0 ) ha sido cargado en el acumulador multibit, puede copiarse ( utilizando TO ) a varios destinos sin tener que recargarlo Resumen La instrucción LOAD, puede muy bien ser una de las instrucciones más potentes en el lenguaje AWL. Es importante recordar que la instrucción LOAD únicamente prepara al sistema para las instrucciones que le siguen. Nota : Cuando se ejecuta una instrucción LOAD, el operando multibit o el Valor especificado es cargado en el acumulador multibit ( MBA ) El MBA es de 16 bits. Si el operando multibit especificado como fuente ( p.ej. LOAD MBO es de solo 8 bits ( p.ej. un módulo de E / S con solo 8 puntos ) entonces el byte más alto del MBA se llenará con ceros. Igualmente, si el MBA es transferido ( por medio de la instrucción TO ) a un destino de 8 bits, los 8 bits altos se perderán ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 33
  • 181.
    Sistemas de controlsecuencial ____________________________________________________________________________________ NOP Propósito La instrucción NOP ( No OPeration ) que en principio podría parecer de poca utilidad, es frecuentemente de gran ayuda en programación La consecuencia de utilizar la instrucción NOP depende de si es utilizada en la parte condicional o en la parte ejecutiva de una frase Ejemplos Parte condicional Cuando se utiliza en la parte condicional de una frase, la instrucción NOP puede servir para construir una frase que siempre sea evaluada como cierta, con lo que las instrucciones programadas en la parte ejecutiva siempre se realizarán STEP 45 IF THEN SET SET NOP T6 O 1.2 Siempre cierto arranca temporizador 6 activa la salida 1.2 Procesamiento paralelo Cuando un paso de programa contiene varias frases que deben procesarse ( explorarse ) continuamente, la instrucción NOP puede utilizarse para controlar el flujo del programa STEP 11 IF THEN IF THEN OTHRW SET I 1.4 T4 Si entrada 1.4 está activa arranca temporizador 4 SET RESET I 3.0 O 1.6 O 1.6 Arranque manual del motor sino, parar motor AND INC T4 O 1.6 CW3 Temporizador 4 funciona y motor funciona incrementa ciclo de conteo IF THEN ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 34
  • 182.
    Sistemas de controlsecuencial ____________________________________________________________________________________ IF THEN JMP TO IF THEN NOP JMP TO STEP 90 IF THEN I 2.2 90 11 N AND JMP TO Pulsador de emergencia abandona esta exploración Incondicionalmente continua esta exploración I 2.2 I 3.3 11 rutina especial Pulsador de emergencia liberado y pulsador de reset vuelve al paso 11, sino espera Parte ejecutiva Cuando se utiliza en la parte ejecutiva de una frase, la instrucción NOP es evaluada como una instrucción de " no hagas nada ". A pesar de que esto puede parecer poco interesante, a menudo es muy útil cuando el programador desea esperar a que se cumplan unas determinadas condiciones para seguir con la ejecución del programa en el siguiente paso STEP 60 IF THEN AND AND NOP N I 1.5 T7 C2 Entrada 1.5 activa Temporizador 7 funcionando Contador 2 inactivo cumplidas las condiciones anteriores, procede con el siguiente paso ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 35
  • 183.
    Sistemas de controlsecuencial ____________________________________________________________________________________ OR Propósito 1.- Para combinar dos o más operandos monobit o multibit en la parte condicional de una frase utilizando la operación lógica OR 2.- Para realizar el enlace en OR de dos operandos multibit o valores, indistintamente en la parte condicional o ejecutiva de una frase Ejemplos Monobit IF I 1.1 T6 O 1.5 OR SET THEN Si entrada 1.1 está activa o el timer 6 funciona entonces activa salida 1.5 Multibit A continuación se muestra la operación lógica AND aplicada a dos operandos de 8 bits 0 1 1 0 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 0 1 operando 1 = 45 decimal OR operando 2 = 236 decimal resultado = 237 decimal La función OR puede ser utilizada con operandos Multibit y valores, tanto en la parte Condicional de la frase, como en la parte Ejecutiva. Cuando se utiliza en la parte Condicional de una frase, esta función permite que el resultado de la función lógica OR entre dos operandos multibit o valores, sea comparado con un tercer operando multibit o con un valor. IF OR THEN ...... ( R43 El contenido de R43 es enlazado en R7 ) OR con el contenido del registro R7 = V 100 Si el resultado es igual a 100 entonces se realizarán las funciones programadas ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 36
  • 184.
    Sistemas de controlsecuencial ____________________________________________________________________________________ El siguiente ejemplo es una máquina que consiste en 16 transportadores paralelos, cada uno de los cuales suministra componentes a una zona de montaje. Los componentes son cargados manualmente a uno o más de los tres posibles emplazamientos de cada transportador. Cada transportador incluye tres sensores que verifican si las piezas han sido cargadas Cuando los 16 transportadores tienen por lo menos un componente cargado, entonces cada transportador deberá comenzar a funcionar. A medida que una pieza alcance la posición final de cada transportador, éste deberá detenerse. Cada transportador contiene un sensor para detectar cuando una pieza se halla presente en la posición final STEP 50 IF OR AND (OW1 IW4 =V0) (IW1 OR IW2 OR IW3 = V 65535 THEN STEP 60 THEN LOAD TO V 65535 OW1 Entonces activar los 16 transportadores controlados por las salidas 1.0...1.15 LOAD TO IW4 OW4 (OW4 =V0 50 Desactivar cada transportador a medida que alcanzan la posición final Cuando todos los transportadores se han detenido empezar de nuevo IF THEN El criterio de arranque de todos los transportadores está detenido ahora ( salidas 1.0 a 1.15 ) y las 16 posiciones están libres Todos los sensores de la estación 1 para transportadores 1, 2 y 3 Todos los sensores de la estación 2 para transportadores 1, 2 y 3 Todos los sensores de la estación 3 para transportadores 1, 2 y 3 Los 16 tienen por lo menos 1 componente cargado JMP TO ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 37
  • 185.
    Sistemas de controlsecuencial ____________________________________________________________________________________ PSE Propósito Para marcar el final de programa ( Program Section End ) o un cambio de programa. Esto provocará un cambio de procesador virtual en aquellos procesadores que soportan multitarea ( ver multitarea ) Al regresar al programa que ha ejecutado la instrucción PSE, el programa continuará procesando : * * en la primera frase del paso actual o en la primera frase del programa cuando no existan pasos Ejemplos Si un programa AWL simplemente termina con una instrucción normal y no se dan instrucciones adicionales, el programa dejará de funcionar Los programas clásicos o partes del programa se terminan utilizando la instrucción PSE o la instrucción JMP. STEP 10 IF THEN STEP 20 IF THEN OTHRW SET RESET PSE PSE I 1.1 O 2.1 Pulsador de marcha Avanzar cilindro I 3.1 O 2.1 Cilindro delante retroceder cilindro ir a la primera frase ir a la primera frase Cuando un programa ha sido realizado sin etiquetas de pasos, y debe procesarse de forma continuada según el ciclo de exploración ( scan ); el programa debe terminar con una instrucción PSE ....... ....... IF THEN NOP PSE frases anteriores " " Siempre cierto Fin del programa parcial e ir a la frase inicial en el programa ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 38
  • 186.
    Sistemas de controlsecuencial ____________________________________________________________________________________ RESET Propósito La instrucción RESET ( desactivar ) se utiliza para cambiar los operandos Monobit al estado lógico "0". La desactivación de un operando que ya esté desactivado, no produce efecto alguno El efecto que produce una instrucción de RESET, varía según el operando referido. La siguiente tabla proporciona un resumen de la utilización de la instrucción RESET Ejemplos Operando Sintaxis Output Flag Counter Timer RESET O 1.6 RESET F 2.12 RESET C 6 RESET T 4 Program * RESET P 2 Processor * RESET Y 2 Auto Restart * RESET ARU Error Status * RESET E Efecto Desactiva Salida 1.6 ( off ) Fuerza el estado del Flag 2.12 a ser "0" El estado del contador 6 es puesto a inactivo El estado del Temporizador 4 es puesto a inactivo El programa 2 es liberado de su procesador asignado y es detenido Cualquier programa asignado al procesador 2 es puesto en estado de detención Desactiva la función de rearranque automático ( default = off ) Borra el bit de estado de error Los operandos marcados con "*" pueden diferir o no ser aplicables a todos los modelos de PLC ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 39
  • 187.
    Sistemas de controlsecuencial ____________________________________________________________________________________ ROL Propósito La instrucción ROL ( ROtate Left ), rota el contenido del acumulador Multibit hacia la izquierda en una posición El bit más significativo ( 15 ) es transferido a la posición del bit menos significativo. Véanse también las instrucciones ROR, SHR y SHL Debe recordarse que la instrucción LOAD....TO se utiliza normalmente en primer lugar para preparar el Acumulador Multibit y de nuevo después de la instrucción ROL para copiar el resultado al operando multibit deseado Ejemplos La siguiente tabla muestra el efecto de la utilización de la instrucción ROL 0 1 0 0 1 0 1 1 IF THEN 0 1 0 0 1 0 1 1 0 1 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 N 0 0 1 1 LOAD T6 OW1 ROL ROL TO OW1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 LOAD MBO 1er ROL 2º ROL TO MBO Si T6 está parado cargar los 16 bits de la palabra de salidas 1 al MBA Rota a izquierda una vez rota a izquierda una segunda vez copia el resultado de nuevo al mismo sitio Esta instrucción puede tener una buena aplicación cuando se utiliza en máquinas transfer rotativas o transportadores, para seguir el estado de la producción cuando la máquina realiza la transferencia ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 40
  • 188.
    Sistemas de controlsecuencial ____________________________________________________________________________________ ROR Propósito La instrucción ROR ( ROtate Rigth ), rota el contenido del acumulador Multibit hacia la derecha en una posición El bit menos significativo ( bit 0 ) es transferido a la posición del bit más significativo. Véanse también las instrucciones ROR, SHR y SHL Debe recordarse que la instrucción LOAD....TO se utiliza normalmente en primer lugar para preparar el Acumulador Multibit y de nuevo después de la instrucción ROR para copiar el resultado al operando multibit deseado Ejemplos La siguiente tabla muestra el efecto de la utilización de la instrucción ROR 0 1 0 0 1 0 1 1 IF THEN 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 1 1 0 0 0 1 1 1 0 0 1 1 N 0 0 0 0 LOAD T6 OW1 ROR ROR TO OW1 0 0 0 0 1 0 0 0 1 1 0 0 1 1 1 1 0 1 1 1 1 0 1 1 LOAD MBO 1er ROR 2º ROR TO MBO Si T6 está parado cargar los 16 bits de la palabra de salidas 1 al MBA Rota a la derecha una vez Rota a la derecha una segunda vez copia el resultado de nuevo al mismo sitio Esta instrucción puede tener una buena aplicación cuando se utiliza en máquinas transfer rotativas o transportadores, para seguir el estado de la producción cuando la máquina realiza la transferencia ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 41
  • 189.
    Sistemas de controlsecuencial ____________________________________________________________________________________ SET Propósito La instrucción SET ( activar ) se utiliza para cambiar los operandos Monobit al estado lógico "1". La activación de un operando que ya esté activado, no produce efecto alguno El efecto que produce una instrucción de SET, varía según el operando referido. La siguiente tabla proporciona un resumen de la utilización de la instrucción SET Ejemplos Operando Sintaxis Efecto Output Flag Counter SET O 1.6 SET F 2.12 SET C 6 Timer SET T 4 Program * Processor * SET P 2 SET P 2.3 SET Y 2 Auto Restart * SET ARU Activa Salida 1.6 ( on ) Fuerza el estado del Flag 2.12 a ser "1" 1.- La palabra del contador 6 es cargada con "0" 2.- El bit de estado de C6 es activado 1.- El contenido del preselector TP 4 es copiado al TW4 2.- El bit de estado del Timer 4 ( T4 ) es activado ( = 1 ) Programa 2 es lanzado desde el inicio. Programa 3 es asignado al procesador 2 y lanzado desde el principio Reactiva un programa previamente detenido en el procesador 2 en el punto donde se detuvo Activa la función de rearranque automático Los operandos marcados con "*" pueden diferir o no ser aplicables a todos los modelos de PLC ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 42
  • 190.
    Sistemas de controlsecuencial ____________________________________________________________________________________ SHIFT Propósito La instrucción SHIFT realiza un intercambio entre el Acumulador Monobit ( SBA ) y un operando Monobit Esta instrucción puede utilizarse para construir Shift Registers ( Registros de desplazamiento ) de diferentes longitudes... diferentes de las manipulaciones sobre 16 bits que realizan las instrucciones SHR y SHL. Para operar correctamente, primero debe cargarse el SBA y a continuación pueden programarse cualquier número de SHIFTs monobit Ejemplos En el siguiente ejemplo, cada vez que la entrada I 1.0 se activa, el estado de las salidas O 1.1 hasta O 1.4 debe ser actualizadas. * * * * STEP 10 IF THEN La salida O 1.4 tomará su estado según el estado que tenga la salida O 1.3 La salida O 1.3 tomará su estado según O 1.2 La salida O 1.2 tomará su estado según O 1.1 La salida O 1.1 tomará su estado según el estado que tenga la entrada I 1.1 I 1.0 I 1.0 TO SHIFT SHIFT SHIFT SHIFT STEP 20 IF THEN LOAD F 0.0 O 1.1 O 1.2 O 1.3 O 1.4 N JMP TO I 1.0 10 Entrada activa aquí se utiliza un Flag para evitar escribir desde una entrada, lo que de lo contrario sucedería cargar F0.0 O 1.1 cargar O 1.1 O 1.2 cargar O 1.2 O 1.3 cargar O 1.3 O 1.4 Espera que liberen la entrada repetir Ver Flags y Flags Words ( marcas y palabras de marca ) para una alternativa a la construcción de registros de desplazamiento ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 43
  • 191.
    Sistemas de controlsecuencial ____________________________________________________________________________________ SHL Propósito La instrucción SHift Left mueve ( desplaza ) el contenido del acumulador Multibit en una posición hacia la izquierda El bit más significativo ( bit 15 ) es descartado y la posición del bit más significativo se llena con un "0". Ver también las instrucciones ROL, ROR y SHR Una utilización típica de la instrucción SHL es la emulación de registros de desplazamiento Debe recordarse que la instrucción LOAD....TO se utiliza normalmente en primer lugar para preparar el Acumulador Multibit y de nuevo después de la instrucción SHL para copiar el resultado al operando multibit deseado Ejemplos La siguiente tabla muestra el efecto de la utilización de la instrucción SHL 1 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 0 0 LOAD MBO SHL TO MBO Shift Register El siguiente ejemplo mostrará la utilización de SHL en combinación con un MBO para emular un registro de desplazamiento. A pesar de que puede utilizarse cualquier operando multibit, hemos elegido un Flag Word, dado que pueden ser manejados en base a palabra o en base a bit indistintamente Supongamos que estamos controlando una máquina que monta cartuchos de cintas para impresoras de ordenador. El proceso empieza en la estación 1 donde se hallan apilados los cartuchos vacíos en la línea de montaje; hasta la línea 10 donde los conjuntos montados son descargados a una máquina de embalar. En cada estación ( 1-10 ), una vez se ha completado la operación de montaje respectiva, se realiza un control de calidad. Los montajes defectuosos son inmediatamente retirados. Adicionalmente, cuando la máquina es cargada por primera vez por la mañana, y al parar por la tarde, solo deben funcionar aquellas estaciones que contengan componentes válidos. ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 44
  • 192.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Mientras que cada estación puede incluir sensores para asegurar que ciertas piezas están correctamente posicionadas antes de proceder, el registro de desplazamiento, simplificará notablemente nuestras necesidades de proceso. Para simplificar este ejemplo, sólo hemos considerado las estaciones 1-3 STEP 40 AND AND RESET F 1.1 N T1 N I 2.1 F 1.1 Procesar estaciones. FW1 contiene un patrón de bits de donde hay piezas Hubo pieza correcta en la estación 1 operación realizada pieza mala en estación 1 PIEZA MALA RETIRADA AND AND RESET F 1.2 N T1 N I 2.2 F 1.2 Hubo pieza buena en estación 2 operación realizada pieza mala en estación 2 PIEZA MALA RETIRADA THEN AND AND RESET F 1.3 N T1 N I 1.3 F 1.3 Hubo pieza buena en estación 3 operación realizada pieza mala en estación 3 PIEZA MALA RETIRADA IF THEN SET IF THEN IF THEN IF STEP 50 IF THEN STEP 60 IF THEN T1 O 1.1 N LOAD SHL TO RESET JMP TO Operaciones terminadas transferir linea de montaje I 2.0 FW1 Linea transfiriendo carga el registro de desplazamiento actualiza y almacena FW1 I 2.0 O 1.1 20 Transferencia realizada continua procesando Multiplicación La instrucción SHL puede utilizarse para multiplicar el contenido del MBA por dos IF THEN LOAD SHL SHL TO I 1.0 R6 R6 Detector de piezas registro 6 multiplica por 2 multiplica de nuevo, o sea, por 4 y guarda el resultado ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 45
  • 193.
    Sistemas de controlsecuencial ____________________________________________________________________________________ SHR Propósito La instrucción SHift Right mueve ( desplaza ) el contenido del acumulador Multibit en una posición hacia la derecha El bit menos significativo ( bit 0 ) es descartado y la posición del bit más significativo se llena con un "0". Ver también las instrucciones ROL, ROR y SHL La instrucción SHR puede utilizarse también para dividir por dos cualquier MBO o valor El programador debe comprobar un posible desbordamiento o si el dividendo es un número impar, en cuyo caso el resultado será incorrecto, ya que solo se manipulan números enteros Debe recordarse que la instrucción LOAD....TO se utiliza normalmente en primer lugar para preparar el Acumulador Multibit y de nuevo después de la instrucción SHR para copiar el resultado al operando multibit deseado Ejemplos La siguiente tabla muestra el efecto de la utilización de la instrucción SHR 1 0 0 1 1 1 0 1 1 1 0 0 0 1 1 1 0 0 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 1 1 1 1 1 1 0 1 1 1 0 0 LOAD MBO SHR TO MBO ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 46
  • 194.
    Sistemas de controlsecuencial ____________________________________________________________________________________ SWAP Propósito Proporciona el medio de intercambiar ( permutar ) el byte alto ( bits del 8 al 15 ) y el byte bajo ( bits del 0 al 7 ) en el acumulador multibit Antes de ejecutar la instrucción SWAP primero debe cargarse el correspondiente MBO en el acumulador multibit Ejemplos La siguiente tabla muestra el efecto de la utilización de la instrucción SHL 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 LOAD MBO / V SWAP TO MBO ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 47
  • 195.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 5 TEMPORIZADORES 5.1 El temporizador Muchas funciones de control exigen la programación del tiempo. Ejemplo : En una máquina deberá avanzar el cilindro B cuando el cilindro A haya vuelto a su posición normal, aunque solo después de transcurridos 5 segundos. En este caso se trata de un retardo de conexión. Con frecuencia es necesario que la activación de la sección se produzca con un retardo por razones de seguridad Retardo de conexión Señal de activación Activar el temporizador mediante un flanco positivo de la señal de activación Temporizador está activado Activar la función después de parar el temporizador Para efectuar la Pulsos secuenciales programación de una temporización, es necesario recurrir a ( submódulos ) temporizadores. cadencia Todos los controles ( se cuentan flancos negativos ) lógicos programables contienen dichos submódulos de temporización. Por cadencia lo general, los ( se cuentan flancos positivos ) tiempos son configurados de modo digital, lo que significa que un contador se encarga de contar cadencias. Un PLC cuenta las cadencias con la misma exactitud con la que los relojes cuentan las oscilaciones de cuarzo. O, para ser más precisos : el PLC cuenta flancos positivos o negativos de los pulsos secuenciales. ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 48
  • 196.
    Sistemas de controlsecuencial ____________________________________________________________________________________ A modo de unidad básica se define o selecciona un determinado tiempo para las secuencias de los pulsos : Un milisegundo Una centésima de segundo Una décima de segundo Un segundo Un minuto En el programa, los tiempos son confeccionados recurriendo a las unidades básicas respectivas, estando limitada la duración del tiempo programable. La amplitud de conteo de un temporizador define la cantidad máxima de cadencias. Multiplicando la amplitud de conteo con la cadencia más larga posible, se obtiene como resultado el tiempo máximo programable de un temporizador. No obstante, utilizando varios submódulos temporizadores ( con un contador ) es posible prolongar el tiempo. También existen temporizadores ( submódulos electrónicos ) que son parte integrante del hardware del PLC y que son denominados temporizadores analógicos del hardware. Estos temporizadores conforman los tiempos de modo analógico con condensadores y resistencias. Para activar un temporizador analógico se recurre a una entrada y a una salida del PLC. Mediante un potenciómetro pueden ajustarse los tiempos analógicos. No obstante, en la actualidad prácticamente ya no se utilizan este tipo de temporizadores, puesto que la temporización mediante software resulta más flexible y menos costosa. 5.2 Funcionamiento de un temporizador Un temporizador está compuesto de los siguientes elementos : Funcionamiento de un temporizador ( ejemplo ) Temporizador Cargar * Valor nominal * Valor efectivo * Estado Valor nominal +1 -1 Valor efectivo Activar Estado Parar ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 49
  • 197.
    Sistemas de controlsecuencial ____________________________________________________________________________________ El valor nominal indica el tiempo que deberá transcurrir en función del programa y expresado mediante un número que indica la cantidad de cadencias que se haya seleccionado. El valor nominal también puede ser igual a "0"; en este caso, el tiempo que se haya ajustado es igual al valor efectivo. El valor efectivo indica el valor instantáneo del temporizador. Los temporizadores pueden contar hacia atrás o hacia adelante. El valor efectivo va cambiando respectivamente El estado de un temporizador indica si ya ha transcurrido el tiempo que se haya preseleccionado o si aún está transcurriendo, pudiendo ser la señal respectiva "0" o "1", según tipo de PLC Funcionamiento de un temporizador ( ejemplo ) Cadencia cadencia Valor Nominal 0 0 0 0 0 Valor efectivo 4 3 2 1 0 1 1 1 1 0 Estado Tiempo está activado Tiempo está desactivado En la figura se muestra el funcionamiento de un temporizador recurriendo a un ejemplo sencillo. En él se ha ajustado un tiempo de 4 cadencias ( es decir, por ejemplo, 4 veces 0,1 segundos ). El número 4 es el valor efectivo y el conteo se produce hacia atrás hasta que se alcanza el valor efectivo 0. El temporizador cuenta los flancos positivos de los pulsos secuenciales. ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 50
  • 198.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Cada temporizador ( o Timer ), tal y como ha sido implementado en el lenguaje AWL, consta de varios elementos : Elemento / Operando Ref. Timer Status Bit Tn Timer Preselect TPn Timer Word TWn Función Permite a un programa verificar si un Timer está activo ( funcionando ). Este bit es cambiado a activo cuando el Timer es activado ( SET ). Cuando se ha terminado el periodo de tiempo o si el Timer es detenido ( RESET ) el bit de estado pasa a inactivo Un operando de 16 bits que contiene el valor que define el tiempo del Temporizador n Un operando de 16 bits al cual se transfiere automáticamente TP cuando se activa el Temporizador ( SET ). El contenido es automáticamente decrementado por el sistema a intervalos regulares Nota : Todos los modelos de FPC incorporan baterías que mantienen el contenido de los Preselectores de Temporizador durante los periodos de desconexión 5.3 Utilización de un temporizador Para la utilización de un Temporizador en un programa AWL, se requieren varios pasos básicos : Debe establecerse un Preselector de Temporizador ( Timer Preselect ) válido Debe emitirse una instrucción para activar el Temporizador El estado del Temporizador ( activo / detenido ) puede verificarse 5.3.1 Inicialización de un preselector de temporizador Nota : Dependiendo de qué modelo de control se está utilizando, puede o no ser necesario especificar una base de tiempo así como un valor de temporización. Consultar el correspondiente manual de hardware del modelo de control que se esté programando Antes de utilizar cualquier temporizador, el correspondiente Preselector de Temporizador debe inicializarse con un valor correspondiente al periodo de tiempo deseado. ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 51
  • 199.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Esta inicialización solamente es necesario realizarla de nuevo si el valor a temporizar debe cambiar. No es necesario recargar el Preselector de Temporizador cada vez que se active el Temporizador. Los Preselectores de Temporizador pueden cargarse con un valor o bien con el contenido de cualquier MBO ( p.ej. Registros, Input Word, Flag Word, etc. ) Ejemplo: Inicialización de un Preselector de Temporizador con una base de tiempo STEP 1 IF LOAD TO WHIT NOP V 10 TP 4 SEC Primero hacemos esto Incondicionalmente valor 10 hacia el preselector base de tiempo = segundos El Timer 4 será ahora un temporizador de 10 segundos Las bases de tiempo disponibles son : HSC centésimas de segundo TSC décimas de segundo SEC segundos MIN minutos Ejemplo : Inicialización de un Preselector de Temporizador sin una base de tiempo STEP 1 IF LOAD NOP V 100 TO TP 0 Primero hacemos esto Incondicionalmente valor 100....., al no especificar base de tiempo, esta será de 1 / 100 de segundo lo que fija el tiempo de T0 en 1 segundo El ejemplo precedente ha inicializado el Timer 0 para una duración de 1 segundo ( 100 x 1 / 100 de segundo ). La gama válida es de 0-65535, lo que da periodos de tiempo desde 0,01 s hasta 655, 35 s ( aprox. 10 minutos ) 5.3.2 Activación de un temporizador La activación de un temporizador sólo requiere la ejecución de la instrucción SET, especificando qué temporizador debe activarse IF THEN SET I 2.0 T6 Cualquier condición de marcha activar Timer 6 ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 52
  • 200.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Siempre que se ejecute la orden SET Tn, sucede lo siguiente : 1.2.3.4.- El valor contenido en TPn ( Preselector de Temporizador ) es copiado al TWn ( Palabra de Temporizador n ) Tn ( El estado del Temporizador n ) se pone en "1" ( activo / funcionando ) El control decrementa automáticamente el valor almacenado en TWn a intervalos regulares Cuando el valor almacenado en TWn alcanza 0 ( cero ), el Tn ( estado del temporizador ) se pone en "0" ( inactivo / detenido ) Nota : Si se ejecuta la instrucción SET Tn, y el Temporizador especificado YA está activo, el temporizador se REINICIALIZARÁ y empezará de NUEVO a contar el periodo de tiempo especificado en TPn 5.3.3 Interrogación del estado de un temporizador Para que los temporizadores sean útiles en control de procesos, es necesario saber cuándo ha vencido un tiempo programado. El lenguaje AWL proporciona los medios para interrogar si un temporizador está activo, de la misma forma que se interroga si una entrada está activa IF T5 IF N Ver si Timer 5 está activo ( funciona ) T3 Ver si Timer 3 está inactivo ( parado ) 5.3.4 Paro de un temporizador Para detener un Temporizador, sólo se requiere ejecutar la orden RESET y especificar qué temporizador debe detenerse IF THEN I 2.0 RESET Entrada para parar el timer T5 Detener Timer 5 Cuando se ejecuta la instrucción RESET Tn el bit de estado del temporizador ( Tn ) se pone en "0" ( inactivo ). Si el temporizador ya se hallaba inactivo, no se produce ningún efecto ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 53
  • 201.
    Sistemas de controlsecuencial ____________________________________________________________________________________ La siguiente figura ilustra la relación entre el bit de estado del temporizador ( Tn ), la instrucción SET Tn y RESET Tn, y el periodo de temporización normal tiempo programado Timer activo = 1 Timer inactivo = 0 SET Tn RESET Tn La línea gruesa representa una secuencia normal de temporización en la cual el estado del temporizador se vuelve activo cuando se ejecuta una orden SET Tn y el bit de estado vuelve a inactivo cuando se ha cumplido el periodo de tiempo programado La línea fina indica que ejecutando una instrucción RESET Tn, inmediatamente se situará al temporizador en estado inactivo Atención : Cuando se desarrollan programas o pasos que contengan varias frases que serán procesadas de forma paralela ( exploración / scanning continua ), es importante comprender que cada vez que la parte condicional de una frase es evaluada como cierta, las instrucciones programadas en la parte ejecutiva se realizarán. Esto debe ser considerado para evitar las múltiples ejecuciones de muchas instrucciones como SET TIMER o INC / DEC CW, SHL, etc. El lenguaje AWL no utiliza el " accionamiento por flancos "...Las condiciones son evaluadas cada vez que se procesan, sin tener en cuenta su estado anterior. Esta situación se resuelve fácilmente utilizando STEPs, Flags u otra forma de control. Los ejemplos siguientes muestran dos posibles formas en las que este aspecto es controlado ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 54
  • 202.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 5.4 Ejemplos 5.4.1 Retardo de la conexión Con el flanco positivo de la señal de entrada se activa el temporizador; la salida es activada con un retardo de 0,7 segundos. El flanco negativo de la señal de entrada cancela la salida inmediatamente. Si la señal de entrada es emitida durante un tiempo menor a 0, 7 segundos, la salida no llega a activarse. 1 I 7.0 0 1 O 7.5 0 t STEP 20 IF THEN STEP 21 IF THEN IF THEN STEP 22 IF THEN I 7.0 V7 TP 0 TSC T0 LOAD TO WHIT SET N t Retardo de arranque Al accionar entrada 7.0 Cargar valor fijo 0,1 seg. Activar temporizador AND SET RESET JMP TO Si entrada 7.0 no está activa regresar al inicio ¿ Tiempo transcurrido ? y entrada activa Activar salida 7.5 N JMP TO I 7.0 20 N T0 I 7.0 O 7.5 Si entrada 7.0 no está activa Desactivar la salida y volver al inicio I 7.0 O 7.5 20 ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 55
  • 203.
    Sistemas de controlsecuencial ____________________________________________________________________________________ A continuación se indica otro modo de programar un retardo a la conexión. En este caso, mediante un pulsador, se enciende una luz dos segundos después. Según el planteamiento del problema, la lámpara solo se enciende mientras que se mantiene activado el pulsador. Ello significa que si, por ejemplo, se deja de presionar el pulsador transcurridos 1,5 segundos, la lámpara no se enciende El Programa AWL está compuesto de dos pasos. En el paso 1 se carga el temporizador ( carga de la constante 2 en el preselector del temporizador TP0 ) y simultáneamente se inicia el transcurso del tiempo ( activación del temporizador 0 ). En el paso 2 se produce la consulta del tiempo. Si han transcurrido 2 segundos y sigue recibiéndose la señal 1, se activa la salida. La señal 0 en la entrada cancela la salida Si este programa AWL es redactado como programa de enlaces lógicos, deberá recurrirse a recordadores STEP S1 IF THEN LOAD TO WHIT SET STEP S2 IF THEN IF THEN AND SET RESET JMP TO I 1.0 V2 TP 0 SEC T0 N T0 I 1.0 O 1.0 N I 1.0 O 1.0 S1 Cargar temporizador Activar temporizador Consultar temporizador ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 56
  • 204.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 5.4.2 Retardo de la desconexión Con el flanco positivo de la señal de entrada se activa la salida, y ésta es desactivada con el flanco negativo, aunque sólo después de transcurridos 0,5 segundos. Ello significa que el flanco negativo activa el temporizador, mientras que éste cancela la salida una vez transcurrido el tiempo. 1 I 0 1 0 t STEP 10 IF THEN STEP 11 IF THEN STEP 12 IF THEN t I 7.0 O 7.5 Retardo de desconexión Al accionar entrada 7.0 Activar salida 7.5 N I 7.0 V5 TP 0 TSC T0 Si entrada 7.0 no está activa Cargar valor fijo En preselector de temporizador TP0 0, 1 segundo Activar temporizador 0 N T0 O 7.5 10 Tiempo transcurrido Desactivar salida 7.5 volver al paso 10 SET LOAD TO WHIT SET RESET JMP TO ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 57
  • 205.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 5.4.3 Impulso de temporización El flanco positivo de la señal de entrada activa la salida. Al mismo tiempo empieza a funcionar el temporizador. Una vez transcurrido el tiempo ( 2 minutos ), se desactiva la salida Sin embargo, si en la entrada se vuelve a recibir la señal "0" antes de que haya transcurrido el tiempo, también se cancela la salida ( condición OR en el último paso 1 I 7.0 0 1 O 7.5 0 t STEP 30 IF THEN LOAD TO WHIT SET SET STEP 31 IF THEN OR RESET JMP TO I 7.0 V2 TP 0 MIN T0 O 7.5 N T0 N I 7.0 O 7.5 30 t Impulso temporal de arranque Al accionar entrada 7.0 Cargar valor fijo 1 minuto Activar temporizador Activar salida 7.5 ¿ Tiempo transcurrido ? o entrada no activa desactivar salida y volver al inicio ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 58
  • 206.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 5.4.4 Impulso de desconexión La salida es activada con el flanco negativo de la señal de entrada. Al mismo tiempo se pone en funcionamiento el temporizador. Una vez transcurrido el tiempo ( 14 seg.), se desactiva la salida En consecuencia, el flanco positivo de la señal de entrada no provoca acción alguna. Por esta razón, el programa incluye a continuación una instrucción de salto 1 I 7.0 0 1 O 7.5 0 t STEP 24 IF THEN STEP 25 IF THEN STEP 26 IF THEN t I 7.0 25 Impulso temporal de desconexión Al accionar entrada 7.0 continua en el siguiente paso N I 7.0 V 14 TP 0 SEC T0 O 7.5 Si entrada 7.0 no está activa Cargar valor fijo En preselector de temporizador TP0 1 segundo Activar temporizador 0 Activar salida 7.5 N T0 O 7.5 24 Tiempo transcurrido Desactivar salida 7.5 volver al paso 24 JMP TO LOAD TO WHIT SET SET RESET JMP TO ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 59
  • 207.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 5.4.5 Impulso secuencial Activación de un proceso intermitente mediante el flanco positivo de la señal de entrada. La salida es activada, y mantiene ese estado durante 0,2 seg. ( tiempo t activado ). A continuación es cancelada la salida, y ese estado se mantiene durante 0,1 seg. ( tiempo t desactivado ). En estos programas el temporizador es cargado dos veces ( con constantes diferentes ). Esta operación se repite constantemente en el programa a raíz de la instrucción de salto. La operación intermitente es interrumpida por el flanco negativo de la señal de entrada. 1 I 7.0 0 1 O 7.5 0 t on t on t off STEP 40 IF THEN LOAD TO WHIT SET SET STEP 41 IF THEN Impulso de paso Al accionar entrada 7.0 Cargar valor fijo 0,01 seg. Activar temporizador Activar salida 7.5 OR RESET LOAD TO WHIT SET N T0 N I 7.0 O 7.5 V 10 TP 0 HSC T0 ¿ Tiempo transcurrido ? o entrada no activa desactivar salida Cargar valor fijo AND JMP TO N T0 I 7.0 40 ¿ Tiempo transcurrido ? y entrada activa ir al paso 40 STEP 42 IF THEN I 7.0 V 20 TP 0 HSC T0 O 7.5 t off 0,01 seg. Activar temporizador ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 60
  • 208.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 5.4.6 Luz intermitente Procedimiento Tiempos de conexión y desconexión de la luz intermitente : * * 0, 5 seg. Tiempo de DESCONEXIÓN 0, 5 seg. Tiempo de CONEXIÓN Esquema eléctrico 0V + 24 V H1 + 24 V 0V O 1.0 Solamente deberá conectarse la lámpara. En este programa no se toma en cuenta la activación y la desactivación del proceso intermitente con, por ejemplo, un pulsador. La lámpara se enciende intermitentemente después de conectar el mando Denominación Lámpara Temporizador Listado de direcciones Abreviatura Dirección Función H1 O 1.0 Lámpara encendida con señal 1 T0 Programa La lista de instrucciones está compuesta de 3 pasos : Paso 1 : Paso 2 : Paso 3 : Cargar temporizador Consultar tiempo / iniciar tiempo y encender lámpara Consultar tiempo / iniciar tiempo y apagar lámpara ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 61
  • 209.
    Sistemas de controlsecuencial ____________________________________________________________________________________ STEP THEN CARGAR LOAD TO WHIT STEP IF THEN Lampact STEP IF THEN Lampdesact SET SET RESET SET JMP TO V5 TP 0 TSC Cargar Temporizador 5 x 0, 1 seg. , cargar en preselección de temporizador 0 N T0 O 1.0 T0 Activar lámpara tiempo transcurrido o no activado Activar lámpara Activar tiempo N T0 O 1.0 T0 Lampact Desactivar lámpara Tiempo transcurrido desactivar lámpara activar tiempo Salto de retorno Dado que los tiempos para la CONEXIÓN y la DESCONEXIÓN son iguales, sólo es necesario tener una constante y efectuar un proceso de carga para el temporizador. En el paso 1 se efectúa la carga del temporizador, el cual entonces puede ser consultado para encender y apagar la lámpara. El paso 1 no contiene una parte condicional IF porque la lámpara siempre tiene luz intermitente ( si está activado el mando ) En los pasos 2 y 3 vuelve a activarse respectivamente el tiempo. La orden de salto procura que el proceso de conexión y desconexión se repita constantemente, es decir, que la lámpara tenga luz intermitente. La lista de instrucciones también puede escribirse como programa de enlaces lógicos. En ese caso deberán utilizarse los recordadores de flancos. ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 62
  • 210.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 5.4.7 Eliminación de rearranques no deseados utilizando la estructura step de awl El siguiente ejemplo muestra una parte del programa en la que se desea poner en marcha un motor durante 3 segundos cada vez que se accione un pulsador, si el motor no está funcionando, y por lo menos después de transcurridos 9 segundos desde que el motor estuvo funcionando por última vez. En este programa, la situación de que los temporizadores sean continuamente rearrancados, es eliminada combinando la instrucción STEP de AWL con la instrucción N Timer STEP 1 IF THEN Inicializar al arranque 900 x 0,01 seg. T0 es el tempor. de la segunda pausa 300 x 0,01 seg. T2 es el tiempo motor activar tiempo de pausa N N N T0 T2 O 1.0 I 1.2 T2 O 1.0 Tiempo 0 vencido Tiempo 2 no corre Motor parado Pulsador accionado Activar tiempo 2 Activar motor N T2 O 1.0 T0 10 Tiempo motor vencido Parar el motor Activar tiempo pausa Volver a empezar LOAD TO LOAD TO SET STEP 10 IF AND AND AND SET SET THEN STEP 20 IF THEN 5.4.8 NOP V 900 TP 0 V 300 TP 2 T0 RESET SET JMP TO Eliminación de continuos rearranques de temporizadores en procesos paralelos Es importante que el programador de AWL comprenda que el bit de estado de un temporizador ( p.ej. T2 ) puede interrogarse utilizando las instrucciones : IF IF T2 N T2 Esto es cierto si el timer 2 está activo y temporizando Esto es cierto si el timer 2 no está actualmente activo Es vital comprender que ninguna de estas instrucciones permite saber si el temporizador 2 ha sido activado y ha terminado. Por ello, cuando se escriben programas en AWL de forma que puedan haber frases que procesen varios tiempos, deben tomarse precauciones para evitar resultados inesperados. ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 63
  • 211.
    Sistemas de controlsecuencial ____________________________________________________________________________________ El siguiente ejemplo presenta una parte de un programa en la que se acciona un pulsador para hacer avanzar un cilindro por un periodo de tiempo preseleccionado. La lógica utilizada en el programa evitará que se produzcan los problemas que de lo contrario sucederían : * Manteniendo el pulsador o pulsando y soltando varias veces, dentro del tiempo definido, no se alterará el tiempo programado STEP 1 THEN LOAD TO RESET LOAD TO STEP 2 IF THEN AND AND SET SET SET IF THEN IF THEN IF THEN 5.5 AND RESET AND AND RESET JMP TO V0 OW0 F 3.0 V 100 TP 0 I 1.0 N T0 N F 3.0 T0 O 1.0 F 3.0 N T0 O 1.0 O 1.0 N T0 F 3.0 N I 1.0 F 3.0 NOP 2 Primero sólo inicializamos los temporizadores Desconectar las salidas Borrar Flag 3.0 Inicializar T0 a 1 segundo Sección principal Pulsador 1 accionado y timer 0 parado Flag auxiliar de detección de flanco activar timer 0 avanzar cilindro memorizar flanco ascendente del pulsador Timer 0 está inactivo cilindro extendido retroceder cilindro Timer 0 inactivo y ha habido antes un flanco ascendente pulsador liberado.... flanco descendente para mantener la exploración del paso actual Programas de enlaces lógicos para la ejecución de funciones de temporizadores Cuando se efectúa la programación de funciones de temporizadores, es necesario distinguir entre la programación de la duración del tiempo y la programación de las secuencias ( del programa ). Recurriendo a programas de paso a paso, es fácil programar las secuencias: en el primer paso se carga el tiempo, en el segundo se efectúa la consulta, etc. Si por el contrario se programa un tiempo en un programa de enlaces lógicos, deberá ponerse cuidado en que las operaciones de carga y consulta del tiempo estén ligadas a a condiciones que no pueden cumplirse simultáneamente. ( En un programa de enlaces lógicos, todas las condiciones del proceso son leídas prácticamente de modo simultáneo ). En consecuencia, se recurre a recordadores de flancos. ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 64
  • 212.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 5.5.1 Ejemplo : retardo de conexión En el cuadro se hace una comparación entre un programa de pasos y uno de enlaces. El ejemplo se refiere a un retardo de conexión simple : Activación de un pulsador. 2 segundos más tarde se enciende una lámpara. En el programa de enlaces lógicos se incluye un recordador de flancos ( para flancos positivos ). El recordador F 0.0 " bloquea " el pulsador de activación una vez que se cargó el tiempo ( "Activa F 0.0 ") STEP S1 IF THEN LOAD TO WHIT SET STEP S2 IF THEN IF THEN AND SET RESET JMP TO I 1.0 V2 TP 0 SEC T0 N T0 I 1.0 O 1.0 N I 1.0 O 1.0 S1 Cargar Temporizador Consultar temporizador Programa secuencial : retardo de conexión IF THEN AND LOAD TO WHIT SET SET IF THEN IF THEN AND AND SET I 1.0 N F 0.0 V2 TP 0 SEC T0 F 0.0 N T0 I 1.0 F 0.0 O 1.0 N I 1.0 O 1.0 F 0.0 RESET RESET PSE OTHRW PSE Programa de enlaces lógicos : retardo de conexión ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 65
  • 213.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 5.5.2 Ejemplo relacionado a la función de temporizador Una lámpara deberá encenderse intermitentemente con : * 0, 5 seg. de tiempo de DESACTIVACIÓN * 0, 5 seg. de tiempo de ACTIVACIÓN El programa secuencial consta de 3 pasos: cargar el temporizador, encender la lámpara, apagar la lámpara. La intermitencia está a cargo de una instrucción de salto. STEP THEN STEP IF THEN STEP IF THEN Start LOAD TO WHIT act.lamp V5 TP 0 TSC N SET SET Desact.lamp T0 O 1.0 T0 N T0 RESET O 1.0 SET T0 JMP TO act.lamp Programa secuencial : intermitente Cargar Temporizador 5 x 0, 1 seg , cargar en preselección de temporizador 0 Activar lámpara tiempo transcurrido o no activado Activar lámpara Activar tiempo Desactivar lámpara Tiempo transcurrido desactivar lámpara activar tiempo Salto de retorno En el programa de enlaces lógicos se necesita el recordador F 0.0 para saber si ya se cargó el tiempo o no. De esta manera queda excluida la posibilidad de que se encienda o apague la lámpara mientras aún no se haya cargado el tiempo IF THEN N SET LOAD TO WHIT IF THEN IF AND AND SET SET F 0.0 F 0.0 V5 TP 0 TSC F 0.0 N O 1.0 N T0 O 1.0 T0 F 0.0 O 1.0 N T0 O 1.0 T0 AND AND THEN RESET SET PSE OTHRW PSE Programa de enlaces lógicos : intermitente Recordador de flanco para " c.tiempo " Activar recordador 5 x 0,1 seg., cargar en preselección de temporizador 0 Tiempo está cargado Salida desactivada Tiempo transcurrido o no activado Activar lámpara Activar tiempo Tiempo está cargado Salida activada Tiempo transcurrido o no activado Desactivar lámpara Activar tiempo ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 66
  • 214.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 6 CONTADORES 6.1 Generalidades Existen contadores de hardware y contadores de software. Los contadores de software son parte integrante de la unidad central y tienen estados, valores nominales y valores efectivos. Los contadores de software son cargados a través del programa. 6.1.1 Contadores de hardware Son submódulos que son conectados al PLC ( al igual que los actuadores y sensores ). Ejemplo : un contador electromagnético con preselección. El valor seleccionado es introducido manualmente ( cargar el contador ). El número preseleccionado puede verse en el visualizador. Asimismo, también se indica el valor efectivo en cada momento. Una vez que el valor efectivo es igual al valor previamente seleccionado, se activa un conjunto de contactos, los cuales se encargan de abrir o cerrar circuitos de corriente. La reposición del contador puede efectuarse eléctrica o manualmente ( con un pulsador respectivo ). Sin embargo se mantiene el valor que se haya seleccionado antes. No obstante, incluso durante el funcionamiento del contador es factible corregir el número preseleccionado. 6.1.2 Contadores rápidos En muchas operaciones de control es necesario recurrir a contadores rápidos. " Rápido " suele significar en este caso una frecuencia de conteo superior a 50 Hz, lo que equivale al registro de más de 50 operaciones por segundo. Tal función por lo general no se puede solucionar con contadores " normales " de un PLC. La frecuencia de la operación de conteo está limitada por el retardo de las señales en las entradas. Todas las señales de entrada ( incluyendo también la señal de conteo ) es retardada durante un tiempo determinado ( de 1 hasta 20 ms. ) antes de que pueda ser procesada por el PLC. De esta manera se evita que interfieran otras señales. Otra limitación estriba en el tiempo de los ciclos de control ( es decir, el tiempo que necesita el PLC para ejecutar el programa ) En el mercado suelen ofrecerse submódulos adicionales de contadores rápidos para los PLC. Las entradas de estos submódulos no tienen retardo de señales o, en todo caso, muy pequeño ( puesto que las interferencias se evitan mediante cables aislados ). Estos submódulos de contadores tienen que incorporarse y programarse adicionalmente ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 67
  • 215.
    Sistemas de controlsecuencial ____________________________________________________________________________________ El posicionamiento de piezas en una máquina es un ejemplo de un control con contadores rápidos. La medición de la operación de posicionamiento puede realizarse de modo directo o indirecto. En el primer caso, la escala de medición se encuentra montada en una cinta emisora de impulsos, mientras que en el segundo caso, la escala está en un disco de pulsos. La posición de las marcas de la escala es registrada ópticamente y transmitida mediante una señal eléctrica a la unidad de control. Para que el posicionamiento sea extremadamente preciso y rápido, tendrá que recurrirse a contadores rápidos. En este caso, el sistema de control cuenta la cantidad de marcas de la escala en cada movimiento. La programación de una función de interrupción es otra posibilidad que se tiene para solucionar este tipo de aplicaciones con un PLC. 6.1.3 Indicación del estado efectivo del contador Para representar un número de un dígito se necesitan 4 números binarios, es decir, 4 bits, puesto que debe ser posible indicar 10 cifras diferentes ( de 0 a 9 ). Con este fin se recurre al código BCD ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 68
  • 216.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Los 4 bits permiten la codificación de un total de 16 símbolos. En la codificación BCD se utilizan los primeros 10 símbolos para las cifras 0 hasta 9; los siguientes 5 símbolos ya no se necesitan entonces Código BCD 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 - 0 1 2 3 4 5 6 7 8 9       Estos números binarios no se necesitan Para representar las cifras se suelen utilizar visualizadores de 7 segmentos. La visualización del estado del contador se realiza mediante un programa adicional, ya que es necesario ocupar las salidas del PLC. Desde dichas salidas se emiten las señales correspondientes al visualizador Visualización del estado del contador 0 1 1 0 0 0 1 0 Cifras duales Cifras decimales ( visualizador de 7 segmentos ) ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 69
  • 217.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Ejemplo : La figura muestra un ejemplo, en el que la palabra del contador ( valor efectivo del contador ) está compuesto de 2 bytes (1). En consecuencia, quedan 16 bits para la representación de un número binario. Con 4 cifras del número binario puede representarse una cifra del sistema decimal si se emplea la codificación BCD. Ello significa que con 16 bits pueden representarse los números comprendidos entre 0000 y 9999. Si bien es posible crear números mayores binariamente, éstos no pueden ser representados en el sistema decimal. ( El valor efectivo puede abarcar diferentes cantidades de bit, dependiendo del PLC ) Primero, la palabra del contador es cargada en la memoria operativa de la unidad central (2). Allí se procede a la conversión dual-decimal (3). Después de este proceso, los 16 bits están compuestos de 4 unidades de 4 bits cada una ( A cada unidad le corresponde una cifra decimal ). Con las 8 últimas cifras de la palabra del contador es activada una palabra de salidas ( 8 salidas ). Con esta palabra de salida AW1 se indican los dos valores decimales más bajos (4). Visualización del valor efectivo ( ejemplo 0 0 0 1 0 1 0 0 1 1 1 1 1 1 1 0 Valor efectivo del contador 0 0 1 0 1 0 0 1 1 1 1 1 1 1 0 Memoria ( 2 ) (1) Conversión dual decimal ( 4 cifras ) 0 1 0 1 0 0 1 1 0 1 1 1 0 1 0 0 0 1 1 1 0 1 0 0 Memoria ( 3 ) AW 1 Visualizador ( 4 ) Memoria 0 1 0 1 0 0 1 1 0 1 0 1 0 0 1 1 AW 2 Visualizador ( 5 ) ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 70
  • 218.
    Sistemas de controlsecuencial ____________________________________________________________________________________ A continuación, las 8 cifras de la palabra del contador son desplazadas hacia la derecha y transformadas en la palabra de salida AW2. Con esta palabra de salida se indican los dos valores decimales más altos ( 5 ). Palabra de salida / Visualización 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 6.1.4 Método multiplexor Con el fin de " ahorrar " salidas al efectuar la indicación del estado del contador, puede aplicarse otro método : se trata, concretamente, del método multiplexor. Ejemplo : para visualizar un número de cuatro cifras se necesitan sólo 8 salidas ( es decir, solamente una palabra de salida ). El método normal consumiría 16 salidas. De las 8 salidas, 4 son utilizadas para la representación de las cifras y 4 para la activación del dígito correspondiente. Ello significa lo siguiente : con las 4 últimas salidas se forma primero la última cifra ( con el código BCD ). Con la cuarta salida se activa el último dígito donde se visualiza dicha cifra. A continuación, nuevamente se recurre a las 4 últimas salidas para formar la penúltima cifra. Con la tercera salida se activa el tercer dígito del visualizador; etc. ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 71
  • 219.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Método multiplexor ( ejemplo ) 1º dígito 2º dígito 3º dígito Valor de cifras con el código dígito 1 0 0 0 0 0 1 Palabra de salida 1 Visualizador De esta manera, el valor correspondiente a la última cifra ya está cancelado en la palabra de salida cuando aparece la penúltima cifra. Este resultado se obtiene mediante el efecto de iluminación retenida o con una conexión de sample-and-hold. Aplicando este método, las cifras aparecen en el visualizador una después de la otra. Sin embargo, ello sucede en fracciones de segundo. Para la vista humana, es como si las cifras apareciesen simultáneamente. Ello significa que la transmisión multiplex de datos es la transformación de una transmisión paralela en una transmisión en serie. La ventaja del método multiplexor consiste en que se necesitan menos salidas y líneas. Su desventaja es que se necesita una conexión especial. 6.1.5 Programa para visualizar el estado del contador En este ejemplo se muestra la palabra del contador cuando éste ha finalizado el conteo, es decir, cuando el contador ha contado hasta llegar a un valor determinado. El contenido de la palabra del contador igual a "0" es memorizado por la memoria operativa del PLC. A continuación se produce la transformación de código decimal. Acto seguido, el valor efectivo es transmitido como palabra de salida 5 ( hacia el visualizador ) ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 72
  • 220.
    Sistemas de controlsecuencial ____________________________________________________________________________________ IF THEN SET LOAD BID TO N C0 O 1.3 CW 0 OW 5 Este programa permite la visualización de valores numéricos entre 00 y 99. ( Para 1 dígito se necesitan 4 salidas ) La programación de este tipo de visualización de números varía según el PLC. El programa respectivo pude ser parte del programa secuencial 6.2 Funciones de los contadores Los contadores son utilizados para contar unidades o procesos. En la práctica es frecuente que los controles trabajen con contadores. si por ejemplo, se desea que un equipo clasificador coloque siempre 10 piezas iguales sobre una cinta transportadora, se necesita un contador En la mayoría de los PLC, los contadores son unidades electrónicas contenidas en la unidad central. Las tareas de conteo sencillo, así como también la programación de una temporización, pueden solucionarse actualmente con cualquier PLC Los contadores se rigen por las siguientes magnitudes : * * * Valor efectivo Valor nominal Estado El valor efectivo indica el estado momentáneo del contador. El valor nominal corresponde al número hasta el cual deberá contar el contador. El valor efectivo y el valor nominal pueden ser cargados en la memoria y se puede recurrir a ellos El estado del contador se constata sin importar si el contador ha alcanzado un número previamente definido o no. Si el contador está en funcionamiento su estado es "1" ( lo que significa que está puesta la señal 1 ). Si el contador ya no está activado, entonces su estado es "0" ( es decir que está puesta la señal 0 ). No obstante, también puede convenirse que el estado 0 y 1 estén invertidos. El estado también puede contener informaciones adicionales; por ejemplo puede indicar si ha sido rebasado el valor nominal o si se ha rebasado el valor máximo permisible. El siguiente ejemplo contiene los siguientes parámetros : Estado 1: Contador en funcionamiento Estado 0 : Contador detenido ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 73
  • 221.
    Sistemas de controlsecuencial ____________________________________________________________________________________ El valor inicial es un número entero y positivo. Este número equivale al valor efectivo del contador. Dicho valor cambia en función de cada una de las operaciones que se produzcan y que deberán ser contadas. Concretamente, se deducirá una unidad en cada operación ( contador de cuenta atrás ). El contador se detiene cuando alcanza el valor nominal 0. En este caso no es necesario definir un valor nominal. Funcionamiento de un contador ( 1º ejemplo ) Contador Cargar impulso de conteo Valor efectivo +1 Valor efectivo -1 Arranque Parada Cargar constante 3 comando : DEC ( cuenta Estado 0 si valor nominal = 0 3 1ª Operación Valor efectivo del contador 2 Funcionamiento del contador 2ª Operación Valor efectivo 1 3ª Operación Valor efectivo 0 Contador detenido Análogamente puede también obtenerse un contador incremental. En este caso el valor inicial es un número entero y positivo. En cada operación se agrega una unidad al valor efectivo. Si el valor nominal es n, entonces el contador cuenta desde el valor efectivo 0 hasta el valor nominal n. Ello significa que el contador se detiene cuando el valor efectivo = valor nominal Funcionamiento de un contador ( 2º ejemplo ) Contador Cargar Cargar constante en valor nominal 3 comando : INC ( cuenta hacia adelante ) Valor efectivo impulso de conteo +1 Valor efectivo -1 Arranque Parada Estado 0 si valor efec = nom 0 1ª Operación Valor efectivo Activación del contador 1 Funciona miento del contador 2ª Operación Valor efectivo 2 3ª Operación Valor efectivo efectivo = nominal 3 Contador detenido ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 74
  • 222.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Después de cada operación de conteo ( es decir cada vez que el contador agrega una unidad al valor efectivo ) se efectúa una comparación entre el valor nominal y el efectivo. En la figura se muestra un ejemplo sencillo de este funcionamiento. También en este caso se aplica lo siguiente : Estado 1: Estado 0 : Contador en funcionamiento Contador detenido 6.2.1 Aplicación ¿ Cómo se aplican las funciones del contador en un PLC ?. Veamos un ejemplo. Para definir los elementos del contador se utilizan las siguientes instrucciones ( FPC 404 ) Estado C0...C15 C = Counter ( Contador ) Valor efectivo CW0...CW15 CW = Counter Word ( Palabra del contador ) Valor nominal CP0..CP15 CP = Counter Preselect (Preselector del contador) El contador, la palabra y el preselector del contador que van juntos tienen la misma dirección. El contador 6, por ejemplo, tiene los elementos C6, CW6 y CP6 La palabra del contador es el número que corresponde al valor vigente en ese momento ( valor efectivo ). En cada operación cambia el valor efectivo agregando o restando una unidad, según si el conteo es hacia atrás o hacia adelante. Con el preselector del contador se define un valor nominal para la palabra del contador De este modo se dispone básicamente de dos posibilidades para, por ejemplo, efectuar el conteo de 24 operaciones El contador cuenta de 24 hasta 0 : Como constante se carga 24 en la palabra del contador. Con DEC ( "Decrement = conteo hacia atrás " ) se activa la función. Cuando la palabra del contador llega a 0, se detiene el contador. El contador cuenta de 0 hasta 24 : Se tiene que cargar la constante 24 en el preselector del contador. La palabra del contador está puesta en 0. Con INC ( " Increment = conteo hacia adelante " ) se produce el conteo hasta 24. ( La constante deberá expresarse mediante un número positivo del sistema decimal ) ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 75
  • 223.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Programación en AWL IF THEN I 1.2 LOAD V7 TO CW 1 Cargar constante en la palabra del contador 1 IF THEN LOAD TO Ajustar el preselector del contador 8 I 1.6 V 24 CP 8 IF I 1.1 THEN INC CW 0 Contar hacia adelante en la palabra del contador 0 IF I 1.1 THEN DEC CW 5 Contar hacia atrás en la palabra del contador 5 IF THEN SET IF THEN RESET Consultar contador 0 ( estado ) N IF THEN SET Consultar contador 4 ( comparación ) IF THEN SET Consultar contador 1 ( comparación ) C0 O 1.2 C0 O 1.2 Contador en función Contador detenido ( CW 4 > V 150 ) O 1.0 ( CW 1 > CP 1 ) O 1.1 Mediante la consulta del contador ( estado ) es posible comprobar en el programa si el contador aún está activado ( señal 1 ) o si se ha detenido o si aún no se ha puesto en funcionamiento ( señal 0 ). La consulta del contador también puede efectuarse comparando la palabra del contador con una constante. La palabra y el preselector del contador son unidades que ocupan 16 bits respectivamente. El contador ( estado ) es una unidad que ocupa un bit. ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 76
  • 224.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 6.2.2 Programación de una función de contador En el ejemplo se muestra el programa de una función de contador simple : la salida O 1.0 es activada 5 veces. Cargar el contador : El contador es cargado mediante la señal de entrada proveniente de I 1.3. La palabra del contador CW1 es puesta en el valor efectivo 5. Si se trata de un contador de cuenta atrás, el valor nominal es puesto automaticamente en 1 ( por lo que no es necesario activar el preselector del contador CP ). Contar : Las " operaciones " que son contadas equivalen a las señales "1" de la entrada I 1.2. Del valor efectivo de la palabra del contador se resta 1 ( DEC : cuenta hacia atrás ). Al mismo tiempo se activa la salida O 1.0 Consulta : A continuación se procede a la consulta del contador. Si el contador aún está activado, se repite la operación. En total, la salida es activada y desactivada cinco veces : salto hacia paso CONTAR. Si el contador se para, se produce un salto hacia el paso CARGAR. Cuando se efectúa la programación de las funciones de un contador, siempre deberán acatarse los siguientes tres pasos : Cargar el contador - Contar - Consultar STEP IF THEN STEP IF THEN STEP CON IF THEN CARGAR LOAD TO CONTAR SET DEC SULTAR AND RESET JMP TO IF THEN AND RESET JMP TO I 1.3 V5 CW 1 I 1.2 O 1.0 CW 1 C1 N I 1.2 O 1.0 CONTAR N C1 N I 1.2 O 1.0 CARGAR Se sobreentiende que entre estos pasos es posible activar otras salidas adicionales en otros pasos del programa. Las operaciones de conteo y consulta son repetidas hasta que el contador se para. ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 77
  • 225.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 6.3 Utilización de contadores 6.3.1 Contadores estándar Cada contador tal y como ha sido implementado en el lenguaje AWL, puede programarse de dos formas diferentes. Primero se describirá el método estándar ( generalmente citado como contador INCremental ) Elemento / Operando Ref. Counter Bit de estado Cn Counter Preselect CPn Counter Word CWn Función Permite a un programa interrogar si un Contador está activo ( no ha alcanzado aún su valor ). Este bit es cambiado a activo cuando se activa el contador ( SET ). Cuando se ha alcanzado el número de eventos preseleccionados o si el Contador se ha detenido ( RESET ) el bit de estado pasa a inactivo Preselector del Contador. Un operando de 16 bits que contiene el valor a contar Palabra del Contador. Un operando de 16 bits que contiene el valor actual de conteo modificado por las instrucciones INCrementar o DECrementar. Si se ejecuta la instrucción SET Cn la Counter Word es automáticamente puesta a 0 ( cero ) Nota : Todos los modelos de FPC incorporan baterías que mantienen el contenido de los Preselectores de Contador, Palabras ( Words ) y bit de estado, durante los periodos de desconexión 6.3.2 Utilización de Contadores estándar Un Contador ( Counter ) estándar es adecuado para contar eventos definidos y realizar una determinada acción cuando se ha alcanzado una cantidad preseleccionada. Los contadores estándar funcionan de la siguiente forma : El valor a contar es almacenado en el Preselector del Contador ( CPn ) El contador es activado ( SET Cn ), lo que produce : Poner un valor "0" en la Palabra de Contador ( CWn = 0 ) Cambiar el bit de estado del Contador a activo ( Cn = 1 ) El valor actual de conteo puede ser INCrementado o DECrementado Cuando el valor actual ( CWn ) = valor preseleccionado ( CPn ), el bit de estado del contador ( Cn ) cambia a inactivo ( Cn = 0 ) ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 78
  • 226.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 6.3.3 Inicialización de un Preselector de Contador Antes de utilizar un contador estándar, el correspondiente Preselector de Contador debe ser inicializado con un valor correspondiente al número de eventos a contar Esta inicialización sólo es preciso hacerla de nuevo si el valor de conteo para otras actividades debe cambiarse. No es necesario recargar el Preselector del Contador cada vez que se active el Contador. Los Preselectores de Contador pueden cargarse con valores absolutos, o con el contenido de cualquier MBO ( p.ej. Registros, Input Word, Flag Word, etc. ) Ejemplo: Inicialización de un Preselector de Contador con un valor absoluto IF THEN LOAD I 1.0 V 100 TO CP 4 En las condiciones deseadas de carga cargamos el valor absoluto 100 como número de eventos a contar al preselector del contador CP 4 Ejemplo : Inicialización de un Preselector de Contador con un MBO IF THEN LOAD I 1.0 IW 1 TO CP 5 En las condiciones deseadas de carga cargamos el valor de la Palabra de Entradas 1 en el Preselector de Contador 5 Por medio de la instrucción DEB podemos utilizar conmutadores rotativos externos BCD para fijar el valor de conteo 6.3.4 Activación de un Contador La activación de un contador solamente requiere la ejecución de la instrucción SET, especificando qué contador debe arrancarse IF THEN SET I 1.2 C2 Condiciones deseadas activar Contador 2 Siempre que se ejecute la orden SET Cn, sucede lo siguiente : 1.2.- La correspondiente Palabra de Contador ( CWn ) es cargada con el valor "0" Cn ( El estado del Contador n ) se pone en "1" ( activo ) Nota : Si se ejecuta una instrucción SET Cn, y el Contador indicado YA está activo, el Contador será REARRANCADO y el valor actual de conteo ( en CWn ) será puesto de nuevo a "0" ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 79
  • 227.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 6.3.5 Interrogación del estado de un Contador Para poder utilizar los contadores de forma comprensible es necesario determinar cuándo se ha alcanzado el valor de preselección 6.3.6 Conteo de eventos Una vez que se ha activado el contador ( SET ), el valor actual es mantenido en la respectiva Palabra de Contador ( Counter Word ), que es actualizada utilizando las instrucciones INC CWn o DEC CWn 6.3.7 Parada de un Contador Un contador puede ser detenido ( desactivado ) en cualquier momento ejecutando la instrucción RESET Cn. Cuando esto sucede, el bit de estado del Contador ( Cn ) se pone a "0". El contenido de la Palabra de Contador ( CWn ) permanece inalterable Atención : Cuando se desarrollan programas o pasos que contengan varias frases que serán procesadas de forma paralela ( exploración / scanning continua ), es importante comprender que cada vez que la parte condicional de una frase es evaluada como cierta, las instrucciones programadas en la parte ejecutiva se realizarán. Esto debe ser considerado para evitar las múltiples ejecuciones de muchas instrucciones como SET TIMER o INC / DEC CW, SHL, etc. El lenguaje AWL no utiliza el " accionamiento por flancos "...Las condiciones son evaluadas cada vez que se procesan, sin tener en cuenta su estado anterior. ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 80
  • 228.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 6.4 Ejemplos 6.4.1 Contadores estándar El primer ejemplo presentado utiliza un contador estándar junto con la instrucción STEP del lenguaje AWL para evitar los incontrolados INCrementos múltiples que se realizarían en los pasos 10 y 15 Se utiliza un pulsador para iniciar el ciclo de una máquina. El ciclo activará un transportador y contará las botellas que pasan frente a un sensor. Una vez que hayan pasado 25 botellas por delante del sensor, el transportador se detiene y un dispositivo posiciona corchos de cierre en cada botella. Finalmente, todos los corchos son presionados dos veces en las botellas por un tiempo de 1 segundo cada vez. STEP 1 THEN STEP 5 IF THEN STEP 10 IF THEN STEP 15 IF THEN OTHRW RESET RESET RESET RESET LOAD TO LOAD TO LOAD TO ESPERA PULSADOR MARCHA Pulsador de marcha Activar contador Arranca transporte I 1.1 CW 0 INC CONTEO DE BOTELLAS Sensor de botella activo incrementa contador N C0 O 1.0 C2 50 N I 1.1 RESET SET JMP TO NOP JMP TO ARRANQUE Contador de botellas Contador de prensados Desactivar transporte Desactivar prensa corchos Conteos que debe hacer el contador 0 Número de prensadas que debe hacer el contador 2 Temporizador 0 al valor de 100 x 0,1 seg. I 1.0 C0 O 1.0 SET SET STEP 20 IF THEN C0 C1 O 1.0 O 1.1 V 25 CP 0 V2 CP 2 V 100 TP 0 10 ¿ HAY 25 BOTELLAS ? Hemos terminado, luego... para transporte activa contador de prensa salir del bucle de conteo sino seguir en paso 20 Esperar que la última botella salga del sensor y seguir contando ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 81
  • 229.
    Sistemas de controlsecuencial ____________________________________________________________________________________ STEP 50 THEN STEP 60 IF THEN STEP 70 IF THEN OTHRW SET SET INC O 1.0 T2 CW 2 CONTADOR 25 BOTELLAS Prensar tapones Tiempo de prensado contar este prensado N T2 O 1.1 ESPERAR 1 SEGUNDO Tiempo vencido desactivar prensado N C2 5 50 ¿ TERMINADO ? 2 veces prensado volver al paso 5 sino, prensar de nuevo RESET JMP TO JMP TO El siguiente ejemplo detalla la utilización de un contador estándar en una sección de programa de exploración / scanning, en la que no se ha utilizado la estructura de STEPs para eludir los incontrolados INCrementos del contador. Como solución alternativa se ha utilizado un Flag auxiliar El programa espera la acción sobre un pulsador y entonces mueve 100 veces un cilindro desde completamente atrás hasta completamente delante. Sin la utilización del Flag, un programa de exploración ( scanning ) INCrementaría el contador a cada ciclo de scan del programa, en lugar de hacerlo cada vez que el cilindro avanzara nuevamente. STEP 1 IF THEN LOAD TO RESET LOAD TO SET STEP 2 IF THEN AND AND AND SET SET IF THEN IF THEN AND INC RESET RESET JMP TO I 1.0 V0 OW 1 F 3.0 V 100 CP 0 C0 I 1.1 C0 N F 3.0 N O 1.0 O 1.0 F 3.0 I 1.2 F 3.0 CW 0 F 3.0 O 1.0 N C0 1 Inicializar solo la 1ª vez Pulsador accionado Desactivar todas las salidas Desactivar Flag auxiliar Inicializar contador 0 Activar contador 0 Sección principal de exploración Cilindro detrás Contador activo Detección del flanco válvula cilindro inactiva Avanzar cilindro listo para otro avance Cilindro delante nuevo flanco contar el ciclo actualizar control flanco retroceder cilindro realizados 100 ciclos empezar todo de nuevo ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 82
  • 230.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 6.4.2 Contadores ASCENDENTES / DESCENDENTES Además de la utilización de los contadores descritos anteriormente ( Estándar ), el lenguaje AWL también permite al usuario la libre creación de contadores a través de los operandos multibit Los llamados contadores Ascendentes / Descendentes pueden realizarse utilizando cualquier Operando Multibit ( Flag Words, Registros, etc. ). A diferencia de los contadores estándar no es necesario inicializar el preselector, ni existe un determinado bit de estado. Naturalmente, las instrucciones SET / RESET no son aplicables en este contexto. Se requieren los siguientes pasos para utilizar este tipo de conteo : * * * Inicializar el correspondiente MBO a un valor El MBO puede ser INCrementado o DECrementado El MBO puede ser comparado con un valor o con otro MBO Ejemplo : Utilización de un Registro como contador En el siguiente ejemplo se inicia un proceso y funciona hasta que se han producido 100 piezas buenas STEP 10 IF THEN I 1.0 V 100 R 50 O 1.0 LOAD TO SET STEP 20 IF THEN IF THEN ( I 1.1 I 2.3 ) R 50 30 AND DEC JMP TO AND NOP ( I 1.1 N I 2.3 ) STEP 30 IF THEN OTHRW CONTROL DE CALIDAD Listo para comprobar calidad correcta 1 pieza buena de menos seguir en el paso 30 Listo para comprobar Calidad NO correcta ( sensor inactivo ) no contar piezas malas VER SI YA TENEMOS 100 PIEZAS ( R 50 =V0) O 1.1 10 RESET JMP TO NOP STEP 40 IF THEN ESPERAR ARRANQUE Pulsador de marcha Piezas buenas a producir El R50 hace las funciones de contador Arranca la máquina N JMP TO I 1.1 20 Todas las piezas hechas Parar la máquina regresar al principio o si no ha terminado seguir ESPERAR SALIDA ULTIMA PIEZA Sensor de zona de control de calidad liberado seguir funcionando y verificando ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 83
  • 231.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 6.5 Programas de enlaces lógicos para la ejecución de funciones de contadores y temporizadores Cuando se efectúa la programación de funciones de temporizadores o de contadores, es necesario distinguir entre la programación de la duración del tiempo y la programación de las secuencias ( del programa ). Recurriendo a programas de paso a paso, es fácil programar las secuencias: en el primer paso se carga el tiempo, en el segundo se efectúa la consulta, etc. Si por el contrario se programa un tiempo en un programa de enlaces lógicos, deberá ponerse cuidado en que las operaciones de carga y consulta del tiempo estén ligadas a condiciones que no pueden cumplirse simultáneamente. ( En un programa de enlaces lógicos, todas las condiciones del proceso son leídas prácticamente de modo simultáneo ). En consecuencia, se recurre a recordadores de flancos. 6.5.1 Ejemplo relacionado a la función de contador Un cilindro es desplazado por acción de una electroválvula Y1 de reposición por muelle. La posición del cilindro es consultada por los interruptores de final de carrera S1 ( posición normal ) y S2 ( posición de avance ). S3 es el pulsador de activación. Al pulsar S3, el cilindro deberá avanzar 10 veces hasta el final de carrera. Una vez concluidos estos movimientos, deberá activarse nuevamente con S3. El programa secuencial consta de 4 pasos. de esta manera se obtiene un desglose claro de la ejecución del programa. El último paso es una instrucción de salto, ya sea al paso 1 o al paso 2 STEP IF THEN STEP IF THEN STEP IF THEN Start LOAD TO I 1.2 V 10 CW 0 Cargar contador S3 : Pulsador Start Cargar valor efectivo del contador con 10 I 1.0 O 1.0 CW 0 Avanzar cilindro / reducir C0 en 1 S1 : F.d.c. atrás Y1 : avanzar cilindro Contador -1 I 1.1 O 1.0 Retroceder cilindro S2 : F.d.c. avanzado Y1 : retroceder cilindro cil.desact. SET DEC cil.act. RESET STEP salto IF C0 THEN JMP TO cil.desact. IF N C0 THEN JMP TO Start Programa secuencial : contador Interrogación posición del contador Valor efectivo mayor que 0 continuar con cadencia siguiente Valor efectivo es 0 continuar con Start ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 84
  • 232.
    Sistemas de controlsecuencial ____________________________________________________________________________________ El programa de enlaces lógicos necesario para solucionar este problema de control es más complicado. Se necesitan dos recordadores de flancos : F 0.0 Recordador " activar contador " F 0.1 Recordador " impulso de conteo Cada uno de los recordadores tiene que ser consultado, activado y cancelado IF THEN AND SET LOAD TO I 1.2 N F 0.0 F 0.0 V 10 CW 0 IF THEN AND AND SET SET DEC IF THEN OTHRW AND RESET RESET N RESET PSE PSE I 1.0 F 0.0 F 0.1 F 0.1 O 1.0 CW 0 S1 : cilindro retrocedido Recordador activado Recordador " impulso de conteo " Activar recordador Y1 : avanzar cilindro Contador -1 I 1.1 F 0.0 O 1.0 F 0.1 N IF THEN S3 : Pulsador Start Recordador "activar contador" Activar recordador cargar valor nominal con 10 S2 : cilindro avanzado Contador activado Y1 : retroceder cilindro Desactivar recordador C0 F 0.0 Valor efectivo es igual a "0" Desactivar recordador Programa de enlaces lógicos : Contador F 0.0 tiene la finalidad de que el control sepa en todo momento si ha sido activada la operación de conteo o no. Este recordador es activado al cargar el contador. En este estado, si se pulsa nuevamente S3 durante la operación de conteo, no sucede nada, puesto que el contador sólo puede ser activado al principio del programa mediante consulta del recordador si dicho recordador aún no ha sido activado. F 0.0 es cancelado solamente al final de programa ( cuando ha terminado de contar el contador ). La salida es activada mediante una señal positiva emitida por el interruptor de final de carrera I 1.0, con lo que del valor efectivo de contador se resta 1. Si la señal proveniente de la entrada dura más que la duración del ciclo de programa, es posible que se cuente dos veces. El segundo recordador de flancos F 0.1 tiene la finalidad de evitar esta situación. Dicho segundo recordador es activado cuando la operación de conteo se produce una vez. Cuando el cilindro avanza y llega al final de carrera ( señal 1 en I 1.1 ), se cancela la salida y el cilindro retrocede. Simultáneamente se cancela el recordador de flancos F 0.1 ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 85
  • 233.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 7 UTILIZACIÓN DE REGISTROS Los controles programables FESTO que pueden programarse utilizando el lenguaje AWL, poseen un número de registros de 16 bits. La cantidad exacta de estos registros varia según el modelo de FPC. Estos registros son operandos multibit que pueden utilizarse para almacenar números en la gama de : * 0 - 65535 Enteros sin signo * +/- 32767 Enteros con signo Si el modelo de FPC utilizado lleva una batería, el contenido de los registros será mantenido durante los periodos de desconexión. Los registros que no han sido nunca inicializados contendrán un valor aleatorio. Los Registros ( Registers ) son generalmente utilizados con la instrucción LOAD TO y en operaciones lógicas multibit. Los Registros no pueden direccionarse directamente bit a bit. Si se requiere acceder a un determinado bit, será más adecuado utilizar Flag Words. Los registros también pueden utilizarse para simplificar procesos secuenciales dentro de una sección de programa de exploración simple, como alternativa a la instrucción STEP 7.1 Ejemplos Utilización de Registros en la parte condicional de una frase IF AND AND ( R 51 = V 111 ) T7 (R3 <R8) THEN .... Si el contenido del Registro 51 es igual a 111 y el timer 7 funciona y el Registro 3 es inferior al Registro 8 Haz lo programado aquí Utilización de Registros en la parte ejecutiva de una frase IF... THEN LOAD TO R 12 + R50 R 45 Condiciones programadas Carga el contenido del R12 en el MBA suma el contenido del Registro 50 y guarda el resultado en el Registro 45 ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 86
  • 234.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 8 FLAGs Y FLAG WORD 8.1 Similitudes con otros operandos multibit Los Flag Words ( o Palabras de Marcas ) son, en muchas cosas, idénticos a los Registros. Cada Flag Word contiene 16 bits de información. Cuando son referenciados como unidades de 16 bits ( MBO / Multibit Operands ), se utiliza el término Flag Word. Los Flag Word son capaces de almacenar datos numéricos en la gama : * 0 - 65535 Enteros sin signo * +/- 32767 Enteros con signo Si el modelo de FPC utilizado lleva una batería, el contenido de los registros será mantenido durante los periodos de desconexión. Los Flag Word que no han sido nunca inicializados contendrán un valor aleatorio. Los Flag Word difieren de otros operandos multibit en varios puntos importantes 8.2 1.- Diferencias otros operandos multibit La mayor diferencia entre los Flags Words y los demás operandos multibit tales como Registros, Palabras de Contador, etc. es que cada uno de los 16 bits de que consta un Flag Word puede direccionarse como bit independiente. Por ejemplo el FPC 202 C contiene 16 Flag Words, direccionados desde FW0 hasta FW15 También es posible direccionar bits ( Flags o Marcas ) individuales para cada Flag Word, utilizando la sintaxis : F ( número de Flag Word ). número del bit donde el número de bit está entre 0 y 15 Por ejemplo, F 7.14 se refiere al bit 14 del FW7. Este sistema de direccionamiento es similar al utilizado con las E / S digitales. Mientras que los Flag Words pueden utilizarse con cualquier instrucción AWL adecuada para operandos multibit, los Flags individuales sólo son accesibles utilizando instrucciones adecuadas para los operandos monobit Los Flags o Marcas, como elementos monobit, son frecuentemente utilizados para memorizar eventos. En este aspecto, son similares a los "relés internos" frecuentemente citados en el lenguaje de Diagrama de Contactos ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 87
  • 235.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 2.- Los modelos de FPC que permiten varios módulos de CPU ( Multiproceso ), permiten que cualquier programa en cualquier CPU pueda acceder a los Flags de cualquier otra CPU. Esto es, cada CPU es capaz de leer desde o escribir hacia los Flags de otra CPU Por esta razón, los Flags proporcionan el medio adecuado para intercomunicar datos entre CPUs. En tales sistemas de múltiples CPUs, cada Flag es referenciado como : FW. número de la CPU. número de Flag Word Por ejemplo, FW 2.14 se refiere a la Flag Word 14 en la CPU 2 De la misma forma también es posible direccionar Flags en forma monobit en otras CPUs, extendiendo la sintaxis de direccionamiento : F. núm. de CPU. núm.de Flag Word. núm. del bit Por ejemplo, F0,11,9 se refiere al Flag ( o bit, o marca ) 9 en el Flag Word 11, de la CPU 0 8.3 Ejemplos Los Flags individuales ( así como los Flag Words ) pueden programarse indistintamente en la parte condicional o en la ejecutiva de una frase. En la parte condicional pueden ser interrogados por su estado ( 0 = inactivo, 1 = activo ); mientras que los Flag Words pueden compararse con valores u otros MBOs 8.3.1 Ejemplos en la parte Condicional IF IF AND F 1.1 F 2.1 N F 4.0 Si el bit 1 de Flag Word 1 está activo Si el bit 1 de Flag Word 2 está activo y el bit o de Flag Word 4 no está activo Al igual que con los otros operandos monobit o multibit, los Flags pueden combinarse con otros operandos IF AND OR AND ( I 3.0 F 0.0 ) ( FW 3 = V 500 ) N T7 Si la entrada 3.0 es válida y el Flag 0.0 está activo o el valor de los 16 bits de Flag Word 3 equivalen a 500 y el timer 6 no está activo ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 88
  • 236.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 8.3.2 Ejemplos en la parte Ejecutiva IF THEN IF THEN SET I 1.1 F 2.2 T6 F 3.3 OTHRW RESET F 3.3 SET Si hay la entrada 1.1 Entonces activa el bit 2 de la Flag Word 2 Si T6 en la CPU local funciona Activa Flag 3.3 para que otra CPU pueda verificar el estado del T6 sino desactivarlo En la parte ejecutiva de una frase, los Flag Words pueden utilizarse como fuente o destino de cualquier instrucción multibit 8.3.3 Registros de desplazamiento El hecho que los Flag Words sean direccionables en base a palabra o en base a bit, proporciona un método muy adecuado para construir registros de desplazamiento. Como ejemplo, podríamos necesitar programar una línea de mecanizado en las que las piezas fundidas en bruto se cargan en la estación 0 y se realizan varias operaciones en las siguientes 15 estaciones. La máquina completa transfiere o indexa cada 2 segundos y durante este tiempo una nueva pieza puede o no estar presente en la estación 0...lo cual es detectado por medio de un sensor. Las estaciones 1-15 no incluyen sensor de pieza, pero deseamos realizar la operación solamente si existe pieza en el útil. Esto representa una situación ideal en la que es ventajoso utilizar un registro de desplazamiento. Utilizaremos el Flag Word 6 para guardar información de qué estaciones contienen pieza a mecanizar. La instrucción Shift Left ( SHL ) la utilizaremos para desplazar los bits en el Flag Word 6. También se utilizan las siguientes I / O Input 1.0 Input 1.1 Input 2.2 Output 2.0 Outputs 1.0..1.15 Pulsador de marcha Sensor de pieza en estación 0 Transferencia realizada Activa línea de mecanizado Controla las operaciones de mecanizado de las estaciones 0...15 respectivamente ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 89
  • 237.
    Sistemas de controlsecuencial ____________________________________________________________________________________ STEP 10 IF THEN I 1.0 I 2.2 V 200 TP 0 V0 FW 6 I 1.1 F 6.0 ESPERAR HASTA QUE ALGUNA PIEZA DISPUESTA Pieza encontrada en estación 1 memorizarlo ( FW 6 >V0) FW 6 OW 1 T0 AND LOAD TO LOAD TO ARRANQUE Pulsador de marcha Línea transferida 2 segundos el preselector del timer 0 asumimos nueva producción, ninguna pieza en las estaciones Hay alguna pieza a procesar activar motores de mecanizado en las estaciones con pieza iniciar proceso de temporización STEP 15 IF THEN SET IF THEN LOAD TO SET STEP 20 IF THEN N LOAD SET T0 V0 O 2.0 STEP 25 IF THEN N LOAD SHL TO RESET JMP TO ¿ TIEMPO DE MECANIZADO TERMINADO ? Tiempo vencido desconectar todos los motores e iniciar la transferencia de la línea FW 6 ESPERAR A QUE EMPIECE LA TRANSFERENCIA Ya ha empezado a transferir cargar los estados de las estaciones desplazar los bits que coinciden con las piezas y guardarlos de nuevo I 2.2 O 2.0 15 ¿ HA TERMINADO TRANSFERENCIA ? Nuevo punto de indexación Parar el motor de indexación regresar al paso 15 para seguir I 2.2 FW 6 STEP 30 IF THEN HAYA LA ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 90
  • 238.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 9 ACCESO A LAS ENTRADAS Y SALIDAS 9.1 Organización de las E/S ( I/O ) Los controles programables Festo organizan las Entradas y Salidas en grupos denominados Word ( palabras ). Dependiendo del modelo de FPC ( o del grupo de I/O para los sistemas modulares ) cada grupo de I/O consiste en 8 o 16 entradas o salidas discretas 9.2 Palabras de E/S ( I/O WORDS ) Estos grupos completos de palabras son referenciados por su tipo ( Input o bien Output y la dirección de la Word n ). Esta dirección es un número generalmente asignado en los controles pequeños y configurable ( por conmutadores ) en los sistemas modulares. Las Input Words se referencian con IWn, mientras que las Output Words se nombran como OWn. Ejemplos IW 1 IW 7 Input Word 1 Input Word 7 Palabra de Entradas 1 Palabra de Entradas 7 OW 0 OW 2 Output Word 0 Output Word 2 Palabra de Salidas 0 Palabra de Salidas 2 Debe observarse que cada Input o Output dentro de un sistema debe tener un único número de dirección. O lo que es lo mismo : no se permiten direcciones duplicadas en un mismo sistema Sin embargo, es generalmente aceptable para un sistema, incluir una Input Word con la misma dirección que una Output Word ( p.ej. IW1 y OW1 ). 9.3 Entradas discretas de I/O Las entradas y salidas contenidas en cada grupo de I/O se referencian especificando : El tipo de I/O ( I ó O ) + El número de dirección de la Word ( n ) + " . " seguido por el número particular de la etapa I/O ( Sn ) Los números de etapa son 0 - 7 ó 0 - 15 dependiendo del grupo de I/O. Por ejemplo ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 91
  • 239.
    Sistemas de controlsecuencial ____________________________________________________________________________________ I 3.2 I 0.15 Etapa 2 de la palabra de entradas 3 Etapa 15 de la palabra de entradas 0 O 2.7 O 0.0 Etapa 7 de la palabra de salidas 2 Etapa 0 de la palabra de salidas 0 9.4 Uso de entradas en programas Las Inputs ( o Entradas ) son elementos del sistema de control que están diseñados solamente para ser leídas o interrogadas. Es decir, están conectadas a dispositivos externos, tales como sensores, interruptores, etc. que pueden o no emitir señal a una determinada entrada 9.4.1 Entradas discretas Ejecutando las instrucciones adecuadas en AWL, dentro de la parte Condicional de una frase, el control puede determinar el estado actual de una entrada discreta IF I 1.1 IF N 13.3 Comprueba si hay señal válida en la entrada I 1.1 Comprueba si hay señal falsa en la entrada I 3.3 Pueden enlazarse en diversas combinaciones lógicas entradas múltiples, así como otras condiciones 9.4.2 Palabras de entrada ( Input Words ) A veces es necesario o deseable comprobar el estado de palabras completas de entrada. Para determinar el estado de una palabra de entrada completa, es necesario leer el valor de la palabra entera y determinar si se ajusta al criterio deseado. Por ejemplo, para determinar si todas las 8 entradas de la Input Word 2 están recibiendo señales válidas, podríamos enlazar en AND cada una de las entradas : IF AND AND AND AND AND AND AND I 2.0 I 2.1 I 2.2 I 2.3 I 2.4 I 2.5 I 2.6 I 2.7 Aquí verificamos si las 8 entradas de una palabra de entradas de 8 bits, se hallan en estado lógico 1 ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 92
  • 240.
    Sistemas de controlsecuencial ____________________________________________________________________________________ o utilizando la capacidad del lenguaje AWL, evaluar por palabras enteras utilizando el programa : IF ( IW2 = V 255 ) Comprobar si las 8 entradas son = 255 ( 11111111 binario ) Verificaciones más complejas, que normalmente requerirían largas frases si se programaran bit a bit, se realizan fácilmente utilizando las Input Words combinadas con otras instrucciones lógicas. Para verificar si una o más de las entradas I 1.5, I 1.6, I 1.7 están activas, puede realizarse con : IF ( IW1 V 224 ) >V 31 AND Primero obtener la palabra = ( 11100000 en binario ) si el resultado es mayor de 31, por lo menos hay una entrada activa Lo cual es equivalente a : IF OR OR 9.5 I 1.5 I 1.6 I 1.7 Uso de salidas en programas Las Outputs ( o Salidas ) de un control programable pueden utilizarse para controlar varios tipos de dispositivos eléctricos por medio de instrucciones de programa que pueden activar ( SET ) o desactivar ( RESET ) las pertinentes salidas Nota : Mientras que las entradas sólo pueden ser leídas ( interrogadas ), las salidas pueden ser "escritas" ( SET o RESET ) y pueden también ser interrogadas igual que las entradas. Por ello las referencias a salidas pueden aparecer indistintamente en la parte Condicional o en la Ejecutiva de una frase AWL ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 93
  • 241.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 9.5.1 Salidas discretas Ejecutando la instrucción AWL adecuada en la parte Ejecutiva de una frase, el control puede conmutar una determinada salida a ON ( activarla ) o a OFF ( desactivarla ) IF THEN Siempre que se cumplan las condiciones SET RESET O 1.2 O 3.3 activa la salida 1.2 desactiva la salida 3.3 La instrucción SET se utiliza para conectar una salida ( ponerla en ON ), mientras que RESET se utiliza para desactivarla ( ponerla en OFF ). Activar una salida que ya está activa, o desactivar una que ya está inactiva, no produce ningún efecto. Como se ha visto, las salidas también pueden ser interrogadas en la parte condicional. La siguiente frase comprueba si la entrada I 2.4 está recibiendo señal y si la salida O 2.2 está actualmente activa IF AND I 2.4 O 2.2 THEN...... Entrada I 2.4 activa Y salida O 2.2 está en ON realizar acciones 9.5.2 Palabras de Salida ( Output Words ) A veces puede ser deseable o necesario, verificar o alterar el estado de una palabra de salidas. De la misma forma que las entradas pueden ser manipuladas en base a un grupo o word, también lo pueden ser las salidas Por ejemplo, la frase : THEN LOAD TO V0 OW 2 Producirá que todas las salidas asociadas a la palabra de salidas 2, sean desactivadas ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 94
  • 242.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 10 DETECCIÓN DE FLANCOS 10.1 Flancos Las señales que provienen de sensores y llegan a las entradas son interpretadas por la unidad central del PLC como señales "0" ó "1". La duración de las señales "1" y "0" es definida por el sensor. Por ejemplo : mientras que se actúa un pulsador, se emite la señal "1"; cuando se deja de actuar sobre el pulsador, el PLC recibe una señal "0". Sin embargo, en muchos casos no tiene relevancia la señal misma, sino más bien el momento en que la señal cambia. Tal cambio es denominado un flanco Para entender más fácilmente el significado de un flanco, piénsese en un interruptor ( pulsador ) de una luz. En ese caso, la evaluación del flanco se efectúa de modo mecánico. Actuando sobre el pulsador se enciende la luz ( independientemente del tiempo que se actúe sobre el pulsador ). Si entretanto se dejó de actuar sobre el pulsador, puede volver a apagarse la luz actuando nuevamente sobre el pulsador. Un PLC también tiene que registrar el momento en que la señal de entrada cambia de "0" a "1", puesto que cada vez que se actúa sobre el pulsador sólo deberá activarse una única reacción, ( independientemente de la duración de la señal "1" ). De este modo se evita una ejecución repetida de una orden controlada por el PLC en caso de que se actúe demasiado tiempo sobre un pulsador. Los flancos de la señal de entrada son evaluados por un programa 10.1.1 Flancos positivos y negativos Todas las señales binarias tienen flancos positivos y negativos : Los flancos positivos o ascendentes marcan el momento en el que se produce el cambio de señal de "0" a "1" Los flancos negativos o descendentes marcan el momento en el que se produce el cambio de señal de "1" a "0" Flancos Flanco positivo 1 0 Flanco positivo 1 0 Flanco negativo 0 Flanco negativo Nivel de señales binarias ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 95
  • 243.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 10.2 Recordador de flancos Tratándose de programas con enlaces lógicos, los flancos son evaluados mediante recordadores de flancos. En el ejemplo que se ofrece a continuación, los flancos positivos ( cambio de señal 0 a 1 ) son registrados por el recordador IF AND SET ... ... ... THEN ... ... ... IF THEN RESET I 1.0 N F 0.0 F 0.0 ... ... ... N I 1.0 F 0.0 Consultar recordador ( 1 ) Activar recordador ( 2 ) Disparo de la función Cancelar recordador En el programa, los flancos son detectados en tres pasos; es decir, el recordador de flancos es : (1) (2) (3) (1) Consultado Activado Cancelado Consulta del recordador : En el ejemplo ( véase programa ) se evalúa un flanco positivo. El recordador no debe estar activado si la entrada I 1.0 recibe una señal positiva (2) Activación del recordador El recordador registra el flanco positivo ( cambio de señal 0 a 1 en la entrada I 1.0 ). A continuación se activan determinadas funciones en el programa, ya sea activando determinados actuadores o una temporización ( el ejemplo no contiene estas funciones ) (3) Cancelación del recordador Cuando ya no se registra la señal 1 en E 1.0 se produce la cancelación del recordador. De este modo se cumple con la condición necesaria para repetir la consulta ( 1 ) ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 96
  • 244.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Detección de flancos Flanco positivo Flanco positivo 1 1 0 0 0 Cancelación del recordador Cancelación del recordador Activación del recordador Activación del recordador Disparo de la función Disparo de la función La evaluación solamente se refiere al flanco, independientemente de la duración de la señal, puesto que antes de volverse a activar el recordador de flancos ( 2 ) es necesario que la entrada haya recibido señal "0". De este modo queda cancelado el recordador ( 3 ). Esta circunstancia explica el porqué de la consulta en ( 1 ). Si el recordador ha sido activado y la entrada sigue recibiendo la señal "1", ello no incide en los actuadores puesto que no se ha cumplido la condición para ( 2 ). 10.3 Programación de la evaluación de flancos positivos y negativos El programa puede estar configurado de tal manera que se evalúen los flancos positivos o negativos de las señales. Uno y otro caso dependen de las conexiones del sensor ( normalmente cerrado / normalmente abierto ) y de la forma en que es utilizado. En el momento en que es activado un pulsador ( de contacto normalmente abierto ), éste origina un flanco positivo, mientras que en el momento en que deja de ser activado produce un flanco negativo. La elección de la programación de flancos positivos o negativos depende, a fin de cuentas, del significado que ha de tener la señal durante los ciclos. Flanco positivo : Activación del recordador si la entrada recibe señal 1. Cancelación del recordador si la entrada recibe una señal 0 ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 97
  • 245.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Flanco positivo Flanco positivo 1 1 IF I 1.0 AND N F0.0 0 0 THEN SET F0.0 Cancelación del recordador disparo de la función Activación del recordador IF N I 1.0 THEN RESET Disparo de la función F0.0 Flanco negativo : Activación del recordador si la entrada recibe señal 0. Cancelación del recordador si la entrada recibe una señal 1 Flanco negativo Flanco negativo 1 1 IF 0 N I AND N F0.0 THEN SET F0.0 0 Cancelación del recordador disparo de la función Activación del recordador IF Disparo de la función I 1.0 THEN RESET F0.0 ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 98
  • 246.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 11 MULTITAREA 11.1 Funcionamiento automático y manual Bajo el concepto de multitarea se entiende la ejecución " concurrente " de varias tareas ( trabajos, programas ). Con ese fin es necesario disponer de un sistema operativo apropiado, que se encargue de administrar los programas parciales con la técnica de programas parciales. Ello significa que un programa puede estar compuesto de varias partes, conformando cada una de ellas un programa parcial. Estos programas parciales tienen diversas funciones. Ventajas : estructura más clara del programa y menor duración de los ciclos Ejemplo Un programa complejo deberá poder ejecutarse tanto en funcionamiento automático como también en funcionamiento manual. Básicamente se trata de dos tipos de programas totalmente diferentes. " Automático " suele ser un programa secuencial, mientras que " Manual " es un programa de enlaces lógicos Multitarea ( ejemplo 1 ) ACTIVACIÓN P1 AUTOMÁTICO P2 MANUAL Funcionamiento manual significa que las funciones del mando son activadas directamente por el operario ( a través de las entradas ). No obstante tienen que cumplirse determinadas condiciones. El programa no es ejecutado automáticamente. Tratándose, por el contrario, de un programa de funcionamiento automático, la ejecución del mismo se produce sin intervención del operario ( una vez que éste lo haya activado ) ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 99
  • 247.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Estos programas van unidos puesto que tienen la finalidad de ejecutar la misma función de control. En consecuencia, "manual" y "automático" son funciones de control. Al efectuarse la programación se obtendrían dos programas parciales que pueden ser, por ejemplo, los siguientes : Programa 1 : Automático Programa 2 : Manual La técnica de programas parciales evidentemente es ventajosa en este caso, puesto que las dos funciones " manual " y " automático " nunca pueden ejecutarse al mismo tiempo. Si, no obstante, se optase por confeccionar ambas partes en un solo programa, su ejecución demoraría demasiado y el programa tendría una estructura poco clara. 11.2 Funciones El método de multitarea permite efectuar cómodamente la programación de varias funciones. Tratándose de funciones de control complicadas, esta forma de programación resulta indispensable ( también por razones de seguridad ). Estos programas también son denominados programas paralelos, ya que, aparte del programa automático, en todo momento puede recurrirse a cualquiera de los demás programas En un programa de organización tienen que estar definidas las siguientes funciones : * * Cómo cambiar de función Cómo reaccionará el PLC si se activa el paro de emergencia Cuando se pone en marcha el PLC, automáticamente es activado el programa de organización; a partir de él se recurre a uno de los programas parciales Ejemplo : P0 : Programa de organización P1 : Automático ( ciclo simple / ciclo continuo ) P2 : Manual P3 : Reposición ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 100
  • 248.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Multitarea ( ejemplo 2 ) ACTIVACIÓN P0 Programa de organización P1 AUTOMÁTICO Ciclo continuo P2 MANUAL P3 REPOSICIÓN Ciclo simple Ciclo simple : Si está activada esta función, el programa es ejecutado desde el primer hasta el último paso. Entonces concluye el programa y puede ser activado nuevamente por el operario. Ciclo continuo : En realidad, este es el programa principal propiamente dicho. Se ejecutan varios ciclos hasta que se alcanza un determinado estado final en el programa. Con excepción de las funciones de activación y desactivación, el programa no es influenciado por el operario. Reposición : La máquina es puesta en su posición normal mediante un sensor ( pulsador ). Este estado suele ser indicado, además, por un diodo luminoso. Esta función es importante tratándose de máquinas complicadas, especialmente si durante la ejecución automática de programa ocurrió un fallo. 11.3 Realización con orden de salto ( recuperación de subprogramas ) No todos los PLC permiten la ejecución de una multitarea con programas parciales. No obstante, para aún así ejecutar rápidamente programas largos, puede efectuarse la programación de órdenes de salto o, también, puede aplicarse la técnica de subprogramas. ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 101
  • 249.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 11.3.1 Órdenes de salto / Órdenes de salto hacia atrás Si es necesario recurrir varias veces a una parte determinada de un programa, deberá incluirse una orden de salto en las partes respectivas ( es decir en aquellas en las que deberá activarse el programa parcial correspondiente ). Antes de la orden de salto deberá incluirse un recordador con el fin de que al terminarse de ejecutar el programa parcial se vuelva a la orden inicial. Dicho recordador es consultado en el programa parcial. Después de la orden de salto hacia atrás es cancelado el recordador. Para cada orden de salto deberá preverse la activación y posterior cancelación de un recordador Multitarea· Órdenes de salto/ Órdenes de salto hacia atrás . . 123 IF 124 THEN I 1.2 SET F1 125 JMP TO 219 126 RESET F1 . . . 198 IF 199 THEN I 1.7 F2 200 . SET JMP TO 219 201 RESET F2 . 219 . . 250 IF 251 THEN F1 JMP TO 252 IF 253 THEN 126 F2 JMP TO 201 ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 102
  • 250.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 11.3.2 Orden de salto con retorno automático ( recuperación de subprograma ) Esta solución es más cómoda puesto que no es necesario programar recordadores. El salto hacia atrás automático significa lo siguiente : la unidad central memoriza la dirección en la que se produce el salto y suma 1 ( después de ejecutar la orden ATRÁS ) a dicha dirección. Entonces, ésta es la dirección de instrucción actual, lo que significa que la ejecución del programa principal continúa en el lugar del salto. Multitarea · Orden de salto hacia atrás automático . . 123 IF 124 I 1.2 THEN Programa parcial 219 125 . . . 198 IF I 1.7 199 THEN Programa parcial 219 200 . . 219 . . 249 RETURN Programa parcial En las figuras se muestran ejemplos ( teóricos ) que se refieren a ambos casos. La programación exacta de las órdenes de saltos varía según el PLC. Los dos siguientes ejemplos muestran otras posibles soluciones. Diversos PLC son capaces de recurrir a más subprogramas contenidos en subprogramas ( en este caso, se trata de subprogramas relacionados entre sí. ). También es posible recuperar un subprograma de subprogramas iguales. ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 103
  • 251.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Subprograma relacionado tres veces Programa principal Subprograma UP1 UP2 UP3 01 01 02 03 ( JSR ) LBL LBL LBL ( JSR ) ( JSR ) ( JSR ) (RET) (RET) (RET) Subprograma de lazo Programa principal 01 Subprograma 01 LBL 051 ( SCT ) ( JSR ) 01 ( JSR ) 051 15 051 (CTR) RET End xxxxx ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 104
  • 252.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 11.4 Realización con la técnica de procesadores La unidad central del PLC 404 contiene 4 procesadores virtuales ( PZ0 hasta PZ3 ), que ejecutan diversos programas. Cada uno de los procesadores puede albergar uno de los programas existentes. Por ejemplo : el programa 7 está en el procesador 1 Multitarea técnica de procesadores ( ejemplo ) P0 P1 P2 PZ 0 P3 P4 P5 PZ 1 P6 P7 P8 PZ 2 P9 P 10 P 11 PZ 3 P 12 P 13 P 14 P 15 Unidad central 0 Un proyecto puede estar compuesto de 16 programas parciales. En consecuencia, es factible que como máximo se ejecuten paralelamente 4 programas por los cuatro procesadores. En principio es indiferente qué programa es ejecutado por qué procesador. Los programas KOP, FUP, AWL y BASIC pueden mezclarse indistintamente. En la figura se muestra un ejemplo. ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 105
  • 253.
    Sistemas de controlsecuencial ____________________________________________________________________________________ La ejecución de un programa puede ser interrumpida mediante una orden respectiva. El procesador que queda " libre " de esta manera, puede ser utilizado para activar otro programa. Cuando se conecta la unidad de control, el programa siempre es ejecutado desde el principio, es decir : * * * * * 11.5 Unidad central 0 Procesador 0 Programa 0 Paso 0 línea 0 Procesadores y programas Los procesadores son unidades funcionales monobit que pueden ser consultadas, activadas o canceladas. Un procesador activado emite una señal "1" al ser consultado, mientras que un procesador cancelado emite una señal "0". También los programas son unidades funcionales monobit. También ellos pueden ser consultados, activados o cancelados. Un programa que está puesto en un procesador y que, además, está activado, emite una señal "1"; en caso contrario, emite una señal "0". Activar / Desactivar programas y procesadores ( ejemplo ) IF I 1.0 THEN SET P 3.12 Programa 12 está puesto en procesador 3 y es activado en paso 0 IF I0 THEN SET P1 Programa 1 se activa si el procesador está puesto IF THEN RESET Desactivar el programa 12 I7 P 3.12 IF THEN SET Programa continúa en procesador 0 I1 PZ 0 IF THEN RESET Desactivar el procesador 0 o IF I7 THEN RESET P12 I. 3 PZ 0 ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 106
  • 254.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Activación de un programa Un programa es puesto en un procesador y activado con la instrucción SET. El programa empieza a ejecutar el paso 0, sin importar si antes había sido interrumpido o no. Al escribir las direcciones del programa, se coloca delante del punto el número de procesador y detrás el número de programa. Si el programa ya está cargado en el procesador, no es necesario indicar el número de procesador. Cancelación de un programa La instrucción RESET tiene como consecuencia la desactivación del programa respectivo. La instrucción puede escribirse con o sin indicación del procesador activado Activación de un procesador La ejecución del programa puesto en el procesador continúa en aquel lugar donde fue detenida Cancelación de un procesador Esta instrucción detiene al procesador. En consecuencia, no continúa la ejecución del programa activado. Un programa solo debería cancelar a su propio procesador si las funciones de control necesarias son asumidas por otro programa ( que continúa ejecutándose ). ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 107
  • 255.
    Sistemas de controlsecuencial ____________________________________________________________________________________ 12 PROGRAMAS DE EJEMPLO La mayor parte de tareas de control pueden dividirse en tres categorías : * * * Completamente secuencial Principalmente secuencial con algunas acciones aleatorias Completamente aleatorio Adicionalmente, aparecen muchas situaciones en las cuales puede ser necesario controlar algunas secuencias de mando simultáneamente. Los siguientes ejemplos ofrecen soluciones para todas las posibilidades mencionadas. Ejemplo 1. Completamente secuencial Las tareas que son completamente secuenciales, son ideales para ser resueltas en el lenguaje AWL, dada su implícita estructura de Pasos ( Step ). La tarea secuencial que presentamos aquí es la de controlar 3 cilindros neumáticos por medio de 3 electroválvulas de 3/2 vías en una determinada secuencia. Cuando se conecta el sistema y se acciona el pulsador de marcha, el cilindro A debe avanzar completamente, esperar 3 segundos y a continuación retroceder. A continuación, el cilindro B debe avanzar y retroceder 4 veces y después avanzar y permanecer delante. Finalmente, el cilindro C debe avanzar completamente, en cuyo momento el cilindro A avanzará. Cuando el cilindro A esté de nuevo completamente extendido, los tres cilindros retrocederán y se esperará un nuevo ciclo por el pulsador de marcha. Se asignan las siguientes Entradas / Salidas Pulsador de marcha Cilindro A detrás Cilindro A delante Cilindro B detrás Cilindro B delante Cilindro C detrás Cilindro C delante Electroválvula del Cilindro A Electroválvula del Cilindro B Electroválvula del Cilindro C I 1.0 I 1.1 I 1.2 I 1.3 I 1.4 I 1.5 I 1.6 O 1.0 O 1.1 O 1.2 ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 108
  • 256.
    Sistemas de controlsecuencial ____________________________________________________________________________________ STEP 1 IF THEN NOP V0 OW 1 V 300 TP 0 V4 CP 2 Inicialización al arranque Incondicionalmente desconecta todas las salidas Prepara el timer en 3 segundos y el contador 2 para 4 unidades I 1.0 I 1.1 I 1.3 I 1.5 O 1.0 Asegurar que todas las posiciones están OK Pulsador accionado Cilindro A detrás Cilindro B detrás Cilindro C detrás iniciar avance cilindro A I 1.2 T0 ¿ Cilindro A completamente avanzado ? Ahora está delante empezar a temporizar 3 segundos N T0 O 1.0 Esperar los 3 segundos Timer vencido retroceder cilindro A SET SET I 1.1 C2 O 1.1 ¿ Cilindro A completamente detrás ? Cilindro A detrás Inicializa contador 2 a 4 eventos avanzar cilindro B INC RESET I 1.4 CW 2 O 1.1 ¿ Cilindro B delante ¿ ahora está delante cuenta este ciclo inicia el retroceso del cilindro B I 1.3 C2 O 1.1 20 I 1.3 N C2 O 1.1 ¿ Es éste el 4º avance ? Cilindro B detrás y aún no ha hecho 4 carreras avanza cilindro B sigue haciendo ciclos Cilindro B detrás y 4 carreras realizadas avanzar cilindro B I 1.4 O 1.2 ¿ Cilindro B delante ? cilindro B delante ( avance 5º ) avanzar cilindro C LOAD TO LOAD TO LOAD TO STEP 5 IF THEN STEP 10 IF THEN STEP 12 IF THEN STEP 15 IF THEN STEP 20 IF THEN AND AND AND SET SET RESET STEP 22 IF THEN AND SET JMP TO IF THEN STEP 30 IF THEN AND SET SET ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 109
  • 257.
    Sistemas de controlsecuencial ____________________________________________________________________________________ STEP 35 IF THEN STEP 40 IF THEN SET I 1.6 O 1.0 ¿ Cilindro C delante ? Cilindro C delante avanzar cilindro A RESET RESET RESET JMP TO I 1.2 O 1.0 O 1.1 O 1.2 5 ¿ Todos los cilindros delante ? cilindro A también delante retroceder cilindro A retroceder cilindro B retroceder cilindro C regresar al paso 5 Ejemplo 2. Principalmente secuencial con algunas acciones aleatorias Mientras que las máquinas muy sencillas pueden ser puramente secuenciales en su funcionamiento, hay algunas excepciones en las cuales cambian las especificaciones de la tarea de forma que ya no es completamente secuencial Si la mayor parte de la tarea de control es secuencial, y el modelo de FPC permite la multitarea, una posible solución puede ser dividir el proceso de las acciones secuenciales y las aleatorias, en programas separados Sin embargo, también es posible manejar tales situaciones con un sencillo programa AWL. Si la acción ( o acciones ) aleatoria /s a realizar son pocas y el conjunto del programa es relativamente sencillo, entonces es posible manejar estas acciones añadiéndolas en cada uno de los pasos del programa. Otras posibles soluciones incluyen la utilización del procesamiento por interrupción ( solamente soportado por algunos modelos de FPC ) o construyendo toda la secuencia como una sección de programa paralela o de exploración / scanning total. Este método se explicará en los ejemplos 3 y 4 El ejemplo 2 muestra la inserción en cada paso del programa mostrado en el ejemplo 1, de una frase en forma de detección de un sencillo pulsador de " pausa "; el cual, cuando está pulsado, provoca la detención del programa hasta que es liberado STEP 1 IF THEN LOAD TO LOAD TO LOAD TO NOP V0 OW 1 V 300 TP 0 V4 CP 2 Inicialización al arranque Incondicionalmente desconecta todas las salidas Prepara el timer en 3 segundos y el contador 2 para 4 unidades ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 110
  • 258.
    Sistemas de controlsecuencial ____________________________________________________________________________________ STEP 5 IF THEN STEP 10 IF THEN IF THEN STEP 12 IF THEN IF THEN STEP 15 IF THEN IF THEN STEP 20 IF THEN IF THEN STEP 22 IF THEN IF THEN AND AND AND AND SET JMP TO SET JMP TO RESET JMP TO SET SET JMP TO INC RESET JMP TO AND SET JMP TO IF THEN AND SET I 1.0 I 1.1 I 1.3 I 1.5 N I 1.7 O 1.0 Asegurar que todas las posiciones están OK Pulsador accionado Cilindro A detrás Cilindro B detrás Cilindro C detrás Pulsador pausa inactivo I 1.7 10 I 1.2 T0 ¿ Cilindro A completamente avanzado ? Pulsador de pausa activo esperar aquí Ahora está delante empezar a temporizar 3 segundos I 1.7 12 N T0 O 1.0 Esperar los 3 segundos Pulsador de pausa activo esperar aquí Timer vencido retroceder cilindro A I 1.7 15 I 1.1 C2 O 1.1 ¿ Cilindro A completamente detrás ? Pulsador de pausa activo esperar aquí Cilindro A detrás Inicializa contador 2 a 4 eventos avanzar cilindro B I 1.7 20 I 1.4 CW 2 O 1.1 ¿ Cilindro B delante ? Pulsador de pausa activo esperar aquí ahora está delante cuenta este ciclo inicia el retroceso del cilindro B I 1.7 22 I 1.3 C2 O 1.1 20 I 1.3 N C2 O 1.1 ¿ Es éste el 4º avance ? Pulsador de pausa activo esperar aquí Cilindro B detrás y aún no ha hecho 4 carreras avanza cilindro B sigue haciendo ciclos Cilindro B detrás y 4 carreras realizadas avanzar cilindro B ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 111
  • 259.
    Sistemas de controlsecuencial ____________________________________________________________________________________ STEP 30 IF THEN JMP TO I 1.7 30 ¿ Cilindro B delante ? Pulsador de pausa activo esperar aquí SET I 1.4 O 1.2 cilindro B delante ( avance 5º ) avanzar cilindro C STEP 35 IF THEN JMP TO I 1.7 35 ¿ Cilindro C delante ? Pulsador de pausa activo esperar aquí IF THEN SET I 1.6 O 1.0 Cilindro C delante avanzar cilindro A JMP TO I 1.7 40 ¿ Todos los cilindros delante ? Pulsador de pausa activo esperar aquí RESET RESET RESET JMP TO I 1.2 O 1.0 O 1.1 O 1.2 5 cilindro A también delante retroceder cilindro A retroceder cilindro B retroceder cilindro C regresar al paso 5 IF THEN STEP 40 IF THEN IF THEN En resumen : es posible manejar una limitada cantidad de condiciones en paralelo o aleatorias, dentro de lo que, de otra forma, sería un proceso puramente secuencial, utilizando la instrucción Step. Ejemplo 3. Acciones completamente aleatorias Algunas acciones de control no pueden organizarse en una secuencia lógica ya que las acciones pueden ocurrir de forma aleatoria. Un ejemplo típico de tales tareas, podría ser el programa de control de la preparación de una máquina El proceso lo define el operador de la máquina al accionar aleatoriamente diferentes pulsadores, cada uno utilizado para una función individual. Lo siguiente representa el programa de preparación para una máquina de inyectar plástico. ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 112
  • 260.
    Sistemas de controlsecuencial ____________________________________________________________________________________ STEP 1 IF THEN NOP V0 OW 1 Inicialización Incondicionalmente desconecta todas las salidas SET I 1.0 O 1.0 Paso de exploración / scanning Pulsador de cerrar molde Cerrar molde AND SET RESET I 1.1 I 2.0 O 1.3 O 1.3 Pulsador de inyectar plástico Sensor de molde cerrado Electroválvula inyección THEN AND RESET I 1.2 N O 1.3 O 1.0 Molde abierto Pulsador de inyección inactivo Abrir molde IF THEN OTHRW SET RESET I 1.3 O 1.1 O 1.1 Pulsador de girar mecanismo extrusor Electroválvula girar extrusor Parar extrusor AND SET RESET I 1.4 I 1.5 O 1.4 O 1.4 Sensor molde abierto Pulsador extractor molde Electroválvula extractor molde Parar proceso extracción JMP TO NOP 20 Incondicionalmente seguir procesando STEP 20 IF THEN LOAD TO IF THEN OTHRW IF IF THEN OTHRW IF THEN Ejemplo 4. Secuencias múltiples y acciones aleatorias Máquina Transfer rotativa multi-estación El siguiente programa AWL se utiliza para controlar una mesa circular de 4 estaciones en la que cada estación debe realizar su propia secuencia simultáneamente con las demás. Las diferentes estaciones, poseen diferente número de pasos, asociados con sus funciones individuales. El operador debe tener la posibilidad de activar o desactivar cualquier estación. Una vez que todas las estaciones han completado sus respectivas secuencias, la mesa rotativa indexará e iniciará un nuevo ciclo. adicionalmente se utilizará un Flag Word como registro de desplazamiento para determinar que estaciones deberán trabajar, dependiendo de la presencia de pieza en la estación. ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 113
  • 261.
    Sistemas de controlsecuencial ____________________________________________________________________________________ El conjunto del proceso será controlado por medio de la asignación de un registro a cada estación. a pesar de que se podrían utilizar Flags para este fin, la utilización de Registros mejora mucho el diagnóstico de la máquina en el caso de ocurrir una detención. Este método de estructurar programas permite tantos procesos paralelos activos como número de registros se disponga, y además permite más de 65.000 pasos por proceso. El funcionamiento de la máquina es como sigue : Estación 1 : La estación 1 es utilizada para cargar cartuchos de cinta vacíos. Si no hay cartuchos en eta estación, pero si los hay en las estaciones 2, 3 o 4, entonces aquellas estaciones funcionarán. Cuando la máquina indexa, el estado de cada estación ( pieza a procesar : si/no) será actualizado Estación 2 : La estación 2 consiste en varias acciones secuenciales que insertan dos carretes vacíos en el cartucho de cinta Estación 3 : La estación 3 realiza varios pasos en los cuales una cinta larga es unida al carrete de la izquierda, es completamente enrollada y finalmente unida al carrete derecho Estación 4 : La estación 4 fija la mitad superior del cartucho de cinta y lo une a la parte inferior por soldadura ultrasónica. Finalmente, el cartucho terminado es expulsado a una caja de embalaje... STEP 10 THEN LOAD TO TO TO TO TO TO TO TO TO TO TO LOAD TO LOAD TO LOAD V0 OW0 OW1 OW2 OW3 OW4 FW0 R0 R1 R2 R3 R4 V25 TP2 V250 TP3 V300 Inicialización Desactivar todas las salidas Inicializar " shift register " Registro de control de indexación mesa Registro de control de estación 1 Registro de control de estación 2 Registro de control de estación 3 Registro de control de estación 4 Timer 2 a 1/4 de segundo Timer 3 a 2,5 segundos Timer 4 a 3 segundos ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 114
  • 262.
    Sistemas de controlsecuencial ____________________________________________________________________________________ TO TP4 ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 115
  • 263.
    Sistemas de controlsecuencial ____________________________________________________________________________________ STEP 20 IF THEN JMP TO N I 0.0 99 AND AND AND AND AND AND AND I 0.2 I 2.1 I 2.3 N I 2.5 N I 2.6 I 3.1 I 3.4 I 3.6 IF AND AND AND AND AND AND OR AND THEN STEP 30 IF I 4.1 N I 4.3 I 4.4 I 0.1 I 0.0 ( I 1.1 ( FW0 V15 > V0 )) NOP LOAD ( R1 = V0 ) ( R2 = V 255 ) ( R3 = V 255 ) ( R4 = V 255 ) V 10 TO R1 AND SET ( R1 = V 10 ) I 1.1 F0.0 LOAD TO ( R1 = V 10 ) V 255 R1 AND AND AND THEN IF THEN IF THEN ¿Estaciones en origen ? Paro_Activo Rutina especial Mesa indexada Est.2 Cilindro insertor izquierdo detrás Est.2 Cilindro insertor derecho detrás Est.2 Carrete izquierdo colocado Est.2 Carrete derecho colocado Est.3 Pinza sujeción cinta, abierta Est.3 Cilindro avance cinta, detrás Est.3 Cilindro fijación derecha cinta, detrás Est.4 Cilindro inserción detrás no hay mitad superior del cartucho situada Est.4 Cilindro de extracción detrás Pulsador de marcha a posición de partida Paro_E inactivo Cartucho en estación 1 o piezas en alguna estación toda la palabra de 16 bits enmascarando toda, excepto bits0,1,2,3 hay alguna pieza OK para proceder, sino esperar ESTACIÓN 1 Registro de control estación 1 empezando Registro de control estación 2 indica ha terminado Registro de control estación 3 indica ha terminado Registro de control estación 4 indica ha terminado Todas las estaciones han terminado,así que ya es momento de ver si se ha cargado pieza en la estación 1 Registro de control de estación 1 listo para leer sensor de pieza situada poner un "1" en el shift register Cuando se cumpla esto todas las estaciones habrán terminado ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 116
  • 264.
    Sistemas de controlsecuencial ____________________________________________________________________________________ IF THEN AND OR LOAD TO Registro de control estación 2, empezando SET SET LOAD TO ( R2 =V0) O 2.0 O 2.1 V 20 R2 Registro de control estación 2 AND AND AND AND SET SET LOAD TO ( R2 = V 20 ) I 2.2 I 2.4 I 2.5 I 2.6 O 2.2 T2 V 30 R2 Registro de control estación 2 AND RESET RESET LOAD TO ( R2 = V 30 ) N T2 O 2.0 O 2.1 V 40 R2 Registro de control estación 2 AND AND RESET LOAD TO ( R2 = V 40 ) I 2.1 I 2.2 O 2.2 V 255 R2 IF THEN IF THEN IF THEN IF THEN ESTACIÓN 2 Registro de control estación 2 ( R2 = V0 ) ( N I 2.0 N F0.1 ) V 255 R2 Estación 2 no activada o no hay piezas en estación 2 por lo tanto marcar estación 2 como terminada avanzar cilindro carrete izquierdo avanzar cilindro carrete derecho control de avance de la secuencia lado izquierdo delante lado derecho delante carrete izquierdo en fijación carrete derecho en fijación conectar vacío de sujeción activar el temporizador actualizar registro de control de estación 2 transcurrido un tiempo de 1/4 de seg. retroceder cilindro carrete izquierdo retroceder cilindro carrete derecho actualizar registro de control de estación 2 cilindro carrete izquierdo detrás cilindro carrete derecho detrás conmutador de vacío desconectado marcar estación 2 como terminada ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 117
  • 265.
    Sistemas de controlsecuencial ____________________________________________________________________________________ IF ESTACIÓN 3 Registro de control estación 3 SET LOAD TO Registro de control estación 3 AND SET LOAD TO ( R3 = V 10 ) I 3.2 O 3.2 V 30 R3 Registro de control estación 3 AND RESET RESET LOAD TO ( R3 = V 30 ) I 3.3 O 3.2 O 3.1 V 40 R3 Registro de control estación 3 AND SET SET LOAD TO ( R3 = V 40 ) I 3.4 O 3.3 T3 V 50 R3 Registro de control estación 3 AND RESET SET ( R3 = V 50 ) N T3 O 3.3 O 3.4 LOAD TO THEN ( R3 = V0 ) ( N I 3.0 N F0.2 ) V 255 R3 ( R3 = V0 ) O 3.1 V 10 R3 V 60 R3 AND OR LOAD TO IF THEN IF THEN IF THEN IF THEN IF THEN Estación 3 inactiva o no hay pieza por lo tanto marcar la estación 3 como terminada Registro de control estación 3 cerrar pinza de la cinta actualizar registro de control de la estación 3 pinza cerrada insertar cinta en carrete izquierdo actualizar registro de control de estación 3 cinta insertada en carrete retroceder cilindro inserción desactivar pinza de cinta actualizar registro de control de estación 3 cilindro de inserción detrás arrancar motor enrollado de la cinta arrancar temporizador de enrollado actualizar registro de control de estación 3 tiempo de enrollado vencido parar motor de enrollado avanzar cilindro inserción carrete lado der actualizar registro de control de estación 3 ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 118
  • 266.
    Sistemas de controlsecuencial ____________________________________________________________________________________ Registro de control estación 3 AND RESET LOAD TO ( R3 = V 60 ) I 3.5 O 3.4 V 70 R3 Registro de control estación 3 AND LOAD TO ( R3 = V 70 ) I 3.6 V 255 R3 AND OR LOAD TO ( R4 =V0) ( N I 4.0 N F0.3 ) V 255 R4 Registro de control estación 4 SET LOAD TO ( R4 = V0 ) O 4.1 V 10 R4 Registro de control estación 4 AND AND SET SET LOAD TO ( R4 = V 10 ) I 4.2 I 4.3 O 4.2 T4 V 20 R4 Registro de control estación 4 AND RESET RESET LOAD TO ( R4 = V 20 ) N T3 O 4.2 O 4.1 V 30 R4 Registro de control estación 4 AND ( R4 = V 30 ) I 4.1 IF THEN IF THEN IF THEN IF THEN IF THEN IF THEN IF sensor inserción carrete derecho retroceder cilindro inserción lado derecho actualizar registro de control de estación 3 cilindro lado derecho detrás marcar registro de control de estación 3 como terminado ESTACIÓN 4 Registro de control estación 4 estación 4 inactiva o no hay pieza en estación 4 por lo tanto marcar la estación como terminada bajar cartucho superior actualizar registro de control de estación 4 cilindro de cartucho delante cartucho en fijación activar soldadura ultrasónica empezar tiempo soldadura actualizar registro de control de estación 4 tiempo soldadura vencido detener soldadura soltar cilindro fijación cartucho actualizar registro de control de estación 4 cilindro carcasa superior detrás ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 119
  • 267.
    Sistemas de controlsecuencial ____________________________________________________________________________________ THEN O 4.3 V 40 R4 avanzar cilindro extracción actualizar registro de control de estación 4 Registro de control estación 4 AND RESET LOAD TO ( R3 = V 40 ) I 4.5 O 4.3 V 50 R4 ( R4 = V 50 ) I 4.4 F 0.3 V 255 R4 Estaciones 1-4 terminadas LOAD TO ( R1 = V 255 ) V 10 R0 SET LOAD TO IF THEN AND RESET LOAD TO IF THEN IF THEN IF AND AND THEN MESA DE INDEXACIÓN Registro de control de indexación toda la palabra de 16 bits enmascarar toda excepto los bits 0,1,2,3 si esto es cierto, por lo menos hay una estación con pieza actualizar registro de control de indexación Registro de control de indexación JMP TO ( R0 = V 10 ) 10 SET LOAD TO ( R0 = V20 ) O 0.0 V 30 R0 Registro de control de indexación hay que indexar activar indexación mesa actualizar registro de control de indexación Registro de control de indexación AND LOAD TO LOAD ( R0 = V 30 ) N I 0.2 V 40 R0 FW0 IF THEN registro de control de indexación V 20 R0 IF THEN cilindro de extracción detrás shift register marca " no hay pieza " marcar la estación como terminada LOAD TO IF THEN ( R0 = V 10 ) ( ( FW0 V 15 ) > V0 ) cilindro de extracción delante retroceder cilindro de extracción actualizar registro de control de estación 4 Registro de control estación 4 no hay que indexar, seguir con el proceso la indexación ha empezado activar registro de control de indexación cargar shift register al MBA ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 120
  • 268.
    Sistemas de controlsecuencial ____________________________________________________________________________________ SHL TO FW0 AND RESET LOAD TO TO TO TO TO JMP TO ( R0 = V 40 ) I 0.2 O 0.0 V0 R0 R1 R2 R3 R4 20 JMP TO N I 0.0 99 JMP TO NOP 30 JMP TO I 0.0 10 IF THEN IF THEN IF THEN STEP 99 IF THEN desplazar bits a la izquierda para hacerlo coincidir con las piezas actuales presentes Secuencia indexación completa Registro de control de indexación alcanzada nueva posición de indexación detener indexación borrar registros de control seguir procesando Paro_E activo rutina especial seguir procesando Incondicionalmente sigue el proceso en el paso 30 RUTINA PARO_E esperar hasta que Paro_E sea liberado y reaccionar como si se arrancara de nuevo el sistema ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 121