Sie sind auf Seite 1von 20

TECSUP Sistemas mecatrónicos industriales

UNIDAD VI

PROGRAMACIÓN AVANZADA CON PLC

1. TIPOS DE SEÑALES

Las entradas y salidas de las señales eléctricas se pueden dividir fundamentalmente


en dos grupos:

SEÑAL BINARIO

La señal binaria sólo puede admitir dos estados. Estos son:

Estado “1” = presencia de tensión = p.e. interruptor ON


Estado “0” = ninguna presencia de tensión = p.e. interruptor OFF

En regulación técnica se utiliza con frecuencia una tensión continua de 24 V como


“tensión de regulación”. Un nivel de tensión de +24 V en un borne de entrada indica un
estado „1„. Análogamente, una tensión de 0V indica un estado „0„. Se tiene que tener
conocimiento, si un transmisor se refiere a un contacto abierto a un contacto cerrado.
Un contacto abierto suministra en “caso activo”, es decir si está ocupado, una señal
„0„. Se designa esta conexión como „activo 0„ o „activo low„. Análogamente un
contacto cerrado es „activo 1„ / „activo high„, y entrega una señal „1„, si esta ocupado.
Generalmente los transmisores de señal están en „activo 1„. Una aplicación típica para
un transmisor „activo 0„ es un interruptor de emergencia. Un interruptor de emergencia
está siempre desaccionado ( botón de emergencia sin apretar), es decir, entrega una
señal „1„ cuando se cierra la entrada (seguridad por rotura). Se ha de provocar la
actuación de un interruptor de emergencia en determinadas reacciones (p.e. cerrar
todas las válvulas), donde la señal tiene que ser „0„.

171
Sistemas mecatrónicos industriales TECSUP

Posición binaria:
Una señal binaria sólo puede tener 2 valores, “0” o “1”. Se caracteriza también por su
posición binaria y recibe en el lenguaje técnico el nombre de Bit.

La agrupación de más señales binarias representan, en una determinada codificación


(código), una señal digital. Mientras una señal binaria sólo comprende dos
posibilidades (p.e. puerta cerrada / puerta abierta), a través de la combinación de las
posiciones binarias se pueden formar número y cifras (información digital).
La combinación de n posiciones binarias permite la representación de 2n diferentes
combinaciones.

Así pues por ejemplo, con 2 posiciones binarias 2x2, se obtienen 4 posibles
soluciones:

0 0 Información1 (p.e. ambos interruptores abiertos)


0 1 Información2 (interruptor 1 cerrado / interruptor 2 abierto)
1 0 Información3 (interruptor 1 abierto / interruptor 2 cerrado)
1 1 Información4 (ambos interruptores cerrados)

SEÑAL ANALÓGICO

Al contrario que para una señal binaria, que sólo puede tener dos estados, presencia
de tensión +24V y ninguna presencia de tensión 0V las señales analógicos pueden
comprender un determinado dominio de valores. Un típico ejemplo para un transmisor
analógico es un potenciómetro. Con el posicionamiento del botón de giro se puede
poder una resistencia hasta su valor máximo.

Ejemplos para medidas analógicos en la regulación técnica:

 Temperatura -50 ... +150°C


 Paso de circulación 0 ... 200l/min
 Número de revoluciones 500 ... 1500 U/min
 etc.

Estas medidas se convierten, con la ayuda de un convertidor de medición, en


tensiones eléctricas, corrientes o resistencias. Para captar un número de revoluciones,
se puede transforma un rango de revoluciones de 500... 1500 U/min, con un
convertidor, a un rango de tensión de 0...+10V.
Para la medida de las revoluciones de 865 U/min, un convertidor de valor de tensión
debería dar una tensión de +3,65 V.

172
TECSUP Sistemas mecatrónicos industriales

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

Para trabajar con medidas analógicas en un PLC, se han de convertir los valores de
tensión, corriente o resistencia en una información digital. Esta conversión se obtiene
con un conversor analógico – digital (Conversor A/D). Esto significa, que p.e. el valor
de tensión de 3,65 V en una línea en posición binaria se guarda como información.
Cuantas más posiciones binarias se utilicen para la representación digital, más precisa
será la resolución. Si se dispusiera p.e. para el rango de tensión 0…+10V de un sólo
1 Bit, sólo se podría realizar una declaración, si el rango de tensión está comprendido
entre 0…+5V o entre +5V…+10V. Con 2 bits se puede dividir el rango en 4 partes, es
decir 0... 2,5 / 2,5... 5 / 5... 7,5 / 7,5... 10V. Los convertidores de corriente A/D en la
regulación técnica convierten con 8 o 11 bit.

A continuación se obtiene con 8 bit 256 partes y con 11 bit una resolución de 2048.

0A/0V 20mA/10V
10V: 2048 = 0,0048828
 Se pueden distingir
11 Bit
diferentes tensiones <=5mV
0 2048

2. SISTEMA NUMERICO

Para la adaptación de la dirección en una célula de memoria, entradas ,salidas,


tiempos, marcas, etc... A través de un controlador lógico programable (autómata) no
se utiliza el sistema decimal, sino el sistema binario.

SISTEMA DECIMAL

Para comprender el sistema numérico binario es necesario antes de nada, considerar


el sistema decimal.
Aquí se ha de clasificar el número 215. El 2 corresponde a las centenas, el 1 a las
decenas y el 5 a las unidades. En realidad se ha de escribir 215 como: 200+10+5. Se
ha de escribir la expresión 200+10+5, como abajo está representada, con ayuda del
número elevado a 10.

173
Sistemas mecatrónicos industriales TECSUP

Cada cifra dentro del número decimal está clasificada en un número elevado a la
décima potencia.

SISTEMA NUMÉRICO BINARIO

El sistema numérico binario reconoce sólo las cifras 0 y 1, que en la elaboración de


datos técnicos
Es fácil representable y utilizable. Por lo tanto, esto es un sistema numérico binario.

Las posiciones de los valores en el sistema binario se clasifican, como se describe a


continuación, en potencias de dos.

Cada cifra dentro del número binario está clasificada en un número elevado a la
décima de 2.

CÓDIGO BCD (CÓDIGO 8-4-2-1)

Para representar importantes valores numéricos ordenadamente, se utiliza con


frecuencia el código BCD (codificación-binaria-decimal). Los números decimales se
representan con la ayuda del sistema numérico binario. La cifra decimal con el valor
174
TECSUP Sistemas mecatrónicos industriales

más alto es el 9. Para la representación del número 9 se necesita la potencia de dos


hasta 23 , por lo tanto, en total se necesitan 4 posiciones.

Para la descripción de la cifra decimal más grande de 4 posiciones binarias, se


designa para cada cifra decimal una unidad de 4 posiciones, llamada tétrada. El
código BCD es por lo tanto un código de 4 bits.

Cada número decimal se codifica por separado. El número 255 está formado p.e. por 3
cifras decimales. Cada cifra decimal esta representada en código BCD como una
unidad con 4 posiciones (tétrada).

Cada cifra decimal se representa con un código propio a través de una tétrada.

SISTEMA HEXADECIMAL

El sistema hexadecimal pertenece a los sistemas numéricos. Como valor se utilizan


las potencias de 16 números. El sistema hexadecimal es por lo tanto un sistema
numérico dieciseisavo.
Cada posición dentro de un número hexadecimal se clasifica en una potencia
dieciseisava. Se necesitan con el 0 16 cifras. Para las cifras de 0 a 9 se utiliza el
sistema decimal y para las cifras de 10 a 15 las letras A, B, C, D, E y F.

Cada cifra dentro del número hexadecimal está clasificada en una potencia de número
16.

175
Sistemas mecatrónicos industriales TECSUP

DESCRIPCIÓN DEL SISTEMA NUMÉRICO

3. REGLAS DE CONVERSIÓN

La conversión entre diferentes sistemas numéricos se base en reglas sencillas.


El usuario del PLC debería controlarlas, ya que estas conversiones se usan con
frecuencia.
La identificación del sistema numérico, sobre el cual se fundamenta el número
entregado, es un subíndice que se coloca a la derecha del número.
Con eso se coloca una D„ para decimales, una „B„ para binarios y una „H„ para
hexadecimales. Esta identificación es a menudo necesaria, ya que conforme se van
considerando sistemas numéricos, es precisa una completa distinción de los valores.

Así es p.e. „111„, el valor en sistema decimal es 111D (ciento once), en binario 111B ,
en valor decimal sería 7 (1x20 + 1x 21 + 1x22) y el número hexadecimal 111H ,en valor
decimal sería 273 (1x160 + 1x161 + 1x 162).

Conversión decimal  binario

El número completo decimal se divide en base 2, hasta que el resultado sea nulo.

176
TECSUP Sistemas mecatrónicos industriales

De ahí que el resto de la división (0 o 1) resulta un número binario. Hay que observar
el contenido del „Resto”. El resto de la primera división es el primer bit de la derecha.
(El valor más bajo del bit).

El número decimal 123 se debe transformar en su correspondiente número binario:

Prueba:
1 1 1 1 0 1 1
1x26 + 1x25 + 1x24 + 1x23 + 0x22 + 1x21 + 1x20
64 + 32 + 16 + 8 + 0 + 2 + 1 = 123

Conversión decimal  hexadecimal


La conversión se realiza igual que la conversión decimal  binario. Con la diferencia,
que en vez de utilizar base 2 se utiliza base 16. Por eso se ha de dividir por 16, en vez
de por 2.

El número decimal 123 se debe transformar en su correspondiente número


hexadecimal:

177
Sistemas mecatrónicos industriales TECSUP

Prueba:
7 B
7x161 + 11x160
112 + 11 = 123

Conversión binario  hexadecimal


Para la conversión de un número binario en uno hexadecimal se podría en primer
lugar examinar el valor decimal del número binario. Este número decimal se podría
entonces transformar con ayuda de la división por 16 en un número hexadecimal.
Pero también existe otra posibilidad, se puede deducir directamente desde el número
binario el valor en hexadecimal.
Para esto se ha de dividir primero el número binario empezando por la derecha en
cuatro grupos. Cada uno de estos grupos da como resultado una cifra en el sistema
hexadecimal. En los casos necesarios se ha de rellenar en el grupo de la izquierda las
carencias de bits con ceros.

El número binario 1111011 se ha de transformar directamente en un número Hex.:

1 1 1 1 0 1 1B

0 1 1 1 1 0 1 1

0x23 + 1x22 + 1x21 + 1x20 1x23 + 0x22 + 1x21 + 1x20

7 B H

4. CONCEPTOS SOBRE LA INFORMÁTICA

En relación con los autómatas se utilizan con frecuencia sobre los datos, así como el
proceso de la información, los conceptos como BIT, BYTE y WORT.

BIT

Bit es la abreviatura de cifra binaria. El BIT es la unidad de información binaria más


pequeña ( dos valores), el cual puede admite los estados de señal "1" o "0".

Valor de tensión 1
24 V

0V
Valor de tensión 0

178
TECSUP Sistemas mecatrónicos industriales

BYTE

Para una unidad de 8 signos binarios está el concepto BYTE. Un byte tiene una
dimensión de 8 bits.

B YT E 0 1 0 1 1 0 0 1
Estado del señal

WORD

Una palabra es una sucesión de signos binarios, los cuales se consideran en una
determinada relación como una unidad. A la longitud de la palabra le corresponde un
número de 16 signos binarios.
Con palabras se pueden p.e. representar:

Estado de la señal

WORD 0 1 0 0 1 1 0 1 1 1 0 0 0 1 1 0

1 1
Una
palabra tiene por lo tanto el tamaño de 2 bytes o 16 bits.

DOBLE PALABRA

A una doble palabra le corresponde una longitud de palabra de 32 signos binarios.


Una doble palabra tiene por lo tanto un tamaño de 2 palabras, 4 bytes o 32 bits.
Otras unidades son Kilo-bit o Kilo-byte para 210, es decir 1024 Bit o en su caso 1024
Byte y el Mega-bit o el Mega-byte para 1024 Kilo-bit o en su caso 1024 Kilo- byte.

5. TIPOS DE DATOS EN STEP7

En SIMATIC S7 existen diferentes tipos de datos, bajo los cuales pueden


representarse diferentes formatos numéricos. A continuación, se muestra una lista
completa de los tipos de datos

179
Sistemas mecatrónicos industriales TECSUP

Tipo y Tam Formato- Rango y notación Ejemplo


descripción año Opciones numérica
en (Valores máximo y
Bits mínimo)
BOOL (Bit) 1 Texto TRUE/FALSE TRUE
Booleano
BYTE (Byte) 8 Número B#16#0 a B#16#FF B#16#10
Hexadecim
al
WORD 16 Número 2#0 a 2#0001_0000_0000_0000
(Palabra) Binario 2#1111_1111_1111_111
1
Número W#16#0 a W#16#FFFF W#16#1000
Hexadecim
al
BCD C#0 a C#999 C#998
Número B#(0,0) a B#(255,255) B#(10,20)
Decimal
sin signo
DWORD 32 Número 2#0 a 2#1000_0001_0001_1000_101
(Doble Binario 2#1111_1111_1111_111 1_1011_0111_1111
Palabra) 1_1111_1111_1111_111
1
Número DW#16#0000_0000 a DW#16#00A2_1234
Hexadecim DW#16#FFFF_FFFF
al
Número B#(0,0,0,0) a B#(1,14,100,120)
Decimal B#(255,255,255,255)
sin signo
INT (Entero) 16 Número -32768 a 32767 1
Decimal
con signo
DINT (Int,32 32 Número L#-2147483648 a L#1
bit) Decimal L#2147483647
con signo
REAL 32 Número en Máximo: +/- 1.234567e+13
(Número en coma 3.402823e+38
coma flotante) flotante Mínimo: +/-1.175495e-38
IEEE
S5TIME 16 Tiempo S7 S5T#0H_0M_0S_10MS a S5T#0H_1M_0S_0MS
(Tiempo en pasos S5T#2H_46M_30S_0MS S5TIME#1H_1M_0S_0MS
180
TECSUP Sistemas mecatrónicos industriales

Simatic) de 10 ms and
S5T#0H_0M_0S_0MS
TIME 32 Tiempo - T#0D_1H_1M_0S_0MS
(Tiempo IEC) IEC en T#24D_20H_31M_23S_6 TIME#0D_1H_1M_0S_0MS
pasos 48MS a
desde T#24D_20H_31M_23S_6
1ms, 47MS
entero con
signo
DATE 16 Fecha IEC D#1990-1-1 a D#2168- DATE#1994-3-15
(Fecha IEC) en pasos 12-31
de 1 día
TIME_OF_DA 32 Tiempo en TOD#0:0:0.0 a TIME_OF_DAY#1:10:3.3
Y (Fecha y pasos de TOD#23:59:59.999
Hora) 1ms
CHAR 8 Caracteres ´A´, ´B´ etc. ´B´
(Carácter) ASCII

Nota: Para el procesamiento de valores analógicos, los tipos de datos INT y REAL
juegan un papel fundamental, porque los valores analógicos introducidos existen como
valores reales en el formato INT. Debido a errores de redondeo por el tipo INT, sólo
los números reales REAL entran en juego para un posterior procesamiento preciso.

6. OPERACIONES MATEMATICAS

CALCULOS CON NÚMEROS ENTEROS (INT Y DINT)

Con números enteros, son posibles las operaciones unitarias matemáticas de suma,
resta, multiplicación y división. No obstante, no se tienen en cuenta los lugares tras el
punto decimal, lo cual genera errores de redondeo con la división.

181
Sistemas mecatrónicos industriales TECSUP

Operación Tamaño en Función


Bits
+I 16 Suma el contenido de la palabra baja de los ACCUs 1 y 2 y
guarda el resultado el la palabra baja del ACCU 1.
-I 16 Resta el contenido de la palabra baja de los ACCUs 1 y 2 y
guarda el resultado el la palabra baja del ACCU 1.
*I 16 Multiplica el contenido de la palabra baja de los ACCUs 1 y 2 y
guarda el resultado (32 Bit) en ACCU 1.
/I 16 Divide el contenido de la palabra baja del ACCU 2 con la
palabra baja del ACCU 1. El resultado es almacenado en la
palabra baja del ACCU 1. El resto es almacenado en la palabra
alta del ACCU 1.

+D 32 Suma los contenidos de los ACCUs 1 y 2 en el ACCU 1.


-D 32 Resta los contenidos de los ACCUs 1 y 2 en el ACCU 1.
*D 32 Multiplica los contenidos de los ACCUs 1 y 2 en el ACCU 1.
/D 32 Divide el contenido del ACCU 2 con el contenido del ACCU 1 y
guarda el resultado en el ACCU 1.
MOD 32 Divide el contenido del ACCU 2 con el contenido del ACCU 1 y
guarda el resto en el ACCU 1.

CÁLCULO CON NÚMEROS EN COMA FLOTANTE (REAL)

Con números en coma flotante, se pueden elaborar múltiples operaciones


Matemáticas. Aquí se consideran las posiciones a la derecha del punto decimal.

182
TECSUP Sistemas mecatrónicos industriales

Operación Función
+R Suma de números en coma flotante (32 Bit, IEEE-FP) contenidos en los
ACCUs 1 y 2 y guarda el resultado (32 bits) en el ACCU 1.
-R Resta de números en coma flotante (32 Bit, IEEE-FP) contenidos en los
ACCUs 1 y 2 y guarda el resultado (32 bits) en el ACCU 1.
*R Multiplicación de números en coma flotante (32 Bit, IEEE-FP) contenidos
en los ACCUs 1 y 2 y guarda el resultado (32 bits) en el ACCU 1.
/R División de números en coma flotante (32 Bit, IEEE-FP). Se divide el
contenido del ACCU 2 por el del ACCU 1. El resultado (32 bits) se
guarda en el ACCU 1.
SQRT Calcula la raíz cuadrada del número en coma flotante (32 Bit, IEEE-FP)
contenido en el ACCU 1 y guarda el resultado (32 bits) en el ACCU 1.
SQR Calcula el cuadrado del número en coma flotante (32 Bit, IEEE-FP)
contenido en el ACCU 1 y guarda el resultado (32 bits) en el ACCU 1.
LN Calcula el logaritmo neperiano del número en coma flotante (32 Bit,
IEEE-FP) contenido en el ACCU 1 y guarda el resultado (32 bits) en el
ACCU 1.
EXP Calcula el número e del número en coma flotante (32 Bit, IEEE-FP)
contenido en el ACCU 1 y guarda el resultado (32 bits) en el ACCU 1.
SIN Calcula el seno del número en coma flotante (32 Bit, IEEE-FP) contenido
en el ACCU 1 y guarda el resultado (32 bits) en el ACCU 1.
COS Calcula el coseno del número en coma flotante (32 Bit, IEEE-FP)
contenido en el ACCU 1 y guarda el resultado (32 bits) en el ACCU 1.
TAN Calcula la tangente del número en coma flotante (32 Bit, IEEE-FP)
contenido en el ACCU 1 y guarda el resultado (32 bits) en el ACCU 1.
ASIN Calcula el arcoseno del número en coma flotante (32 Bit, IEEE-FP)
contenido en el ACCU 1 y guarda el resultado (32 bits) en el ACCU 1.
ACOS Calcula el arcocoseno del número en coma flotante (32 Bit, IEEE-FP)
contenido en el ACCU 1 y guarda el resultado (32 bits) en el ACCU 1.
ATAN Calcula el arcotangente del número en coma flotante (32 Bit, IEEE-FP)
contenido en el ACCU 1 y guarda el resultado (32 bits) en el ACCU 1.

TIPOS DE DATOS- OPERACIONES DE CONVERSIÓN

Dado que frecuentemente los números no existen para posteriores procesamientos de


formatos numéricos, estos números deben de ser ajustados con la ayuda de
operaciones de conversión.

183
Sistemas mecatrónicos industriales TECSUP

Operación Función
BTI Conversión BCD a entero (16 Bit). Esta operación convierte un número BCD
contenido en el
ACCU 1 en un entero (16 Bit). El resultado se deposita en el ACCU1
BTD Conversión BCD a entero (32 Bit). Esta operación convierte un número BCD
contenido en el
ACCU 1 en un entero (32 Bit). El resultado se deposita en el ACCU1
ITB Entero (16 Bit) convertido a BCD. Esta operación convierte un número entero
(16 bits) contenido en el ACCU 1 en un número BCD. El resultado se deposita
en el ACCU1

ITD Entero (16 Bit) convertido a entero (32 bits). Esta operación convierte un
número entero (16 bits) contenido en el ACCU 1 en un número entero (32
bits). El resultado se deposita en el ACCU1
DTB Entero (32 Bit) convertido a BCD. Esta operación convierte un número entero
(32 bits) contenido en el ACCU 1 en un número BCD. El resultado se deposita
en el ACCU1
DTR Entero (16 Bit) convertido a real (32 bits, IEEE-FP). Esta operación convierte
un número entero (16 bits) contenido en el ACCU 1 en un número real (32 bits,
IEEE-FP). El resultado se deposita en el ACCU1 (32 Bit, IEEE-FP).
RND Redondeo a entero. Esta operación redondea el número convertido al entero
superior.
Cuando la fracción del número convertido sea de 5 o superior, se redondea al
entero superior.
RND+ Redondeo al siguiente entero superior. Esta operación redondea el número
convertido al siguiente entero superior.
RND- Redondeo al entero inferior. Esta operación redondea el número convertido al
valor de su parte entera.
TRUNC Redondeo truncado. Esta operación toma sólo la parte entera del número.

Nota: En el caso de procesamiento del valor analógico, dicho valor analógico se


muestra en formato INT y debería ser convertido a formato real para
posteriores operaciones con precisión. Dado que dicha conversión no es
directa, el valor se convertirá primero a DINT con ITD y después a REAL con
DTD.

7. VALORES ANALÓGICOS DE ENTRADA SALIDA

Los valores analógicos son introducidos en el PLC como información en tamaño


palabra. El acceso a esta palabra se realiza con las instrucciones:

184
TECSUP Sistemas mecatrónicos industriales

L PEW x para „Cargar Palabra Analógica de Entrada‟


T PAW x para „Cargar Palabra Analógica de Salida‟

Cada valor analógico (“Canal“) corresponde a una palabra de entrada-salida. El


formato es entero INT.

El direccionamiento de las palabras de entrada/salida analógicas depende de la


dirección de comienzo del módulo. Si el módulo analógico se coloca en el slot 4, su
dirección de comienzo estándar es 256. La dirección de comienzo de cada módulo
adicional se incrementa en 16 bytes. Esta dirección estándar se puede comprobar en
la tabla de configuración hardware en la vista detallada.

Por ejemplo, la dirección de comienzo del primer canal del módulo de entradas
analógicas colocado en el slot 6 del rack es la PEW 288. El segundo canal tiene la
dirección PEW 290. Si el módulo fuera de entradas/salidas analógicas, el primer canal
de salidas analógicas sería el PAW 288, etc. .

El proceso de transformación del valor analógico para el posterior procesamiento en el


PLC (digitalización) es el mismo tanto para entradas como para salidas.
Para el módulo SM334, con 4 entradas y 2 salidas analógicas, con rango de
tolerancias de 0 a 10V y de 20mA, respectivamente, el valor digitalizado se muestra
de la siguiente forma:

Estos valores digitalizados deberán normalizarse en posteriores procesos en el PLC.

8. ENTRADA Y VALOR ANALÓGICO NORMALIZADO

Si un valor analógico es presentado como valor digitalizado, deberá normalizarse


antes de ser procesado por el PLC.

De la misma forma, el valor de salida analógica del módulo de periferia es obtenido a


través de un desescalado.

En un programa STEP 7, la normalización es exigida en la operación matemática.


Por esta razón, la operación matemática debe ser tan precisa como sea posible. Los
valores que van a ser normalizados deben de ser convertidos a formato REAL para
minimizar los errores de redondeo.

185
Sistemas mecatrónicos industriales TECSUP

Ejercicio:

En el ejemplo siguiente, se introduce un valor de entrada analógica (rango de 0 a 10V)


con un módulo analógico SM334 en el slot 6 (PEW288). Éste valor es representado
como INT (16 Bits) y deberá normalizarse en un rango de 100 a 1000 en formato
REAL, almacenándose después el resultado en la doble palabra de marcas MD10.

Solución en AWL:

L PEW 288 //Valor analógico de entrada de 0 a 10 V: contiene valores


enteros de 0 a 27648 (16 Bits)
ITD //Conversión de entero (16 Bits) a entero (32 Bits)
DTR //Conversión de entero (32 Bits) a valor real
L 2.7648e+4 //
/R //División con el número real 27648
L 9.000e+2 //
*R // Multiplicación con el número real 900 (1000-100)
L 1.000e+2 //
+R // Suma con el número real 100 (Deriva)
T MD10 // Valor normalizado 100 a 1000 en formato real

9. NORMALIZACIÓN Y VALOR ANALOGICO DE SALIDA

Si se va a utilizar un valor estandarizado en un canal analógico de salida, éste deberá


de procesarse.
En un programa STEP 7, la normalización es exigida en la operación matemática.
Por esta razón, la operación matemática debe ser tan precisa como sea posible. Los
valores que van a ser normalizados deben de ser convertidos de formato REAL a INT
para minimizar los errores de redondeo. Los decimales que van después del punto se
pierden.

Ejemplo:

En el ejemplo siguiente, se almacena un valor de 100 a 1000 en formato real en la


doble palabra de marcas MD20 y se emitirá su valor normalizado de 0 a 10V en un
módulo analógico de salidas SM334 (PAW288) .

Solución en AWL:

L MD20 // Valor de 100 a 1000 en formato real


L 1.000e+2 //
-R // Resta con el valor real 100.0 (Deriva)
L 9.000e+2 //
/R // División con el valor real 900.0
L 2.7648e+4 //
186
TECSUP Sistemas mecatrónicos industriales

*R // Multiplicación con el valor real 27648.0


RND // Redondeo a entero
T PQW 288 // El número entero de 0 a 27648 (16 Bits) corresponde al
valor analógico de salida de 0 a 10 V

10. ESCALAR VALORES (SCALE): FC 105

La función ”Escalar valores” (SCALE) toma un valor entero en la entrada IN y lo


convierte en un valor real, convirtiéndolo a escala en un rango comprendido entre un
límite inferior y un límite superior (LO_LIM y HI_LIM). El resultado se escribe en la
salida OUT. La función SCALE aplica la fórmula siguiente:

OUT = [ ((FLOAT (IN) – K1)/(K2–K1)) * (HI_LIM–LO_LIM)] + LO_LIM


Las constantes K1 y K2 se aplican de forma diferente, dependiendo de si el valor de
entrada es BIPOLAR o UNIPOLAR.

• BIPOLAR: Se supone que el valor entero de entrada debe estar entre


–27648 y 27648, por lo tanto, K1 = –27648,0 y K2 = +27648,0
• UNIPOLAR: Se supone que el valor entero de entrada debe estar entre
0 y 27648, por lo tanto, K1 = 0,0 y K2 = +27648,0

Si el valor entero de entrada es mayor que K2, la salida (OUT) se une a HI_LIM y se
indica un error. Si el valor entero de entrada es menor que K1, la salida se une a
LO_LIM y se indica un error.

Se puede efectuar la conversión escalar inversa programando los límites de tal forma
que el límite inferior sea mayor que el límite superior (LO_LIM > HI_LIM).
En la conversión escalar inversa el valor de la salida disminuye cuando aumenta el
valor de la entrada.

En la tabla se describen los parámetros de la función ”Escalar valores” (SCALE).

187
Sistemas mecatrónicos industriales TECSUP

Información sobre errores:

Si el valor entero de entrada es mayor que K2, la salida (OUT) se une a HI_LIM y se
indica un error. Si el valor entero de entrada es menor que K1, la salida se une a
LO_LIM y se indica un error. El estado de señal de la salida de habilitación (ENO) se
pone a 1 y el valor de respuesta (RET_VAL) toma el valor W#16#0008.

Ejemplo:

La figura muestra cómo opera la función ”Escalar valores” (SCALE). La función se


ejecuta cuando el estado de señal de la entrada E 0.0 es 1 (activada). En este
ejemplo, el valor entero 22 se convierte en un valor REAL escalar entre 0.0 y 100.0,
y éste se escribe en la salida OUT. El valor de entrada es BIPOLAR, tal como lo indica
el estado de señal de la entrada E2.0.
Si la función se ejecuta sin errores, los estados de señal de la salida de habilitación
(ENO) y de la salida A 4.0 se ponen a 1 (activadas), y el valor de respuesta toma el
valor W#16#0000.

11. DESESCALAR VALORES (UNSCALE): FC 106

Descripción

La función ”Desescalar valores” (UNSCALE) toma en la entrada IN un valor real que


está ajustado a escala en un rango comprendido entre un límite inferior y un límite

188
TECSUP Sistemas mecatrónicos industriales

superior (LO_LIM y HI_LIM), y lo convierte en un valor entero. El resultado se escribe


en la salida OUT. La función UNSCALE aplica la fórmula siguiente:

OUT = [((IN–LO_LIM)/(HI_LIM–LO_LIM)) * (K2–K1) ] + K1


Las constantes K1 y K2 se aplican de forma diferente, dependiendo de si el valor de
entrada es BIPOLAR o UNIPOLAR.

• BIPOLAR: Se supone que el valor entero de salida debe estar entre –27648 y 27648,
por lo tanto, K1 = –27648,0 y K2 = +27648,0

• UNIPOLAR: Se supone que el valor entero de salida debe estar entre 0 y 27648, por
lo tanto, K1 = 0,0 y K2 = +27648,0

Si el valor real de entrada queda fuera del rango comprendido entre los límites
inferiores y superior de su tipo (BIPOLAR o UNIPOLAR), la salida (OUT) se fija al valor
límite más cercano (a LO_LIM o a HI_LIM), y se devuelve un error.

Parámetros:

En la tabla se describen los parámetros de la función ”Desescalar valores”


(UNSCALE).

Información sobre errores

Si el valor real de entrada queda fuera del rango comprendido entre los límites inferior
y superior de su tipo (BIPOLAR o UNIPOLAR), la salida (OUT) se une al valor límite
más cercano (a LO_LIM o a HI_LIM), y se devuelve un error. El estado de señal de la
salida de habilitación (ENO) se pone a 0, y el valor de respuesta
(RET_VAL) toma el valor W#16#0008.

189
Sistemas mecatrónicos industriales TECSUP

Ejemplo

La figura muestra cómo opera la función ”Desescalar valores” (UNSCALE).


La función se ejecuta cuando el estado de señal de la entrada E 0.0 es 1 (activada).
En este ejemplo, el valor REAL 50.03978588, escalado entre 0.0 y 100.0 se convierte
en un valor INTEGER, y éste se escribe en la salida OUT. El valor de entrada es
BIPOLAR, tal como lo indica el estado de señal de la entrada E2.0.
Si la función se ejecuta sin errores, los estados de señal de la salida de habilitación
(ENO) y de la salida A 4.0 se ponen a 1 (activadas), y el valor de respuesta
(RET_VAL) toma el valor W#16#0000.

190

Das könnte Ihnen auch gefallen