Вы находитесь на странице: 1из 4

Funciones y bloques de funcin de conversin

6.8

Escalar valores (SCALE): FC105

Descripcin

La funcin Escalar valores (SCALE) toma un valor entero en la entrada IN y lo


convierte en un valor real, convirtindolo a escala en un rango comprendido entre
un lmite inferior y un lmite superior (LO_LIM y HI_LIM). El resultado se escribe
en la salida OUT. La funcin SCALE aplica la frmula siguiente:
OUT = [ FLOAT (IN) K1/(K2K1) * (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.

S 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

S 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 queda fuera del rango comprendido entre los lmites
inferior y superior de su tipo (BIPOLAR o UNIPOLAR), la salida (OUT) se une al
valor lmite ms cercano (a LO_LIM o a HI_LIM), y se devuelve un error.
Se puede efectuar la conversin escalar inversa programando los lmites de tal
forma que el lmite inferior sea mayor que el lmite superior (LO_LIM > HI_LIM).
En la conversin escalar inversa el valor de la salida disminuye cuando aumenta el
valor de la entrada.

Parmetros

Tabla 6-8

En la tabla 6-8 se describen los parmetros de la funcin Escalar valores


(SCALE).
Parmetros de la funcin SCALE (FC105)

Parmetro

Declaracin

EN

Entrada

BOOL

E, A, M, D, L

La entrada de habilitacin con estado de seal 1


activa el cuadro.

ENO

Salida

BOOL

E, A, M, D, L

La salida de habilitacin tiene el estado de seal 1 si


la funcin se ejecuta sin errores.

IN

Entrada

INT

E, A, M, D, L,
P, o constante

Valor de entrada a convertir a escala en valor REAL.

HI_LIM

Entrada

REAL

E, A, M, D, L,
P, o constante

Lmite superior del rango escalar.

LO_LIM

Entrada

REAL

E, A, M, D, L,
P, o constante

Lmite inferior del rango escalar.

BIPOLAR

Entrada

BOOL

E, A, M, D, L

El estado de seal 1 indica que el valor de entrada es


bipolar; con el estado de seal 0 indica que es
unipolar.

OUT

Salida

REAL

E, A, M, D, L,
P, o constante

Resultado de la conversin a escala.

RET_VAL

Salida

WORD

E, A, M, D, L, P Da el valor W#16#0000 cuando la funcin se ejecuta sin errores; si los valores son distintos de
W#16#0000, vase la informacin sobre errores.

6-12

Tipo de
datos

Area de
memoria

Descripcin

S7 Funciones estndar, segunda parte


C79000-G7078-C113-02

Funciones y bloques de funcin de conversin

Informacin sobre
errores

Si el valor entero de entrada queda fuera del rango comprendido entre los lmites
inferior y superior de su tipo (BIPOLAR o UNIPOLAR), la salida (OUT) se fija al
valor lmite ms cercano (a LO_LIM o a HI_LIM), y se devuelve un error. El estado
de seal de la salida de habilitacin (ENO) se pone a 1 y el valor de respuesta
(RET_VAL) toma el valor W#16#0008.

Ejemplo

En la figura 6-11 se muestra cmo opera la funcin Escalar valores (SCALE). La


funcin se ejecuta cuando el estado de seal 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 seal de la entrada E2.0.
Si la funcin se ejecuta sin errores, los estados de seal de la salida de habilitacin
(ENO) y de la salida A 4.0 se ponen a 1 (activadas), y el valor de respuesta toma el
valor W#16#0000.

SCALE
FC105

E 0.0
EN

A 4.0
ENO

MW10

IN

RET_VAL

MD20

HI_LIM

MD30

LO_LIM

OUT

MW0
MD40

E 2.0
BIPOLAR

Antes de la ejecucin:
IN

MW10 = 22

HI_LIM

MD20 = 100.0

LO_LIM

MD30 = 0.0

OUT

MD40 = 0.0

BIPOLAR

E 2.0 = TRUE

Despus de la ejecucin:
OUT
Figura 6-11

S7 Funciones estndar, segunda parte


C79000-G7078-C113-02

MD40 = 50.03978588

Escalar valores (SCALE)

6-13

Funciones y bloques de funcin de conversin

6.9

Desescalar valores (UNSCALE): FC106

Descripcin

La funcin Desescalar valores (UNSCALE) toma en la entrada IN un valor real


que est ajustado a escala en un rango comprendido entre un lmite inferior y un
lmite superior (LO_LIM y HI_LIM), y lo convierte en un valor entero. El resultado
se escribe en la salida OUT. La funcin UNSCALE aplica la frmula siguiente:
OUT = [ (INLO_LIM/HI_LIMLO_LIM) * (K2K1) ] + K1
Las constantes K1 y K2 se aplican de forma diferente, dependiendo de si el valor de
entrada es BIPOLAR o UNIPOLAR.

S BIPOLAR:

Se supone que el valor real de entrada debe estar entre


27648 y 27648, por lo tanto,
K1 = 27648.0 y K2 = +27648.0

S UNIPOLAR: Se supone que el valor real de entrada 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 lmites inferior y superior de su tipo (BIPOLAR o UNIPOLAR), la salida (OUT) se fija al valor
lmite ms cercano (a LO_LIM o a HI_LIM), y se devuelve un error.

Parmetros

Tabla 6-9

En la tabla 6-9 se describen los parmetros de la funcin Desescalar valores


(UNSCALE).
Parmetros de la funcin UNSCALE (FC106)

Parmetro

Declaracin

EN

Entrada

BOOL

E, A, M, D, L

La entrada de habilitacin con estado de seal 1


activa el cuadro.

ENO

Salida

BOOL

E, A, M, D, L

La salida de habilitacin tiene el estado de seal 1 si


la funcin se ejecuta sin errores.

IN

Entrada

REAL

E, A, M, D, L,
P, o constante

Valor de entrada a desescalar convirtindolo en un


valor entero.

HI_LIM

Entrada

REAL

E, A, M, D, L,
P, o constante

Lmite superior del rango escalar.

LO_LIM

Entrada

REAL

E, A, M, D, L,
P, o constante

Lmite inferior del rango escalar.

BIPOLAR

Entrada

BOOL

E, A, M, D, L

El estado de seal 1 indica que el valor de entrada es


bipolar; con el estado de seal 0 indica que es
unipolar.

OUT

Salida

INT

E, A, M, D, L,
P, o constante

Resultado del desescalado.

RET_VAL

Salida

WORD

E, A, M, D, L, P Da el valor W#16#0000 cuando la funcin se


ejecuta sin errores; si los valores son distintos de
W#16#0000, vase la informacin sobre errores.

6-14

Tipo de
datos

Area de
memoria

Descripcin

S7 Funciones estndar, segunda parte


C79000-G7078-C113-02

Funciones y bloques de funcin de conversin

Informacin sobre
errores

Si el valor real de entrada queda fuera del rango comprendido entre los lmites inferior y superior de su tipo (BIPOLAR o UNIPOLAR), la salida (OUT) se une al valor
lmite ms cercano (a LO_LIM o a HI_LIM), y se devuelve un error. El estado de
seal de la salida de habilitacin (ENO) se pone a 0, y el valor de respuesta
(RET_VAL) toma el valor W#16#0008.

Ejemplo

En la figura 6-12 se muestra cmo opera la funcin Desescalar valores (UNSCALE). La funcin se ejecuta cuando el estado de seal 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 seal de la entrada E2.0.
Si la funcin se ejecuta sin errores, los estados de seal de la salida de habilitacin
(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.

UNSCALE
FC106

E 0.0
EN
MD10

IN

MD20

HI_LIM

MD30

LO_LIM

A 4.0
ENO

RET_VAL
OUT

MW0
MD40

E 2.0
BIPOLAR

Antes de la ejecucin:
IN

MD10 = 50.03978588

HI_LIM

MD20 = 100.0

LO_LIM

MD30 = 0.0

OUT

MD40 = 0.0

BIPOLAR

E 2.0 = TRUE

Despus de la ejecucin:
OUT
Figura 6-12

S7 Funciones estndar, segunda parte


C79000-G7078-C113-02

MD40 = 22

Desescalar valores (UNSCALE)

6-15

Вам также может понравиться