Sunteți pe pagina 1din 99

GRADO EN ARQUITECTURA NAVAL

E INGENIERA MARITIMA

ELECTRNICA Y AUTOMTICA DE
CONTROL APLICADA AL BUQUE

AUTOMATISMOS LGICOS

Contenido
1.
INTRODUCCIN ............................................................................................ 3
2.
MODELOS, DISEO SISTEMATICO, ANLISIS Y SISTESIS DE
SISTEMAS .................................................................................................................. 4
2.1. MODELOS ....................................................................................................... 4
2.2. DISEO SISTEMTICO ................................................................................ 6
2.3. ANLISIS Y SINTESIS DE SISTEMAS ...................................................... 7
3.
AUTOMATISMOS COMBINACIONALES Y AUTOMATISMOS
SECUENCIALES ....................................................................................................... 8
4.
DISEO DE AUTOMATISMOS COMBINACIONALES ............................ 9
4.1. ALGEBRA DE BOOLE ................................................................................... 9
4.1.1. VARIABLE LGICA .................................................................................... 9
4.1.2. OPERACIONES LGICAS ELEMENTALES ....................................... 10
4.1.3. SMBOLOS LGICOS Y PROGRAMACIN DE FUNCIONES
LOGICAS COMBINACIONALES ELEMENTALES ............................................ 13
4.1.4. PROPIEDADES DEL LGEBRA DE BOOLE ...................................... 15
4.1.5. FUNCIONES LGICAS Y TABLAS DE VERDAD ............................... 16
4.1.6. SIMPLIFICACIN DE FUNCIONES LGICAS MEDIANTE TABLAS
DE KARNAUGH ....................................................................................................... 19
4.2. SISTEMAS DE NUMERACIN Y CODIFICACIN ................................ 28
4.2.1. SISTEMA DE NUMERACIN BINARIO................................................ 28
4.2.2. NMEROS NEGATIVOS EN SISTEMA BINARIO .............................. 30
4.2.3. CDIGO BCD ............................................................................................ 31
4.2.4. SISTEMA HEXADECIMAL ...................................................................... 31
4.2.5. CDIGO ASCII .......................................................................................... 33
4.2.6. CDIFICACIN DIGITAL DE IMGENES ........................................... 33
4.3. EJEMPLO DE SISTEMA COMBINACIONAL ........................................... 34
5.
DISEO DE AUTOMATISMOS SECUENCIALES .................................. 39
5.1. LA CELULA DE MEMORIA BSICA DE UN BIT: BIESTABLE R-S .... 39
5.2. DISEO DE SISTEMAS SECUENCIALES MEDIANTE BIESTABLES
R-S 43
5.3. EJEMPLO DE DISEO DE UN SISTEMA SECUENCIAL MEDIANTE
BIESTABLES R-S .................................................................................................... 46
5.4. GRAFCET ...................................................................................................... 51
5.4.1. ELEMENTOS BSICOS DEL GRAFCET ............................................. 52
5.4.2. REGLAS DE EVOLUCIN DEL GRAFCET ......................................... 60
5.4.3. ESTRUCTURAS EN GRAFCET ............................................................. 61
5.4.4. MACROETAPAS ....................................................................................... 69
5.4.5. DIAGRAMA DE BLOQUES FUNCIONALES (FBD), PROGRAMA EN
LENGUAJE LADDER (LD) Y PROGRAMA EN LENGUAJE
ESTRUCTURADO (ST) ASOCIADO AL GRAFCET ......................................... 71
5.4.6. EJEMPLO DE DISEO DE UN SISTEMA SECUENCIAL MEDIANTE
GRAFCET ................................................................................................................. 84
6.
BLOQUES FUNCIONALES DE PROPOSITO ESPECIAL .................... 90
6.1. TEMPORIZADORES .................................................................................... 90
6.2. CONTADORES ............................................................................................. 94
6.3. COMPARADORES ....................................................................................... 97

1. INTRODUCCIN
En un sistema automtico de control coexisten elementos de tipo
electromecnico, neumtico, hidrulico, electrnico, etc., de forma que se
necesita utilizar modelos y herramientas de diseo que permitan una
representacin y tratamiento comn de todos ellos para poder hacer un estudio
global del sistema de control de la planta.
Se emplearn mtodos sistemticos que permitan el tratamiento global del
sistema, estudiando los estados posibles de cada componente o bloque,
independientemente de su naturaleza fsica.
Dentro de los bloques o componentes podemos encontrarnos con subsistemas
lgicos, subsistemas digitales y con subsistemas analgicos.
Subsistema lgico: Son componentes o bloques del cual nos interesa slo
distinguir dos estados posibles. Por ejemplo, un interruptor abierto o cerrado,
un circuito que conduce o que no conduce, un motor en marcha o parado, una
temperatura / presin / altura mayor o menor que un lmite, etc. Se suele
identificar el estado de un componente lgico con una variable lgica
representada matemticamente por un bit, que toma slo los valores 0 y 1.
Subsistema digital: Son componentes o bloques en el que interesa distinguir
varios estados posibles, siempre que el nmero de estados posibles sea finito,
y por lo tanto numerable. Se identifican mediante una variable numrica, y
cada estado viene identificado por un conjunto de bits (bytes, para 8 bits,
palabras para 16 bits, o doble palabra pada 32 bits), de acuerdo con un
sistema de codificacin adoptado.
Subsistemas analgicos: Son componentes o bloques en los que sus
variables pueden adoptar infinitos estados posibles. El tratamiento de los
sistemas analgicos puros se estudiar en otro tema. No obstante, muchos
sistemas de control utilizan mtodos numricos para el tratamiento de seales
analgicas, truncando su valor a un nmero limitado de cifras significativas,
limitndose a tratar el sistema con un nmero finito de estados (sistema digital).
Se utiliza para ello, en las interfaces de las seales, convertidores analgicos /
digitales (entradas) y digitales / analgicos (salidas)
SISTEMAS
AUTOMATICOS

PARTES

TIPOS

TODO O NADA
SITEMAS DE
CONTROL
LOGICOS Y
DIGITALES

COMPONENTES
O BLOQUES

ANALOGICOS
CONVERTIDOS
A NUMERICOS

MODELO

VARIABLES

2
ESTADOS

LOGICAS
TIPO BIT 0/1

N FINITO
DE
ESTADOS

NUMERICAS
CONJUNTO
DE BITS
(BYTES,
PALABRAS,
DOBLE
PALABRA)

HERRAMIENTAS
DE DISEO
ALGEBRA DE
BOOLE
BIESTABLES
GRAFCET
ALGEBRA DE
BOOLE
BIESTABLES
GRAFCET
BLOQUES
FUNCIONALES
ESPECIALES

2. MODELOS, DISEO SISTEMATICO, ANLISIS Y SISTESIS


DE SISTEMAS
2.1. MODELOS
Los modelos son cualquier tipo de representacin de tipo matemtica o grfica,
que permita deducir el comportamiento del sistema ante unas condiciones de
entrada determinadas. Nos van a permitir estudiar el sistema de forma global
con independencia de la tecnologa utilizada.
Los esquemas de rels y los esquemas a base de puertas lgicas son modelos
grficos de los sistemas que representan. Los programas de los autmatas
programables y las funciones lgicas constituyen modelos matemticos del
sistema que representa.

El modelo no depende estrictamente del componente o subsistema, si no de lo


que realmente queremos observar del mismo. A continuacin se representa
una serie de componentes, y las variables que podemos observar en ellos,

algunas son de tipo lgico y otras de tipo numrico. Dependiendo de lo que nos
interese observar asignaremos una variable lgica o numrica. Ejemplo,
podramos estar interesado en si el motor est en marcha o parado (variable
lgica), o en cambio, podramos estar interesados en la velocidad del motor o
en el par que est entregando.
COMPONENTE

VARIABLES LGICAS

VARIABLES
NUMRICAS

0 Abierto.
1 Cerrado.

V = 0,1 V
I=5A

0 Bobina sin tensin


1 Bobina con tensin

V = xxxx (V)
ton = xxxx (s)

0 A1 A+

P1 = xxxx (bar)
P2 = xxxx (bar)

0 Motor parado
1 Motor en marcha

n = xxxx (rpm)
Mr = xxxx (N.m)

0 Temperatura < X C
1 Temperatura > X C

T = xxxx (C)

0 Nivel < h
1 Nivel > h
0 Caudal = 0
1 Caudal > 0

Nivel = xxxx (m3)


H= xxxx (m)
Q = xxxx (m3/h)

En un mismo sistema conviven variables de tipo lgico y de tipo numrico.


Adems, operaciones numricas pueden dar resultados lgicos, como es el
caso de las operaciones de comparacin (>, <, etc).
Tomemos como ejemplo el sistema de control del rumbo de un buque.
Dividimos el sistema en subsistemas o bloques ms simples, estudiando sus
variables de entrada y salida, y asignndole su modelado.

COMPONENTE
BUQUE
CAPARADOR
MAGNETICO
SELECTOR DE
RUMBO

ENTRADA
Magnitud
Tipo
Rumbo
Analgico
deseado

SALIDA
Magnitud
Tipo
Rumbo
Analgico
Seguido

MODELO
Magnitud
Tipo
1 ,2

Numricas

Orientacin

Analgico

Tensin

Analgico

2 , VF

Numricas

Botn
mando

Analgico

Tensin

Analgico

2 , VR

Numricas

COMPARADOR

VF , VR

Analgico

Tensin

Lgico

Numricas
Lgicas

RELES

+V V

Lgico

Contacto

Lgico

ELECTROVALVULAS

Tensin

Lgico

Presin

Lgico

CILINDRO

Presin

Lgico

Desplazamiento

Analgico

VR > VF 1
VF > VR 0
Cerrado
1
Abierto 0
Presin +
Presin Posicin
mbolo

TIMON

Posicin

Analgico

Rumbo
Seguido

Analgico

, 2

Numricas

Lgicas
Lgicas
Lgicas
Numricas

2.2. DISEO SISTEMTICO


El diseo sistemtico consiste en establecer un modelo matemtico o grfico,
con unas reglas de operacin que no admitan ambigedades.
El diseo sistemtico se basa en los siguientes principios:
-

Dividir el sistema en bloques. Estos bloques pueden ser muy globales y


posteriormente pueden ser divididos a su vez en bloques ms
elementales, hasta llegar al nivel de componentes.

Establecer para cada bloque las magnitudes de entrada y de salida.

Cada magnitud de entrada o salida se representar por una variable.


Estas variables podrn ser de tipo lgico o numrico, segn lo que
interese observar.

Determinar para cada bloque la funcin que relaciona las entradas con
las salidas, funcin de transferencia.

Dos bloques que tengan funciones de transferencia idnticas se


considerarn idnticos, con independencia de los componentes que los
formen y de su tecnologa.

2.3. ANLISIS Y SINTESIS DE SISTEMAS


El anlisis de un sistema parte de un sistema previamente construido y
pretende determinar su comportamiento, lo que es lo mismo, pretende conocer
sus salidas conociendo su estado inicial y sus entradas. El proceso de anlisis
es el siguiente:
-

Identificar los componentes.

Conocer para cada uno el modelo de comportamiento. Funcin de


transferencia.

Identificar las entradas de cada componente del sistema.

Identificar las salidas de cada uno de los componentes del sistema.

La sntesis de un sistema parte del comportamiento deseado de un sistema


(especificaciones), generalmente indicando la respuesta ante determinadas
condiciones de entrada y se pretende disear o construir un sistema que
obedezca a dicho comportamiento. El proceso de sntesis es el siguiente:
-

Dar la especificacin del sistema, indicando las salidas deseadas ante


determinadas condiciones iniciales y entradas.

Traducir dicha especificacin a una funcin de transferencia global del


sistema completo.

Elegir componentes de funcin de transferencia conocida o programable


y obtener la funcin de transferencia deseada.

3. AUTOMATISMOS COMBINACIONALES Y
AUTOMATISMOS SECUENCIALES
Automatismos combinacionales: Es aquel cuyas salidas dependen
nicamente del estado de sus entradas, con total independencia de cul sea el
estado inicial de partida, o el estado previo al cambio de las entradas. La
funcin o funciones de transferencia del sistema son simplemente funciones
lgicas que relacionan las salidas con slo con las entradas mediante
combinacin de funciones lgicas AND (Y lgico), OR (O lgico) y NOT
(negacin lgica). El nombre de combinacional deriva precisamente del hecho
de que las variables de salida dependen exclusivamente de la combinacin de
las variables de entrada que se aplique. Para una determinada combinacin de
entradas siempre se obtiene las mismas salidas.

Automatismos secuenciales: Es aquel cuyas salidas dependen del estado de


sus entradas y del estado inicial o previo al cambio de las entradas. En los
sistemas secuenciales la salida no slo depende de las entradas sino tambin
del estado en que se encontraba previamente. Estos sistemas deben de ser
capaces de memorizar su estado. Dichos estados se memorizan mediante
variables internas denominadas variables de estado. La denominacin
secuencial se debe precisamente a que el valor de las salidas depende de los

estados de las entradas y de la secuencia anterior de estados en dichas


entradas.
Como ejemplo de sistema secuencial podemos poner el esquema clsico de un
paro-marcha con rels. Donde se puede ver que para una misma combinacin
de entradas (ambos pulsadores desactivados) obtenemos dos salidas distintas
(rel activo y rel desactivo). Obsrvese el estado 0 y el estado 2 de la
siguiente tabla de evolucin de estados de un automatismo sencillo de paromarcha:

SISTEMAS
LOGICOS
COMBINACIONALES

VARIABLES
BASICAS
ENTRADAS
SALIDAS
INTERNAS
COMBINACIONALES

OPERACIONES

CARACTERISTICA

AND , OR , NOT

SECUENCIALES

ENTRADAS
SALIDAS
INTERNAS
COMBINACIONALES
INTERNAS DE
ESTADO

AND , OR , NOT
MEMORIA
(SET-RESET)

Las salidas son


independientes del
estado inicial. Son
una combinacin
lgica de las
entradas.
Las salidas
dependen del estado
inicial y de la
evolucin de las
entradas.

4. DISEO DE AUTOMATISMOS COMBINACIONALES


4.1. ALGEBRA DE BOOLE
4.1.1. VARIABLE LGICA
Muchos componentes utilizados en sistemas de control presentan dos estados
claramente diferenciables. A este tipo de componentes los llamaremos TODO o
NADA, o componentes lgicos, y a los automatismos basados en ellos
automatismos lgicos.
En los automatismos lgicos se manejan continuamente dos situaciones:
abierto / cerrado, conduce / no-conduce, activado / no-activado, mayor que /
menor que, etc .. siempre haciendo referencia a dos estados posibles de un
determinado componente.

Estos dos estados posibles de un componente lgico se representan por los


smbolos 1 y 0 lgicos. Con este simbolismo se pueden establecer leyes y
propiedades comunes a todos los componentes lgicos, independientemente
de su naturaleza fsica. De forma que trataremos igual un contacto de un rel (0
abierto, 1 cerrado) que un cilindro neumtico (0 contraido, 1 extendido) o que
una electrovlvula (0 no pasa, 1 pasa).
A todos estos elementos lgicos los representaremos mediante una variable
lgica, que slo puede adoptar dos valores, 0 1.
El conjunto de leyes y reglas de operaciones entre variables lgicas se
denomina lgebra de Boole.

4.1.2. OPERACIONES LGICAS ELEMENTALES


Suma lgica: Llamada tambin operacin O (OR en ingls). Operacin
entre dos variables lgicas A y B, representada por el smbolo +, definida por la
siguiente tabla de verdad:
A
0
0
1
1

B
0
1
0
1

A + B (A OR B)
0
1
1
1

Es decir, el resultado de la operacin O es 1 cuando una de las dos variables,


o las dos, vale1.
Se desprenden las siguientes reglas:
0 OR A = A
1 OR A = 1
Producto lgico: Llamada tambin operacin Y (AND en ingls). Operacin
entre dos variables lgicas A y B, representada por el smbolo , definida por
la siguiente tabla de verdad:
A
0
0
1
1

B
0
1
0
1

A B (A AND B)
0
0
0
1

Es decir, el resultado de la operacin Y es 1 slo cuando las dos variables


valen 1 simultneamente.
Se desprenden las siguientes reglas:

10

0 AND A = 0
1 AND A = A
Negacin: Tambin llamada operacin NO (NOT en ingls). Es una
operacin sobre una nica variable, representada por el smbolo , y definida
por la siguiente tabla de verdad:

0
1

(NOT(A))

1
0

Se desprenden las siguientes reglas:


=1
A OR A
=0
A AND A
=A
A
Cualquier relacin entre variables lgicas puede representarse por combinacin
de estas tres operaciones fundamentales.
Para ver el sentido prctico de estas operaciones tomaremos el ejemplo de los
automatismos con rels, estableciendo el siguiente convenio para las variables
lgicas:

El siguiente esquema, formado por dos contactos en paralelo que alimentan


una lmpara tiene el mismo comportamiento que la operacin lgica OR, por lo
tanto, podemos escribir L = a + b, o L = a OR b.

11

De forma que, poner contactos en paralelo equivale a establecer entre las


seales asociadas a ellos la operacin lgica OR o suma lgica (no confundir
con suma algebraica).
El siguiente esquema, formado por dos contactos en serie que alimentan una
lmpara tiene el mismo comportamiento que la operacin lgica AND, por lo
tanto, podemos escribir L = a b, o L = a AND b.

De forma que, poner contactos en serie equivale a establecer entre las seales
asociadas a ellos la operacin lgica AND o producto lgico (no confundir con
producto algebraica).
Y por ltimo, el uso de contactos normalmente cerrados tienen el mismo
comportamiento que la operacin lgica NOT, por lo tanto, podemos escribir L
=NOT (a), o = .

12

4.1.3. SMBOLOS LGICOS Y PROGRAMACIN DE


FUNCIONES LOGICAS COMBINACIONALES
ELEMENTALES
Resulta conveniente disponer de un mtodo grfico que permita representar la
estructura de un sistema fsico y poner de manifiesto las interconexiones en los
bloques que lo integran. Para ello se ha ideado una serie de smbolos que
permiten representar las funciones lgicas bsicas:

Los smbolos de la izquierda son los normalizados, y los de la derecha son


smbolos no normalizados que se han venido utilizando en electrnica digital
integrada durante mucho tiempo.
En el entorno de los autmatas programables, vamos a estudiar tres mtodos
de representacin / programacin:
-

Bloques funcionales (FB)


Ladder (LD).
Lenguaje estructurado (ST).

13

Cada una de las funciones bsicas del lgebra de Boole tienen la siguiente
programacin en estos tres lenguajes de autmatas programables:
Funcin lgica AND:
Bloque funcional:

Ladder:

Lenguaje estructurado:
(* Funcin lgica booleana combinacional "AND" (Y lgico) *)
IF Entrada_0 AND Entrada_1 THEN Salida_0:=1;
ELSE Salida_0:=0;
END_IF;
Nota: En lenguaje estructura el igual de asignacin es :=, a diferencia del
igual de comparacin que simplemente =. La sentencia es un IF muy similar
al de cualquier lenguaje de programacin de alto nivel. Todas las sentencias
combinacionales tendrn siempre esta estructura. Los comentarios se ponen
siempre entre (* y *).
Funcin lgica OR:
Bloque funcional:

Ladder:

14

Lenguaje estructurado:
(* Funcin lgica booleana combinacional "OR" (O lgico) *)
IF Entrada_2 OR Entrada_3 THEN Salida_1:=1;
ELSE Salida_1:=0;
END_IF;
Funcin lgica NOT:
Bloque funcional:

Nota: A la entrada o salida de cualquier bloque funcional se puede negar la


variable con un simple crculo.
Ladder:

Lenguaje estructurado:
(* Funcin lgica booleana combinacional "NOT" (NO lgico) *)
IF NOT Entrada_4 THEN Salida_2:=1;
ELSE Salida_2:=0;
END_IF;

4.1.4. PROPIEDADES DEL LGEBRA DE BOOLE


Propiedad conmutativa:
De la operacin OR:
A OR B = B OR A (A+B = B+A)
De la operacin AND:
A AND B = B AND A (AB = BA)
15

Propiedad asociativa:
De la operacin OR:
(A OR B) OR C = A OR (B OR C) = A OR B OR C
(A + B) + C = A + (B + C) = A + B + C
De la operacin AND:
(A AND B) AND C = A AND (B AND C) = A AND B AND C
(A B) C = A (B C) = A B C
Leyes de idempotencia
De La operacin OR:
A OR A = A, A + A = A
= 1, A + A
=1
A A

De la operacin AND:
A AND A = A, A A = A
= 0, A A
=0
A A
Propiedad distributiva:
De la operacin OR respecto a la operacin AND:
A AND (B OR C) = (A AND B) OR (A AND C)
A (B + C) = (A B) + (A C)
De la operacin AND respecto a la operacin OR:
A OR (B AND C) = (A OR B) AND (A OR C)
A + (B C) = (A + B) (A + C)
Leyes de Morgan:

B C
A B C = A

B
C
A+B+C+ =A

B C
A B C = A

ABC = A+B+C +

4.1.5. FUNCIONES LGICAS Y TABLAS DE VERDAD


Las relaciones entre las entradas y salidas de un sistema de control lgico
combinacional son ms complejas que simples funciones OR y AND con dos
variables. Las propiedades anteriores nos permiten hacer operaciones con dos
o ms variables y formar cualquier funcin lgica por combinacin de variables
y operaciones.

16

En el estudio de sistemas lgicos de control, nos interesen especialmente las


funciones como medio de relacionar una variable de salida con diversas
variables de entrada o variables internas del sistema.
Como las variables lgicas slo pueden tomar dos valores posibles, 0 1, el
nmero de combinaciones posibles de las entradas de un sistema lgico
combinacional es limitado. El nmero de combinaciones distintas que se
pueden formar con n variables lgicas es 2n. Esto permite expresar las
funciones en forma de tabla, indicando cunto vale una determinada salida S
en funcin de las variables de entrada (A, B, C, D ..). Dicha tabla recibe el
nombre de Tabla de Verdad.
As, la tabla de verdad para dos variables de entrada (A y B) y una determinada
salida S, tendra 4 (22) combinaciones posibles:
N
0
1
2
3

A
0
0
1
1

B
0
1
0
1

De la misma las tablas de verdad para tres y cuatro variables de entrada


tendran 8 y 16 combinaciones posibles:
N
0
1
2
3
4
5
6
7

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

N
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

B
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

C
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

D
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

El n decimal al lado de cada fila o combinacin es el nmero equivalente


decimal que representara las variables de entrada, considerando que cada
variable representa un dgito de un nmero codificado en el sistema de
numeracin binario (ver apartado 4.2.). Las tablas de verdad se construyen
siempre en el orden ascendente del nmero equivalente en decimal.

17

Para obtener expresin de la salida S en funcin de las variables de entrada A,


B, C, D (S=(A,B,C,D)) tenemos dos mtodos:
Mtodo 1. Suma de productos o funcin de miniterms.
-

Tmese cada combinacin que d salida 1 y frmese un producto


lgico de variables por cada fila, de forma que si una variable vale 0 en
aquella fila se coloca su complemento (variable negada), y si vale 1 se
coloca la variable sin complementar.
Escrbase la funcin que resulta de sumar (suma lgica) todos los
productos lgicos que se han sacado de cada fila segn el punto
anterior.

Mtodo 2. Producto de sumas o funcin de maxiterms.


-

Tmese cada combinacin que d salida 0 y frmese una suma lgica


de variables por cada fila, de forma que si una variable vale 0 en
aquella fila se coloca la variable sin complementar, y si vale 1 se
coloca su complemento (variable negada).
Escrbase la funcin que resulta de multiplicar (producto lgico) todas las
sumas lgica que se han sacado de cada fila segn el punto anterior.

Vamos a verlo de forma prctica con un ejemplo. Supongamos que para la


salida S de sistema lgico combinacional con cuatro variables de entrada (A, B,
C, D) deseamos que salida se active (1 lgico) slo si estn activadas A y B
C y D, pero no si estn las cuatro activadas.
La tabla de verdad y los trminos resultantes por cada mtodo sera la
siguiente:
N
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

B
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

C
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

D
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

S
0
0
0
1
0
0
0
1
0
0
0
1
1
1
1
0

miniterms

maxiterms
+++

+++
+ + +
+ + +

+ + +
+ + +
+ + +

+ + +
+ + +

+ + +

18

Por el mtodo 1, suma de productos, o mtodo de los miniterms, obtenemos:


= + + +
+ +


Abreviadamente se representa mediante la forma cannica de la suma de
productos con la siguiente expresin:
= (, , , ) = (3,7,11,12,13,14)
4

Por el mtodo 2, productos de sumas, o mtodo de los maxiterms, obtenemos:


) ( + + + ) ( + + + )
= ( + + + ) ( + + +

)
( + + + ) ( + + + ) ( + + + ) ( + + +
)
( + + + ) ( + + +
Abreviadamente se representa mediante la forma cannica del producto de
sumas con la siguiente expresin:
= (. . . ) = ( 0,1,2,4,5,6,8,9,10,15)
4

Uno de los mtodos da un funcin con menos trminos, lo cual representa un


programa ms corto en un autmata programable o menos componentes en
un sistema cableado.
No obstante, ambas expresiones se pueden simplificar como veremos a
continuacin.

4.1.6. SIMPLIFICACIN DE FUNCIONES LGICAS


MEDIANTE TABLAS DE KARNAUGH
Las funciones lgicas pueden simplificarse aplicando las propiedades
enunciadas anteriormente en el apartado 4.1.4. La simplificacin se basa
esencialmente en buscar trminos adyacentes y sacar factores comunes.
Trminos adyacentes: Dos trminos se dice que son adyacentes si tienen las
mismas variables, con el mismo estado de complementacin o negacin,
excepto una. Por ejemplo, en la siguiente funcin:
= + + +
+ +


Los trminos y son adyacentes, puesto que contienen
las mismas variables y slo la variable B aparece en uno con complemento y
en otro no. Si aplicamos la propiedad distributiva entre esos dos trminos
(sacar factor comn) obtenemos:
19

+ = ( + ) =
Ya que ( + ) = 1.
Para poner en evidencia los trminos adyacentes se recurre a las tablas de
Karnaugh.
Estas tablas contienen los 2n trminos de la salida S, como las tablas de
verdad, pero dispuestos en forma de filas y columnas, de tal forma que las filas
y las columnas contiguas contienen trminos adyacentes (slo cambia de
estado de negacin una variable). Igualmente, la primera y la ltima fila, y la
primera y la ltima columna son adyacentes entre s.
Tablas de Karnaugh de 2, 3, 4 y 5 variables de entrada:
A 0

B
0
1
AB 00
C
0
1

01

11

10

En la tabla de 3 variables la primera y ltima columna tambin son adyacentes


entre s.
AB 00
CD
00
01
11
10

01

11

10

En la tabla de 4 variables la primera y ltima columna as como la primera y


ltima fila tambin son adyacentes entre s.
ABC 000 001
DE
00
01
11
10

011 010

100 101

111 110

En la de tabla de 5 variables est formada por dos tablas de 4 variables. Cada


casilla de una de las semi-tablas de 4 variables es adyacente con la casilla que
ocupa el mismo lugar de la otra semi-tabla. Se pueden ver los trminos
adyacentes superponiendo ambas semi-tablas.

20

Procedimiento para miniterms


El procedimiento a seguir para simplificar una funcin lgica expresada como
suma de productos o miniterms mediante tablas de Karnaugh es el siguiente:
1 En primer lugar se procede al desarrollo de los miniterms de la expresin
booleana a partir de la tabla de verdad.
2 El segundo paso consiste en colocar un 1 en las casillas del mapa de
Karnaugh que coinciden con las mismas combinaciones de las variables de
entrada donde hay un 1 en la tabla de verdad.
3 El tercer paso consiste en agrupar las casillas adyacentes que contengan un
1 en grupos de potencias de 2 (1, 2, 4, 8, 16 ..) Las casillas adyacentes son
aquellas en las que de una a la otra solamente una variable cambia de estado
de negacin. Los grupos pueden compartir casillas. Hay que tratar de hacer los
grupos con el mayor nmero de casillas posibles, e intentar que salgan el
menor nmero de grupos posibles.
4 En el cuarto paso se procede a simplificar variables. La forma de simplificar
consiste en eliminar de cada grupo aquellas variables que cambian de estado
de negacin. Las variables que permanezcan inalteradas pasarn a formar un
trmino miniterm simplificado, formado por el producto lgico de las variables
que no cambian de estado de negacin, de forma que si una variable vale 0
en la casilla se coloca su complemento (variable negada), y si vale 1 se
coloca la variable sin complementar.
5 Se forma la expresin lgica simplificada como una suma lgica (operacin
OR) de los miniterms simplificados obtenidos en el paso anterior
Veamos el procedimiento con una funcin lgica combinacional de tres
entradas, cuya tabla de verdad es la siguiente:
N
0
1
2
3
4
5
6
7

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

S
0
1
1
1
0
1
0
1

La funcin lgica de suma de productos de esta tabla de verdad es la siguiente:


= + + + +
Procedemos a simplificar mediante el mtodo de Karnaugh, formando el mapa
de 3 variables, colocando los 1 en sus casillas correspondientes:

21

AB 00
C
0
1
1

01

11

10

1
1

Podemos formar dos, uno de dos casillas y otro de cuatro casillas, para tener el
menor nmero de grupos con el mayor nmero de 1 en cada grupo.
En el grupo de dos 1 cambia de estado de negacin la variable C, por lo tanto
. Est formado
el miniterm simplificado correspondiente a este grupo es
por las variables que no cambian de estado de negacin (Ay B), con su
correspondiente estado de negacin.
En el grupo de cuatro 1 cambian de estado de negacin tanto la variable A
como la variable B, por lo tanto el miniterm simplificado correspondiente a este
grupo es . Obsrvese que cuanto mayor es el grupo ms simplificado es el
miniterm.
La funcin lgica simplificada est formada por la suma lgica de los miniterms
obtenidos:

=+
El diagrama de bloques funcionales correspondiente a esta funcin lgica es el
siguiente:

El programa para autmatas programables en lenguaje ladder (LD)


correspondiente a esta funcin simplificada es el siguiente:

Y por ltimo, el programa para autmatas programables en lenguaje


estructurado (ST) correspondiente a esta funcin simplificada es el siguiente:
(* Funcin lgica booleana combinacional *)
IF C OR NOT A AND B THEN S:=1;
ELSE S:=0;
END_IF;

22

Ahora vamos a repetir el procedimiento con una funcin lgica combinacional


de cuatro entradas, cuya tabla de verdad es la siguiente:
N
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

B
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

C
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

D
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

S
0
1
0
1
0
1
1
1
0
1
0
1
0
1
0
1

La funcin lgica correspondiente sin minimizar es:


+ +
= + + +

+++
La tabla de Karnaugh correspondiente es:
AB 00
CD
00
01
1
11
1
10

01

11

10

1
1
1

1
1

1
1

Se observa que se pueden formar dos grupos para que la funcin quede lo ms
simplificada posible, un grupo de 8 y otro de 2.
La funcin simplificada en este caso sera:

=+
El diagrama de bloques funcionales correspondiente a esta funcin lgica es el
siguiente:

23

El programa para autmatas programables en lenguaje ladder (LD)


correspondiente a esta funcin simplificada es el siguiente:

Y por ltimo, el programa para autmatas programables en lenguaje


estructurado (ST) correspondiente a esta funcin simplificada es el siguiente:
(* Funcin lgica booleana combinacional *)
IF D OR NOT A AND B AND C THEN S:=1;
ELSE S:=0;
END_IF;
Al proceder a la agrupacin de las Casillas adyacentes de 1, debe observarse
cuidadosamente la naturaleza adyacente de las Casillas situadas en los
extremos superior, inferior y los dos laterales. A este respecto ha de
considerarse que la tabla se cierra en forma cilndrica por los extremos, de tal
manera que sus casillas superior e inferior, y lateral derecha e izquierda so
adyacentes respectivamente.
En las siguientes figuras se muestran algunos agrupamientos de casillas
aparentemente distanciadas en la tabla, pero de carcter adyacente.
AB 00
C
0
1
1

01

11

10

=
AB 00
CD
00
01
11
10

01

11

10

24

AB 00
CD
00
01
1
11
1
10

01

11

10

1
1

=
AB 00
CD
00
1
01
11
10
1

01

11

10
1

=
Procedimiento para maxiterms
El procedimiento a seguir para simplificar una funcin lgica expresada como
productos de sumas o maxiterms mediante tablas de Karnaugh es el siguiente:
1 En primer lugar se procede al desarrollo de los maxiterms de la expresin
booleana a partir de la tabla de verdad.
2 El segundo paso consiste en colocar un 0 en las casillas del mapa de
Karnaugh que coinciden con las mismas combinaciones de las variables de
entrada donde hay un 0 en la tabla de verdad.
3 El tercer paso consiste en agrupar las casillas adyacentes que contengan un
0 en grupos de potencias de 2 (1, 2, 4, 8, 16 ..) Las casillas adyacentes son
aquellas en las que de una a la otra solamente una variable cambia de estado
de negacin. Los grupos pueden compartir casillas. Hay que tratar de hacer los
grupos con el mayor nmero de casillas posibles, e intentar que salgan el
menor nmero de grupos posibles.
4 En el cuarto paso se procede a simplificar variables. La forma de simplificar
consiste en eliminar de cada grupo aquellas variables que cambian de estado
de negacin. Las variables que permanezcan inalteradas pasarn a formar un
trmino maxiterm simplificado, formado por la suma lgica de las variables que
no cambian de estado de negacin, de forma que si una variable vale 0 en la
casilla se coloca la variable sin complementar, y si vale 1 se coloca la
variable complementada (variable negada).
5 Se forma la expresin lgica simplificada como un producto lgico
(operacin AND) de los maxiterms simplificados obtenidos en el paso anterior
Veamos el procedimiento con una funcin lgica combinacional de tres
entradas, cuya tabla de verdad es la siguiente:
25

N
0
1
2
3
4
5
6
7

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

S
0
1
1
1
0
1
0
1

La funcin lgica de producto de sumas de esta tabla de verdad es la siguiente:


= ( + + ) ( + + ) ( + + )
Procedemos a simplificar mediante el mtodo de Karnaugh, formando el mapa
de 3 variables, colocando los 0 en sus casillas correspondientes:
AB 00
C
0
0
1

01

11

10

El grupo de dos 0 juntos cambia de estado de negacin la variable B, por lo


+ . Est
tanto el maxiterm simplificado correspondiente a este grupo es
formado por las variables que no cambian de estado de negacin (A y C), con
su correspondiente estado de negacin considerando que estamos trabajando
con maxiterms.
En el grupo de dos 0 formado al ser adyacentes primera y ltima columnas
cambia de estado de negacin tanto la variable A, por lo tanto el maxiterm
simplificado correspondiente a este grupo es + .
La funcin lgica simplificada est formada por el producto lgico de los
maxiterms obtenidos:
+ ) ( + )
= (
El diagrama de bloques funcionales correspondiente a esta funcin lgica es el
siguiente:

26

El programa para autmatas programables en lenguaje ladder (LD)


correspondiente a esta funcin simplificada es el siguiente:

Y por ltimo, el programa para autmatas programables en lenguaje


estructurado (ST) correspondiente a esta funcin simplificada es el siguiente:
(* Funcin lgica booleana combinacional *)
IF (NOT A OR C ) AND (B OR C ) THEN S:=1;
ELSE S:=0;
END_IF;
Trminos que no importan en las tablas de Karnaugh
Se denominan trminos que no importan a aquellos que se derivan de
combinaciones de las variables de entrada que no van a producirse nunca o
que el sistema combinacional no es receptivo a dicha combinacin.
Los trminos que no importan, se escriben en la casilla correspondiente
mediante una X, de forma que a la hora de simplificar se tomar como 0 o
como 1 a conveniencia.
AB 00
CD
00
01
11
10

01

11
1
X
1
1

10

Se puede observar que el trmino , que no importa para el sistema


combinacional, conviene que valga 1 para obtener una mejor simplificacin
por el mtodo de los miniterms.

27

4.2. SISTEMAS DE NUMERACIN Y CODIFICACIN


Los autmatas programables, los ordenadores y otros equipos electrnicos
capaces de ejecutar clculos y de efectuar tratamiento de textos e imgenes
manejan informacin en formato digital.
La informacin en formato digital es aquella que se codifica mediante un
conjunto de variables de tipo binaria, bit, donde cada bit puede tomar los
valores 0 1.
En funcin del cdigo empleado para el conjunto de bits, el sistema digital
puede manejar varios tipos de variables. Lo ms habituales son los siguientes:
-

Variable lgica o bit: Slo puede tomar dos valores, 0 1. Puede


representar dos estados: Abierto/Cerrado, Nivel Alto/Bajo

Variables numricas: Representan una magnitud. Se codifican mediante


un conjunto de unos y ceros. Ejemplo: 01010110 representa el nmero
86 en sistema binario.

Caracteres alfabticos: Los caracteres alfabticos se codifican mediante


cdigos numricos equivalentes, el ms comn es el ASCII.

Matriz de bits: Es una matriz que puede representar mucho tipo de


informacin, como por ejemplo imgenes.

4.2.1. SISTEMA DE NUMERACIN BINARIO


El sistema de numeracin que empleamos normalmente es el decimal, tambin
denominado en base diez, ya que dispone de diez smbolos para representar
los nmeros entre el 0 y el 9. Cualquier nmero superior se representa por un
conjunto de cifras de estos smbolos.
Los smbolos tienen distinto valor dependiendo de la posicin que ocupan
dentro del nmero que representan. Es decir, que en funcin de la posicin
llevan asociado un peso, que en el caso del sistema decimal son las potencias
sucesivas de diez: 100 = 1, 101 =10, 102 = 100 etc. Se dice que 10 es la
base del sistema de numeracin. Por ejemplo, en el n 555, cada 5 tiene un
valor en funcin de la posicin que ocupa:

28

En el caso del sistema binario la base es 2 y los smbolos son 0 y 1.


En el sistema binario cualquier nmero superior a 1 necesita ms de una cifra.
En el sistema binario los pesos en funcin de la posicin del smbolo se
obtienen de forma anloga al sistema decimal, por lo tanto tendrn los
siguientes valores: 20 = 1, 21 = 0, 22 = 4, 23 = 8, .. etc.
La siguiente figura muestra la representacin del nmero decimal 182 en el
sistema de numeracin binario:

Conversin de un nmero binario a decimal


Si el nmero binario viene representado por el conjunto de bits: B 0, B1, B2,
Bn, donde B0 es el bit de menor peso (LSB, less significat bit), y Bn es el de
mayor peso (MSB, more significant bit), la conversin a decimal obedece a la
siguiente frmula:
= 0 20 + 1 21 + 2 22 + + 2
Conversin de un nmero decimal a binario
Se divide el nmero decimal sucesivamente por 2 tantas veces como haga falta
haga falta hasta que el resto de la divisin sea 1 0. El nmero binario se
forma con los restos sucesivos y el ltimo cociente, ste ocupando la posicin
del bit ms significativo:

29

4.2.2. NMEROS NEGATIVOS EN SISTEMA BINARIO


Los sistemas electrnicos digitales son capaces de realizar operaciones
elementales de suma, resta, multiplicacin y divisin de nmeros enteros en el
sistema binario. Las operaciones con decimales y otras operaciones ms
complejas se realizan mediante rutinas que utilizan como base las operaciones
elementales.
Es necesario poder codificar tambin los nmeros negativos en el sistema
binario. Se dispone de dos mtodos:
Mtodo signo/mantisa
Consiste en emplear el mismo patrn de unos y ceros que tendra el nmero
positivo, y se le aade un bit adicional de signo, que tomara valor 0 para
los nmeros positivos, y 1 para los nmeros negativos.
Este mtodo tiene el inconveniente de la suma de un nmero y de su
correspondiente negativo no da como resultado cero. Luego este mtodo es
matemticamente inconsistente.

Mtodo de complemento a 2
El nmero negativo se obtiene cambiando los ceros por unos y los unos por
ceros en su positivo correspondiente (complemento a 1), y a continuacin, al
resultado de la inversin de dgitos se le suma 1 (suma aritmtica).
Se puede comprobar que al sumarle a un nmero binario positivo su
correspondiente complemento a 2 el resultado da cero. Siempre se desprecia
el bit de desbordamiento, es decir, si trabajamos con bytes (conjunto de 8 bits),
se desprecia el noveno bit.

30

4.2.3. CDIGO BCD


Como estamos ms acostumbrados al sistema decimal que al binario, para
mayor comodidad, se suele recurrir en los sistemas digitales a codificar las
cifras decimales en binario con 4 bits, segn se muestra en la siguiente tabla:
DECIMAL
0
1
2
3
4
5
6
7
8
9

BCD
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001

As, por ejemplo, el n 1358 se representara como: 0001 0011 0101 1000
(1) (3) (5)
(8)
El sistema BCD no es coherente con las operaciones aritmticas, emplendose
exclusivamente como mtodo de entrada y salida de datos. Las mquinas
electrnicas digitales operan en binario.

4.2.4. SISTEMA HEXADECIMAL


El sistema binario requiere el manejo de muchas cifras para expresar nmeros
relativamente pequeos. Para evitar esto se suelen representar los grupos de
cada 4 bits en forma de cdigo hexadeciamal, donde se disponen de 16
smbolos para representar los nmeros (0 - 9, y de A - F).

31

DECIMAL BINARIO
0
0000
1
0001
2
0010
3
0011
4
0100
5
0101
6
0110
7
0111
8
1000
9
1001
10
1010
11
1011
12
1100
13
1101
14
1110
15
1111

HEXADECIMAL
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F

El sistema hexadecimal es coherente respecto a las operaciones aritmticas.


Se trata de un sistema en base 16. La conversin a decimal y viceversa es
similar a la mostrada para el sistema binario, nicamente hay que tener en
cuenta que la base es 16.
Conversin de hexadecimal a decimal

Conversin de decimal a hexadecimal

Conversin de hexadecimal a binario


Se obtiene directamente de la tabla:

32

3AB5 = 0011 1010 1011 0101


(3) (A) (B) (5)
Conversin de binario a hexadecimal
Se separa el nmero binario en grupos de 4 dgitos, de derecha a izquierda, y
se busca en la tabla el smbolo hexadecimal correspondiente:
1000 1111 0001 1100 = 8F1C

4.2.5. CDIGO ASCII


Es el mtodo ms utilizado para codificar textos y almacenarlos en las
memorias internas de los sistemas digitales:

4.2.6. CDIFICACIN DIGITAL DE IMGENES


Las imgenes se codifican mediante matrices de bits.
En el caso ms sencillo, imgenes en blanco y negro o bicolor, un 1
representa un color de una determinada posicin de la imagen, y un 0
represente el otro color. A continuacin se muestra la codificacin de un
cuadrado negro sobre fondo blanco en una matriz binaria.

33

4.3. EJEMPLO DE SISTEMA COMBINACIONAL


Se desea disear el sistema de control de la machacadora de ridos
representada en la siguiente figura:

Las especificaciones del sistema son las siguientes:


-

M3 se pone en marcha con el interruptor M.

34

M2 se pone en marcha siempre que est en marcha M3 y no se detecta


sobrecarga en la machacadora (rel RI normalmente cerrado sin
sobrecarga).

M1 se pone en marcha si lo est M2 y M3.

Cada motor est protegido por un rel trmico (RT1, RT2, RT3,
normalmente cerrado sin sobrecarga).

Debe sonar una alarma si M1 est en marcha y se paran M2 M3, y si


M2 est en marcha y se para M3.

Primero tenemos que sacar la tabla de verdad de cada salida (M1, M2, M3 y
AL) en funcin de las entradas de las que depende.
Para el motor M1 (contactor K1), la tabla de verdad es la siguiente:
N
0
1
2
3
4
5
6
7

K2
0
0
0
0
1
1
1
1

K3
0
0
1
1
0
0
1
1

RT1
0
1
0
1
0
1
0
1

K1
0
0
0
0
0
0
0
1

La funcin lgica correspondiente a esta tabla, que no tiene simplificacin


puesto que tiene una nica condicin que da salida 1, es la siguiente:
1 = 2 3 1
Para el motor M2 (contactor K2), la tabla de verdad es la siguiente:
N
0
1
2
3
4
5
6
7

K3
0
0
0
0
1
1
1
1

RI
0
0
1
1
0
0
1
1

RT2
0
1
0
1
0
1
0
1

K2
0
0
0
0
0
0
0
1

La funcin lgica correspondiente a esta tabla, que no tiene simplificacin


puesto que tiene una nica condicin que da salida 1, es la siguiente:
2 = 3 2

35

Para el motor M3 (contactor K3), la tabla de verdad es la siguiente:


N
0
1
2
3

M
0
0
1
1

RT3
0
1
0
1

K3
0
0
0
1

La funcin lgica correspondiente a esta tabla, que no tiene simplificacin


puesto que tiene una nica condicin que da salida 1, es la siguiente:
3 = 3
Por ltimo, para la salida de alarma (AL), la tabla de verdad es la siguiente:
N
0
1
2
3
4
5
6
7

K1
0
0
0
0
1
1
1
1

K2
0
0
1
1
0
0
1
1

K3
0
1
0
1
0
1
0
1

AL
0
0
1
0
1
1
1
0

Cmo tenemos ms de una condicin que activa la salida, la funcin lgica


correspondiente a esta tabla de verdad puede tener simplificacin.
La funcin lgica sin simplificar es la siguiente:
=
1 2
3 + 1
2
3 + 1
2 3 + 1 2
3
La tabla de Karnaugh de tres variables para esta funcin lgica es la siguiente:
K1K2 00
K3
0
0
1
0

01

11

10

1
0

1
0

1
1

La funcin lgica simplificada es la siguiente:


+ 1 2

= 2 3
Por lo tanto, las ecuaciones lgicas de nuestro sistema de control son las
siguientes:
1 = 2 3 1
2 = 3 2
3 = 3

36

+ 1 2

= 2 3
El diagrama de bloques funcionales correspondiente a estas funciones lgicas
es el siguiente:

El programa para autmatas programables en lenguaje ladder (LD) es el


siguiente:

Y por ltimo, el programa para autmatas programables en lenguaje


estructurado (ST) correspondiente a estas funciones es el siguiente:
(*Control de una machacadora de aridos*)
(*Control del motor M1*)
IF K2 AND K3 AND RT1 THEN K1:=1;
ELSE K1:=0;
END_IF;
(*Control del motor M2*)
IF K3 AND RI AND RT2 THEN K2:=1;
37

ELSE K2:=0;
END_IF;
(*Control del motor M3*)
IF M AND RT3 THEN K3:=1;
ELSE K3:=0;
END_IF;
(*Control de la alarma*)
IF K2 AND NOT K3 OR K1 AND NOT K2 THEN AL:=1;
ELSE AL:=0;
END_IF;
El esquema de conexionado de las entradas y salidas del sistema con el
autmata programable es el siguiente:

Este esquema de conexionado de entradas y salidas va a ser siempre igual, ya


que la forma de conectar las entradas y las salidas al autmata es
independiente de la lgica de control, puesto que se trata de un hardware
estndar. La lgica de control queda implementada en el sistema a travs de la
programacin del usuario (software).
El software se prepara mediante la aplicacin que nos facilita el fabricante del
autmata, pudiendo utilizar uno de los lenguajes comentados en el desarrollo
del tema: bloques funcionales, ladder o programacin estructurada.
La arquitectura interna y externa de los autmatas programables se
desarrollar en los prximos temas.

38

5. DISEO DE AUTOMATISMOS SECUENCIALES


Definimos los automatismos secuenciales como aquellos cuyas salidas
dependen del estado de sus entradas y del estado inicial o previo al cambio de
las entradas. En los sistemas secuenciales la salida no slo depende de las
entradas sino tambin del estado en que se encontraba previamente. Estos
sistemas deben de ser capaces de memorizar su estado. Dichos estados se
memorizan mediante variables internas denominadas variables de estado. La
denominacin secuencial se debe precisamente a que el valor de las salidas
depende de los estados de las entradas y de la secuencia anterior de estados
en dichas entradas.

5.1. LA CELULA DE MEMORIA BSICA DE UN BIT:


BIESTABLE R-S
Los automatismos secuenciales necesitan memorizar su estado. La clula de
memoria bsica de un bit para la memorizacin de estados de un automatismo
secuencial es el biestable R-S.
El biestable R-S se construye a base de dos puertas OR, con las salidas
negadas, tambin denominadas puertas NOR, interconectadas segn se
muestra en la siguiente figura:

Analicemos el funcionamiento del biestable R-S, suponiendo que se parte del


estado de estable en el que las entradas A = 0, B = 0 y la salida S = 0. Vamos
a ir aplicando la secuencia:
1) A=0, B=0
2) A=1, B=0
3) A=0, B=0
4) A=0, B=1
5) A=0, B=0
1) A=0, B=0, S=0
Al ser A=0 y la salida S=0, la salida de la puerta OR superior vale 0, y por lo
tanto la variable Y vale 1 (negado de la salida de la puerta OR superior).

39

Como Y=1 y B=0, la salida de la puerta OR inferior vale 1, y por lo tanto la


salida S vale 0 (negado de la puerta OR inferior).
De forma que este estado es estable: A=0, B=0 y S=0.
2) A=1, B=0
Cambia de estado la entrada A. Al ser A=1 y la salida S=0, la salida de la
puerta OR superior vale 1, y por lo tanto la variable Y vale 0.
Como Y=0 y B=0, la salida de la puerta OR inferior vale 0, y por lo tanto la
salida S cambia a 1.
Hay que analizar cmo afecta el cambio de estado de la salida S en la puerta
OR superior, para determinar si el cambio de estado es estable.
Al ser A=1 y la salida S=1, la salida de la puerta OR superior vale 1, y por lo
tanto la variable Y vale 0. Confirmndose de esta forma la estabilidad de este
estado: A=1, B=0, S=1.
3) A=0, B=0
Cambia de nuevo de estado la entrada A. Al ser A=0 y la salida S=1, la salida
de la puerta OR superior vale 1, y por lo tanto la variable Y vale 0.
Como Y=0 y B=0, la salida de la puerta OR inferior vale 0, y por lo tanto la
salida S permanece en 1. Confirmndose de esta forma la estabilidad de este
estado: A=0, B=0, S=1.
Ya se puede observar que se trata de un sistema secuencial, ya que una
misma combinacin de entradas da como resultado distintas salidas. El valor
de la salida ha venido determinado por la secuencia de cambios de la entrada y
el valor previo de la salida.
4) A=0, B=1
Cambia de estado la entrada B. Al ser A=0 y la salida S=1, la salida de la
puerta OR superior vale 1, y por lo tanto la variable Y vale 0.
Como Y=0 y B=1, la salida de la puerta OR inferior vale 1, y por lo tanto la
salida S cambia a 0.
Hay que analizar cmo afecta el cambio de estado de la salida S en la puerta
OR superior, para determinar si el cambio de estado es estable.
Al ser A=0 y la salida S=0, la salida de la puerta OR superior vale 1, y por lo
tanto la variable Y vale 0. Confirmndose de esta forma la estabilidad de este
estado: A=0, B=1, S=0.

40

5) A=0, B=0
Cambia de estado la entrada B. Al ser A=0 y la salida S=0, la salida de la
puerta OR superior vale 0, y por lo tanto la variable Y cambia a 1.
Como Y=1 y B=0, la salida de la puerta OR inferior vale 1, y por lo tanto la
salida S permanece en 0. Confirmndose de esta forma la estabilidad de este
estado: A=0, B=1, S=0.
Se observa por lo tanto que el cambio de 0 a 1 en la entrada A provoca la
activacin de la salida S. Permaneciendo la salida S activa incluso si la entrada
A cambia de nuevo de 1 a 0. Es decir, un pulso (0-1-0) en la entrada A activa la
salida S, dejndola activada. Se dice que la entrada A es la entrada de SET
del biestable RS, ya que fija la salida S en 1 (memorizar un 1).
Igualmente, se observa que el cambio de 0 a 1 de la entrada B provoca la
desactivacin de la salida S. Permaneciendo la salida S desactiva incluso si la
entrada B cambia de nuevo de 1 a 0. Es decir, un pulso (0-1-0) en la entrada B
desactiva la salida S, dejndola desactivada. Se dice que la entrada B es la
entrada de RESET del biestable RS, ya que fija la salida S en 0 (memorizar
un 0).
Por lo tanto, en un biestable RS un pulso en SET activa la salida S y la deja
activa, y un pulso en RESET desactiva la salida S y la deja desactiva
La siguiente tabla resume la evolucin de la salida del biestable RS en funcin
del estado anterior y de los cambios en las entradas:
PASO
N
1
2
3
4
5

ENTRADAS
A
B
0
0
1
0
0
0
0
1
0
0

SALIDA
S
0
1
1
0
0

La tabla anterior no es una tabla de verdad, si no una tabla de evolucin de


estados. La diferencia entre ambas es que en una tabla de verdad podemos
deducir el estado de la salida sin ms que elegir la fila de entradas. En cambio,
en una tabla de evolucin se indica una sucesin de estados en que cada fila
tiene como estado inicial la fila anterior.
El biestable RS constituye el elemento ms simple de memoria de un bit lgico.
El circuito del biestable RS se representa como un nico bloque funcional, cuyo
smbolo es el siguiente:

41

El programa para autmatas programables en lenguaje ladder (LD) de un


biestable RS es la siguiente:

El programa para autmatas programables en lenguaje estructurado (ST) de un


biestable RS es el siguiente:
(*Memorizar un 1 en S con un pulso en A*)
IF A THEN SET (S);
END_IF;
(*Memorizar un 0 en S con un pulso en B*)
IF B THEN RESET (S);
END_IF;
Por lo tanto, un biestable es un dispositivo capaz de mantener indefinidamente
el estado de su salida a 0 o a 1 mientras el autmata permanezca en
funcionamiento y no se ordene un pulso de mando que lo modifique.
El biestable RS es el elemento secuencial ms sencillo, capaz de mantener el
mismo estado lgico para distintas combinaciones de sus entradas de mando:
como este estado depende de a secuencia de valores de entrada, y no de su
combinacin actual, se dice que el elemento posee memoria.
El biestable RS se utiliza como unidad de memoria, capaz de recordar el
estado de una seal aunque esta hay sido de corta duracin (pulso). La nica
forma de desactivar su salida es ordenando de forma explcita un RESET.
La combinacin de entradas SET y RESET a la vez a 1 no se contempla, y no
debe utilizarse. Sin embargo en la ejecucin en un programa secuencial en un
autmata programable esta contradiccin se resuelve por el hecho de que las
ordenes no son simultaneas, sino sucesivas, y por lo tanto el resultado final es
la ltima orden en ejecutarse en la secuencia del programa.
El diagrama temporal del biestable RS es el siguiente:

42

5.2. DISEO DE SISTEMAS SECUENCIALES MEDIANTE


BIESTABLES R-S
La estructura general de los sistemas lgicos secuenciales es que estn
formados por interconexiones de bloques combinacionales, donde aparece en
ellos una variable interna que se introduce de nuevo como entrada (ej: la
variable Y del circuito del biestable RS). Este tipo de variables internas hace
que la respuesta del sistema ya no dependa exclusivamente de las entradas,
sino que dependa tambin del estado interno. Estas variables se les denomina
variables de estado.
La estructura general de un sistema secuencial se muestra en la siguiente
figura, que se conoce como estructura de Mealy:

INTERNAS COMBINACIONALES

SISTEMA
COMB.

SALIDAS

ENTRADAS
SISTEMA
COMB.
MEMORIA
BIESTABLES
R-S

INTERNAS DE ESTADO

Desde el punto de vista del modelo matemtico, las funciones de transferencia


de un sistema secuencial siguen siendo funciones lgicas, pero que contienen
variables internas que se guardan en memorias (biestables RS), para conocer
el estado del sistema y su evolucin anterior.
Por lo tanto, para poder construir sistemas secuenciales con una determinada
tecnologa debe disponerse en ella de una clula de memoria bsica de un bit.
Esta clula es el biestable RS.
El concepto de variable interna es importante en el mundo de los autmatas
programables y se refiere de forma general a las variables que tienen conexin
con el exterior, que se utilizan para clculos lgicos internos.

43

No debe confundirse el concepto de variable interna con el de variable de


estado.
Las variables que intervienen en un automatismo lgico las podemos clasificar
como:

Las entradas de un bloque son variables independientes, donde su estado


vara de acuerdo a unas condiciones u rdenes externas no controlables por el
propio bloque. Dichas variables pueden ser a su vez salidas de un bloque
anterior o dependientes a su vez de otras.
Las variables internas son aquellas que elabora el sistema a partir de las
entradas y eventualmente a partir de otras variables internas. Dentro de las
variables internas podemos distinguir dos tipos:
-

Combinacionales: Dependientes slo de las entradas.


De estado: Memorizacin de la evolucin del sistema.

Las variables de salida son, en el caso ms general, variables dependientes


de las entradas y de las variables de estado.
Si un bloque secuencial forma parte de un sistema ms amplio y sus entradas
proceden de otro bloque previo pasaran a tener la condicin de variables
internas del sistema. En la siguiente figura, en el bloque B, el conjunto de
seales ZA y XB son variables de entrada, y ZB e YB seran las salidas; pero en
este mismo bloque, considerando el sistema completo, todas las variables
seran internas.

44

A continuacin se expone una sistemtica para disear un sistema secuencial


utilizando biestables RS. Los pasos a seguir seran los siguientes:
-

Determinar el nmero de estados del sistema.

El sistema necesitar como mnimo n biestables, en funcin del


nmero de estados determinados anteriormente. Se debe cumplir la
siguiente relacin: 2n > n de estados. De forma que, combinando con
funciones lgicas combinacionales las salidas de los n biestables,
podamos generar los distintos estados y las variables de salida del
sistema. Puede resultar cmodo asignar un biestable a cada variable de
salida fsica del sistema.

Determinar las funciones lgicas combinacionales que controlan las


entradas SET (memoriza un 1) / RESET (memoriza un 0) de cada
biestable. Estas funciones lgicas sern funciones combinacionales de
las variables de entrada y de las salidas de los biestables de estado.

Determinar el diagrama de bloques funcionales del sistema.

En caso de implementarlo con autmatas programables:


o Escribir el programa del automatismo lgico en lenguaje ladder
(LD) y/o en lenguaje estructurado (ST).
o Realizar el esquema de interconexin del autmata programable
con las entradas y salidas del sistema.

En el siguiente apartado se desarrolla un sencillo ejemplo de acuerdo con esta


metodologa.

45

5.3. EJEMPLO DE DISEO DE UN SISTEMA SECUENCIAL


MEDIANTE BIESTABLES R-S
Disear el automatismo de control de una bomba elctrica de trasiego de
combustible.
El sistema de control dispondr de los siguientes controles:
-

Selector Manual/Automtico (MA). Contacto abierto en la posicin


manual (0 en el autmata) y cerrado en la posicin automtico (1 en
el autmata).
- Pulsador momentneo de orden de marcha manual de la bomba (PM).
Contacto abierto en reposo (0 en el autmata) y cerrado al pulsar y dar
la orden de marcha (1 en el autmata).
- Pulsador momentneo de orden de paro manual de la bomba (PP).
Contacto cerrado en reposo (1 en el autmata) y abierto al pulsar y dar
la orden de paro (0 en el autmata).
- Indicacin de bomba en marcha (L). Debe encenderse mientras es el
contactor asociado al motor elctrico est activo (ME).
En modo Manual el arranque del motor de la bomba elctrica se controla
mediante los pulsadores.
En modo Automtico el arranque del motor de la bomba elctrica se provoca
automticamente cuando se detecte bajo nivel en el tanque de servicio diario, y
se parar automticamente cuando se detecte alto nivel en el tanque de
servicio diario. El tanque de almacn dispone de un sensor de nivel bajo, que
parar la bomba automticamente para evitar que funcione la bomba en seco.
Los sensores de nivel obedecen a la siguiente lgica:
Nivel correcto, DN cerrado, seal en el autmata 1
Nivel bajo, DN abierto, seal en el autmata 0
Se pide:
-

Diagrama de bloques funcionales


Programa LADDER
Programa ESTRUCTURADO
Esquema de conexionado de los elementos con el autmata
programable.

Se adjunta esquema del sistema que se pretende automatizar:

46

Del enunciado obtenemos la tabla de variables del sistema:

El sistema tiene dos estados claramente diferenciados: Bomba en marcha y


bomba parada.
Por lo tanto con un nico biestable podemos representar estos dos estados:
-

Salida del biestable en 0 --> Bomba parada.


Salida del biestable en 1 --> Bomba en marcha.

A continuacin hay que analizar cmo activamos y desactivamos el biestable:


Entrada SET del biestable
Memoriza un 1. Salida del biestable a 1, es decir, bomba en marcha.
La bomba se debe poner en marcha si:
-

El selector Manual / Automtico est en manual (MA=0) Y se pulsa el


pulsador de marcha (PM=1) Y por proteccin de la bomba que no haya
bajo nivel en el tanque de trasiego (DN1=1).

El selector Manual / Automtico est en automtico (MA=1) Y se detecta


un bajo nivel en el tanque de servicio diario (DN2=0) Y por proteccin de
la bomba que no haya bajo nivel en el tanque de trasiego (DN1=1).

De forma que la funcin lgica de la entrada SET del biestable debe ser:
=
1 +
2 1
Entrada RESET del biestable
-

El selector Manual / Automtico est en manual (MA=0) Y se pulsa el


pulsador de PARO (PP=0, ya que es normalmente cerrado).
47

O
-

El selector Manual / Automtico est en automtico (MA=1) Y se detecta


un alto nivel en el tanque de servicio diario (DN3=1).

Por proteccin de la bomba, si se detecta un bajo nivel en el tanque de


trasiego (DN1=0), independientemente del selector Manual / Automtico.


+ 3 +
=
1
La salida combinacional para activar el contactor del motor elctrico de la
bomba sera directamente la salida del biestable.
= 1
La salida combinacional para activar la lmpara de bomba en marcha es
tambin igual a la salida del biestable o a la salida para el contactor (Q1).
=
El diagrama de bloques funcionales correspondiente a las funciones lgicas
determinadas anteriormente es el siguiente:

48

El programa ladder (LD) para autmatas programables correspondiente a este


diagrama de bloques funcionales es el siguiente:

Y el programa en leguaje estructura (ST) para autmatas programables tendra


el siguiente cdigo:

Por ltimo, el esquema de conexiones de las entradas y las salidas con el


autmata programable es el representado en la siguiente figura:

49

Ntese que el esquema de interconexin de las entradas / salidas con el


autmata programable es prcticamente igual al del ejemplo combinacional
desarrollado en el apartado 4.3.
La forma de conectar las entradas y las salidas al autmata es independiente
de la lgica de control, puesto que se trata de un hardware estndar. La lgica
de control queda implementada en el sistema a travs de la programacin del
usuario (software).

50

5.4. GRAFCET
El GRAFCET es un modelo de representacin y especificacin del
funcionamiento de los sistemas de control lgicos para automatismos. Este
modelo de especificacin solamente describe el comportamiento deseado, sin
detallar la tecnologa con que se realice la implementacin real. Dicho modelo
fue bautizado con el nombre de GRAFCET, GRfico Funcional de Control de
Etapas y Transiciones. El GRAFCET est reconocido por la norma IEC-848,
as como por la norma de lenguajes de programacin de autmatas
programables IEC-61131.
En el GRAFCET se manejan eventos, condiciones y acciones, siendo la
variable lgica de estado (la etapa) intrnsecamente binaria.
El GRAFCET est definido por unos elementos grficos y unas reglas de
evolucin que reflejan la dinmica del comportamiento del sistema. Todo
automatismo secuencia se puede estructurar en una serie de etapas que
representan los estados o subestados del sistema en los cuales se realizan una
o ms acciones, as como transiciones, que son las condiciones que deben
darse para pasar de una etapa a otra. El GRAFCET es una representacin
grfica del automatismo compuesto por etapas y transiciones.

51

5.4.1. ELEMENTOS BSICOS DEL GRAFCET


Etapas
Una etapa corresponde a una situacin del sistema que indica un
comportamiento estable. La etapa se representa por un cuadrado en el que se
indicar el nmero de etapa.

Las etapas iniciales se representan por dobles cuadrados, y son las que se
activan al iniciarse el GRAFCET. En la etapa 0 se establecen las condiciones
iniciales o de partida del automatismo. En autmatas programables la etapa 0
se activa con el bit que indica que se est en el primer ciclo de ejecucuin
(F_CICLO, %S21).

Se indica el estado activo de una etapa por una marca situada en la inferior del
cuadrado:

La etapa activa 2 del grfico anterior manda el arranque del motor.


En la ejecucin del GRAFCET las etapas activas se marcan en negro:

52

Transiciones
La transicin es un elemento que permite evolucionar o no de una etapa a la
siguiente. Se representan por un trazo perpendicular a la lnea que une dos
etapas.
Para facilitar la compresin del GRAFCET, cada transicin puede ir numerada
a la izquierda de la lnea perpendicular.

Para que una transicin sea franqueable y el GRAFCET evolucione de una


etapa a la siguiente, se deben dar las siguientes condiciones:
-

Todas las etapas de entrada de la transicin deben estar activas.


La receptividad asociada a la transicin debe ser verdadera.

La receptividad asociada a una transicin es una funcin booleana que


expresa la condicin lgica de la que depende el franqueamiento (paso a
travs) de la transicin:
Ejemplos de receptividades:
-

Contaje de 20 piezas

53

Activacin de un sensor binario


Valor de un sensor analgico mayo o menor que una determinada
consigna.
Fin de una temporizacin.

Las transiciones pueden tener los siguientes estados posibles:


-

Transicin no validada: Las etapas anteriores no estn activas, la


receptividad puede ser verdadera o falsa.

Transicin validada: Las etapas anteriores estn activas y la receptividad


es falsa.

Transicin franqueable: Las etapas anteriores estn activas y la


receptividad es verdadera. Este estado es transitorio y de duracin muy
corta.

Transicin franqueada: Se activan las etapas siguientes a la transicin y


se desactivan las etapas anteriores. Las receptividades pueden
permanecer verdaderas o cambiar a falsas.

Arcos o uniones orientadas, lneas de evolucin


Un arco es un segmento de recta orientado que une una etapa con una
transicin, o bien una transicin con una etapa, pero nunca dos transiciones o
54

dos etapas entre s. Se conviene en que el sentido vertical descendente no


est marcado con flecha.
Si el sentido del arco es vertical ascendente, debe estar marcado con flecha
que lo indique.

La alternancia etapa-transicin y transicin-etapa debe ser respetada


siempre, sea cual sea la secuencia recorrida. Dos etapas nunca deben estar
unidas directamente, sino que tienen que estar separadas por una transicin.
Acciones
En cada etapa se desarrollan una serie de acciones sobre el sistema. Estas
acciones estn especificadas en un rectngulo situado a la derecha del smbolo
de etapa. Estas acciones pueden ser para activar un biestable, incrementar un
contandor, poner en marcha un temporizador, activar una salida del sistema,
como por ejemplo abrir una electrovlvula o alimentar un motor.

Una etapa que no tiene asociada ninguna accin puede corresponder a


estados de reposo iniciales o a estados de espera del cambio de una variable o
espera de la activacin de otras etapas.
Las acciones se pueden clasificar en:
-

Accin continua: Se produce mientras la etapa a la que est asociada


est activa.
Accion_A := Q23.
La accin A se produce mientras la etapa 23 est activa. Es decir,
cuando la etapa 23 est activa (Q23=1), la accin A se ejecuta y se
mantiene hasta que se desactiva la etapa (Q23=0).

55

Accin condicional: La accin condicional es una accin continua cuya


ejecucin est sometida a un condicin lgica.
Accin_B := Q24 AND C
Esta condicin lgica va anotada en el interior del rectngulo
correspondiente a la accin a ejecutar. Tambin puede escribirse en el
exterior del mismo con un trazo en su parte superior.
Las acciones de cada etapa adems de depender de que la etapa est
activa pueden depender de otra serie de condiciones como
combinaciones de variables de entrada, bits internos del sistema, otras
etapas de grafcet, etc.

En la figura anterior, cuando la etapa 40 se activa, se arranca el motor,


pero la accin de activar el cilindro slo se ejecuta cuando la condicin
Fcb es verdadera.
-

Accin temporizada: Es un caso particular de las acciones


condicionales que se encuentra con mucha frecuencia en las
aplicaciones prcticas; en ellas el tiempo interviene como condicin
lgica. De un modo general, el tiempo se expresa mediante la notacin
t/i/q, donde tras la letra t se indica el nmero de etapa i y la duracin
q. Esta notacin toma el valor lgico 1 cuando transcurre el tiempo q
tras activarse la etapa i.
Para programar las acciones temporizadas se utiliza un temporizador a
la conexin (TON, ver apartado 6), cuya entrada la activa la variable
asociada al estado de la etapa (Qi). La salida del temporizador sera la
variable t/i/q.

En la figura anterior, cuando se activa la etapa 4 se ejecuta la accin A y


B, y se pone en marcha el temporizador a la conexin TON_4. Cuando
transcurre 1 segundo, se activa la variable t/4/1s, provocando la

56

transicin de etapas. Entonces se desactiva la etapa 4 y se activa la


etapa 5, desactivndose la accin A y permaneciendo activa la accin B.
-

Efecto mantenido: Una de las dificultades ms frecuentes en el


momento de construir el GRAFCET es la representacin de acciones o,
ms exactamente, rdenes, que deben permanecer durante un cierto
nmero de etapas consecutivas.
Hay dos tipos de descripciones:
Efecto mantenido por acciones continuas no memorizadas
Consiste en la repeticin de la accin o de la orden en todas las etapas
afectadas, asegurando de esta manera la continuidad del efecto. Este
tipo de descripcin presenta las siguientes caractersticas:
o La accin o la orden debe ser precisada en cada etapa en la que
el efecto debe ser mantenido.
o El efecto de accin o de la orden se interrumpe con la
desactivacin de la ltima etapa a la que est asociado.

En la secuencia representada en la figura, la accin A permanece activa


durante las etapas 3 y 4, mientras que la accin B permanece activa
durante las etapas 2, 3, 4 y 5.
57

Este tipo de accin se utiliza para dispositivos de salida de


comportamiento monoestable, es decir, aquellos que estn activos
mientras se les mantenga la orden, como pueden ser los contactores
elctricos o las vlvulas solenoides de simple efecto (activacin elctrica
y retorno por muelle) de control de circuitos neumticos o hidrulicos.
Efecto mantenido por accin memorizada
En este caso, las acciones u rdenes son dadas en la etapa en la que
debe efectuarse el comienzo de la accin. La salida que debe
permanecer durante varios estados activa se pone a 1 mediante un
biestable, activando el SET. En la etapa en la que la salida se debe
desactivar, se desactiva la salida mediente un RESET en el biestable
asociado a la salida.
Si se utilizan dispositivos de salida de tipo biestable, como por ejemplo
vlvulas solenoides de doble efecto o biestables para activar cilindros de
doble efecto, es suficiente con activar un la solenoide de salida del
cilindro en el estado en el que el cilindro debe salir, y activar la solenoide
de entrada del cilindro en el estado en el que el cilindro debe retraerse.

58

En la secuencia representada en la figura, correspondiente a un


automatismo de un sistema de tres cilindros de doble efecto, el cilindro A
sale en la etapa 1 (se activa la solenoide A+ de su correspondiente
vlvula solenoide biestable) y se retrae en la etapa 6 (se activa la
solenoide A- de su correspondiente vlvula solenoide biestable)
Por lo tanto, el empleo de uno u otro tipo de efecto mantenido
depender de la tecnologa de los dispositivos de salida, efecto
monoestable o biestable.
Reenvos
Los reenvos son smbolos en forma de flecha que indican la procedencia o
destino de lneas de evolucin. Las flechas de reenvo permiten fraccionar un
grfico o evitan dibujar lneas de evolucin con excesivos cruces. Dos lneas de
evolucin que se crucen debe interpretarse como que no estn unidas.
Mensajes de interpretacin
Estos mensajes pueden ser textos, smbolos o ecuaciones lgicas asociados a
las etapas o transiciones para indicar la actividad desarrollada o las relaciones
entre variables del sistema que deben cumplirse. Pueden distinguirse dos tipos
de mensajes:
-

Mensajes de accin asociado a cada etapa: Indican la actividad a


desarrollar en dicha etapa cuando est activa. Vendr en forma de texto
o ecuacin lgica.

Mensajes de receptividad asociados a cada transicin. Indican las


condiciones lgicas necesarias y suficientes para pasar de cada etapa a
las consecutivas.

59

5.4.2. REGLAS DE EVOLUCIN DEL GRAFCET


Situacin inicial
La situacin inicial del GRAFCET caracteriza el comportamiento inicial de la
parte de mando en relacin con la parte operativa y corresponde a las etapas
activas al comienzo del funcionamiento.
En las etapas iniciales se posiciona el automatismo en el estado inicial o de
reposo.
En automatismos basados en autmatas programables, las etapas iniciales se
activan con durante el primer ciclo de programa. Se puede utilizar para ello el
bit de primer ciclo (F_CICLO, direccin de memoria %S21).
Franqueo de una transicin
La evolucin de la situacin del GRAFCET correspondiente al franqueo de una
transicin no puede producirse ms que:
-

Cuando una transicin est validada y


Cuando la receptividad asociada a esa transicin es verdadera.

Cuando estas dos condiciones se cumplen, la transicin es franqueable y


entonces se franquea obligatoriamente.
Evolucin de etapas activas
El franqueo de una transicin trae como consecuencia la activacin simultnea
de todas las etapas inmediatamente posteriores y la desactivacin de todas las
etapas inmediatamente anteriores.
Evoluciones simultneas
Si en un instante determinado existe un conjunto de varias transiciones que son
franqueables simultneamente, son simultneamente franqueadas.
Activacin y desactivacin simultneas
Si en el curso del funcionamiento de un automatismo, una etapa debe ser
activada y desactivada simultneamente, sigue activa.
Duracin del franqueo de una transicin o de activacin de una etapa
La duracin del franqueo de una transicin se considera tericamente tan
pequea como se quiera pero no nula, aun en el caso de que esta duracin
venga impuesta por la tecnologa utilizada en la realizacin del automatismo.

60

Del mismo modo la duracin de la activacin de una etapa no puede ser


considerada nula.

5.4.3. ESTRUCTURAS EN GRAFCET


Secuencia nica
Una secuencia nica se compone de una sucesin de etapas que son
activadas una a continuacin de otra. A cada etapa le sigue solamente una
transicin y cada transicin es validada por una sola etapa. El franqueo de una
transicin activa la etapa siguiente y desactiva la anterior.

Secuencias simultaneas o divergencia y convergencia en Y


Cuando el franqueo de una transicin conduce a la activacin de varias
secuencias simultneas. Despus de la activacin simultanea de estas
secuencias, las evoluciones de las etapas activas en cada una de las
secuencias son independientes.
-

Divergencia en Y o activacin simultnea: Tras una transicin hay


varias etapas posteriores que se activan simultneamente. Debajo de la
61

transicin se dibujan dos lneas paralelas horizontales. Debajo de las


lneas horizontales se dibujan las lneas de las etapas a activar.

Las etapas 1 y 2 se activan simultneamente cuando se cumple la


receptividad tras la etapa 0. Quedando el GRAFCET en el estado que se
representa en la siguiente figura tras dispararse la transicin:

Convergencia en Y o desactivacin simultnea: Se desactivan varias


etapas simultneamente cuando se cumple una determinada
receptividad estando dichas etapas previamente activas a la vez. Debajo
62

de las etapas se dibujan las dos lneas paralelas horizontales y debajo


de las lneas la transicin que la desactiva.

Pueden existir estructuras de GRAFCET en las que haya una


desactivacin simultnea seguida de una activacin simultnea.

63

Para asegurar la desactivacin simultnea de la secuencia simultneas al


mismo tiempo se deben prever etapas de espera recprocas. En el ejemplo
anterior, las etapas 3 y 4 as como las 7 y 8 son etapas de espera recprocas.
Los distintos caminos iniciados como divergencia en Y deben confluir en uno
o ms puntos de convergencia en Y. Dicho de otra forma, la estructura debe
ser globalmente cerrada y no pueden existir caminos abiertos, ya que esto
denotara situaciones sin posible salida. Se excluye que los caminos de una
divergencia en Y puedan confluir en una convergencia en O.

64

Secuencias exclusivas, seleccin de secuencias o divergencia y


convergencia en O
-

Divergencia en O: Una seleccin de secuencias o divergencia en O


entre varias etapas o secuencia de etapas, se representa a partir de una
o varias etapas, mediante tanta transiciones validadas como evoluciones
distintas haya. En la siguiente figura un determinado producto puede ser
de tipo A o de tipo B. Si es de tipo A, se activa la etapa 2, y si es de
tipo B se activa la etapa 3.

Un problema que tiene el Grafcet es que si en una seleccin de


secuencias o divergencia en O las receptividades de dos o ms
transiciones son verdaderas cuando se active la etapa de entrada,
entonces las transiciones se franquean y se activan varias etapas a la
vez. Entonces no se ha producido una seleccin.
Para obtener una seleccin exclusiva entre varias evoluciones posibles
a partir de una misma etapa, es necesario asegurar que todas las
receptividades asociadas a las transiciones son exclusivas, es decir, no
pueden ser verdaderas simultneamente.
Esta exclusin puede ser:
o Que fsicamente sea imposible, por ejemplo en una seleccin de
productos por tamao, o el producto es grande (tipo A) o el
producto es pequeo (tipo B), pero no puede ser ambas cosas a
la vez.
o Dando prioridad a las receptividades:

65

Las receptividades y son lgicamente exclusivas. Por lo tanto,


si A y B son verdaderas al mismo tiempo, ninguna transicin podr
franquearse a partir de la etapa 1.
Tambin se puede optar por dar prioridad a una de las receptividades.
En la siguiente figura la prioridad la tiene la receptividad A, que es
franqueada incluso si A y B son verdaderas al mismo tiempo.

Convergencia en O: A nivel de grfico global, los distintos caminos


iniciados como divergencia en O deben confluir en uno o ms puntos
de convergencia en O. Dicho de otra forma, la estructura debe ser
globalmente cerrada y no pueden existir caminos abiertos, ya que esto
denotara situaciones sin salida. Se excluye tambin que los caminos de
una divergencia en O puedan concurrir en una divergencia en Y,
puesto que esto provocara un bloqueo del sistema en el punto de
convergencia ante la imposibilidad de finalizar simultneamente todos
los caminos, habiendo iniciado slo uno.

66

Salto de etapas
El salto de etapas permite saltar una o varias etapas, por ejemplo, cuando las
acciones a efectuar por esas etapas lleguen a ser intiles o no tengan efecto.
En el siguiente ejemplo se salta desde la etapa 1 a la 4 si la receptividad D no
es verdadera:

67

Repeticin de secuencias
La repeticin de secuencias permite volver a comenzar las mismas secuencias
mientras una condicin establecida no sea cumplida.

En la figura anterior se repite la secuencia de etapas 2 y 3 mientras no sea


verdadera la variable lgica E. Se podra utilizar por ejemplo para contar un

68

nmero determinado de piezas a procesar por una determinada secuencia de


etapas, donde se cambiara el valor de la variable E una vez alcanzado el
nmero de piezas deseadas.

5.4.4. MACROETAPAS
Cuando se aplican las tcnicas del GRAFCET a la solucin de procesos
complejos, se empieza por representar un diagrama con las lneas principales a
ejecutar en el proceso, definiendo grandes bloques de acciones denominados
macroetapas y sin desarrollar los detalles del proceso.
El smbolo para representar una macroetapa es un cuadrado dividido en tres
partes. En una de las partes puede colocarse un nmero, en otra la
identificacin de la macro y en la tercera una etiqueta.

Desde un punto de vista formal, una macroetapa no es ms que un conjunto de


etapas agrupadas que se definen, posteriormente, en lo que se conoce como
representacin en detalle o expansin de la macroetapa.
El objetivo esencial de la macroetapa es el de permitir una aproximacin
progresiva y estructurada tanto en la fase de diseo como en la de explotacin
y mantenimiento de un automatismo. Se puede partir de una definicin muy
genrica del proceso y posteriormente desarrollar cada macroetapa en las
acciones simples correspondientes.
Una macroetapa est compuesta por una secuencia de etapas y de
transiciones que respeta las reglas del GRAFCET, precedida por una etapa de
entrada denominada Etapa IN, terminada por una etapa de salida denominada
Etapa OUT.
Una macroetapa es la simbolizacin grfica de una secuencia o de un grfico
anidado. La etapa de entrada de la macroetapa responde a las mismas reglas
que las otras etapas. La etapa de salida no puede tener acciones asociadas.
Las etapas IN y OUT son necesarias para respetas la sucesin etapatransicin.
Las reglas de evolucin de las macroetapas son:
-

El franqueamiento de la transicin anterior a la macroetapa activa la


etapa de entrada IN de la macroetapa.

69

La macroetapa se desactiva cuando su etapa de salida OUT y la


receptividad de la transicin siguiente es verdadera. La etapa de salida
de la macroetapa participa en la validacin de toda la transicin
posterior.

Los estados de las macroetapas son pues los de las etapas: inactiva, activable
y activa con una distincin para esta ltima entre:
-

El estado activo propiamente dicho, por lo menos una secuencia es


activa.

El estado activo-terminado caracterizado por el estado activo de la etapa


de salida.

En la siguiente figura se observa un GRAFCET con macroetapas anidadas. Si


se desactiva la etapa 1 del grafcet, se activa la macroetapa M1. Se activa su
etapa IN. Cuando se active la etapa OUT de la macroetapa M1 y la
receptividad de la transicin de M1 a M2 sea verdad entonces se desactiva la
M1 y se activa la M2, activndose su etapa IN. En la macroetapa M1 se llama a
la macroetapa M4. Se tiene lo que se denomina un anidamiento de
macroetapas.

70

En automatismos programables resulta muy til la utilizacin de macroetapas


con carcter de subrutinas. Donde una macroetapa puede ser llamada desde
varios puntos del GRAFCET. La nica condicin es no llamar a la macroetapa
mientras se est ejecutando desde otro punto del GRAFCET general. Permite
una programacin ms estructurada de las tareas del proceso y optimiza la
longitud del programa.

5.4.5. DIAGRAMA DE BLOQUES FUNCIONALES (FBD),


PROGRAMA EN LENGUAJE LADDER (LD) Y
PROGRAMA EN LENGUAJE ESTRUCTURADO (ST)
ASOCIADO AL GRAFCET
Una vez obtenido el GRAFCET, conteniendo todos los accionamientos y
sensores, ste puede ser utilizado para el diseo del sistema de control, con
los componentes de una determinada tecnologa.
El diseo mediante bloques funcionales (FBD) de puertas lgicas y biestables
es lo suficientemente genrico para poder aplicarlo a todo tipo de dispositivos,
desde los dispositivos lgicos programables, los autmatas programables o
incluso para poder implementarlo a base de rels.
El proceso de diseo consta de dos partes:
-

Diseo de la parte secuencial: Comprende la estructura de etapas y las


condiciones de transicin que las une.

71

Diseo de la parte combinacional: Comprende todas las acciones a


ejecutar dentro de cada etapa.

Diseo de la parte secuencial


Consiste en asignar a cada etapa un biestable RS, cuyas condiciones de SET y
RESET se determinan a partir de las condiciones de transicin indicadas en el
grfico:
-

Condicin de SET del biestable de la etapa X: La activacin del


biestable de una etapa X tiene lugar cuando la etapa o etapas previas
estn activadas y se cumplen las condiciones de transicin entre dichas
etapas y la etapa X.
La activacin cada una de las etapas siguientes a una divergencia en
O depende de que la etapa anterior est activa y de que la condicin
particular de transicin del camino est activada.
La activacin de la etapa siguiente a una convergencia en O depende
de que cualquiera de las etapas finales de uno de los caminos est
activa y de que la condicin particular de transicin del final del camino
est activada.
La activacin de las etapas siguientes a una divergencia en Y depende
de que la etapa anterior est activa y de que la condicin que activa
todos los caminos est activada.
La activacin de la etapa siguiente a una convergencia en Y depende
que todas las etapas finales de todos los caminos estn activas y de que
la condicin de transicin tras la convergencia en Y est activa.

Condicin de RESET del biestable de la etapa X: La desactivacin


del biestable de una etapa X tiene lugar cuando la etapa o etapas
posteriores quedan activadas.
La desactivacin del biestable inmediatamente anterior a una
divergencia en O se produce cuando cualquiera de las etapas tras la
divergencia es activada.
La desactivacin de los biestables inmediatamente anteriores a una
convergencia en O se produce cuando la etapa tras la convergencia es
activada.
La desactivacin del biestable inmediatamente anterior a una
divergencia en Y se produce cuando todas las etapas tras la
divergencia han sido activadas.
La desactivacin de los biestables inmediatamente anteriores a una
convergencia en Y se produce cuando la etapa tras la convergencia es
activada.

72

En base a lo anteriormente expuesto, veamos cmo obtenemos el diagrama de


bloques funcionales (FBD), el programa en lenguaje LADDER (LD) y el
programa en leguaje estructurado (ST) de la parte secuencial de cada tipo de
estructura GRAFCET:
Estructura lineal. Tomemos como ejemplo el siguiente fragmento de
GRAFCET:

El diagrama de bloques funcionales de control del biestable asociado a la etapa


2 sera el siguiente:

Se observa como la etapa 2 se establece cuando la etapa 1 est activa (Q1


vale 1) Y se habilita la receptividad entre la etapa 1 y la etapa 2 (I01 vale
1). La etapa 2 se desactiva cuando se activa la etapa 3 (Q3 vale 1).
El programa en lenguaje LADDER (LD) asociado al diagrama de bloques
funcionales anterior es el siguiente:

El programa en lenguaje estructurado (ST) asociado al diagrama de bloques


funcionales anterior es el siguiente:
(*ACTIVACION DE LA ETAPA 2*)
IF Q1 AND I01 THEN SET (Q2);
END_IF;
(*DESACTIVACION DE LA ETAPA 2*)
IF Q3 THEN RESET (Q2);
END_IF;
73

Divergencia en O. Tomemos como ejemplo el siguiente fragmento de


GRAFCET:

El diagrama de bloques funcionales de control del biestable asociado a la etapa


1, la que est justo antes de la divergencia en O, sera el siguiente:

Se observa como la etapa 1 se establece cuando la etapa 0 est activa (Q0


vale 1) Y se habilita la receptividad entre la etapa 0 y la etapa 1 (I00 vale
1). La etapa 1 se desactiva cuando se activa la etapa 2 O se activa la etapa
4 (Q2 OR Q4 vale 1).
El programa en lenguaje LADDER (LD) asociado al diagrama de bloques
funcionales anterior es el siguiente:

74

El programa en lenguaje estructurado (ST) asociado al diagrama de bloques


funcionales anterior es el siguiente:
(*ACTIVACION DE LA ETAPA 1*)
IF Q0 AND I00 THEN SET (Q1);
END_IF;
(*DESACTIVACION DE LA ETAPA 1*)
IF Q2 OR Q4 THEN RESET (Q1);
END_IF;
El diagrama de bloques funcionales de control de los biestables asociados a las
etapas que estn tras la divergencia en O, etapas 2 y 4, es el siguiente:

Se observa como la etapa 2 se establece cuando la etapa 1 est activa (Q1


vale 1) Y se habilita la receptividad entre la divergencia en O y la etapa 2
(I01 vale 1). La etapa 2 se desactiva cuando se activa la etapa 3 (Q3 vale 1).
Igualmente, se observa como la etapa 4 se establece cuando la etapa 1 est
activa (Q1 vale 1) Y se habilita la receptividad entre la divergencia en O y
la etapa 4 (I03 vale 1). La etapa 4 se desactiva cuando se activa la etapa 5
(Q5 vale 1).
El programa en lenguaje LADDER (LD) asociado al diagrama de bloques
funcionales anterior es el siguiente:

El programa en lenguaje estructurado (ST) asociado al diagrama de bloques


funcionales anterior es el siguiente:
(*ACTIVACION DE LA ETAPA 2*)
IF Q1 AND I01 THEN SET (Q2);
END_IF;
(*DESACTIVACION DE LA ETAPA 2*)
IF Q3 THEN RESET (Q2);
END_IF;
(*ACTIVACION DE LA ETAPA 4*)
75

IF Q1 AND I03 THEN SET (Q4);


END_IF;
(*DESACTIVACION DE LA ETAPA 4*)
IF Q5 THEN RESET (Q4);
END_IF;
Convergencia en O. Tomemos como ejemplo el siguiente fragmento de
GRAFCET:

El diagrama de bloques funcionales de control de los biestables asociados a las


etapa 6 y 8, las que estn justo antes de la convergencia en O, sera el
siguiente:

Se observa como la etapa 6 se establece cuando la etapa 5 est activa (Q5


vale 1) Y se habilita la receptividad entre la etapa 5 y la etapa 6 (I05 vale
1). La etapa 6 se desactiva cuando se activa la etapa 9 (Q9 vale 1).
Igualmente, se observa como la etapa 8 se establece cuando la etapa 7 est

76

activa (Q7 vale 1) Y se habilita la receptividad entre la etapa 7 y la etapa 8


(I07 vale 1). La etapa 8 se desactiva cuando se activa la etapa 9 (Q9 vale 1).
El programa en lenguaje LADDER (LD) asociado al diagrama de bloques
funcionales anterior es el siguiente:

El programa en lenguaje estructurado (ST) asociado al diagrama de bloques


funcionales anterior es el siguiente:
(*ACTIVACION DE LA ETAPA 6*)
IF Q5 AND I05 THEN SET (Q6);
END_IF;
(*DESACTIVACION DE LA ETAPA 6*)
IF Q9 THEN RESET (Q6);
END_IF;
(*ACTIVACION DE LA ETAPA 8*)
IF Q7 AND I07 THEN SET (Q8);
END_IF;
(*DESACTIVACION DE LA ETAPA 8*)
IF Q9 THEN RESET (Q8);
END_IF;
El diagrama de bloques funcionales de control del biestable asociado a la etapa
que est tras la convergencia en O, etapa 9, es el siguiente:

Se observa como la etapa 9 se establece cuando la etapa 6 est activa (Q6


vale 1) Y se habilita la receptividad entre la etapa 6 y la convergencia en O
(I06 vale 1), O cuando la etapa 8 est activa (Q8 vale 1) Y se habilita la
receptividad entre la etapa 8 y la convergencia en O (I08 vale 1). La etapa 9
se desactiva cuando se activa la etapa 10 (Q10 vale 1).
77

El programa en lenguaje LADDER (LD) asociado al diagrama de bloques


funcionales anterior es el siguiente:

El programa en lenguaje estructurado (ST) asociado al diagrama de bloques


funcionales anterior es el siguiente:
(*ACTIVACION DE LA ETAPA 9*)
IF Q6 AND I06 OR Q8 AND I08 THEN SET (Q9);
END_IF;
(*DESACTIVACION DE LA ETAPA 9*)
IF Q10 THEN RESET (Q9);
END_IF;
Divergencia en Y. Tomemos como ejemplo el siguiente fragmento de
GRAFCET:

El diagrama de bloques funcionales de control del biestable asociado a la etapa


1, la que est justo antes de la divergencia en O, sera el siguiente:

78

Se observa como la etapa 1 se establece cuando la etapa 0 est activa (Q0


vale 1) Y se habilita la receptividad entre la etapa 0 y la etapa 1 (I00 vale
1). La etapa 1 se desactiva cuando se activa la etapa 2 Y se activa la etapa
4 (Q2 AND Q4 vale 1).
El programa en lenguaje LADDER (LD) asociado al diagrama de bloques
funcionales anterior es el siguiente:

El programa en lenguaje estructurado (ST) asociado al diagrama de bloques


funcionales anterior es el siguiente:
(*ACTIVACION DE LA ETAPA 1*)
IF Q0 AND I00 THEN SET (Q1);
END_IF;
(*DESACTIVACION DE LA ETAPA 1*)
IF Q2 AND Q4 THEN RESET (Q1);
END_IF;
El diagrama de bloques funcionales de control de los biestables asociados a las
etapas que estn tras la divergencia en Y, etapas 2 y 4, es el siguiente:

Se observa como la etapa 2 se establece cuando la etapa 1 est activa (Q1


vale 1) Y se habilita la receptividad entre la etapa 1 y la divergencia en Y

79

(I01 vale 1). La etapa 2 se desactiva cuando se activa la etapa 3 (Q3 vale 1).
Igualmente, se observa como la etapa 4 se establece cuando la etapa 1 est
activa (Q1 vale 1) Y se habilita la receptividad entre la etapa 1 y la
divergencia en Y (I01 vale 1). La etapa 4 se desactiva cuando se activa la
etapa 5 (Q5 vale 1).
El programa en lenguaje LADDER (LD) asociado al diagrama de bloques
funcionales anterior es el siguiente:

El programa en lenguaje estructurado (ST) asociado al diagrama de bloques


funcionales anterior es el siguiente:
(*ACTIVACION DE LA ETAPA 2*)
IF Q1 AND I01 THEN SET (Q2);
END_IF;
(*DESACTIVACION DE LA ETAPA 2*)
IF Q3 THEN RESET (Q2);
END_IF;
(*ACTIVACION DE LA ETAPA 4*)
IF Q1 AND I01 THEN SET (Q4);
END_IF;
(*DESACTIVACION DE LA ETAPA 4*)
IF Q5 THEN RESET (Q4);
END_IF;
Convergencia en Y. Tomemos como ejemplo el siguiente fragmento de
GRAFCET:

80

El diagrama de bloques funcionales de control de los biestables asociados a las


etapas 6 y 8, las que estn justo antes de la convergencia en Y, sera el
siguiente:

Se observa como la etapa 6 se establece cuando la etapa 5 est activa (Q5


vale 1) Y se habilita la receptividad entre la etapa 5 y la etapa 6 (I05 vale
1). La etapa 6 se desactiva cuando se activa la etapa 9 (Q9 vale 1).
Igualmente, se observa como la etapa 8 se establece cuando la etapa 7 est
activa (Q7 vale 1) Y se habilita la receptividad entre la etapa 7 y la etapa 8
(I07 vale 1). La etapa 8 se desactiva cuando se activa la etapa 9 (Q9 vale 1).
El programa en lenguaje LADDER (LD) asociado al diagrama de bloques
funcionales anterior es el siguiente:

81

El programa en lenguaje estructurado (ST) asociado al diagrama de bloques


funcionales anterior es el siguiente:
(*ACTIVACION DE LA ETAPA 6*)
IF Q5 AND I05 THEN SET (Q6);
END_IF;
(*DESACTIVACION DE LA ETAPA 6*)
IF Q9 THEN RESET (Q6);
END_IF;
(*ACTIVACION DE LA ETAPA 8*)
IF Q7 AND I07 THEN SET (Q8);
END_IF;
(*DESACTIVACION DE LA ETAPA 8*)
IF Q9 THEN RESET (Q8);
END_IF;
El diagrama de bloques funcionales de control del biestable asociado a la etapa
que est tras la convergencia en Y, etapa 9, es el siguiente:

Se observa como la etapa 9 se establece cuando la etapa 6 est activa (Q6


vale 1) Y la etapa 8 est activa (Q8 vale 1) Y se habilita la receptividad
entre la convergencia en Y y la etapa 9 (I08 vale 1). La etapa 9 se desactiva
cuando se activa la etapa 10 (Q10 vale 1).
El programa en lenguaje LADDER (LD) asociado al diagrama de bloques
funcionales anterior es el siguiente:

El programa en lenguaje estructurado (ST) asociado al diagrama de bloques


funcionales anterior es el siguiente:
(*ACTIVACION DE LA ETAPA 9*)
82

IF Q6 AND Q8 AND I08 THEN SET (Q9);


END_IF;
(*DESACTIVACION DE LA ETAPA 9*)
IF Q10 THEN RESET (Q9);
END_IF;
Diseo de la parte combinacional
En esta fase se disean las acciones a desarrollar en cada etapa del proceso y
se obtiene el diagrama lgico de bloques funcionales, utilizando las salidas de
los biestables y eventualmente otras condiciones adicionales. Los
procedimientos empleados para obtener las ecuaciones lgicas sern en este
caso los estudiados previamente mediante el lgebra de Boole.
Hay que observar que combinaciones de estados activa cada salida del
sistema. De forma general, cada salida se obtendr mediante una puerta lgica
OR que combine los estados en los que dicha salida debe estar activa.
Supongamos que tenemos el siguiente GRAFCET y queremos obtener las
funciones combinacionales que relacionan los estados con las salidas del
sistema:

83

Las variables de estado son Q0, Q1, Q2, Q3 y Q4. Y las variables de salida son
A y B.
En el GRAFCET observamos que la salida A se activa en los estados Q2 y Q3,
y que la salida B se activa en los estados Q1 y Q2. De forma que el diagrama
de bloques funcionales que relacionan los estados con las salidas de este
GRAFCET sera el siguiente:

El programa en lenguaje LADDER (LD) asociado al diagrama de bloques


funcionales anterior es el siguiente:

(*SALIDA A EN FUNCION DE LOS ESTADOS EN LOS QUE EST ACTIVA*)


IF Q2 OR Q3 THEN A:=1;
ELSE A:=0;
END_IF;
(*SALIDA B EN FUNCION DE LOS ESTADOS EN LOS QUE EST ACTIVA*)
IF Q1 OR Q2 THEN B:=1;
ELSE B:=0;
END_IF;

5.4.6. EJEMPLO DE DISEO DE UN SISTEMA SECUENCIAL


MEDIANTE GRAFCET
En la figura se observa un dispositivo de clasificacin de piezas. Las piezas
pueden ser de dos tipos: metlicas o de plstico. La alimentacin de piezas se
realiza mediante la rampa central y van cayendo por una rampa cuando el
cilindro A, de simple efecto cuya solenoide est conectada a la salida
%Q0.0, est en la posicin inferior (%I0.0), retrado (%I0.4), y no hay pieza en
84

la plataforma (ni %I0.2 ni %I0.3 detectan). Cuando una pieza cae en la


plataforma, un sensor detecta la presencia de sta (%I0.2) y el otro distingue si
es metlica o no (%I0.3). A continuacin se procede a la clasificacin de las
piezas en dos bandejas:
-

La bandeja inferior es para las piezas de plstico (el cilindro A


avanza hasta %I0.5, espera 1s y retrocede hasta %I0.4)
La bandeja superior es para las metlicas (el cilindro B, de simple
efecto cuya solenoide est conectada a la salida %Q0.1, sube,
arrastrando al A hasta %I0.1, el A avanza entonces hasta %I0.5,
espera 1s, retrocede hasta %I0.4, y el B baja, arrastrando al A hasta
%I0.0)
Terminado el ciclo, caer una nueva pieza en la bandeja,
repitindose el proceso.

Se pide:
- Dibujar el GRAFCET de control.
- Sacar el esquema de bloques funcionales con puertas lgicas y
biestables RS asociado al GRAFCET.
- Escribir el programa en lenguaje estructurado (ST).
- Dibujar un esquema de interconexin de los sensores y electrovlvulas con el autmata programable.

85

El GRAFCET de control del automatismo sera el siguiente:

86

El esquema de bloques funcionales con puertas lgicas y biestables RS


asociado al GRAFCET anterior sera el siguiente:

87

Y el programa en lenguaje estructurado (ST) sera el siguiente:


(*ACTIVACION DE LA ETAPA 0 CON EL BIT DE PRIMER CICLO*)
IF F_CICLO THEN SET (Q0);
END_IF;
(*DESACTIVACION DE LA ETAPA 0*)
IF Q1 THEN RESET (Q0);
END_IF;
(*ACTIVACION DE LA ETAPA 1*)
IF Q0 AND I4 AND I0 OR Q6 AND I0 OR Q9 AND I4 THEN SET (Q1);
END_IF;
(*DESACTIVACION DE LA ETAPA 1*)
IF Q2 OR Q7 THEN RESET (Q1);
END_IF;
(*ACTIVACION DE LA ETAPA 2*)
IF Q1 AND I3 AND I2 THEN SET (Q2);
END_IF;
(*DESACTIVACION DE LA ETAPA 2*)
IF Q3 THEN RESET (Q2);
END_IF;
(*ACTIVACION DE LA ETAPA 3*)
IF Q2 AND I1 THEN SET (Q3);
END_IF;
(*DESACTIVACION DE LA ETAPA 3*)
IF Q4 THEN RESET (Q3);
END_IF;
(*ACTIVACION DE LA ETAPA 4*)
88

IF Q3 AND I5 THEN SET (Q4);


END_IF;
(*DESACTIVACION DE LA ETAPA 4*)
IF Q5 THEN RESET (Q4);
END_IF;
TON_0 (IN:=Q4,PT:=T#1S,Q=>T1);
(*ACTIVACION DE LA ETAPA 5*)
IF Q4 AND T1 THEN SET (Q5);
END_IF;
(*DESACTIVACION DE LA ETAPA 5*)
IF Q6 THEN RESET (Q5);
END_IF;
(*ACTIVACION DE LA ETAPA 6*)
IF Q5 AND I4 THEN SET (Q6);
END_IF;
(*DESACTIVACION DE LA ETAPA 6*)
IF Q1 THEN RESET (Q6);
END_IF;
(*ACTIVACION DE LA ETAPA 7*)
IF Q1 AND NOT I3 AND I2 THEN SET (Q7);
END_IF;
(*DESACTIVACION DE LA ETAPA 7*)
IF Q8 THEN RESET (Q7);
END_IF;
(*ACTIVACION DE LA ETAPA 8*)
IF Q7 AND I5 THEN SET (Q8);
END_IF;
(*DESACTIVACION DE LA ETAPA 8*)
IF Q9 THEN RESET (Q8);
END_IF;
TON_1 (IN:=Q8,PT:=T#1S,Q=>T2);
(*ACTIVACION DE LA ETAPA 9*)
IF Q8 AND T2 THEN SET (Q9);
END_IF;
(*DESACTIVACION DE LA ETAPA 9*)
IF Q1 THEN RESET (Q9);
END_IF;
(*COMBINACIONAL PARA LA SALIDA DEL CILINDRO A*)
IF Q3 OR Q4 OR Q7 OR Q8 THEN A:=1;
ELSE A:=0;
END_IF;
(*COMBINACIONAL PARA LA SALIDA DEL CILINDRO B*)
IF Q2 OR Q3 OR Q4 OR Q5 THEN B:=1;
ELSE B:=0;
END_IF;
Finalmente, el esquema de interconexin de los sensores y electro-vlvulas
con el autmata programable sera el siguiente:

89

I0 I1 I2 I3 I4 I5

A B

6. BLOQUES FUNCIONALES DE PROPOSITO ESPECIAL


6.1. TEMPORIZADORES
TON: Temporizador retardado a la conexin
Representacin como bloque funcional (FBD):

Representacin en ladder (LD):

90

Sentencia en lenguaje estructurado (ST):


TON (IN:=StartDelay , PT:=PresetDelayTime , Q=>Output , ET=>InternalTime);
Los parmetros son los siguientes:
-

IN. Entrada de tipo booleana para indicar el inicio del temporizador.


PT. Entrada de tipo tiempo para indicar el ajuste del temporizador,
es decir la duracin del contaje mientras est activa IN.
Q. Salida de tipo booleana.
ET. Salida de tipo tiempo para indicar por donde va el contaje
desde que se activ IN.

El funcionamiento de este tipo de temporizador es el siguiente:

En el instante (1), cuando la entrada IN se hace 1, se inicia el


conteo interno del temporizador, ET.
Cuando el conteo interno alcanza el valor de PT, instante (2), la
salida Q se convierte en 1.
Si una vez activada la salida Q la entrada IN se hace 0, instante (3),
la salida Q se desactiva y se re-establece el conteo interno, ET.
Si la entrada IN se hace 0 antes de que el conteo interno haya
alcanzado el valor de PT, instante (4), se re-establece el conteo
interno sin que haya llegado a activarse la salida Q.

TOF: Temporizador retardado a la desconexin


Representacin como bloque funcional (FBD):

Representacin en ladder (LD):

91

Sentencia en lenguaje estructurado (ST):


TOF (IN:=StartDelay , PT:=PresetDelayTime , Q=>Output , ET=>InternalTime);
Los parmetros son los siguientes:
-

IN. Entrada de tipo booleana para indicar el inicio del temporizador.


PT. Entrada de tipo tiempo para indicar el ajuste del temporizador,
es decir la duracin del contaje mientras est activa IN.
Q. Salida de tipo booleana.
ET. Salida de tipo tiempo para indicar por donde va el contaje
desde que se activ IN.

El funcionamiento de este tipo de temporizador es el siguiente:

En instante (1), si IN se convierte en 1, la salida Q se convierte en


1.
En el instante (2), cuando IN se convierte en 0, se inicia el conteo
interno ET.
En el instante (3), el conteo interno alcanza el valor de PT, entonces
la salida Q se convierte en 0.
En el instante (4), si IN se convierte en 1, Q se convierte en 1 y se
detiene y re-establece el conteo interno ET.
En el instante (5), si IN se convierte de nuevo en 1 antes de que el
conteo interno haya alcanzado el valor de PT, se detiene y reestablece el conteo interno, sin que la salida Q se haya convertido en
0.

92

TP: Temporizador monoestable o funcin pulso


Representacin como bloque funcional (FBD):

Representacin en ladder (LD):

Sentencia en lenguaje estructurado (ST):


TP (IN:=TriggerPulse , PT:=PulseDuration , Q=>Output , ET=>InternalTime);
Los parmetros son los siguientes:
-

IN. Entrada de tipo booleana para activar el pulso.


PT. Entrada de tipo tiempo para indicar el ajuste de la duracin del
pulso.
Q. Salida de tipo booleana.
ET. Salida de tipo tiempo para indicar por donde va el contaje
desde que se activ IN.

El funcionamiento de la funcin pulso es el siguiente:

En el instante (1), si IN se convierte en 1 la salida Q se convierte en


1 y se inicia el conteo interno ET.
93

En el instante (2), cuando el conteo interno ET alcanza el valor de


PT, Q se convierte en0, independientemente del estado de la
entrada IN.
En el instante (3), cuando IN se convierte de nuevo en 0 el conteo
interno ET se re-establece.
En el instante (4), punto en el que el conteo interno ET an no ha
alcanzado el valor de PT, un ciclo 1 0- 1 en la entrada IN no
tiene influencia sobre el conteo interno ET.
En el instante (5), cuando el conteo interno ET ha alcanzado el valor
de PT, y con IN en 0, se detiene y re-establece el conteo interno ET
y la salida Q se convierte en 0.

6.2. CONTADORES
CTU: Contador progresivo
Representacin como bloque funcional (FBD):

Representacin en ladder (LD):

Sentencia en lenguaje estructurado (ST):


CTU (CU:=Trigger , R:=Reset , PV:=PresetValue , Q=>Output ,
CV=>CountValue);
Los parmetros son los siguientes:
-

CU. Entrada de tipo booleana para incrementar el contador


(CV=CV+1).
R. Entrada de tipo booleana para reiniciar el contador (CV=0).

94

PV. Entrada de tipo entero para indicar el ajuste del contador, es


decir, el lmite de la cuenta, en el que la salida Q se activa cuando
CV PV.
Q. Salida de tipo booleana.
CV. Salida de tipo entero para indicar por donde va el contaje.

El funcionamiento de este tipo de contador es el siguiente:


En caso de seal 1 en la entrada R se asigna el valor 0 a la variable de
salida de tipo entero CV. Con cada paso de 0 a 1 en la entrada booleana CU
(flanco de subida), el valor de CV aumentar en una unidad. Si CV PV, la
salida Q se convierte en 1.
CTD: Contador regresivo
Representacin como bloque funcional (FBD):

Representacin en ladder (LD):

Sentencia en lenguaje estructurado (ST):


CTD (CD:=Trigger , LD:=Load , PV:=PresetValue , Q=>Output ,
CV=>CountValue);
Los parmetros son los siguientes:
-

CD. Entrada de tipo booleana para decrementar el contador (CV=CV1).


LD. Entrada de tipo booleana para cargar el contador (CV=PV).
PV. Entrada de tipo entero para indicar el ajuste del contador, es
decir, el inicio de la cuenta atrs.
Q. Salida de tipo booleana, que se activa cuando CV0.
CV. Salida de tipo entero para indicar por donde va el contaje.

95

El funcionamiento de este tipo de contador es el siguiente:


En caso de seal 1 en la entrada LD se asigna el valor de la entrada PV a la
variable de salida de tipo entero CV. Con cada paso de 0 a 1 en la entrada
booleana CD (flanco de subida), el valor de CV disminuir en una unidad. Si
CV 0, la salida Q se convierte en 1.
CTUD: Contador progresivo/regresivo
Representacin como bloque funcional (FBD):

Representacin en ladder (LD):

Sentencia en lenguaje estructurado (ST):


CTUD (CU:=UpTrigger , CD:=DownTrigger , R:=Reset , LD:=Load ,
PV:=PresetValue , QU=>UpOutput , QD=>DownOutput , CV=>CountValue);
Los parmetros son los siguientes:
-

CU. Entrada de tipo booleana para incrementar el contador


(CV=CV+1).
CD. Entrada de tipo booleana para decrementar el contador (CV=CV1).
R. Entrada de tipo booleana para reiniciar el contador (CV=0).
LD. Entrada de tipo booleana para cargar el contador (CV=PV).
PV. Entrada de tipo entero para indicar el ajuste del contador.
QU. Salida de tipo booleana que se activa cuando CV PV.
96

QD. Salida de tipo booleana que se activa cuando CV0.


CV. Salida de tipo entero para indicar por donde va el contaje.

El funcionamiento de este tipo de contador es el siguiente:


En caso de seal 1 en la entrada R se asigna el valor 0 a la variable de
salida de tipo entero CV. En caso de seal 1 en la entrada LD se asigna el
valor de la entrada PV a la variable de salida de tipo entero CV. Con cada paso
de 0 a 1 en la entrada booleana CU (flanco de subida), el valor de CV
aumentar en una unidad. Con cada paso de 0 a 1 en la entrada booleana
CD (flanco de subida), el valor de CV disminuir en una unidad. Si CV PV, la
salida QU se convierte en 1. Si CV 0, la salida QD se convierte en 1.
En caso de seal simultnea 1 en la entrada R y LD, la entrada R resulta
dominante.

6.3. COMPARADORES
Se dispone de las siguientes funciones:
-

EQ: Igual a.
GE: Mayor o igual a.
GT: Mayor que.
LE: Menor o igual a.
LT: Menor que.
NE: Distinto a.

Se describe a continuacin GE y LE, el resto funcionan igual y tienen una


representacin similar, cambiando nicamente el nombre de la funcin y el
criterio de comparacin.
GE: Mayor o igual que
La funcin comprueba si los valores de entradas sucesivas siguen una
secuencia descendente o son iguales. Los tipos de datos de todos los valores
de entrada deben ser iguales. Se puede aumentar el nmero de entradas como
mximo a 31.
Al comparar variables de los tipos de datos BOOL, BYTE, WORD, DWORD,
INT, DINT, UINT, UDINT, REAL, TIME, DATE, DT y TOD, se compararn los
valores entre s.
Si se trata de variables de tipo STRING, se compararn segn el orden
alfabtico; cuanto ms atrs en el alfabeto se encuentre un valor, ms alta ser
su expresin.
Como parmetros adicionales se pueden configurar EN y ENO.
Representacin como bloque funcional (FBD):

97

Representacin en ladder (LD):

Sentencia en lenguaje estructurado (ST):


Result := GE (Value1, Value2) ;
Result es 1 lgico si Value1 es mayor o igual que Value2.
LE: Menor o igual que
La funcin comprueba los valores de entradas sucesivas respecto a una
secuencia ascendente o a la igualdad.
Los tipos de datos de todos los valores de entrada deben ser iguales.
Se puede aumentar el nmero de entradas como mximo a 31.
Al comparar variables de los tipos de datos BOOL, BYTE, WORD, DWORD,
INT, DINT, UINT, UDINT, REAL, TIME, DATE, DT y TOD, se compararn los
valores entre s.
Si se trata de variables de tipo STRING, se compararn segn el orden
alfabtico; cuanto ms atrs en el alfabeto se encuentre un valor, ms alta ser
su expresin.
Como parmetros adicionales se pueden configurar EN y ENO.
Representacin como bloque funcional (FBD):

Representacin en ladder (LD):


98

Sentencia en lenguaje estructurado (ST):


Result := LE (Value1, Value2) ;
Result es 1 lgico si Value1 es menor o igual que Value2.
Existen muchisimas funciones de proposito especial para programacin de
autmatas progrables, funciones de tipo:
-

Operaciones con tablas de datos o matrices.


Funciones de regulacin de variables analgicas.
Funciones de fecha y hora.
Funciones de extraccin de datos.
Funciones lgicas.
Funciones de operaciones matemticas.
Funciones estadsticas.
Funciones de operacin con cadenas de caracteres.
Funciones de conversin de tipos de datos.

Consultar el manual Unity Pro Estndar de librera de bloques de Schneider


Electric, para profundizar en el conocimiento y utilizacin de funciones de
propsito especial.

99