Vous êtes sur la page 1sur 6

70 of 305.

Unidad 2 Ejemplos con operaciones de bit, instrucciones binarias, temporizadores y contadores

Resolucin de ejercicios

2.2 Contactos en serie

^ Ejercicio 1: Contactos en serie

ALGO MS DE TEORA:
Vamos a programar nuestro primer OB 1. De momento habamos seleccionado
como lenguaje de programacin AWL. Habamos visto que tenamos la posibilidad
de elegir entre tres lenguajes.

KOP: Esquema de contactos.


FUP: Diagrama de funciones.
AWL: Lista de instrucciones.

En un principio trataremos el lenguaje AWL. Una vez programado el bloque, lo


podremos ver en los tres lenguajes posibles y haremos los comentarios sobre cada
uno de ellos.
Vamos a empezar por lo ms simple que podemos programar en un PLC. Supon
gamos que lo que queremos programar son dos contactos (dos condiciones) en
serie. Y veremos como quedara hecho en cada uno de los tres lenguajes:
Circuito que queremos programar:

Solucin en KOP: Esquema de contactos.

I I I I I (_ )

Solucin en FUP: Diagrama de funciones.

Solucin en AWL: Listado de instrucciones.

u E 0.0

u E 0.1
= A 4.0

72
www.FreeLibros.me
71 of 305.

Unidad 2 Ejemplos con operaciones de bit, instrucciones binarias, temporizadores y contadores

En principio hemos elegido lista de instrucciones. En STEP7, podemos hacertoda


Recuerda la programacin que queramos en cada uno de los tres lenguajes. Hay veces
que no son exactamente equivalentes los tres lenguajes. Hay instrucciones que
existen en unos lenguajes s y en otros no, pero al final, todo lo que queramos
El administra
programar es posible programarlo en los tres lenguajes.
dor de Simatic
nos ofrece un Vamos a programar dos contactos en serie.
direcciona-
miento estn Tenemos que dar nombre a cada uno de los contactos. Tendremos que direccio-
dar cm odo nar las entradas y salidas de que disponemos.
para poder
realizar El direccionamiento de tarjetas digitales en un S7 - 300 es el siguiente:
posteriores
ampliaciones
de tarjetas. No Como vemos en el siguiente esquema, se reservan 4 direcciones de byte para
obstante, siem cada posicin de tarjeta. Cada posicin ocupara 4 bytes hasta completar las di
pre se pueden recciones mximas que permita cada CPU. En el ejemplo, vemos las direcciones
ca m biar estas correspondientes a las 4 primeras tarjetas digitales.
direcciones y
asignar las que
nos sean ms
cm odas para
nuestro
proyecto.
V.

Las direcciones son las mismas independientemente de que las tarjetas sean de
entradas o de salidas. Tambin es independiente de que las tarjetas sean de 16
o de 32 bits. Si no se ocupa todo el direccionamiento disponible, el resto de
direcciones no usadas quedan "reservadas" por si algn da tenemos que cam
biar la tarjeta y utilizar otra con ms bits para ampliar el proyecto. Como vemos,
tenemos ocupados 4 bytes para cada posicin de tarjeta, Si tenemos tarjetas
de 2 bytes, estamos "perdiendo" estas dos direcciones. Lo de "reservadas" o
"perdidas" lo ponemos entre comillas porque ms adelante veremos que estas
direcciones pueden ser utilizadas como periferia descentralizada.

En el caso de tarjetas analgicas, el direccionamiento es el siguiente:

73
www.FreeLibros.me
73 of 305.

Unidad 2 Ejemplos con operaciones de bit, instrucciones binarias, temporizadores y contadores

Se nos abrir un catlogo como el siguiente en la parte izquierda del editor.

*2 Nuevo segmento
- f iil Operaciones lgicas con bits
r<~l Comparacin
Conversin
- fia Contaje
dbI Llamada DB
HcTI Salto
l ( if j Nmeros en coma fija
- tl Nmeros en coma flotante
-P n Transferencia
{rrj Control del programa
T rfl Desplazamiento/Rotacin
l-ifl Bits de estado
-I1 Temporizacin
-fl Operaciones lgicas con pal;
CR Bloques FB
Bloques FC
H O l Bloques SFB
-H o i Bloques SFC
Multiinstancias
- H Libreras

Flg. 31

Tendremos que seleccionar lo que queremos programar dentro de las funciones


que nos ofrece el catlogo. Los contactos abiertos los encontramos en "Opera
ciones lgicas con bits .

OBI : "Main Program Sweep (Cycle)'

Nuevo segmento Comentario:


l f i n Operaciones lgicas con bits
* ii -i i--
Hl -1/1-
-II -|M O T |~ Comentario :
<> -()
-O --(#)-
-O -(R )
KO. 0 A4.0
(S)
Q RS H h-
-e sr
-O ~(N )~
<> ~(P)~
-O ~(SAVE)

POS
Fig. 32

75
www.FreeLibros.me
74 of 305.

Unidad 2 Ejemplos con operaciones de bit, instrucciones binarias, temporizadores y contadores

( Ejercicio 1: C ontactos en serie

TEORA PREVIA: Introduccin. Generacin de nuevo proyecto.


DEFINICIN Y SOLUCIN

Supongamos que queremos automatizar el siguiente circuito:

E 0.0 E 0.1 A 4.0

/. / U
Vemos que lo que tenemos son dos contactos en serie.

Tenemos que asignar nombre a cada uno de los contactos. El STEP 7 nos permite
utilizar dos lenguajes (nemotcnicas) a la hora de programar. Estos lenguajes son
independientes de si programamos en AWL, KOP o FUP. Podemos hacer listado de
instrucciones en Lenguaje SIMATIC (nemotcnica alemana) o Lenguaje IEC (nemo
tcnica inglesa) y tambin podemos hacer esquemas KOP o FUP tanto en Lenguaje
SIMATIC como Lenguaje IEC. Si utilizamos Lenguaje SIMATIC, la mayora de las ins
trucciones y nombres de entradas, salidas, marcas, etc. corresponden a iniciales
o abreviaturas en alemn. Es el lenguaje que viene por defecto en el software y el
que se utiliza en el 90% de ios programas de mercado. Si utilizamos Lenguaje IEC,
los nombres de entradas, salidas, marcas, etc. as como las instrucciones, corres
ponden en su gran mayora a iniciales en ingls. En este manual se va a utilizar el
Lenguaje SIMATIC puesto que es el ms utilizado en el mercado y entre los pro
gramadores. El cambio de un lenguaje a otro es siempre posible sin excepciones.
Para aprender a programar deberemos aprender un juego de instrucciones. Si por
algn motivo tenemos que tocar o leer un programa hecho por otra persona en
el otro lenguaje de programacin, siempre ser posible hacer la traduccin del
mismo y tratarlo en el lenguaje que nosotros hemos aprendido. Utilizando el Len
guaje SIMATIC, a las entradas les vamos a llamar E y a las salidas les vamos a llamar
A. Esto corresponde a las iniciales en alemn (Lenguaje SIMATIC). A la instruccin
para unir los contactos en serie le llamaremos "U ". En caso de haber elegido Len
guaje IEC, a las entradas les llamaramos I y a las salidas les llamaramos Q. A la
instruccin para los contactos en serie le llamaramos "A". De momento vamos
a dejar lo que el software nos da por defecto que es Lenguaje SIMATIC, y una vez
tengamos el bloque programado lo traduciremos al otro lenguaje para ver cmo
lo podemos hacer.

A parte de darles nombre a las entradas y a las salidas, tenemos que darles una
numeracin.

Como hemos visto anteriormente, el direccionamiento de entradas y salidas, de


pende nicamente de la posicin que ocupen en el rack. Es decir, la primera tarje
ta, que en nuestro caso es una tarjeta de entradas, van a ser los bytes 0 y 1.
La siguiente tarjeta que en nuestro caso es una tarjeta de salidas, ocupar las po
siciones 4 y 5.

Por tanto tendremos disponibles 16 entradas (desde la 0.0 hasta la 1.7) y 16 sali
das (desde la 4.0 hasta la 5.7).
Para unir los dos contactos en serie disponemos de la instruccin "U " ya que esta
mos utilizando Lenguaje SIMATIC.

El siguiente ejercicio lo podramos resolver en los tres lenguajes que nos permite
el STEP 7. AWL, KOP y FUP.

76

www.FreeLibros.me
75 of 305.

Unidad 2 Ejemplos con operaciones de bit, instrucciones binarias, temporizadores y contadores

Veamos primero la programacin en AWL.

SOLUCIN EN AWL

u E 0.0
u E 0.1
A 4.0

La instruccin BE es opcional. Significa final de bloque de programa. La podremos


utilizar en cualquier bloque (OB, FC, FB, etc.). Si no la escribimos no pasa nada.
Cuando el autmata lee la ltima instruccin del OBI (o cualquier otro bloque)
lo dar por terminado. En el caso de ser el OBI, vuelve a empezar la lectura por
el principio. El OBI es el nico bloque que se ejecuta de forma cclica (cuando
termina de ejecutarlo, vuelve a empezar por la primera instruccin).

Una vez tengamos el bloque programado y guardado, tendremos la posibilidad


de cambiarlo de lenguaje. Veamos primero cmo podemos cambiarlo de Lengua
je SIMATIC a Lenguaje IEC. Para ello tenemos que cerrar el OBI despus de ha
berlo guardado. Entonces iremos, desde el Administrador de SIMATIC, al men
"Herramientas -> Preferencias".
(NOTA: Tener en cuenta que los mens que aparecen en la parte superior de la
pantalla no contienen lo mismo si accedemos a ellos desde el Administrador de
SIMATIC o desde el editor de bloques, o desde cualquier otra aplicacin dentro
de STEP 7. Muchos mens coinciden en el nombre pero no en el contenido. En
este manual se har siempre referencia al men que queremos entrar segn lo
que se est explicando),
Una vez dentro del men iremos a la ficha llamada "Idiom a". Veremos que en
la parte izquierda podemos elegir el idioma del software. Es decir, el idioma del
STEP 7. El idioma en el que vemos los nombres de ios mens, etc. Dejaremos
por defecto espaol. En la parte derecha podremos cambiar la nemotcnica de
alemana a inglesa. Si queremos hacer la prueba de cambiar el idioma, elegiremos
nemotcnica inglesa.

Prefe re ncia s x]
Idioma | General | Vista | Columnas | Nmeros de aviso | Archivar |

Idioma Nemotcnica

espaol Ejemplol Ejemplo2


deutsch O Alemana UE1.0 SA4.0
english
francais ( Inglesa A 11.0 SQ4.0

italiano

Aceptar ~j Cancelar Ayuda

Fig. 33

77
www.FreeLibros.me
76 of 305.

Unidad 2 Ejemplos con operaciones de bit, instrucciones binarias, temporizadores y contadores

Para que el cambio sea efectivo hay que cerrar el STEP 7 y volverlo a abrir. Vere
f Recuerda mos que tanto los nombres de las entradas y las salidas como la instruccin u tili
zada, han cambiado.
( "\
Siempre podre Una vez probado volveremos a la nemotcnica alemana.
mos convertir
un program a Ahora estando dentro del bloque, podremos cambiar el lenguaje de programa
de n em otc cin. Esto lo podremos hacer siempre y cuando el programa sea traducible. Las
nica inglesa traducciones de AWL a KOP o FUP no siempre son posibles. En este caso, por ejem
a alem ana y plo, la instruccin BE no existe ni en KOP ni en FUP. Si intentamos traducir esto
viceversa. Al nos va a decir que no es traducible. Al principio de este manual dijimos que todo
ca m b iar la
lo podemos programar en cualquiera de los tres lenguajes de programacin. Pero
nem otcnica
tambin advertimos que no siempre los programas sern traducibles tal cual los
cam b ia tanto
la nom enclatu tenemos escritos. Deberemos respetar unas normas si queremos que se pueda
ra de los traducir. Lo que si es cierto que cualquier funcionalidad se la podremos dar, de una
contactos forma o de otra, en cualquiera de los tres lenguajes.
com o las
propias ins Si le quitamos el BE que no nos aporta nada nuevo al programa, veremos que
trucciones de ya lo podemos traducir. En AWL podemos poner o no poner la instruccin BE. El
programa. programa funcionar exactamente igual con esta instruccin o sin ella. La instruc
V J cin existe porque exista en el antiguo programa STEP 5 de programacin y se ha
mantenido. En aquel lenguaje obligatoriamente haba que escribir BE al terminar
cualquier bloque,

Para cambiar el lenguaje del bloque, tenemos que ir al men Ver KOP
Veremos aue tenemos el mismo Droerama en AWL en KOP o en FUP.

SOLUCIN AWL

OBI : "Main Program Sweep (Oyele)"


Comentario:

: Titulo:
Comentario:

u E
o
O

u E 0.1
= A 4.0
Flg. 34

SOLUCION EN KOP

OBI : "Main Program Sweep (Cycle)"


Comentario:

: Ttulo:
Comentario:

EO.O E0.1 A4. 0


H I------------------ 1 b -O I

Fig. 35

78

www.FreeLibros.me