Está en la página 1de 162

SIMATIC Sistema de control de procesos PCS 7 CFC - Bloques elementares

SIMATIC
Sistema de control de procesos
PCS 7
CFC - Bloques elementares
Manual de programacin y manejo

Parmetros de bloque EN,


ENO, SAMPLE_T

Bloques para convertir tipos


de datos
Bloques aritmticos con el
tipo de datos REAL
Bloques aritmticos con los
tipos de datos INT y DINT

______________
2
Arranque en CPUs S7-300
______________
3
Bloques CFC
Bloques lgicos con el tipo
______________
4
de datos BOOL
Bloques lgicos con los tipos
______________
5
de datos WORD y DWORD
Bloques para comparar dos
______________
valores de entrada del
6
mismo tipo
______________
______________
8
______________
9
______________
10
Bloques Flip-Flop
______________
11
Bloques de desplazamiento
______________
12
Bloques multiplex
______________
13
Bloques de contaje
______________
Bloques para generar o
14
procesar impulsos
______________
Bloques para introducir o
modificar la hora y la fecha,
15
as como intervalos
______________
16

______________
17
______________
18
Bloques inter-AS
______________
19
Anexo
______________
Bloques de regulacin
Bloques para funciones del
sistema

03/2009

A5E02109610-01

Notas jurdicas

Notas jurdicas

Filosofa en la sealizacin de advertencias y peligros


Este manual contiene las informaciones necesarias para la seguridad personal as como para la prevencin de
daos materiales. Las informaciones para su seguridad personal estn resaltadas con un tringulo de
advertencia; las informaciones para evitar nicamente daos materiales no llevan dicho tringulo. De acuerdo al
grado de peligro las consignas se representan, de mayor a menor peligro, como sigue.
PELIGRO
Significa que, si no se adoptan las medidas preventivas adecuadas se producir la muerte, o bien lesiones
corporales graves.
ADVERTENCIA
Significa que, si no se adoptan las medidas preventivas adecuadas puede producirse la muerte o bien lesiones
corporales graves.
PRECAUCIN
con tringulo de advertencia significa que si no se adoptan las medidas preventivas adecuadas, pueden
producirse lesiones corporales.
PRECAUCIN
sin tringulo de advertencia significa que si no se adoptan las medidas preventivas adecuadas, pueden
producirse daos materiales.
ATENCIN
significa que puede producirse un resultado o estado no deseado si no se respeta la consigna de seguridad
correspondiente.
Si se dan varios niveles de peligro se usa siempre la consigna de seguridad ms estricta en cada caso. Si en una
consigna de seguridad con tringulo de advertencia se alarma de posibles daos personales, la misma consigna
puede contener tambin una advertencia sobre posibles daos materiales.

Personal cualificado
El equipo/sistema correspondiente slo deber instalarse y operarse respetando lo especificado en este
documento. Slo est autorizado a intervenir en este equipo el personal cualificado. En el sentido del manual se
trata de personas que disponen de los conocimientos tcnicos necesarios para poner en funcionamiento,
conectar a tierra y marcar los aparatos, sistemas y circuitos de acuerdo con las normas estndar de seguridad.

Uso previsto o de los productos de Siemens


Considere lo siguiente:
ADVERTENCIA
Los productos de Siemens slo debern usarse para los casos de aplicacin previstos en el catlogo y la
documentacin tcnica asociada. De usarse productos y componentes de terceros, stos debern haber sido
recomendados u homologados por Siemens. El funcionamiento correcto y seguro de los productos exige que su
transporte, almacenamiento, instalacin, montaje, manejo y mantenimiento hayan sido realizados de forma
correcta. Es preciso respetar las condiciones ambientales permitidas. Tambin debern seguirse las
indicaciones y advertencias que figuran en la documentacin asociada.

Marcas registradas
Todos los nombres marcados con son marcas registradas de Siemens AG. Los restantes nombres y
designaciones contenidos en el presente documento pueden ser marcas registradas cuya utilizacin por terceros
para sus propios fines puede violar los derechos de sus titulares.

Exencin de responsabilidad
Hemos comprobado la concordancia del contenido de esta publicacin con el hardware y el software descritos.
Sin embargo, como es imposible excluir desviaciones, no podemos hacernos responsable de la plena
concordancia. El contenido de esta publicacin se revisa peridicamente; si es necesario, las posibles las
correcciones se incluyen en la siguiente edicin.

Siemens AG
Industry Sector
Postfach 48 48
90026 NRNBERG
ALEMANIA

A5E02109610-01
01/2009

Copyright Siemens AG 2009.


Sujeto a cambios sin previo aviso

ndice
1

Parmetros de bloque EN, ENO, SAMPLE_T.......................................................................................... 11

Arranque en CPUs S7-300 ...................................................................................................................... 13

Bloques CFC ........................................................................................................................................... 15

Bloques lgicos con el tipo de datos BOOL............................................................................................. 17

4.1

BIT-LGC .......................................................................................................................................17

4.2

AND: Combinacin Y ...................................................................................................................18

4.3

OR: Combinacin O.....................................................................................................................19

4.4

XOR: Combinacin de antivalencia .............................................................................................20

4.5

NAND: Combinacin NAND.........................................................................................................21

4.6

NOR: Combinacin NOR .............................................................................................................22

4.7

NOT: Combinacin NOT..............................................................................................................23

Bloques lgicos con los tipos de datos WORD y DWORD ...................................................................... 25


5.1

WRD_LGC ...................................................................................................................................25

5.2

WAND_W: Combinacin Y palabra a palabra .............................................................................26

5.3

WOR_W: Combinacin O palabra a palabra ...............................................................................27

5.4

WXOR_W: Combinacin antivalencia palabra a palabra ............................................................28

5.5

WNAND_W: Combinacin Y palabra doble a palabra doble.......................................................29

5.6

WNOR_W: Combinacin NOR palabra a palabra .......................................................................30

5.7

WNOT_W .....................................................................................................................................31

5.8

WAND_DW ..................................................................................................................................32

5.9

WOR_DW.....................................................................................................................................32

5.10

WXOR_DW ..................................................................................................................................33

5.11

WNAND_DW................................................................................................................................33

5.12

WNOR_DW ..................................................................................................................................34

5.13

WNOT_DW: Combinacin NOT palabra doble a palabra doble..................................................34

Bloques para comparar dos valores de entrada del mismo tipo .............................................................. 35
6.1

COMPARE ...................................................................................................................................35

6.2

CMP_I: Comparador de valores INT............................................................................................36

6.3

CMP_DI: Comparador de valores DINT ......................................................................................37

6.4

CMP_R: Comparador de valores REAL ......................................................................................38

6.5

CMP_T: Comparador de valores TIME........................................................................................39

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

ndice

Bloques para convertir tipos de datos...................................................................................................... 41


7.1

CONVERT................................................................................................................................... 41

7.2

BY_DW........................................................................................................................................ 43

7.3

BY_W .......................................................................................................................................... 43

7.4

DI_DW ......................................................................................................................................... 44

7.5

DI_I .............................................................................................................................................. 44

7.6

DI_R ............................................................................................................................................ 45

7.7

DW_DI ......................................................................................................................................... 45

7.8

DW_R .......................................................................................................................................... 46

7.9

DW_W ......................................................................................................................................... 46

7.10

I_DI .............................................................................................................................................. 47

7.11

I_DW............................................................................................................................................ 47

7.12

I_R ............................................................................................................................................... 48

7.13

I_W .............................................................................................................................................. 48

7.14

R_DI ............................................................................................................................................ 49

7.15

R_DW .......................................................................................................................................... 49

7.16

R_I ............................................................................................................................................... 50

7.17

W_BY .......................................................................................................................................... 50

7.18

W_DW ......................................................................................................................................... 51

7.19

W_I .............................................................................................................................................. 51

7.20

BO_BY......................................................................................................................................... 52

7.21

BO_W .......................................................................................................................................... 52

7.22

BO_DW ....................................................................................................................................... 53

7.23

BY_BO......................................................................................................................................... 53

7.24

W_BO .......................................................................................................................................... 54

7.25

DW_BO ....................................................................................................................................... 54

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

ndice

Bloques aritmticos con el tipo de datos REAL ....................................................................................... 55


8.1

MATH_FP.....................................................................................................................................55

8.2

ADD_R: Suma de valores REAL..................................................................................................56

8.3

SUB_R: Substraccin de valores REAL ......................................................................................56

8.4

MUL_R: Multiplicacin de valores REAL .....................................................................................57

8.5

DIV_R: Divisin de valores REAL ................................................................................................57

8.6

MAXn_R: Mximo de valores REAL ............................................................................................58

8.7

MINn_R: Mnimo de valores REAL ..............................................................................................59

8.8

ABS_R: Valor absoluto de valores REAL ....................................................................................60

8.9

SQRT: Raz cuadrada..................................................................................................................60

8.10

EXP: Funcin exponencial...........................................................................................................61

8.11

POW10: Funcin de potencias de diez .......................................................................................61

8.12

LN: Logaritmo natural ..................................................................................................................62

8.13

LOG10: Logaritmo en base 10.....................................................................................................62

8.14

SIN: Funcin de seno ..................................................................................................................63

8.15

COS: Funcin de coseno.............................................................................................................63

8.16

TAN: Funcin de tangente ...........................................................................................................64

8.17

ASIN: Funcin de arcoseno .........................................................................................................64

8.18

ACOS: Funcin de arcocoseno ...................................................................................................65

8.19

ATAN: Funcin de arcotangente..................................................................................................65

8.20

NEG_R .........................................................................................................................................66

8.21

LIM_R: Limitador de valores REAL..............................................................................................66

8.22

EPS_R..........................................................................................................................................67

8.23

CADD_R.......................................................................................................................................68

8.24

POWXY: Funcin general de potenciacin .................................................................................69

8.25

SAMP_AVE: Valor medio flotante................................................................................................70

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

ndice

10

Bloques aritmticos con los tipos de datos INT y DINT ........................................................................... 71


9.1

MATH_INT................................................................................................................................... 71

9.2

ADD_I: Suma de valores INT ...................................................................................................... 72

9.3

SUB_I: Substraccin de valores INT........................................................................................... 72

9.4

MUL_I: Multiplicacin de valores INT.......................................................................................... 73

9.5

DIV_I: Divisin de valores INT .................................................................................................... 73

9.6

MOD_I: Funcin mdulo de valores INT..................................................................................... 74

9.7

MAXn_I: Mximo de valores INT ................................................................................................ 74

9.8

MINn_I: Mnimo de valores INT................................................................................................... 75

9.9

ABS_I: Valor absoluto de valores INT......................................................................................... 75

9.10

NEG_I: Negador de valores INT ................................................................................................. 76

9.11

LIM_I: Limitador de valores INT .................................................................................................. 76

9.12

EPS_I: Precisin; aproximacin de valores INT ......................................................................... 77

9.13

CADD_I: Sumador controlable de valores INT ........................................................................... 78

9.14

ADD_DI: Suma de valores DINT................................................................................................. 79

9.15

SUB_DI: Substraccin de valores DINT ..................................................................................... 79

9.16

MUL_DI: Multiplicacin de DINT ................................................................................................. 80

9.17

DIV_DI: Divisin de valores DINT ............................................................................................... 80

9.18

MOD_DI: Funcin mdulo de valores DINT................................................................................ 81

9.19

MAXn_DI: Mximo de valores DINT ........................................................................................... 81

9.20

MINn_DI: Mnimo de valores DINT ............................................................................................. 82

9.21

ABS_DI: Valor absoluto de valores DINT ................................................................................... 82

9.22

NEG_DI: Negador de valores DINT ............................................................................................ 83

9.23

LIM_DI: Limitador de valores DINT............................................................................................. 83

9.24

EPS_DI: Precisin; aproximacin de valores DINT .................................................................... 84

9.25

CADD_DI: Sumador controlable de valores DINT ...................................................................... 85

Bloques Flip-Flop..................................................................................................................................... 87
10.1

FLIPFLOP ................................................................................................................................... 87

10.2

JK_FF .......................................................................................................................................... 87

10.3

RS_FF: FlipFlop RS, desactivacin dominante .......................................................................... 88

10.4

SR_FF: FlipFlop SR, activacin dominante ................................................................................ 88

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

ndice

11

12

13

14

15

Bloques de desplazamiento..................................................................................................................... 89
11.1

SHIFT...........................................................................................................................................89

11.2

SHL_W: Desplazar WORD hacia la izquierda .............................................................................89

11.3

SHL_DW: Desplazar DWORD hacia la izquierda........................................................................90

11.4

SHR_W: Desplazar WORD hacia la derecha ..............................................................................90

11.5

SHR_DW: Desplazar DWORD hacia la derecha.........................................................................91

11.6

ROL_W: Rotar WORD hacia la izquierda ....................................................................................91

11.7

ROL_DW: Rotar DWORD hacia la izquierda...............................................................................92

11.8

ROR_W: Rotar WORD hacia la derecha .....................................................................................92

11.9

ROR_DW: Rotar DWORD hacia la derecha................................................................................93

Bloques multiplex..................................................................................................................................... 95
12.1

MULTIPLX....................................................................................................................................95

12.2

MUXn_I: Multiplexor 1 de n para valores INT ..............................................................................96

12.3

MUXn_DI: Multiplexor 1 de n para valores DINT.........................................................................97

12.4

MUXn_R: Multiplexor 1 de n para valores REAL.........................................................................98

12.5

MUXn_BO: Multiplexor 1 de n para valores BOOL......................................................................99

12.6

SEL_BO: Multiplexor 1 de 2 para valores BOOL.......................................................................100

12.7

SEL_R: Multiplexor 1 de 2 para valores REAL ..........................................................................100

Bloques de contaje ................................................................................................................................ 101


13.1

COUNTER .................................................................................................................................101

13.2

CTU: Incrementar contador .......................................................................................................102

13.3

CTD: Decrementar contador......................................................................................................103

13.4

CTUD: Incrementar/decrementar contador ...............................................................................104

Bloques para generar o procesar impulsos ........................................................................................... 105


14.1

IMPULS......................................................................................................................................105

14.2

TIMER_P: Formador de impulsos..............................................................................................106

14.3

R_TRIG: Deteccin del flanco positivo ......................................................................................109

14.4

F_TRIG: Deteccin del flanco negativo .....................................................................................110

14.5

AFP: Generador de impulsos de reloj........................................................................................111

Bloques para introducir o modificar la hora y la fecha, as como intervalos ........................................... 113
15.1

TIME...........................................................................................................................................113

15.2

TIME: Medir el tiempo de ejecucin ..........................................................................................113

15.3

TIME_BEG: Leer la hora actual .................................................................................................114

15.4

TIME_END: Comparar la hora de entrada con la hora actual ...................................................114

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

ndice

16

17

18

Bloques de regulacin ........................................................................................................................... 115


16.1

CONTROL................................................................................................................................. 115

16.2
16.2.1
16.2.2

CONT_C.................................................................................................................................... 116
CONT_C: Regulador continuo .................................................................................................. 116
CONT_C: Esquema de bloques................................................................................................ 121

16.3
16.3.1
16.3.2

CONT_S .................................................................................................................................... 122


CONT_S: Regulador paso a paso ............................................................................................ 122
CONT_S: Esquema de bloques................................................................................................ 127

16.4
16.4.1
16.4.2
16.4.3
16.4.4
16.4.5
16.4.6

PULSEGEN............................................................................................................................... 128
PULSEGEN: Modulacin de ancho de impulsos para reguladores PID .................................. 128
PULSEGEN: Esquema de bloques........................................................................................... 135
PULSEGEN: Regulacin a tres puntos..................................................................................... 136
PULSEGEN: Regulacin a tres puntos asimtrica ................................................................... 137
PULSEGEN: Regulacin a dos puntos..................................................................................... 138
PULSEGEN: Modo manual en regulacin a dos o tres puntos ................................................ 139

Bloques para funciones del sistema ...................................................................................................... 141


17.1

EVENT: Comienzo del nivel de ejecucin ................................................................................ 141

17.2

DELAY....................................................................................................................................... 142

17.3

DELAY: Retardar los eventos de inicio..................................................................................... 142

17.4

EDELAY : Liberar los eventos de arranque retardados............................................................ 143

17.5

DISCARD: Se descartan todos los eventos de arranque que ocurran..................................... 143

17.6

EDISCARD: Habilitar todos los eventos de arranque nuevos que ocurran.............................. 144

17.7

LASTERR: Averiguar los cdigos de los errores en DELAY, EDELAY, DISCARD,


EDISCARD,P_REASON ........................................................................................................... 144

17.8

SYSTIME: Determinar la hora del sistema. .............................................................................. 145

17.9

P_REASON: Determinar la causa de la alarma de proceso..................................................... 145

17.10

FRC_CFC: Bloque interno ........................................................................................................ 146

Bloques inter-AS.................................................................................................................................... 147


18.1

IK_STATE.................................................................................................................................. 147

18.2

IK_MANAG ................................................................................................................................ 149

18.3

IK_SEND ................................................................................................................................... 149

18.4

IK_RCV...................................................................................................................................... 150

18.5

IK_CP_OU ................................................................................................................................. 150

18.6

IK_CP_IN................................................................................................................................... 151

18.7

IK_ALARM................................................................................................................................. 151

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

ndice

19

Anexo .................................................................................................................................................... 153


19.1

Procesamiento de valores manuales.........................................................................................153

19.2

Modulacin de ancho de impulsos ............................................................................................153

19.3

Rama de valores reales .............................................................................................................154

19.4

Curva caracterstica con margen de valores manipulados bipolar............................................154

19.5

Curva caracterstica con margen de valores manipulados unipolar..........................................155

19.6

Algoritmo PI discontinuo ............................................................................................................155

19.7

Algoritmo PID .............................................................................................................................155

19.8

Formacin de errores de regulacin..........................................................................................156

19.9

Rama de valores nominales ......................................................................................................156

19.10

Procesamiento de valores nominales........................................................................................156

19.11

Control anticipativo de la magnitud perturbadora ......................................................................156

19.12

Curva caracterstica simtrica para reguladores de tres puntos ...............................................157

19.13

Curva caracterstica asimtrica del regulador de tres puntos ...................................................158

ndice alfabtico..................................................................................................................................... 159

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

ndice

10

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Parmetros de bloque EN, ENO, SAMPLE_T

EN
EN (enable): entrada de habilitacin.
Este parmetro, disponible nicamente en la representacin grfica de CFC, est ocultado y
permite activar y desactivar la ejecucin del bloque. Gracias a ello, el bloque se llamar (en
el cdigo de ejecucin del PLC) slo si ha sido habilitado con EN = 1.

ENO
ENO: equivale al RB (resultado binario v. descripcin de STEP 7).
ENO = 1 indica que el resultado de la funcin es vlido. Cuando ocurran errores que hayan
sido detectados por el sistema operativo y/o por el tratamiento de errores incluido en la
lgica del bloque, ENO = 0 indicar que el resultado no es vlido. Esta informacin se
puede utilizar para conmutar a otros valores (p. ej. valores de seguridad) y, si fuese
necesario, visualizar avisos en la OS (estacin de operador).
El parmetro ENO ser tambin FALSE si EN = FALSE.

SAMPLE_T
Todos los bloques con el parmetro de entrada SAMPLE_T deben procesarse en tareas
peridicas (p. ej. OB 35: alarma temporizada 100 ms). Si se incorporan en tareas no cclicas
(p. ej. alarmas de proceso), estos bloques proporcionan resultados errneos.

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

11

Parmetros de bloque EN, ENO, SAMPLE_T

12

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Arranque en CPUs S7-300

Arranque
Puesto que las CPUs S7-300 no detectan automticamente el nivel de rearranque completo,
en los bloques en los que se ha programado un comportamiento especfico de arranque
(ELEM_300) se utiliza la palabra de marcas 0 (MW0) como marca de arranque. Por tanto,
esta palabra de marcas no se puede modificar en el programa de usuario.
Para que el arranque se realice de forma correcta es preciso insertar en el esquema CFC
tantas funciones RESTART (FC 70) como CPUs S7-300.
Procedimiento:
1. Abra el editor de ejecucin eligiendo el comando de men Edicin > Secuencia de
ejecucin o mediante el correspondiente botn de la barra de herramientas
2. En el OB 100, coloque el bloque RESTART en primer lugar.
3. Borre el bloque RESTART en la tarea cclica (ajuste estndar: OB 35)
El bloque se llamar slo en el OB 100.

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

13

Arranque en CPUs S7-300

14

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques CFC
Familias de bloques CFC disponibles
Familia

Aplicacin

BIT_LGC
(Pgina 17)

Bloques lgicos con el tipo de datos BOOL

WRD_LGC
(Pgina 25)

Bloques lgicos con los tipos de datos WORD y DWORD

COMPARE
(Pgina 35)

Bloques para comparar dos valores de entrada del mismo tipo

CONVERT
(Pgina 41)

Bloques para convertir tipos de datos

MATH_FP
(Pgina 55)

Bloques aritmticos con el tipo de datos REAL

MATH_INT
(Pgina 71)

Bloques aritmticos con los tipos de datos INT y DINT

FLIPFLOP
(Pgina 87)

Bloques Flip-Flop

SHIFT (Pgina 89)

Bloques de desplazamiento

MULTIPLX
(Pgina 95)

Bloques multiplex

COUNTER
(Pgina 101)

Bloques de contaje

IMPULS
(Pgina 105)

Bloques para generar o procesar impulsos

TIME (Pgina 113)

Bloques para introducir o modificar la hora y la fecha, as como intervalos

CONTROL
(Pgina 115)

Bloques de regulacin

SYSTEM
(Pgina 141)

Bloques para funciones del sistema

IK (Pgina 147)

Bloques inter-AS

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

15

Bloques CFC

16

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques lgicos con el tipo de datos BOOL


4.1

BIT-LGC

Bloques CFC de la familia "BIT_LGC"


Esta familia comprende los siguientes bloques que permiten establecer combinaciones
lgicas:
AND (Pgina 18)

Combinacin Y

OR (Pgina 19)

Combinacin O

XOR (Pgina 20)

Combinacin de antivalencia

NAND (Pgina 21)

Combinacin NAND

NOR (Pgina 22)

Combinacin NOR

NOT (Pgina 23)

Combinacin NOT

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

17

Bloques lgicos con el tipo de datos BOOL


4.2 AND: Combinacin Y

4.2

AND: Combinacin Y

Funcin
Este bloque combina las entradas formando una Y (AND) lgica. La salida es 1 cuando
todas las entradas son 1. De lo contrario, la salida ser 0. Se puede modificar el nmero de
entradas IN.

Tabla de verdad (ejemplo para n = 2)


IN1

IN2

OUT

Conexiones

Entradas

Salida

18

Nombre

Tipo de datos

Preajuste

IN1

BOOL

IN2

BOOL

...

...

INn

BOOL

OUT

BOOL

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques lgicos con el tipo de datos BOOL


4.3 OR: Combinacin O

4.3

OR: Combinacin O

Funcin
Este bloque combina las entradas formando una O lgica (OR). La salida ser 1 cuando al
menos una entrada sea 1. Si todas las entradas son 0, la salida ser 0. Se puede modificar
el nmero de entradas IN.

Tabla de verdad (ejemplo para n = 2)


IN1

IN2

OUT

Conexiones

Entradas

Salida

Nombre

Tipo de datos

Preajuste

IN1

BOOL

IN2

BOOL

...

...

INn

BOOL

OUT

BOOL

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

19

Bloques lgicos con el tipo de datos BOOL


4.4 XOR: Combinacin de antivalencia

4.4

XOR: Combinacin de antivalencia

Funcin
Este bloque combina las entradas formando una O exclusiva. La salida ser 0 cuando todas
las entradas tengan el mismo valor. De lo contrario, la salida ser 1. Se puede modificar el
nmero de entradas IN.

Tabla de verdad (ejemplo para n = 2)


IN1

IN2

OUT

Conexiones

Entradas

Salida

20

Nombre

Tipo de datos

Preajuste

IN1

BOOL

IN2

BOOL

...

...

INn

BOOL

OUT

BOOL

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques lgicos con el tipo de datos BOOL


4.5 NAND: Combinacin NAND

4.5

NAND: Combinacin NAND

Funcin
Este bloque combina las entradas formando una Y lgica, que seguidamente ser negada.
La salida slo es 0 cuando todas las entradas son 1. Puede modificarse el nmero de
entradas IN.

Tabla de verdad (ejemplo para n = 2)


IN1

IN2

OUT

Conexiones

Entradas

Salida

Nombre

Tipo de datos

Preajuste

IN1

BOOL

IN2

BOOL

...

...

INn

BOOL

OUT

BOOL

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

21

Bloques lgicos con el tipo de datos BOOL


4.6 NOR: Combinacin NOR

4.6

NOR: Combinacin NOR

Funcin
Este bloque combina las entradas formando una O (OR) lgica, que seguidamente ser
negada. La salida slo es 1 cuando todas las entradas son 0. Puede modificarse el nmero
de entradas IN.

Tabla de verdad (ejemplo para n = 2)


IN1

IN2

OUT

Conexiones

Entradas

Salida

22

Nombre

Tipo de datos

Preajuste

IN1

BOOL

IN2

BOOL

...

...

INn

BOOL

OUT

BOOL

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques lgicos con el tipo de datos BOOL


4.7 NOT: Combinacin NOT

4.7

NOT: Combinacin NOT

Funcin
Este bloque invierte la entrada.

Tabla de verdad
IN

OUT

Conexiones
Nombre

Tipo de datos

Preajuste

Entrada

IN

BOOL

Salida

OUT

BOOL

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

23

Bloques lgicos con el tipo de datos BOOL


4.7 NOT: Combinacin NOT

24

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques lgicos con los tipos de datos WORD y


DWORD
5.1

WRD_LGC

Bloques CFC de la familia "WRD_LGC"


Esta familia comprende los siguientes bloques que permiten realizar combinaciones lgicas
con los tipos de datos WORD y DWORD:
WAND_W (Pgina 26)

Combinacin Y palabra a palabra

WAND_DW (Pgina 32)

Combinacin Y palabra doble a palabra doble

WOR_W (Pgina 27)

Combinacin O palabra a palabra

WOR_DW (Pgina 32)

Combinacin O palabra doble a palabra doble

WXOR_W (Pgina 28)

Combinacin antivalencia palabra a palabra

WXOR_DW (Pgina 33)

Combinacin antivalencia palabra doble a palabra doble

WNAND_W (Pgina 29)

Combinacin NAND palabra a palabra

WNAND_DW (Pgina 33)

Combinacin NAND palabra doble a palabra doble

WNOR_W (Pgina 30)

Combinacin NOR palabra a palabra

WNOR_DW (Pgina 34)

Combinacin NOR palabra doble a palabra doble

WNOT_W (Pgina 31)

Combinacin NOT palabra a palabra

WNOT_DW (Pgina 34)

Combinacin NOT palabra doble a palabra doble

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

25

Bloques lgicos con los tipos de datos WORD y DWORD


5.2 WAND_W: Combinacin Y palabra a palabra

5.2

WAND_W: Combinacin Y palabra a palabra

Funcin
Este bloque combina las entradas palabra a palabra formando una Y (AND) lgica. Los bits
de todas las entradas que tengan los mismos valores se combinan en una Y (AND) lgica y
el resultado se escribe en el bit correspondiente de la salida. Puede modificarse el nmero
de entradas IN.

Ejemplo (para 2 entradas)


IN1

2# 1 1 1 1_0 0 0 0_1 1 1 1_0 0 0 0_1 1 0 1

IN2

2# 1 1 1 1_0 0 0 0_0 0 1 1_0 0 0 0_0 0 1 1

OUT

2# 1 1 1 1_0 0 0 0_0 0 1 1_0 0 0 0_0 0 0 1

Conexiones

Entradas

Nombre

Tipo de datos

Preajuste

IN1

WORD

IN2

WORD

WORD

...
Salida

26

OUT

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques lgicos con los tipos de datos WORD y DWORD


5.3 WOR_W: Combinacin O palabra a palabra

5.3

WOR_W: Combinacin O palabra a palabra

Funcin
Este bloque combina las entradas palabra a palabra formando una O (OR) lgica. Los bits
de todas las entradas que tengan los mismos valores se combinan en una O (OR) lgica y
el resultado se escribe en el bit correspondiente de la salida. Puede modificarse el nmero
de entradas IN.

Ejemplo (para 2 entradas)


IN1

2# 1 1 1 1_0 0 0 0_1 1 1 1_0 0 0 0_1 1 0 1

IN2

2# 1 1 1 1_0 0 0 0_0 0 1 1_0 0 0 0_0 0 1 1

OUT

2# 1 1 1 1_0 0 0 0_1 1 1 1_0 0 0 0_1 1 1 1

Conexiones

Entradas

Nombre

Tipo de datos

Preajuste

IN1

WORD

IN2

WORD

WORD

...
Salida

OUT

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

27

Bloques lgicos con los tipos de datos WORD y DWORD


5.4 WXOR_W: Combinacin antivalencia palabra a palabra

5.4

WXOR_W: Combinacin antivalencia palabra a palabra

Funcin
Este bloque combina las entradas palabra a palabra formando una O exclusiva. Los bits de
todas las entradas que tengan los mismos valores se combinan en una O (OR) exclusiva
lgica y el resultado se escribe en el bit correspondiente de la salida. El bit es 0 si los bits
con igual significancia de todas las entradas tienen un mismo valor. De lo contrario, el bit
ser 1. Puede modificarse el nmero de entradas IN.

Ejemplo (para 2 entradas)


IN1

2# 1 1 1 1_0 0 0 0_1 1 1 1_0 0 0 0_1 1 0 1

IN2

2# 1 1 1 1_0 0 0 0_0 0 1 1_0 0 0 0_0 0 1 1

OUT

2# 0 0 0 0_0 0 0 0_1 1 0 0_0 0 0 0_1 1 1 0

Conexiones

Entradas

Nombre

Tipo de datos

Preajuste

IN1

WORD

IN2

WORD

WORD

...
Salida

28

OUT

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques lgicos con los tipos de datos WORD y DWORD


5.5 WNAND_W: Combinacin Y palabra doble a palabra doble

5.5

WNAND_W: Combinacin Y palabra doble a palabra doble

Funcin
Este bloque combina las entradas palabra a palabra formando una Y-NO lgica. Los bits de
todas las entradas que tengan los mismos valores se combinan en una Y (AND) lgica, que
seguidamente es negada, y el resultado se escribe en el bit correspondiente de la salida.
Puede modificarse el nmero de entradas IN.

Ejemplo (para 2 entradas)


IN1

2# 1 1 1 1_0 0 0 0_1 1 1 1_0 0 0 0_1 1 0 1

IN2

2# 1 1 1 1_0 0 0 0_0 0 1 1_0 0 0 0_0 0 1 1

OUT

2# 0 0 0 0_1 1 1 1_1 1 0 0_1 1 1 1_1 1 1 0

Conexiones

Entradas

Nombre

Tipo de datos

Preajuste

IN1

WORD

IN2

WORD

WORD

...
Salida

OUT

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

29

Bloques lgicos con los tipos de datos WORD y DWORD


5.6 WNOR_W: Combinacin NOR palabra a palabra

5.6

WNOR_W: Combinacin NOR palabra a palabra

Funcin
Este bloque combina las entradas palabra a palabra formando una O-NO lgica. Los bits de
todas las entradas que tengan los mismos valores se combinan en una O (OR) lgica, que
seguidamente es negada, y el resultado se escribe en el bit correspondiente de la salida.
Puede modificarse el nmero de entradas IN.

Ejemplo (para 2 entradas)


IN1

2# 1 1 1 1_0 0 0 0_1 1 1 1_0 0 0 0_1 1 0 1

IN2

2# 1 1 1 1_0 0 0 0_0 0 1 1_0 0 0 0_0 0 1 1

OUT

2# 0 0 0 0_1 1 1 1_0 0 0 0_1 1 1 1_0 0 0 0

Conexiones

Entradas
Salida

30

Nombre

Tipo de datos

Preajuste

IN1

WORD

IN2

WORD

OUT

WORD

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques lgicos con los tipos de datos WORD y DWORD


5.7 WNOT_W

5.7

WNOT_W

Funcin
Este bloque invierte la entrada palabra a palabra. Cada bit de la entrada es negado y escrito
en el bit equivalente de la salida.

Ejemplo
IN

2# 1 1 1 1_0 0 0 0_1 1 1 1_0 0 0 0_1 1 0 1

OUT

2# 0 0 0 0_1 1 1 1_0 0 0 0_1 1 1 1_0 0 1 0

Conexiones
Nombre

Tipo de datos

Preajuste

Entrada

IN

WORD

Salida

OUT

WORD

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

31

Bloques lgicos con los tipos de datos WORD y DWORD


5.8 WAND_DW

5.8

WAND_DW

Funcin
Este bloque combina las entradas palabra doble a palabra doble formando una Y (AND)
lgica. Los bits de todas las entradas que tengan los mismos valores se combinan en una Y
(AND) lgica y el resultado se escribe en el bit correspondiente de la salida. Puede
modificarse el nmero de entradas IN.

Ejemplo (como con WAND_W, ampliado a 32 bits)


Conexiones

Entradas
Salida

5.9

Nombre

Tipo de datos

Preajuste

IN1

DWORD

IN2

DWORD

OUT

DWORD

WOR_DW

Funcin
Este bloque combina las entradas palabra doble a palabra doble formando una O (OR)
lgica. Los bits de todas las entradas que tengan los mismos valores se combinan en una O
(OR) lgica y el resultado se escribe en el bit correspondiente de la salida. Puede
modificarse el nmero de entradas IN.

Ejemplo (como con WOR_W, ampliado a 32 bits)


Conexiones

Entradas
Salida

32

Nombre

Tipo de datos

Preajuste

IN1

DWORD

IN2

DWORD

OUT

DWORD

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques lgicos con los tipos de datos WORD y DWORD


5.10 WXOR_DW

5.10

WXOR_DW

Funcin
Este bloque combina las entradas palabra doble a palabra doble formando una O (OR)
exclusiva. Los bits de todas las entradas que tengan los mismos valores se combinan en
una O (OR) exclusiva lgica y el resultado se escribe en el bit correspondiente de la salida.
El bit es 0 si los bits con igual significancia de todas las entradas tienen un mismo valor. De
lo contrario, el bit ser 1. Puede modificarse el nmero de entradas IN.

Ejemplo (como con WXOR_W, ampliado a 32 bits)


Conexiones
Nombre
Entradas
Salida

5.11

Tipo de datos

Preajuste

IN1

DWORD

16#0

IN2

DWORD

16#0

OUT

DWORD

16#00000000

WNAND_DW

Funcin
Este bloque combina las entradas palabra doble a palabra doble formando una Y-NO lgica.
Los bits de todas las entradas que tengan los mismos valores se combinan en una Y (AND)
lgica, que seguidamente es negada, y el resultado se escribe en el bit correspondiente de
la salida. Puede modificarse el nmero de entradas IN.

Ejemplo (como en WNAND_W, ampliado a 32 bits)


Conexiones

Entradas
Salida

Nombre

Tipo de datos

Preajuste

IN1

DWORD

IN2

DWORD

OUT

DWORD

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

33

Bloques lgicos con los tipos de datos WORD y DWORD


5.12 WNOR_DW

5.12

WNOR_DW

Funcin
Este bloque combina las entradas palabra doble a palabra doble formando una O-NO lgica.
Los bits de todas las entradas que tengan los mismos valores se combinan en una O (OR)
lgica, que seguidamente es negada, y el resultado se escribe en el bit correspondiente de
la salida. Puede modificarse el nmero de entradas IN.

Ejemplo (como en WNOR_W, ampliado a 32 bits)


Conexiones

Entradas
Salida

5.13

Nombre

Tipo de datos

Preajuste

IN1

DWORD

IN2

DWORD

OUT

DWORD

WNOT_DW: Combinacin NOT palabra doble a palabra doble

Funcin
Este bloque invierte la entrada palabra a palabra. Cada bit de la entrada es negado y escrito
en el bit equivalente de la salida.

Ejemplo (como en WNOT_W, ampliado a 32 bits)


Conexiones

34

Nombre

Tipo de datos

Preajuste

Entrada

IN

DWORD

Salida

OUT

DWORD

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques para comparar dos valores de entrada del


mismo tipo
6.1

COMPARE

Bloques CFC de la familia "COMPARE"


Esta familia comprende los bloques que comparan dos magnitudes de entrada, a saber:
CMP_I (Pgina 36)

Comparador de valores INT

CMP_DI (Pgina 37)

Comparador de valores DINT

CMP_R (Pgina 38)

Comparador de valores REAL

CMP_T (Pgina 39)

Comparador de valores TIME

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

35

Bloques para comparar dos valores de entrada del mismo tipo


6.2 CMP_I: Comparador de valores INT

6.2

CMP_I: Comparador de valores INT

Funcin
Este bloque compara dos magnitudes de entrada y pone las salidas a los valores siguientes:
GT = 1 si IN1 > IN2,
GE = 1 si IN1

IN2,

EQ = 1 si IN1 = IN2
LT = 1 si IN1 < IN2
LE = 1 si IN1

IN2

En todos los casos, las dems cuatro salidas se ponen a 0.

Conexiones

Entradas

Salidas

36

Nombre

Tipo de
datos

Explicacin

Preajuste

IN1

INT

Magnitud de entrada
1

IN2

INT

Magnitud de entrada
2

GT

BOOL

1, IN1 > IN2

GE

BOOL

1, IN1

EQ

BOOL

1, IN1 = IN2

LT

BOOL

1, IN1 < IN2

LE

BOOL

1, IN1

IN2

IN2

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques para comparar dos valores de entrada del mismo tipo


6.3 CMP_DI: Comparador de valores DINT

6.3

CMP_DI: Comparador de valores DINT

Funcin
Este bloque compara dos magnitudes de entrada y pone las salidas a los valores siguientes:
GT = 1 si IN1 > IN2,
GE = 1 si IN1

IN2

EQ = 1 si IN1 = IN2
LT = 1 si IN1 < IN2
LE = 1 si IN1

IN2

En todos los casos, las dems cuatro salidas se ponen a 0.

Conexiones

Entradas
Salidas

Nombre

Tipo de datos

Explicacin

Preajuste

IN1

DINT

Magnitud de entrada 1

IN2

DINT

Magnitud de entrada 2

GT

BOOL

1, IN1 > IN2

GE

BOOL

1, IN1

EQ

BOOL

1, IN1 = IN2

LT

BOOL

1, IN1 < IN2

LE

BOOL

1, IN1

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

IN2

IN2

37

Bloques para comparar dos valores de entrada del mismo tipo


6.4 CMP_R: Comparador de valores REAL

6.4

CMP_R: Comparador de valores REAL

Funcin
Este bloque compara dos magnitudes de entrada y pone las salidas a los valores siguientes:
GT = 1 si IN1 > IN2,
GE = 1 si IN1

IN2

EQ = 1 si IN1 = IN2
LT = 1 si IN1 < IN2
LE = 1 si IN1

IN2

En todos los casos, las dems cuatro salidas se ponen a 0.

Conexiones

Entradas
Salidas

38

Nombre

Tipo de datos

Explicacin

Preajuste

IN1

REAL

Magnitud de entrada 1

IN2

REAL

Magnitud de entrada 2

GT

BOOL

1, IN1 > IN2

GE

BOOL

1, IN1

EQ

BOOL

1, IN1 = IN2

LT

BOOL

1, IN1 < IN2

LE

BOOL

1, IN1

IN2

IN2

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques para comparar dos valores de entrada del mismo tipo


6.5 CMP_T: Comparador de valores TIME

6.5

CMP_T: Comparador de valores TIME

Funcin
Este bloque compara dos magnitudes de entrada y pone las salidas a los valores siguientes:
GT = 1 si IN1 > IN2,
GE = 1 si IN1

IN2

EQ = 1 si IN1 = IN2
LT = 1 si IN1 < IN2
LE = 1 si IN1

IN2

En todos los casos, las dems cuatro salidas se ponen a 0.

Conexiones
Nombre
Entradas
Salidas

Tipo de datos

Explicacin

Preajuste

IN1

TIME

Magnitud de entrada 1

IN2

TIME

Magnitud de entrada 2

GT

BOOL

1, IN1 > IN2

GE

BOOL

1, IN1

EQ

BOOL

1, IN1 = IN2

LT

BOOL

1, IN1 < IN2

LE

BOOL

1, IN1

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

IN2

IN2

39

Bloques para comparar dos valores de entrada del mismo tipo


6.5 CMP_T: Comparador de valores TIME

40

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques para convertir tipos de datos


7.1

CONVERT

Introduccin
En CFC slo se pueden unir salidas de bloques (tipo origen) a entradas de bloques (tipo
destino) cuando ambos tipos de datos sean idnticos (p .ej. una salida REAL con una
entrada REAL). Para interconectar tipos de datos diferentes deben utilizarse bloques de
conversin. Estos bloques disponen de entradas y salidas de tipos distintos y convierten el
valor de la entrada al tipo de datos de la salida.

Reglas de conversin
Los nombres de tipos de los bloques de conversin se forman a partir de las abreviaturas de
los tipos de datos de origen y de destino, que se unen mediante el carcter "_".
En la tabla siguiente se describen brevemente las reglas de conversin de cada uno de los
bloques. Si el valor de entrada IN no se encuentra dentro del margen permitido, el valor de
salida OUT no es vlido y en la salida de comprobacin se indica ENO = 0.
ENO se puede evaluar para p. ej. utilizar un valor sustitutivo o de seguridad en el
procesamiento subsiguiente.
En la librera CONVERT se han implementado bloques que convierten n valores de un tipo
de datos en m valores de otro tipo de datos (m y n tambin pueden tener el mismo valor).

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

41

Bloques para convertir tipos de datos


7.1 CONVERT
Los siguientes bloques convierten un valor de un tipo de datos en un valor de otro tipo de
datos:
BY_DW (Pgina 43)

Convierte BYTE en DWORD

BY_W (Pgina 43)

Convierte BYTE en WORD

DI_DW (Pgina 44)

Convierte DINT en DWORD

DI_I (Pgina 44)

Convierte DINT en INT

DI_R (Pgina 45)

Convierte DINT en REAL

DW_DI (Pgina 45)

Convierte DWORD en DINT

DW_R (Pgina 46)

Convierte DWORD en REAL

DW_W (Pgina 46)

Convierte DWORD en WORD

I_DI (Pgina 47)

Convierte INT en DINT

I_DW (Pgina 47)

Convierte INT en DWORD

I_R (Pgina 48)

Convierte INT en REAL

I_W (Pgina 48)

Convierte INT en WORD

R_DI (Pgina 49)

Convierte REAL en DINT

R_DW (Pgina 49)

Convierte REAL en DWORD

R_I (Pgina 50)

Convierte REAL en INT

W_BY (Pgina 50)

Convierte WORD en BYTE

W_DW (Pgina 51)

Convierte WORD en DWORD

W_I (Pgina 51)

Convierte WORD en INT

Los siguientes bloques convierten varios valores del tipo BOOL en un valor del tipo BYTE,
WORD o DWORD:
BO_BY (Pgina 52)

Convierte BOOL en BYTE, 8 entradas

BO_W (Pgina 52)

Convierte BOOL en WORD, 16 entradas

BO_DW (Pgina 53)

Convierte BOOL en DWORD, 32 entradas

Los siguientes bloques convierten un valor del tipo BYTE, WORD o DWORD en varios
valores del tipo BOOL:

42

BY_BO (Pgina 53)

Convierte BYTE en BOOL, 8 salidas

W_BO (Pgina 54)

Convierte WORD en BOOL, 16 salidas

DW_BO (Pgina 54)

Convierte DWORD en BOOL, 32 salidas

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques para convertir tipos de datos


7.2 BY_DW

7.2

BY_DW

Funcin
El byte de IN se copia al byte bajo de OUT, en tanto que los bytes altos se ponen a 0.

Tratamiento de errores
No aplicable

Conexiones
Nombre

7.3

Tipo de datos

Preajuste

Entrada

IN

BYTE

Salida

OUT

DWORD

BY_W

Funcin
El byte de IN se copia al byte bajo de OUT, en tanto que el byte alto se pone a 0.

Tratamiento de errores
No aplicable

Conexiones
Nombre

Tipo de datos

Preajuste

Entrada

IN

BYTE

Salida

OUT

WORD

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

43

Bloques para convertir tipos de datos


7.4 DI_DW

7.4

DI_DW

Funcin
Copia la cadena de bits de IN a OUT.

Tratamiento de errores
No aplicable

Conexiones
Nombre

7.5

Tipo de datos

Explicacin

Preajuste

Entrada

IN

DINT

Valor de entrada

Salida

OUT

DWORD

Valor de salida

DI_I

Funcin
Interpreta la cadena de bits en IN como INT y la copia a OUT.

Tratamiento de errores
Si los valores de IN se encuentran fuera del rango de -32 768 ... 32 767, ENO = 0 y OUT
tendr un valor no vlido.

Conexiones

44

Nombre

Tipo de datos

Explicacin

Preajuste

Entrada

IN

DINT

Valor de entrada

Salida

OUT

INT

Valor de salida

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques para convertir tipos de datos


7.6 DI_R

7.6

DI_R

Funcin
Convierte el valor de IN en un nmero REAL y lo copia a OUT.

Tratamiento de errores
No aplicable

Conexiones
Nombre

7.7

Tipo de datos

Preajuste

Entrada

IN

DINT

Salida

OUT

REAL

DW_DI

Funcin
Copia la cadena de bits de IN a OUT.

Tratamiento de errores
No aplicable

Conexiones
Nombre

Tipo de datos

Explicacin

Preajuste

Entrada

IN

DWORD

Valor de entrada

Salida

OUT

DINT

Valor de salida

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

45

Bloques para convertir tipos de datos


7.8 DW_R

7.8

DW_R

Funcionamiento
El bloque slo transfiere la cadena de bits pero no hace ninguna conversin. Para obtener
una conversin de valor a REAL es necesario utilizar el bloque DW_DI y a continuacin el
bloque DI_R.

Funcin
Copia la cadena de bits de IN a OUT.

Tratamiento de errores
No aplicable

Conexiones

7.9

Nombre

Tipo de datos

Explicacin

Preajuste

Entrada

IN

DWORD

Valor de entrada

Salida

OUT

REAL

Valor de salida

DW_W

Funcin
Copia la palabra baja desde IN a OUT.

Tratamiento de errores
ENO = 0 siendo la palabra alta de IN > 0

Conexiones

46

Nombre

Tipo de datos

Explicacin

Preajuste

Entrada

IN

DWORD

Valor de entrada

Salida

OUT

WORD

Valor de salida

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques para convertir tipos de datos


7.10 I_DI

7.10

I_DI

Funcin
Copia el valor de IN a OUT.

Tratamiento de errores
No aplicable

Conexiones

7.11

Nombre

Tipo de datos

Preajuste

Entrada

IN

INT

Salida

OUT

DINT

I_DW

Funcin
Copia la cadena de bits de IN a la palabra baja de OUT, en tanto que la palabra alta se pone
a 0.

Tratamiento de errores
No aplicable

Conexiones
Nombre

Tipo de datos

Entrada

IN

INT

Valor de entrada

Salida

OUT

DWORD

Valor de salida

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Explicacin

Preajuste

47

Bloques para convertir tipos de datos


7.12 I_R

7.12

I_R

Funcin
Convierte el nmero entero de IN en OUT.

Tratamiento de errores
No aplicable

Conexiones

7.13

Nombre

Tipo de datos

Preajuste

Entrada

IN

INT

Salida

OUT

REAL

I_W

Funcin
Copia la cadena de bits de IN a OUT.

Tratamiento de errores
No aplicable

Conexiones

48

Nombre

Tipo de datos

Explicacin

Preajuste

Entrada

IN

INT

Valor de entrada

Salida

OUT

WORD

Valor de salida

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques para convertir tipos de datos


7.14 R_DI

7.14

R_DI

Funcin
Convierte el nmero REAL de IN a OUT.

Tratamiento de errores
Si el valor de IN no se encuentra entre -2,147483648e+09 y 2,147483647e+09, entonces
ENO = 0 y OUT tendr un valor no vlido.

Conexiones

7.15

Nombre

Tipo de datos

Preajuste

Entrada

IN

REAL

Salida

OUT

DINT

R_DW

Funcionamiento
El bloque slo transfiere la cadena de bits pero no hace ninguna conversin. Para convertir
valores en DW es preciso utilizar el bloque R_TO_DW (PCS 7 Library).

Funcin
Copia la cadena de bits de IN a OUT.

Tratamiento de fallos
No aplicable

Conexiones
Nombre

Tipo de datos

Preajuste

Entrada

IN

REAL

Salida

OUT

DWORD

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

49

Bloques para convertir tipos de datos


7.16 R_I

7.16

R_I

Funcin
Convierte el nmero REAL de IN a OUT.

Tratamiento de errores
Si el valor de IN no se encuentra entre -32.768 y 32.767, entonces ENO = 0 y OUT tendr
un valor no vlido.

Conexiones
Nombre

7.17

Tipo de datos

Preajuste

Entrada

IN

REAL

Salida

OUT

INT

W_BY

Funcin
Copia el byte bajo de IN a OUT.

Tratamiento de errores
Si el byte alto > 0, entonces ENO = 0.

Conexiones

50

Nombre

Tipo de datos

Explicacin

Preajuste

Entrada

IN

WORD

Valor de entrada

Salida

OUT

BYTE

Valor de salida

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques para convertir tipos de datos


7.18 W_DW

7.18

W_DW

Funcin
Copia la palabra de IN a la palabra baja de OUT.

Tratamiento de errores
No aplicable

Conexiones

7.19

Nombre

Tipo de datos

Preajuste

Entrada

IN

WORD

Salida

OUT

DWORD

W_I

Funcin
Copia la cadena de bits de IN a OUT.

Tratamiento de errores
No aplicable

Conexiones
Nombre

Tipo de datos

Explicacin

Preajuste

Entrada

IN

WORD

Valor de entrada

Salida

OUT

INT

Valor de salida

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

51

Bloques para convertir tipos de datos


7.20 BO_BY

7.20

BO_BY

Funcin
Este bloque convierte los 8 valores de entrada del tipo BOOL en un valor del tipo BYTE que
se deposita en la salida. La conversin 8 BOOL -> 1 BYTE se realiza de la siguiente forma:
El bit i-te del valor BYTE pasa a 0 ( 1) cuando el valor de entrada i-te es 0 ( 1). (i = 0..7).

Tratamiento de fallos
No aplicable

Conexiones

Entradas

Salida

7.21

Nombre

Tipo de datos

Preajuste

IN0

BOOL

...

...

IN7

BOOL

OUT

BYTE

BO_W

Funcin
Este bloque convierte los 16 valores de entrada del tipo BOOL en un valor del tipo WORD
que se deposita en la salida. La conversin 16 BOOL -> 1 WORD se realiza de la siguiente
forma:
El bit i-te del valor WORD pasa a 0 ( 1) cuando el valor de entrada i-te es 0 ( 1) (i = 0..15).

Tratamiento de fallos
No aplicable

Conexiones

Entradas

Salida

52

Nombre

Tipo de datos

Preajuste

IN0

BOOL

...

...

IN15

BOOL

OUT

WORD

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques para convertir tipos de datos


7.22 BO_DW

7.22

BO_DW

Funcin
Este bloque convierte los 32 valores de entrada del tipo BOOL en un valor del tipo DWORD
que se deposita en la salida. La conversin 32 BOOL -> 1 DWORD se realiza de la
siguiente forma:
El bit i-te del valor DWORD pasa a 0 ( 1) cuando el valor de entrada i-te es 0 ( 1)
(i = 0..31).

Tratamiento de fallos
No aplicable

Conexiones

Entradas

Salida

7.23

Nombre

Tipo de datos

Preajuste

IN0

BOOL

...

...

IN31

BOOL

OUT

DWORD

BY_BO

Funcin
Este bloque convierte el valor de entrada del tipo de datos BYTE en 8 valores del tipo de
datos BOOL, que se depositan en las 8 salidas. Durante el proceso, IN-Bit0 se convierte en
OUT0, IN-Bit1 en OUT1, etc.

Tratamiento de errores
No aplicable

Conexiones
Nombre

Tipo de datos

Preajuste

Entrada

IN

BYTE

Salidas

OUT0

BOOL

...

...

OUT7

BOOL

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

53

Bloques para convertir tipos de datos


7.24 W_BO

7.24

W_BO

Funcin
Este bloque convierte el valor de entrada del tipo de datos WORD en 16 valores del tipo de
datos BOOL, que se aplican en 16 salidas. Durante el proceso, IN-Bit0 se convierte en
OUT0, IN-Bit1 en OUT1, etc.

Tratamiento de fallos
No aplicable

Conexiones

7.25

Nombre

Tipo de datos

Preajuste

Entrada

IN

WORD

Salidas

OUT0

BOOL

...

...

OUT15

BOOL

DW_BO

Funcin
Este bloque convierte el valor de entrada del tipo de datos DWORD en 32 valores del tipo
de datos BOOL, que se aplican en 32 salidas. En el proceso de conversin, IN-Bit0 se
convierte en OUT0, IN-Bit1 en OUT1, etc.

Tratamiento de fallos
No aplicable

Conexiones

54

Nombre

Tipo de datos

Preajuste

Entrada

IN

DWORD

Salidas

OUT0

BOOL

...

...

OUT31

BOOL

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques aritmticos con el tipo de datos REAL


8.1

MATH_FP

Bloques CFC de la familia "MATH_FP"


Esta familia comprende los siguientes bloques que permiten realizar operaciones aritmticas
con datos del tipo REAL:
ADD_R (Pgina 56)

Suma de valores REAL

SUB_R (Pgina 56)

Substraccin de valores REAL

MUL_R (Pgina 57)

Multiplicacin de valores REAL

DIV_R (Pgina 57)

Divisin de valores REAL

ABS_R (Pgina 60)

Valor absoluto de valores REAL

EPS_R (Pgina 67)

Precisin, aproximacin

NEG_R (Pgina 66)

Negador de valores REAL

MAXn_R (Pgina 58)

Mximo de valores REAL

MINn_R (Pgina 59)

Mnimo de valores REAL

LIM_R (Pgina 66)

Limitador de valores REAL

CADD_R (Pgina 68)

Sumador controlable de valores REAL

SQRT (Pgina 60)

Raz cuadrada

EXP (Pgina 61)

Funcin exponencial

POW10 (Pgina 61)

Funcin de potencias de diez

LN (Pgina 62)

Logaritmo natural

LOG10 (Pgina 62)

Logaritmo en base 10

SIN (Pgina 63)

Funcin de seno

COS (Pgina 63)

Funcin de coseno

TAN (Pgina 64)

Funcin de tangente

ASIN (Pgina 64)

Funcin de arcoseno

ACOS (Pgina 65)

Funcin de arcocoseno

ATAN (Pgina 65)

Funcin de arcotangente

POWXY (Pgina 69)

Funcin general de potenciacin

SAMP_AVE (Pgina 70)

Valor medio flotante

Nota
El rango de valores de los nmeros reales es:
-3,40282e^+38 ... -1,755e^-38 ... 0 ... 1,755e^-38 ... 3,40282e^+38

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

55

Bloques aritmticos con el tipo de datos REAL


8.2 ADD_R: Suma de valores REAL

8.2

ADD_R: Suma de valores REAL

Funcin
Este bloque suma las entradas y deposita la suma en la salida.
OUT = IN1 + IN2

Tratamiento de errores
ENO = 0 en caso de rebase por exceso o por defecto.

Conexiones

8.3

Nombre

Tipo de datos

Explicacin

Preajuste

Entradas

IN1

REAL

Sumando 1

0.0

IN2

REAL

Sumando 2

0.0

Salida

OUT

REAL

Suma

0.0

SUB_R: Substraccin de valores REAL

Funcin
Este bloque resta la entrada IN2 de la entrada IN1 y deposita la diferencia en la salida.
OUT = IN1 - IN2

Tratamiento de errores
ENO = 0 en caso de rebase por exceso o por defecto.

Conexiones

Entradas
Salida

56

Nombre

Tipo de datos

Explicacin

Preajuste

IN1

REAL

Minuendo

0.0

IN2

REAL

Substraendo

0.0

OUT

REAL

Diferencia

0.0

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques aritmticos con el tipo de datos REAL


8.4 MUL_R: Multiplicacin de valores REAL

8.4

MUL_R: Multiplicacin de valores REAL

Funcin
Este bloque multiplica las entradas y deposita el producto en la salida.
OUT = IN1 * IN2

Tratamiento de errores
ENO = 0 en caso de rebase por exceso o por defecto.

Conexiones

Entradas
Salida

8.5

Nombre

Tipo de datos

Explicacin

Preajuste

IN1

REAL

Multiplicando

0.0

IN2

REAL

Multiplicador

0.0

OUT

REAL

Producto

0.0

DIV_R: Divisin de valores REAL

Funcin
Este bloque divide la entrada IN2 por la entrada IN1 y deposita el cociente en la salida.
OUT = IN1 / IN2

Tratamiento de errores
Al producirse una divisin por 0, un rebase por exceso o un rebase por defecto, ENO recibe
el valor 0.

Conexiones
Nombre

Tipo de datos

Explicacin

Preajuste

Entradas

IN1

REAL

Dividendo

0.0

IN2

REAL

Divisor

0.0

Salida

OUT

REAL

Cociente

0.0

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

57

Bloques aritmticos con el tipo de datos REAL


8.6 MAXn_R: Mximo de valores REAL

8.6

MAXn_R: Mximo de valores REAL

Funcin
Este bloque compara las entradas y deposita el valor mximo en la salida.
OUT = MAX {IN1, ... , INn}

Bloques
Nombre

Explicacin

MAX2_R

2 entradas del tipo REAL

MAX4_R

4 entradas del tipo REAL

MAX8_R

8 entradas del tipo REAL

Conexiones

Entradas

Nombre

Tipo de datos

Explicacin

Preajuste

IN1

REAL

Magnitud de entrada 1

0.0

INn

REAL

Magnitud de entrada n

0.0

OUT

REAL

Valor mximo

0.0

...
Salida

58

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques aritmticos con el tipo de datos REAL


8.7 MINn_R: Mnimo de valores REAL

8.7

MINn_R: Mnimo de valores REAL

Funcin
Este bloque compara las entradas y deposita el valor mnimo en la salida.
OUT = MIN {IN1, ... , INn}

Bloques
Nombre

Explicacin

MIN2_R

2 entradas del tipo REAL

MIN4_R

4 entradas del tipo REAL

MIN8_R

8 entradas del tipo REAL

Conexiones

Entradas

Nombre

Tipo de datos

Explicacin

Preajuste

IN1

REAL

Magnitud de entrada 1

0.0

INn

REAL

Magnitud de entrada n

0.0

OUT

REAL

Valor mximo

0.0

...
Salida

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

59

Bloques aritmticos con el tipo de datos REAL


8.8 ABS_R: Valor absoluto de valores REAL

8.8

ABS_R: Valor absoluto de valores REAL

Funcin
Este bloque deposita en la salida el valor absoluto de la entrada.
OUT = | IN |

Conexiones

8.9

Nombre

Tipo de datos

Explicacin

Preajuste

Entradas

IN

REAL

Valor de entrada

0.0

Salida

OUT

REAL

Valor absoluto

0.0

SQRT: Raz cuadrada

Funcin
Este bloque calcula la raz cuadrada de la entrada y la deposita en la salida.
OUT = SQRT(IN)

Tratamiento de errores
ENO = 0 y OUT = 0 si IN < 0.

Conexiones

60

Nombre

Tipo de datos

Explicacin

Preajuste

Entrada

IN

REAL

Radicando

0.0

Salida

OUT

REAL

Raz

0.0

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques aritmticos con el tipo de datos REAL


8.10 EXP: Funcin exponencial

8.10

EXP: Funcin exponencial

Funcin
Este bloque calcula la funcin exponencial de la entrada y deposita el resultado en la salida.
El nmero "e" es el nmero de Euler 2,71 y la base del logaritmo natural.
OUT = e^IN

Tratamiento de errores
ENO = 0 en caso de rebase por exceso o por defecto.
ENO = 0 y OUT = 0 si IN < 0.

Conexiones

8.11

Nombre

Tipo de datos

Explicacin

Preajuste

Entrada

IN

REAL

Exponente

0.0

Salida

OUT

REAL

Funcin exponencial

0.0

POW10: Funcin de potencias de diez

Funcin
Este bloque calcula la funcin de potencias 10IN de la entrada y la pone a disposicin en la
salida.
OUT = 10^IN

Tratamiento de fallos
ENO = 0 con IN1 < -37.9 e IN1 > 38.5

Conexiones
Nombre

Tipo de datos

Explicacin

Preajuste

Entrada

IN

REAL

Exponente

0.0

Salida

OUT

REAL

Potencia de diez

0.0

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

61

Bloques aritmticos con el tipo de datos REAL


8.12 LN: Logaritmo natural

8.12

LN: Logaritmo natural

Funcin
Este bloque calcula el logaritmo natural de la entrada y deposita el resultado en la salida.
OUT = LN (IN)
La entrada IN debe ser positiva.

Tratamiento de errores
ENO = 0 en caso de rebase por exceso o por defecto.
ENO = 0 y OUT = 0 si IN < 0.

Conexiones

8.13

Nombre

Tipo de datos

Explicacin

Preajuste

Entrada

IN

REAL

Argumento

0.0

Salida

OUT

REAL

nat. Logaritmo

0.0

LOG10: Logaritmo en base 10

Funcin
Este bloque calcula el logaritmo en base 10 de la entrada y deposita el resultado en la
salida.
OUT = LOG10(IN)
La entrada IN debe ser positiva.

Tratamiento de errores
ENO = 0 en caso de rebase por exceso o por defecto.
ENO = 0 y OUT = 0 si IN < 0.

Conexiones

62

Nombre

Tipo de datos

Explicacin

Preajuste

Entrada

IN

REAL

Argumento

0.0

Salida

OUT

REAL

Logaritmo

0.0

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques aritmticos con el tipo de datos REAL


8.14 SIN: Funcin de seno

8.14

SIN: Funcin de seno

Funcin
Este bloque calcula la funcin de seno de la entrada y la deposita en la salida. IN se debe
indicar en grados de arco.
OUT = SIN(IN)

Conexiones
Nombre

8.15

Tipo de datos

Explicacin

Preajuste

Entrada

IN

REAL

Argumento

0.0

Salida

OUT

REAL

Seno

0.0

COS: Funcin de coseno

Funcin
Este bloque calcula la funcin de coseno de la entrada y la deposita en la salida. IN se debe
indicar en grados de arco.
OUT = COS(IN)

Conexiones
Nombre

Tipo de datos

Explicacin

Preajuste

Entrada

IN

REAL

Argumento

0.0

Salida

OUT

REAL

Coseno

0.0

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

63

Bloques aritmticos con el tipo de datos REAL


8.16 TAN: Funcin de tangente

8.16

TAN: Funcin de tangente

Funcin
Este bloque calcula la funcin de tangente de la entrada y la deposita en la salida. IN se
debe indicar en grados de arco.
OUT = TAN(IN)

Conexiones
Nombre

8.17

Tipo de datos

Explicacin

Preajuste

Entrada

IN

REAL

Argumento

0.0

Salida

OUT

REAL

Tangente

0.0

ASIN: Funcin de arcoseno

Funcin
Este bloque calcula el arcoseno de la entrada y deposita el resultado en la salida. El
resultado se indica en grados de arco y su valor est comprendido entre - /2 y + /2. El
argumento de la funcin debe encontrarse entre 1 y +1.
OUT = ASIN(IN)

Conexiones

64

Nombre

Tipo de datos

Explicacin

Preajuste

Entrada

IN

REAL

Argumento

0.0

Salida

OUT

REAL

Arcoseno

0.0

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques aritmticos con el tipo de datos REAL


8.18 ACOS: Funcin de arcocoseno

8.18

ACOS: Funcin de arcocoseno

Funcin
Este bloque calcula el arcocoseno de la entrada y deposita el resultado en la salida. El
resultado se indica en grados de arco y tiene un valor comprendido entre 0 y . El
argumento de la funcin debe estar comprendido entre 1 y +1.
OUT = ACOS(IN)

Tratamiento de errores
ENO = 0 siendo IN < -1 --> OUT = 3.14..
ENO = 0 siendo IN > 1 --> OUT = 0

Conexiones

8.19

Nombre

Tipo de datos

Explicacin

Preajuste

Entrada

IN

REAL

Argumento

0.0

Salida

OUT

REAL

Arcocoseno

0.0

ATAN: Funcin de arcotangente

Funcin
Este bloque calcula la arcotangente de la entrada y deposita el resultado en la salida. El
resultado se indica en grados de arco y tiene un valor comprendido entre - /2 y + /2.
Como rango vlido de argumentos se admiten todos los nmeros del rango REAL.
OUT = ATAN(IN)

Conexiones
Nombre

Tipo de datos

Explicacin

Preajuste

Entrada

IN

REAL

Argumento

0.0

Salida

OUT

REAL

Arcotangente

0.0

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

65

Bloques aritmticos con el tipo de datos REAL


8.20 NEG_R

8.20

NEG_R

Funcin
Este bloque deposita la magnitud de entrada en la salida, pero con el signo invertido.

Conexiones

8.21

Nombre

Tipo de datos

Explicacin

Preajuste

Entrada

IN

REAL

Magnitud de entrada

0.0

Salida

OUT

REAL

Magnitud de salida

0.0

LIM_R: Limitador de valores REAL

Funcin
Este bloque compara los valores de entrada IN, MAX y MIN. Se comprueba si IN se
encuentra dentro o fuera del intervalo limitado por MIN y MAX. Si el lmite inferior MIN del
intervalo es mayor o igual que el lmite superior MAX, la salida OUT ser igual a MAX y las
salidas OUTU y OUTL adoptarn el valor 1. Si IN > MAX, hay un rebase del lmite por
exceso, OUT = MAX, OUTU = 1 y OUTL = 0. Si IN < MIN, entonces hay un rebase de lmite
por defecto, OUT = MIN, OUTU = 0, OUTL = 1. Si IN se encuentra entre MIN y MAX,
entonces OUT = IN, OUTU = 0, OUTL = 0.

Conexiones

Entradas

Salidas

66

Nombre

Tipo de datos

Explicacin

Preajuste

IN

REAL

Magnitud de entrada

0.0

MIN

REAL

Lmite inferior

-100.0

MAX

REAL

Lmite superior

100.0

OUT

REAL

Magnitud de salida

OUTU

BOOL

Rebase por exceso

OUTL

BOOL

Rebase por defecto

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques aritmticos con el tipo de datos REAL


8.22 EPS_R

8.22

EPS_R

Funcin
Este bloque compara los valores absolutos de las entradas. Si el valor absoluto de la
entrada IN es inferior al lmite INTERVAL, la salida QA se pone a 1, en tanto que la salida
QN se pone a 0. La magnitud de entrada IN estar contenida entonces en el intervalo. De lo
contrario, la salida QA se pone a 0 y la salida QN se pone a 1. En este caso, la magnitud de
entrada se encontrar fuera del intervalo.

Conexiones

Entradas
Salidas

Nombre

Tipo de
datos

Explicacin

Preajuste

IN

REAL

Magnitud de entrada

0.0

INTERVAL

REAL

Lmite del intervalo

0.0

QA

BOOL

Marca de validez

QN

BOOL

Marca de validez invertida

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

67

Bloques aritmticos con el tipo de datos REAL


8.23 CADD_R

8.23

CADD_R

Funcin
Este bloque suma la magnitud de entrada IN a la magnitud de salida OUT si la entrada CI
tiene el valor 1 y las entradas RI y SI tienen el valor 0. Si RI = 1, la salida OUT se pone a 0.
Si SI = 1 y RI = 0, OUT adopta el valor IN (OUT = IN).

Tratamiento de errores
ENO = 0 en caso de rebase por exceso o por defecto.

Tabla de verdad
RI

SI

CI

OUT

ENO

IN

OUT* + IN

OUT*

X es un valor cualquiera
OUT* es el valor antiguo del ltimo ciclo

Conexiones

Entradas

Salida

68

Nombre

Tipo de datos

Explicacin

Preajuste

IN

REAL

Sumando

0.0

RI

BOOL

Poner a cero

SI

BOOL

Poner a uno

CI

BOOL

Contar

OUT

REAL

Suma

0.0

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques aritmticos con el tipo de datos REAL


8.24 POWXY: Funcin general de potenciacin

8.24

POWXY: Funcin general de potenciacin

Funcin
Este bloque proporciona en la salida el valor de entrada IN1, elevado a la potencia
correspondiente al valor de entrada IN2.
OUT = IN1^IN2

Tratamiento de errores
En caso de rebase por exceso o por defecto, M7 pasa al estado STOP.

Conexiones
Nombre

Tipo de datos

Explicacin

Preajuste

Entradas

IN1

REAL

Base

0.0

IN2

REAL

Exponente

0.0

Salida

OUT

REAL

Magnitud de salida

0.0

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

69

Bloques aritmticos con el tipo de datos REAL


8.25 SAMP_AVE: Valor medio flotante

8.25

SAMP_AVE: Valor medio flotante

Funcin
Este bloque calcula el valor medio de los ltimos valores de entrada N y deposita el
resultado en la salida.
OUT = (Ink + Ink -1 + ... + Ink -n + 1) / N
siendo Ink el valor de entrada actual. La cantidad N de valores de entrada debe cumplir la
condicin
0 < N < 33
.

Comportamiento de arranque
Al arrancar y durante la primera ejecucin, cada elemento del bfer se pone a 0 para recibir
valores IN y OUT.

Conexiones

Entradas

Salida

70

Nombre

Tipo de datos

Explicacin

Preajuste

IN
N

REAL

Magnitud de entrada

0.0

INT

Nmero de entradas
consideradas

OUT

REAL

Valor medio

0.0

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques aritmticos con los tipos de datos INT y


DINT
9.1

MATH_INT

Bloques CFC de la familia "MATH_INT"


Esta familia comprende los siguientes bloques que permiten realizar operaciones aritmticas
con datos del tipo INT y DINT.
ADD_I (Pgina 72)

Suma de valores INT

ADD_DI (Pgina 79)

Suma de valores DINT

SUB_I (Pgina 72)

Substraccin de valores INT

SUB_DI (Pgina 79)

Substraccin de valores DINT

MUL_I (Pgina 73)

Multiplicacin de valores INT

MUL_DI (Pgina 80)

Multiplicacin de valores DINT

DIV_I (Pgina 73)

Divisin de valores INT

DIV_DI (Pgina 80)

Divisin de valores DINT

ABS_I (Pgina 75)

Valor absoluto de valores INT

ABS_DI (Pgina 82)

Valor absoluto de valores DINT

EPS_I (Pgina 77)

Precisin; aproximacin de valores INT

EPS_DI (Pgina 84)

Precisin; aproximacin de valores DINT

NEG_I (Pgina 76)

Negador de valores INT

NEG_DI (Pgina 83)

Negador de valores DINT

MOD_I (Pgina 74)

Funcin mdulo de valores INT

MOD_DI (Pgina 81)

Funcin mdulo de valores DINT

MAXn_I (Pgina 74)

Mximo de valores INT

MAXn_DI (Pgina 81)

Mximo de valores DINT

MINn_I (Pgina 75)

Mnimo de valores INT

MINn_DI (Pgina 82)

Mnimo de valores DINT

LIM_I (Pgina 76)

Limitador de valores INT

LIM_DI (Pgina 83)

Limitador de valores DINT

CADD_I (Pgina 78)

Sumador controlable de valores INT

CADD_DI (Pgina 85)

Sumador controlable de valores DINT

Nota
Los rangos de valores correspondientes a los tipos de datos INT y DINT son:
INT : -32 768 ... 32 767
DINT: -2 147 483 648 ... 2 147 483 647

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

71

Bloques aritmticos con los tipos de datos INT y DINT


9.2 ADD_I: Suma de valores INT

9.2

ADD_I: Suma de valores INT

Funcin
Este bloque suma las entradas y deposita la suma en la salida.
OUT = IN1 + IN2

Tratamiento de errores
ENO = 0 en caso de rebase por exceso o por defecto.

Conexiones

Entradas
Salida

9.3

Nombre

Tipo de datos

Explicacin

Preajuste

IN1

INT

Sumando 1

IN2

INT

Sumando 2

OUT

INT

Suma

SUB_I: Substraccin de valores INT

Funcin
Este bloque resta la entrada IN2 de la entrada IN1 y deposita la diferencia en la salida.
OUT = IN1 - IN2

Tratamiento de errores
ENO = 0 en caso de rebase por exceso o por defecto.

Conexiones

Entradas
Salida

72

Nombre

Tipo de datos

Explicacin

Preajuste

IN1

INT

Minuendo

IN2

INT

Substraendo

OUT

INT

Diferencia

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques aritmticos con los tipos de datos INT y DINT


9.4 MUL_I: Multiplicacin de valores INT

9.4

MUL_I: Multiplicacin de valores INT

Funcin
Este bloque multiplica las entradas y deposita el producto en la salida.
OUT = IN1 * IN2

Tratamiento de errores
ENO = 0 en caso de rebase por exceso o por defecto.

Conexiones

Entradas
Salida

9.5

Nombre

Tipo de datos

Explicacin

Preajuste

IN1

INT

Multiplicando

IN2

INT

Multiplicador

OUT

INT

Producto

DIV_I: Divisin de valores INT

Funcin
Este bloque divide la entrada IN2 por la entrada IN1 y deposita el cociente en la salida.
OUT = IN1 / IN2

Tratamiento de errores
ENO = 0 al dividirse por cero y 32768 al dividirse por 1.

Conexiones

Entradas
Salida

Nombre

Tipo de datos

Explicacin

Preajuste

IN1

INT

Dividendo

IN2

INT

Divisor

OUT

INT

Cociente

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

73

Bloques aritmticos con los tipos de datos INT y DINT


9.6 MOD_I: Funcin mdulo de valores INT

9.6

MOD_I: Funcin mdulo de valores INT

Funcin
Este bloque deposita en la salida el resto de la divisin de enteros DIV_I (Pgina 73) de la
entrada IN1 dividida por la entrada IN2.

Tratamiento de errores
ENO = 0 al dividirse por 0.

Conexiones

Entradas
Salida

9.7

Nombre

Tipo de datos

Explicacin

Preajuste

IN1

INT

Dividendo

IN2

INT

Divisor

OUT

INT

Resto de la divisin

MAXn_I: Mximo de valores INT

Funcin
Este bloque compara las entradas y deposita el valor mximo en la salida.
OUT = MAX {IN1, ... , INn}Bloques
Nombre

Explicacin

MAX2_I

2 entradas del tipo INT

MAX4_I

4 entradas del tipo INT

MAX8_I

8 entradas del tipo INT

Conexiones

Entradas

Nombre

Tipo de datos

Explicacin

Preajuste

IN1

INT

Magnitud de entrada 1

...
Salida

74

INn

INT

Magnitud de entrada n

OUT

INT

Valor mximo

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques aritmticos con los tipos de datos INT y DINT


9.8 MINn_I: Mnimo de valores INT

9.8

MINn_I: Mnimo de valores INT

Funcin
Este bloque compara las entradas y deposita el valor mnimo en la salida.
OUT = MIN {IN1, ... , INn}

Bloques
Nombre

Explicacin

MIN2_I

2 entradas del tipo INT

MIN4_I

4 entradas del tipo INT

MIN8_I

8 entradas del tipo INT

Conexiones

Entradas

Nombre

Tipo de datos

Explicacin

Preajuste

IN1

INT

Magnitud de entrada 1

INn

INT

Magnitud de entrada n

OUT

INT

Valor mximo

...
Salida

9.9

ABS_I: Valor absoluto de valores INT

Funcin
Este bloque deposita en la salida el valor absoluto de la entrada.
OUT = | IN |

Tratamiento de errores
ENO = 0 siendo IN = -32 768

Conexiones
Nombre

Tipo de datos

Explicacin

Preajuste

Entrada

IN

INT

Valor de entrada

Salida

OUT

INT

Valor absoluto

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

75

Bloques aritmticos con los tipos de datos INT y DINT


9.10 NEG_I: Negador de valores INT

9.10

NEG_I: Negador de valores INT

Funcin
Este bloque deposita la magnitud de entrada en la salida, pero con el signo cambiado.

Tratamiento de errores
ENO = 0 siendo IN = -32 768

Conexiones

9.11

Nombre

Tipo de datos

Explicacin

Preajuste

Entrada

IN

INT

Magnitud de entrada

Salida

OUT

INT

Magnitud de salida

LIM_I: Limitador de valores INT

Funcin
Este bloque compara los valores de entrada IN, MAX y MIN. Se comprueba si IN se
encuentra dentro o fuera del intervalo limitado por MIN y MAX.
Si el lmite inferior MIN del intervalo es mayor que el lmite superior MAX, la salida OUT ser
igual a MAX y las salidas OUTU y OUTL adoptarn el valor 1.
Si IN > MAX, hay un rebase del lmite por exceso, OUT = MAX, OUTU = 1 y OUTL = 0. Si IN
< MIN, entonces hay un rebase de lmite por defecto, OUT = MIN, OUTU = 0, OUTL = 1. Si
IN se encuentra entre MIN y MAX, entonces OUT = IN, OUTU = 0, OUTL = 0.

Tratamiento de fallos
ENO = 0 siendo MIN > MAX --> OUT = MAX; OUTU = OUTL = 1

Conexiones

Entradas

Salidas

76

Nombre

Tipo de datos

Explicacin

Preajuste

MAX

INT

Lmite superior

IN

INT

Magnitud de entrada

MIN

INT

Lmite inferior

OUTU

BOOL

Rebase por exceso

OUTL

BOOL

Rebase por defecto

OUT

INT

Magnitud de salida

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques aritmticos con los tipos de datos INT y DINT


9.12 EPS_I: Precisin; aproximacin de valores INT

9.12

EPS_I: Precisin; aproximacin de valores INT

Funcin
Este bloque compara el valor absoluto de la entrada IN y el valor de la entrada INTERVAL.
Si el valor absoluto de la entrada IN es inferior al lmite INTERVAL, la salida QA se pone a
1, en tanto que la salida QN se pone a 0. La magnitud de entrada IN estar contenida
entonces en el intervalo. De lo contrario, la salida QA se pone a 0 y la salida QN se pone a
1. En este caso, la magnitud de entrada se encontrar fuera del intervalo.
INTERVAL debe tener un valor positivo.
0, entonces QA = 0.
Si INTERVAL

Tratamiento de errores
ENO = 0 siendo IN = -32 768

Conexiones
Nombre
Entradas
Salidas

Tipo de
datos

Explicacin

Preajuste

IN

INT

Magnitud de entrada

INTERVAL

INT

Lmite del intervalo

QA

BOOL

Marca de validez

QN

BOOL

Marca de validez invertida

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

77

Bloques aritmticos con los tipos de datos INT y DINT


9.13 CADD_I: Sumador controlable de valores INT

9.13

CADD_I: Sumador controlable de valores INT

Funcin
Este bloque suma la magnitud de entrada IN a la magnitud de salida OUT si la entrada CI
tiene el valor 1 y las entradas RI y SI tienen el valor 0. Si RI = 1, la salida OUT adopta el
valor 0. Si SI = 1 y RI = 0, entonces OUT = IN.

Tratamiento de fallos
ENO = 0 en caso de rebase por exceso o por defecto.

Tabla de verdad
RI

SI

CI

OUT

ENO

IN

OUT* + IN

OUT*

X es un valor cualquiera
OUT* es el valor antiguo del ltimo ciclo

Conexiones

Entradas

Salida

78

Nombre

Tipo de datos

Explicacin

Preajuste

IN

INT

Sumando

RI

BOOL

Poner a cero

SI

BOOL

Poner a uno

CI

BOOL

Contar

OUT

INT

Suma

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques aritmticos con los tipos de datos INT y DINT


9.14 ADD_DI: Suma de valores DINT

9.14

ADD_DI: Suma de valores DINT

Funcin
Este bloque suma las entradas y deposita la suma en la salida.
OUT = IN1 + IN2

Tratamiento de errores
ENO = 0 en caso de rebase por exceso o por defecto.

Conexiones

9.15

Nombre

Tipo de datos

Explicacin

Preajuste

Entradas

IN1

DINT

Sumando 1

IN2

DINT

Sumando 2

Salida

OUT

DINT

Suma

SUB_DI: Substraccin de valores DINT

Funcin
Este bloque resta la entrada IN2 de la entrada IN1 y deposita la diferencia en la salida.
OUT = IN1 - IN2

Tratamiento de errores
ENO = 0 en caso de rebase por exceso o por defecto.

Conexiones

Entradas
Salida

Nombre

Tipo de datos

Explicacin

Preajuste

IN1

DINT

Minuendo

IN2

DINT

Substraendo

OUT

DINT

Diferencia

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

79

Bloques aritmticos con los tipos de datos INT y DINT


9.16 MUL_DI: Multiplicacin de DINT

9.16

MUL_DI: Multiplicacin de DINT

Funcin
Este bloque multiplica las entradas y deposita el producto en la salida.
OUT = IN1 * IN2

Tratamiento de errores
ENO = 0 en caso de rebase por exceso o por defecto.

Conexiones

Entradas
Salida

9.17

Nombre

Tipo de datos

Explicacin

Preajuste

IN1

DINT

Multiplicando

IN2

DINT

Multiplicador

OUT

DINT

Producto

DIV_DI: Divisin de valores DINT

Funcin
Este bloque divide la entrada IN2 por la entrada IN1 y deposita el cociente en la salida.
OUT = IN1 / IN2

Tratamiento de errores
ENO = 0 al dividirse por cero y 2147483648 al dividirse por 1.

Conexiones

Entradas
Salida

80

Nombre

Tipo de datos

Explicacin

Preajuste

IN1

DINT

Dividendo

IN2

DINT

Divisor

OUT

DINT

Cociente

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques aritmticos con los tipos de datos INT y DINT


9.18 MOD_DI: Funcin mdulo de valores DINT

9.18

MOD_DI: Funcin mdulo de valores DINT

Funcin
Este bloque deposita en la salida el resto de la divisin de enteros DIV_DI (Pgina 80) de la
entrada IN1 dividida por la entrada IN2.

Tratamiento de errores
ENO = 0 al dividirse por 0.

Conexiones

Entradas
Salida

9.19

Nombre

Tipo de datos

Explicacin

Preajuste

IN1

DINT

Dividendo

IN2

DINT

Divisor

OUT

DINT

Resto de la divisin

MAXn_DI: Mximo de valores DINT

Funcin
Este bloque compara las entradas y deposita el valor mximo en la salida.
OUT = MAX {IN1, ... , INn}

Bloques
Nombre

Explicacin

MAX2_DI

2 entradas del tipo DINT

MAX4_DI

4 entradas del tipo DINT

MAX8_DI

8 entradas del tipo DINT

Conexiones

Entradas

Nombre

Tipo de datos

Explicacin

Preajuste

IN1

DINT

Magnitud de entrada 1

...
Salida

INn

DINT

Magnitud de entrada n

OUT

DINT

Valor mximo

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

81

Bloques aritmticos con los tipos de datos INT y DINT


9.20 MINn_DI: Mnimo de valores DINT

9.20

MINn_DI: Mnimo de valores DINT

Funcin
Este bloque compara las entradas y deposita el valor mnimo en la salida.
OUT = MIN {IN1, ... , INn}

Bloques
Nombre

Explicacin

MIN2_DI

2 entradas del tipo DINT

MIN4_DI

4 entradas del tipo DINT

MIN8_DI

8 entradas del tipo DINT

Conexiones

Entradas

Nombre

Tipo de datos

Explicacin

Preajuste

IN1

DINT

Magnitud de entrada 1

INn

DINT

Magnitud de entrada n

OUT

DINT

Valor mximo

...
Salida

9.21

ABS_DI: Valor absoluto de valores DINT

Funcin
Este bloque deposita en la salida el valor absoluto de la entrada.
OUT = | IN |

Tratamiento de errores
ENO = 0 siendo IN = -2 147 483 648 (nmero negativo ms pequeo)

Conexiones

82

Nombre

Tipo de datos

Explicacin

Preajuste

Entrada

IN

DINT

Valor de entrada

Salida

OUT

DINT

Valor absoluto

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques aritmticos con los tipos de datos INT y DINT


9.22 NEG_DI: Negador de valores DINT

9.22

NEG_DI: Negador de valores DINT

Funcin
Este bloque deposita la magnitud de entrada en la salida, pero con el signo cambiado.

Tratamiento de errores
ENO = 0 siendo IN = -2.147.483.648

Conexiones

9.23

Nombre

Tipo de datos

Explicacin

Preajuste

Entrada

IN

DINT

Magnitud de entrada

Salida

OUT

DINT

Magnitud de salida

LIM_DI: Limitador de valores DINT

Funcin
Este bloque compara los valores de entrada IN, MAX y MIN. Se comprueba si IN se
encuentra dentro o fuera del intervalo limitado por MIN y MAX.
Si el lmite inferior MIN del intervalo es mayor que el lmite superior MAX, la salida OUT ser
igual a MAX y las salidas OUTU y OUTL adoptarn el valor 1.
Si IN > MAX, hay un rebase del lmite por exceso, OUT = MAX, OUTU = 1 y OUTL = 0. Si IN
< MIN, entonces hay un rebase de lmite por defecto, OUT = MIN, OUTU = 0, OUTL = 1. Si
IN se encuentra entre MIN y MAX, entonces OUT = IN, OUTU = 0, OUTL = 0.

Tratamiento de errores
ENO = 0 con MIN > MAX --> OUT = MAX; OUTU = OUTL = 1Conexiones

Entradas

Salidas

Nombre

Tipo de datos

Explicacin

Preajuste

MAX

DINT

Lmite superior

IN

DINT

Magnitud de entrada

MIN

DINT

Lmite inferior

OUTU

BOOL

Rebase por exceso

OUTL

BOOL

Rebase por defecto

OUT

DINT

Magnitud de salida

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

83

Bloques aritmticos con los tipos de datos INT y DINT


9.24 EPS_DI: Precisin; aproximacin de valores DINT

9.24

EPS_DI: Precisin; aproximacin de valores DINT

Funcin
Este bloque compara el valor absoluto de la entrada IN y el valor de la entrada INTERVAL.
Si el importe absoluto de la entrada IN es inferior al lmite INTERVAL, la salida QA adopta el
valor 1 y la salida QN el valor 0. La magnitud de entrada IN estar contenida entonces en el
intervalo. De lo contrario, la salida QA se pone a 0 y la salida QN se pone a 1. En este caso,
la magnitud de entrada se encontrar fuera del intervalo.
INTERVAL debe tener un valor positivo.
0, entonces QA = 0.
Si INTERVAL

Tratamiento de errores
ENO = 0 siendo IN = -2.147.483.648

Conexiones

84

Nombre

Tipo de datos

Explicacin

Preajuste

Entradas

IN

DINT

Magnitud de entrada

INTERVAL

DINT

Lmite del intervalo

Salidas

QA

BOOL

Marca de validez

QN

BOOL

Marca de validez
invertida

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques aritmticos con los tipos de datos INT y DINT


9.25 CADD_DI: Sumador controlable de valores DINT

9.25

CADD_DI: Sumador controlable de valores DINT

Funcin
Este bloque suma el valor de entrada IN al valor de salida OUT si la entrada CI tiene el valor
1 y las entradas RI y SI estn a 0. Si RI = 1, la salida OUT adopta el valor 0. Si SI = 1 y RI =
0, entonces OUT = IN.

Tratamiento de errores
ENO = 0 en caso de rebase por exceso o por defecto.

Tabla de verdad
RI

SI

CI

OUT

ENO

IN

OUT* + IN

OUT*

X es un valor cualquiera
OUT* es el valor antiguo, correspondiente al ltimo ciclo

Conexiones

Entradas

Salida

Nombre

Tipo de datos

Explicacin

Preajuste

IN

DINT

Sumando

RI

BOOL

Poner a cero

SI

BOOL

Poner a uno

CI

BOOL

Contar

OUT

DINT

Suma

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

85

Bloques aritmticos con los tipos de datos INT y DINT


9.25 CADD_DI: Sumador controlable de valores DINT

86

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

10

Bloques Flip-Flop
10.1

FLIPFLOP

Bloques CFC de la familia "FLIPFLOP"


Esta familia comprende los siguientes bloques Flip-Flop:

10.2

JK_FF
(Pgina 87)

FlipFlop JK

RS_FF
(Pgina 88)

FlipFlop RS, desactivacin dominante

SR_FF
(Pgina 88)

FlipFlop SR, activacin dominante

JK_FF

Funcin

n-1

n-1

n-1*

n-1

*Las salidas cambian su valor en la tarea del nivel de ejecucin insertado

Conexiones
Nombre
Entradas
Salidas

Tipo de datos

Explicacin

Preajuste

BOOL

Poner a uno

BOOL

Poner a cero

BOOL

Salida

BOOL

Salida negada

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

87

Bloques Flip-Flop
10.3 RS_FF: FlipFlop RS, desactivacin dominante

10.3

RS_FF: FlipFlop RS, desactivacin dominante

Funcin
R

n-1

n
n-1

Conexiones
Nombre
Entradas

Explicacin

Preajuste

BOOL

Poner a cero

BOOL

Poner a uno

Salidas

10.4

Tipo de datos

BOOL

Salida

BOOL

Salida negada

SR_FF: FlipFlop SR, activacin dominante

Funcin
R

n-1

n
n-1

Conexiones

Entradas
Salidas

88

Nombre

Tipo de datos

Explicacin

Preajuste

BOOL

Poner a cero

BOOL

Poner a uno

BOOL

Salida

BOOL

Salida negada

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

11

Bloques de desplazamiento
11.1

SHIFT

Bloques CFC de la familia "SHIFT"


Esta familia comprende los siguientes bloques que desplazan o rotan bit a bit el valor de
entrada y ponen el resultado en la salida.

11.2

SHL_W (Pgina 89)

Desplazar WORD hacia la izquierda

SHL_DW (Pgina 90)

Desplazar DWORD hacia la izquierda

SHR_W (Pgina 90)

Desplazar WORD hacia la derecha

SHR_DW (Pgina 91)

Desplazar DWORD hacia la derecha

ROL_W (Pgina 91)

Rotar WORD hacia la izquierda

ROL_DW (Pgina 92)

Rotar DWORD hacia la izquierda

ROR_W (Pgina 92)

Rotar WORD hacia la derecha

ROR_DW (Pgina 93)

Rotar DWORD hacia la derecha

SHL_W: Desplazar WORD hacia la izquierda

Funcin
El valor de entrada IN se desplaza bit a bit hacia la izquierda en la cantidad de posiciones
indicadas en la entrada N. El resultado se visualiza en la salida.

Conexiones

Entradas

Salida

Nombre

Tipo de datos

Explicacin

Preajuste

IN

WORD

Valor de entrada

WORD

Nmero de posiciones a
desplazar

OUT

WORD

Salida

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

89

Bloques de desplazamiento
11.3 SHL_DW: Desplazar DWORD hacia la izquierda

11.3

SHL_DW: Desplazar DWORD hacia la izquierda

Funcin
El valor de entrada IN se desplaza bit a bit hacia la izquierda en la cantidad de posiciones
indicadas en la entrada N. El resultado se visualiza en la salida.

Conexiones

Entradas

Salida

11.4

Nombre

Tipo de datos

Explicacin

Preajuste

IN

DWORD

Valor de entrada

WORD

Nmero de posiciones a
desplazar

OUT

DWORD

Salida

SHR_W: Desplazar WORD hacia la derecha

Funcin
El valor de entrada IN se desplaza bit a bit hacia la izquierda derecha en la cantidad de
posiciones indicadas en la entrada N. El resultado se visualiza en la salida.

Conexiones

Entradas

Salida

90

Nombre

Tipo de datos

Explicacin

Preajuste

IN

WORD

Valor de entrada

WORD

Nmero de posiciones a
desplazar

OUT

WORD

Salida

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques de desplazamiento
11.5 SHR_DW: Desplazar DWORD hacia la derecha

11.5

SHR_DW: Desplazar DWORD hacia la derecha

Funcin
El valor de entrada IN se desplaza bit a bit hacia la izquierda derecha en la cantidad de
posiciones indicadas en la entrada N. El resultado se visualiza en la salida.

Conexiones

Entradas

Salida

11.6

Nombre

Tipo de datos

Explicacin

Preajuste

IN

DWORD

Valor de entrada

WORD

Nmero de posiciones a
desplazar

OUT

DWORD

Salida

ROL_W: Rotar WORD hacia la izquierda

Funcin
El valor de entrada IN se rota bit a bit hacia la izquierda en la cantidad de posiciones
indicadas en la entrada N. El resultado se visualiza en la salida.

Conexiones

Entradas

Salida

Nombre

Tipo de datos

Explicacin

Preajuste

IN

WORD

Valor de entrada

WORD

Nmero de posiciones a
rotar

OUT

WORD

Salida

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

91

Bloques de desplazamiento
11.7 ROL_DW: Rotar DWORD hacia la izquierda

11.7

ROL_DW: Rotar DWORD hacia la izquierda

Funcin
El valor de entrada IN se rota bit a bit hacia la izquierda en la cantidad de posiciones
indicadas en la entrada N. El resultado se visualiza en la salida.

Conexiones

Entradas

Salida

11.8

Nombre

Tipo de datos

Explicacin

Preajuste

IN

DWORD

Valor de entrada

WORD

Nmero de posiciones a
rotar

OUT

DWORD

Salida

ROR_W: Rotar WORD hacia la derecha

Funcin
El valor de entrada IN se rota bit a bit hacia la derecha en la cantidad de posiciones
indicadas en la entrada N. El resultado se visualiza en la salida.

Conexiones

Entradas
Salida

92

Nombre

Tipo de datos

Explicacin

Preajuste

IN

WORD

Valor de entrada

WORD

Nmero de rotaciones

OUT

WORD

Salida

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques de desplazamiento
11.9 ROR_DW: Rotar DWORD hacia la derecha

11.9

ROR_DW: Rotar DWORD hacia la derecha

Funcin
El valor de entrada IN se rota bit a bit hacia la derecha en la cantidad de posiciones
indicadas en la entrada N. El resultado se visualiza en la salida.

Conexiones

Entradas

Salida

Nombre

Tipo de datos

Explicacin

Preajuste

IN

DWORD

Valor de entrada

WORD

Nmero de posiciones a
rotar

OUT

DWORD

Salida

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

93

Bloques de desplazamiento
11.9 ROR_DW: Rotar DWORD hacia la derecha

94

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

12

Bloques multiplex
12.1

MULTIPLX

Bloques CFC de la familia "MULTIPLX"


Esta familia comprende los siguientes bloques que, dependiendo del valor de una entrada
determinada, ponen la salida al valor de otra de las entradas:

MUXn_I (Pgina 96)

Multiplexor 1 de n para valores INT (n = 2, 4 ,8)

MUXn_DI (Pgina 97)

Multiplexor 1 de n para valores DINT (n = 2, 4, 8)

MUXn_R (Pgina 98)

Multiplexor 1 de n para valores REAL (n = 2, 4, 8)

MUXn_BO (Pgina 99)

Multiplexor 1 de n para valores BOOL (n = 2, 4, 8)

SEL_BO (Pgina 100)

Multiplexor 1 de 2 para valores BOOL

SEL_R (Pgina 100)

Multiplexor 1 de 2 para valores REAL

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

95

Bloques multiplex
12.2 MUXn_I: Multiplexor 1 de n para valores INT

12.2

MUXn_I: Multiplexor 1 de n para valores INT

Funcin
El bloque es un multiplexor 1 de n para valores INT (n = 2, 4, 8). Dependiendo del valor de
la entrada seleccionada K, la salida se pone al valor de una de las entradas IN0IN7.

Tratamiento de errores
ENO = 0 y OUT = 0 si k > (n-1) o si k < 0.

Tabla de funcionamiento
Nmero de
entradas
2
4
8

K:

OUT:

IN0

IN1

K:

OUT:

IN0

IN1

IN2

IN3

K:

OUT:

IN0

IN1

IN2

IN3

IN4

IN5

IN6

IN7

Conexiones

Entradas

Nombre

Tipo de datos

Explicacin

Preajuste

INT

Entrada seleccionada

IN0

INT

Valor 1

...
Salida

96

...

INm (n-1)

INT

Valor n

OUT

INT

Salida

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques multiplex
12.3 MUXn_DI: Multiplexor 1 de n para valores DINT

12.3

MUXn_DI: Multiplexor 1 de n para valores DINT

Funcin
El bloque es un multiplexor 1 de n para valores DINT (n = 2, 4, 8). Dependiendo del valor de
la entrada seleccionada K, la salida se pone al valor de una de las entradas IN0IN7.

Tratamiento de errores
ENO = 0 y OUT = 0 si k > (n-1) o si k < 0.

Tabla de funcionamiento
Nmero de
entradas
2
4
8

K:

OUT:

IN0

IN1

K:

OUT:

IN0

IN1

IN2

IN3

K:

OUT:

IN0

IN1

IN2

IN3

IN4

IN5

IN6

IN7

Conexiones

Entradas

Nombre

Tipo de datos

Explicacin

Preajuste

INT

Entrada seleccionada

IN0

DINT

Valor 1

...
Salida

...

INm (n-1)

DINT

Valor n

OUT

DINT

Salida

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

97

Bloques multiplex
12.4 MUXn_R: Multiplexor 1 de n para valores REAL

12.4

MUXn_R: Multiplexor 1 de n para valores REAL

Funcin
El bloque es un multiplexor 1 de n para valores REAL (n = 2, 4, 8). Dependiendo del valor
de la entrada seleccionada K, la salida se pone al valor de una de las entradas IN0IN7.

Tratamiento de errores
ENO = 0 y OUT = 0 si k > (n-1) o si k < 0.

Tabla de funcionamiento
Nmero de
entradas
2
4
8

K:

OUT:

IN0

IN1

K:

OUT:

IN0

IN1

IN2

IN3

K:

OUT:

IN0

IN1

IN2

IN3

IN4

IN5

IN6

IN7

Conexiones

Entradas

Nombre

Tipo de datos

Explicacin

Preajuste

INT

Entrada seleccionada

IN1

REAL

Valor 1

...
Salida

98

...

INm

REAL

Valor m (m = n-1)

OUT

REAL

Salida

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques multiplex
12.5 MUXn_BO: Multiplexor 1 de n para valores BOOL

12.5

MUXn_BO: Multiplexor 1 de n para valores BOOL

Funcin
El bloque es un multiplexor 1 de n para valores BOOL (n = 2, 4, 8). Dependiendo del valor
de la entrada seleccionada K, la salida se pone al valor de una de las entradas IN0IN7.

Tratamiento de errores
ENO = 0 y OUT = 0 si k > (n-1) o si k < 0.

Tabla de funcionamiento
Nmero de
entradas
2
4
8

K:

OUT:

IN0

IN1

K:

OUT:

IN0

IN1

IN2

IN3

K:

OUT:

IN0

IN1

IN2

IN3

IN4

IN5

IN6

IN7

Conexiones

Entradas

Nombre

Tipo de datos

Explicacin

Preajuste

INT

Entrada seleccionada

IN0

BOOL

Valor 1

...
Salida

...

INm (n-1)

BOOL

Valor n

OUT

BOOL

Salida

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

99

Bloques multiplex
12.6 SEL_BO: Multiplexor 1 de 2 para valores BOOL

12.6

SEL_BO: Multiplexor 1 de 2 para valores BOOL

Funcin
Este bloque conecta, independientemente del valor de la entrada K, el valor de la entrada
IN0 (K = 1) o de la entrada IN1 (K = 0) a la salida.

Conexiones

Entradas

Salida

12.7

Nombre

Tipo de datos

Preajuste

BOOL

IN0

BOOL

IN1

BOOL

OUT

BOOL

SEL_R: Multiplexor 1 de 2 para valores REAL

Funcin
Este bloque conecta, independientemente del valor de la entrada K, el valor de la entrada
IN0 (K = 1) o de la entrada IN1 (K = 0) a la salida.

Conexiones

Entradas

Salida

100

Nombre

Tipo de datos

Preajuste

BOOL

IN0

REAL

0.0

IN1

REAL

0.0

OUT

REAL

0.0

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

13

Bloques de contaje
13.1

COUNTER

Bloques CFC de la familia "COUNTER"


Esta familia comprende los siguientes bloques contadores:
CTU (Pgina 102)

Incrementar contador

CTD (Pgina 103)

Decrementar contador

CTUD (Pgina 104)

Incrementar/decrementar contador

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

101

Bloques de contaje
13.2 CTU: Incrementar contador

13.2

CTU: Incrementar contador

Funcin
Este bloque corresponde a la operacin "Incrementar contador" controlada por flancos. El
contador recibe el valor de preajuste PV en un flanco ascendente de la entrada S. El
contador es incrementado por flancos ascendentes en la entrada CU. El estado del contador
se encuentra en la salida CV. Al alcanzar el mximo valor INT, el contador se detiene. Al
restaurarlo se vuelve a poner el contador a 0 y puede comenzar de nuevo a incrementarse.
Q = 0, si CV = INT mx. (32767)
Q = 1, si CV > 0

Comportamiento de arranque
Al arrancar, este bloque se comporta del mismo modo que al ponerlo a cero (CV = 0).

Tabla de verdad
R

CU

CV

ENO

CV*+1

CV*

X es un valor cualquiera
CV* es el valor antiguo del ltimo ciclo

Conexiones

Entradas

Salidas

102

Nombre

Tipo de datos

Explicacin

Preajuste

CU

BOOL

Impulso adelante

BOOL

Poner a cero

BOOL

Poner a uno (cargar)

PV

INT

Valor de carga

1000

BOOL

Desbordamiento por
exceso

CV

INT

Estado del contador

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques de contaje
13.3 CTD: Decrementar contador

13.3

CTD: Decrementar contador

Funcin
Este bloque corresponde a la operacin "Decrementar contador" controlada por flancos. El
contador recibe el valor de preajuste PV en un flanco ascendente de la entrada S. El
contador es decrementado por flancos ascendentes en la entrada CD. El estado del
contador se encuentra en la salida CV. Al alcanzar el valor INT mnimo, el contador se
detiene. Al restaurarlo se vuelve a poner a 0.
Q = 0, si CV = mx. INT (-32768)
Q = 1, si CV > 0

Comportamiento de arranque
Al arrancar, este bloque se comporta del mismo modo que al ponerlo a cero (CV = 0).

Tabla de verdad
R

CD

CV

ENO

CV*-1

CV*

X es un valor cualquiera
CV* es el valor antiguo del ltimo ciclo

Conexiones

Entradas

Salidas

Nombre

Tipo de datos

Explicacin

Preajuste

CD

BOOL

Impulso atrs

BOOL

Poner a cero

BOOL

Poner a uno (cargar)

PV

INT

Valor de carga

1000

BOOL

Desbordamiento por
defecto

CV

INT

Estado del contador

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

103

Bloques de contaje
13.4 CTUD: Incrementar/decrementar contador

13.4

CTUD: Incrementar/decrementar contador

Funcin
Este bloque corresponde a la operacin "Incrementar/decrementar contador" controlada por
flanco. El contador recibe el valor de preajuste PV en un flanco ascendente de la entrada S.
El contador es incrementado por flancos ascendentes en la entrada CU. El contador es
decrementado por flancos ascendentes en la entrada CD. El estado del contador se
encuentra en la salida CV. Las salidas QU o QD permiten supervisar el estado del contador.
Para inicializar el contador, ponga R = 1.
QU = 1 si CV >= 0
QU = 0 si CV = INT mx. (32767)
QD = 0, si CV = mx. INT (-32768)
QD = 1 si CV > 0

Comportamiento de arranque
Al arrancar, este bloque se comporta del mismo modo que al ponerlo a cero (CV = 0).

Tabla de verdad
R

CU

CD

CV

ENO

CV*+1

CV*-1

CV*

CV*

X es un valor cualquiera
CV* es el valor antiguo del ltimo ciclo

Conexiones

Entradas

Salidas

104

Nombre

Tipo de datos

Explicacin

Preajuste

CU

BOOL

Impulso adelante

CD

BOOL

Impulso atrs

BOOL

Poner a cero

BOOL

Poner a uno (cargar)

PV

INT

Valor de carga

1000

QU

BOOL

Contador en lmite superior

QD

BOOL

Contador en lmite inferior

CV

INT

Estado del contador

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques para generar o procesar impulsos


14.1

14

IMPULS

Bloques CFC de la familia "IMPULS"


Esta familia comprende los siguientes bloques para el tratamiento de impulsos:

TIMER_P (Pgina 106)

Formador de impulsos

R_TRIG (Pgina 109)

Deteccin del flanco positivo

F_TRIG (Pgina 110)

Deteccin del flanco negativo

AFP (Pgina 111)

Generador de impulsos de reloj

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

105

Bloques para generar o procesar impulsos


14.2 TIMER_P: Formador de impulsos

14.2

TIMER_P: Formador de impulsos

Funcin
El bloque inicia el temporizador en el modo de operacin predeterminado por el valor de la
entrada MODE:
Formador de impulsos
Impulso prolongado
Retardo a la conexin
Retardo a la conexin con memoria
Retardo a la desconexin

Modos de operacin
MODE

Modo de operacin

Arrancar temporizador como impulso

Arrancar temporizador como impulso prolongado

Arrancar temporizador como retardo a la conexin

Arrancar temporizador como retardo a la conexin con memoria

Arrancar temporizador como retardo a la desconexin

El bloque adopta el modo de operacin (MODE) slo si ocurre un flanco positivo en la


entrada I0. El contador de tiempo PTIME se carga con el valor TIME0 y se decrementa
cclicamente por el tiempo de muestreo SAMPLE_T. Transcurrido el tiempo, la salida Q0 se
modifica en funcin del modo de operacin. Con RESET = 1 se emiten las salidas Q0 = 0 y
PTIME = 0.

106

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques para generar o procesar impulsos


14.2 TIMER_P: Formador de impulsos

Cronogramas de impulsos
MODE=0 Impulso
,

5(6(7

4

7

7 7,0(

MODE=1 Impulso prolongado


,

5(6(7

4

7

7 7,0(

MODE=2 Retardo a la conexin


,

5(6(7

4

7

7

7 7,0(

MODE=3 Retardo a la conexin con memoria


,

5(6(7

4

7 7,0(

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

7

7
W

107

Bloques para generar o procesar impulsos


14.2 TIMER_P: Formador de impulsos
MODE=4 Retardo a la desconexin
,

5(6(7

4

7

7

7 7,0(

Al introducir los valores, debe tener en cuenta los siguientes puntos:


El tiempo de muestreo (SAMPLE_T) debe ser inferior al tiempo de conexin (TIME0).
La distancia entre TIME0 y SAMPLE_T no puede ser superior a 10^7.

Conexiones

Entradas

Salidas

108

Nombre

Tipo de datos

Explicacin

Preajuste

SAMPLE_T

REAL

Tiempo de muestreo de
tareas en seg.

1.0

TIME0

REAL

Tiempo en seg.

0.0

MODE

INT

Modo de operacin (v.


arriba)

RESET

BOOL

Poner a cero

I0

BOOL

Impulso de entrada

QERR

BOOL

Errores

Q0

BOOL

Impulso de salida

PTIME

REAL

Tiempo restante

0.0

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques para generar o procesar impulsos


14.3 R_TRIG: Deteccin del flanco positivo

14.3

R_TRIG: Deteccin del flanco positivo

Nota
Para que funcione correctamente, el bloque R_TRIG debe incorporarse en una alarma
cclica (tarea cclica).

Funcin
Este bloque comprueba en la magnitud de entrada si ha ocurrido un flanco positivo e indica
en la salida si se ha detectado algn flanco. Si el flanco del impulso de entrada CLK es
positivo, la salida Q se pone a 1.

Comportamiento de arranque
Al arrancar, la marca de flanco se pone a 0.

Cronograma de impulsos

,


W

4


Conexiones
Nombre

Tipo de datos

Explicacin

Preajuste

Entrada

CLK

BOOL

Impulso de entrada

Salida

BOOL

Impulso de salida

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

109

Bloques para generar o procesar impulsos


14.4 F_TRIG: Deteccin del flanco negativo

14.4

F_TRIG: Deteccin del flanco negativo

Nota
Para que funcione correctamente, el bloque F_TRIG debe incorporarse en una alarma
cclica (tarea cclica).

Funcin
Este bloque comprueba en la magnitud de entrada si ha ocurrido un flanco negativo e indica
en la salida si se ha detectado algn flanco. Si el flanco del impulso de entrada CLK es
negativo, la salida Q se pone a 1.

Comportamiento de arranque
Al arrancar, la marca de flanco se pone a 1.

Cronograma de impulsos

,


W

4


Conexiones

110

Nombre

Tipo de datos

Explicacin

Preajuste

Entrada

CLK

BOOL

Impulso de entrada

Salida

BOOL

Impulso de salida

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques para generar o procesar impulsos


14.5 AFP: Generador de impulsos de reloj

14.5

AFP: Generador de impulsos de reloj

Nota
Para que funcione correctamente, el bloque AFP debe incorporarse en una alarma cclica
(tarea cclica).

Funcin
Generador de impulsos de reloj. Este bloque genera impulsos cuya duracin y pausa deben
parametrizarse. Tanto la duracin como la pausa del impulso se indican en ms.

Comportamiento de arranque
Al arrancar, los contadores y bits de habilitacin (enable) se ajustan para los perodos Q = 0
y Q = 1. El bit de habilitacin para Q = 0 ser 1, los dems valores se pondrn a cero.

Cronograma de impulsos

(1

W

4


7

7

7

7

7

7

7

7

Conexiones

Entradas

Salida

Nombre

Tipo de datos

Explicacin

Preajuste

SAMPLE_T

REAL

Tiempo de muestreo de
tareas en seg.

1.0

T0

TIME

Duracin de la pausa del


impulso

T#0ms

T1

TIME

Duracin del impulso

T#0ms

BOOL

Impulso de salida

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

111

Bloques para generar o procesar impulsos


14.5 AFP: Generador de impulsos de reloj

112

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

15

Bloques para introducir o modificar la hora y la


fecha, as como intervalos
15.1

TIME

Bloques CFC de la familia


Esta familia comprende los siguientes bloques que ofrecen funciones de tiempo:

15.2

TIME (Pgina 113)

Medir el tiempo de ejecucin

TIME_BEG (Pgina 114)

Leer la hora actual

TIME_END (Pgina 114)

Comparar la hora de entrada con la hora actual

TIME: Medir el tiempo de ejecucin

Funcin
Este bloque mide el tiempo transcurrido entre dos llamadas consecutivas
(mximo 2 147 483 647 ms).
Nota
Entre las llamadas no se puede haber modificado la fecha. De lo contrario, se obtendr una
diferencia de tiempo negativa (00:00:00 tiempo medido).

Conexiones
Nombre

Tipo de datos

Explicacin

Preajuste

Entradas

DIFF

BOOL

Medicin de diferencia
activa

Salida

OUT

TIME

Hora

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

113

Bloques para introducir o modificar la hora y la fecha, as como intervalos


15.3 TIME_BEG: Leer la hora actual

15.3

TIME_BEG: Leer la hora actual

Funcin
Este bloque indica en la salida TM la hora del sistema a la que se llama al bloque.

Conexiones

Salida

15.4

Nombre

Tipo de datos

Explicacin

Preajuste

TM

TIME

Hora actual

T#0ms

TIME_END: Comparar la hora de entrada con la hora actual

Funcin
Este bloque indica en la salida TM_DIFF la diferencia de tiempo entre la entrada TM y la
hora actual del sistema. La entrada TM de este bloque se puede interconectar con la salida
TM de un bloque TIME_BEG para determinar el tiempo transcurrido entre las llamadas a
estos dos bloques.

Conexiones

114

Nombre

Tipo de datos

Explicacin

Preajuste

Entrada

TM

TIME

Tiempo de entrada en
ms

T#0ms

Salida

TM_DIFF

TIME

Diferencia de tiempo

T#0ms

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

16

Bloques de regulacin
16.1

CONTROL

Bloques CFC de la familia "CONTROL"


Esta familia comprende los siguientes bloques:
CONT_C (Pgina 116)

Regulacin continua

CONT_S (Pgina 122)

Regulacin paso a paso

PULSEGEN (Pgina 128)

Generacin de impulsos

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

115

Bloques de regulacin
16.2 CONT_C

16.2

CONT_C

16.2.1

CONT_C: Regulador continuo

Nombre del objeto (tipo y nmero)


FB 1

Introduccin
El bloque de funcin CONT_C sirve para regular procesos tcnicos con magnitudes
continuas de entrada y salida en los sistemas de automatizacin SIMATIC S7. La
parametrizacin permite conectar y desconectar funciones parciales del regulador PID y
adaptar ste al sistema regulado.

Aplicacin
El regulador se puede utilizar como regulador PID de valor fijo de forma individual o tambin
como regulador en cascada, de mezcla o proporcional en regulaciones de bucles mltiples.
El modo de operacin se basa en el algoritmo de regulacin PID del regulador muestreado
con seal analgica de salida y se complementa, dado el caso, con una etapa formadora de
impulsos para generar seales de salida moduladas en ancho de impulsos para
regulaciones a dos o tres puntos con actuadores de accin.

Descripcin
Adems de las funciones de valores de consigna y reales, el bloque de funcin desempea
la funcin de regulador PID acabado con salida continua de la magnitud manipulada
permitiendo, adems, modificar manualmente el valor manipulado. Existen las siguientes
funciones parciales:
Rama de valores nominales (Pgina 156)
Rama de valores reales (Pgina 154)
Formacin de errores de regulacin (Pgina 156)
Algoritmo PID (Pgina 155)
Procesamiento de valores manuales (Pgina 153)
Procesamiento de valores nominales (Pgina 156)
Control anticipativo de la magnitud perturbadora (Pgina 156)

Modos de operacin Rearranque en fro/Rearranque en caliente


El bloque de funcin CONT_C dispone de una rutina de rearranque en fro.
Al arrancar, se asigna internamente el valor de inicializacin I_ITVAL al integrador. Cuando
se invoca desde un nivel de alarma cclica, trabaja a partir de este valor.
Todas las dems salidas se ajustan a sus valores predeterminados.

116

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques de regulacin
16.2 CONT_C

Informacin de errores
No se utiliza la palabra de notificacin de error RET_VAL.

Parmetros de entrada
Parmetro

Tipo de
datos

MAN_ON

BOOL

Rango de
valores

Preajuste

Descripcin

TRUE

MANUAL VALUE ON / Conectar modo


manual
Si la entrada "Conectar modo manual" est
activada, el lazo de regulacin est
interrumpido. Como valor manipulado habr
predefinido un valor manual.

PVPER_ON BOOL

FALSE

PROCESS VARIABLE PERIPHERY ON /


Procesar valor real de periferia
Si el valor real se debe leer en la periferia, la
entrada PV_PER deber estar conectada a
ella y la entrada "Conectar valor real de
periferia" deber estar activada.

P_SEL

BOOL

TRUE

PROPORTIONAL ACTION ON / Conectar


accin P
Las acciones del algoritmo PID pueden
conectarse y desconectarse
independientemente. La accin P est
conectada cuando la entrada "Conectar
accin P" est activada.

I_SEL

BOOL

TRUE

INTEGRAL ACTION ON / Conectar accin I


Las acciones del algoritmo PID pueden
conectarse y desconectarse
independientemente. La accin I est
conectada cuando la entrada "Conectar
accin I" est activada.

INT_HOLD

BOOL

FALSE

INTEGRAL ACTION HOLD / Congelar


accin I
La salida del integrador puede ser congelada.
Para ello deber activarse la entrada
"Congelar accin I".

I_ITL_ON

BOOL

FALSE

INITIALIZATION OF THE INTEGRAL


ACTION / Inicializar accin I
La salida del integrador se puede aplicar a la
entrada I_ITL_VAL. Para ello deber
activarse la entrada "Inicializar accin I".

D_SEL

BOOL

FALSE

DERIVATIVE ACTION ON / Conectar


accin D
Las acciones del algoritmo PID pueden
conectarse y desconectarse
independientemente. La accin D est
conectada cuando la entrada "Conectar
accin D" est activada.

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

117

Bloques de regulacin
16.2 CONT_C
Parmetro

Tipo de
datos

Rango de
valores

Preajuste

Descripcin

SAMPLE_T

REAL

0.001 s

T#1s

SAMPLE TIME / Tiempo de muestreo


El tiempo transcurrido entre llamadas a
bloques consecutivas debe ser constante. La
entrada "Tiempo de muestreo" indica el
tiempo transcurrido entre llamadas a bloques
consecutivas.

SP_INT

PV_IN

PV_PER

REAL

REAL

-100.0 ...
+100.0 % o
magnitud
fsica

0.0

-100.0 ...
+100.0 % o
magnitud
fsica

0.0

WORD

INTERNAL SETPOINT / Valor de consigna


interno
La entrada "Valor de consigna interno"
permite prefijar un valor manipulado.
PROCESS VARIABLE IN / Valor real de la
entrada
En la entrada "Valor real de entrada" puede
parametrizarse un valor de puesta en servicio
o conectarse un valor real en coma flotante.

W#16#0000

PROCESS VARIABLE PERIPHERY / Valor


real de periferia
El valor real en formato de periferia se
conecta al regulador en la entrada "Valor real
de periferia".

MAN

GAIN

REAL

-100.0 ...
+100.0 % o
magnitud
fsica

REAL

0.0

MANUAL VALUE / Valor manual


La entrada "Valor manual" permite predefinir
un valor manual mediante una funcin de
manejo y visualizacin.

2.0

PROPORTIONAL GAIN / Ganancia


proporcional
La entrada "Ganancia proporcional" indica la
ganancia del regulador.

TN

TIME

SAMPLE_T T#20s

RESET TIME / Tiempo de accin integral


La entrada "Tiempo de accin integral"
determina el comportamiento temporal del
integrador.

TV

TIME

SAMPLE_T T#10s

DERIVATIVE TIME / Tiempo de


diferenciacin
La entrada "Tiempo de diferenciacin"
determina el comportamiento temporal de la
accin derivativa.

TM_LAG

TIME

SAMPLE_T T#2s
/2

TIME LAG OF THE DERIVATE ACTION /


Retardo de la accin D
El algoritmo de la accin D contiene un
retardo parametrizable en la entrada
"Retardo de la accin D".

DEADB_W

118

REAL

0.0 % o
magnitud
fsica

0.0

DEAD BAND WIDTH / Ancho de la zona


muerta
El error de regulacin se conduce por la zona
muerta. La entrada "Ancho de la zona
muerta" determina el tamao de la zona
muerta.

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques de regulacin
16.2 CONT_C
Parmetro

Tipo de
datos

Rango de
valores

Preajuste

Descripcin

LMN_HLM

REAL

LMN_LLM ...
+100.0 % o
magnitud
fsica

100.0

MANIPULATED VALUE HIGH LIMIT / Lmite


superior del valor manipulado

-100.0 ...
LMN_HLM %
o magnitud
fsica

0.0

LMN_LLM

PV_FAC

REAL

REAL

El valor manipulado se mantiene siempre


entre un lmite superior y otro inferior. La
entrada "Lmite superior del valor
manipulado" indica el lmite superior.
MANIPULATED VALUE LOW LIMIT / Valor
manipulado, lmite inferior
El valor manipulado se mantiene siempre
entre un lmite superior y otro inferior. La
entrada "Valor manipulado, lmite inferior"
indica el lmite inferior.
1.0

PROCESS VARIABLE FACTOR / Factor del


valor real
La entrada "Factor del valor real" se
multiplica por el valor real. La entrada permite
adaptar el margen de valores reales.

PV_OFF

REAL

0.0

PROCESS VARIABLE OFFSET /


Desplazamiento del valor real
La entrada "Desplazamiento del valor real" se
suma al valor real. La entrada sirve para
adaptar el margen de valores reales.

LMN_FAC

REAL

1.0

MANIPULATED VALUE FACTOR / Factor del


valor manipulado
La entrada "Factor del valor manipulado" se
multiplica por el valor manipulado. La entrada
permite adaptar el margen de valores
manipulados.

LMN_OFF

REAL

0.0

MANIPULATED VALUE OFFSET /


Desplazamiento del valor manipulado
La entrada "Desplazamiento del valor
manipulado" se suma al valor manipulado. La
entrada permite adaptar el margen de valores
manipulados.

I_ITLVAL

DISV

REAL

REAL

-100.0 ...
+100.0 % o
magnitud
fsica

0.0

-100.0 ...
+100.0 % o
magnitud
fsica

0.0

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

INITIALIZATION VALUE OF THE INTEGRAL


ACTION / Valor de inicializacin para accin I
La salida del integrador se puede aplicar a la
entrada I_ITL_ON. El valor de inicializacin
se encuentra en la entrada "Valor de
inicializacin para accin I".
DISTURBANCE VARIABLE / Magnitud
perturbadora
Para un control anticipativo de la magnitud
perturbadora se conectar sta a la entrada
"Magnitud perturbadora".

119

Bloques de regulacin
16.2 CONT_C

Parmetros de salida
Parmetro

Tipo de
datos

LMN

REAL

Rango de
valores

Preajuste

Descripcin

0.0

MANIPULATED VALUE / Valor manipulado


El valor manipulado efectivo aparece por la
salida "Valor manipulado" en coma flotante.

LMN_PER

WORD

W#16#0000

MANIPULATED VALUE PERIPHERY /


Valor manipulado de periferia
El valor manipulado en el formato de
periferia se conecta al regulador en la
salida "Valor manipulado de periferia".

QLMN_HLM BOOL

FALSE

HIGH LIMIT OF MANIPULATED VALUE


REACHED / Alcanzado el lmite superior
del valor manipulado
El valor manipulado se mantiene siempre
entre un lmite superior y otro inferior. La
salida "Alcanzado el lmite superior del
valor manipulado" avisa que se ha
rebasado el lmite superior.

QLMN_LLM

BOOL

FALSE

LOW LIMIT OF MANIPULATED VALUE


REACHED / Alcanzado el lmite inferior del
valor manipulado
El valor manipulado se mantiene siempre
entre un lmite superior y otro inferior. La
salida "Alcanzado el lmite inferior del valor
manipulado" notifica el rebase del lmite
inferior.

LMN_P

REAL

0.0

PROPORTIONALITY COMPONENT /
Accin P
La salida "Accin P" contiene la accin
proporcional de la magnitud de ajuste.

LMN_I

REAL

0.0

INTEGRAL COMPONENT / Accin I


La salida "Accin I" contiene la accin
integral de la magnitud de ajuste.

LMN_D

REAL

0.0

DERIVATIVE COMPONENT / Accin D


La salida "Accin D" contiene la accin
diferencial de la magnitud de ajuste.

PV

REAL

0.0

PROCESS VARIABLE / Valor real


El valor real efectivo aparece en la salida
"Valor real".

ER

REAL

0.0

ERROR SIGNAL / Error de regulacin


El error de regulacin efectivo aparece en
la salida "Error de regulacin".

Informacin adicional
Encontrar ms informacin en el apartado:
CONT_C: Esquema de bloques (Pgina 121)

120

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques de regulacin
16.2 CONT_C

16.2.2

CONT_C: Esquema de bloques

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

121

Bloques de regulacin
16.3 CONT_S

16.3

CONT_S

16.3.1

CONT_S: Regulador paso a paso

Nombre del objeto (tipo y nmero)


FB 2

Introduccin
El bloque de funcin CONT_S permite regular procesos tcnicos con seales binarias de
salida de los valores manipulados para actuadores integradores en los sistemas de
automatizacin SIMATIC S7. La parametrizacin permite conectar y desconectar funciones
parciales del regulador discontinuo PI y adaptarlo al sistema regulado.

Aplicacin
El regulador se puede utilizar como regulador PI de valor fijo individualmente o tambin en
lazos de regulacin subordinados en reguladores de cascada, mezcla o proporcionales,
aunque no como regulador principal. El modo de trabajo est basado en el algoritmo de
regulacin PI del regulador de muestreo y se complementa con los elementos funcionales
para generar la seal binaria de salida a partir de la seal del actuador.
Con TN = T#0 ms se puede desconectar la accin I del regulador. Ello permite utilizar el
bloque como regulador P.
Como el regulador trabaja sin aviso de posicin, la magnitud manipulada que se calcula
internamente no coincide exactamente con la posicin del aparato de ajuste. Cuando la
magnitud manipulada (ER * GAIN) resulta negativa, sta se compensa. En tal caso, el
regulador va bajando la salida Seal del valor manipulado (QLMNDN) hasta que se activa la
seal del tope inferior del aviso de posicin (LMNR_LS).
El regulador tambin puede emplearse en lazos de regulacin subordinados en reguladores
de cascada. La posicin del aparato de ajuste viene predefinida por la entrada del valor de
consigna SP_INT. En este caso se ha de poner a cero la entrada del valor real y el
parmetro Tiempo de integracin (TN). Este regulador se aplica p. ej. a una regulacin de
temperatura que regule la potencia calefactora mediante un control de impulso/pausa y la
potencia de enfriamiento mediante una vlvula.
Para cerrar la vlvula completamente, la magnitud manipulada (ER * GAIN) deber volverse
negativa.

122

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques de regulacin
16.3 CONT_S

Descripcin
Adems de las funciones en la rama de valor real, el bloque de funcin acta como
regulador PI con salida binaria de valores manipulados y posibilidad de modificacin manual
del valor manipulado. El regulador discontinuo funciona sin respuesta de posicin. Existen
las siguientes funciones parciales:
Rama de valores nominales (Pgina 156)
Rama de valores reales (Pgina 154)
Formacin de errores de regulacin (Pgina 156)
Algoritmo PI discontinuo (Pgina 155)
Control anticipativo de la magnitud perturbadora (Pgina 156)

Modos de operacin Rearranque en fro/Rearranque en caliente


El bloque de funcin CONT_S dispone de una rutina de rearranque en fro.
Todas las salidas se ajustan a sus valores predeterminados.

Informacin de errores
No se utiliza la palabra de notificacin de error RET_VAL.

Parmetros de entrada
Parmetro

Tipo
de
datos

LMNR_HS

BOOL

Rango de
valores

Preajuste

Descripcin

FALSE

HIGH LIMIT SIGNAL OF REPEATED


MANIPULATED VALUE / Seal de lmite
superior para la respuesta de posicin
La seal "Servovlvula en el lmite superior"
se conecta a la entrada "Seal de lmite
superior para la respuesta de posicin".
LMNR_HS = TRUE significa: la servovlvula
se encuentra en su lmite superior.

LMNR_LS

BOOL

FALSE

LOW LIMIT SIGNAL OF REPEATED


MANIPULATED VALUE / Seal de lmite
inferior para la respuesta de posicin
La seal "Servovlvula en el lmite inferior"
se conecta a la entrada "Seal de lmite
inferior para la respuesta de posicin".
LMNR_LS = TRUE significa: la servovlvula
se encuentra en su lmite inferior.

LMNS_ON

BOOL

TRUE

MANIPULATED SIGNALS ON / Conectar


modo manual en seales manipuladas
El procesamiento de las seales
manipuladas se conecta en la entrada
"Conectar modo manual en seales
manipuladas".

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

123

Bloques de regulacin
16.3 CONT_S
Parmetro

Tipo
de
datos

LMNUP

BOOL

Rango de
valores

Preajuste

Descripcin

FALSE

MANIPULATED SIGNALS UP / Subir seal


manipulada
En el modo manual de las seales
manipuladas, la seal de salida QLMNUP
acta sobre la entrada "Subir seal
manipulada".

LMNDN

BOOL

FALSE

MANIPULATED SIGNALS DOWN / Bajar


seal manipulada
En el modo manual de las seales
manipuladas, la seal de salida QLMNDN
acta sobre la entrada "Bajar seal".

PVPER_ON

BOOL

FALSE

PROCESS VARIABLE PERIPHERY ON /


Procesar valor real de periferia
Si el valor real se debe leer en la periferia, la
entrada PV_PER deber estar conectada a
ella y la entrada "Conectar valor real de
periferia" deber estar activada.

SAMPLE_T

REAL

0.001s

T#1s

SAMPLE TIME / Tiempo de muestreo


El tiempo transcurrido entre llamadas a
bloques consecutivas debe ser constante. La
entrada "Tiempo de muestreo" indica el
tiempo transcurrido entre llamadas a bloques
consecutivas.

SP_INT

PV_IN

PV_PER

REAL

REAL

-100.0 ...
+100.0 % o
magnitud
fsica

0.0

-100.0 ...
+100.0 % o
magnitud
fsica

0.0

WORD

INTERNAL SETPOINT / Valor de consigna


interno
La entrada "Valor de consigna interno"
permite prefijar un valor manipulado.
PROCESS VARIABLE IN / Valor real de la
entrada
En la entrada "Valor real de entrada" puede
parametrizarse un valor de puesta en
servicio o conectarse un valor real en coma
flotante.

W#16#0000

PROCESS VARIABLE PERIPHERY / Valor


real de periferia
El valor real en formato de periferia se
conecta al regulador en la entrada "Valor real
de periferia".

GAIN

REAL

2.0

PROPORTIONAL GAIN / Ganancia


proporcional
La entrada "Ganancia proporcional" indica la
ganancia del regulador.

TN

TIME

SAMPLE_T

T#20s

RESET TIME / Tiempo de accin integral


La entrada "Tiempo de accin integral"
determina el comportamiento temporal del
integrador.

124

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques de regulacin
16.3 CONT_S
Parmetro

Tipo
de
datos

Rango de
valores

Preajuste

Descripcin

DEADB_W

REAL

0.0 % o
magnitud
fsica

0.0

DEAD BAND WIDTH / Ancho de la zona


muerta

PV_FAC

REAL

El error de regulacin se conduce por la


zona muerta. La entrada "Ancho de la zona
muerta" determina el tamao de la zona
muerta.
1.0

PROCESS VARIABLE FACTOR / Factor del


valor real
La entrada "Factor del valor real" se
multiplica por el valor real. La entrada
permite adaptar el margen de valores reales.

PV_OFF

REAL

0.0

PROCESS VARIABLE OFFSET /


Desplazamiento del valor real
La entrada "Desplazamiento del valor real"
se suma al valor real. La entrada permite
adaptar el margen de valores reales.

PULSE_TM

TIME

SAMPLE_T

T#3s

MINIMUM PULSE TIME / Duracin mnima


de impulso
En el parmetro "Duracin mnima de
impulso" se puede parametrizar una longitud
mnima para los impulsos.

BREAK_TM

TIME

SAMPLE_T

T#3s

MINIMUM BREAK TIME / Duracin mnima


de pausa
En el parmetro "Duracin mnima de pausa"
se puede parametrizar una longitud mnima
de las pausas.

MTR_TM

TIME

SAMPLE_T

T#30s

MOTOR MANIPULATED VALUE / Valor


manipulado del motor
En el parmetro "Valor manipulado del
motor" se anota el tiempo de ejecucin de la
servovlvula entre dos lmites consecutivos.

DISV

REAL

-100.0 ...
+100.0 % o
magnitud
fsica

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

0.0

DISTURBANCE VARIABLE / Magnitud


perturbadora
Para un control anticipativo de la magnitud
perturbadora se conectar sta a la entrada
"Magnitud perturbadora".

125

Bloques de regulacin
16.3 CONT_S

Parmetros de salida
Parmetro

Tipo de
datos

QLMNUP

BOOL

Rango de
valores

Preajuste

Descripcin

FALSE

MANIPULATED SIGNAL UP / Subir


seal manipulada
Si la salida "Subir seal manipulada"
est activada, debe abrirse la
servovlvula.

QLMNDN

BOOL

FALSE

MANIPULATED SIGNAL DOWN /


Bajar seal manipulada
Si la salida "Bajar seal manipulada"
est activada, debe cerrarse la
servovlvula.

PV

REAL

0.0

PROCESS VARIABLE / Valor real


El valor real efectivo aparece en la
salida "Valor real".

ER

REAL

0.0

ERROR SIGNAL / Error de


regulacin
El error de regulacin efectivo
aparece en la salida "Error de
regulacin".

Informacin adicional
Encontrar ms informacin en el apartado:
Esquema de bloques (Pgina 127)

126

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques de regulacin
16.3 CONT_S

16.3.2

CONT_S: Esquema de bloques

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

127

Bloques de regulacin
16.4 PULSEGEN

16.4

PULSEGEN

16.4.1

PULSEGEN: Modulacin de ancho de impulsos para reguladores PID

Nombre del objeto (tipo y nmero)


FB 3

Introduccin
El bloque de funcin PULSEGEN sirve para crear un regulador PID con salida de impulsos
para actuadores proporcionales.

Aplicacin
El bloque de funcin PULSEGEN permite estructurar reguladores PID de dos o tres puntos
con modulacin de ancho de impulsos. La funcin se utiliza casi siempre en combinacin
con el regulador continuo CONT_C (Pgina 116).
&217B&

38/6(*(1

/01

128

,19

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques de regulacin
16.4 PULSEGEN

Descripcin
La funcin PULSEGEN transforma la magnitud de entrada INV (= LMN del regulador PID)
por modulacin del ancho de impulsos en una secuencia de impulsos con perodo
constante. ste equivale al tiempo de ciclo con el que se actualiza la magnitud de entrada, y
se debe parametrizar en PER_TM.
La duracin de cada impulso por perodo es proporcional a la magnitud de entrada. El ciclo
parametrizado a travs de PER_TM no es idntico al ciclo de procesamiento del bloque de
funcin PULSEGEN. Antes bien, un ciclo PER_TM se compone de varios ciclos de
procesamiento del bloque de funcin PULSEGEN. La cantidad de llamadas a PULSEGEN
por ciclo PER_TM indica la precisin de la modulacin de ancho de impulsos.
Encontrar ms informacin sobre la modulacin de ancho de impulsos en: Modulacin de
ancho de impulsos (Pgina 153)
Una magnitud de entrada del 30% y 10 llamadas a PULSEGEN por cada PER_TM
significan:
"uno" en la salida QPOS para las tres primeras llamadas a PULSEGEN (30% de 10
llamadas).
"cero" en la salida QPOS para las siguientes siete llamadas a PULSEGEN (70% de 10
llamadas).
La duracin de los impulsos se vuelve a calcular al principio de cada perodo.

Precisin de los valores manipulados


En el presente ejemplo, una "relacin de muestreo" de 1:10 (llamadas a CONT_C en
relacin con llamadas a PULSEGEN) limita al 10% la precisin de los valores manipulados.
Los valores de entrada predeterminados INV slo se pueden representar en la retcula de
10% a una longitud de impulsos en la salida QPOS.
En consecuencia, la precisin aumenta con el nmero de llamadas a PULSEGEN por cada
llamada a CONT_C.
Si, por ejemplo, se llama a PULSEGEN con una periodicidad 100 veces superior a la de
CONT_C, se obtendr una resolucin del 1% del margen de valores manipulados.
Nota
El factor de ciclo de la frecuencia de llamadas debe ser programada por el usuario.

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

129

Bloques de regulacin
16.4 PULSEGEN

Sincronizacin automtica
Existe la posibilidad de sincronizar automticamente la salida de impulsos con el bloque que
actualiza la magnitud de entrada INV (por ejemplo, CONT_C). De esta forma se garantiza
que una magnitud de entrada cambiante sea reproducida como impulso lo antes posible.
El formador de impulsos siempre evala la magnitud de entrada INV con una periodicidad
igual a la del perodo PER_TM y convierte el valor en una seal de impulso con una longitud
equivalente. Sin embargo, dado que INV se calcula casi siempre en un nivel de alarma
temporizada ms lento, el formador de impulsos debera iniciar, lo antes posible despus de
la actualizacin de INV, la transformacin del valor discreto en una seal de impulso.
Para ello, el mismo bloque puede sincronizar el inicio del perodo con el procedimiento
siguiente:
Si se ha modificado INV y la llamada al bloque no se encuentra en el primer o en los dos
ltimos ciclos de llamada de un perodo, se realizar una sincronizacin. Se vuelve a
calcular la duracin de impulsos y se inicia la salida en el siguiente ciclo con un nuevo
perodo.
La sincronizacin automtica se puede desconectar en la entrada "SYN_ON" (= FALSE).
Nota
Al comenzar el nuevo perodo, el valor antiguo de INV (o sea, de LMN) se representa, de
forma ms o menos imprecisa, sobre la seal de impulso tras efectuarse la sincronizacin.

Modos de operacin
Los reguladores PID a tres puntos, o con salida bipolar o unipolar de dos puntos, se pueden
configurar dependiendo de la parametrizacin del formador de impulsos. La tabla siguiente
muestra las combinaciones de interruptores correspondientes a los modos de operacin
posibles:
Interruptor

130

Modo de operacin

MAN_ON

STEP3_ON

ST2BI_ON

Regulacin a tres puntos

FALSE

TRUE

cualquiera

Zweipunktreglung mit bipolarem Stellbereich


(-100% ... +100%)

FALSE

FALSE

TRUE

Zweipunktreglung mit unipolarem Stellbereich


(0% ... +100%)

FALSE

FALSE

FALSE

Modo manual

TRUE

cualquiera

cualquiera

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques de regulacin
16.4 PULSEGEN

Parmetros de entrada
Parmetro

Tipo de
datos

Rango de valores

Preajuste

Descripcin

INV

REAL

-100.0 ... +100.0%

0.0

INPUT VARIABLE / Variable de entrada


En el parmetro de entrada "Variable
de entrada" se conecta adicionalmente
una magnitud manipulada analgica.

PER_TM

TIME

20 * SAMPLE_T

T#1s

PERIOD TIME / Perodo


En el parmetro de entrada "Perodo"
se introduce el perodo constante de la
modulacin de ancho de impulsos. ste
equivale al tiempo de muestreo del
regulador. La relacin entre el tiempo
de muestreo del formador de impulsos
y el tiempo de muestreo del regulador
determina la precisin de la modulacin
en ancho de impulsos.

P_B_TM

TIME

SAMPLE_T

T#0ms

MINIMUM PULSE/BREAK TIME /


Duracin mnima de impulso o de
pausa
En el parmetro de entrada "Duracin
mnima de impulso o de pausa" se
puede parametrizar una longitud
mnima de impulso o de pausa.

RATIOFAC

REAL

0.1 ... 10.0

1.0

RATIO FACTOR / Factor de relacin


El parmetro de entrada "Factor de
relacin" permite modificar las
proporciones entre la duracin de
impulsos negativos y positivos. En
procesos trmicos, esto permite
compensar las distintas constantes de
tiempo para calefaccin y refrigeracin
(por ejemplo, en un proceso con
calefaccin elctrica y refrigeracin por
agua).

STEP3_ON

BOOL

TRUE

THREE STEP CONTROL ON / Activar


regulacin a tres puntos
En el parmetro de entrada "Activar
regulacin a tres puntos" se activa el
modo de operacin correspondiente. En
la regulacin a tres puntos funcionan
ambas seales de salida.

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

131

Bloques de regulacin
16.4 PULSEGEN
Parmetro

Tipo de
datos

ST2BI_ON

BOOL

Rango de valores

Preajuste

Descripcin

FALSE

TWO STEP CONTROL FOR BIPOLAR


MANIPULATED VALUE RANGE ON /
Activar regulacin a dos puntos para
margen de valores manipulados bipolar
En el parmetro de entrada "Activar
regulacin a dos puntos para margen
de valores manipulados bipolar" se
puede elegir entre los modos de
operacin "Regulacin a dos puntos
para margen de valores manipulados
bipolar" y "Regulacin a dos puntos
para margen de valores manipulados
unipolar". Para ello, debe cumplirse:
STEP3_ON = FALSE.

MAN_ON

BOOL

FALSE

MANUAL MODE ON / Conectar modo


manual
Ajustando el parmetro de entrada
"Conectar modo manual" se pueden
ajustar manualmente las seales de
salida.

POS_P_ON

BOOL

FALSE

POSITIVE PULSE ON / Impulso


positivo activado
El modo manual de regulacin a tres
puntos permite actuar sobre la seal de
salida QPOS_P en el parmetro de
entrada "Impulso positivo activado". En
el modo manual de regulacin a dos
puntos, QNEG_P siempre se ajusta al
valor invertido de QPOS_P.

NEG_P_ON

BOOL

FALSE

NEGATIVE PULSE ON / Impulso


negativo activado
El modo manual de regulacin a tres
puntos permite operar la seal de salida
QNEG_P en el parmetro de entrada
"Impulso negativo activado". En el
modo manual de regulacin a dos
puntos, QNEG_P siempre se ajusta al
valor invertido de QPOS_P.

132

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques de regulacin
16.4 PULSEGEN
Parmetro

Tipo de
datos

SYN_ON

BOOL

Rango de valores

Preajuste

Descripcin

TRUE

SYNCHRONISATION ON / Activar
sincronizacin
Existe la posibilidad de sincronizar
automticamente la salida de impulsos
con el bloque que actualiza la magnitud
de entrada INV ajustando el parmetro
de entrada "Activar sincronizacin". De
esta forma se garantiza que una
magnitud de entrada cambiante sea
reproducida como impulso lo antes
posible.

SAMPLE_T

REAL

0,001s

SAMPLE TIME / Tiempo de muestreo


[s]
El tiempo transcurrido entre llamadas a
bloques consecutivas debe ser
constante. La entrada "Tiempo de
muestreo" indica el tiempo transcurrido
entre llamadas a bloques consecutivas.

Nota
En el bloque no se limitan los valores de los parmetros de entrada. Los parmetros no se
comprueban.

Parmetros de salida
Parmetro Tipo de
datos
QPOS_P

Rango de
valores

BOOL

Preajuste

Descripcin

FALSE

OUTPUT POSITIVE PULSE / Seal de


salida de impulso positivo
El parmetro de salida "Seal de salida de
impulso positivo" se activa cuando se
necesite emitir un impulso. En la regulacin a
tres puntos es el impulso positivo. En la
regulacin a dos puntos, QNEG_P siempre
se ajusta al valor invertido de QPOS_P.

QNEG_P

BOOL

FALSE

OUTPUT NEGATIVE PULSE / Seal de


salida de impulso negativo
El parmetro de salida "Seal de salida de
impulso negativo" se activa cuando se
necesite emitir un impulso. En la regulacin a
tres puntos es el impulso negativo. En la
regulacin a dos puntos, QNEG_P siempre
se ajusta al valor invertido de QPOS_P.

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

133

Bloques de regulacin
16.4 PULSEGEN

Modos de operacin Rearranque en fro/Rearranque en caliente


Al rearrancar en fro, todas las salidas de seales se ponen a cero.

Informacin de errores
No se utiliza la palabra de notificacin de error RET_VAL.

Informacin adicional
Para ms informacin, consulte los temas siguientes:
Esquema de bloques (Pgina 135)
Regulacin a tres puntos (Pgina 136)
Regulacin a tres puntos asimtrica (Pgina 137)
Regulacin a dos puntos (Pgina 138)
Modo manual en regulacin a dos o tres puntos (Pgina 139)

134

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques de regulacin
16.4 PULSEGEN

16.4.2

PULSEGEN: Esquema de bloques

326B3B21
1(*B3B21
6<1B21
67(3B21
67%,B21


0$1B21

4326B3

,19

41(*B3

3(5B70
3B%B70
5$7,2)$&

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

135

Bloques de regulacin
16.4 PULSEGEN

16.4.3

PULSEGEN: Regulacin a tres puntos

Descripcin
En el modo de operacin "Regulacin a tres puntos" pueden generarse tres estados de
seal de ajuste. Para ello se asignan los valores de estado de las seales binarias de salida
QPOS_P y QNEG_P a los correspondientes estados operativos del actuador. En la tabla se
ejemplifica una regulacin de temperatura:
Actuador
Seal de salida

Calentar

No

Refrigerar

QPOS_P

TRUE

FALSE

FALSE

QNEG_P

FALSE

FALSE

TRUE

A partir de la magnitud de entrada se caracteriza una duracin de impulso mediante una


curva caracterstica. La forma de esta caracterstica queda definida por la duracin mnima
de impulso o de pausa y el factor de relacin. El valor normal del factor de relacin es 1.
Los puntos de flexin de las curvas caractersticas son causados por la duracin mnima de
impulso o de pausa. Encontrar ms informacin sobre la curva caracterstica en:
Curva caracterstica simtrica para reguladores de tres puntos (Pgina 157)

Duracin mnima de impulso o de pausa


Una duracin mnima de impulso o de pausa P_B_TM correctamente parametrizada puede
evitar los tiempos breves de encendido y apagado que reducen la vida til de elementos de
conmutacin y aparatos de ajuste.

Nota
Se suprimen los pequeos valores absolutos de la magnitud de entrada LMN que
generaran duraciones de impulsos inferiores a P_B_TM. Los valores de entrada grandes,
que generaran duraciones de impulsos superiores a (PER_TM - P_B_TM), se ajustan al
100% o a
-100%.
La duracin de los impulsos positivos o negativos se calcula multiplicando la magnitud de
entrada (en %) por la duracin del perodo. Duracin de impulsos = INV / 100 * PER_TM

Informacin adicional
Para ms informacin, consulte los temas siguientes:
Regulacin a tres puntos asimtrica (Pgina 137)
Regulacin a dos puntos (Pgina 138)
Modo manual (Pgina 139)

136

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques de regulacin
16.4 PULSEGEN

16.4.4

PULSEGEN: Regulacin a tres puntos asimtrica

Descripcin
A travs del factor de relacin RATIOFAC se puede modificar la relacin entre las
duraciones de impulsos positivos y negativos. Por ejemplo, en un proceso trmico esto
permite considerar diferentes constantes de tiempo para la calefaccin y la refrigeracin.
El factor de relacin influye tambin en la duracin mnima de impulso o de pausa. Un factor
de relacin < 1 significa que el valor de reaccin para impulsos negativos se multiplica por el
factor de relacin.

Factor de relacin < 1


La duracin de impulso en la salida de impulsos negativa, resultante de multiplicar la
magnitud de entrada por la duracin de perodo, se reduce en la medida del factor de
relacin.
Duracin del impulso positivo = INV / 100 * PER_TM
Duracin del impulso negativo = INV / 100 * PER_TM + RATIOFAC

Factor de relacin > 1


La duracin de impulso en la salida de impulsos positiva, resultante de multiplicar la
magnitud de entrada por el perodo, se reduce en la medida del factor de relacin.
Duracin del impulso positivo = INV / 100 + PER_TM
Duracin del impulso negativo = INV / 100 * PER_TM / RATIOFAC

Informacin adicional
Para ms informacin, consulte los temas siguientes:
Curva caracterstica asimtrica del regulador a tres puntos (Pgina 158) Regulador a tres
puntos (Pgina 136)
Regulacin a dos puntos (Pgina 138)
Modo manual en regulacin a dos o tres puntos (Pgina 139)

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

137

Bloques de regulacin
16.4 PULSEGEN

16.4.5

PULSEGEN: Regulacin a dos puntos

Descripcin
En la regulacin a dos puntos slo se vincula la salida de impulsos positiva QPOS_P de
PULSEGEN al actuador de entrada/salida correspondiente. El regulador a dos puntos puede
tener un margen de valores manipulados bipolar o unipolar.
En QNEG_P est disponible la seal de salida negada, por si la conexin del regulador a
dos puntos en el circuito de regulacin exigiese una seal binaria lgica invertida para los
impulsos de ajuste.
Impulso

Actuador de
entrada

Actuador de salida

QPOS_P

TRUE

FALSE

QNEG_P

FALSE

TRUE

Informacin adicional
Para ms informacin, consulte los temas siguientes:
Curva caracterstica con margen de valores manipulados bipolar (Pgina 154)
Curva caracterstica con margen de valores manipulados unipolar (Pgina 155)
Regulacin a tres puntos (Pgina 136)
Regulacin a tres puntos asimtrica (Pgina 137)
Modo manual en regulacin a dos o tres puntos (Pgina 139)

138

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques de regulacin
16.4 PULSEGEN

16.4.6

PULSEGEN: Modo manual en regulacin a dos o tres puntos

Descripcin
En el modo manual (MAN_ON = TRUE), las salidas binarias del regulador a dos o tres
puntos se pueden activar a travs de las seales POS_P_ON y NEG_P_ON, con
independencia de INV.

Regulacin a tres puntos

Regulacin a dos puntos

POS_P_ON

NEG_P_ON

QPOS_P

QNEG_P

FALSE

FALSE

FALSE

FALSE

TRUE

FALSE

TRUE

FALSE

FALSE

TRUE

FALSE

TRUE

TRUE

TRUE

FALSE

FALSE

FALSE

cualquiera

FALSE

TRUE

TRUE

cualquiera

TRUE

FALSE

Informacin adicional
Para ms informacin, consulte los temas siguientes:
Regulacin a tres puntos (Pgina 136)
Regulacin a tres puntos asimtrica (Pgina 137)
Regulacin a dos puntos (Pgina 138)

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

139

Bloques de regulacin
16.4 PULSEGEN

140

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques para funciones del sistema


17.1

17

EVENT: Comienzo del nivel de ejecucin

Bloques CFC de la familia "SYSTEM"


Esta familia comprende las siguientes llamadas al sistema M7-300/400:
EVENT
(Pgina 142)

Generar una alarma de software, cuyo nombre se transfiere como parmetro

DELAY
(Pgina 142)

Retardar todos los eventos ocurridos durante el inicio hasta que se habilite la
edicin.

EDELAY
(Pgina 143)

Liberar los eventos de arranque retardados.

DISCARD
(Pgina 143)

Descartar (no iniciar) todos los eventos de arranque que ocurran,


de manera que el nivel de ejecucin llamado pueda trabajar sin interrupciones

EDISCARD
(Pgina 144)

Habilitar todos los eventos de arranque nuevos que ocurran.

LASTERR
(Pgina 144)

Averiguar los cdigos de los errores de periferia y de los errores en los


bloques de sistema DELAY, EDELAY, DISCARD, EDISCARD, P_REASON

SYSTIME
(Pgina 145)

Determinar la hora del sistema.

P_REASON
(Pgina 145)

Determinar la causa de la llamada de una alarma de proceso.

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

141

Bloques para funciones del sistema


17.2 DELAY

17.2

DELAY

Nota
Este bloque slo se puede utilizar en sistemas runtime M7-300/400.

Funcin
Este bloque genera una alarma de software. Inicia el nivel de ejecucin (tarea) cuyo nombre
se indique en la entrada TN.
Si se indica un nombre que no tenga asignado un nivel de ejecucin, se generar un
mensaje de error durante la compilacin y la prueba de coherencia.

Conexiones

Entrada

17.3

Nombre

Tipo de datos

Explicacin

Preajuste

TN

TASK

Nombre de la tarea

DELAY: Retardar los eventos de inicio

Nota
Este bloque slo se puede utilizar en sistemas runtime M7-300/400.

Funcin
Gracias a este bloque, el nivel de ejecucin invocante puede funcionar sin interrupciones en
otros niveles de ejecucin. Todos los eventos de arranque que se presenten sern
retardados hasta que se habilite la ejecucin (con ayuda del bloque EDELAY (Pgina 143))
o hasta que finalice el nivel de ejecucin activo.
Luego se ejecutarn los eventos de arranque que se hayan presentado durante este
intervalo.
Si ocurre un error durante la ejecucin, ste se puede consultar con ayuda del bloque
LASTERR (Pgina 144).

142

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques para funciones del sistema


17.4 EDELAY : Liberar los eventos de arranque retardados.

17.4

EDELAY : Liberar los eventos de arranque retardados.

Nota
Este bloque slo se puede utilizar en sistemas runtime M7-300/400.

Funcin
Este bloque habilita los eventos de arranque retardados. Los eventos de arranque se
debern haber retardado previamente mediante el bloque DELAY (Pgina 142).
Si ocurre un error durante la ejecucin, ste se puede consultar con ayuda del bloque
LASTERR (Pgina 144).

17.5

DISCARD: Se descartan todos los eventos de arranque que ocurran

Nota
Este bloque slo se puede utilizar en sistemas runtime M7-300/400.

Funcin
Gracias a este bloque, el nivel de ejecucin invocante puede funcionar sin interrupciones en
otros niveles de ejecucin. Se descartan todos los eventos de arranque que ocurran. Por
tanto, no se inician los niveles de ejecucin correspondientes. Los eventos ya registrados
(retardados) continuarn ejecutndose hasta finalizar. Las alarmas de proceso se acusan de
inmediato.
Todos los eventos de arranque que ocurran se descartarn hasta que se habilite la edicin
(con ayuda del bloque EDISCARD (Pgina 144)) o hasta que finalice el nivel de ejecucin
activo.
Si ocurre un error durante la ejecucin, ste se puede consultar con ayuda del bloque
LASTERR (Pgina 144).

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

143

Bloques para funciones del sistema


17.6 EDISCARD: Habilitar todos los eventos de arranque nuevos que ocurran.

17.6

EDISCARD: Habilitar todos los eventos de arranque nuevos que


ocurran.

Nota
Este bloque slo se puede utilizar en sistemas runtime M7-300/400.

Funcin
Este bloque habilita los nuevos eventos de arranque que se produzcan. Para ello se deber
haber bloqueado previamente el procesamiento de eventos de arranque con ayuda del
bloque DISCARD (Pgina 143).
Si ocurre un error durante la ejecucin, ste se puede consultar con ayuda del bloque
LASTERR (Pgina 144).

17.7

LASTERR: Averiguar los cdigos de los errores en DELAY, EDELAY,


DISCARD, EDISCARD,P_REASON

Nota
Este bloque slo se puede utilizar en sistemas runtime M7-300/400.

Funcin
Este bloque suministra el cdigo del ltimo error de las siguientes clases de error:
Errores de periferia
Errores en los bloques de sistema DELAY (Pgina 142), EDELAY (Pgina 143),
DISCARD (Pgina 143), EDISCARD (Pgina 144), P_REASON (Pgina 145)
Los valores posibles son un subconjunto de los cdigos de error del software de sistema
M7. Pueden consultarse en el archivo M7API.H o en la documentacin del software de
sistema M7.

Conexiones

Salida

144

Nombre

Tipo de datos

Explicacin

Preajuste

ERR

DINT

Cdigo de error

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques para funciones del sistema


17.8 SYSTIME: Determinar la hora del sistema.

17.8

SYSTIME: Determinar la hora del sistema.

Nota
Este bloque slo se puede utilizar en sistemas runtime M7-300/400.

Funcin
Con ayuda de este bloque puede determinarse la hora del sistema. La hora se indica en
formato TIME en la salida del bloque.

Conexiones

Salida

17.9

Nombre

Tipo de datos

Explicacin

Preajuste

TIME

TIME

Hora del sistema

P_REASON: Determinar la causa de la alarma de proceso

Funcin
Este bloque permite averiguar la causa de la llamada de una alarma de proceso.
La tarea deseada se indica mediante su nombre en la entrada TN. Si no se trata de una
alarma de proceso, el bloque no tendr efecto alguno.
En la salida STATE se emite la informacin adicional de la alarma de proceso durante la
ltima llamada. El contenido de la informacin adicional es especfico del bloque y se indica
en formato INTEL en lo que se refiere a la secuencia de bytes.
En la salida MASK se emite adems la mscara de alarmas que fue configurada en CFC
para este nivel de ejecucin de la alarma de proceso.
Si ocurre un error durante la ejecucin, ste se puede consultar con ayuda del bloque
LASTERR (Pgina 144).

Conexiones
Nombre

Tipo de datos

Explicacin

Preajuste

Entrada

TN

TASK

Nombre de la tarea

Salidas

STATE

STATE

Estado de la alarma

MASK

DWORD

Mscara de la alarma

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

145

Bloques para funciones del sistema


17.10 FRC_CFC: Bloque interno

17.10

FRC_CFC: Bloque interno

Nombre del objeto (tipo y nmero)


FB 136
Este bloque es un bloque de sistema y nicamente se utiliza internamente. Por ello no se
dispone de ayuda.

146

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques inter-AS
18.1

18

IK_STATE

IK_STATE: Mostrar el estado de una conexin inter-AS


Nombre del objeto (tipo y nmero)
FC 157

Aplicacin
El bloque se utiliza en un esquema CFC siempre que deban utilizarse conexiones inter-AS y
el estado de error de estas conexiones deba ser evaluado en el programa de usuario.
Para cada conexin inter-AS deber insertarse en el esquema CFC una instancia del bloque
en el lado emisor y en el lado receptor, respectivamente.
Elimine las instancias una vez que haya borrado la conexin inter-AS.

Funcin
El bloque devuelve en la salida el estado de error de la conexin inter-AS cuyo nmero se
ha parametrizado en la entrada NETPRO_ID.
El bloque devuelve un bit propio para cada error. Adems se dispone de un error de grupo.
Si NETPRO_ID no est disponible, tambin se devuelve un error.

Tratamiento de errores
No se utiliza el valor de retorno RET_VAL.

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

147

Bloques inter-AS
18.1 IK_STATE

Parmetros de entrada
Parmetros

Tipo de datos

Preajuste

Descripcin

NETPRO_ID

INT

NETPRO_ID de la conexin

MasterDB

INT

Nmero del DB maestro. CFC lo rellena automticamente

Parmetros de salida
Parmetros

Tipo de datos

Preajuste

Descripcin

SendErr

BOOL

FALSE

Error al transmitir

RcvErr

BOOL

FALSE

Error al recibir

Se indica en el BSEND
Se indica en el BRCV
SendOvl

BOOL

FALSE

Sobrecarga en el emisor
Este error puede producirse cuando el bfer intermedio de
transmisin no se procesa lo suficientemente rpido.

RcvOv

BOOL

FALSE

Sobrecarga en el receptor
Este error puede producirse cuando el bfer intermedio de
recepcin no se procesa lo suficientemente rpido.

RcvChg

BOOL

FALSE

Modificacin insonsistente en el receptor


1. En el lado del receptor se ha reconfigurado la interconexin
inter-AS, lo que tambin afecta al receptor. Sin embargo, ste no
estaba disponible en ese momento.
2. En el lado del emisor se ha reconfigurado la interconexin interAS, lo que tambin afecta al receptor. Sin embargo, ste no
estaba disponible en ese momento.
3. Dados los diferentes estados de carga, el emisor y receptor
tienen estructuras de datos inter-AS diferentes.

RcvTmout

BOOL

FALSE

Tiempo excedido en el receptor


Las causas posibles pueden ser p. ej.:
1. STOP del AS emisor
2. El emisor (todava) no ha transmitido ningn BSEND

SysErr

BOOL

FALSE

Error de sistema
p. ej., el bloque de datos inter-AS no existe

GroupErr

BOOL

FALSE

Error de grupo de los 8 errores superiores

ConnNA

BOOL

FALSE

NETPRO_ID parametrizado no existe

Para ms informacin sobre las interconexiones inter-AS, consulte la Ayuda "CFC para
SIMATIC S7 > Crear estructuras de ejecucon > Crear y manejar interconexiones > Crear
interconexiones inter-AS".

148

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques inter-AS
18.2 IK_MANAG

18.2

IK_MANAG

IK_MANAG
Nombre del objeto (tipo+nmero)
FC152

Aplicacin
El bloque IK_MANAG forma parte del sistema runtime para el soporte de las interconexiones
con otros AS, el cual se copia automticamente en la carpeta de bloques del programa S7 la
primera vez que se crea una interconexin inter-AS.
No se ha previsto una descripcin detallada de dicho bloque.
Para ms informacin sobre las interconexiones inter-AS, consulte la Ayuda "CFC para
SIMATIC S7 > Crear estructuras de ejecucon > Crear y manejar interconexiones > Crear
interconexiones inter-AS".

18.3

IK_SEND

IK_SEND
Nombre del objeto (tipo+nmero)
FC155

Aplicacin
El bloque IK_SEND forma parte del sistema runtime para el soporte de las interconexiones
inter-AS, el cual se copia automticamente en la carpeta de bloques del programa S7 la
primera vez que se crea una interconexin con otro AS.
No se ha previsto una descripcin detallada de dicho bloque.
Para ms informacin sobre las interconexiones inter-AS, consulte la Ayuda "CFC para
SIMATIC S7 > Crear estructuras de ejecucon > Crear y manejar interconexiones > Crear
interconexiones inter-AS".

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

149

Bloques inter-AS
18.4 IK_RCV

18.4

IK_RCV

IK_RCV
Nombre del objeto (tipo+nmero)
FC156

Aplicacin
El bloque IK_RCV forma parte del sistema runtime para el soporte de las interconexiones
inter-AS, el cual se copia automticamente en la carpeta de bloques del programa S7 la
primera vez que se crea una interconexin con otro AS.
No se ha previsto una descripcin detallada de dicho bloque.
Para ms informacin sobre las interconexiones inter-AS, consulte la Ayuda "CFC para
SIMATIC S7 > Crear estructuras de ejecucon > Crear y manejar interconexiones > Crear
interconexiones inter-AS".

18.5

IK_CP_OU

IK_CP_OU
Nombre del objeto (tipo+nmero)
FC154

Aplicacin
El bloque IK_CP_OU forma parte del sistema runtime para el soporte de las interconexiones
inter-AS, el cual se copia automticamente en la carpeta de bloques del programa S7 la
primera vez que se crea una interconexin con otro AS.
No se ha previsto una descripcin detallada de dicho bloque.
Para ms informacin sobre las interconexiones inter-AS, consulte la Ayuda "CFC para
SIMATIC S7 > Crear estructuras de ejecucon > Crear y manejar interconexiones > Crear
interconexiones inter-AS".

150

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Bloques inter-AS
18.6 IK_CP_IN

18.6

IK_CP_IN

IK_CP_IN
Nombre del objeto (tipo+nmero)
FC153

Aplicacin
El bloque IK_CP_IN forma parte del sistema runtime para el soporte de las interconexiones
inter-AS, el cual se copia automticamente en la carpeta de bloques del programa S7 la
primera vez que se crea una interconexin con otro AS.
No se ha previsto una descripcin detallada de dicho bloque.
Para ms informacin sobre las interconexiones inter-AS, consulte la Ayuda "CFC para
SIMATIC S7 > Crear estructuras de ejecucon > Crear y manejar interconexiones > Crear
interconexiones inter-AS".

18.7

IK_ALARM

IK_ALARM
Nombre del objeto (tipo+nmero)
FB244

Aplicacin
El bloque IK_ALARM forma parte del sistema runtime para el soporte de las interconexiones
inter-AS, el cual se copia automticamente en la carpeta de bloques del programa S7 la
primera vez que se crea una interconexin con otro AS.
No se ha previsto una descripcin detallada de dicho bloque.
Para ms informacin sobre las interconexiones inter-AS, consulte la Ayuda "CFC para
SIMATIC S7 > Crear estructuras de ejecucon > Crear y manejar interconexiones > Crear
interconexiones inter-AS".

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

151

Bloques inter-AS
18.7 IK_ALARM

152

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

19

Anexo
19.1

Procesamiento de valores manuales


Puede conmutarse entre procesamiento manual y automtico. En el procesamiento manual,
la magnitud manipulada se corresponde con un valor manual.
El integrador (INT) se pone internamente a LMN - LMN_P - DISV y el diferenciador (DIF) se
pone a 0 y se corrige internamente. As, el cambio al modo automtico se produce sin
choques.

19.2

Modulacin de ancho de impulsos


,19
/01








4326B3




3(5B70

Leyenda
1

Ciclo PULSEGEN

Ciclo CONT_C

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

153

Anexo
19.3 Rama de valores reales

19.3

Rama de valores reales


El valor real se puede leer en formato de coma flotante o de periferia. La funcin CRP_IN
convierte el valor de periferia PV_PER a coma flotante entre -100 +100 % de acuerdo
con la siguiente regla:
Salida de CPR_IN = PV_PER * 100 / 27648
La funcin PV_NORM normaliza la salida de CRP_IN de acuerdo con la siguiente regla:
Salida de PV_NORM = (salida de CRP_IN) * PV_FAC + PV_OFF
PV_FAC est preajustado a 1, y PV_OFF est preajustado a 0.

19.4

Curva caracterstica con margen de valores manipulados bipolar

Margen de valores de ajuste -100% a 100%




3(5B70
3(5B703B%B70


3B%B70






Leyenda

154

Desactivado de forma permanente

Duracin del impulso positivo

Activado de forma permanente

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Anexo
19.5 Curva caracterstica con margen de valores manipulados unipolar

19.5

Curva caracterstica con margen de valores manipulados unipolar

Margen de valores de ajuste 0% a 100%



3(5B70
3(5B703B%B70

3B%B70




Leyenda
1

19.6

Duracin del impulso positivo

Algoritmo PI discontinuo
Este bloque de funcin funciona sin respuesta de posicin. La accin I del algoritmo PI, as
como la respuesta prevista, se calculan en un integrador (INT) y se comparan como valor de
retorno con la accin P remanente. La diferencia pasa a un elemento de tres puntos
(THREE_ST) y a un formador de impulsos (PULSEOUT) que forma los impulsos para la
servovlvula. La frecuencia de conmutacin del regulador se reduce adaptando el umbral de
activacin del elemento de tres puntos.

19.7

Algoritmo PID
El algoritmo PID funciona como algoritmo de posicin. Las acciones proporcional, integral
(INT) y diferencial (DIF) estn conectadas en paralelo y se pueden conectar y desconectar
individualmente. Esto permite parametrizar los reguladores P, PI, PD y PID; aunque tambin
se admiten reguladores I y D puros.

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

155

Anexo
19.8 Formacin de errores de regulacin

19.8

Formacin de errores de regulacin


La diferencia entre valor nominal y valor real es el error de regulacin. Para suprimir una
pequea oscilacin de fondo producida por la cuantificacin de la magnitud manipulada (p.
ej. en modulacin de ancho de impulsos mediante PULSEGEN, o en resolucin limitada del
valor manipulado por la servovlvula) el error o diferencia de regulacin se deriva a travs
de una zona muerta (DEADBAND). DEADB_W = 0 desactiva la zona muerta.

19.9

Rama de valores nominales


La rama de valores nominales se introduce en coma flotante en la entrada SP_INT.

19.10

Procesamiento de valores nominales


El valor nominal se limita a valores predefinibles mediante la funcin LMNLIMIT. El rebase
de los lmites se indica mediante bits de notificacin.
La funcin LMN_NORM normaliza la salida de LMNLIMIT de acuerdo con la siguiente regla:
LMN = (Salida de LMNLIMIT) * LMN_FAC + LMN_OFF
LMN_FAC est preajustado a 1, y LMN_OFF est preajustado a 0.
El valor de ajuste tambin est disponible en formato de periferia. La funcin CRP_OUT
convierte el valor en coma flotante LMN en un valor de periferia de acuerdo con la siguiente
regla:
LMN_PER = LMN * 27648 / 100

19.11

Control anticipativo de la magnitud perturbadora


En la entrada DISV se puede conectar adicionalmente una magnitud perturbadora.

156

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

Anexo
19.12 Curva caracterstica simtrica para reguladores de tres puntos

19.12

Curva caracterstica simtrica para reguladores de tres puntos

Factor de relacin = 1


3(5B70
3(5B703B%B70



3B%B70




Leyenda
1

Duracin del impulso positivo

Activado de forma permanente

Desactivado de forma permanente

Duracin del impulso negativo

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

157

Anexo
19.13 Curva caracterstica asimtrica del regulador de tres puntos

19.13

Curva caracterstica asimtrica del regulador de tres puntos

Factor de relacin = 0.5



3(5B70
3(5B703B%B70



3B%B70
 3B%B70



  3(5B703B%B70
 3(5B70


Leyenda

158

Duracin del impulso positivo

Duracin del impulso negativo

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

ndice alfabtico
A
ABS_DI, 82
ABS_I, 75
ABS_R, 60
ACOS, 65
ADD_DI, 79
ADD_I, 72
ADD_R, 56
AFP, 111
AND, 18
Arcocoseno, REAL, 65
Arcoseno, REAL, 64
Arcotangente, REAL, 65
Arranque en CPUs S7-300, 13
ASIN, 64
ATAN, 65

B
BIT_LGC, 17
Bloques BIT, 17
Bloques CFC, 15
Bloques de aritmtica, 71
Bloques de aritmtica en coma flotante, 55
Bloques de conversin, 41
BO_BY, 52
BO_DW, 53
BO_W, 52
BY_BO, 53
BY_DW, 43
BY_W, 43

C
CADD_DI, 85
CADD_I, 78
CADD_R, 68
CMP_DI, 37
CMP_I, 36
CMP_R, 38
CMP_T, 39
Combinacin de antivalencia, 20
Combinacin de antivalencia genrica, DWORD, 33
Combinacin de antivalencia, WORD, 28
Combinacin NAND, 21
CFC - Bloques elementares
Manual de programacin y manejo, 03/2009, A5E02109610-01

Combinacin NAND genrica, DWORD, 33


Combinacin NAND, WORD, 29
Combinacin NOR, 22
Combinacin NOR genrica, DWORD, 34
Combinacin NOR, WORD, 30
Combinacin O, 19
Combinacin O genrica, DWORD, 32
Combinacin O, WORD, 27
Combinacin Y, 18
Combinacin Y genrica, DWORD, 32
Combinacin Y, WORD, 26
Comparador, DINT, 37
Comparador, INT, 36
Comparador, REAL, 38
Comparador, TIME, 39
Comparar, 114
Hora de entrada con la hora actual, 114
COMPARE, 35
CONT_C, 116
Esquema de bloques, 121
CONT_S, 122
Esquema de bloques, 127
CONTROL, 115
Conversin, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
54
16 BOOL -> WORD, 52
32 BOOL -> DWORD, 53
8 BOOL -> BYTE, 52
BYTE -> 8 BOOL, 53
BYTE -> DWORD, 43
BYTE -> WORD, 43
DINT -> DWORD, 44
DINT -> INT, 44
DINT -> REAL, 45
DWORD -> 32 BOOL, 54
DWORD -> DINT, 45
DWORD -> REAL, 46
DWORD -> WORD, 46
INT -> DINT, 47
INT -> DWORD, 47
INT -> REAL, 48
INT -> WORD, 48
REAL -> DINT, 49
REAL -> DWORD, 49
REAL -> INT, 50
WORD -> 16 BOOL, 54
WORD -> BYTE, 50
WORD -> DWORD, 51

159

ndice alfabtico

WORD -> INT, 51


COS, 63
Coseno, REAL, 63
COUNTER, 101
CTD, 103
CTU, 102
CTUD, 104

D
Decrementar contador, 103
DELAY, 142
Descripcin de
FRC_CFC, 146
Desplazar hacia la derecha, DWORD, 91
Desplazar hacia la derecha, WORD, 90
Desplazar hacia la izquierda, DWORD, 90
Desplazar hacia la izquierda, WORD, 89
Deteccin, 109, 110
Del flanco negativo, 110
Del flanco positivo, 109
DI_DW, 44
DI_I, 44
DI_R, 45
DISCARD, 143
DIV_DI, 80
DIV_I, 73
DIV_R, 57
Divisor, DINT, 80
Divisor, INT, 73
Divisor, REAL, 57
DW_BO, 54
DW_DI, 45
DW_R, 46
DW_W, 46

E
EDELAY, 143
EDISCARD, 144
EPS_DI, 84
EPS_I, 77
EPS_R, 67
EVENT, 142
EXP, 61

Flanco positivo, 109


Deteccin, 109
Flip-Flop, 87
FlipFlop JK, 87
FlipFlop, activacin dominante, 88
Flip-Flop, desactivacin dominante, 88
Formador de impulsos, 106
FRC_CFC, 146
Descripcin, 146
Funcin exponencial, REAL, 61

G
Generacin de impulsos para actuadores
proporcionales, 128
Generador de impulsos de reloj, 111

H
Hora actual, 114
Leer, 114
Hora de entrada, 114
Hora de entrada
Comparar con la hora actual, 114

I
I_DI, 47
I_DW, 47
I_R, 48
I_W, 48
IMPULS, 105
Impulso prolongado, 106
Incrementar contador, 102
Incrementar/decrementar contador, 104
Iniciar, 142
Tarea M7, 142
Intervalo simtrico, DINT, 84
Intervalo, INT, 77
Intervalo, REAL, 67
Inversor, 23
Inversor, DWORD, 34
Inversor, WORD, 31

J
F

JK_FF, 87

F_TRIG, 110
Flanco negativo, 110
Deteccin, 110

160

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

ndice alfabtico

L
LASTERR, 144
Leer, 114
Hora actual, 114
LIM_DI, 83
LIM_I, 76
LIM_R, 66
Limitador asimtrico, DINT, 83
Limitador asimtrico, INT, 76
Limitador asimtrico, REAL, 66
LN, 62
LOG10, 62
Logaritmo en base 10, REAL, 62
Logaritmo natural, REAL, 62
Lgica de palabras, 25
Lgica de palabras dobles, 25

MUXn_DI, 97
MUXn_I, 96
MUXn_R, 98
MW0, 13

N
NAND, 21
NEG_DI, 83
NEG_I, 76
NEG_R, 66
Negador, DINT, 83
Negador, INT, 76
Negador, REAL, 66
NOR, 22
NOT, 23

MATH_FP, 55
MATH_INT, 71
Mximo, DINT, 81
Mximo, INT, 74
Mximo, REAL, 58
MAXn_DI, 81
MAXn_I, 74
MAXn_R, 58
Medir, 113
Tiempo de ejecucin, 113
Mnimo, DINT, 82
Mnimo, INT, 75
Mnimo, REAL, 59
MINn_DI, 82
MINn_I, 75
MINn_R, 59
MOD_DI, 81
MOD_I, 74
Modulacin de ancho de impulsos, 128
Mdulo, DINT, 81
Mdulo, INT, 74
MUL_DI, 80
MUL_I, 73
MUL_R, 57
Multiplexor, BOOL, 99
Multiplexor, DINT, 97
Multiplexor, INT, 96
Multiplexor, REAL, 98
Multiplicador, DINT, 80
Multiplicador, INT, 73
Multiplicador, REAL, 57
MULTIPLX, 95
MUXn_BO, 99

OR, 19

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

P
P_REASON, 145
Palabra de marcas 0, 13
Parmetros de bloque EN ENO SAMPLE_T, 11
Potencia general, REAL, 69
Potencias de base 10, REAL, 61
POW10, 61
POWXY, 69
Pulsegen
Esquema de bloques, 135
PULSEGEN, 128
Modo manual, 139
Regulacin a dos puntos, 138
Regulacin a tres puntos, 136
Regulacin a tres puntos asimtrica, 137

R
R_DI, 49
R_DW, 49
R_I, 50
R_TRIG, 109
Raz cuadrada, REAL, 60
Regulacin paso a paso, 122
Retardo a la conexin, 106
Retardo a la conexin con memoria, 106
Retardo a la desconexin, 106
ROL_DW, 92
ROL_W, 91

161

ndice alfabtico

ROR_DW, 93
ROR_W, 92
Rotar hacia la derecha, DWORD, 93
Rotar hacia la derecha, WORD, 92
Rotar hacia la izquierda, DWORD, 92
Rotar hacia la izquierda, WORD, 91
RS_FF, 88

V
Valor absoluto, DINT, 82
Valor absoluto, INT, 75
Valor absoluto, REAL, 60
Valor medio flotante, REAL, 70

W
S
SAMP_AVE, 70
SEL_BO, 100
SEL_R, 100
Seno, REAL, 63
SHIFT, 89
SHL_DW, 90
SHL_W, 89
SHR_DW, 91
SHR_W, 90
SIN, 63
SQRT, 60
SR_FF, 88
SUB_DI, 79
SUB_I, 72
SUB_R, 56
Substractor, DINT, 79
Substractor, INT, 72
Substractor, REAL, 56
Sumador controlable, DINT, 85
Sumador controlable, INT, 78
Sumador controlable, REAL, 68
Sumador, DINT, 79
Sumador, INT, 72
Sumador, REAL, 56
SYSTEM, 141
SYSTIME, 145

W_BO, 54
W_BY, 50
W_DW, 51
W_I, 51
WAND_DW, 32
WAND_W, 26
WNAND_DW, 33
WNAND_W, 29
WNOR_DW, 34
WNOR_W, 30
WNOT_DW, 34
WNOT_W, 31
WOR_DW, 32
WOR_W, 27
WRD_LGC, 25
WXOR_DW, 33
WXOR_W, 28

X
XOR, 20

T
TAN, 64
Tangente, REAL, 64
Tarea M7, 142
Iniciar, 142
Tiempo de ejecucin, 113
Medir, 113
TIME, 113
TIME, grupo, 113
TIME_BEG, 114
TIME_END, 114
TIMER_P, 106

162

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01

También podría gustarte