Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Gama
Rels programables
APIs
Nombre comercial
LOGO!
SIMATIC
Gama baja
S7 200
Gama media
S7 300
Gama alta
S7 400
S7 1200
aunque tambin los hay que realizan funciones especiales (lazos PID, puertos de
comunicaciones, contaje, pesaje, etc.) que descargan a la CPU de dichas tareas, principalmente
cuando se requiere una mayor velocidad de respuesta.
Las seales de E/S pueden ser de dos tipos: analgicas y digitales. Las seales
analgicas son seales continuas (tensin, intensidad, resistencia) que pueden tomar cualquier
valor, entre ciertos lmites, y que sern transformados a valores digitales en funcin de la
resolucin del mdulo en cuestin. Las seales digitales son seales binarias de tipo Todo o
Nada y se utilizan en automtica de eventos discretos.
En este proyecto, los tres bloques funcionales del autmata se corresponden con
equipos individuales de la misma gama cuyas caractersticas se describen a continuacin:
a) Fuente de alimentacin (Figs. 4.1, 4.2 y Tabla 4.1)
Fuente SIEMENS PS 307 10 A, referencia 6ES7307-1KA00-0AA0
Intensidad de salida hasta 10 A
Tensin nominal de salida 24 VDC, estabilizada, a prueba de cortocircuitos y
marcha en vaco
Acometida monofsica (tensin nominal de entrada 120/230 V c.a., 50/60 Hz)
Separacin elctrica segura segn NE 60 950 (aislamiento galvnico)
Puede utilizarse como fuente de alimentacin de carga
SIEMENS
SIMATIC S7 300
Modelo CPU
315-2DP
Referencia
6ES7315-2AG10-0AB0
Alimentacin
24VDC
Consumo nominal
0,8 A
Memoria de trabajo
128 KB
Mx. 4 MB
Bastidores
Mx. 4
Interfaces de comunicaciones
MPI y PROFIBUS DP
Mdulo
IM 360
SM 322
SM 321
SM 331
SM 331
SM 332
Referencia
360-3AA01-0AA0
322-1BL00-0AA0
321-1BL00-0AA0
331-7KF02-0AB0
331-7KF02-0AB0
332-5HF00-0AB0
Descripcin
Mdulo de interfaz
Salidas digitales 32 x 24V DC 0,5A
Entradas digitales 32 x 24V DC
Entradas analgicas 8 x 12 bit
Entradas analgicas 8 x 12 bit
Salidas analgicas 8 x 12 bit
Ubicacin
Bast. 0 Slot 3
Bast. 0 Slot 4
Bast. 0 Slot 5
Bast. 0 Slot 6
Bast. 0 Slot 7
No instalado
Mdulo de interfaz: Hay un nmero mximo de mdulos por bastidor por lo que
para conectar ms mdulos se utilizan los mdulos de ampliacin. En el primer
bastidor (Bastidor 0) se coloca justo a continuacin de la CPU y se conecta
posteriormente a travs del bus mencionado. En el siguiente bastidor (Bastidor
1) se colocan los mdulos a continuacin del mdulo de interfaz a travs del
mismo bus y ambos bastidores se conectan mediante un cable de
comunicaciones entre los dos mdulos de interfaz (ver Figura 4.7). Un tercer
bastidor (Bastidor 2) se conectara al mdulo del Bastidor 1 y as sucesivamente.
Al igual que existe limitacin para el nmero de mdulos por bastidor, existe otra
limitacin para el nmero mximo de mdulos que pueden conectarse a una sola
CPU, aunque estn dispuestos en varios bastidores, que viene dada por el
nmero mximo de bastidores y por el nmero mximo de seales de E/S que
soporta la CPU.
Figura 4.7 Ejemplo de disposicin de mdulos E/S y mdulos de interfaz en dos bastidores
Mdulo IM 360
Se instala junto a la CPU y se conecta mediante un cable de enlace
modelo 386, de 10 metros como mximo, al mdulo IM 361.
Mdulos de E/S digitales: Suelen utilizarse para recibir seales directas del
operario o del proceso a travs de contactos (pulsadores, interruptores, sensores
de barrera, final de carrera, etc.) o para actuar sobre cargas (motores,
iluminacin, resistencias), sealizacin u otros dispositivos (arrancadores
progresivos, variadores de frecuencia, etc.). Las entradas suelen conectarse
directamente a los distintos dispositivos pero las salidas no soportan mucha
potencia por lo que se necesitan actuadores intermedios como rels o
contactores para manejar cargas. El cableado es bastante simple ya que slo se
necesita conectar el mdulo con la fuente de alimentacin (Figura 4.8) y de cada
contacto sacar el conductor que se conecta directamente a los contactos de los
mandos, a la bobina de los actuadores o a la sealizacin, teniendo siempre en
cuenta las caractersticas elctricas del mdulo.
Mdulo SM 321 DI 32 x DC 24 V (Fig. 4.8)
Figura 4.8 Esquema de conexiones y de principio del mdulo SM 321 DI 32xDC 24V
Figura 4.9 Esquema de conexiones y de principio del mdulo SM 322 DO 16xDC 24V/0,5 A
8 salidas en un grupo
Las salidas se pueden seleccionar por cada canal como se indica a
continuacin:
Salida de tensin (Figura 4.16)
Salida de intensidad (Figura 4.17)
Resolucin 12 bits
Diagnstico parametrizable y alarma de diagnstico
Alarma de diagnstico parametrizable
b) Configuracin
La configuracin se realiza a travs del programa HWConfig incluido en el paquete de
programacin SIEMENS STEP 7. Para ello, hay que especificar el esquema de instalacin
(bastidores, ranuras o slots, etc.) y los parmetros ajustables de cada uno de los mdulos, as
como las comunicaciones. Adems de estos parmetros, se pueden ajustar algunos
pertenecientes a la CPU que se explicarn a continuacin.
El esquema de instalacin se configura arrastrando cada uno de los dispositivos
fsicos de una lista desplegable a su posicin dentro del bastidor, reproduciendo la disposicin
real de los mdulos. En la Figura 4.18 se puede ver la disposicin utilizada en este proyecto.
Dependiendo del tipo de mdulo, as ser su parametrizacin segn las caractersticas
disponibles.
basados en el protocolo RS-485: el puerto MPI y el puerto PROFIBUS DP. Estn configurados de
la manera siguiente:
-
Puerto MPI
o Direccin de la CPU: 1
o Direccin del terminal PG/PC: 2
o Velocidad: 19,2 Kbit/s
Puerto PROFIBUS DP
o Direccin de la CPU: 1 (Maestro)
o Direccin del terminal PG/PC: 2
o Velocidad: 12 Mbit/s
Tiempo de vigilancia del ciclo: el tiempo de ciclo es el tiempo que el sistema operativo
necesita para ejecutar el programa cclico, as como todas las partes del programa que
interrumpen dicho ciclo y las actividades del sistema. Se puede modificar el tiempo de
vigilancia del ciclo preajustado. Transcurrido el mismo, la CPU pasa a STOP o se llama
al OB 80, en el cual puede definirse cmo debe reaccionar la CPU.
Ciclo / Marca de ciclo: es una marca que modifica su estado binario peridicamente
con un ciclo de trabajo de 1:1 (est en cada estado el mismo tiempo). Las marcas de
ciclo se pueden utilizar en el programa de usuario, por ejemplo, para controlar
avisadores luminosos con luz intermitente o para iniciar procesos que se repitan
peridicamente. El byte de marca se compone de ocho bits, cada uno de los cuales
tiene su propia frecuencia.
Alarmas: adems del programa principal, la CPU dispone de diversos bloques que se
ejecutan cuando sucede algn evento concreto. Tambin se pueden programar
alarmas en una hora concreta o alarmas cclicas cuya frecuencia se puede modificar,
adems de cambiar la prioridad de las mismas.
Reloj: la CPU dispone de un reloj interno que puede ser sincronizado (esclavo) con
otros dispositivos (APIs, ordenadores, etc.) configurados como maestro de tiempo.
Proteccin: el cdigo del programa se puede proteger mediante contrasea para evitar
modificaciones accidentales o para proteger la propiedad intelectual del mismo. As
mismo, la CPU puede trabajar en modo proceso y en modo test. La diferencia entre
ambos es la posibilidad de modificar o forzar parmetros y seales de E/S para realizar
pruebas de funcionamiento en modo test (no hay tiempo de vigilancia de ciclo).
c) Programacin
Como ya se ha comentado, el API dispone de un sistema operativo que se encarga de
todas las tareas bsicas, dejando al programador la tarea de crear el cdigo para la aplicacin
concreta. Para ello, SIEMENS ofrece STEP 7, un entorno de programacin de bajo nivel que
incluye otras herramientas ms avanzadas (p.ej. S7-SCL, S7-GRAPH). El lenguaje de
programacin bsico en STEP 7 puede ser de tres tipos: AWL (STL), KOP (LAD) o FUP (FDB).
El lenguaje AWL es una lista de instrucciones similar a otros lenguajes de
programacin como puede ser el ensamblador. Es el ms potente de los tres, el que menos
memoria ocupa y el ms rpido en ejecutarse. El lenguaje KOP es un esquema de contactos
elctricos y el FUP es un esquema lgico utilizando bloques o funciones lgicas. Los dos
ltimos son ms fciles de utilizar y ms intuitivos pero menos eficaces en muchos casos. En la
Figura 4.20 se puede observar un ejemplo en los tres lenguajes (para que la salida 4.0 se active
tiene que estar activada la entrada 0.0 o bien la entrada 0.1).
El cdigo se introduce en los diversos bloques de los que dispone la CPU y que son los
siguientes:
-
Bloques de organizacin (OB): son los bloques en los que se escribe el programa
principal. Empezando por el OB1, que se ejecuta en cada ciclo, hay muchos otros que
se ejecutan en determinadas condiciones. Se pueden utilizar para responder a alarmas
de proceso, alarmas horarias o fallos en el cableado, entre otras tareas. Desde estos
bloques se puede llamar a funciones, bloques de funcin o ejecutar directamente en
ellos el cdigo. Al igual que los bloques de funcin y las funciones, se dividen en
segmentos que no son ms que separaciones visuales para facilitar la comprensin y
estructurar el cdigo.
Bloques de funcin del sistema (SFB SFC): estos son bloques que contienen funciones
del sistema para tareas comunes como lectura de la fecha, comunicaciones,
operaciones de memoria, etc.
Bloques de funcin (FB): son bloques que utiliza el programador para estructurar el
cdigo. Se diferencian de las funciones en que los FB estn siempre asociados a un
bloque de datos DB, de manera que pueden intercambiar una gran cantidad de
informacin con el resto del programa directamente o con el siguiente ciclo.
Bloques de datos (DB): son estructuras que almacenan variables de varios tipos.
Pueden contener datos globales o datos de instancia, es decir, datos que puedan ser
modificados por cualquier parte del programa o datos que estn asociados a un bloque
de funcin. Otra forma de intercambiar datos es a travs de las denominadas marcas
(M 1.0, MW 3), pero presentan como inconveniente que su nmero es bastante
reducido y que no se encuentran organizadas.
Adems de los bloques anteriores, otro elemento que resulta til es la Tabla de
Variables. En ellas se aaden variables que son utilizadas dentro del programa, as como
entradas y salidas de mdulos. Cuando el autmata est funcionando en modo test o si
usamos el simulador PLCSIM incluido en STEP 7, es posible ver el estado de las mismas y forzar
sus valores para comprobar el funcionamiento antes de la puesta en marcha definitiva.
Hay una gran variedad de tipos de variables en STEP 7: binarios, decimales,
hexadecimales, enteros de 16 32 bits, nmeros reales, tiempo Es recomendable conocerlos
todos y saber cmo elegir el adecuado en cada momento, ya que la memoria de la que
disponen estos autmatas es bastante limitada en comparacin a un ordenador personal y
cuanto ms optimizado est el cdigo, mejor funcionar el API.
A este respecto, resulta interesante comentar el caso de los mdulos de E/S
analgica. Lo que sigue est referido a los mdulos de entrada ya que los mdulos de salida
presentan un comportamiento similar. Dichos mdulos reciben una seal continua cuyo valor
digitalizan en formato binario y es ese valor el que se transmite a la CPU. En ese paso existe
una prdida de informacin que depender de la codificacin utilizada, pero normalmente es
lo bastante precisa como para que dicha prdida no afecte significativamente al resultado final
de la conversin (p.ej. una prdida de las milsimas de grado en la lectura de un termopar tipo
K es prcticamente insignificante ya que la sensibilidad es de dcimas o centsimas de grado
en el caso ms extremo). Posteriormente, el valor digital tendr que ser adaptado en funcin
del instrumento de medida, lo cual se hace seleccionando en la parametrizacin del mdulo el
tipo de entrada utilizada. El valor resultante habr de ser adaptado a las unidades de medida.
En el caso de las entradas de termopar tipo K de la Figura 4.20, se eligi la entrada
TC-IL (thermocouple, compensacin interna de la unin fra, interpolacin lineal). Esto
provoca que el valor disponible desde la CPU est adaptado al rango en el que funcionara un
termopar K ideal, es decir, el valor es proporcional a la temperatura medida. Para poder
representar la temperatura correctamente se ha de proceder a convertir el valor al formato
adecuado y, adicionalmente, calibrar el termopar. El cdigo utilizado ha sido el siguiente:
FC 2
L
ITD ;
DTR ;
L
*R ;
L
+R ;
T
#RawValue;
#Factor;
//y as poder multiplicarlo por el factor de conversin que es REAL
#Offset;
#MeasuredValue;
//En este caso se trata del termopar T1 conectado en la entrada PEW 288 del SM331 Slot 6, cuyo valor se ha
//almacenado previamente en el DB2, al igual que el resto de entradas para las cuales se repetir la llamada a FC 2
//Canal 0 : Termopar tipo K
CALL FC 2 (
RawValue := DB2.DBW 0,
Factor := 1.000000e-001,
Offset := 0.000000e+000,
OverFlow := 16221,
OverRange := 13730,
UnderRange := -2701,
UnderFlow := -2701,
MeasuredValue := DB3.DBD 0,
Status := MW 10);
del electroimn de reflujo. El principio del mismo es generar una serie de ciclos con una pausa
mnima de un segundo en cada posicin. En la biblioteca de STEP 7 existe una funcin que
genera pulsos de duracin variable y con duracin mnima de pausas en cada estado. El
inconveniente principal es que trabaja con seales en porcentajes para control de motores
mediante PWM (una seal de 30% significa que estar encendida el 30% del ciclo y apagada el
70% restante ms las pausas). Dicha seal apenas guarda una relacin conceptual con el
objeto del electroimn: controlar la relacin de reflujo.
Por ese motivo, se dise una funcin similar que, partiendo de una relacin de
reflujo dada, obtuviera dos valores de temporizacin, encendido y apagado, correspondientes
a los periodos de operacin del electroimn.
Relacin de reflujo Tiempo encendido Tiempo apagado
0,01
0,1
1
10
100
1min40s
10s
1s
1s
1s
1s
1s
1s
10s
1min40s
Estos dos valores se utilizan en una funcin que controla el estado del electroimn a
travs de la salida 4.0 del mdulo SM322 Slot 4. Se compone de un control de marcha/paro
con un indicador de marcha y dos temporizadores (todos incluidos en un DB) que se suceden
en un bucle infinito una vez puesto en marcha. Al accionar la parada se reinician ambos
temporizadores y se desactiva la salida del electroimn en caso de estar activada. El cdigo es
el siguiente:
U
UN
FR
FR
S
S
S
U
L
SE
U
R
R
S
U
L
SE
U
R
S
S
"Datos Reflujo".Marcha_Reflujo;
"Datos Reflujo".Reflujo_ON;
"TIEMPO_ENCENDIDO";
"TIEMPO_APAGADO";
"Datos Reflujo".Reflujo_ON;
"Datos Reflujo".Electroiman_ON;
"Salida Electroiman";
"Salida Electroiman";
"Datos GLOBALES".T_ON;
"TIEMPO_ENCENDIDO";
"TIEMPO_ENCENDIDO";
"Salida Electroiman";
"Datos Reflujo".Electroiman_ON;
"Datos Reflujo".Electroiman_OFF;
"Datos Reflujo".Electroiman_OFF;
"Datos GLOBALES".T_OFF;
"TIEMPO_APAGADO";
"TIEMPO_APAGADO";
"Datos Reflujo".Electroiman_OFF;
"Salida Electroiman";
"Datos Reflujo".Electroiman_ON;
U
R
R
R
R
FR
FR
"Datos Reflujo".Parada_Reflujo;
"Salida Electroiman";
"Datos Reflujo".Electroiman_ON;
"Datos Reflujo".Electroiman_OFF;
"Datos Reflujo".Reflujo_ON;
"TIEMPO_ENCENDIDO";
"TIEMPO_APAGADO";