Professional Documents
Culture Documents
Las seales de entrada / salida al / del PLC vistas hasta ahora eran todas seales digitales, que se caracterizan por tener nicamente dos estados: conexin
(1) y desconexin (0).
Los dispositivos detectores conectados a las entradas digitales son dispositivos todo / nada que nicamente pueden adoptar dichos estados, tanto
sensores electromecnicos (pulsadores, interruptores, finales de carrera, boyas de nivel...) como de estado slido (detectores inductivos, capacitivos, de
presencia,...).
De igual forma ocurre con los dispositivos accionadores y preaccionadores conectados a las salidas digitales del PLC. Dado que las salidas del PLC (a
rel o a transistor) slo poseen los estados de conexin / desconexin, los dispositivos conectados a ellos slo podrn distinguir entre estos dos estados,
emplendose habitualmente para ello rels y/o contactores.
En el caso de las instalaciones trmicas y en otros muchos mbitos son corrientes dispositivos que no realizan una deteccin / accionamiento todo-nada
sino que realizan una medicin dentro de un rango, en funcin de la cual deben activarse / desactivarse procesos o realizar procesamiento de datos.
Los dispositivos que adoptan ms de un estado y que generan seales continuas (dato de informacin variable con el tiempo) en base a alguna magnitud
fsica, objeto de la medicin, se denominan dispositivos analgicos, y las seales que generan, seales analgicas.
En el caso de las instalaciones trmicas y de eficiencia energtica, son corrientes dispositivos como:
En los PLCs, la medicin de seales analgicas o el envo de valores analgicos a actuadores para actuar en consecuencia se consigue a travs de mdulos
de E/S analgicos, que realizan conversiones analgico / digitales para el procesado de seales.
Tanto para el procesado de entradas como de salidas analgicas, existen estndares de seal de envo / recepcin de informacin:
0-5 mA
En ocasiones los sensores analgicos (p.e. en el caso de los termopares) no cumplen el estndar en transmisin
analgica de informacin, y requieren un preprocesado de la seal antes de su entrada en el PLC en el rango
estandarizado. Para este fin se emplean dispositivos como los acondicionadores de seal.
Imagen: Acondicionador de seal Allen-Bradley de carril DIN para Termopar tipo J.
Los mdulos de E/S analgicos de los PLCs transforman las seales analgicas a digitales (o viceversa, en el caso
de las salidas) asociando un rango de variacin de datos digitales a la informacin recibida / enviada desde / hacia el
sensor o actuador.
En el caso del S7-200 y el S7-1200 de Siemens existen varios tipos de mdulos de E/S destinados a realizar la
conversin analgico / digital y poder procesar seales analgicas y enviar datos analgicos a actuadores.
Foto: Rockwell Automation Para el S7-200 existen mdulos generales para el tratamiento de seales analgicas y mdulos dedicados para la
medida de temperaturas, posicionamiento, pesaje, etc.
En el caso del S7-1200 existen dos tipos de elementos que realizan medidas / actuaciones analgicas: los mdulos SM (1231, 1232, 1234) y las tarjetas
Signal Board SB 1232.
En el caso de los mdulos SM la diferencia entre los mismos es el nmero de E/S analgicas capaces de tratar. En el catlogo S7-1200 de Siemens
pueden verse sus principales caractersticas.
Dado que hay CPUs que no son ampliables con mdulo de seal (como la CPU 1211C), el S7-1200 integran la posibilidad de acoplar una tarjeta de seal
(Signal Board) que proporciona, adems de las dos AI que integra la propia CPU, AO de 12 / 11 bits de resolucin (U/I) o AI adicionales, o incluso DI y DO .
Las tarjetas SB van integradas en el cuerpo del PLC, optimizando de esta forma el espacio ocupado por el conjunto.
Existen varios parmetros fundamentales a la hora de realizar conversiones analgico / digitales en sensores industriales (campo de medida, alcance, error,
exactitud, precisin, sensibilidad, etc). Desde el punto de vista prctico, uno de los fundamentales a la hora de implementar el control con PLCs es la
resolucin de los convertidores analgico / digitales del PLC.
Resolucin: Podemos definir la resolucin como el nmero de valores discretos capaz de ser distinguidos de forma individual por el autmata en el rango de
seal admisible por el convertidor analgico / digital.
En el caso del mdulo EM235 para el S7-200, podemos ver por hoja de caractersticas que la resolucin del mismo en rango
de tensin es de 12 bits. Eso significa que es capaz de distinguir entre 4096 valores diferentes.
212 = 4096
En un rango de medicin, p.e. de 0 a 10 Vcc (unipolar) significa que el EM235 es capaz de realizar cambios en medidas de:
Esto quiere decir que cada cambio de 2.5 mV de valor de la seal de entrada, el EM235 aumentar una unidad el valor digital que enviar al PLC, convirtiendo
de esta forma el valor de medida analgica en una cadena de unos y ceros (1001010...) binarios correspondientes al nmero decimal comprendido entre 0 y
4096.
No obstante, para el caso anterior del S7-200 podemos ver en su hoja de caractersticas que no distingue entre 4096 valores, sino entre 32000 para el caso de
rangos unipolares (0 a 10 V, 0-20 mA) o 64000 para el caso de bipolares (-10 a 10 V).
Cmo puede ser eso?. La explicacin viene dada en la propia hoja de caractersticas:
En el caso de valores unipolares, el formato de los 12 bits de datos (4096 valores posibles, en el caso de rango de tensin) va incrustado en una palabra (W)
de datos (2 bytes consecutivos), de forma que el formato real del dato analgico queda traducido:
El primero de los bits de la palabra (MSB-Most Significant Bit) se reserva para el caso de valores bipolares, indicando con un 0 si es positivo y con un 1 si es
negativo, por lo que en el caso de los unipolares est permanentemente a 0. Los ltimos 3 bits (LSB-Less Significant Bit) estn permanentementa a 0, con lo
que el dato real queda incrustado entre el tercer cuarto y decimoquinto bit.
Esto caso que una variacin de una unidad en los posibles 4096 valores (2.5 mV) se traduzca automticamente como una variacin de 8 en el valor total de la
palabra:
1000 = 0 2 0 + 0 21 + 0 2 2 + 1 2 3 = 8
Cualquier variacin por tanto del cuarto bit menos significativo ocasionar que el valor de la palabra de datos cambie automticamente en 8 valores, como
puede verse en el razonamiento anterior, lo que har que los 4096 valores se conviertan en:
4096 8 = 32768
Reservndose el exceso de 32000 para el desbordamiento de medida.
Otro aspecto fundamental del EM235, adems de su resolucin y el tramiento de valores que veremos posteriormente es su conexionado con el PLC.
4
4 Entradas analgicas (x4 en el caso del EM235), que pueden configurarse
en tensin o en corriente, tal y como muestra la figura. Aquellas entradas
analgicas que no estn en uso deben puentearse entre + y -, tal y como
3 refleja la figura.
Aunque la palabra de datos real ocupe exclusivamente 12 bits, el S7-200 convierte valores reales analgicos (p. ej. temperatura, tensin, etc.) en valores
digitales en formato de palabra de 16 bits (1W = 2 bytes). A estos valores de entradas analgicas se accede con un identificador de rea (AI .- Analog
Input), seguido del tamao de los datos (W) y de la direccin del byte inicial.
Puesto que las entradas analgicas son palabras que comienzan siempre en bytes pares (p. ej. 0, 2, 4, etc.), es preciso utilizar direcciones con bytes pares (p.
ej. AIW0, AIW2, AIW4, etc.) para acceder a las mismas. Las entradas analgicas son valores de slo lectura. De esta forma, en el caso del EM235,
tendremos:
Al igual que ocurre con las entradas analgicas, a las salidas analgicas se accede con otro identificado de rea (AQ.- Analog Output), seguido del t del
tamao de los datos (W) y de la direccin del byte inicial. Tendremos por tanto AQ0, AQ2, AQ4,... En el caso del EM235 (AQx2), tendremos:
AQW0, AQW2
En el caso de las entradas analgicas, el S7-200 permite realizar un filtrado de las mismas, que no es ms que obtener un valor promedio de un nmero
preseleccionado de muestreo. Esto es til para aquellas entradas analgicas que puedan variar cuando lo que realmente interesa es un valor medio. Por
contra, aquellas entradas analgicas de las que queramos reflejar su variacin en cada ciclo de scan, no es aconsejable filtrarlas. Los parmetros de filtrado
se pueden definir en el bloque de sistema.
Previo paso al tratamiento de valores, es aconsejable hacer una calibracin y un ajuste de filtrado de las entradas del mdulo analgico.
1. Desconectar la alimentacin del mdulo y seleccionar el rango de entrada deseado con el bloque de microinterruptores (0-10 V, 0-20 mA,...)
2. Conectar la alimentacin de la CPU y del mdulo y esperar un tiempo (el manual dice unos 15 minutos) para que el mdulo pueda estabilizarse.
3. Utilizando un transmisor, una fuente de tensin o de intensidad, aplicar a una de las entradas una seal de valor cero (cerrando las dems).
4. Leer el valor que la CPU ha recibido del correspondiente canal de entrada.
5. Con el potencimetro OFFSET, seleccionar el valor cero u otro valor digital.
6. Aplicar una seal de rango mximo a una entrada y leer el valor que ha recibido la CPU.
7. Con el potencimetro GAIN, seleccionar el valor 32000 (tope de rango de medida digital) u otro valor digital.
8. En caso necesario, volver a calibrar el desplazamiento (OFFSET) y la ganancia (GAIN).
Una vez realizada la calibracin de las entradas, es aconsejable decidir si se va a realizar o no un filtrado de entradas analgicas, teniendo en cuenta algunos
conceptos:
a) En el caso de emplear una CPU 224XP, no es necesario filtrar las entradas por software (MicroWin), ya que el propio convertidor analgico / digital de la
CPU lo realiza.
b) La filtracin de las entradas analgicas permite disponer de un valor analgico ms estable, por lo que es aconsejable utilizar el filtro de entradas
analgicas en aplicaciones donde la seal de entrada cambia lentamente, eliminando de esta forma las posibles variaciones rpidas. Si la seal es rpida, no
es recomendable habilitar el filtro analgico, ya que no se actualizar el valor.
- Nmero de muestreos: nmero de ciclos de scan necesarios en los que los cuales se realiza un promedio de la entrada analgica y se actualiza
su valor. A mayor nmero de ciclos, ms estable ser la seal pero ms necesitar cambiar para ser actualizada en promedio.
- Banda muerta: Para evitar que no se reflejen cambios importantes en la entrada analgica, puede definirse una banda muerte, de forma que el
filtro cambie la entrada analgica cuando sta cambie una diferencia especificada del valor actual.
Todas las operaciones realizadas con entradas y salidas analgicas deben realizarse consecuentemente en formato de palabra. De esta forma, para realizar
un movimiento de dato analgico ser necesario hacerlo en formato de palabra:
Tratar valores de la forma en que se ha hecho en el ejemplo anterior es extremadamente incmodo, ya que implica realizar varios clculos previos de cara a
realizar la comparacin:
- Del rango real de medida (p.e. sensor de temperatura de entre -0 y 760C) al rango de seal analgica (0-10V, 0-20 mA,...).
- Del rango de seal analgica (0-10V, 0-20 mA,...) al rango de dato en formato palabra del S7-200 (-32768 a +32767 para bipolares y de 0 a +32767 para
unipolares, que es ajustado a -32000 a +32000 para bipolares y 0 a 32000 para unipolares mediante ganancia y offset).
,que slo es razonable en el caso de tratamiento de valores en porcentajes conocidos (p.e. sensor ultrasnico que mide el nivel de un depsito y slo toma
decisiones respecto al rango de 50% del mismo).
La realizacin de un escalado tiene como objetivo convertir los datos en formato palabra del S7-200 (enteros) en valores reales del rango de medida del
dispositivo original (p.e. la temperatura de 0 a 760C) de acuerdo a la resolucin del mismo, y poder realizar operaciones de forma directa.
ESCALADO BIPOLAR
ESCALADO UNIPOLAR
(Osh Osl )
OV = (I v I sl ) + Osl
(I sh I sl )
Curso Autmatas Programables
IES San Roque (BADAJOZ)
Jos Mara Delgado Casado
UD4. Procesado de seales analgicas.
2. Tratamiento de seales analgicas en el S7-200: escalado de valores.
Por suerte, para evitar la implementacin directa de estas operaciones aritmticas a la hora de operar, Siemens proporciona la librera scale.mwl (aunque no
de forma directa, pero s disponible desde su web), que una vez aadida a STEP-7/MicroWin implementa 3 funciones para simplificar esta operacin:
1) S_ITR: convierte seales de entrada analgicas en valores normalizados entre 0.0 y 1.0
2) S_RTR: convierte rango de datos en formato real a valores en formato real (escalando al rango de medida
del dispositivo):
El valor real anterior entre 0.0 y 1.0 deber ser ahora escalado
al rango real de medicin del dispositivo. Su input en este caso
ser el rea de memoria donde se ha almacenado el dato
previo (en formato DW), Ish e Isl sern respectivamente 0 y 1,
y Osh y Osl sern el rango de medicin real del dispositivo (o
un porcentaje, si se prefiere, para lo cual el rango de salida
ser entre 0 y 100).
Ser posible, al igual que se ha realizado con las entradas analgicas, escalar valores normalizados en formato real a una salida analgica mediante:
3) S_RTI: convierte un nmero real normalizado (entre 0 y 1) a un valor entero de salida analgico (entre 0 y
32000, o entre -32000 y 32000).
Posteriormente, la tensin para el sealizador del nivel de llenado se tiene que generar a
travs del mdulo de salidas analgicas EM235 entre 0 y 10 V.
En el caso del S7-1200, como se ha comentado anteriormente, ste viene equipado con 2 AI en tensin, con rango 0-10 V (no pueden ser configuradas como
entradas en corriente ni en otro rango diferente), como puede verse en la imagen:
En este caso, la resolucin de las entradas analgicas integradas en el S7-1200 es de 10 bits, a diferencia de los 12 bits del mdulo EM235 del S7-200. Para
el caso de las SB y los SM, la resolucin de las AI y AQ aumenta hasta los 12 bits, admitiendo tanto entrada en tensin como en corriente.
Esto significa que el rango de valores capaces de ser distinguidos por el PLC en base a los 10 bits de almacenamiento es de:
210 = 1024
No obstante, al igual que ocurra con el EM235, estos 10 bits van integrados en una palabra de datos, por lo que su rango de variacin en el PLC ser mayor
como podemos ver en las caractersticas: de 0 a 27648.
En el caso de las entradas AI integradas del S7-1200, se han eliminado los ajustes de ganancia y offset y aunque los 16 bits de la palabra de datos admiten
un rango de variacin de:
216 = 65536
que se queda en nicamente de 0 a 32767 por ser unipolar (0 a 10 V), se ha modificado el rango para contemplar sobreimpulsos y excesos de seal (valores
de entrada en tensin por encima de los 10 V). De esta forma, el rango de 0-10 Vcc comprende las seales entre 0 y 27658.
El conexionado de las entradas AI integradas es extremadamente simple: nicamente es necesario cablear la fuente de tensin en el rango 0-10 V entre la
masa del dispositivo (2M) y la entrada analgica. En el caso de los mdulos SM, deben alimentarse a 24Vdc y cablear las AI y AQ de acuerdo al diagrama.
Al agregar una CPU a STEP7, se asignan automticamente las direcciones de entrada (I) y salida (Q). El direccionamiento predeterminado puede no
obstante cambiarse seleccionando el campo de direccin en la ventana de configuracin de la vista general de dispositivos y tecleando nmeros nuevos.
Con respecto a las entradas analgicas de la CPU, hay que tener en cuenta que se asignan en grupos de dos, y ocuparn por tanto 4 bytes:
Por defecto vienen asignadas como AI2_1: 64...67. Esto quiere decir
que las entradas analgicas en el S7-1200 ocuparn los canales:
IW64, IW66
Prescindiendo en este caso del identificador analgico A que era
necesario anteponer en el caso del S7-200.
Al igual que ocurra con el S7-200, puede emplearse de forma directa un dato de entrada analgica (en este caso, IW64) o almacenarse en un rea de
variables para su uso. En el caso del S7-1200, al no existir el rea V, puede almacenarse en un bloque de datos (DB) para su posterior uso y comparacin.
Al igual que ocurra con el EM235 del S7-200, realizar comparaciones de forma directa con valores, ya que de nuevo implicara la conversin de alguna forma
externa:
- Del rango real de medida (p.e. sensor de temperatura de entre -0 y 760C) al rango de seal analgica (0-10V).
- Del rango de seal analgica (0-10V) al rango de dato en formato palabra del S7-1200 (en este caso de 0 a 27648).
A diferencia del S7-200, el S7-1200 viene con funciones integradas para realizar el escalado y normalizacin de valores, o bien para realizar el clculo
mediante la implementacin de la recta de interpolacin:
La instruccin NORM_X normaliza el valor de las variables de la entrada VALUE mapendolas en una escala lineal. Los parmetros MIN y MAX sirven para
definir los lmites de un rango de valores que se refleja en la escala. En funcin de la posicin del valor que se debe normalizar en este rango de valores, el
resultado se calcula y se deposita como nmero en coma flotante en la salida OUT. Si el valor que se debe normalizar es igual al valor de la entrada MIN, la
salida OUT devuelve el valor "0.0". Si el valor que se debe normalizar adopta el valor de la entrada MAX, la salida OUT devuelve el valor "1.0".
La instruccin SCALE_X escala el valor de la entrada VALUE mapendolo en un rango de valores determinado . Al ejecutar la instruccin, el nmero en coma
flotante de la entrada VALUE se escala al rango de valores definido por los parmetros MIN y MAX. El resultado de la escala es un nmero entero que se
deposita en la salida OUT.
Dado que en el en las funciones NORM_X y SCALE_X del S7-1200 es posible utilizar las entradas y salidas de habilitacin, todo el proceso puede
recogerse en un solo Network de la siguiente forma:
La instruccin CALCULATE permite crear una funcin matemtica que se ejecuta con mltiples parmetros de entrada para obtener el resultado en funcin de
la ecuacin definida.
La funcin es accesible desde el rbol de instrucciones bsicas de las Task Cards, dentro de Funciones matemticas, o
bien directamente insertando un bloque de funcin sin definir y escribiendo el nombre de la misma.
La instruccin no configurada ofrece dos parmetros de entrada y uno de salida. El primer paso es seleccionar el tipo de
datos con el que se va a realizar la operacin, desplegando el men presente en ???. En el caso de realizar escalado de
valores analgicos, la operacin deber realizarse en formato real.
INTRODUCIR ECUACIN
La funcin es accesible desde el rbol de instrucciones bsicas de las Task Cards, dentro de Funciones matemticas, o bien directamente insertando un
bloque de funcin sin definir y escribiendo el nombre de la misma.
La instruccin no configurada ofrece dos parmetros de entrada y uno de salida. El primer paso es seleccionar el tipo de datos con el que se va a realizar la
operacin, desplegando el men presente en ???. En el caso de realizar escalado de valores analgicos, la operacin deber realizarse en formato real.
Posteriormente deber accederse al botn introducir ecuacin visible en la figura superior, debiendo introducir la ecuacin de la recta genrica de
interpolacin para el escalado de valores:
(Osh Osl )
OV = (I v I sl ) + Osl
(I sh I sl )
Curso Autmatas Programables
IES San Roque (BADAJOZ)
Jos Mara Delgado Casado
UD4. Procesado de seales analgicas.
2. Tratamiento de seales analgicas en el S7-1200: escalado de valores.
Deber escribirse la ecuacin en el formato esperado por la instruccin CALCULATE, por lo que podemos traducir la ecuacin anterior a:
(Osh Osl )
OV = (I v I sl ) + Osl Out = ((in4 in5 ) / (in2 in3 ))*(in1 in3 ) + in5
(I sh I sl )
Donde:
Ov Out Valor de salida escalado
Ser necesario posteriormente introducir en la ecuacin a calcular las reas de memoria de donde bien se toman los valores (caso de la entrada analgica
y los valores de referencia en el escalado) o bien don de se colocarn los valores calculados:
Es fundamental tener en cuenta que todos los datos introducidos en la funcin CALCULATE
deben tener formato real. Si intentamos introducir IW64 como dato analgico de entrada en
in1, ser imposible hacerlo de forma directa, al ser un entero. Es necesario una conversin
previa de tipos empleando la funcin CONVERT:
Una vez realizada la conversin de tipos es posible rellenar la funcin CALCULATE y obtener el valor real en OUT correspondiente al dato real de medida
del dispositivo conectado a la entrada analgica.
@JM_Delgado
jmdelgado@elec2.es
www.elec2.es
http://www.youtube.com/jmardelc
http://www.slideshare.net/Jmardelc
http://pinterest.com/jmardelc/
http://magnetic.tumblr.com/
Todo el material contenido y generado en este documento, excepto aquellas imgenes que pudieran tener licencia copyright y que se han empleado con
fines educativos, estn licenciados bajo Creative Commons CC BY-NC-SA 3.0 ES.