You are on page 1of 20

10/11/14

Programacin Avanzada. Visin Prc4ca con S7-1200


PARTE 1: PROCESAMIENTO DE SEALES ANALGICAS

TEMA 6 PROGRAMACIN AVANZADA. VISIN PRCTICA CON S7-1200

Tema 7

10/11/14

Procesado de seales analgicas


A diferencia de una seal binaria, que solo puede adoptar los estados de
seal "Tensin presente +24V" y "Tensin no presente 0V", las seales
analgicas pueden adoptar cualquier valor dentro de un rango
determinado. Un ejemplo ]pico de sensor analgico es un
potencimetro. En funcin de la posicin del botn rota4vo, se puede
ajustar cualquier resistencia hasta un valor mximo.
Ejemplos de magnitudes analgicas en la tecnologa de control:

Temperatura -50 ... +150 C


Caudal 0 ... 200 l/min
Velocidad 500 ... 1500 rpm
Etc.

TEMA 6 PROGRAMACIN AVANZADA. VISIN PRCTICA CON


S7-1200

SEALES ANALGICAS

2
2

10/11/14

Procesado de seales analgicas


Estas magnitudes se transforman con un transductor de medida en
tensiones, intensidades o resistencias elctricas. Si se desea, p. ej.,
registrar una velocidad, el rango de velocidad de 500 ... 1500 rpm se
puede conver4r en un rango de tensin de 0 ... +10 V con un transductor
de medida. A una velocidad medida de 865 rpm, el transductor de
medida emi4ra un valor de tensin de +3,65 V.
500

865

1500 U/min

365

10V: 1000 U/min = 0,01 V/U/min

1000 U/min

365 U/min x 0,01 V/U/min = 3,65

10V
0V

+10V

Estas tensiones, intensidades y resistencias elctricas se conectan a un


mdulo analgico que digitaliza esta seal.
3

TEMA 6 PROGRAMACIN AVANZADA. VISIN PRCTICA CON


S7-1200

SEALES ANALGICAS

0A/0V

20mA/10V
10
V: 2048
10V:
2048==0,0048828
0,0048828

espueden
knnen
Spannungs Se
detectar
diferencias de <5
mV
en la tensin<5mV erkannt
unterschiede

11 Bit
0

2048

werden

Resolucin: Podemos denir la resolucin como el nmero de valores discretos capaz de ser
dis4nguidos de forma individual por el autmata en el rango de seal admisible por el
conver4dor analgico / digital.
4

10/11/14

SEALES ANALGICAS
Si se procesan magnitudes analgicas con un PLC, el valor de tensin, intensidad o
resistencia ledo debe conver4rse en informacin digital. Esta transformacin se
denomina conversin analgica-digital (conversin A/D). Esto signica que, p. ej., el
valor de tensin de 3,65 V se almacena como informacin en una serie de posiciones
binarias. Cuantas ms posiciones binarias se u4licen para la representacin digital,
ms na ser la resolucin. Si, por ejemplo, nicamente se dispone de 1 bit para el
rango de tensin 0 ... +10 V, solo se podra hacer una armacin: si la tensin 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 tecnologa de control trabajan con 8 o
con 11 bits.
As, 8 bits suponen una resolucin de 256 reas individuales y 11 bits, 2048 reas
individuales.

TEMA 6 PROGRAMACIN AVANZADA. VISIN PRCTICA CON


S7-1200

Procesado de seales analgicas

Tratar valores calculando la correspondencia entre la medida real,


seal analgica y rango en el formato del PLC es extremadamente
incmodo, ya que implica realizar varios clculos previos de cara a
realizar la comparacin
SLO SERA RAZONABLE EN CASO DE POCOS VALORES Y CONOCIDOS (p.e.
sensor ultrasnico que mide el nivel de un depsito y slo toma decisiones
respecto al rango de 50% del mismo).

En los demas casos -> hay 2 posibilidades


Implementar las operaciones aritm3cas correspondientes al tramiento
de datos dentro de programa de control del PLC
Realizar un escalado y normalizacin de valores.

La realizacin 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 760C) de
acuerdo a la resolucin del mismo, y poder realizar operaciones de
forma directa.
5

10/11/14
TEMA 6 PROGRAMACIN AVANZADA. VISIN PRCTICA CON
S7-1200

Procesado de seales analgicas

Parm.

Descripcin

Ov

Valor de salida escalado (Output value)

lv

Valor de entrada analgico (Input value)

Osh

Valor lmite superior de la escala para el valor de salida escalado

Osl

Valor lmite inferior de la escala para el valor de salida escalado

lsh

Valor lmite superior de la escala para el valor de entrada analgico

lsl

Valor lmite inferior de la escala para el valor de entrada analgico


Valor de Salida
Osh Escalado

Valor de Salida
Escalado

Ov

Osh
Valor de Entrada Osl
Analgico

Ov

Osl
lsl

lv

lsh

Valor de Entrada
Analgico
6

lv

lsl

lsh

10/11/14

La realizacin 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 760C) de acuerdo a la resolucin del mismo, y poder realizar operaciones de forma directa.

TEMA 6 PROGRAMACIN AVANZADA. VISIN PRCTICA CON


S7-1200

Procesado de seales analgicas

En algunos casos incluso sera necesario un escalado con desviacin, p.e. si el rango
de medida de disposi4vo de 4-20 mA, y el del PLC slo mide seales en corriente de
0 a 20 mA.
Esto signica que una medida de 4 mA del disposi4vo (cero en su medida), el PLC la
interpreta como un dato de seal 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
mnimo (0) de medida del disposi4vo.
Valor de Salida
Escalado
Osh
Ov

Osl
lsl

lv

Valor de Entrada
lsh Analgico

Lo que signica que el valor escalado puede ser calculado mediante la recta de
interpolacin lineal entre Osh y Ish, e Osl y Isl. Podemos calcular por tanto el valor de
acuerdo a la siguiente frmula:

10/11/14
TEMA 6 PROGRAMACIN AVANZADA. VISIN PRCTICA CON
S7-1200

Procesado de seales analgicas

10/11/14

Procesado de seales analgicas


En el caso del S7-1200 existen dos 4pos 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.

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,
op4mizando de esta forma el espacio ocupado por el conjunto.

TEMA 6 PROGRAMACIN AVANZADA. VISIN PRCTICA CON


S7-1200

S7 1200

8
SM 1231

SB 1232

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 conguradas 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. Para el caso de las
SB y los SM, la resolucin de las AI y AQ aumenta hasta los 12 bits, admi4endo tanto entrada en tensin como
en corriente.
Esto signica 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 variacin en el PLC
sera mayor como podemos ver en las caracters4cas: de 0 a 27648.

10/11/14

S7 1200

TEMA 6 PROGRAMACIN AVANZADA. VISIN PRCTICA CON


S7-1200

Procesado de seales analgicas

10/11/14

Procesado de seales analgicas


En el caso de las entradas AI integradas del S7-1200, se han eliminado los ajustes de ganancia y oset 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 modicado el rango para
contemplar sobreimpulsos y excesos de seal (valores de entrada en tensin por encima de los 10 V).
De esta forma, por ejemplo en el rango de 0-10 Vcc comprende las seales entre 0 y 27648
(UNIPOLARES) y en el rango de 10Vcc comprende las seales entre -27648 y 27648 (BIPOLARES)

TEMA 6 PROGRAMACIN AVANZADA. VISIN PRCTICA CON


S7-1200

S7 1200

10

Al agregar una CPU a STEP7, se asignan autom4camente las direcciones de entrada


(I) y salida (Q). El direccionamiento predeterminado puede no obstante cambiarse
seleccionando el campo de direccin en la ventana de conguracin de la vista
general de disposi4vos 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:

En el caso de emplear SBs o SMs con


entradas / salidas analgicas adicionales,
las mismas ser igualmente congurables
desde la vista general de disposi4vos:

Por defecto vienen asignadas como AI2_1: 64...67.


Esto quiere decir que las entradas analgicas en el
S7-1200 ocuparn los canales: IW64 y IW66

10/11/14

S7 1200

TEMA 6 PROGRAMACIN AVANZADA. VISIN PRCTICA CON


S7-1200

Procesado de seales analgicas

11

En este ejemplo, con un bit


asociado en conguracin 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 n (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

S7 1200

TEMA 6 PROGRAMACIN AVANZADA. VISIN PRCTICA CON


S7-1200

Procesado de seales analgicas

12

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:
Funciones de normalizacin y escalado: NORM_X y SCALE_X.
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 denir los
lmites de un rango de valores que se reeja 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 otante 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 nmero real entre 0 y 1 que se deposita en MD0.

10/11/14

S7 1200

TEMA 6 PROGRAMACIN AVANZADA. VISIN PRCTICA CON


S7-1200

Procesado de seales analgicas

13

10/11/14

Procesado de seales analgicas


Funciones de normalizacin y escalado: NORM_X y SCALE_X.
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 otante de la
entrada VALUE se escala al rango de valores denido por los parmetros MIN y MAX. El
resultado de la escala es un nmero 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 habilitacin, todo el proceso puede recogerse en un solo Network
de la siguiente forma:

TEMA 6 PROGRAMACIN AVANZADA. VISIN PRCTICA CON


S7-1200

S7 1200

14

10/11/14

Procesado de seales analgicas


Una entrada analgica de un mdulo de seales analgicas o Signal Board que
usa entrada de intensidad se encuentra en el rango de valores validos entre 0 y
27648. Suponiendo que una entrada analgica representa una temperatura en la
que el valor 0 de la entrada analgica representa -30,0 grados C y 27648
representa 70,0 grados C.
Para transformar el valor analgico en las correspondientes unidades de
ingeniera, normalice la entrada a un valor entre 0,0 y 1,0 y a con4nuacin
esclelo entre -30,0 y 70,0. El valor resultante es la temperatura representada
por la entrada analgica en grados Celsius:"

TEMA 6 PROGRAMACIN AVANZADA. VISIN PRCTICA CON


S7-1200

EJEMPLO- NORMALIZADO Y ESCALADO

15

10/11/14

Procesado de seales analgicas


La instruccin CALCULATE permite crear una funcin matem4ca que se
ejecuta con ml4ples parmetros de entrada para obtener el resultado
en funcin de la ecuacin denida.
La funcin es accesible desde el rbol de instrucciones bsicas de las Task
Cards, dentro de Funciones matem3cas, o bien directamente insertando
un bloque de funcin sin denir y escribiendo el nombre de la misma.
La instruccin no congurada ofrece dos parmetros de entrada y uno de
salida. El primer paso es seleccionar el 4po de datos con el que se va a
realizar la operacin, desplegando el menu presente en ???. En el caso de
realizar escalado de valores analgicos, la operacin debera realizarse en
formato real.

TEMA 6 PROGRAMACIN AVANZADA. VISIN PRCTICA CON


S7-1200

FUNCIN DE CLCULO DE LA RECTA DE INTERPOLACIN CALCULATE

16

10/11/14

Procesado de seales analgicas


Posteriormente debera accederse al botn introducir ecuacin visible
en la gura superior, debiendo introducir la ecuacin de la recta
genrica de interpolacin para el escalado de valores:
Debera escribirse la ecuacin en el formato esperado por la instruccin
CALCULATE, por lo que podemos traducir la ecuacin anterior a:
Out=((in4-in5)/(in2-in3))*(in1-in3)+in5

Parm CALCU. Descripcin


Ov

Out

Valor de salida escalado (Output value)

lv

in1

Valor de entrada analgico (Input value)

Osh

in2

Valor lmite superior de la escala para el valor de salida escalado

Osl

in3

Valor lmite inferior de la escala para el valor de salida escalado

lsh

in4

Valor lmite superior de la escala para el valor de entrada analgico

lsl

in5

Valor lmite inferior de la escala para el valor de entrada analgico

TEMA 6 PROGRAMACIN AVANZADA. VISIN PRCTICA CON


S7-1200

FUNCIN DE CLCULO DE LA RECTA DE INTERPOLACIN CALCULATE

17

10/11/14

Procesado de seales analgicas

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 4pos
empleando la funcin CONVERT:

TEMA 6 PROGRAMACIN AVANZADA. VISIN PRCTICA CON


S7-1200

Con lo que la ecuacin quedar de la forma:

18

Una vez realizada la conversin de 4pos es posible rellenar la funcin CALCULATE y


obtener el valor real en OUT correspondiente al dato real de medida del disposi4vo
conectado a la entrada analgica.
En este caso, el valor unipolar (0-10V) presente en la entrada analgica IW64, conver4da
previamente a real en MD40, lo estamos escalando a un nmero real entre 0 y 760, que se
volcar en el rea de memoria MD50.

10/11/14
TEMA 6 PROGRAMACIN AVANZADA. VISIN PRCTICA CON
S7-1200

Procesado de seales analgicas

19

10/11/14

Procesado de seales analgicas


Una salida analgica de un mdulo de seales analgicas o Signal Board que usa
salida de intensidad se encuentra en el rango de valores validos entre 0 y 27648.
Suponiendo que una salida analgica representa un ajuste de temperatura en la
que el valor 0 de la salida analgica 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 analgica dentro del rango 0 y 27648, es necesario,
normalizar el valor correspondiente a un valor entre 0,0 y 1,0 y a con4nuacin
esclarlo al rango de salida analgica, de 0 a 27648:

TEMA 6 PROGRAMACIN AVANZADA. VISIN PRCTICA CON


S7-1200

EJEMPLO- NORMALIZADO Y ESCALADO

20

You might also like