tema%7 - infoplc.net · tema%7 programación+avanzada.+visión+prác4cacon+s771200+...
TRANSCRIPT
Tema 7 Programación Avanzada. Visión Prác4ca con S7-‐1200 PARTE 1: PROCESAMIENTO DE SEÑALES ANALÓGICAS
10/11/14
TEMA 6 PR
OGR
AMAC
IÓN AVA
NZA
DA. V
ISIÓN PRÁ
CTICA CO
N S7-‐1200
1
Procesado de señales analógicas • SEÑALES ANALÓGICAS
• A diferencia de una señal binaria, que solo puede adoptar los estados de señal "Tensión presente +24V" y "Tensión no presente 0V", las señales analógicas pueden adoptar cualquier valor dentro de un rango determinado. Un ejemplo ]pico de sensor analógico es un potenciómetro. En función de la posición del botón rota4vo, se puede ajustar cualquier resistencia hasta un valor máximo.
• Ejemplos de magnitudes analógicas en la tecnología de control: • Temperatura -‐50 ... +150 °C • Caudal 0 ... 200 l/min • Velocidad 500 ... 1500 rpm • Etc.
10/11/14
TEMA 6 PR
OGR
AMAC
IÓN AVA
NZA
DA. V
ISIÓN PRÁ
CTICA CO
N
S7-‐1200
2
2
Procesado de señales analógicas • SEÑALES ANALÓGICAS
• Estas magnitudes se transforman con un transductor de medida en tensiones, intensidades o resistencias eléctricas. Si se desea, p. ej., registrar una velocidad, el rango de velocidad de 500 ... 1500 rpm se puede conver4r en un rango de tensión de 0 ... +10 V con un transductor de medida. A una velocidad medida de 865 rpm, el transductor de medida emi4ría un valor de tensión de +3,65 V.
• Estas tensiones, intensidades y resistencias eléctricas se conectan a un módulo analógico que digitaliza esta señal.
10/11/14
TEMA 6 PR
OGR
AMAC
IÓN AVA
NZA
DA. V
ISIÓN PRÁ
CTICA CO
N
S7-‐1200
3
3
365
1000 U/min
10V
10V: 1000 U/min = 0,01 V/U/min
365 U/min x 0,01 V/U/min = 3,65
0 V +10V
500 865 1500 U/min
!
Procesado de señales analógicas • SEÑALES ANALÓGICAS
• Si se procesan magnitudes analógicas con un PLC, el valor de tensión, intensidad o resistencia leído debe conver4rse en información digital. Esta transformación se denomina conversión analógica-‐digital (conversión A/D). Esto significa que, p. ej., el valor de tensión de 3,65 V se almacena como información en una serie de posiciones binarias. Cuantas más posiciones binarias se u4licen para la representación digital, más fina será la resolución. Si, por ejemplo, únicamente se dispone de 1 bit para el rango de tensión 0 ... +10 V, solo se podría hacer una afirmación: si la tensión medida se encuentra en el rango 0... +5 V o en el rango +5 V ... +10 V. Con 2 bits, el rango ya se puede dividir en 4 áreas individuales, es decir, 0 ... 2,5 / 2,5 ... 5 / 5 ... 7,5 / 7,5 ... 10 V. Los conver4dores A/D habituales en la tecnología de control trabajan con 8 o con 11 bits.
• Así, 8 bits suponen una resolución de 256 áreas individuales y 11 bits, 2048 áreas individuales.
10/11/14
TEMA 6 PR
OGR
AMAC
IÓN AVA
NZA
DA. V
ISIÓN PRÁ
CTICA CO
N
S7-‐1200
4
4
11 Bit
10V: 2048 = 0,0048828→ es können Spannungs-
unterschiede <5mV erkannt
werden0 2048
0A/0V 20mA/10V
!
10 V: 2048 = 0,0048828 à Se pueden detectar diferencias de <5 mV en la tensión
Resolución: Podemos definir la resolución como el número de valores discretos capaz de ser dis4nguidos de forma individual por el autómata en el rango de señal admisible por el conver4dor analógico / digital.
Procesado de señales analógicas • Tratar valores calculando la correspondencia entre la medida real, señal analógica y rango en el formato del PLC es extremadamente incómodo, ya que implica realizar varios cálculos previos de cara a realizar la comparación • SÓLO SERÍA RAZONABLE EN CASO DE POCOS VALORES Y 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).
• En los demas casos -‐> hay 2 posibilidades • Implementar las operaciones aritmé3cas correspondientes al tramiento de datos dentro de programa de control del PLC
• Realizar un escalado y normalización de valores. • La realización de un escalado 4ene como obje4vo conver4r los datos en formato palabra del PLC(enteros) en valores reales del rango de medida del disposi4vo 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.
10/11/14
TEMA 6 PR
OGR
AMAC
IÓN AVA
NZA
DA. V
ISIÓN PRÁ
CTICA CO
N
S7-‐1200
5
5
Procesado de señales analógicas • La realización de un escalado 4ene como obje4vo conver4r los datos en formato palabra del
PLC(enteros) en valores reales del rango de medida del disposi4vo 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.
10/11/14
TEMA 6 PR
OGR
AMAC
IÓN AVA
NZA
DA. V
ISIÓN PRÁ
CTICA CO
N
S7-‐1200
6
6
Parám. Descripción
Ov Valor de salida escalado (Output value)
lv Valor de entrada analógico (Input value)
Osh Valor límite superior de la escala para el valor de salida escalado
Osl Valor límite inferior de la escala para el valor de salida escalado
lsh Valor límite superior de la escala para el valor de entrada analógico
lsl Valor límite inferior de la escala para el valor de entrada analógico
Valor de Salida Escalado
Valor de Entrada Analógico
lsh lsl
Osl
Osh
lv
Valor de Salida Escalado
Valor de Entrada Analógico
lsh
lsl
Osl
Osh
lv Ov
Ov
Procesado de señales analógicas • En algunos casos incluso sera necesario un escalado con desviación, p.e. si el rango de medida de disposi4vo de 4-‐20 mA, y el del PLC sólo mide señales en corriente de 0 a 20 mA. • Esto significa que una medida de 4 mA del disposi4vo (cero en su medida), el PLC la
interpreta como un dato de señal de valor entero (en palabra) de 6400 suponiendo un rango de (0,32000).
• Esto implica que en el escalado de salida, éste valor debera corresponder al dato de rango mínimo (0) de medida del disposi4vo.
• Lo que significa que el valor escalado puede ser calculado mediante la recta de interpolación lineal entre Osh y Ish, e Osl y Isl. Podemos calcular por tanto el valor de acuerdo a la siguiente fórmula:
10/11/14
TEMA 6 PR
OGR
AMAC
IÓN AVA
NZA
DA. V
ISIÓN PRÁ
CTICA CO
N
S7-‐1200
7
Valor de Salida Escalado
Valor de Entrada Analógico lsh lsl
Osl
Osh
lv
Ov
Procesado de señales analógicas • S7 1200
• En el caso del S7-‐1200 existen dos 4pos 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.
• 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, op4mizando de esta forma el espacio ocupado por el conjunto.
10/11/14
TEMA 6 PR
OGR
AMAC
IÓN AVA
NZA
DA. V
ISIÓN PRÁ
CTICA CO
N
S7-‐1200
8
SM 1231 SB 1232
Procesado de señales analógicas • S7 1200
• 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:
10/11/14
TEMA 6 PR
OGR
AMAC
IÓN AVA
NZA
DA. V
ISIÓN PRÁ
CTICA CO
N
S7-‐1200
9
En este caso, la resolución de las entradas analógicas integradas en el S7-‐1200 es de 10 bits. Para el caso de las SB y los SM, la resolución de las AI y AQ aumenta hasta los 12 bits, admi4endo tanto entrada en tensión como en corriente. Esto significa que el rango de valores capaces de ser dis4nguidos por el PLC en base a los 10 bits de almacenamiento es de: 210 = 1024 No obstante estos 10 bits van integrados en una palabra de datos, por lo que su rango de variación en el PLC sera mayor como podemos ver en las caracterís4cas: de 0 a 27648.
Procesado de señales analógicas • S7 1200
• 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, por ejemplo en el rango de 0-‐10 Vcc comprende las señales entre 0 y 27648 (UNIPOLARES) y en el rango de ±10Vcc comprende las señales entre -‐27648 y 27648 (BIPOLARES)
10/11/14
TEMA 6 PR
OGR
AMAC
IÓN AVA
NZA
DA. V
ISIÓN PRÁ
CTICA CO
N
S7-‐1200
10
Procesado de señales analógicas • S7 1200
• Al agregar una CPU a STEP7, se asignan automá4camente 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 disposi4vos 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:
10/11/14
TEMA 6 PR
OGR
AMAC
IÓN AVA
NZA
DA. V
ISIÓN PRÁ
CTICA CO
N
S7-‐1200
11 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 y IW66
En el caso de emplear SBs o SMs con entradas / salidas analógicas adicionales, las mismas será igualmente configurables desde la vista general de disposi4vos:
Procesado de señales analógicas • S7 1200
• En este ejemplo, con un bit asociado en configuración de marcas de sistema y ciclo para siempre ON, se realiza un movimiento del dato de IW64 a un byte de un bloque de datos creado a tal fin (DB1) y denominado “entrada_analog”.
• Posteriormente se compara el valor de este byte con consignas de referencia, ac4vando o desac4vando salidas consecuentemente:
• -‐ Si “entrada_analog” 4ene un valor menor o igual de 15000, se ac4vará la salida Q0.0.
• -‐ Si “entrada_analog” está en un rango (IN_RANGE) de entre 15001 y 20000, se ac4vará la salida Q0.1 (y se desac4vará la Q0.0 anterior).
• -‐ Si por úl4mo “entrada_analog” 4ene un valor superior a 20000 (y menor del rebase por exceso), se ac4vará la salida Q0.2 (y se desac4vará la Q0.1).
10/11/14
TEMA 6 PR
OGR
AMAC
IÓN AVA
NZA
DA. V
ISIÓN PRÁ
CTICA CO
N
S7-‐1200
12
Procesado de señales analógicas • S7 1200
• 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:
• Funciones de normalización y escalado: NORM_X y SCALE_X. • 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".
• En este caso se normaliza la entrada IW64, cuyos valores pueden tomarse en el rango entre 0 y 27648 (0 a 10 Vcc) a un número real entre 0 y 1 que se deposita en MD0.
10/11/14
TEMA 6 PR
OGR
AMAC
IÓN AVA
NZA
DA. V
ISIÓN PRÁ
CTICA CO
N
S7-‐1200
13
Procesado de señales analógicas • S7 1200
• Funciones de normalización y escalado: NORM_X y SCALE_X. • 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.
• En este caso se escala el valor almacenado en MD0 en el rango entre 0 y 760, almacenando este valor en formato real en el área de memoria en doble palabra MD10.
• Dado que en el en las funciones NORM_X y SCALE_X del S7-‐1200 es posible u4lizar las entradas y salidas de habilitación, todo el proceso puede recogerse en un solo Network de la siguiente forma:
10/11/14
TEMA 6 PR
OGR
AMAC
IÓN AVA
NZA
DA. V
ISIÓN PRÁ
CTICA CO
N
S7-‐1200
14
Procesado de señales analógicas • EJEMPLO-‐ NORMALIZADO Y ESCALADO
• Una entrada analógica de un módulo de señales analógicas o Signal Board que usa entrada de intensidad se encuentra en el rango de valores validos entre 0 y 27648. Suponiendo que una entrada analógica representa una temperatura en la que el valor 0 de la entrada analógica representa -‐30,0 grados C y 27648 representa 70,0 grados C.
• Para transformar el valor analógico en las correspondientes unidades de ingeniería, normalice la entrada a un valor entre 0,0 y 1,0 y a con4nuación escálelo entre -‐30,0 y 70,0. El valor resultante es la temperatura representada por la entrada analógica en grados Celsius:"
10/11/14
TEMA 6 PR
OGR
AMAC
IÓN AVA
NZA
DA. V
ISIÓN PRÁ
CTICA CO
N
S7-‐1200
15
Procesado de señales analógicas • FUNCIÓN DE CÁLCULO DE LA RECTA DE INTERPOLACIÓN CALCULATE
• La instrucción CALCULATE permite crear una función matemá4ca que se ejecuta con múl4ples 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á3cas, 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 4po de datos con el que se va a realizar la operación, desplegando el menu presente en “???”. En el caso de realizar escalado de valores analógicos, la operación debera realizarse en formato real.
10/11/14
TEMA 6 PR
OGR
AMAC
IÓN AVA
NZA
DA. V
ISIÓN PRÁ
CTICA CO
N
S7-‐1200
16
Procesado de señales analógicas • FUNCIÓN DE CÁLCULO DE LA RECTA DE INTERPOLACIÓN CALCULATE
• Posteriormente debera 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:
• Debera escribirse la ecuación en el formato esperado por la instrucción CALCULATE, por lo que podemos traducir la ecuación anterior a: • Out=((in4-‐in5)/(in2-‐in3))*(in1-‐in3)+in5
10/11/14
TEMA 6 PR
OGR
AMAC
IÓN AVA
NZA
DA. V
ISIÓN PRÁ
CTICA CO
N
S7-‐1200
17
Parám CALCU. Descripción
Ov Out Valor de salida escalado (Output value)
lv in1 Valor de entrada analógico (Input value)
Osh in2 Valor límite superior de la escala para el valor de salida escalado
Osl in3 Valor límite inferior de la escala para el valor de salida escalado
lsh in4 Valor límite superior de la escala para el valor de entrada analógico
lsl in5 Valor límite inferior de la escala para el valor de entrada analógico
Procesado de señales analógicas • Con lo que la ecuación quedará de la forma:
10/11/14
TEMA 6 PR
OGR
AMAC
IÓN AVA
NZA
DA. V
ISIÓN PRÁ
CTICA CO
N
S7-‐1200
18
• 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 4pos empleando la función CONVERT:
Procesado de señales analógicas • Una vez realizada la conversión de 4pos es posible rellenar la función CALCULATE y obtener el valor real en OUT correspondiente al dato real de medida del disposi4vo conectado a la entrada analógica. • En este caso, el valor unipolar (0-‐10V) presente en la entrada analógica IW64, conver4da
previamente a real en MD40, lo estamos escalando a un número real entre 0 y 760, que se volcará en el área de memoria MD50.
10/11/14
TEMA 6 PR
OGR
AMAC
IÓN AVA
NZA
DA. V
ISIÓN PRÁ
CTICA CO
N
S7-‐1200
19
Procesado de señales analógicas • EJEMPLO-‐ NORMALIZADO Y ESCALADO
• Una salida analógica de un módulo de señales analógicas o Signal Board que usa salida de intensidad se encuentra en el rango de valores validos entre 0 y 27648. Suponiendo que una salida analógica representa un ajuste de temperatura en la que el valor 0 de la salida analógica representa -‐30,0 grados C y 27648 representa 70,0 grados C.
• Para conver4r un valor de temperatura guardado que se encuentra entre -‐30,0 y 70 en un valor de salida analógica dentro del rango 0 y 27648, es necesario, normalizar el valor correspondiente a un valor entre 0,0 y 1,0 y a con4nuación escálarlo al rango de salida analógica, de 0 a 27648:
10/11/14
TEMA 6 PR
OGR
AMAC
IÓN AVA
NZA
DA. V
ISIÓN PRÁ
CTICA CO
N
S7-‐1200
20