You are on page 1of 59

CONTROL LGICO

PROGRAMABLE





CONTROL LGICO
PROGRAMABLE





Rubn Vsquez









Autor:
Rubn Daro Vsquez Salazar
Ingeniero de Control Universidad Nacional de Colombia, Medelln.
Magster en Ingeniera Automatizacin Industrial. Universidad Nacional de
Colombia, Manizales.
Docente de tiempo completo Instituto Tecnolgico Metropolitano.
rubenvasquez@itm.edu.co



Tabla de Contenido
1. INTRODUCCIN .............................................................................................. 1
2. PRELIMINARES ............................................................................................... 3
2.1 Puertas lgicas ........................................................................................... 3
2.1.1 SI (IF) ................................................................................................... 3
2.1.2 No (NOT) ............................................................................................. 4
2.1.3 Y (AND) ............................................................................................... 4
2.1.4 O (OR) ................................................................................................. 5
2.1.5 OR exclusiva (XOR) ............................................................................ 6
2.1.6 No-Y (NAND) ....................................................................................... 6
2.1.7 NO-O (NOR) ........................................................................................ 7
2.1.8 Equivalencia (XNOR) ........................................................................... 8
2.2 Nmeros binarios ..................................................................................... 10
2.2.1 Tipos .................................................................................................. 11
2.2.2 Transformacin de un nmero binario en decimal ............................. 11
2.2.3 Transformacin de un nmero decimal en binario ............................. 12
2.3 Ejercicios propuestos ............................................................................... 13
3. REDES DE PETRI CON VARIABLES DIGITALES ........................................ 15
3.1 Elementos de entrada digitales ................................................................ 15
3.1.1 Contacto Normalmente Abierto (NA) ................................................. 15
3.1.2 Contacto Normalmente Cerrado (NC) ............................................... 15
3.2 Elementos de salida digitales ................................................................... 15
3.2.1 Bobina de accin simple .................................................................... 16
3.2.2 Bobina de puesta a 1 (SET) .............................................................. 16
3.2.3 Bobina de puesta a 0 (RESET).......................................................... 16
3.3 Elementos de una red de Petri ................................................................. 18
3.4 Reglas de evolucin del marcaje ............................................................. 19
3.5 Traduccin de Redes de Petri a lenguaje en escalera ............................. 20
3.5.1 Convergencia OR .............................................................................. 21


3.5.2 Convergencia AND ............................................................................ 21
3.5.3 Divergencia OR ................................................................................. 22
3.5.4 Divergencia AND ............................................................................... 23
3.6 Ejercicios propuestos ............................................................................... 25
4. CONEXIN DEL PLC ..................................................................................... 27
5. REDES DE PETRI CON TEMPORIZADORES Y CONTADORES ................. 33
5.1 Temporizadores ....................................................................................... 33
5.1.1 Temporizador Impulso ....................................................................... 33
5.1.2 Temporizador Impulso Prolongado .................................................... 34
5.1.3 Temporizador con retardo a la conexin ........................................... 34
5.1.4 Temporizador con retardo a la conexin (con memoria) ................... 35
5.1.5 Temporizador con retardo a la desconexin ...................................... 35
5.2 Contadores ............................................................................................... 38
5.2.1 Contador ascendente ........................................................................ 38
5.2.2 Contador descendente ...................................................................... 39
5.2.3 Temporizador ascendente-descendente ........................................... 39
5.3 Ejercicios propuestos ............................................................................... 42
6. REDES DE PETRI CON VARIABLES ANALGICAS .................................... 43
6.1 Tipos de datos .......................................................................................... 43
6.2 Conversin de datos ................................................................................ 43
6.3 Comparadores ......................................................................................... 44
6.4 Operaciones aritmticas y transferencia .................................................. 45
6.4.1 Operaciones aritmticas con enteros ................................................ 45
6.4.2 Operaciones aritmticas en coma flotante (Figura 40) ...................... 45
6.4.3 Transferencia (Figura 41) .................................................................. 46
6.5 Escalizacin ............................................................................................. 46
6.6 Rampas .................................................................................................... 48
6.7 Ejercicios propuestos ............................................................................... 51

1

1. INTRODUCCIN
Los controladores lgicos programables o PLCs por las siglas de su nombre en
ingls Programmable Logic Controller, son dispositivos electrnicos de control de
sistemas de eventos discretos, cuya lgica se puede programar desde un
computador utilizando un programa propio del fabricante, incluso algunos PLCs
compactos permiten la programacin directa desde una interface ubicada en su
parte frontal.
Esta habilidad para ser programados es su principal ventaja frente al tradicional
control cableado. Los procesos industriales estn en frecuente cambio, mejora y
adaptacin, por lo cual es comn que se requieran cambios en la lgica de control.
El control cableado generalmente requiere de cambio de equipos, desconexiones
y nuevas conexiones para ser adaptado a los cambios en los procesos, pero el
control lgico requiere nicamente de cambios en la programacin y muchas
menos configuraciones.
Desde sus inicios, el PLC fue utilizado nicamente para realizar el control
centralizado, pero pronto se fueron creando protocolos de comunicacin, entre
ellos el internet, que permitieron distribuir el control y reducir su complejidad. Las
seales analgicas tambin permitieron aumentar el espectro de procesos a
controlar y su aplicacin se masific hasta hoy en da ser una herramienta muy
popular, con gran cantidad de fabricantes que ofrecen variedad de equipos a
costos accesibles.
Los PLCs permiten realizar la programacin a partir de diferentes lenguajes,
algunos de ellos basados en texto, pero el ms utilizado es el lenguaje de escalera
o ladder, debido a sus ventajas grficas y a su similitud con la comnmente
utilizada lgica cableada mencionada anteriormente.
La programacin ha sido un tema de inters para muchas investigaciones debido
a que se han detectado algunos inconvenientes por la no estandarizacin del
cdigo PLC. Debido a las grandes capacidades de estos equipos y a la cantidad
de aplicaciones en que pueden ser utilizados, cada programador ha desarrollado
su propio estilo de programacin y se ha acostumbrado a l; los estilos entre
diferentes programadores pueden llegar a ser tan diferentes que las
modificaciones por parte de un programador diferente al autor original se vuelve
una tarea muy compleja y, en ocasiones, se hace necesaria la reconstruccin de
parte o todo el algoritmo de control lgico, desperdiciando tiempo de trabajo.
2

Algunos de los procedimientos que se podran realizar para estandarizar el
mtodo de programacin es la obtencin de un modelo del proceso el cual permita
realizar una evaluacin y/o simulacin y luego iniciar la codificacin a lenguaje de
PLC. Este procedimiento permitira que varios programadores que utilicen la
misma herramienta de modelacin obtengan cdigos similares o iguales, los
cuales pueden ser fcilmente modificados o reparados por cualquiera de ellos.
Las redes de Petri son una herramienta de modelacin de sistemas de eventos
discretos (SEDs) que se pueden traducir de forma automtica o manual a cdigo
PLC cuyo estudio es la finalidad de este libro.

3

2. PRELIMINARES
Existen algunos temas que requieren estudio o repaso previo a la introduccin en
la programacin de los PLCs. Bsicamente, estos temas consisten en la
fundamentacin lgica implementada en estos controladores, cuyo objetivo final es
la evaluacin de ciertas expresiones combinadas con el valor de las entradas para
producir un resultado en la salida. Las puertas lgicas son las expresiones ms
bsicas que pueden ser programadas en un PLC.
2.1 Puertas lgicas
Las entradas de una puerta lgica pueden estar activas o inactivas, en 1 o en 0,
ON OFF, en verdadero o en falso, son iguales formas de llamar los nicos dos
posibles estados que tiene una entrada.
Las expresiones booleanas contenidas en cada puerta lgica, junto con el valor de
las entradas, producirn una salida F que tambin tomar uno de dos posibles
estados, activa o inactiva.
A continuacin se enunciarn las ms comunes utilizando la mnima cantidad de
entradas necesarias para su explicacin. En el caso que se desee conocer la
puerta lgica equivalente con ms entradas se deber hacer una analoga con la
puerta explicada aqu.
Las tablas de verdad muestran todas las posibles combinaciones de las entradas,
adems, en la columna derecha muestra el resultado de evaluar las entradas con
su respectiva funcin de salida.
2.1.1 SI (IF)
La puerta lgica IF consiste en una expresin, cuya salida F es igual a la entrada
A.
F A =

4

La tabla de verdad para esta puerta lgica se muestra en la Tabla 1 y su smbolo
en la Figura 1.
Tabla 1. Tabla de verdad de la puerta lgica IF
ENTRADA A SALIDA F
0 0
1 1


Figura 1. Smbolo de la funcin lgica IF
2.1.2 No (NOT)
La puerta lgica NOT consiste en una expresin cuya salida F es opuesta a la
entrada A.
F A =
La tabla de verdad para esta puerta lgica se muestra en la Tabla 2 y su smbolo
en la Figura 2.
Tabla 2. Tabla de verdad de la puerta lgica NOT
ENTRADA A SALIDA F
0 1
1 0


Figura 2. Smbolo de la funcin lgica NOT
2.1.3 Y (AND)
La puerta lgica AND consiste en una expresin, cuya salida F se activa
nicamente cuando todas las entradas estn activas. Su expresin se realiza a
travs de la operacin producto.
F AB =
5

Esta puerta lgica est estrechamente relacionada con interruptores conectados
en serie, debido a que para que se produzca una corriente a travs de ellos es
necesario que todos estn activos de forma simultnea. La tabla de verdad para
esta puerta lgica se muestra en la Tabla 3 y su smbolo en la Figura 3.
Tabla 3. Tabla de verdad de la puerta lgica AND
ENTRADA A ENTRADA B SALIDA F
0 0 0
0 1 0
1 0 0
1 1 1


Figura 3. Smbolo de la funcin lgica AND
2.1.4 O (OR)
La puerta lgica OR consiste en una expresin, cuya salida F se activa cuando
cualquiera de las entradas est activa. Su expresin se realiza a travs de la
operacin suma.
F A B = +
Esta puerta lgica est estrechamente relacionada con interruptores conectados
en paralelo, debido a que para que se produzca una corriente a travs de esta
conexin es suficiente que alguno de ellos est activo. La tabla de verdad para
esta puerta lgica se muestra en la Tabla 4 y su smbolo en la Figura 4.
Tabla 4. Tabla de verdad de la puerta lgica OR
ENTRADA A ENTRADA B SALIDA F
0 0 0
0 1 1
1 0 1
1 1 1


Figura 4. Smbolo de la funcin lgica OR
6

2.1.5 OR exclusiva (XOR)
La puerta lgica XOR consiste en una expresin, cuya salida F se activa cuando el
resultado de la siguiente expresin es verdadero.
F A B AB AB = = +

El operador utilizado en esta puerta lgica fue un signo de suma encerrado en un
crculo. La tabla de verdad para esta puerta lgica se muestra en la Tabla 5 y su
smbolo en la Figura 5.
Tabla 5. Tabla de verdad de la puerta lgica XOR
ENTRADA A ENTRADA B SALIDA F
0 0 0
0 1 1
1 0 1
1 1 0


Figura 5. Smbolo de la funcin lgica XOR
2.1.6 No-Y (NAND)
La puerta lgica NAND consiste en una expresin, cuya salida F se activa cuando
el resultado de la siguiente expresin es verdadero.
F AB A B = = +
Nota 1: Para la conversin de AB en A B + se utiliza una regla de la lgica
booleana: Un producto negado se convierte en la suma de los multiplicandos
negados.

7

La tabla de verdad para esta puerta lgica se muestra en la Tabla 6 y su smbolo
en la Figura 6.
Tabla 6. Tabla de verdad de la puerta lgica NAND
ENTRADA A ENTRADA B SALIDA F
0 0 1
0 1 1
1 0 1
1 1 0


Figura 6. Smbolo de la funcin lgica NAND
2.1.7 NO-O (NOR)
La puerta lgica NOR consiste en una expresin, cuya salida F se activa cuando el
resultado de la siguiente expresin es verdadero.
F A B AB = + =
Nota 2: Para la conversin de A B + en AB se utiliza una regla de la lgica
booleana: Una suma negada se convierte en la multiplicacin de los sumandos
negados.
La tabla de verdad para esta puerta lgica se muestra en la Tabla 7 y su smbolo
en la Figura 7Figura 5.
Tabla 7. Tabla de verdad de la puerta lgica NOR
ENTRADA A ENTRADA B SALIDA F
0 0 1
0 1 0
1 0 0
1 1 0


Figura 7. Smbolo de la funcin lgica NOR
8

2.1.8 Equivalencia (XNOR)
La puerta lgica XNOR consiste en una expresin, cuya salida F se activa cuando
el resultado de la siguiente expresin es verdadero.
F A B =

La tabla de verdad para esta puerta lgica se muestra en la Tabla 8 y su smbolo
en la Figura 8.
Tabla 8. Tabla de verdad de la puerta lgica XNOR
ENTRADA A ENTRADA B SALIDA F
0 0 1
0 1 0
1 0 0
1 1 1


Figura 8. Smbolo de la funcin lgica XNOR
Ejemplo 2.1: XOR de 3 entradas
Para reforzar las definiciones vistas en las Notas 1 y 2 y mostrar la forma de
realizacin de analogas para las puertas lgicas con ms entradas de las
explicadas en la seccin anterior, se tomar como referencia la puerta lgica XOR
y se aadir una entrada adicional, realizando el desarrollo para obtener su
expresin final y su tabla de verdad.
Anteriormente se vio que la puerta lgica XOR de 2 entradas consiste en una
expresin, cuya salida F se activa cuando el resultado de la siguiente expresin es
verdadero.
F A B AB AB = = +

Por tanto, para una puerta lgica XOR de 3 entradas la expresin se convierte en:
F A B C =
La propiedad asociativa y conmutativa se cumplen en las operaciones lgicas, por
lo tanto es igual convertir la expresin en:
9

( )
( )
F A B C AB AB C = = +

El operador XOR aplicado a 2 elementos sugiere en palabras textuales que: El
primero de ellos se niega y se multiplica por el segundo, todo esto se suma con la
negacin del segundo multiplicado por el primero de ellos.
Aplicando esta definicin a la expresin obtenida se tiene:
( ) ( ) ( )
F AB AB C AB AB C AB AB C = + = + + +

Aplicando la definicin dada en la Nota 2,
( )
AB AB +
se convierte en ABAB ,
por tanto:
( )
( )
F ABAB C AB AB C = + +

Aplicando la definicin dada en la Nota 1, AB y AB se convierten
respectivamente en
( )
A B +
y
( )
A B +
. Entonces la expresin se convierte en:
( )( ) ( )
( )
F A B A B C AB AB C = + + + +

Si se niega cualquier nmero booleano su valor se invierte, pero si se niega
nuevamente su valor vuelve al estado inicial, por lo tanto A A = y B B = . La
expresin se convierte en:
( )( ) ( ) ( )
F A B A B C AB AB C = + + + +

Realizando el producto ( )( )
A B A B AA AB AB BB + + = + + +
. Cualquier
nmero multiplicado por su negado se convierte en cero, entonces
AA AB AB BB AB AB + + + = + , la expresin completa se convierte en:
( ) ( )
F AB AB C AB AB C = + + +

10

Destruyendo los parntesis:
F ABC ABC ABC ABC = + + +

La tabla de verdad para esta puerta lgica se muestra en la Tabla 9 .
Tabla 9. Tabla de verdad de la puerta lgica XOR de 3 entradas
ENTRADA A ENTRADA B ENTRADA C SALIDA F
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 1

Las puertas lgicas permiten entonces realizar un sinnmero de operaciones con
nmeros que permiten nicamente 2 estados, activo o inactivo. Estos nmeros se
llaman nmeros binarios y su estudio se convierte en uno de los temas necesarios
para lograr el entendimiento de la lgica utilizada para la programacin y
utilizacin de las puertas vistas anteriormente.
2.2 Nmeros binarios
Los nmeros que normalmente se utilizan en la vida cotidiana y acadmica se
llaman nmeros decimales, debido a que con un solo dgito se pueden tener 10
posibles combinaciones, desde el 0 hasta el 9. Los nmeros binarios adquieren su
nombre debido a que en un solo dgito es posible tener nicamente 2
combinaciones, 0 1.
La representacin de los nmeros decimales en sistemas computacionales es
difcil debido a la cantidad de estados que posee un nico dgito, mientras que en
los binarios, por ejemplo por voltaje, es fcil representar un 0 lgico a partir de 0V
y un 1 lgico a partir de 5V. De esta forma se puede entregar una cadena o tren
de unos y ceros que finalmente estn llevando informacin a travs de un cable.
Las reas de memoria en los Controladores Lgicos Programables estn
representadas a partir de nmeros binarios y por tal motivo su estudio debe ser de
especial inters para un conocedor o aprendiz de este tema.
11

2.2.1 Tipos
Los nmeros binarios se pueden dividir en varios tipos segn el nmero de reas
de memoria o bits que utilicen (Tabla 10). El bit se considera entonces la unidad
ms bsica de medicin de tamao de un nmero binario.
Tabla 10. Capacidad de almacenamiento en bits
NOMBRE CANTIDAD SMBOLO
Bit 1 bit Bit
byte 8 bits B
Kilobit 1024 bits Kbit
Kilobyte 1024 B KB
Megabit 1024 Kbits Mbit
Megabyte 1024 KB MB
Gigabit 1024 Mbits Gbit
Gigabyte 1024 MB GB
Terabit 1024 Gbits Tbit
Terabyte 1045 GB TB

Es posible realizar la transformacin de cualquiera de estos tipos a bits, pero
carece de sentido y normalmente se utiliza el tamao en bytes (B).
2.2.2 Transformacin de un nmero binario en decimal
En un nmero binario de cualquier tamao, se identifica el nmero del extremo
derecho como el bit menos significativo y el del izquierdo como el ms
significativo. Este concepto se reforzar con el siguiente ejemplo.
Dada una cadena o sucesin de unos y ceros el procedimiento para conocer su
valor equivalente en nmeros decimales se muestra en el siguiente ejemplo paso
por paso:
Ejemplo 2.2: Para convertir el nmero decimal de 16 bits 1100100110100001 se
utiliza la Tabla 11 y a continuacin se explica cada una de sus filas:
- Fila Binario: Se escribe el nmero binario, con el bit ms significativo a la
izquierda y el menos significativo a la derecha.
- Fila Enumeracin: Se enumeran desde el bit menos significativo hasta el
bit ms significativo, de derecha a izquierda iniciando en cero.
- Fila Potencia de 2: Se toma en cuenta la numeracin de la fila anterior
para ser la potencia del nmero decimal 2 respectivo. Este 2 es debido al
nmero de estados que puede tomar el nmero binario.
12

- Fila Decimal: Se calcula el valor de cada potencia de 2 de la fila Potencia
de 2, pero nicamente si su respectivo binario de la fila Binario tiene el
estado 1, en caso de ser 0 se debe poner 0 en la casilla decimal.
Tabla 11. Procedimiento para convertir un nmero binario en uno decimal
Binario
1 1 0 0 1 0 0 1 1 0 1 0 0 0 0 1
Enumeracin
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Potencia de
2
2
15
2
14
2
13
2
12
2
11
2
10
2
9
2
8
2
7
2
6
2
5
2
4
2
3
2
2
2
1
2
0
Decimal
32768 16384 0 0 2048 0 0 256 128 0 32 0 0 0 0 1

Finalmente, el nmero decimal equivalente es la suma de todas las casillas
decimales diferentes de cero:

2.2.3 Transformacin de un nmero decimal en binario
El proceso en este caso ser inverso al anterior. Para ello se utilizar el mismo
ejemplo, partiendo desde el nmero decimal 51617 y terminando en el nmero
binario antes descrito.
Para realizar este procedimiento se debe tener en cuenta si el nmero es par o
impar. En caso de ser par se tiene inmediatamente que el bit menos significativo
(el del extremo derecho) es cero, se divide por 2 el nmero decimal y se contina
el procedimiento, aadiendo unos o ceros cada vez ms significativos. En caso de
ser impar, este bit ser 1, se le deber restar una unidad al nmero decimal, dividir
por 2 y repetir el procedimiento hasta llegar al final.
El procedimiento entonces es:
- Debido a que 51617 es impar, entonces tomamos nota que 1 es el bit
menos significativo, restamos 1 unidad quedando en 51616 y dividimos por
2, lo cual da como resultado 25808.
- Partimos ahora de 25808, dado que es par, el bit siguiente hacia la
izquierda ser 0. Dividimos por 2 obteniendo 12904.
- El procedimiento se repite hasta llegar a la conclusin que el bit ms
significativo es 1 y obtener finalmente el nmero binario
1100100110100001.
En Windows XP y Vista est incluida una calculadora cientfica capaz de
realizar esta conversin de forma automtica, adems en internet hay algunas
13

disponibles en lnea que permiten realizar esta misma operacin sin necesidad de
realizar el procedimiento paso por paso.
2.3 Ejercicios propuestos
1. A travs del lbegra de boole, simplifique:
a. F A BC = +
b. F A BCD = +
c. F A B = +
d.
( )
F A BC =
e.
( )
F A B C =
2. Obtenga el nmero decimal a partir de los siguientes nmeros binarios
a. 10101010
b. 01101100
c. 00001101
d. 11100111
e. 11111111
3. A partir de los resultados obtenidos en el ejercicio 2, realice el
procedimiento inverso para convertirlo nuevamente en binario y verifique
as sus respuestas.


14


15

3. REDES DE PETRI CON VARIABLES DIGITALES
El lenguaje en escalera, comnmente conocido como diagrama de contactos o por
su traduccin al ingls Ladder, es uno de los ms utilizados en los autmatas
programables.
Su simbologa se compone de elementos de entrada y de salida, cada uno de los
cuales debe estar relacionado a una variable del PLC.
3.1 Elementos de entrada digitales
Los elementos de entrada normalmente son los primeros en ser utilizados en el
diagrama de escalera. Pueden ser de varios tipos y comnmente estn
relacionados con una variable tipo entrada, como por ejemplo I4.3.
3.1.1 Contacto Normalmente Abierto (NA)
Este contacto evala la variable de entrada y se cierra en caso que sta est
activa, de lo contrario permanecer abierto. Su smbolo es:

3.1.2 Contacto Normalmente Cerrado (NC)
Este contacto acta de forma opuesta al NA, es decir, evala la variable de
entrada y se abre en caso que sta est activa, de lo contrario permanecer
cerrado y permitir el paso de corriente a travs de l. Su smbolo es:

3.2 Elementos de salida digitales
Los elementos de salida normalmente se ubican despus de haber aadido los
elementos de entrada, los cuales actan como condiciones a evaluar antes de
modificar el estado de la salida. Comnmente, estn relacionados con variables
tipo salida, como por ejemplo Q3.2.
16

3.2.1 Bobina de accin simple
Esta bobina activa su variable asociada nicamente cuando se encuentra
energizada, en caso contrario la desactiva. Su smbolo es:

3.2.2 Bobina de puesta a 1 (SET)
Esta bobina activa su variable asociada cuando se encuentra energizada y an
cuando se desenergiza la mantiene activa. Su smbolo es:

3.2.3 Bobina de puesta a 0 (RESET)
Esta bobina desactiva su variable asociada cuando se encuentra energizada y la
mantiene as. Su smbolo es:

Nota. Las bobinas SET y RESET normalmente se utilizan en conjunto, es decir,
despus de aplicarse la bobina SET a una variable, su apagado se realiza con la
bobina RESET.

Ejemplo 3.1: Puertas lgicas en lenguaje ladder
La construccin del diagrama en escalera de estas puertas lgicas y, en general
cualquier programacin, se debe realizar apoyada en una tabla de variables que
permita identificar su descripcin. La Tabla 12 muestra su respectiva direccin,
smbolo y comentario.
Tabla 12. Variables para el ejemplo: Puertas lgicas en lenguaje ladder
DIRECCIN SMBOLO COMENTARIO
I124.0 Entrada A Entrada digital A
I124.1 Entrada B Entrada digital B
I124.2 Entrada C Entrada digital C
Q124.0 F1 Salida puerta lgica SI
Q124.1 F2 Salida puerta lgica AND
Q124.2 F3 Salida puerta lgica OR
Q124.3 F4 Salida puerta lgica XOR
Q124.4 F5 Salida puerta lgica NO
17

Q124.5 F6 Salida puerta lgica NAND
Q124.6 F7 Salida puerta lgica NOR
Q124.7 F8 Salida puerta lgica XOR
Q125.0 F9 Salida puerta lgica XOR 3 entradas

Con base en estos nombres y direcciones se construye el diagrama en escalera
para las puertas lgicas.

Figura 9. Diagrama en escalera para el ejemplo: Puertas lgicas en lenguaje
ladder

18

3.3 Elementos de una red de Petri
Una Red de Petri (RdeP) es una herramienta grfica y matemtica que provee una
metodologa de diseo unificado para la especificacin de sistemas de eventos
discretos [1]. Una RdeP puede ser traducida a lenguaje PLC utilizando la
metodologa que se plantear ms adelante.
Una red de Petri ordinaria est compuesta por:
Lugares: Representan estados del proceso o sistema modelado. Su smbolo es un
crculo.
Transiciones: Son utilizadas para que la RdeP evolucione de un estado a otro y
representan eventos del sistema modelado. Su smbolo es un rectngulo.
Arcos: Se utilizan para conectar lugares con transiciones y viceversa. Su smbolo
es una flecha cuya direccin representa el sentido de flujo de marcas a travs de
la red.
Marcaje: Si un lugar posee marca significa que este lugar est activo, en caso
contrario el lugar est inactivo. Una marca pasa de un lugar a otro a travs del
disparo de una transicin sensibilizada.
Una RdeP Interpretada es similar a la ordinaria, pero en las transiciones tiene
asociadas seales de entrada y en los estados seales de salida. Adicionalmente,
se define para implementacin, que los lugares estn representados por memorias
internas del PLC.
Ejemplo 3.2: Encendido de un bombillo
Este sistema consiste en 2 posibles estados, encendido y apagado, por lo cual la
RdeP contiene 2 lugares. Inicialmente el bombillo est apagado. Debe existir una
transicin para pasar de apagado a encendido cuando se activa un pulsador y otra
para pasar de encendido a apagado cuando se desactiva el mismo pulsador.
La RdeP que modela este sistema se muestra en la Figura 10:

19


Figura 10. Red de Petri para encendido de un bombillo
3.4 Reglas de evolucin del marcaje
Anteriormente en la definicin de marcaje se especific que una transicin debe
estar sensibilidada para poder disparar. Se dice que una transicin est
sensibilizada nicamente cuando todos los lugares de entrada a ella estn activos,
es decir, poseen marca.
Cuando una transicin est sensibilizada y se cumplen las condiciones, entonces
la transicin dispara, removiendo una marca de todos los lugares de entrada y
aadiendo una en todos los lugares de salida.
En la Figura 11 se muestra un ejemplo con diferentes posibilidades para las
transiciones y sus disparos.
En la Figura 11 a) la transicin no est habilitada, debido a que 0.3 M , lugar de
entrada a la transicin no est marcado.
En la Figura 11 b) la transicin est habilitada, debido a que todos los lugares de
entrada a ella, 0.2 M y 0.3 M , estn marcados.
En la Figura 11 a) y b) se cuenta con 2 redes de Petri con igual estructura pero
diferente marcaje, ambas con una transicin con la entrada 0.1 I como condicin
de disparo. La Figura 11 a) no puede disparar, ya que la transicin no tiene todos
sus lugares de entrada marcados, por lo tanto la Figura 11 c) tiene el mismo
marcaje.
Por el contrario, la Figura 11 b) s cumple la condicin de disparo y, ante la
ocurrencia del evento 0.1 I la transicin puede disparar y el marcaje evoluciona,
removiendo las marcas de 0.2 M y 0.3 M y aadiendo una en 0.4 M (Figura 11 d)
20


Figura 11. Redes de Petri con: a) Transicin no sensibilizada, b) Transicin
sensibilizada, c) Transicin no disparada y d) Transicin disparada.
3.5 Traduccin de Redes de Petri a lenguaje en escalera
Anteriormente se defini que:
- Cada lugar de la red de Petri est representada por una memoria interna
del PLC, por ejemplo M0.0.
- Cada transicin est representada por una entrada del PLC, por ejemplo
I124.3.
- Cada lugar representa un estado del sistema, por tanto puede representar
activacin o desactivacin de las salidas del PLC, por ejemplo Q125.2=1
Q125.7=0.
21

En la traduccin a lenguaje en escalera se utiliza un escaln o segmento de
cdigo para cada transicin. Se debe verificar el estado activo de cada lugar de
entrada, luego se verifica con lgica AND el cumplimiento de las condiciones
asociadas a la transicin, finalmente se activan los lugares de salida de la
transicin con la instruccin SET y se desactivan los lugares de entrada con la
instruccin RESET.
Se ilustrar el mtodo de traduccin de RdeP a lenguaje en escalera usando las
estructuras generalizadas [2]: convergencia y divergencia utilizando lgica AND y
OR, debido a que son de frecuente uso en los controladores lgicos programables.
3.5.1 Convergencia OR
Se presenta cuando un lugar se activa ante el disparo de cualquier varias
transiciones de entrada las cuales tienen un nico lugar de entrada que garantiza
la sensibilidad. El lugar 0.7 M se activa entonces ante el disparo de 0.2 I 0.3 I
(Figura 12).

Figura 12. Red de Petri y equivalente en lenguaje ladder para la estructura
Convergencia OR

3.5.2 Convergencia AND
Se presenta cuando un lugar se activa ante el disparo de una transicin de
entrada la cual a su vez tiene varios lugares de entrada, los cuales deben estar
activos simultneamente. El lugar 1.2 M se activa entonces ante el disparo de 0.4 I
y el cumplimiento simultneo de 1.0 M y 1.1 M (Figura 13).
22


Figura 13. Red de Petri y equivalente en lenguaje ladder para la estructura
Convergencia AND
3.5.3 Divergencia OR
Se presenta cuando un lugar est marcado se debe elegir entre 2 posibles
transiciones para el disparo. El lugar 1.3 M enva su marca a travs de 0.5 I 0.6 I
(Figura 14).

Figura 14. Red de Petri y equivalente en lenguaje ladder para la estructura
Divergencia OR

23

3.5.4 Divergencia AND
Se presenta cuando un lugar est marcado y, ante el disparo de una transicin, la
marca evoluciona a varios estados. El lugar 1.6 M enva su marca hacia 1.7 M y
2.0 M (Figura 15).


Figura 15. Red de Petri y equivalente en lenguaje ladder para la estructura
Divergencia AND
Ejemplo 3.3: Control de nivel y temperatura en un tanque (Tomado de [3])
El funcionamiento del sistema debe ser:
1) Las condiciones iniciales son todos los actuadores apagados.
2) Si se presiona el pulsador de inicio se debe verificar nivel por debajo del
sensor de nivel bajo y temperatura por debajo del valor deseado. Si esto se
cumple se inicia el llenado y el mezclado.
3) Durante el llenado se verifica que el nivel est por debajo del nivel mximo;
cuando se llegue a este nivel el llenado debe finalizar.
4) Una vez verificado el nivel mximo se debe verificar temperatura. Si la
temperatura est en el valor deseado se salta al proceso de vaciado, de lo
contrario se inicia el proceso de calentamiento.
5) En el proceso de calentamiento se verifica constantemente la temperatura,
una vez se obtenga el valor deseado se termina el calentamiento y se inicia
el vaciado.
6) Una vez se detecta el vaco completo se vuelve a las condiciones iniciales,
apagando todos los actuadores.
La Tabla 13 especifica la direccin, tipo y descripcin de cada variable utilizadas.

24

Tabla 13. Direccionamiento del ejemplo de control de nivel y temperatura en un
tanque
DIRECCIN TIPO DESCRIPCIN
M0.1 Estado Reposo
M0.2 Estado Llenado
M0.3 Estado Calentamiento
M0.4 Estado Vaciado
M0.5 Estado Mezclado
I0.1 Entrada Sensor de nivel mnimo (NA)
I0.2 Entrada Sensor de nivel mximo (NA)
I0.3 Entrada Sensor de temperatura (NA)
I0.4 Entrada Pulsador de inicio (NA)
Q0.1 Salida Vlvula de llenado
Q0.2 Salida Vlvula de vaciado
Q0.3 Salida Motor del mezclador
Q0.4 Salida Resistencia del calentador


Figura 16. Red de Petri del ejemplo de control de nivel y temperatura en un tanque
25


Figura 17. Diagrama en escalera del ejemplo de control de nivel y temperatura en
un tanque
3.6 Ejercicios propuestos
1. Realice la codificacin en lenguaje ladder para los ejercicios planteados en
el numeral 1 de la seccin 2.3.
2. Realice la codificacin en lenguaje ladder para el ejemplo 3.1, siguiendo el
mtodo explicado en el ejemplo 3.2
3. A travs de un pulsador llamado Pulsador1 se encendern 2 pilotos
simultneamente. A travs de un Pulsador2 se apagar el Piloto1 y a travs
de un Pulsador3 se apagar el Piloto2, con lo cual el sistema volver a
condiciones iniciales con ambos pilotos apagados. El proceso debe ser
cclico. Obtenga la red de Petri que modela al sistema y la codificacin en
lenguaje ladder.
4. Para la apertura de una puerta de seguridad se requiere la activacin de 3
seales en un orden especfico. Cada seal se activa o desactiva a travs
de un pulsador. Realice la red de Petri para que el sistema pueda abrirse
26

nicamente en caso que los 3 pulsadores se activen en la secuencia
correcta, en caso contrario deber iniciar nuevamente y realice la
codificacin en lenguaje ladder. Nota: Suponga que nunca se activar 1
pulsador 2 veces seguidas.
27

4. CONEXIN DEL PLC
En este captulo se explicar el esquema de conexin al PLC usando como
ejemplo la CPU314C-2DP de Siemens dado que el Laboratorio de PLC del ITM se
encuentra dotado con esta referencia de PLC. Sin embargo, la conexin de otras
referencias e incluso marcas diferentes se realiza de forma muy similar.
La conexin de este PLC consiste bsicamente en 3 pasos:
1. Conexin de la fuente a la alimentacin: Este PLC trae incluida una fuente
encargada de convertir la energa y suministrarla a la CPU y todos los
dems componentes. Est ubicada en el lado izquierdo y posee 3 bornes,
L1, N y GND, los cuales deben ser conectados a una alimentacin de
110VAC. La fuente posee otros 4 bornes, 2 positivos etiquetados con L+ y 2
negativos etiquetados con M los cuales entregarn 24VDC.
2. Conexin de la CPU: sta posee 2 bornes llamados L+ y M, los cuales
deben conectarse directamente a los bornes del mismo nombre en la
fuente.
3. Conexin de las entradas y salidas: Esta referencia de PLC incluye 2
mdulos de entradas y salidas, uno para analgicas y otro para digitales.
Ambos mdulos deben energizarse con 24VDC provenientes de la fuente.
Los bornes de los mdulos marcados con L deben ir conectados al borne
L+ de la fuente y los marcados con M al borne M. Los mdulos de entradas
y salidas poseen varios bornes L y M, por lo tanto estn numerados para
ser fcilmente diferenciados.
La Figura 18 muestra los componentes del PLC y sus respectivos bornes de
alimentacin.

Figura 18. PLC Siemens 314C-2DP
28

Ejemplo 4.1. Utilizacin de un PLC para control de giro en un motor trifsico
El motor trifsico utiliza, como su nombre lo dice, 3 fases de forma equilibrada, es
decir, consume lo mismo en cada una de ellas y no requiere el uso del neutro. Su
alimentacin es por corriente alterna y se pueden clasificar en asncronos y
sncronos. Se dice que un motor es sncrono cuando su rotor gira a las mismas
revoluciones que lo hace el campo magntico del estator, en caso contrario se
llama asncrono.
Algunas de las caractersticas ms importantes que diferencian un motor trifsico
de otro son: la tensin, la cual puede variar dependiendo de su aplicacin, por
ejemplo, para aplicaciones industriales es comn encontrarlos a 230V, pero para
grandes aplicaciones se utilizan motores de alta tensin, que llegan a ser de hasta
15000V; la frecuencia, la cual vara principalmente de acuerdo al sistema elctrico
utilizado, en Europa es a 50Hz mientras que en Amrica es a 60Hz; su velocidad
la cual depende de la aplicacin que se requiera.
Su representacin se hace comnmente a travs de 3 bobinas (Figura 19) que
deben conectarse entre s para producir el arranque y el giro, conexin que se
realiza en delta o en estrella.

Figura 19. Representacin de un motor trifsico
La conexin en estrella (Figura 20) se forma conectando los extremos U2, V2 Y
W2 de las 3 bobinas y en los extremos quedan los puntos U1, V1 y W1 disponibles
para la alimentacin con la red trifsica.

29

Figura 20. Conexin en estrella de un motor trifsico
La conexin en delta, comnmente conocida como tringulo, en la cual se
conectan los puntos de las bobinas como se muestra en la Figura 21.

Figura 21. Conexin en delta de un motor trifsico
En un motor trifsico es posible controlar velocidad y sentido de giro.
El control de velocidad se realiza mediante un variador de frecuencia, al cual se le
programan todos los parmetros del motor y se le envan rdenes para indicar la
velocidad deseada. Estas rdenes se envan comnmente como un voltaje de 0-
10VDC, donde 0V significan velocidad 0 y 10V significan velocidad mxima
nominal.
El sentido de giro se realiza mediante la inversin de 2 de sus fases. Esta
inversin es delicada ya que si se comete un error en la inversin es posible
realizar un corto circuito entre 2 fases y as generar un apagn y daos en el
sector.
Algunos elementos necesarios son:
- Pulsador: Elemento que permite el paso o interrupcin de la corriente
mientras es accionado. Cuando ya no se acta sobre l vuelve a su
posicin de reposo. Puede ser normalmente cerrado (NC) o normalmente
abierto (NA).

- Rel: Es un dispositivo electromecnico, que funciona como un interruptor
controlado por un circuito elctrico en el que, por medio de una bobina y un
electroimn, se acciona un juego de uno o varios contactos que permiten
abrir o cerrar otros circuitos elctricos independientes.

- Contactor: Es un interruptor accionado a distancia que vuelve a la posicin
de reposo cuando la fuerza de accionamiento deja de actuar sobre l.
30

Simbologa: 1 y 2 contactos normalmente cerrados (NC). 3 y 4 contactos
normalmente abiertos (NA)

Figura 22. Esquema de contactos auxiliares del contactor

- Motor trifsico: La mayora de los motores trifsicos tienen una carga
equilibrada, es decir, consumen lo mismo en las tres fases, ya estn
conectados en estrella o en tringulo. Un motor con carga equilibrada no
requiere el uso de neutro.

- Fuente 24V ajuste por VARIAC: Funciona con un autotransformador para
realizar los cambios de voltaje.

31

El circuito de potencia (Figura 23) es el encargado de alimentar al receptor, en
este caso el motor.

Figura 23. Circuito de potencia
El circuito de mando (Figura 24) es el encargado de controlar el funcionamiento
del contactor. Normalmente consta de elementos de mando como pulsadores,
interruptores, rels, etc.

Figura 24. Circuito de mando
Los pulsadores de arranque y de paro deben conectarse a las entradas digitales
del PLC, mientras que el rel 24VDC debe ir conectado a una salida digital.
32

Para encender un motor mientras un pulsador est presionado y apagarlo en caso
contrario no es necesaria la utilizacin de un PLC porque incrementara el costo
de la implementacin del sistema y es de fcil implementacin sin utilizarlo. Sin
embargo, en este ejemplo se utilizar PLC porque en el Captulo 6 se retomar
este ejemplo para programar diferentes secuencias en el motor, utilizando
temporizadores y contadores para inversin de giro y comparadores para realizar
control de velocidad, casos en los cuales empieza a ser rentable la
implementacin de la lgica programada en vez de la lgica cableada debido a la
reduccin de la utilizacin de cables y otros elementos fsicos fcilmente
reemplazables por lneas de cdigo en un PLC.
Entonces, el Captulo 5 se concentrar en el uso de temporizadores y contadores,
elementos importantes para la inversin de giro, mientras que en el Captulo 6 se
estudiarn las variables analgicas y dentro de este tema, el uso de comparadores
como elemento indispensable en el tratamiento de este tipo de variables.
33

5. REDES DE PETRI CON TEMPORIZADORES Y
CONTADORES
Hasta este momento se han estudiado las seales digitales y su importancia en
los sistemas a eventos discretos. Estas seales permiten detectar rdenes o
mediciones provenientes de pulsadores, suiches, sensores, etc, y, a travs de la
lgica implementada en el PLC encender o apagar las salidas tambin digitales.
Se ha demostrado tambin la forma en que los PLCs han reemplazado los
sistemas de control cableados, cambiando dichos elementos por programacin de
bajo costo. Algunos de estos son los temporizadores y contadores, elementos que
tambin se pueden reemplazar por cdigo PLC, reduciendo costos, conexiones y
espacios en la implementacin de los sistemas de control.
Los temporizadores y los contadores se estudiarn basados en el lenguaje en
escalera para el PLC S7-300 de acuerdo a las explicaciones dadas en el captulo
anterior.
5.1 Temporizadores
Existen varios tipos de temporizadores para la CPU S7-300, particularmente 5.
Las diferencias entre ellos es la forma en que realizan la temporizacin,
permitiendo as lograr diferentes aplicaciones. Para cada una de ellas es
necesario conocer detalladamente el funcionamiento del temporizador para
realizar la programacin apropiada.
En total son 256 y todos requieren de una seal de entrada que les indique su
activacin o desactivacin, y ellos generan una salida dependiendo del tipo. Los 5
tipos de temporizadores en KOP o lenguaje en escalera [4] son:
5.1.1 Temporizador Impulso
El temporizador activa su salida inmediatamente cuando la entrada es activada. La
salida del temporizador permanecer activa hasta que se desactive la entrada o,
en su defecto, hasta que se cumpla el tiempo preconfigurado.

34


Figura 25. Temporizador impulso
5.1.2 Temporizador Impulso Prolongado
El temporizador activa su salida inmediatamente cuando la entrada es activada. La
salida del temporizador permanecer activa nicamente hasta que se cumpla el
tiempo preconfigurado.

Figura 26. Temporizador Impulso Prolongado
5.1.3 Temporizador con retardo a la conexin
El temporizador activa su salida nicamente un tiempo despus de haberse
activado la entrada y esta ltima haya permanecido activa durante todo este
tiempo. La salida se desactivar cuando la seal de entrada se desactive.

Figura 27. Temporizador con retardo a la conexin
35

5.1.4 Temporizador con retardo a la conexin (con memoria)
El temporizador activa su salida nicamente un tiempo despus de haberse
activado la entrada, an si esta ltima fue desactivada en algn momento.

Figura 28. Temporizador con retardo a la conexin (con memoria)
5.1.5 Temporizador con retardo a la desconexin
Este temporizador se activa simultneamente con su entrada, y se desactivar
nicamente un tiempo despus de haberse desactivado la entrada, es decir, haya
pasado del estado 1 al 0.

Figura 29. Temporizador con retardo a la desconexin

36

En los tipos de temporizadores se utiliz el nombre en alemn que se le da en el
software Simatic, sin embargo su nombre en Ingls es ms fcil de recordar. La
Tabla 14 muestra estas equivalencias.
Tabla 14. Equivalencia entre los nombres de los temporizadores
TIPO NOMBRE EN INGLS NOMBRE EN ALEMN
Impulso S_PULSE S_IMPULS
Impulso prolongado S_PEXT S_VIMP
Retardo a la conexin S_ODT S_EVERZ
Retardo a la conexin con
memoria
S_ODTS S_SEVERZ
Retardo a la desconexin S_OFFDT S_AVERZ

Los temporizadores se pueden parametrizar y arrancar simultneamente mediante
un bloque, o se pueden arrancar mediante una bobina. La forma ms comn de
utilizacin es mediante un bloque, aunque en realidad depende del programador,
sus gustos y necesidades.
Para obtener los temporizadores basta simplemente con abrir un bloque de
programacin y arrastrarlos al lugar deseado arrastrndolos desde el men
desplegable de la izquierda en la lista de temporizadores (Figura 30). En esta lista
los primeros 5 elementos son bloques y los ltimos 5 son las bobinas de arranque
para cada temporizador.
37


Figura 30. Lista desplegable de temporizadores
Para la parametrizacin del temporizador, como se explic antes, es necesario
hacerlo en forma de bloque. Los parmetros que se deben configurar en cada
temporizador se muestran en la Tabla 15.

Tabla 15. Parmetros de un temporizador
PARMETRO DESCRIPCIN TIPO
S Entrada de arranque Bool
TV Valor de temporizacin predeterminado S5T#
R Reset del temporizador Bool
Q Estado del temporizador Bool
BI Valor de temporizacin actual Binario (Bi)
BCD Tiempo restante BCD

Ejemplo 5.1: Un temporizador de pulso extendido tiene como entrada a I0.0, a la
salida debe encender a Q0.0 de acuerdo a su estado y su tiempo predeterminado
es 4 segundos.

La Figura 31 muestra la programacin en KOP, nombrndolo T5 y configurando la
variable tipo S5T con 4 segundos.

38


Figura 31. Bloque del temporizador pulso extendido del Ejemplo 5.1

Para un programador, es de especial importancia conocer muy bien el
funcionamiento de los temporizadores. Para ello, se sugiere la experimentacin
ms que la lectura de documentos extensos en este tema, por tanto se
recomienda realizar la programacin de varios temporizadores con la estructura
del Ejemplo 5.1, modificar el estado de la entrada y observar el valor de la salida.

Los contadores poseen una estructura muy similar a los temporizadores y por esta
razn es que normalmente se explican de forma paralela. A continuacin se
explicarn los contadores para el lenguaje KOP.
5.2 Contadores
Al igual que en el caso de los temporizadores, existen varios tipos de contadores
para la CPU S7-300, particularmente 3, igualmente es necesario conocer su
funcionamiento de forma detallada para realizar la apropiada seleccin del tipo
necesario y su correcta implementacin y programacin.
Los contadores requieren de por lo menos una seal de entrada que representa el
evento al que se le realiza el contaje y una salida que representa el estado actual
del contador. Los 3 tipos de contadores en KOP [4] son:

5.2.1 Contador ascendente
Este contador inicia su contaje en cero y lo incrementar a medida que la entrada
CU se active. La entrada CU es exclusiva para los contadores ascendentes y
ejecuta la instruccin de incrementar el contaje.
39

5.2.2 Contador descendente
Este contador inicia su contaje en un valor predeterminado y lo decrementar a
medida que la entrada CD se active. La entrada CD es exclusiva para los
contadores descendentes y ejecuta la instruccin de decrementar el contaje.
5.2.3 Temporizador ascendente-descendente
Este contador es capaz de realizar las mismas funciones que los otros 2 tipos de
contadores, es decir, es capaz de incrementar o decrementar su valor de contaje.
Similarmente al caso de los temporizadores, es comn encontrar los contadores
en Alemn o en Ingls, para diferenciarlos la Tabla 16 muestra las equivalencias.
Tabla 16. Equivalencia entre los nombres de los contadores
TIPO NOMBRE EN INGLS NOMBRE EN ALEMN
Ascendente CU Z_VORW
Descendente CD Z_RUECK
Ascendente-descendente CUD ZAEHLER

Los contadores tambin se pueden parametrizar y arrancar simultneamente
mediante un bloque, o se pueden arrancar mediante una bobina. La forma ms
comn de utilizacin es tambin mediante el bloque.
Los contadores se encuentran tambin en el men desplegable de la izquierda
dentro de un bloque de programacin (Figura 32). En esta lista los primeros 3
elementos son bloques y los 3 siguientes son las bobinas de arranque para cada
contador.

Figura 32. Lista desplegable de contadores
40

La parametrizacin del contador (Figura 33) se realiza a partir del bloque, como se
muestra en la Tabla 17.

Figura 33. Parametrizacin de un contador

Tabla 17. Parmetros de un contador
PARMETRO DESCRIPCIN TIPO
No Nmero del contador Decimal
CU Entrada de contaje ascendente Bool
CD Entrada de contaje descendente Bool
S Entrada para predeterminar el contador Bool
PV Valor numrico introducido en forma de C#<valor> en el
margen comprendido entre 0 y 999
C#
R Entrada de puesta a 0 Bool
Q Estado del contador Bool
CV Valor actual del contador, nmero hexadecimal Hexa
CV_BCD Valor actual del contador, nmero BCD BCD

Ejemplo 5.2: Un contador ascendente-descendente se programa con I0.0 como
entrada ascendente, I0.1 entrada de contaje descendente, I0.2 como entrada SET,
valor predeterminado igual a 5, I0.3 como entrada RESET; y a las salidas Q0.1
almacena el estado del contador, MW2 el valor actual en hexadecimal y MW4 en
BCD.

La Figura 34 muestra la programacin de este contador en KOP, llamado C5.

Figura 34. Bloque del contador ascendente-descendente del Ejemplo 5.2

41

Ejemplo 5.3: Un piloto se debe encender de forma intermitente con un
TON=500ms y un TOFF0500ms. Una vez el piloto haya sido intermitente 10
veces, se debe apagar. Las descripcin se puede resumir en:

- Condiciones iniciales: Piloto conectado a Q124.0 est apagado
- Si el sistema se encuentra en condiciones iniciales y se presiona el
pulsador I124.0 entonces el piloto se enciende
- Si el piloto est encendido y pasan 500ms, se apaga,
- Si el piloto est apagado y pasan 500ms, se enciende.
- Una vez haya encendido 10 veces el piloto, entonces el sistema vuelve a
condiciones iniciales.

La red de petri de la Figura 35, muestra un sistema que cumple con la descripcin
dada y la Tabla 18 muestra el inventario de seales utilizadas:


Figura 35. Red de Petri del ejemplo 5.3

Tabla 18. Inventario de seales para el ejemplo 5.3
VARIABLE DIRECCIN CONDICIN
Piloto Q124.0 -
Pulsador I124.0 -
Condiciones iniciales M0.0 Apaga la salida Q124.0 y enciende el Contador 1
(C1)
Piloto Encendido
(intermitente)
M0.1 Enciende la salida Q124.0
42

Piloto Apagado
(intermitente)
M0.2 Apaga la salida Q124.0
T1 - Condicin de disparo I124.0
T2 - Condicin de disparo Temporizador 1 con 500ms
T3 - Condicin de disparo Temporizador 1 con 500ms
T4 - Condicin de disparo C1 ha finalizado la cuenta


Figura 36. Programacin en lenguaje ladder del ejemplo 5.3
5.3 Ejercicios propuestos
1. Realice la programacin como se muestra en el ejemplo 5.2 y simlelo,
utilizando el PLC virtual proporcionado con el software Simatic Step-7,
llamado PLCSim. En esta simulacin modifique las entradas y observando
el valor de las salidas. Obtenga sus propias conclusiones. Adems, cambie
el tipo de contador y realice el mismo procedimiento. Obtenga diferencias
entre los diferentes contadores.
2. Realice la codificacin en lenguaje ladder del ejemplo 5.3 y simlelo con el
PLC virtual.
3. Modifique el ejemplo 5.3 para que se enciendan 2 pilotos alternadamente
durante 15 veces.

43

6. REDES DE PETRI CON VARIABLES ANALGICAS
Las variables analgicas, por definicin, son aquellas que pueden tomar infinitos
valores dentro de cierto rango. En el PLC, aunque las seales provengan de un
rango de esta naturaleza, son transformadas a corriente o voltaje a travs de un
transductor y llevadas al PLC por medio de un conversor anlogo digital. En
general, cuanso de realiza transformacin a voltaje se utilizan rangos de 0 a 5V, 0
a 10V, -5 a 5V o -10 a 10V, en el caso de corriente es comn la utilizacin de los
rangos 0-20mA o 4-20mA.
6.1 Tipos de datos
Hasta el momento se han trabajado datos que pueden tomar dos estados (BOOL),
que pueden realizar contajes (COUNTER) o que pueden hacer temporizaciones
(TIMER), pero en realidad, en un ambiente analgico es importante conocer bien
el procesamiento que se le da a estas variables en un PLC.
Algunos de los tipos de datos, su respectivo tamao en bits y descripcin se
muestran en la Tabla 19:
Tabla 19. Tipos de datos en el PLC
Tipo de
dato
Tamao Descripcin Rango
BOOL 1 bit Variable lgica 0 1
BYTE 8 bits Conjunto de 8 bits 0 255 a
WORD 16 bits Conjunto de 16 bits 0 65535 a
DWORD 32 bits Conjunto de 32 bits
32
0 2 1 a
INT 16 bits Nmero entero con signo 32768 32767 a
DINT 32 bits Nmero entero doble con signo
32 32
2 2 1 a
REAL 32 bits Nmero real (con decimales) -
S5TIME 16 bits Duracin -
CHAR 8 bits Caracter -
STRING Cadena de caracteres -
Figura 37. Tipos de datos
6.2 Conversin de datos
En el PLC no est permitido hacer operaciones con 2 o ms datos que tienen
44

diferentes tipos. Por ejemplo, no se puede hacer operaciones de multiplicacin
entre un entero (16 bits) y un real (32 bits), por lo que es necesario convertir este
entero en un real. Es posible hacer la conversin de real a entero, pero el proceso
de redondeo y reduccin de bits lleva consigo una reduccin de la precisin. Por lo
tanto, la conversin de entero a real es ms recomendable.
No existe un bloque que permita hacer esto, sino que se hace necesaria la
utilizacin de 2 bloques, llamados I_DI y DI_R (Figura 38). El bloque I_DI convierte
MW0 de 16 bits en otro entero MD2 de 32bits, mientras que el bloque DI_R
convierte el entero MD2 de 32bits en un real MD6 de 32 bits.

Figura 38. Conversin de entero (INT) a real (REAL)
6.3 Comparadores
Algunas operaciones de comparacin son tiles, debido a que permiten cerrar un
contacto o abrirlo si se cumple o no la condicin de comparacin. La comparacin
se hace entre 2 variables o entre 1 variable y un valor fijo.
Algunos de ellos son:
Tabla 20. Comparadores
NOMBRE SMBOLO TRADUCCIN AL
INGLS
CONDICIN DE
COMPARACIN
EQ = EQual Igual
NE <> Not Equal Diferente
GT > Greater Than Mayor que
LT < Less Than Menor que
GE >= Greater or Equal than Mayor o igual que
LE <= Less or Equal than Menor o igual que

45

6.4 Operaciones aritmticas y transferencia
6.4.1 Operaciones aritmticas con enteros
Las operaciones aritmticas con enteros requieren del uso de bloques para los
tipos de datos entero y doble entero (Figura 39)

Figura 39. Lista desplegable de bloques de operacin en coma fija
6.4.2 Operaciones aritmticas en coma flotante (Figura 40)

Figura 40. Lista desplegable de bloques de operacin en coma flotante
46

6.4.3 Transferencia (Figura 41)

Figura 41. Lista del bloque de transferencia de datos
6.5 Escalizacin
La escalizacin es el proceso por el cual el valor analgico de entrada (voltaje,
corriente, etc) ledo por un mdulo, es convertido en un valor en unidades de
proceso (C, rpm, lts, kgs, etc) dentro de unos lmites fijados por el usuario.
Valor usuario: es el valor procesado a partir del valor PLC. Est dado en las
unidades de la variable del proceso (C, rev/min, psi, etc).
Valor PLC: es el dato almacenado en el PLC a travs del convertidor A/D y su
valor depende del nmero de bits A/D y del rango de la variable medida.
Ejemplo 6.1: Si se tiene un motor cuya velocidad nominal es 1500rpm y sta
velocidad es leda por el PLC a travs de PIW752, los valores seran:
Velocidad 0rpm Valor de la entrada 0
Velocidad 1500rpm Valor de la entrada 27648

Utilizando la ecuacin de una recta.

Reemplazando los puntos conocidos:
1500
0.0543
27648
pendiente = =
. Recta con cruce por el origen.
_ * _ V usuario pendiente valor PLC =
47


( 1)
2 1
hi lo
out in k lo
k k

| |
=
|

\ .

Ntese que este valor de la pendiente es tipo real, por lo cual las variables tienen
que estar declaradas previamente como reales. Para esto, se utilizan los bloques
I_DI y DI_R. La conversin no se le puede aplicar directamente al a entrada, se
requiere utilizar reas de memoria M para la representacin de esta entrada
entera en valores tipo reales.
Este proceso normalmente no se debe realizar a partir de la ecuacin de una
recta, para ello existe un bloque de funcin llamado Scale Convert. La ruta para
su ubicacin es en Librerias - standard library - TI S7 converting block - FC 105
Scale Convert.
Este bloque realiza una conversion desde 0 a 27648.0 en la entrada para escala
unipolar, y desde -27648.0 hasta 27648.0 para una bipolar.
La parametrizacin del bloque es como se muestra en la Figura 42

Figura 42. Bloque de conversin de escala FC105 (Scale Convert)
Donde:
48

EN se debe activar para poder habilitar el bloque
IN es la entrada que se quiere medir en valor PLC
HI LIM Valor mximo en valor usuario
LO LIM Valor mnimo en valor usuario
BIPOLAR Activo si se quiere tener en cuenta valores negativos, Inactivo si slo
son positivos.
OUT Resultado de la conversin a escala tipo real.
RET VAL es 0 si no tiene errores, un valor diferente se debe consultar en gua de
errores. Se guarda en una variable tipo entera.
6.6 Rampas
Se quiere arrancar y controlar velocidad de un motor a travs de una rampa. El
motor est controlado por PLC a travs de una salida analgica que vara de 0-
27648 entregando un rango de voltajes entre 0-10V.
Se definen los siguientes parmetros:
- Velocidad nominal del motor: 1640rpm.
- Velocidad deseada:
1640
des
V rpm =
.
- Tiempo deseado:
10
des
T s =
. Es el tiempo determinado para alcanzar el
valor deseado de velocidad.

Figura 43. Velocidad vs. Tiempo (continua)

49

Sin embargo, en el PLC es imposible aumentar continuamente un valor en la
salida analgica, por lo que se requiere incrementar un valor pequeo ( V A ) a
intervalos de tiempo pequeos ( t A ).
Se define un intervalo pequeo de tiempo
1
0.2 200
5
t s ms s A = = =
El valor deseado de la salida es
27648
des
plc
V =

y el valor actual es
0
act
plc
V =
para la
realizacin de la rampa que partir de velocidad 0 hasta alcanzar la velocidad
mxima.
A partir de t A ,
des
plc
V
,
act
plc
V
y
des
T
es posible calcular el intervalo de voltaje V A
que se aumentar cada instante de tiempo, as:
27648-0 1 27648
552.96 552
10 5 50
des act
plc plc
des
V V
V T V seg
T seg

| |
A = A A = = = ~
|
\ .

Para V A se hizo una aproximacin, por lo tanto no ser posible alcanzar el valor
deseado a partir de escalones de altura de 552 V A = , as que con la rampa slo se
alcanzar un valor aproximado, calculado as:
_
*50 0 552*50 27600
des aprox act
plc plc
V V V = +A = + = .
Es decir, si la rampa realiza 50 escalones se alcanzar un valor de 27600, si se
hicieran 51 escalones el valor sera 28152, caso en el cual se sobrepasara el
valor deseado. Por tal motivo la rampa debe llegar nicamente hasta el valor
deseado aproximado
_
27600
des aprox
plc
V = y luego, al terminar la rampa, alcanzar el
valor deseado de 27648, haciendo un ltimo escaln de 48 unidades en forma
manual.

Figura 44. Velocidad vs. Tiempo (discreto)
50

Una vez cumplidas las condiciones para arrancar el motor, se debe tener en
cuenta la siguiente especificacin de funcionamiento:
En total, la rampa utilizar 3 lugares.
1. El primer lugar ser de ingreso a la rampa, donde se utiliza un comparador
para verificar si todava no se ha alcanzado el valor PLC deseado
aproximado (
_
27600
des aprox
plc
V = ). Esta verificacin se debe realizar con un
temporizador en serie para garantizar la correcta evolucin del marcaje en
el PLC; se recomienda un temporizador de 10ms. En este lugar
adicionalmente se deber encender el sentido de giro a partir de una salida
digital. Despus de verificarse la comparacin y el cumplimiento del
temporizador se debe evolucionar a una marca de incremento de velocidad.
2. El segundo lugar ser el de incremento de velocidad, donde se aumenta la
velocidad un V. Como la marca permanece en este lugar un tiempo de t-
10ms, la operacin de suma se debe realizar a travs de un flanco positivo
para que esta operacin se realice nicamente una vez por cada ciclo de
rampa. Despus del tiempo de espera se regresa al lugar 1.
3. Cuando se est nuevamente en el lugar 1 hay dos opciones, volver a
ingresar con el cumplimiento de las condiciones para evolucionar al lugar 2
o salir de la rampa porque ya se alcanz el valor PLC deseado aproximado.
Para tal caso se evolucionar al lugar 3 de salida de la rampa.
4. El lugar 3 de salida de la rampa se encarga de transferir el valor de PLC
deseado para corregir la aproximacin, entonces sus funciones principales
son permitir la continuidad del proceso al finalizarse una rampa y corregir el
error de aproximacin.
Nota: El ciclo de rampa (
_ ciclo rampa
t
) se mide como el tiempo que se demora la
marca para evolucionar del lugar 1 al lugar 2 y regresar al lugar 1. Para este caso,
para evolucionar de 1 a 2 se demor un tiempo de 10ms, mientras que para
evolucionar de 2 a 1 se demor t-10ms, por lo cual
( )
_
10 10
ciclo rampa
t ms t ms t = + A = A , cumplindose las especificaciones de tiempo
para incremento en la rampa.
El modelo en redes de Petri para este procedimiento se muestra en la Figura 45.
51


Figura 45. Modelo en redes de Petri para la rampa
Se deja como ejercicio al lector la traduccin a lenguaje ladder y la conversin del
valor de velocidad deseado a velocidad PLC usando o no el bloque Scale
Convert, el cual es necesario nicamente para visualizacin de la velocidad en
rpms a partir de la velocidad en valor PLC.
Es importante notar que la salida no puede ser modificada a travs de operadores
matemticos, as que se sugiere el uso de reas de memoria de 16 bits (INT) para
realizar los clculos numricos, por ejemplo el rea MW10, y luego transferrselos
a la salida a travs de un bloque MOVE.
6.7 Ejercicios propuestos
1. Comparadores
a. Dada una entrada de PT100 en la direccin PIW752 del PLC genere
alarmas dependiendo de la temperatura T, as:
i. Encender la salida Q124.0 que representa un piloto si
80 95 T s <
ii. Encender la salida Q124.0 que representa un zumbador si
95 110 T s <
iii. Encender ambas salidas si 110 T >
2. Escalizacin
a. Dada una entrada de PT100 en la direccin PIW752 del PLC,
escalice este valor para un valor usuario de 0-750C utilizando la
ecuacin de la recta y el bloque de escalizacin Scale Convert.
Compare los resultados
b. Dada una velocidad de un motor en la memoria MW10, convierta
este valor a:
52

i. Valor usuario en rpm, para un rango de 0-1500
ii. Valor usuario en hz, para un rango de 0-60
3. Rampas
a. Realizar 2 veces la siguiente secuencia

b. Realizar 3 veces la siguiente secuencia


53

BIBLIOGRAFA
[1]. Cassandras, C. y Lafortune, S. (2008). Introduction to Discrete Event Systems.
Springer Science+Business Media, LLC. 2nd Edition.
[2] Zapata, G. y Carrasco, E. (2002) Estructuras generalizadas para Controladores
Lgicos modeladas mediante Redes de Petri.
[3] Medina, C. y Gonzlez, C. (2003). Modelamiento de controladores lgicos
mediante el uso de redes de Petri temporizadas interpretadas por periferia. Tesis
de pregrado, Facultad de Minas, Universidad Nacional de Colombia, sede
Medelln.
[4] Siemens AG (2002). Esquema de contactos (KOP) para S7-300 y S7-400.
Documentacin para la referencia 6ES7810-4CA06-8DR0. Edicin 12/2002.

You might also like