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

Parmetros de bloque EN,

ENO, SAMPLE_T 1
SIMATIC Sistema de control de procesos PCS 7 CFC - Bloques elementares ______________
Arranque en CPUs S7-300 2
______________
Bloques CFC 3
______________
Bloques lgicos con el tipo
de datos BOOL 4
SIMATIC ______________
Bloques lgicos con los tipos
de datos WORD y DWORD 5
Sistema de control de procesos
______________
Bloques para comparar dos
valores de entrada del 6
PCS 7 ______________
mismo tipo
CFC - Bloques elementares Bloques para convertir tipos
de datos 7
______________
Bloques aritmticos con el
8
tipo de datos REAL
______________
Manual de programacin y manejo
Bloques aritmticos con los
9
______________
tipos de datos INT y DINT

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
15
______________
modificar la hora y la fecha,
as como intervalos

16
______________
Bloques de regulacin
Bloques para funciones del
17
______________
sistema

18
______________
Bloques inter-AS

19
______________
Anexo

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 A5E02109610-01 Copyright Siemens AG 2009.


Industry Sector 01/2009 Sujeto a cambios sin previo aviso
Postfach 48 48
90026 NRNBERG
ALEMANIA
ndice

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


2 Arranque en CPUs S7-300 ...................................................................................................................... 13
3 Bloques CFC ........................................................................................................................................... 15
4 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
5 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
6 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 3
ndice

7 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


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

8 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 5
ndice

9 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
10 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


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

11 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
12 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
13 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
14 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
15 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 7
ndice

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


16.1 CONTROL................................................................................................................................. 115
16.2 CONT_C.................................................................................................................................... 116
16.2.1 CONT_C: Regulador continuo .................................................................................................. 116
16.2.2 CONT_C: Esquema de bloques................................................................................................ 121
16.3 CONT_S .................................................................................................................................... 122
16.3.1 CONT_S: Regulador paso a paso ............................................................................................ 122
16.3.2 CONT_S: Esquema de bloques................................................................................................ 127
16.4 PULSEGEN............................................................................................................................... 128
16.4.1 PULSEGEN: Modulacin de ancho de impulsos para reguladores PID .................................. 128
16.4.2 PULSEGEN: Esquema de bloques........................................................................................... 135
16.4.3 PULSEGEN: Regulacin a tres puntos..................................................................................... 136
16.4.4 PULSEGEN: Regulacin a tres puntos asimtrica ................................................................... 137
16.4.5 PULSEGEN: Regulacin a dos puntos..................................................................................... 138
16.4.6 PULSEGEN: Modo manual en regulacin a dos o tres puntos ................................................ 139
17 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
18 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


8 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 9
ndice

CFC - Bloques elementares


10 Manual de programacin y manejo, 03/2009, A5E02109610-01
Parmetros de bloque EN, ENO, SAMPLE_T 1
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

CFC - Bloques elementares


12 Manual de programacin y manejo, 03/2009, A5E02109610-01
Arranque en CPUs S7-300 2
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

CFC - Bloques elementares


14 Manual de programacin y manejo, 03/2009, A5E02109610-01
Bloques CFC 3
Familias de bloques CFC disponibles

Familia Aplicacin
BIT_LGC Bloques lgicos con el tipo de datos BOOL
(Pgina 17)
WRD_LGC Bloques lgicos con los tipos de datos WORD y DWORD
(Pgina 25)
COMPARE Bloques para comparar dos valores de entrada del mismo tipo
(Pgina 35)
CONVERT Bloques para convertir tipos de datos
(Pgina 41)
MATH_FP Bloques aritmticos con el tipo de datos REAL
(Pgina 55)
MATH_INT Bloques aritmticos con los tipos de datos INT y DINT
(Pgina 71)
FLIPFLOP Bloques Flip-Flop
(Pgina 87)
SHIFT (Pgina 89) Bloques de desplazamiento
MULTIPLX Bloques multiplex
(Pgina 95)
COUNTER Bloques de contaje
(Pgina 101)
IMPULS Bloques para generar o procesar impulsos
(Pgina 105)
TIME (Pgina 113) Bloques para introducir o modificar la hora y la fecha, as como intervalos
CONTROL Bloques de regulacin
(Pgina 115)
SYSTEM Bloques para funciones del sistema
(Pgina 141)
IK (Pgina 147) Bloques inter-AS

CFC - Bloques elementares


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

CFC - Bloques elementares


16 Manual de programacin y manejo, 03/2009, A5E02109610-01
Bloques lgicos con el tipo de datos BOOL 4
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


0 0 0
0 1 0
1 0 0
1 1 1

Conexiones

Nombre Tipo de datos Preajuste


Entradas IN1 BOOL 1
IN2 BOOL 1
... ...
INn BOOL 1
Salida OUT BOOL 1

CFC - Bloques elementares


18 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


0 0 0
0 1 1
1 0 1
1 1 1

Conexiones

Nombre Tipo de datos Preajuste


Entradas IN1 BOOL 0
IN2 BOOL 0
... ...
INn BOOL 0
Salida OUT BOOL 0

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


0 0 0
0 1 1
1 0 1
1 1 0

Conexiones

Nombre Tipo de datos Preajuste


Entradas IN1 BOOL 0
IN2 BOOL 0
... ...
INn BOOL 0
Salida OUT BOOL 0

CFC - Bloques elementares


20 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


0 0 1
0 1 1
1 0 1
1 1 0

Conexiones

Nombre Tipo de datos Preajuste


Entradas IN1 BOOL 1
IN2 BOOL 1
... ...
INn BOOL 1
Salida OUT BOOL 0

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


0 0 1
0 1 0
1 0 0
1 1 0

Conexiones

Nombre Tipo de datos Preajuste


Entradas IN1 BOOL 0
IN2 BOOL 0
... ...
INn BOOL 0
Salida OUT BOOL 1

CFC - Bloques elementares


22 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
0 1
1 0

Conexiones

Nombre Tipo de datos Preajuste


Entrada IN BOOL 0
Salida OUT BOOL 1

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

CFC - Bloques elementares


24 Manual de programacin y manejo, 03/2009, A5E02109610-01
5
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

Nombre Tipo de datos Preajuste


Entradas IN1 WORD 0
IN2 WORD 0
...
Salida OUT WORD 0

CFC - Bloques elementares


26 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

Nombre Tipo de datos Preajuste


Entradas IN1 WORD 0
IN2 WORD 0
...
Salida OUT WORD 0

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

Nombre Tipo de datos Preajuste


Entradas IN1 WORD 0
IN2 WORD 0
...
Salida OUT WORD 0

CFC - Bloques elementares


28 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

Nombre Tipo de datos Preajuste


Entradas IN1 WORD 0
IN2 WORD 0
...
Salida OUT WORD 0

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

Nombre Tipo de datos Preajuste


Entradas IN1 WORD 0
IN2 WORD 0
Salida OUT WORD 0

CFC - Bloques elementares


30 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 0
Salida OUT WORD 1

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

Nombre Tipo de datos Preajuste


Entradas IN1 DWORD 0
IN2 DWORD 0
Salida OUT DWORD 0

5.9 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

Nombre Tipo de datos Preajuste


Entradas IN1 DWORD 0
IN2 DWORD 0
Salida OUT DWORD 0

CFC - Bloques elementares


32 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 Tipo de datos Preajuste


Entradas IN1 DWORD 16#0
IN2 DWORD 16#0
Salida OUT DWORD 16#00000000

5.11 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

Nombre Tipo de datos Preajuste


Entradas IN1 DWORD 0
IN2 DWORD 0
Salida OUT DWORD 0

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

Nombre Tipo de datos Preajuste


Entradas IN1 DWORD 0
IN2 DWORD 0
Salida OUT DWORD 0

5.13 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

Nombre Tipo de datos Preajuste


Entrada IN DWORD 0
Salida OUT DWORD 0

CFC - Bloques elementares


34 Manual de programacin y manejo, 03/2009, A5E02109610-01
6
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

Nombre Tipo de Explicacin Preajuste


datos
Entradas IN1 INT Magnitud de entrada 0
1
IN2 INT Magnitud de entrada 0
2
Salidas GT BOOL 1, IN1 > IN2 0
GE BOOL 1, IN1 IN2 0
EQ BOOL 1, IN1 = IN2 0
LT BOOL 1, IN1 < IN2 0
LE BOOL 1, IN1 IN2 0

CFC - Bloques elementares


36 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

Nombre Tipo de datos Explicacin Preajuste


Entradas IN1 DINT Magnitud de entrada 1 0
IN2 DINT Magnitud de entrada 2 0
Salidas GT BOOL 1, IN1 > IN2 0
GE BOOL 1, IN1 IN2 0
EQ BOOL 1, IN1 = IN2 0
LT BOOL 1, IN1 < IN2 0
LE BOOL 1, IN1 IN2 0

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01 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

Nombre Tipo de datos Explicacin Preajuste


Entradas IN1 REAL Magnitud de entrada 1 0
IN2 REAL Magnitud de entrada 2 0
Salidas GT BOOL 1, IN1 > IN2 0
GE BOOL 1, IN1 IN2 0
EQ BOOL 1, IN1 = IN2 0
LT BOOL 1, IN1 < IN2 0
LE BOOL 1, IN1 IN2 0

CFC - Bloques elementares


38 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 Tipo de datos Explicacin Preajuste


Entradas IN1 TIME Magnitud de entrada 1 0
IN2 TIME Magnitud de entrada 2 0
Salidas GT BOOL 1, IN1 > IN2 0
GE BOOL 1, IN1 IN2 0
EQ BOOL 1, IN1 = IN2 0
LT BOOL 1, IN1 < IN2 0
LE BOOL 1, IN1 IN2 0

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01 39
Bloques para comparar dos valores de entrada del mismo tipo
6.5 CMP_T: Comparador de valores TIME

CFC - Bloques elementares


40 Manual de programacin y manejo, 03/2009, A5E02109610-01
Bloques para convertir tipos de datos 7
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:

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


42 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 Tipo de datos Preajuste


Entrada IN BYTE 0
Salida OUT DWORD 0

7.3 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 0
Salida OUT WORD 0

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 Tipo de datos Explicacin Preajuste


Entrada IN DINT Valor de entrada 0
Salida OUT DWORD Valor de salida 0

7.5 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

Nombre Tipo de datos Explicacin Preajuste


Entrada IN DINT Valor de entrada 0
Salida OUT INT Valor de salida 0

CFC - Bloques elementares


44 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 Tipo de datos Preajuste


Entrada IN DINT 0
Salida OUT REAL 0

7.7 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 0
Salida OUT DINT Valor de salida 0

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

Nombre Tipo de datos Explicacin Preajuste


Entrada IN DWORD Valor de entrada 0
Salida OUT REAL Valor de salida 0

7.9 DW_W

Funcin
Copia la palabra baja desde IN a OUT.

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

Conexiones

Nombre Tipo de datos Explicacin Preajuste


Entrada IN DWORD Valor de entrada 0
Salida OUT WORD Valor de salida 0

CFC - Bloques elementares


46 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

Nombre Tipo de datos Preajuste


Entrada IN INT 0
Salida OUT DINT 0

7.11 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 Explicacin Preajuste


Entrada IN INT Valor de entrada 0
Salida OUT DWORD Valor de salida 0

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01 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

Nombre Tipo de datos Preajuste


Entrada IN INT 0
Salida OUT REAL 0

7.13 I_W

Funcin
Copia la cadena de bits de IN a OUT.

Tratamiento de errores
No aplicable

Conexiones

Nombre Tipo de datos Explicacin Preajuste


Entrada IN INT Valor de entrada 0
Salida OUT WORD Valor de salida 0

CFC - Bloques elementares


48 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

Nombre Tipo de datos Preajuste


Entrada IN REAL 0
Salida OUT DINT 0

7.15 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 0
Salida OUT DWORD 0

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 Tipo de datos Preajuste


Entrada IN REAL 0
Salida OUT INT 0

7.17 W_BY

Funcin
Copia el byte bajo de IN a OUT.

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

Conexiones

Nombre Tipo de datos Explicacin Preajuste


Entrada IN WORD Valor de entrada 0
Salida OUT BYTE Valor de salida 0

CFC - Bloques elementares


50 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

Nombre Tipo de datos Preajuste


Entrada IN WORD 0
Salida OUT DWORD 0

7.19 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 0
Salida OUT INT Valor de salida 0

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

Nombre Tipo de datos Preajuste


Entradas IN0 BOOL 0
... ...
IN7 BOOL 0
Salida OUT BYTE 0

7.21 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

Nombre Tipo de datos Preajuste


Entradas IN0 BOOL 0
... ...
IN15 BOOL 0
Salida OUT WORD 0

CFC - Bloques elementares


52 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

Nombre Tipo de datos Preajuste


Entradas IN0 BOOL 0
... ...
IN31 BOOL 0
Salida OUT DWORD 0

7.23 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 0
Salidas OUT0 BOOL 0
... ...
OUT7 BOOL 0

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

Nombre Tipo de datos Preajuste


Entrada IN WORD 0
Salidas OUT0 BOOL 0
... ...
OUT15 BOOL 0

7.25 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

Nombre Tipo de datos Preajuste


Entrada IN DWORD 0
Salidas OUT0 BOOL 0
... ...
OUT31 BOOL 0

CFC - Bloques elementares


54 Manual de programacin y manejo, 03/2009, A5E02109610-01
Bloques aritmticos con el tipo de datos REAL 8
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

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

8.3 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

Nombre Tipo de datos Explicacin Preajuste


Entradas IN1 REAL Minuendo 0.0
IN2 REAL Substraendo 0.0
Salida OUT REAL Diferencia 0.0

CFC - Bloques elementares


56 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

Nombre Tipo de datos Explicacin Preajuste


Entradas IN1 REAL Multiplicando 0.0
IN2 REAL Multiplicador 0.0
Salida OUT REAL Producto 0.0

8.5 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

Nombre Tipo de datos Explicacin Preajuste


Entradas IN1 REAL Magnitud de entrada 1 0.0
...
INn REAL Magnitud de entrada n 0.0
Salida OUT REAL Valor mximo 0.0

CFC - Bloques elementares


58 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

Nombre Tipo de datos Explicacin Preajuste


Entradas IN1 REAL Magnitud de entrada 1 0.0
...
INn REAL Magnitud de entrada n 0.0
Salida OUT REAL Valor mximo 0.0

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

Nombre Tipo de datos Explicacin Preajuste


Entradas IN REAL Valor de entrada 0.0
Salida OUT REAL Valor absoluto 0.0

8.9 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

Nombre Tipo de datos Explicacin Preajuste


Entrada IN REAL Radicando 0.0
Salida OUT REAL Raz 0.0

CFC - Bloques elementares


60 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

Nombre Tipo de datos Explicacin Preajuste


Entrada IN REAL Exponente 0.0
Salida OUT REAL Funcin exponencial 0.0

8.11 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

Nombre Tipo de datos Explicacin Preajuste


Entrada IN REAL Argumento 0.0
Salida OUT REAL nat. Logaritmo 0.0

8.13 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

Nombre Tipo de datos Explicacin Preajuste


Entrada IN REAL Argumento 0.0
Salida OUT REAL Logaritmo 0.0

CFC - Bloques elementares


62 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 Tipo de datos Explicacin Preajuste


Entrada IN REAL Argumento 0.0
Salida OUT REAL Seno 0.0

8.15 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 Tipo de datos Explicacin Preajuste


Entrada IN REAL Argumento 0.0
Salida OUT REAL Tangente 0.0

8.17 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

Nombre Tipo de datos Explicacin Preajuste


Entrada IN REAL Argumento 0.0
Salida OUT REAL Arcoseno 0.0

CFC - Bloques elementares


64 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

Nombre Tipo de datos Explicacin Preajuste


Entrada IN REAL Argumento 0.0
Salida OUT REAL Arcocoseno 0.0

8.19 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

Nombre Tipo de datos Explicacin Preajuste


Entrada IN REAL Magnitud de entrada 0.0
Salida OUT REAL Magnitud de salida 0.0

8.21 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

Nombre Tipo de datos Explicacin Preajuste


Entradas IN REAL Magnitud de entrada 0.0
MIN REAL Lmite inferior -100.0
MAX REAL Lmite superior 100.0
Salidas OUT REAL Magnitud de salida 0
OUTU BOOL Rebase por exceso 0
OUTL BOOL Rebase por defecto 0

CFC - Bloques elementares


66 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

Nombre Tipo de Explicacin Preajuste


datos
Entradas IN REAL Magnitud de entrada 0.0
INTERVAL REAL Lmite del intervalo 0.0
Salidas QA BOOL Marca de validez 0
QN BOOL Marca de validez invertida 0

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
1 X X 0 1
0 1 X IN 1
0 0 1 OUT* + IN 1
0 0 0 OUT* 1
X es un valor cualquiera
OUT* es el valor antiguo del ltimo ciclo

Conexiones

Nombre Tipo de datos Explicacin Preajuste


Entradas IN REAL Sumando 0.0
RI BOOL Poner a cero 0
SI BOOL Poner a uno 0
CI BOOL Contar 0
Salida OUT REAL Suma 0.0

CFC - Bloques elementares


68 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

Nombre Tipo de datos Explicacin Preajuste


Entradas IN REAL Magnitud de entrada 0.0
N INT Nmero de entradas 1
consideradas
Salida OUT REAL Valor medio 0.0

CFC - Bloques elementares


70 Manual de programacin y manejo, 03/2009, A5E02109610-01
9
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

Nombre Tipo de datos Explicacin Preajuste


Entradas IN1 INT Sumando 1 0
IN2 INT Sumando 2 0
Salida OUT INT Suma 0

9.3 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

Nombre Tipo de datos Explicacin Preajuste


Entradas IN1 INT Minuendo 0
IN2 INT Substraendo 0
Salida OUT INT Diferencia 0

CFC - Bloques elementares


72 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

Nombre Tipo de datos Explicacin Preajuste


Entradas IN1 INT Multiplicando 0
IN2 INT Multiplicador 0
Salida OUT INT Producto 0

9.5 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

Nombre Tipo de datos Explicacin Preajuste


Entradas IN1 INT Dividendo 0
IN2 INT Divisor 0
Salida OUT INT Cociente 0

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

Nombre Tipo de datos Explicacin Preajuste


Entradas IN1 INT Dividendo 0
IN2 INT Divisor 0
Salida OUT INT Resto de la divisin 0

9.7 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

Nombre Tipo de datos Explicacin Preajuste


Entradas IN1 INT Magnitud de entrada 1 0
...
INn INT Magnitud de entrada n 0
Salida OUT INT Valor mximo 0

CFC - Bloques elementares


74 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

Nombre Tipo de datos Explicacin Preajuste


Entradas IN1 INT Magnitud de entrada 1 0
...
INn INT Magnitud de entrada n 0
Salida OUT INT Valor mximo 0

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 0
Salida OUT INT Valor absoluto 0

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

Nombre Tipo de datos Explicacin Preajuste


Entrada IN INT Magnitud de entrada 0
Salida OUT INT Magnitud de salida 0

9.11 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

Nombre Tipo de datos Explicacin Preajuste


Entradas MAX INT Lmite superior 0
IN INT Magnitud de entrada 0
MIN INT Lmite inferior 0
Salidas OUTU BOOL Rebase por exceso 0
OUTL BOOL Rebase por defecto 0
OUT INT Magnitud de salida 0

CFC - Bloques elementares


76 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.
Si INTERVAL 0, entonces QA = 0.

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

Conexiones

Nombre Tipo de Explicacin Preajuste


datos
Entradas IN INT Magnitud de entrada 0
INTERVAL INT Lmite del intervalo 0
Salidas QA BOOL Marca de validez 0
QN BOOL Marca de validez invertida 0

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
1 X X 0 1
0 1 X IN 1
0 0 1 OUT* + IN 1
0 0 0 OUT* 1
X es un valor cualquiera
OUT* es el valor antiguo del ltimo ciclo

Conexiones

Nombre Tipo de datos Explicacin Preajuste


Entradas IN INT Sumando 0
RI BOOL Poner a cero 0
SI BOOL Poner a uno 0
CI BOOL Contar 0
Salida OUT INT Suma 0

CFC - Bloques elementares


78 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

Nombre Tipo de datos Explicacin Preajuste


Entradas IN1 DINT Sumando 1 0
IN2 DINT Sumando 2 0
Salida OUT DINT Suma 0

9.15 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

Nombre Tipo de datos Explicacin Preajuste


Entradas IN1 DINT Minuendo 0
IN2 DINT Substraendo 0
Salida OUT DINT Diferencia 0

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

Nombre Tipo de datos Explicacin Preajuste


Entradas IN1 DINT Multiplicando 0
IN2 DINT Multiplicador 0
Salida OUT DINT Producto 0

9.17 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

Nombre Tipo de datos Explicacin Preajuste


Entradas IN1 DINT Dividendo 0
IN2 DINT Divisor 0
Salida OUT DINT Cociente 0

CFC - Bloques elementares


80 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

Nombre Tipo de datos Explicacin Preajuste


Entradas IN1 DINT Dividendo 0
IN2 DINT Divisor 0
Salida OUT DINT Resto de la divisin 0

9.19 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

Nombre Tipo de datos Explicacin Preajuste


Entradas IN1 DINT Magnitud de entrada 1 0
...
INn DINT Magnitud de entrada n 0
Salida OUT DINT Valor mximo 0

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

Nombre Tipo de datos Explicacin Preajuste


Entradas IN1 DINT Magnitud de entrada 1 0
...
INn DINT Magnitud de entrada n 0
Salida OUT DINT Valor mximo 0

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

Nombre Tipo de datos Explicacin Preajuste


Entrada IN DINT Valor de entrada 0
Salida OUT DINT Valor absoluto 0

CFC - Bloques elementares


82 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

Nombre Tipo de datos Explicacin Preajuste


Entrada IN DINT Magnitud de entrada 0
Salida OUT DINT Magnitud de salida 0

9.23 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

Nombre Tipo de datos Explicacin Preajuste


Entradas MAX DINT Lmite superior 0
IN DINT Magnitud de entrada 0
MIN DINT Lmite inferior 0
Salidas OUTU BOOL Rebase por exceso 0
OUTL BOOL Rebase por defecto 0
OUT DINT Magnitud de salida 0

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.
Si INTERVAL 0, entonces QA = 0.

Tratamiento de errores
ENO = 0 siendo IN = -2.147.483.648

Conexiones

Nombre Tipo de datos Explicacin Preajuste


Entradas IN DINT Magnitud de entrada 0
INTERVAL DINT Lmite del intervalo 0
Salidas QA BOOL Marca de validez 0
QN BOOL Marca de validez 0
invertida

CFC - Bloques elementares


84 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
1 X X 0 1
0 1 X IN 1
0 0 1 OUT* + IN 1
0 0 0 OUT* 1
X es un valor cualquiera
OUT* es el valor antiguo, correspondiente al ltimo ciclo

Conexiones

Nombre Tipo de datos Explicacin Preajuste


Entradas IN DINT Sumando 0
RI BOOL Poner a cero 0
SI BOOL Poner a uno 0
CI BOOL Contar 0
Salida OUT DINT Suma 0

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

CFC - Bloques elementares


86 Manual de programacin y manejo, 03/2009, A5E02109610-01
Bloques Flip-Flop 10
10.1 FLIPFLOP

Bloques CFC de la familia "FLIPFLOP"


Esta familia comprende los siguientes bloques Flip-Flop:

JK_FF FlipFlop JK
(Pgina 87)
RS_FF FlipFlop RS, desactivacin dominante
(Pgina 88)
SR_FF FlipFlop SR, activacin dominante
(Pgina 88)

10.2 JK_FF

Funcin

J K n n
0 0 n-1 n-1
0 1 0 1
1 0 1 0
1 1 n-1 n-1*

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

Conexiones

Nombre Tipo de datos Explicacin Preajuste


Entradas J BOOL Poner a uno 0
K BOOL Poner a cero 0
Salidas BOOL Salida 0
BOOL Salida negada 1

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 W n n
0 0 n-1 n-1
0 1 1 0
1 0 0 1
1 1 0 1

Conexiones

Nombre Tipo de datos Explicacin Preajuste


Entradas R BOOL Poner a cero 0
W BOOL Poner a uno 0
Salidas BOOL Salida 0
BOOL Salida negada 1

10.4 SR_FF: FlipFlop SR, activacin dominante

Funcin

R W n n
0 0 n-1 n-1
0 1 1 0
1 0 0 1
1 1 1 0

Conexiones

Nombre Tipo de datos Explicacin Preajuste


Entradas R BOOL Poner a cero 0
W BOOL Poner a uno 0
Salidas BOOL Salida 0
BOOL Salida negada 1

CFC - Bloques elementares


88 Manual de programacin y manejo, 03/2009, A5E02109610-01
Bloques de desplazamiento 11
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.

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

11.2 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

Nombre Tipo de datos Explicacin Preajuste


Entradas IN WORD Valor de entrada 0
N WORD Nmero de posiciones a 0
desplazar
Salida OUT WORD Salida 0

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

Nombre Tipo de datos Explicacin Preajuste


Entradas IN DWORD Valor de entrada 0
N WORD Nmero de posiciones a 0
desplazar
Salida OUT DWORD Salida 0

11.4 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

Nombre Tipo de datos Explicacin Preajuste


Entradas IN WORD Valor de entrada 0
N WORD Nmero de posiciones a 0
desplazar
Salida OUT WORD Salida 0

CFC - Bloques elementares


90 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

Nombre Tipo de datos Explicacin Preajuste


Entradas IN DWORD Valor de entrada 0
N WORD Nmero de posiciones a 0
desplazar
Salida OUT DWORD Salida 0

11.6 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

Nombre Tipo de datos Explicacin Preajuste


Entradas IN WORD Valor de entrada 0
N WORD Nmero de posiciones a 0
rotar
Salida OUT WORD Salida 0

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

Nombre Tipo de datos Explicacin Preajuste


Entradas IN DWORD Valor de entrada 0
N WORD Nmero de posiciones a 0
rotar
Salida OUT DWORD Salida 0

11.8 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

Nombre Tipo de datos Explicacin Preajuste


Entradas IN WORD Valor de entrada 0
N WORD Nmero de rotaciones 0
Salida OUT WORD Salida 0

CFC - Bloques elementares


92 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

Nombre Tipo de datos Explicacin Preajuste


Entradas IN DWORD Valor de entrada 0
N WORD Nmero de posiciones a 0
rotar
Salida OUT DWORD Salida 0

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

CFC - Bloques elementares


94 Manual de programacin y manejo, 03/2009, A5E02109610-01
Bloques multiplex 12
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 K: 0 1
OUT: IN0 IN1
4 K: 0 1 2 3
OUT: IN0 IN1 IN2 IN3
8 K: 0 1 2 3 4 5 6 7
OUT: IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7

Conexiones

Nombre Tipo de datos Explicacin Preajuste


Entradas K INT Entrada seleccionada 0
IN0 INT Valor 1 0
... ...
INm (n-1) INT Valor n 0
Salida OUT INT Salida 0

CFC - Bloques elementares


96 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 K: 0 1
OUT: IN0 IN1
4 K: 0 1 2 3
OUT: IN0 IN1 IN2 IN3
8 K: 0 1 2 3 4 5 6 7
OUT: IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7

Conexiones

Nombre Tipo de datos Explicacin Preajuste


Entradas K INT Entrada seleccionada 0
IN0 DINT Valor 1 0
... ...
INm (n-1) DINT Valor n 0
Salida OUT DINT Salida 0

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 K: 0 1
OUT: IN0 IN1
4 K: 0 1 2 3
OUT: IN0 IN1 IN2 IN3
8 K: 0 1 2 3 4 5 6 7
OUT: IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7

Conexiones

Nombre Tipo de datos Explicacin Preajuste


Entradas K INT Entrada seleccionada 0
IN1 REAL Valor 1 0
... ...
INm REAL Valor m (m = n-1) 0
Salida OUT REAL Salida 0

CFC - Bloques elementares


98 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 K: 0 1
OUT: IN0 IN1
4 K: 0 1 2 3
OUT: IN0 IN1 IN2 IN3
8 K: 0 1 2 3 4 5 6 7
OUT: IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7

Conexiones

Nombre Tipo de datos Explicacin Preajuste


Entradas K INT Entrada seleccionada 0
IN0 BOOL Valor 1 0
... ...
INm (n-1) BOOL Valor n 0
Salida OUT BOOL Salida 0

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

Nombre Tipo de datos Preajuste


Entradas K BOOL 0
IN0 BOOL 0
IN1 BOOL 0
Salida OUT BOOL 0

12.7 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

Nombre Tipo de datos Preajuste


Entradas K BOOL 0
IN0 REAL 0.0
IN1 REAL 0.0
Salida OUT REAL 0.0

CFC - Bloques elementares


100 Manual de programacin y manejo, 03/2009, A5E02109610-01
Bloques de contaje 13
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
1 X 0 1
0 1 CV*+1 1
0 0 CV* 1
X es un valor cualquiera
CV* es el valor antiguo del ltimo ciclo

Conexiones

Nombre Tipo de datos Explicacin Preajuste


Entradas CU BOOL Impulso adelante 0
R BOOL Poner a cero 0
W BOOL Poner a uno (cargar) 0
PV INT Valor de carga 1000
Salidas Q BOOL Desbordamiento por 0
exceso
CV INT Estado del contador 0

CFC - Bloques elementares


102 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
1 X 0 1
0 1 CV*-1 1
0 0 CV* 1
X es un valor cualquiera
CV* es el valor antiguo del ltimo ciclo

Conexiones

Nombre Tipo de datos Explicacin Preajuste


Entradas CD BOOL Impulso atrs 0
R BOOL Poner a cero 0
W BOOL Poner a uno (cargar) 0
PV INT Valor de carga 1000
Salidas Q BOOL Desbordamiento por 0
defecto
CV INT Estado del contador 0

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
1 X X 0 1
0 1 0 CV*+1 1
0 0 1 CV*-1 1
0 0 0 CV* 1
0 1 1 CV* 1
X es un valor cualquiera
CV* es el valor antiguo del ltimo ciclo

Conexiones

Nombre Tipo de datos Explicacin Preajuste


Entradas CU BOOL Impulso adelante 0
CD BOOL Impulso atrs 0
R BOOL Poner a cero 0
W BOOL Poner a uno (cargar) 0
PV INT Valor de carga 1000
Salidas QU BOOL Contador en lmite superior 0
QD BOOL Contador en lmite inferior 0
CV INT Estado del contador 0

CFC - Bloques elementares


104 Manual de programacin y manejo, 03/2009, A5E02109610-01
Bloques para generar o procesar impulsos 14
14.1 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


0 Arrancar temporizador como impulso
1 Arrancar temporizador como impulso prolongado
2 Arrancar temporizador como retardo a la conexin
3 Arrancar temporizador como retardo a la conexin con memoria
4 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.

CFC - Bloques elementares


106 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 7,0( W
MODE=1 Impulso prolongado

,

5(6(7

4
7 7 7 7

7 7,0( W
MODE=2 Retardo a la conexin

,

5(6(7

4
7 7 7 7

7 7,0( W
MODE=3 Retardo a la conexin con memoria

,

5(6(7

4
7 7 7 7

7 7,0( W

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01 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

7 7,0( W

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

Nombre Tipo de datos Explicacin Preajuste


Entradas SAMPLE_T REAL Tiempo de muestreo de 1.0
tareas en seg.
TIME0 REAL Tiempo en seg. 0.0
MODE INT Modo de operacin (v. 0
arriba)
RESET BOOL Poner a cero 0
I0 BOOL Impulso de entrada 0
Salidas QERR BOOL Errores 1
Q0 BOOL Impulso de salida 0
PTIME REAL Tiempo restante 0.0

CFC - Bloques elementares


108 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 0
Salida Q BOOL Impulso de salida 0

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

Nombre Tipo de datos Explicacin Preajuste


Entrada CLK BOOL Impulso de entrada 0
Salida Q BOOL Impulso de salida 0

CFC - Bloques elementares


110 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



7 7 7 7 7 7 7 7

Conexiones

Nombre Tipo de datos Explicacin Preajuste


Entradas SAMPLE_T REAL Tiempo de muestreo de 1.0
tareas en seg.
T0 TIME Duracin de la pausa del T#0ms
impulso
T1 TIME Duracin del impulso T#0ms
Salida Q BOOL Impulso de salida 0

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

CFC - Bloques elementares


112 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:

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

15.2 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 1
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

Nombre Tipo de datos Explicacin Preajuste


Salida TM TIME Hora actual T#0ms

15.4 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

Nombre Tipo de datos Explicacin Preajuste


Entrada TM TIME Tiempo de entrada en T#0ms
ms
Salida TM_DIFF TIME Diferencia de tiempo T#0ms

CFC - Bloques elementares


114 Manual de programacin y manejo, 03/2009, A5E02109610-01
Bloques de regulacin 16
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.

CFC - Bloques elementares


116 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 Rango de Preajuste Descripcin


datos valores
MAN_ON BOOL 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 Rango de Preajuste Descripcin


datos valores
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 REAL -100.0 ... 0.0 INTERNAL SETPOINT / Valor de consigna
+100.0 % o interno
magnitud La entrada "Valor de consigna interno"
fsica permite prefijar un valor manipulado.
PV_IN REAL -100.0 ... 0.0 PROCESS VARIABLE IN / Valor real de la
+100.0 % o entrada
magnitud En la entrada "Valor real de entrada" puede
fsica parametrizarse un valor de puesta en servicio
o conectarse un valor real en coma flotante.
PV_PER WORD 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 REAL -100.0 ... 0.0 MANUAL VALUE / Valor manual
+100.0 % o La entrada "Valor manual" permite predefinir
magnitud un valor manual mediante una funcin de
fsica manejo y visualizacin.
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.
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 TIME LAG OF THE DERIVATE ACTION /
/2 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 REAL 0.0 % o 0.0 DEAD BAND WIDTH / Ancho de la zona
magnitud muerta
fsica 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


118 Manual de programacin y manejo, 03/2009, A5E02109610-01
Bloques de regulacin
16.2 CONT_C

Parmetro Tipo de Rango de Preajuste Descripcin


datos valores
LMN_HLM REAL LMN_LLM ... 100.0 MANIPULATED VALUE HIGH LIMIT / Lmite
+100.0 % o superior del valor manipulado
magnitud El valor manipulado se mantiene siempre
fsica entre un lmite superior y otro inferior. La
entrada "Lmite superior del valor
manipulado" indica el lmite superior.
LMN_LLM REAL -100.0 ... 0.0 MANIPULATED VALUE LOW LIMIT / Valor
LMN_HLM % manipulado, lmite inferior
o magnitud El valor manipulado se mantiene siempre
fsica entre un lmite superior y otro inferior. La
entrada "Valor manipulado, lmite inferior"
indica el lmite inferior.
PV_FAC REAL 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 REAL -100.0 ... 0.0 INITIALIZATION VALUE OF THE INTEGRAL
+100.0 % o ACTION / Valor de inicializacin para accin I
magnitud La salida del integrador se puede aplicar a la
fsica entrada I_ITL_ON. El valor de inicializacin
se encuentra en la entrada "Valor de
inicializacin para accin I".
DISV REAL -100.0 ... 0.0 DISTURBANCE VARIABLE / Magnitud
+100.0 % o perturbadora
magnitud Para un control anticipativo de la magnitud
fsica perturbadora se conectar sta a la entrada
"Magnitud perturbadora".

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01 119
Bloques de regulacin
16.2 CONT_C

Parmetros de salida

Parmetro Tipo de Rango de Preajuste Descripcin


datos valores
LMN REAL 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)

CFC - Bloques elementares


120 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.

CFC - Bloques elementares


122 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 Rango de Preajuste Descripcin


de valores
datos
LMNR_HS BOOL 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 Rango de Preajuste Descripcin


de valores
datos
LMNUP BOOL 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 REAL -100.0 ... 0.0 INTERNAL SETPOINT / Valor de consigna
+100.0 % o interno
magnitud La entrada "Valor de consigna interno"
fsica permite prefijar un valor manipulado.
PV_IN REAL -100.0 ... 0.0 PROCESS VARIABLE IN / Valor real de la
+100.0 % o entrada
magnitud En la entrada "Valor real de entrada" puede
fsica parametrizarse un valor de puesta en
servicio o conectarse un valor real en coma
flotante.
PV_PER WORD 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.

CFC - Bloques elementares


124 Manual de programacin y manejo, 03/2009, A5E02109610-01
Bloques de regulacin
16.3 CONT_S

Parmetro Tipo Rango de Preajuste Descripcin


de valores
datos
DEADB_W REAL 0.0 % o 0.0 DEAD BAND WIDTH / Ancho de la zona
magnitud muerta
fsica El error de regulacin se conduce por la
zona muerta. La entrada "Ancho de la zona
muerta" determina el tamao de la zona
muerta.
PV_FAC REAL 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 ... 0.0 DISTURBANCE VARIABLE / Magnitud
+100.0 % o perturbadora
magnitud Para un control anticipativo de la magnitud
fsica perturbadora se conectar sta a la entrada
"Magnitud perturbadora".

CFC - Bloques elementares


Manual de programacin y manejo, 03/2009, A5E02109610-01 125
Bloques de regulacin
16.3 CONT_S

Parmetros de salida

Parmetro Tipo de Rango de Preajuste Descripcin


datos valores
QLMNUP BOOL 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)

CFC - Bloques elementares


126 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 ,19

CFC - Bloques elementares


128 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
Modo de operacin MAN_ON STEP3_ON ST2BI_ON
Regulacin a tres puntos FALSE TRUE cualquiera
Zweipunktreglung mit bipolarem Stellbereich FALSE FALSE TRUE
(-100% ... +100%)
Zweipunktreglung mit unipolarem Stellbereich FALSE FALSE FALSE
(0% ... +100%)
Modo manual TRUE cualquiera cualquiera

CFC - Bloques elementares


130 Manual de programacin y manejo, 03/2009, A5E02109610-01
Bloques de regulacin
16.4 PULSEGEN

Parmetros de entrada

Parmetro Tipo de Rango de valores Preajuste Descripcin


datos
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 Rango de valores Preajuste Descripcin


datos
ST2BI_ON BOOL 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.

CFC - Bloques elementares


132 Manual de programacin y manejo, 03/2009, A5E02109610-01
Bloques de regulacin
16.4 PULSEGEN

Parmetro Tipo de Rango de valores Preajuste Descripcin


datos
SYN_ON BOOL 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 1 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 Rango de Preajuste Descripcin


datos valores
QPOS_P BOOL 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)

CFC - Bloques elementares


134 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 0$1B21
67%,B21


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)

CFC - Bloques elementares


136 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 Actuador de salida


entrada
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)

CFC - Bloques elementares


138 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.

POS_P_ON NEG_P_ON QPOS_P QNEG_P


Regulacin a tres puntos FALSE FALSE FALSE FALSE
TRUE FALSE TRUE FALSE
FALSE TRUE FALSE TRUE
TRUE TRUE FALSE FALSE
Regulacin a dos puntos 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

CFC - Bloques elementares


140 Manual de programacin y manejo, 03/2009, A5E02109610-01
Bloques para funciones del sistema 17
17.1 EVENT: Comienzo del nivel de ejecucin

Bloques CFC de la familia "SYSTEM"


Esta familia comprende las siguientes llamadas al sistema M7-300/400:

EVENT Generar una alarma de software, cuyo nombre se transfiere como parmetro
(Pgina 142)
DELAY Retardar todos los eventos ocurridos durante el inicio hasta que se habilite la
(Pgina 142) edicin.
EDELAY Liberar los eventos de arranque retardados.
(Pgina 143)
DISCARD Descartar (no iniciar) todos los eventos de arranque que ocurran,
(Pgina 143) de manera que el nivel de ejecucin llamado pueda trabajar sin interrupciones
EDISCARD Habilitar todos los eventos de arranque nuevos que ocurran.
(Pgina 144)
LASTERR Averiguar los cdigos de los errores de periferia y de los errores en los
(Pgina 144) bloques de sistema DELAY, EDELAY, DISCARD, EDISCARD, P_REASON
SYSTIME Determinar la hora del sistema.
(Pgina 145)
P_REASON Determinar la causa de la llamada de una alarma de proceso.
(Pgina 145)

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

Nombre Tipo de datos Explicacin Preajuste


Entrada TN TASK Nombre de la tarea 0

17.3 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).

CFC - Bloques elementares


142 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

Nombre Tipo de datos Explicacin Preajuste


Salida ERR DINT Cdigo de error 0

CFC - Bloques elementares


144 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

Nombre Tipo de datos Explicacin Preajuste


Salida TIME TIME Hora del sistema 0

17.9 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 0
Salidas STATE STATE Estado de la alarma 0
MASK DWORD Mscara de la alarma 0

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.

CFC - Bloques elementares


146 Manual de programacin y manejo, 03/2009, A5E02109610-01
Bloques inter-AS 18
18.1 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 0 NETPRO_ID de la conexin
MasterDB INT 0 Nmero del DB maestro. CFC lo rellena automticamente

Parmetros de salida

Parmetros Tipo de datos Preajuste Descripcin


SendErr BOOL FALSE Error al transmitir
Se indica en el BSEND
RcvErr BOOL FALSE Error al recibir
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 inter-
AS, 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".

CFC - Bloques elementares


148 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".

CFC - Bloques elementares


150 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

CFC - Bloques elementares


152 Manual de programacin y manejo, 03/2009, A5E02109610-01
Anexo 19
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 





 W

4326B3


 W


3(5B70

Leyenda
1 Ciclo PULSEGEN
2 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
1 Desactivado de forma permanente
2 Duracin del impulso positivo
3 Activado de forma permanente

CFC - Bloques elementares


154 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 Duracin del impulso positivo

19.6 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.

CFC - Bloques elementares


156 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
2 Activado de forma permanente
3 Desactivado de forma permanente
4 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
1 Duracin del impulso positivo
2 Duracin del impulso negativo

CFC - Bloques elementares


158 Manual de programacin y manejo, 03/2009, A5E02109610-01
ndice alfabtico
Combinacin NAND genrica, DWORD, 33
Combinacin NAND, WORD, 29
A Combinacin NOR, 22
Combinacin NOR genrica, DWORD, 34
ABS_DI, 82
Combinacin NOR, WORD, 30
ABS_I, 75
Combinacin O, 19
ABS_R, 60
Combinacin O genrica, DWORD, 32
ACOS, 65
Combinacin O, WORD, 27
ADD_DI, 79
Combinacin Y, 18
ADD_I, 72
Combinacin Y genrica, DWORD, 32
ADD_R, 56
Combinacin Y, WORD, 26
AFP, 111
Comparador, DINT, 37
AND, 18
Comparador, INT, 36
Arcocoseno, REAL, 65
Comparador, REAL, 38
Arcoseno, REAL, 64
Comparador, TIME, 39
Arcotangente, REAL, 65
Comparar, 114
Arranque en CPUs S7-300, 13
Hora de entrada con la hora actual, 114
ASIN, 64
COMPARE, 35
ATAN, 65
CONT_C, 116
Esquema de bloques, 121
CONT_S, 122
B
Esquema de bloques, 127
BIT_LGC, 17 CONTROL, 115
Bloques BIT, 17 Conversin, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
Bloques CFC, 15 54
Bloques de aritmtica, 71 16 BOOL -> WORD, 52
Bloques de aritmtica en coma flotante, 55 32 BOOL -> DWORD, 53
Bloques de conversin, 41 8 BOOL -> BYTE, 52
BO_BY, 52 BYTE -> 8 BOOL, 53
BO_DW, 53 BYTE -> DWORD, 43
BO_W, 52 BYTE -> WORD, 43
BY_BO, 53 DINT -> DWORD, 44
BY_DW, 43 DINT -> INT, 44
BY_W, 43 DINT -> REAL, 45
DWORD -> 32 BOOL, 54
DWORD -> DINT, 45
C DWORD -> REAL, 46
DWORD -> WORD, 46
CADD_DI, 85
INT -> DINT, 47
CADD_I, 78
INT -> DWORD, 47
CADD_R, 68
INT -> REAL, 48
CMP_DI, 37
INT -> WORD, 48
CMP_I, 36
REAL -> DINT, 49
CMP_R, 38
REAL -> DWORD, 49
CMP_T, 39
REAL -> INT, 50
Combinacin de antivalencia, 20
WORD -> 16 BOOL, 54
Combinacin de antivalencia genrica, DWORD, 33
WORD -> BYTE, 50
Combinacin de antivalencia, WORD, 28
WORD -> DWORD, 51
Combinacin NAND, 21

CFC - Bloques elementares


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

WORD -> INT, 51 Flanco positivo, 109


COS, 63 Deteccin, 109
Coseno, REAL, 63 Flip-Flop, 87
COUNTER, 101 FlipFlop JK, 87
CTD, 103 FlipFlop, activacin dominante, 88
CTU, 102 Flip-Flop, desactivacin dominante, 88
CTUD, 104 Formador de impulsos, 106
FRC_CFC, 146
Descripcin, 146
D Funcin exponencial, REAL, 61
Decrementar contador, 103
DELAY, 142
G
Descripcin de
FRC_CFC, 146 Generacin de impulsos para actuadores
Desplazar hacia la derecha, DWORD, 91 proporcionales, 128
Desplazar hacia la derecha, WORD, 90 Generador de impulsos de reloj, 111
Desplazar hacia la izquierda, DWORD, 90
Desplazar hacia la izquierda, WORD, 89
Deteccin, 109, 110 H
Del flanco negativo, 110
Hora actual, 114
Del flanco positivo, 109
Leer, 114
DI_DW, 44
Hora de entrada, 114
DI_I, 44
Hora de entrada
DI_R, 45
Comparar con la hora actual, 114
DISCARD, 143
DIV_DI, 80
DIV_I, 73
I
DIV_R, 57
Divisor, DINT, 80 I_DI, 47
Divisor, INT, 73 I_DW, 47
Divisor, REAL, 57 I_R, 48
DW_BO, 54 I_W, 48
DW_DI, 45 IMPULS, 105
DW_R, 46 Impulso prolongado, 106
DW_W, 46 Incrementar contador, 102
Incrementar/decrementar contador, 104
Iniciar, 142
E Tarea M7, 142
Intervalo simtrico, DINT, 84
EDELAY, 143
Intervalo, INT, 77
EDISCARD, 144
Intervalo, REAL, 67
EPS_DI, 84
Inversor, 23
EPS_I, 77
Inversor, DWORD, 34
EPS_R, 67
Inversor, WORD, 31
EVENT, 142
EXP, 61
J
F JK_FF, 87
F_TRIG, 110
Flanco negativo, 110
Deteccin, 110

CFC - Bloques elementares


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

L MUXn_DI, 97
MUXn_I, 96
LASTERR, 144
MUXn_R, 98
Leer, 114
MW0, 13
Hora actual, 114
LIM_DI, 83
LIM_I, 76
N
LIM_R, 66
Limitador asimtrico, DINT, 83 NAND, 21
Limitador asimtrico, INT, 76 NEG_DI, 83
Limitador asimtrico, REAL, 66 NEG_I, 76
LN, 62 NEG_R, 66
LOG10, 62 Negador, DINT, 83
Logaritmo en base 10, REAL, 62 Negador, INT, 76
Logaritmo natural, REAL, 62 Negador, REAL, 66
Lgica de palabras, 25 NOR, 22
Lgica de palabras dobles, 25 NOT, 23

M O
MATH_FP, 55 OR, 19
MATH_INT, 71
Mximo, DINT, 81
Mximo, INT, 74 P
Mximo, REAL, 58
P_REASON, 145
MAXn_DI, 81
Palabra de marcas 0, 13
MAXn_I, 74
Parmetros de bloque EN ENO SAMPLE_T, 11
MAXn_R, 58
Potencia general, REAL, 69
Medir, 113
Potencias de base 10, REAL, 61
Tiempo de ejecucin, 113
POW10, 61
Mnimo, DINT, 82
POWXY, 69
Mnimo, INT, 75
Pulsegen
Mnimo, REAL, 59
Esquema de bloques, 135
MINn_DI, 82
PULSEGEN, 128
MINn_I, 75
Modo manual, 139
MINn_R, 59
Regulacin a dos puntos, 138
MOD_DI, 81
Regulacin a tres puntos, 136
MOD_I, 74
Regulacin a tres puntos asimtrica, 137
Modulacin de ancho de impulsos, 128
Mdulo, DINT, 81
Mdulo, INT, 74
R
MUL_DI, 80
MUL_I, 73 R_DI, 49
MUL_R, 57 R_DW, 49
Multiplexor, BOOL, 99 R_I, 50
Multiplexor, DINT, 97 R_TRIG, 109
Multiplexor, INT, 96 Raz cuadrada, REAL, 60
Multiplexor, REAL, 98 Regulacin paso a paso, 122
Multiplicador, DINT, 80 Retardo a la conexin, 106
Multiplicador, INT, 73 Retardo a la conexin con memoria, 106
Multiplicador, REAL, 57 Retardo a la desconexin, 106
MULTIPLX, 95 ROL_DW, 92
MUXn_BO, 99 ROL_W, 91

CFC - Bloques elementares


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

ROR_DW, 93 V
ROR_W, 92
Valor absoluto, DINT, 82
Rotar hacia la derecha, DWORD, 93
Valor absoluto, INT, 75
Rotar hacia la derecha, WORD, 92
Valor absoluto, REAL, 60
Rotar hacia la izquierda, DWORD, 92
Valor medio flotante, REAL, 70
Rotar hacia la izquierda, WORD, 91
RS_FF, 88
W
S W_BO, 54
W_BY, 50
SAMP_AVE, 70
W_DW, 51
SEL_BO, 100
W_I, 51
SEL_R, 100
WAND_DW, 32
Seno, REAL, 63
WAND_W, 26
SHIFT, 89
WNAND_DW, 33
SHL_DW, 90
WNAND_W, 29
SHL_W, 89
WNOR_DW, 34
SHR_DW, 91
WNOR_W, 30
SHR_W, 90
WNOT_DW, 34
SIN, 63
WNOT_W, 31
SQRT, 60
WOR_DW, 32
SR_FF, 88
WOR_W, 27
SUB_DI, 79
WRD_LGC, 25
SUB_I, 72
WXOR_DW, 33
SUB_R, 56
WXOR_W, 28
Substractor, DINT, 79
Substractor, INT, 72
Substractor, REAL, 56
X
Sumador controlable, DINT, 85
Sumador controlable, INT, 78 XOR, 20
Sumador controlable, REAL, 68
Sumador, DINT, 79
Sumador, INT, 72
Sumador, REAL, 56
SYSTEM, 141
SYSTIME, 145

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

CFC - Bloques elementares


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