Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Procesamiento de Señales Analogica PDF
Procesamiento de Señales Analogica PDF
Las señales de entrada / salida al / del PLC vistas hasta ahora eran todas señales digitales, que se caracterizan por tener únicamente dos estados: conexión
(1) y desconexión (0).
Los dispositivos detectores conectados a las entradas digitales son dispositivos todo / nada que únicamente pueden adoptar dichos estados, tanto
sensores electromecánicos (pulsadores, interruptores, finales de carrera, boyas de nivel...) como de estado sólido (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) sólo poseen los estados de conexión / desconexión, los dispositivos conectados a ellos sólo podrán distinguir entre estos dos estados,
empleándose habitualmente para ello relés y/o contactores.
En el caso de las instalaciones térmicas y en otros muchos ámbitos son corrientes dispositivos que no realizan una detección / accionamiento todo-nada
sino que realizan una medición dentro de un rango, en función de la cual deben activarse / desactivarse procesos o realizar procesamiento de datos.
Los dispositivos que adoptan más de un estado y que generan señales continuas (dato de información variable con el tiempo) en base a alguna magnitud
física, objeto de la medición, se denominan dispositivos analógicos, y las señales que generan, señales analógicas.
En el caso de las instalaciones térmicas y de eficiencia energética, son corrientes dispositivos como:
En los PLCs, la medición de señales analógicas o el envío de valores analógicos a actuadores para actuar en consecuencia se consigue a través de módulos
de E/S analógicos, que realizan conversiones analógico / digitales para el procesado de señales.
Tanto para el procesado de entradas como de salidas analógicas, existen estándares de señal de envío / recepción de información:
0-5 mA
En ocasiones los sensores analógicos (p.e. en el caso de los termopares) no cumplen el estándar en transmisión
analógica de información, y requieren un preprocesado de la señal antes de su entrada en el PLC en el rango
estandarizado. Para este fin se emplean dispositivos como los acondicionadores de señal.
Imagen: Acondicionador de señal Allen-Bradley de carril DIN para Termopar tipo J.
Los módulos de E/S analógicos de los PLCs transforman las señales analógicas a digitales (o viceversa, en el caso
de las salidas) asociando un rango de variación de datos digitales a la información recibida / enviada desde / hacia el
sensor o actuador.
En el caso del S7-200 y el S7-1200 de Siemens existen varios tipos de módulos de E/S destinados a realizar la
conversión analógico / digital y poder procesar señales analógicas y enviar datos analógicos a actuadores.
Foto: Rockwell Automation Para el S7-200 existen módulos generales para el tratamiento de señales analógicas y módulos dedicados para la
medida de temperaturas, posicionamiento, pesaje, etc.
En el caso del S7-1200 existen dos tipos de elementos que realizan medidas / actuaciones analógicas: los módulos SM (1231, 1232, 1234) y las tarjetas
Signal Board SB 1232.
En el caso de los módulos SM la diferencia entre los mismos es el número de E/S analógicas capaces de tratar. En el catálogo S7-1200 de Siemens
pueden verse sus principales características.
Dado que hay CPUs que no son ampliables con módulo de señal (como la CPU 1211C), el S7-1200 integran la posibilidad de acoplar una tarjeta de señal
(Signal Board) que proporciona, además de las dos AI que integra la propia CPU, AO de 12 / 11 bits de resolución (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 parámetros fundamentales a la hora de realizar conversiones analógico / digitales en sensores industriales (campo de medida, alcance, error,
exactitud, precisión, sensibilidad, etc). Desde el punto de vista práctico, uno de los fundamentales a la hora de implementar el control con PLCs es la
resolución de los convertidores analógico / digitales del PLC.
Resolución: Podemos definir la resolución como el número de valores discretos capaz de ser distinguidos de forma individual por el autómata en el rango de
señal admisible por el convertidor analógico / digital.
En el caso del módulo EM235 para el S7-200, podemos ver por hoja de características que la resolución del mismo en rango
de tensión es de 12 bits. Eso significa que es capaz de distinguir entre 4096 valores diferentes.
212 = 4096
En un rango de medición, 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 señal de entrada, el EM235 aumentará una unidad el valor digital que enviará al PLC, convirtiendo
de esta forma el valor de medida analógica en una cadena de unos y ceros (1001010...) binarios correspondientes al número decimal comprendido entre 0 y
4096.
No obstante, para el caso anterior del S7-200 podemos ver en su hoja de características 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).
¿Cómo puede ser eso?. La explicación viene dada en la propia hoja de características:
En el caso de valores unipolares, el formato de los 12 bits de datos (4096 valores posibles, en el caso de rango de tensión) va incrustado en una palabra (W)
de datos (2 bytes consecutivos), de forma que el formato real del dato analógico 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) están permanentementa a 0, con lo
que el dato real queda incrustado entre el tercer cuarto y decimoquinto bit.
Esto caso que una variación de una unidad en los posibles 4096 valores (2.5 mV) se traduzca automáticamente como una variación de 8 en el valor total de la
palabra:
1000 = 0 ⋅ 2 0 + 0 ⋅ 21 + 0 ⋅ 2 2 + 1⋅ 2 3 = 8
Cualquier variación por tanto del cuarto bit menos significativo ocasionará que el valor de la palabra de datos cambie automáticamente en 8 valores, como
puede verse en el razonamiento anterior, lo que hará que los 4096 valores se conviertan en:
4096 ⋅ 8 = 32768
Reservándose el exceso de 32000 para el desbordamiento de medida.
Otro aspecto fundamental del EM235, además de su resolución y el tramiento de valores que veremos posteriormente es su conexionado con el PLC.
4
4 Entradas analógicas (x4 en el caso del EM235), que pueden configurarse
en tensión o en corriente, tal y como muestra la figura. Aquellas entradas
analógicas que no estén 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 analógicos (p. ej. temperatura, tensión, etc.) en valores
digitales en formato de palabra de 16 bits (1W = 2 bytes). A estos valores de entradas analógicas se accede con un identificador de área (AI .- Analog
Input), seguido del tamaño de los datos (W) y de la dirección del byte inicial.
Puesto que las entradas analógicas 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 analógicas son valores de sólo lectura. De esta forma, en el caso del EM235,
tendremos:
Al igual que ocurre con las entradas analógicas, a las salidas analógicas se accede con otro identificado de área (AQ.- Analog Output), seguido del t del
tamaño de los datos (W) y de la dirección del byte inicial. Tendremos por tanto AQ0, AQ2, AQ4,... En el caso del EM235 (AQx2), tendremos:
AQW0, AQW2
En el caso de las entradas analógicas, el S7-200 permite realizar un filtrado de las mismas, que no es más que obtener un valor promedio de un número
preseleccionado de muestreo. Esto es útil para aquellas entradas analógicas que puedan variar cuando lo que realmente interesa es un valor medio. Por
contra, aquellas entradas analógicas de las que queramos reflejar su variación en cada ciclo de scan, no es aconsejable filtrarlas. Los parámetros de filtrado
se pueden definir en el bloque de sistema.
Previo paso al tratamiento de valores, es aconsejable hacer una calibración y un ajuste de filtrado de las entradas del módulo analógico.
1. Desconectar la alimentación del módulo y seleccionar el rango de entrada deseado con el bloque de microinterruptores (0-10 V, 0-20 mA,...)
2. Conectar la alimentación de la CPU y del módulo y esperar un tiempo (el manual dice unos 15 minutos) para que el módulo pueda estabilizarse.
3. Utilizando un transmisor, una fuente de tensión o de intensidad, aplicar a una de las entradas una señal de valor cero (cerrando las demás).
4. Leer el valor que la CPU ha recibido del correspondiente canal de entrada.
5. Con el potenciómetro OFFSET, seleccionar el valor cero u otro valor digital.
6. Aplicar una señal de rango máximo a una entrada y leer el valor que ha recibido la CPU.
7. Con el potenciómetro 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 calibración de las entradas, es aconsejable decidir si se va a realizar o no un filtrado de entradas analógicas, 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 analógico / digital de la
CPU lo realiza.
b) La filtración de las entradas analógicas permite disponer de un valor analógico más estable, por lo que es aconsejable utilizar el filtro de entradas
analógicas en aplicaciones donde la señal de entrada cambia lentamente, eliminando de esta forma las posibles variaciones rápidas. Si la señal es rápida, no
es recomendable habilitar el filtro analógico, ya que no se actualizará el valor.
- Número de muestreos: número de ciclos de scan necesarios en los que los cuales se realiza un promedio de la entrada analógica y se actualiza
su valor. A mayor número de ciclos, más estable será la señal pero más necesitará cambiar para ser actualizada en promedio.
- Banda muerta: Para evitar que no se reflejen cambios importantes en la entrada analógica, puede definirse una banda muerte, de forma que el
filtro cambie la entrada analógica cuando ésta cambie una diferencia especificada del valor actual.
Todas las operaciones realizadas con entradas y salidas analógicas deben realizarse consecuentemente en formato de palabra. De esta forma, para realizar
un movimiento de dato analógico será necesario hacerlo en formato de palabra:
Tratar valores de la forma en que se ha hecho en el ejemplo anterior es extremadamente incómodo, ya que implica realizar varios cálculos previos de cara a
realizar la comparación:
- Del rango real de medida (p.e. sensor de temperatura de entre -0 y 760ºC) al rango de señal analógica (0-10V, 0-20 mA,...).
- Del rango de señal analógica (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 sólo es razonable en el caso de tratamiento de valores en porcentajes conocidos (p.e. sensor ultrasónico que mide el nivel de un depósito y sólo toma
decisiones respecto al rango de 50% del mismo).
La realización 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 760ºC) de acuerdo a la resolución 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 Autómatas Programables
IES San Roque (BADAJOZ)
José María Delgado Casado
UD4. Procesado de señales analógicas.
2. Tratamiento de señales analógicas en el S7-200: escalado de valores.
Por suerte, para evitar la implementación directa de estas operaciones aritméticas a la hora de operar, Siemens proporciona la librería scale.mwl (aunque no
de forma directa, pero sí disponible desde su web), que una vez añadida a STEP-7/MicroWin implementa 3 funciones para simplificar esta operación:
1) S_ITR: convierte señales de entrada analógicas 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 medición 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 serán respectivamente 0 y 1,
y Osh y Osl serán el rango de medición 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 analógicas, escalar valores normalizados en formato real a una salida analógica mediante:
3) S_RTI: convierte un número real normalizado (entre 0 y 1) a un valor entero de salida analógico (entre 0 y
32000, o entre -32000 y 32000).
Posteriormente, la tensión para el señalizador del nivel de llenado se tiene que generar a
través del módulo de salidas analógicas EM235 entre 0 y 10 V.
En el caso del S7-1200, como se ha comentado anteriormente, éste viene equipado con 2 AI en tensión, 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 resolución de las entradas analógicas integradas en el S7-1200 es de 10 bits, a diferencia de los 12 bits del módulo EM235 del S7-200. Para
el caso de las SB y los SM, la resolución de las AI y AQ aumenta hasta los 12 bits, admitiendo tanto entrada en tensión 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 ocurría con el EM235, estos 10 bits van integrados en una palabra de datos, por lo que su rango de variación en el PLC será mayor
como podemos ver en las características: 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 variación 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 señal (valores
de entrada en tensión por encima de los 10 V). De esta forma, el rango de 0-10 Vcc comprende las señales entre 0 y 27658.
El conexionado de las entradas AI integradas es extremadamente simple: únicamente es necesario cablear la fuente de tensión en el rango 0-10 V entre la
masa del dispositivo (2M) y la entrada analógica. En el caso de los módulos SM, deben alimentarse a 24Vdc y cablear las AI y AQ de acuerdo al diagrama.
Al agregar una CPU a STEP7, se asignan automáticamente las direcciones de entrada (I) y salida (Q). El direccionamiento predeterminado puede no
obstante cambiarse seleccionando el campo de dirección en la ventana de configuración de la vista general de dispositivos y tecleando números nuevos.
Con respecto a las entradas analógicas de la CPU, hay que tener en cuenta que se asignan en grupos de dos, y ocuparán por tanto 4 bytes:
Por defecto vienen asignadas como AI2_1: 64...67. Esto quiere decir
que las entradas analógicas en el S7-1200 ocuparán los canales:
IW64, IW66
Prescindiendo en este caso del identificador analógico A que era
necesario anteponer en el caso del S7-200.
Al igual que ocurría con el S7-200, puede emplearse de forma directa un dato de entrada analógica (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 comparación.
Al igual que ocurría con el EM235 del S7-200, realizar comparaciones de forma directa con valores, ya que de nuevo implicaría la conversión de alguna forma
externa:
- Del rango real de medida (p.e. sensor de temperatura de entre -0 y 760ºC) al rango de señal analógica (0-10V).
- Del rango de señal analógica (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 normalización de valores, o bien para realizar el cálculo
mediante la implementación de la recta de interpolación:
La instrucción NORM_X normaliza el valor de las variables de la entrada VALUE mapeándolas en una escala lineal. Los parámetros MIN y MAX sirven para
definir los límites de un rango de valores que se refleja en la escala. En función de la posición del valor que se debe normalizar en este rango de valores, el
resultado se calcula y se deposita como número 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 instrucción SCALE_X escala el valor de la entrada VALUE mapeándolo en un rango de valores determinado . Al ejecutar la instrucción, el número en coma
flotante de la entrada VALUE se escala al rango de valores definido por los parámetros MIN y MAX. El resultado de la escala es un número 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 habilitación, todo el proceso puede
recogerse en un solo Network de la siguiente forma:
La instrucción CALCULATE permite crear una función matemática que se ejecuta con múltiples parámetros de entrada para obtener el resultado en función de
la ecuación definida.
La función es accesible desde el árbol de instrucciones básicas de las Task Cards, dentro de Funciones matemáticas, o
bien directamente insertando un bloque de función sin definir y escribiendo el nombre de la misma.
La instrucción no configurada ofrece dos parámetros de entrada y uno de salida. El primer paso es seleccionar el tipo de
datos con el que se va a realizar la operación, desplegando el menú presente en “???”. En el caso de realizar escalado de
valores analógicos, la operación deberá realizarse en formato real.
INTRODUCIR ECUACIÓN
La función es accesible desde el árbol de instrucciones básicas de las Task Cards, dentro de Funciones matemáticas, o bien directamente insertando un
bloque de función sin definir y escribiendo el nombre de la misma.
La instrucción no configurada ofrece dos parámetros de entrada y uno de salida. El primer paso es seleccionar el tipo de datos con el que se va a realizar la
operación, desplegando el menú presente en “???”. En el caso de realizar escalado de valores analógicos, la operación deberá realizarse en formato real.
Posteriormente deberá accederse al botón “introducir ecuación” visible en la figura superior, debiendo introducir la ecuación de la recta genérica de
interpolación para el escalado de valores:
(Osh − Osl )
OV = ⋅(I v − I sl ) + Osl
(I sh − I sl )
Curso Autómatas Programables
IES San Roque (BADAJOZ)
José María Delgado Casado
UD4. Procesado de señales analógicas.
2. Tratamiento de señales analógicas en el S7-1200: escalado de valores.
Deberá escribirse la ecuación en el formato esperado por la instrucción CALCULATE, por lo que podemos traducir la ecuación 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 ecuación a calcular las áreas de memoria de donde bien se toman los valores (caso de la entrada analógica
y los valores de referencia en el escalado) o bien don de se colocarán los valores calculados:
Es fundamental tener en cuenta que todos los datos introducidos en la función CALCULATE
deben tener formato real. Si intentamos introducir IW64 como dato analógico de entrada en
in1, será imposible hacerlo de forma directa, al ser un entero. Es necesario una conversión
previa de tipos empleando la función CONVERT:
Una vez realizada la conversión de tipos es posible rellenar la función CALCULATE y obtener el valor real en OUT correspondiente al dato real de medida
del dispositivo conectado a la entrada analógica.
@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 imágenes que pudieran tener licencia copyright y que se han empleado con
fines educativos, están licenciados bajo Creative Commons CC BY-NC-SA 3.0 ES.