Académique Documents
Professionnel Documents
Culture Documents
INDICE
volver
Objetivos.
Introduccin
Introduccin a la automatizacin.
Control mediante autmatas programables.
Ciclo de trabajo en un autmata.
Lenguajes de programacin.
Entradas y salidas.
Marcas de memoria.
Registros y acumuladores.
Temporizadores y contadores.
Constantes.
Estructura del programa.
Tipos de mdulos.
Operaciones
Inhibicin.
Operaciones combinacionales.
Operaciones de memoria.
Operaciones de transferencia.
Operaciones de tiempo.
Operaciones de contaje.
Operaciones de comparacin.
Operaciones aritmticas.
Operaciones de llamada a mdulo (salto).
Otras operaciones.
Operaciones combinacionales (mdulos FB).
Activacin de indicadores.
Ejemplo
Programa de ejemplo.
Control de estacin de bombeo con un motor M1.
OBJETIVOS
Con este pequeo tutorial no se pretende ensear todo lo referente al autmata Simatic
S5-90U, ms bien se debe tomar como gua base para iniciarse en la programacin
bsica de este aparato y de los autmatas en general. Por lo tanto nos limitaremos a las
operaciones, datos, entradas, y salidas bsicas.
Por supuesto lo aqu expuesto tambin vale para el S5-95U, ya que este ltimo contiene
al S5-90U, y para toda la serie Simatic S5 (ya que todos emplean el mismo lenguaje
AWL). Las nicas diferencias estarn en el nmero de mdulos, contadores, etc.
Es necesario que el lector est familiarizado con el lgebra de Boole, y si se est
familiarizado con algn otro lenguaje de programacin (como basic o ensamblador) ser
mucho ms sencillo y rpido.
INTRODUCCION A LA AUTOMATIZACION
Todo proceso industrial se compone de secuencias de acciones que deben ser
controladas. En los procesos sencillos un operario es el que se encarga de este control y
de vigilar la marcha correcta del sistema, pero en la mayora de las ocasiones esto no es
posible debido al tamao del proceso.
Una de las alternativas son los procesos automticos discretos, en los que los operarios
son sustituidos por un sistema de control secuencial y las variables de entrada y salida
son del tipo todo-nada.
Caractersticas de los controladores secuenciales:
- El proceso a controlar se puede descomponer en una seria de fases o estados que se
suceden de forma secuencial.
- A cada uno de los estados del proceso se le asigna una variable interna que es la
encargada de memorizar el estado actual del proceso.
- Cada uno de los estados, cuando est activo, puede realizar una serie de acciones sobre
las variables de salida.
- La transicin entre estados se controla mediante las seales procedentes de los
sensores, a travs de las variables de entrada.
- El controlador realiza siempre, y en el mismo orden, la misma secuencia de estados.
LENGUAJES DE PROGRAMACION
Para toda la familia de autmatas SIMATIC S5 se emplea el lenguaje STEP 5, en sus 4
posibles representaciones:
- Lista de instrucciones (AWL).
- Esquema de funciones (FUP): se representa grficamente con smbolos lgicos.
- Esquema de contactos (KOP): se representa grficamente con smbolos elctricos.
- GRAPH 5/GRAPH Mini: solo puede emplearse, con limitaciones, en el S5-95U.
Aqu estudiaremos el formato AWL, el cual representa el programa como sucesin de
abreviaturas de instrucciones. En este formato una instruccin tiene la siguiente
estructura:
Operacin
|
| Identificador del operando
| |
U E 32.0
Operacin AND lgica
|
|
Parmetro
Comentarios
002:
|
|
|
Direccin relativa de la instruccin en el mdulo respectivo
La operacin indica al autmata lo que debe hacer con el operando. El parmetro indica
la direccin del operando.
ENTRADAS Y SALIDAS
Hay 8 entradas (E) normales de 1bit:
E32.0 ... E32.7
Y tambin dos entradas especiales de 1bit:
E33.0 y E33.1
Estas ltimas tienen la peculiaridad de funcionar como entradas digitales o como
entrada de alarma (E33.0) y entrada rpida (E33.1).
Hay 6 salidas (A), de 1bit cada una:
A32.0 ... A32.5
MARCAS DE MEMORIA
Tambin son denominadas como variables de memoria. Son de propsito general, es
decir, podremos emplearlas en lo que deseemos. Se distinguen dos tipos de marcas de
memoria:
- Remanentes: Estas marcas permanecern en memoria aunque apaguemos el autmata.
En total hay 64 bytes de memoria para estas marcas, por lo que tendremos 512 marcas
remanentes de 1 bit cada una:
M0.0 ... M63.7.
- No remanentes: Estas marcas se borrarn en cuanto apaguemos el autmata. Tambin
tenemos 64 bytes destinados a estas marcas, por lo que tendremos 512 marcas no
remanentes de 1 bit cada una:
M64.0 ... M127.7.
Hay que destacar que las marcas se ponen a cero cada vez que reseteamos el autmata.
Esta caracterstica nos puede ser de mucha utilidad en algunos casos (ver el programa de
ejemplo al final del tutorial).
REGISTROS Y ACUMULADORES
Todas las operaciones que hagamos con las entradas y las salidas se deben efectuar en
algn sitio. En este caso tendremos:
- Registro de estado (VKE):
Su tamao es de 1 bit.
Aqu es donde efectuaremos las instrucciones combinacionales, la carga de entradas y la
asignacin de salidas a nivel de bit.
- Acumuladores (AKKU1 y AKKU2):
Sus tamaos son de 16 bits cada uno.
Cada vez que carguemos un dato en los acumuladores se seguir la siguiente secuencia:
Contenido de AKKU2 ===> Se pierde el contenido
Contenido de AKKU1 ===> AKKU2
DATO ===> AKKU1
A su vez, cuando realicemos una operacin entre AKKU's (como suma o resta) el
resultado se introducir en el AKKU1, perdindose el valor antes all contenido.
TEMPORIZADORES Y CONTADORES
En el S5-90U tenemos 32 temporizadores:
T0 ... T31
y 32 contadores:
Z0 ... Z31
De los 32 contadores hay 8 que no se borran al desconectar el autmata (son
remanentes), dichos contadores son Z0 a Z7.
Para consultar el estado de cada uno de ellos podremos usarlos como si fueran entradas
(mediante operaciones combinacionales) o introduciendo su valor en los AKKU.
CONSTANTES
A la hora de cargar datos en acumuladores, temporizadores, etc... tendremos varias
posibilidades en la forma de introducir el dato:
- KB: 8 bits (0 a 255 en decimal).
- KC: 8 bits (2 caracteres alfanumricos).
- KF: 16 bits (n en coma fija, +32768 a -32768).
- KH: 16 bits (n hexadecimal, 0000 a FFFF).
- KM: 16 bits (binario natural).
- KY: 16 bits (2 bytes, 0 a 255 en decimal cada uno).
===> +-----+
|
|
<=== +-----+
===> +-----+
|
| ===> +-----+
|
|
|
|
|
| <=== +-----+
<=== +-----+
TIPOS DE MODULOS
Existen cuatro tipos de mdulos en el S5-90U (5 en el S5-95U):
- Mdulos de organizacin (OB):
Son los que gestionan el programa de usuario.
OB1, OB3, OB21 y OB22.
Destacar el OB1, que es el mdulo del programa principal, el OB3, que es el que
contiene el programa controlado por alarma, y el OB13, que es el mdulo para
programas controlados por tiempo. El OB22 es empleado por el sistema operativo.
- Mdulos de programa (PB):
Son los que incluyen el programa de usuario dividido, normalmente, segn aspectos
funcionales o tecnolgicos.
PB0 ... PB63
- Mdulos funcionales (FB):
Son mdulos de programa especiales. Aqu se introducen las partes de programa que
aparecen con frecuencia o poseen gran complejidad. Poseen un juego de instrucciones
ampliado.
FB0 ... FB63
- Mdulos de datos (DB):
En ellos se almacenan datos para la ejecucin del programa, como valores reales, textos,
etc...
DB0 ... DB63
Los mdulos DB1 y DB2 se emplean para definir las condiciones internas del autmata,
por lo que no deben emplearse.
256 palabras de datos.
Para emplear un mdulo de datos es necesario activarlo previamente (como se ver ms
adelante).
INHIBICION
En adelante mencionaremos varias veces que el VKE es inhibido.
Esto quiere decir que el VKE no puede operarse (salvo dos operaciones de memoria
seguidas) y que la prxima instruccin combinacional ser de carga.
En cada ciclo de programa siempre se comienza con el VKE inhibido, es decir, la
primera instruccin combinacional empleada ser siempre de carga.
Hay que sealar tambin que la operacin de carga se podr negar si empleamos una
operacin combinacional negada (como un NOR o un NAND).
Ejemplos (se supone el VKE inhibido):
UN E 32.0
1=>0).
E 32.5
OPERACIONES COMBINACIONALES
U(
entre
O(
entre
parntesis.
U E,A,M,Z,T
o T.
E,A,M,Z,T
UN E,A,M,Z,T
ON E,A,M,Z,T
Ejemplos:
En el siguiente ejemplo la salida se hace uno si la entrada 32.0 es cero y las entradas
32.1 y 32.3 son uno (las asignaciones se ven ms adelante):
UN E 32.0
U E 32.1
y VKE.
U E 32.3
y VKE.
= A 32.2
BE
E 32.0
E 32.1
E 32.3
A 32.2
En este caso lo que sucede es que el resultado de las operaciones entre parntesis se
multiplican con el valor previo del VKE.
Como podemos ver, la primera instruccin tras abrir parntesis se realiza con el VKE
inhibido con lo que da igual utilizar una operacin AND u OR, ya que el resultado ser
el mismo.
OPERACIONES DE MEMORIA
S
E,A,M
E,A,M
E,A,M
E
A
E
A
32.0
32.2
32.1
32.2
Aqu vemos un claro ejemplo de RESET prevalente (RESET sobre SET). Esto quiere
decir que la orden RESET prevalece a la de SET si ambas son activadas
simultneamente.
OPERACIONES DE TRANSFERENCIA
LDW
datos
TDW
LKZ
este
LKB
LKT
*
AKKU1,
Para ver con ms claridad estas operaciones vea el ejemplo de las instrucciones de
tiempo.
OPERACIONES DE TIEMPO
Todas las operaciones de tiempo se reinician con un cambio en el flanco del VKE. Esto
quiere decir que si el VKE depende de una entrada (o de varias a travs de una
operacin) un flanco de subida en la seal de entrada reinicia el temporizador (ver
ejemplo).
SI
flanco
VKE
igual a cero se reinicia la temporizacin. Durante
la
temporizacin la salida es 1.(Inhibe VKE).
SV
del
VKE. Un VKE=0 no afecta la temporizacin. Durante
la
temporizacin la salida es 1.(Inhibe VKE).
SE
temporizacin.
SA
temporiz.
SS
flanco
creciente del VKE. VKE=0 no afecta la
temporizacin.
La salida es 1 tras la temporizacin y no regresa
a
cero hasta ejecutar la instruccin RT. (Inhibe
VKE).
mientras
VKE sea 1. VKE=0 no afecta a la temporizacin.
Tras RT la salida del temporizador es cero hasta
que
que se reinicie. (Inhibe VKE).
= A 32.5
32.5.
OPERACIONES DE CONTAJE
SZ
VKE).
RZ
ZV
ZR
E 32.0
ZR Z 1
NOP 0
U E 32.1
LK Z 7
contadores.
S Z 1
a 7.
NOP 0
NOP 0
NOP 0
U Z 1
= A 32.5
BE
El efecto de las lineas NOP 0 es el mismo que en los temporizadores, solo sirven para
poder pasar a esquema de contactos.
OPERACIONES DE COMPARACION
!=F
><F
>F
>=F
<F
<=F
Para poder comparar dos operandos es necesario cargarlos sucesivamente en los dos
AKKU's. La ejecucin de operaciones no depende del VKE. El resultado de la
operacin se introduce en el VKE, si se cumple la comparacin el VKE ser 1, en caso
contario ser cero.
Tambin se activan los indicadores ANZ0 y ANZ1 dependiendo del resultado.
OPERACIONES ARITMETICAS
+F
AKKU1.
-F
SPB PB,FB
ADB
63,
BE
BEA
BEB
sigue
Recordar que el nmero mximo de anidamientos (saltos sin retorno) son 16, y que el
salto simpre debe ser hacia adelante. Hay que tener precaucin, ya que el propio
autmata puede emplear algn anidamiento en determinadas circunstancias.
OTRAS OPERACIONES
STP
NOP0
NOP1
OW *
XOW *
ACTIVACION DE INDICADORES
El autmata posee tres indicadores:
- ANZ 0.
- ANZ 1.
- OV Desbordamiento (Overflow).
Las siguientes operaciones afectan a las indicaciones:
- Operaciones de comparacin.
- Operaciones aritmticas.
- Operaciones de desplazamiento.
- Algunas operaciones de transformacin.
El estado de las indicaciones condiciona diferentes operaciones de salto, las cuales no
son objeto de este tutorial (ya que entonces sera absurdo no ver el resto de
instrucciones que posee el autmata). Por tanto no veremos el resultado de las
operaciones en los indicadores, si le es de utilidad vea la pgina 8-69 del manual de
STEP 5.
PROGRAMA DE EJEMPLO
A continuacin se ver un programa de ejemplo listo para introducir en el emulador de
autmata (disponible gratuitamente en esta Web).
Se ha preferido este sistema, en vez de dar directamente el programa para Step 5, debido
a que la mayora de la gente no posee un autmata en casa con el que practicar. No
obstante la sintaxis es casi la misma.
Se aconseja, para no despistarse, ver la ayuda del programa y observar las diferencias
entre el autmata y el emulador.
Motor M1 = A32.0
Lmpara M1 conectado = A32.2
Lmpara dis. trmico = A32.3
SOLUCION:
:ob1
ue 32.3
spbpb 2
ue 32.5
spbpb 0
ue 32.5
om 0.1
beb
ue 32.0
une 32.6
spbpb 1
spbpb 3
be
***
:pb0
ue 32.3
=m 0.1
ue 32.0
une 32.1
une 32.2
spbpb 1
ue 32.3
oe 32.2
one 32.0
spbpb 3
one 32.3
be
***
:pb1
une 32.3
=a 32.0
=a 32.2
ue 32.3
be
***
:pb2
ue 32.3
=a 32.3
spapb 3
stp
be
***
:pb3
ue 32.3
=a 32.0
=a 32.2
ue 32.6
om 0.1
=M 0.1
ue 32.3
be
***
#
#
#
#
Se
Si
Se
Si
revisa el trmico
est activado el trmico salta a PB2
revisa si est en manual o automtico
est en automtico salta a PB0
Se
Se
Si
Se
revisa el nivel N1
revisa la parada
se cumple lo anterior se conecta el motor
desconecta el motor
# Modo automtico
# Hacemos VKE=0
# Borramos la marca del pulsador manual
#
#
#
#
#
Encender el motor
Si el trmico est apagado VKE=1
Encendemos motor
Encendemos lmpara
Ponemos VKE=0
# Apagamos el motor
# Paramos el autmata
#
#
#
#
#
#
#
#
Apagar motor
Si el trmico est apagado VKE=0
Apagamos motor
Apagamos lmpara
Revisamos el pulsador de parada
Hacemos VKE=1 si se conect el pulsador
Recordamos que se ha usado el pulsador
Ponemos VKE=0
NOTA:
Como puede observarse se ha empleado la entrada del trmico para poner el VKE a 0 o
1. Esto se ha hecho as debido a que esta entrada normalmente es cero, y si es uno se
debe parar el programa (por lo que no se incurre en ningn error).
Tambin hay que destacar el uso que se le ha dado a la marca 0.1, que hemos utilizado
aprovechndonos de la caracterstica ya mencionada en su momento (el borrado de stas
al resetear el autmata).
Debido a esto podemos asegurar que en la primera ejecucin del programa dicha marca
es cero y el pulsador no ha sido pulsado previamente.