� �Ayuda de bloques elementales CFC
_________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
SIMATIC
Sistema de control de procesos PCS 7 Ayuda de bloques elementales CFC
Manual de programación y manejo
12/2011 A5E02781029-01
Parámetros de bloque EN, ENO, SAMPLE_T
1
Arranque en CPUs S7-300 2
Bloques CFC 3
Bloques lógicos con el tipo de datos BOOL
4Bloques lógicos con los tipos de datos WORD y DWORD
5Bloques para comparar dos valores de entrada del mismo tipo
6Bloques para convertir tipos de datos
7Bloques aritméticos con el tipo de datos REAL
8Bloques aritméticos con los tipos de datos INT y DINT
9
Bloques Flip-Flop 10
Bloques de desplazamiento 11
Bloques multiplex 12
Bloques de contaje 13
Bloques para generar o procesar impulsos
14Bloques para introducir o modificar la hora y la fecha, así como intervalos
15
Bloques de regulación 16
Bloques para funciones del sistema
17Bloques para conexiones inter-AS
18
Anexo 19
Notas jurídicas
Notas jurídicas Filosofía en la señalización de advertencias y peligros
Este manual contiene las informaciones necesarias para la seguridad personal así como para la prevención de daños materiales. Las informaciones para su seguridad personal están resaltadas con un triángulo de advertencia; las informaciones para evitar únicamente daños materiales no llevan dicho triángulo. 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.
PRECAUCIÓN con triángulo de advertencia significa que si no se adoptan las medidas preventivas adecuadas, pueden producirse lesiones corporales.
PRECAUCIÓN sin triángulo de advertencia significa que si no se adoptan las medidas preventivas adecuadas, pueden producirse daños materiales.
ATENCIÓN 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 más estricta en cada caso. Si en una consigna de seguridad con triángulo de advertencia se alarma de posibles daños personales, la misma consigna puede contener también una advertencia sobre posibles daños materiales.
Personal cualificado El producto/sistema tratado en esta documentación sólo deberá ser manejado o manipulado por personal cualificado para la tarea encomendada y observando lo indicado en la documentación correspondiente a la misma, particularmente las consignas de seguridad y advertencias en ella incluidas. Debido a su formación y experiencia, el personal cualificado está en condiciones de reconocer riesgos resultantes del manejo o manipulación de dichos productos/sistemas y de evitar posibles peligros.
Uso previsto o de los productos de Siemens Considere lo siguiente:
ADVERTENCIA Los productos de Siemens sólo deberán usarse para los casos de aplicación previstos en el catálogo y la documentación técnica asociada. De usarse productos y componentes de terceros, éstos deberán haber sido recomendados u homologados por Siemens. El funcionamiento correcto y seguro de los productos exige que su transporte, almacenamiento, instalación, montaje, manejo y mantenimiento hayan sido realizados de forma correcta. Es preciso respetar las condiciones ambientales permitidas. También deberán seguirse las indicaciones y advertencias que figuran en la documentación 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 utilización por terceros para sus propios fines puede violar los derechos de sus titulares.
Exención de responsabilidad Hemos comprobado la concordancia del contenido de esta publicación 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 publicación se revisa periódicamente; si es necesario, las posibles las correcciones se incluyen en la siguiente edición.
Siemens AG Industry Sector Postfach 48 48 90026 NÜRNBERG ALEMANIA
A5E02781029-01 Ⓟ 10/2011
Copyright © Siemens AG 2011. Sujeto a cambios sin previo aviso
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 3
Índice
1 Parámetros de bloque EN, ENO, SAMPLE_T.......................................................................................... 11
2 Arranque en CPUs S7-300 ...................................................................................................................... 13
3 Bloques CFC ........................................................................................................................................... 15
4 Bloques lógicos con el tipo de datos BOOL............................................................................................. 17
4.1 BIT-LGC.......................................................................................................................................17
4.2 AND: Combinación Y ...................................................................................................................18
4.3 OR: Combinación O.....................................................................................................................19
4.4 XOR: Combinación de antivalencia .............................................................................................20
4.5 NAND: Combinación NAND.........................................................................................................21
4.6 NOR: Combinación NOR.............................................................................................................22
4.7 NOT: Combinación NOT..............................................................................................................23
5 Bloques lógicos con los tipos de datos WORD y DWORD ...................................................................... 25
5.1 WRD_LGC ...................................................................................................................................25
5.2 WAND_W: Combinación Y palabra a palabra .............................................................................26
5.3 WOR_W: Combinación O palabra a palabra ...............................................................................27
5.4 WXOR_W: Combinación antivalencia palabra a palabra ............................................................28
5.5 WNAND_W: Combinación lógica Y con palabras........................................................................29
5.6 WNOR_W: Combinación NOR palabra a palabra .......................................................................30
5.7 WNOT_W: Combinación NOT palabra a palabra........................................................................30
5.8 WAND_DW: Combinación lógica Y con palabras dobles............................................................31
5.9 WOR_DW: Combinación O palabra doble a palabra doble.........................................................31
5.10 WXOR_DW: Combinación antivalencia palabra doble a palabra doble......................................32
5.11 WNAND_DW: Combinación NAND palabra doble a palabra doble ............................................32
5.12 WNOR_DW: Combinación NOR palabra doble a palabra doble.................................................33
5.13 WNOT_DW: Combinación NOT palabra doble a palabra doble..................................................33
Índice
Ayuda de bloques elementales CFC 4 Manual de programación y manejo, 12/2011, A5E02781029-01
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
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
Índice
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 5
8 Bloques aritméticos con el tipo de datos REAL ....................................................................................... 55
8.1 MATH_FP.....................................................................................................................................55
8.2 ADD_R: Suma de valores REAL..................................................................................................57
8.3 SUB_R: Substracción de valores REAL ......................................................................................57
8.4 MUL_R: Multiplicación de valores REAL .....................................................................................58
8.5 DIV_R: División de valores REAL................................................................................................58
8.6 MAXn_R: Máximo de valores REAL ............................................................................................59
8.7 MINn_R: Mínimo de valores REAL ..............................................................................................60
8.8 ABS_R: Valor absoluto de valores REAL ....................................................................................61
8.9 SQRT: Raíz cuadrada..................................................................................................................61
8.10 EXP: Función exponencial...........................................................................................................62
8.11 POW10: Función de potencias de diez .......................................................................................62
8.12 LN: Logaritmo natural ..................................................................................................................63
8.13 LOG10: Logaritmo en base 10.....................................................................................................63
8.14 SIN: Función de seno ..................................................................................................................64
8.15 COS: Función de coseno.............................................................................................................64
8.16 TAN: Función de tangente ...........................................................................................................65
8.17 ASIN: Función de arcoseno.........................................................................................................65
8.18 ACOS: Función de arcocoseno ...................................................................................................66
8.19 ATAN: Función de arcotangente..................................................................................................66
8.20 NEG_R: Negador de valores REAL.............................................................................................67
8.21 LIM_R: Limitador de valores REAL..............................................................................................67
8.22 EPS_R: Precisión, aproximación .................................................................................................68
8.23 CADD_R: Sumador controlable de valores REAL.......................................................................69
8.24 POWXY: Función general de potenciación .................................................................................70
8.25 SAMP_AVE: Valor medio flotante................................................................................................71
Índice
Ayuda de bloques elementales CFC 6 Manual de programación y manejo, 12/2011, A5E02781029-01
9 Bloques aritméticos con los tipos de datos INT y DINT ........................................................................... 73
9.1 MATH_INT................................................................................................................................... 73
9.2 ADD_I: Suma de valores INT...................................................................................................... 75
9.3 SUB_I: Substracción de valores INT........................................................................................... 75
9.4 MUL_I: Multiplicación de valores INT.......................................................................................... 76
9.5 DIV_I: División de valores INT .................................................................................................... 76
9.6 MOD_I: Función módulo de valores INT..................................................................................... 77
9.7 MAXn_I: Máximo de valores INT ................................................................................................ 78
9.8 MINn_I: Mínimo de valores INT................................................................................................... 79
9.9 ABS_I: Valor absoluto de valores INT......................................................................................... 79
9.10 NEG_I: Negador de valores INT ................................................................................................. 80
9.11 LIM_I: Limitador de valores INT .................................................................................................. 81
9.12 EPS_I: Precisión; aproximación de valores INT ......................................................................... 82
9.13 CADD_I: Sumador controlable de valores INT ........................................................................... 83
9.14 ADD_DI: Suma de valores DINT................................................................................................. 84
9.15 SUB_DI: Substracción de valores DINT ..................................................................................... 84
9.16 MUL_DI: Multiplicación de DINT ................................................................................................. 85
9.17 DIV_DI: División de valores DINT ............................................................................................... 85
9.18 MOD_DI: Función módulo de valores DINT................................................................................ 86
9.19 MAXn_DI: Máximo de valores DINT ........................................................................................... 87
9.20 MINn_DI: Mínimo de valores DINT ............................................................................................. 88
9.21 ABS_DI: Valor absoluto de valores DINT ................................................................................... 88
9.22 NEG_DI: Negador de valores DINT ............................................................................................ 89
9.23 LIM_DI: Limitador de valores DINT............................................................................................. 90
9.24 EPS_DI: Precisión; aproximación de valores DINT .................................................................... 91
9.25 CADD_DI: Sumador controlable de valores DINT ...................................................................... 92
10 Bloques Flip-Flop..................................................................................................................................... 93
10.1 FLIPFLOP ................................................................................................................................... 93
10.2 JK_FF: FlipFlop JK...................................................................................................................... 94
10.3 RS_FF: FlipFlop RS, desactivación dominante .......................................................................... 95
10.4 SR_FF: FlipFlop SR, activación dominante ................................................................................ 96
Índice
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 7
11 Bloques de desplazamiento..................................................................................................................... 97
11.1 SHIFT...........................................................................................................................................97
11.2 SHL_W: Desplazar WORD hacia la izquierda .............................................................................98
11.3 SHL_DW: Desplazar DWORD hacia la izquierda........................................................................98
11.4 SHR_W: Desplazar WORD hacia la derecha ..............................................................................99
11.5 SHR_DW: Desplazar DWORD hacia la derecha.........................................................................99
11.6 ROL_W: Rotar WORD hacia la izquierda ..................................................................................100
11.7 ROL_DW: Rotar DWORD hacia la izquierda.............................................................................100
11.8 ROR_W: Rotar WORD hacia la derecha ...................................................................................101
11.9 ROR_DW: Rotar DWORD hacia la derecha..............................................................................101
12 Bloques multiplex................................................................................................................................... 103
12.1 MULTIPLX..................................................................................................................................103
12.2 MUXn_I: Multiplexor 1 de n para valores INT............................................................................104
12.3 MUXn_DI: Multiplexor 1 de n para valores DINT.......................................................................105
12.4 MUXn_R: Multiplexor 1 de n para valores REAL.......................................................................106
12.5 MUXn_BO: Multiplexor 1 de n para valores BOOL....................................................................107
12.6 SEL_BO: Multiplexor 1 de 2 para valores BOOL.......................................................................108
12.7 SEL_R: Multiplexor 1 de 2 para valores REAL..........................................................................108
13 Bloques de contaje ................................................................................................................................ 109
13.1 COUNTER .................................................................................................................................109
13.2 CTU: Incrementar contador .......................................................................................................110
13.3 CTD: Decrementar contador......................................................................................................112
13.4 CTUD: Incrementar/decrementar contador ...............................................................................113
14 Bloques para generar o procesar impulsos ........................................................................................... 115
14.1 IMPULS......................................................................................................................................115
14.2 TIMER_P: Formador de impulsos..............................................................................................116
14.3 R_TRIG: Detección del flanco positivo ......................................................................................119
14.4 F_TRIG: Detección del flanco negativo .....................................................................................120
14.5 AFP: Generador de impulsos de reloj........................................................................................121
15 Bloques para introducir o modificar la hora y la fecha, así como intervalos........................................... 123
15.1 TIME...........................................................................................................................................123
15.2 TIME: Medir el tiempo de ejecución ..........................................................................................124
15.3 TIME_BEG: Leer la hora actual .................................................................................................124
15.4 TIME_END: Comparar la hora de entrada con la hora actual ...................................................125
Índice
Ayuda de bloques elementales CFC 8 Manual de programación y manejo, 12/2011, A5E02781029-01
16 Bloques de regulación ........................................................................................................................... 127
16.1 CONTROL................................................................................................................................. 127
16.2 CONT_C.................................................................................................................................... 128 16.2.1 CONT_C: Regulador continuo .................................................................................................. 128 16.2.2 CONT_C: Esquema de bloques................................................................................................ 135
16.3 CONT_S.................................................................................................................................... 136 16.3.1 CONT_S: Regulador paso a paso ............................................................................................ 136 16.3.2 CONT_S: Esquema de bloques................................................................................................ 141
16.4 PULSEGEN............................................................................................................................... 142 16.4.1 PULSEGEN: Modulación de ancho de impulsos para reguladores PID .................................. 142 16.4.2 PULSEGEN: Esquema de bloques........................................................................................... 149 16.4.3 PULSEGEN: Regulación a tres puntos..................................................................................... 149 16.4.4 PULSEGEN: Regulación a tres puntos asimétrica ................................................................... 151 16.4.5 PULSEGEN: Regulación a dos puntos..................................................................................... 152 16.4.6 PULSEGEN: Modo manual en regulación a dos o tres puntos ................................................ 153
17 Bloques para funciones del sistema ...................................................................................................... 155
17.1 EVENT: Comienzo del nivel de ejecución ................................................................................ 155
17.2 DELAY....................................................................................................................................... 157
17.3 DELAY: Retardar los eventos de inicio..................................................................................... 158
17.4 EDELAY : Liberar los eventos de arranque retardados............................................................ 159
17.5 DISCARD: Se descartan todos los eventos de arranque que ocurran..................................... 160
17.6 EDISCARD: Habilitar todos los eventos de arranque nuevos que ocurran.............................. 161
17.7 LASTERR: Averiguar los códigos de los errores en DELAY, EDELAY, DISCARD, EDISCARD,P_REASON ........................................................................................................... 162
17.8 SYSTIME: Determinar la hora del sistema. .............................................................................. 163
17.9 P_REASON: Determinar la causa de la alarma de proceso..................................................... 164
17.10 FRC_CFC: Bloque interno ........................................................................................................ 164
18 Bloques para conexiones inter-AS......................................................................................................... 165
18.1 IK_STATE.................................................................................................................................. 165
18.2 IK_MANAG................................................................................................................................ 167
18.3 IK_SEND ................................................................................................................................... 167
18.4 IK_RCV...................................................................................................................................... 168
18.5 IK_CP_OU................................................................................................................................. 168
18.6 IK_CP_IN................................................................................................................................... 169
18.7 IK_ALARM................................................................................................................................. 169
Índice
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 9
19 Anexo .................................................................................................................................................... 171
19.1 Procesamiento de valores manuales.........................................................................................171
19.2 Modulación de ancho de impulsos ............................................................................................171
19.3 Rama de valores reales .............................................................................................................172
19.4 Curva característica con margen de valores manipulados bipolar............................................172
19.5 Curva característica con margen de valores manipulados unipolar..........................................173
19.6 Algoritmo PI discontinuo ............................................................................................................173
19.7 Algoritmo PID.............................................................................................................................173
19.8 Formación de errores de regulación..........................................................................................174
19.9 Rama de valores nominales ......................................................................................................174
19.10 Procesamiento de valores nominales........................................................................................174
19.11 Control anticipativo de la magnitud perturbadora......................................................................174
19.12 Curva característica simétrica para reguladores de tres puntos ...............................................175
19.13 Curva característica asimétrica del regulador de tres puntos ...................................................176
Índice alfabético..................................................................................................................................... 177
Índice
Ayuda de bloques elementales CFC 10 Manual de programación y manejo, 12/2011, A5E02781029-01
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 11
Parámetros de bloque EN, ENO, SAMPLE_T 1EN
EN (enable): entrada de habilitación.
Este parámetro, disponible únicamente en la representación gráfica de CFC, está ocultado y permite activar y desactivar la ejecución del bloque. Gracias a ello, el bloque se llamará (en el código de ejecución del PLC) sólo si ha sido habilitado con EN = 1.
ENO ENO: equivale al RB (resultado binario – v. descripción de STEP 7).
ENO = 1 indica que el resultado de la función es válido. Cuando ocurran errores que hayan sido detectados por el sistema operativo y/o por el tratamiento de errores incluido en la lógica del bloque, ENO = 0 indicará que el resultado no es válido. Esta información se puede utilizar para conmutar a otros valores (p. ej. valores de seguridad) y, si fuese necesario, visualizar avisos en la OS (estación de operador).
El parámetro ENO será también FALSE si EN = FALSE.
SAMPLE_T Todos los bloques con el parámetro de entrada SAMPLE_T deben procesarse en tareas periódicas (p. ej. OB 35: alarma temporizada 100 ms). Si se incorporan en tareas no cíclicas (p. ej. alarmas de proceso), estos bloques proporcionan resultados erróneos.
Parámetros de bloque EN, ENO, SAMPLE_T
Ayuda de bloques elementales CFC 12 Manual de programación y manejo, 12/2011, A5E02781029-01
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 13
Arranque en CPUs S7-300 2Arranque
Puesto que las CPUs S7-300 no detectan automáticamente el nivel de rearranque completo, en los bloques en los que se ha programado un comportamiento específico 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 ejecución eligiendo el comando de menú Edición > Secuencia de ejecución o mediante el correspondiente botón 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 cíclica (ajuste estándar: OB 35) El bloque se llamará sólo en el OB 100.
Arranque en CPUs S7-300
Ayuda de bloques elementales CFC 14 Manual de programación y manejo, 12/2011, A5E02781029-01
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 15
Bloques CFC 3Familias de bloques CFC disponibles
Familia Aplicación BIT-LGC (Página 17) Bloques lógicos con el tipo de datos BOOL WRD_LGC (Página 25)
Bloques lógicos con los tipos de datos WORD y DWORD
COMPARE (Página 35)
Bloques para comparar dos valores de entrada del mismo tipo
CONVERT (Página 41)
Bloques para convertir tipos de datos
MATH_FP (Página 55)
Bloques aritméticos con el tipo de datos REAL
MATH_INT (Página 73)
Bloques aritméticos con los tipos de datos INT y DINT
FLIPFLOP (Página 93)
Bloques Flip-Flop
SHIFT (Página 97) Bloques de desplazamiento MULTIPLX (Página 103)
Bloques multiplex
COUNTER (Página 109)
Bloques de contaje
IMPULS (Página 115)
Bloques para generar o procesar impulsos
TIME (Página 123) Bloques para introducir o modificar la hora y la fecha, así como intervalos CONTROL (Página 127)
Bloques de regulación
EVENT: Comienzo del nivel de ejecución (Página 155)
Bloques para funciones del sistema
Bloques para conexiones inter-AS (Página 165)
Bloques para conexiones inter-AS
Encontrará más información sobre los bloques ALARM_8P, BSEND y BRCV en la Ayuda PCS 7 Standard Library.
Nota
El valor inicial en la salida de los bloques CFC es "1", independientemente de los valores de las entradas. Esto significa que la lógica subsiguiente recibirá "1" hasta que el bloque no se procese.
Bloques CFC
Ayuda de bloques elementales CFC 16 Manual de programación y manejo, 12/2011, A5E02781029-01
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 17
Bloques lógicos con el tipo de datos BOOL 44.1 BIT-LGC
Bloques CFC de la familia "BIT_LGC" Esta familia comprende los siguientes bloques que permiten establecer combinaciones lógicas:
AND: Combinación Y (Página 18)
Combinación Y
OR: Combinación O (Página 19)
Combinación O
XOR: Combinación de antivalencia (Página 20)
Combinación de antivalencia
NAND: Combinación NAND (Página 21)
Combinación NAND
NOR: Combinación NOR (Página 22)
Combinación NOR
NOT: Combinación NOT (Página 23)
Combinación NOT
Bloques lógicos con el tipo de datos BOOL 4.2 AND: Combinación Y
Ayuda de bloques elementales CFC 18 Manual de programación y manejo, 12/2011, A5E02781029-01
4.2 AND: Combinación Y
Función Este bloque combina las entradas formando una Y (AND) lógica. La salida es 1 cuando todas las entradas son 1. De lo contrario, la salida será 0. Se puede modificar el número 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
Bloques lógicos con el tipo de datos BOOL 4.3 OR: Combinación O
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 19
4.3 OR: Combinación O
Función Este bloque combina las entradas formando una O lógica (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 número 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
Bloques lógicos con el tipo de datos BOOL 4.4 XOR: Combinación de antivalencia
Ayuda de bloques elementales CFC 20 Manual de programación y manejo, 12/2011, A5E02781029-01
4.4 XOR: Combinación de antivalencia
Función 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 número 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
Bloques lógicos con el tipo de datos BOOL 4.5 NAND: Combinación NAND
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 21
4.5 NAND: Combinación NAND
Función Este bloque combina las entradas formando una Y lógica, que seguidamente será negada. La salida solo es 0 cuando todas las entradas son 1. Puede modificarse el número 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
Bloques lógicos con el tipo de datos BOOL 4.6 NOR: Combinación NOR
Ayuda de bloques elementales CFC 22 Manual de programación y manejo, 12/2011, A5E02781029-01
4.6 NOR: Combinación NOR
Función Este bloque combina las entradas formando una O (OR) lógica, que seguidamente será negada. La salida solo es 1 cuando todas las entradas son 0. Puede modificarse el número 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
Bloques lógicos con el tipo de datos BOOL 4.7 NOT: Combinación NOT
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 23
4.7 NOT: Combinación NOT
Función 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
Bloques lógicos con el tipo de datos BOOL 4.7 NOT: Combinación NOT
Ayuda de bloques elementales CFC 24 Manual de programación y manejo, 12/2011, A5E02781029-01
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 25
Bloques lógicos con los tipos de datos WORD y DWORD 55.1 WRD_LGC
Bloques CFC de la familia "WRD_LGC" Esta familia comprende los siguientes bloques que permiten realizar combinaciones lógicas con los tipos de datos WORD y DWORD:
WAND_W: Combinación Y palabra a palabra (Página 26)
Combinación Y palabra a palabra
WAND_DW Combinación Y palabra doble a palabra doble WOR_W: Combinación O palabra a palabra (Página 27)
Combinación O palabra a palabra
WOR_DW Combinación O palabra doble a palabra doble WXOR_W: Combinación antivalencia palabra a palabra (Página 28)
Combinación antivalencia palabra a palabra
WXOR_DW Combinación antivalencia palabra doble a palabra doble WNAND_W: Combinación lógica Y con palabras (Página 29)
Combinación NAND palabra a palabra
WNAND_DW Combinación NAND palabra doble a palabra doble WNOR_W: Combinación NOR palabra a palabra (Página 30)
Combinación NOR palabra a palabra
WNOR_DW Combinación NOR palabra doble a palabra doble WNOT_W Combinación NOT palabra a palabra WNOT_DW: Combinación NOT palabra doble a palabra doble (Página 33)
Combinación NOT palabra doble a palabra doble
Bloques lógicos con los tipos de datos WORD y DWORD 5.2 WAND_W: Combinación Y palabra a palabra
Ayuda de bloques elementales CFC 26 Manual de programación y manejo, 12/2011, A5E02781029-01
5.2 WAND_W: Combinación Y palabra a palabra
Función Este bloque combina las entradas palabra a palabra formando una Y (AND) lógica. Los bits de todas las entradas que tengan los mismos valores se combinan en una Y (AND) lógica y el resultado se escribe en el bit correspondiente de la salida. Puede modificarse el número 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
Bloques lógicos con los tipos de datos WORD y DWORD 5.3 WOR_W: Combinación O palabra a palabra
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 27
5.3 WOR_W: Combinación O palabra a palabra
Función Este bloque combina las entradas palabra a palabra formando una O (OR) lógica. Los bits de todas las entradas que tengan los mismos valores se combinan en una O (OR) lógica y el resultado se escribe en el bit correspondiente de la salida. Puede modificarse el número 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
Bloques lógicos con los tipos de datos WORD y DWORD 5.4 WXOR_W: Combinación antivalencia palabra a palabra
Ayuda de bloques elementales CFC 28 Manual de programación y manejo, 12/2011, A5E02781029-01
5.4 WXOR_W: Combinación antivalencia palabra a palabra
Función 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 lógica 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 número 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
Bloques lógicos con los tipos de datos WORD y DWORD 5.5 WNAND_W: Combinación lógica Y con palabras
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 29
5.5 WNAND_W: Combinación lógica Y con palabras
Función Este bloque combina las entradas palabra a palabra formando una Y-NO lógica. Los bits de todas las entradas que tengan los mismos valores se combinan en una Y (AND) lógica, que seguidamente es negada, y el resultado se escribe en el bit correspondiente de la salida. Puede modificarse el número 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
Bloques lógicos con los tipos de datos WORD y DWORD 5.6 WNOR_W: Combinación NOR palabra a palabra
Ayuda de bloques elementales CFC 30 Manual de programación y manejo, 12/2011, A5E02781029-01
5.6 WNOR_W: Combinación NOR palabra a palabra
Función Este bloque combina las entradas palabra a palabra formando una O-NO lógica. Los bits de todas las entradas que tengan los mismos valores se combinan en una O (OR) lógica, que seguidamente es negada, y el resultado se escribe en el bit correspondiente de la salida. Puede modificarse el número 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
5.7 WNOT_W: Combinación NOT palabra a palabra
Función 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
Bloques lógicos con los tipos de datos WORD y DWORD 5.8 WAND_DW: Combinación lógica Y con palabras dobles
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 31
5.8 WAND_DW: Combinación lógica Y con palabras dobles
Función Este bloque combina las entradas palabra doble a palabra doble formando una Y (AND) lógica. Los bits de todas las entradas que tienen los mismos valores se combinan en una Y (AND) lógica y el resultado se escribe en el bit correspondiente de la salida. Puede modificarse el número 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: Combinación O palabra doble a palabra doble
Función Este bloque combina las entradas palabra doble a palabra doble formando una O (OR) lógica. Los bits de todas las entradas que tienen los mismos valores se combinan en una O (OR) lógica y el resultado se escribe en el bit correspondiente de la salida. Puede modificarse el número 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
Bloques lógicos con los tipos de datos WORD y DWORD 5.10 WXOR_DW: Combinación antivalencia palabra doble a palabra doble
Ayuda de bloques elementales CFC 32 Manual de programación y manejo, 12/2011, A5E02781029-01
5.10 WXOR_DW: Combinación antivalencia palabra doble a palabra doble
Función 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 lógica 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 el mismo valor. De lo contrario, el bit será 1. Puede modificarse el número 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: Combinación NAND palabra doble a palabra doble
Función Este bloque combina las entradas palabra doble a palabra doble formando una Y-NO lógica. Los bits de todas las entradas que tienen los mismos valores se combinan en una Y (AND) lógica, que seguidamente es negada, y el resultado se escribe en el bit correspondiente de la salida. Puede modificarse el número 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
Bloques lógicos con los tipos de datos WORD y DWORD 5.12 WNOR_DW: Combinación NOR palabra doble a palabra doble
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 33
5.12 WNOR_DW: Combinación NOR palabra doble a palabra doble
Función Este bloque combina las entradas palabra doble a palabra doble formando una O-NO lógica. Los bits de todas las entradas que tengan los mismos valores se combinan en una O (OR) lógica, que seguidamente es negada, y el resultado se escribe en el bit correspondiente de la salida. Puede modificarse el número 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: Combinación NOT palabra doble a palabra doble
Función 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 1
Bloques lógicos con los tipos de datos WORD y DWORD 5.13 WNOT_DW: Combinación NOT palabra doble a palabra doble
Ayuda de bloques elementales CFC 34 Manual de programación y manejo, 12/2011, A5E02781029-01
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 35
Bloques para comparar dos valores de entrada del mismo tipo 66.1 COMPARE
Bloques CFC de la familia "COMPARE" Esta familia comprende los bloques que comparan dos magnitudes de entrada, a saber:
CMP_I: Comparador de valores INT (Página 36)
Comparador de valores INT
CMP_DI: Comparador de valores DINT (Página 37)
Comparador de valores DINT
CMP_R: Comparador de valores REAL (Página 38)
Comparador de valores REAL
CMP_T: Comparador de valores TIME (Página 39)
Comparador de valores TIME
Bloques para comparar dos valores de entrada del mismo tipo 6.2 CMP_I: Comparador de valores INT
Ayuda de bloques elementales CFC 36 Manual de programación y manejo, 12/2011, A5E02781029-01
6.2 CMP_I: Comparador de valores INT
Función 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
LE = 1 si IN1 ≤ IN2
LT = 1 si IN1 < IN2
Conexiones
Nombre Tipo de
datos Explicación Ajuste predeterminado
Entradas IN1 INT Magnitud de entrada 1 0 IN2 INT Magnitud de entrada 2 0 Salidas GT BOOL 1, IN1 > IN2 0 GE BOOL 1, IN1 ≥ IN2 0 EQ BOOL 1, IN1 = IN2 0 LE BOOL 1, IN1 ≤ IN2 0 LT BOOL 1, IN1 < IN2 0
Bloques para comparar dos valores de entrada del mismo tipo 6.3 CMP_DI: Comparador de valores DINT
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 37
6.3 CMP_DI: Comparador de valores DINT
Función 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
LE = 1 si IN1 ≤ IN2
LT = 1 si IN1 < IN2
Conexiones
Nombre Tipo de datos Explicación Ajuste predeterminado 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 LE BOOL 1, IN1 ≤ IN2 0 LT BOOL 1, IN1 < IN2 0
Bloques para comparar dos valores de entrada del mismo tipo 6.4 CMP_R: Comparador de valores REAL
Ayuda de bloques elementales CFC 38 Manual de programación y manejo, 12/2011, A5E02781029-01
6.4 CMP_R: Comparador de valores REAL
Función 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 otras cuatro salidas se ponen a 0.
Conexiones
Nombre Tipo de datos Explicación Ajuste predeterminado 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
Bloques para comparar dos valores de entrada del mismo tipo 6.5 CMP_T: Comparador de valores TIME
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 39
6.5 CMP_T: Comparador de valores TIME
Función 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
LE = 1 si IN1 ≤ IN2
LT = 1 si IN1 < IN2
Conexiones
Nombre Tipo de datos Explicación Ajuste predeterminado 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 LE BOOL 1, IN1 ≤ IN2 0 LT BOOL 1, IN1 < IN2 0
Bloques para comparar dos valores de entrada del mismo tipo 6.5 CMP_T: Comparador de valores TIME
Ayuda de bloques elementales CFC 40 Manual de programación y manejo, 12/2011, A5E02781029-01
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 41
Bloques para convertir tipos de datos 77.1 CONVERT
Introducción En CFC sólo se pueden unir salidas de bloques (tipo origen) a entradas de bloques (tipo destino) cuando ambos tipos de datos sean idénticos (p .ej. una salida REAL con una entrada REAL). Para interconectar tipos de datos diferentes deben utilizarse bloques de conversión. 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 conversión Los nombres de tipos de los bloques de conversión se forman a partir de las abreviaturas de los tipos de datos de origen y de destino, que se unen mediante el carácter "_".
En la tabla siguiente se describen brevemente las reglas de conversión 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 válido y en la salida de comprobación se indica ENO = 0.
ENO se puede evaluar para p. ej. utilizar un valor sustitutivo o de seguridad en el procesamiento subsiguiente.
En la librería 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 también pueden tener el mismo valor).
Los siguientes bloques convierten un valor de un tipo de datos en un valor de otro tipo de datos:
BY_DW (Página 43) Convierte BYTE en DWORD BY_W (Página 43) Convierte BYTE en WORD DI_DW (Página 44) Convierte DINT en DWORD DI_I (Página 44) Convierte DINT en INT DI_R (Página 45) Convierte DINT en REAL DW_DI (Página 45) Convierte DWORD en DINT DW_R (Página 46) Convierte DWORD en REAL DW_W (Página 46) Convierte DWORD en WORD I_DI (Página 47) Convierte INT en DINT I_DW (Página 47) Convierte INT en DWORD I_R (Página 48) Convierte INT en REAL I_W (Página 48) Convierte INT en WORD R_DI (Página 49) Convierte REAL en DINT R_DW (Página 49) Convierte REAL en DWORD R_I (Página 50) Convierte REAL en INT
Bloques para convertir tipos de datos 7.1 CONVERT
Ayuda de bloques elementales CFC 42 Manual de programación y manejo, 12/2011, A5E02781029-01
W_BY (Página 50) Convierte WORD en BYTE W_DW (Página 51) Convierte WORD en DWORD W_I (Página 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 (Página 52) Convierte BOOL en BYTE, 8 entradas BO_W (Página 52) Convierte BOOL en WORD, 16 entradas BO_DW (Página 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 (Página 53) Convierte BYTE en BOOL, 8 salidas W_BO (Página 54) Convierte WORD en BOOL, 16 salidas DW_BO (Página 54) Convierte DWORD en BOOL, 32 salidas
Bloques para convertir tipos de datos 7.2 BY_DW
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 43
7.2 BY_DW
Función 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
Función 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
Bloques para convertir tipos de datos 7.4 DI_DW
Ayuda de bloques elementales CFC 44 Manual de programación y manejo, 12/2011, A5E02781029-01
7.4 DI_DW
Función Copia la cadena de bits de IN a OUT.
Tratamiento de errores No aplicable
Conexiones Nombre Tipo de datos Explicación Preajuste Entrada IN DINT Valor de entrada 0 Salida OUT DWORD Valor de salida 0
7.5 DI_I
Función 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 válido.
Conexiones Nombre Tipo de datos Explicación Preajuste Entrada IN DINT Valor de entrada 0 Salida OUT INT Valor de salida 0
Bloques para convertir tipos de datos 7.6 DI_R
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 45
7.6 DI_R
Función Convierte el valor de IN en un número 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
Función Copia la cadena de bits de IN a OUT.
Tratamiento de errores No aplicable
Conexiones Nombre Tipo de datos Explicación Preajuste Entrada IN DWORD Valor de entrada 0 Salida OUT DINT Valor de salida 0
Bloques para convertir tipos de datos 7.8 DW_R
Ayuda de bloques elementales CFC 46 Manual de programación y manejo, 12/2011, A5E02781029-01
7.8 DW_R
Funcionamiento El bloque sólo transfiere la cadena de bits pero no hace ninguna conversión. Para obtener una conversión de valor a REAL es necesario utilizar el bloque DW_DI y a continuación el bloque DI_R.
Función Copia la cadena de bits de IN a OUT.
Tratamiento de errores No aplicable
Conexiones Nombre Tipo de datos Explicación Preajuste Entrada IN DWORD Valor de entrada 0 Salida OUT REAL Valor de salida 0
7.9 DW_W
Función 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 Explicación Preajuste Entrada IN DWORD Valor de entrada 0 Salida OUT WORD Valor de salida 0
Bloques para convertir tipos de datos 7.10 I_DI
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 47
7.10 I_DI
Función 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
Función 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 Explicación Preajuste Entrada IN INT Valor de entrada 0 Salida OUT DWORD Valor de salida 0
Bloques para convertir tipos de datos 7.12 I_R
Ayuda de bloques elementales CFC 48 Manual de programación y manejo, 12/2011, A5E02781029-01
7.12 I_R
Función Convierte el número 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
Función Copia la cadena de bits de IN a OUT.
Tratamiento de errores No aplicable
Conexiones Nombre Tipo de datos Explicación Preajuste Entrada IN INT Valor de entrada 0 Salida OUT WORD Valor de salida 0
Bloques para convertir tipos de datos 7.14 R_DI
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 49
7.14 R_DI
Función Convierte el número 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 válido.
Conexiones Nombre Tipo de datos Preajuste Entrada IN REAL 0 Salida OUT DINT 0
7.15 R_DW
Funcionamiento El bloque sólo transfiere la cadena de bits pero no hace ninguna conversión. Para convertir valores en DW es preciso utilizar el bloque R_TO_DW (PCS 7 Library).
Función 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
Bloques para convertir tipos de datos 7.16 R_I
Ayuda de bloques elementales CFC 50 Manual de programación y manejo, 12/2011, A5E02781029-01
7.16 R_I
Función El número REAL en la entrada IN se convierte en un número INT y se transmite a la salida OUT. Se aplica el siguiente redondeo: 0,5 → 0, 1,5 → 2, 2,5 → 2, 3,5 → 4, etc.
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 válido.
Conexiones Nombre Tipo de datos Ajuste predeterminado Entrada IN REAL 0 Salida: OUT INT 0
7.17 W_BY
Función Copia el byte bajo de IN a OUT.
Tratamiento de errores Si el byte alto > 0, entonces ENO = 0.
Conexiones Nombre Tipo de datos Explicación Preajuste Entrada IN WORD Valor de entrada 0 Salida OUT BYTE Valor de salida 0
Bloques para convertir tipos de datos 7.18 W_DW
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 51
7.18 W_DW
Función 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
Función Copia la cadena de bits de IN a OUT.
Tratamiento de errores No aplicable
Conexiones Nombre Tipo de datos Explicación Preajuste Entrada IN WORD Valor de entrada 0 Salida OUT INT Valor de salida 0
Bloques para convertir tipos de datos 7.20 BO_BY
Ayuda de bloques elementales CFC 52 Manual de programación y manejo, 12/2011, A5E02781029-01
7.20 BO_BY
Función Este bloque convierte los 8 valores de entrada del tipo BOOL en un valor del tipo BYTE que se deposita en la salida. La conversión 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
Función Este bloque convierte los 16 valores de entrada del tipo BOOL en un valor del tipo WORD que se deposita en la salida. La conversión 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
Bloques para convertir tipos de datos 7.22 BO_DW
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 53
7.22 BO_DW
Función Este bloque convierte los 32 valores de entrada del tipo BOOL en un valor del tipo DWORD que se deposita en la salida. La conversión 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
Función 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
Bloques para convertir tipos de datos 7.24 W_BO
Ayuda de bloques elementales CFC 54 Manual de programación y manejo, 12/2011, A5E02781029-01
7.24 W_BO
Función 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
Función 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 conversión, 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
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 55
Bloques aritméticos con el tipo de datos REAL 88.1 MATH_FP
Bloques CFC de la familia "MATH_FP" Esta familia comprende los siguientes bloques que permiten realizar operaciones aritméticas con datos del tipo REAL:
ADD_R: Suma de valores REAL (Página 57)
Suma de valores REAL
SUB_R: Substracción de valores REAL (Página 57)
Substracción de valores REAL
MUL_R: Multiplicación de valores REAL (Página 58)
Multiplicación de valores REAL
DIV_R: División de valores REAL (Página 58)
División de valores REAL
ABS_R: Valor absoluto de valores REAL (Página 61)
Valor absoluto de valores REAL
EPS_R: Precisión, aproximación (Página 68)
Precisión, aproximación
NEG_R: Negador de valores REAL (Página 67)
Negador de valores REAL
MAXn_R: Máximo de valores REAL (Página 59)
Máximo de valores REAL
MINn_R: Mínimo de valores REAL (Página 60)
Mínimo de valores REAL
LIM_R: Limitador de valores REAL (Página 67)
Limitador de valores REAL
CADD_R: Sumador controlable de valores REAL (Página 69)
Sumador controlable de valores REAL
SQRT: Raíz cuadrada (Página 61)
Raíz cuadrada
EXP: Función exponencial (Página 62)
Función exponencial
POW10: Función de potencias de diez (Página 62)
Función de potencias de diez
LN: Logaritmo natural (Página 63)
Logaritmo natural
LOG10: Logaritmo en base 10 (Página 63)
Logaritmo en base 10
SIN: Función de seno (Página 64)
Función de seno
Bloques aritméticos con el tipo de datos REAL 8.1 MATH_FP
Ayuda de bloques elementales CFC 56 Manual de programación y manejo, 12/2011, A5E02781029-01
COS: Función de coseno (Página 64)
Función de coseno
TAN: Función de tangente (Página 65)
Función de tangente
ASIN: Función de arcoseno (Página 65)
Función de arcoseno
ACOS: Función de arcocoseno (Página 66)
Función de arcocoseno
ATAN: Función de arcotangente (Página 66)
Función de arcotangente
POWXY: Función general de potenciación (Página 70)
Función general de potenciación
SAMP_AVE: Valor medio flotante (Página 71)
Valor medio flotante
Nota
El rango de valores de los números reales es: -3,40282e^+38 ... -1,755e^-38 ... 0 ... 1,755e^-38 ... 3,40282e^+38
Bloques aritméticos con el tipo de datos REAL 8.2 ADD_R: Suma de valores REAL
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 57
8.2 ADD_R: Suma de valores REAL
Función 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 Explicación Preajuste Entradas IN1 REAL Sumando 1 0.0 IN2 REAL Sumando 2 0.0 Salida OUT REAL Suma 0.0
8.3 SUB_R: Substracción de valores REAL
Función 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 Explicación Preajuste Entradas IN1 REAL Minuendo 0.0 IN2 REAL Substraendo 0.0 Salida OUT REAL Diferencia 0.0
Bloques aritméticos con el tipo de datos REAL 8.4 MUL_R: Multiplicación de valores REAL
Ayuda de bloques elementales CFC 58 Manual de programación y manejo, 12/2011, A5E02781029-01
8.4 MUL_R: Multiplicación de valores REAL
Función 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 Explicación Preajuste Entradas IN1 REAL Multiplicando 0.0 IN2 REAL Multiplicador 0.0 Salida OUT REAL Producto 0.0
8.5 DIV_R: División de valores REAL
Función 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 división por 0, un rebase por exceso o un rebase por defecto, ENO recibe el valor 0.
Conexiones Nombre Tipo de datos Explicación Preajuste Entradas IN1 REAL Dividendo 0.0 IN2 REAL Divisor 0.0 Salida OUT REAL Cociente 0.0
Bloques aritméticos con el tipo de datos REAL 8.6 MAXn_R: Máximo de valores REAL
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 59
8.6 MAXn_R: Máximo de valores REAL
Función Este bloque compara las entradas y deposita el valor máximo en la salida.
OUT = MAX {IN1, ... , INn}
Bloques Nombre Explicación 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 Explicación Preajuste Entradas IN1 REAL Magnitud de entrada 1 0.0 ... INn REAL Magnitud de entrada n 0.0 Salida OUT REAL Valor máximo 0.0
Bloques aritméticos con el tipo de datos REAL 8.7 MINn_R: Mínimo de valores REAL
Ayuda de bloques elementales CFC 60 Manual de programación y manejo, 12/2011, A5E02781029-01
8.7 MINn_R: Mínimo de valores REAL
Función Este bloque compara las entradas y deposita el valor mínimo en la salida.
OUT = MIN {IN1, ... , INn}
Bloques Nombre Explicación 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 Explicación Preajuste Entradas IN1 REAL Magnitud de entrada 1 0.0 ... INn REAL Magnitud de entrada n 0.0 Salida OUT REAL Valor máximo 0.0
Bloques aritméticos con el tipo de datos REAL 8.8 ABS_R: Valor absoluto de valores REAL
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 61
8.8 ABS_R: Valor absoluto de valores REAL
Función Este bloque deposita en la salida el valor absoluto de la entrada.
OUT = | IN |
Conexiones Nombre Tipo de datos Explicación Preajuste Entradas IN REAL Valor de entrada 0.0 Salida OUT REAL Valor absoluto 0.0
8.9 SQRT: Raíz cuadrada
Función Este bloque calcula la raíz 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 Explicación Preajuste Entrada IN REAL Radicando 0.0 Salida OUT REAL Raíz 0.0
Bloques aritméticos con el tipo de datos REAL 8.10 EXP: Función exponencial
Ayuda de bloques elementales CFC 62 Manual de programación y manejo, 12/2011, A5E02781029-01
8.10 EXP: Función exponencial
Función Este bloque calcula la función exponencial de la entrada y deposita el resultado en la salida. El número "e" es el número 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 Explicación Preajuste Entrada IN REAL Exponente 0.0 Salida OUT REAL Función exponencial 0.0
8.11 POW10: Función de potencias de diez
Función Este bloque calcula la función de potencias 10IN de la entrada y la pone a disposición en la salida.
OUT = 10^IN
Tratamiento de fallos ENO = 0 con IN1 < -37.9 e IN1 > 38.5
Conexiones Nombre Tipo de datos Explicación Preajuste Entrada IN REAL Exponente 0.0 Salida OUT REAL Potencia de diez 0.0
Bloques aritméticos con el tipo de datos REAL 8.12 LN: Logaritmo natural
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 63
8.12 LN: Logaritmo natural
Función 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 Explicación Preajuste Entrada IN REAL Argumento 0.0 Salida OUT REAL nat. Logaritmo 0.0
8.13 LOG10: Logaritmo en base 10
Función 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 Explicación Preajuste Entrada IN REAL Argumento 0.0 Salida OUT REAL Logaritmo 0.0
Bloques aritméticos con el tipo de datos REAL 8.14 SIN: Función de seno
Ayuda de bloques elementales CFC 64 Manual de programación y manejo, 12/2011, A5E02781029-01
8.14 SIN: Función de seno
Función Este bloque calcula la función 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 Explicación Preajuste Entrada IN REAL Argumento 0.0 Salida OUT REAL Seno 0.0
8.15 COS: Función de coseno
Función Este bloque calcula la función de coseno de la entrada y la deposita en la salida. IN se debe indicar en radianes.
OUT = COS(IN)
Conexiones Nombre Tipo de datos Explicación Preajuste Entrada IN REAL Argumento 0.0 Salida OUT REAL Coseno 0.0
Bloques aritméticos con el tipo de datos REAL 8.16 TAN: Función de tangente
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 65
8.16 TAN: Función de tangente
Función Este bloque calcula la función de tangente de la entrada y la deposita en la salida. IN se debe indicar en radianes.
OUT = TAN(IN)
Conexiones Nombre Tipo de datos Explicación Preajuste Entrada IN REAL Argumento 0.0 Salida OUT REAL Tangente 0.0
8.17 ASIN: Función de arcoseno
Función Este bloque calcula el arcoseno de la entrada y deposita el resultado en la salida. El resultado se indica en radianes y su valor está comprendido entre -π/2 y +π/2. El argumento de la función debe encontrarse entre 1 y +1.
OUT = ASIN(IN)
Conexiones Nombre Tipo de datos Explicación Ajuste predeterminado Entrada IN REAL Argumento 0.0 Salida OUT REAL Arcoseno 0.0
Bloques aritméticos con el tipo de datos REAL 8.18 ACOS: Función de arcocoseno
Ayuda de bloques elementales CFC 66 Manual de programación y manejo, 12/2011, A5E02781029-01
8.18 ACOS: Función de arcocoseno
Función Este bloque calcula el arcocoseno de la entrada y deposita el resultado en la salida. El resultado se indica en radianes y su valor está comprendido entre 0 y π. El argumento de la función debe encontrarse 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 Explicación Ajuste predeterminado Entrada IN REAL Argumento 0.0 Salida OUT REAL Arcocoseno 0.0
8.19 ATAN: Función de arcotangente
Función Este bloque calcula la arcotangente de la entrada y deposita el resultado en la salida. El resultado se indica en radianes y tiene un valor comprendido entre -π/2 y +π/2. Como rango válido del argumento se admiten todos los números del rango REAL.
OUT = ATAN(IN)
Conexiones Nombre Tipo de datos Explicación Ajuste predeterminado Entrada IN REAL Argumento 0.0 Salida OUT REAL Arcotangente 0.0
Bloques aritméticos con el tipo de datos REAL 8.20 NEG_R: Negador de valores REAL
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 67
8.20 NEG_R: Negador de valores REAL
Función Este bloque deposita la magnitud de entrada en la salida, pero con el signo invertido.
Conexiones Nombre Tipo de datos Explicación 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
Función 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 límite inferior MIN del intervalo es mayor que el límite superior MAX, la salida OUT será igual a MAX y las salidas OUTU y OUTL adoptarán el valor 1. Si IN > MAX, hay un rebase del límite por exceso, OUT = MAX, OUTU = 1 y OUTL = 0. Si IN < MIN, entonces hay un rebase de límite por defecto, OUT = MIN, OUTU = 0, OUTL = 1. Si IN se encuentra entre MIN y MAX, entonces OUT = IN, OUTU = 0, OUTL = 0.
Si el límite inferior MIN es igual al límite superior MAX, el bloque se comporta del siguiente modo:
IN < MAX: OUT = MAX; OUTU = 0; OUTL = 1
IN > MAX: OUT = MAX; OUTU = 1; OUTL = 0
Conexiones Nombre Tipo de datos Explicación Preajuste Entradas IN REAL Magnitud de entrada 0.0 MIN REAL Límite inferior -100.0 MAX REAL Límite superior 100.0 Salidas OUT REAL Magnitud de salida 0 OUTU BOOL Rebase por exceso 0 OUTL BOOL Rebase por defecto 0
Bloques aritméticos con el tipo de datos REAL 8.22 EPS_R: Precisión, aproximación
Ayuda de bloques elementales CFC 68 Manual de programación y manejo, 12/2011, A5E02781029-01
8.22 EPS_R: Precisión, aproximación
Función Este bloque compara los valores absolutos de las entradas. Si el valor absoluto de la entrada IN es inferior al límite 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
datos Explicación Preajuste
Entradas IN REAL Magnitud de entrada 0.0 INTERVAL REAL Límite del intervalo 0.0 Salidas QA BOOL Marca de validez 0 QN BOOL Marca de validez invertida 0
Bloques aritméticos con el tipo de datos REAL 8.23 CADD_R: Sumador controlable de valores REAL
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 69
8.23 CADD_R: Sumador controlable de valores REAL
Función 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 Explicación 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
Bloques aritméticos con el tipo de datos REAL 8.24 POWXY: Función general de potenciación
Ayuda de bloques elementales CFC 70 Manual de programación y manejo, 12/2011, A5E02781029-01
8.24 POWXY: Función general de potenciación
Función Este bloque proporciona en la salida el valor de entrada IN1, elevado a la potencia correspondiente al valor de entrada IN2.
OUT = IN1^IN2
Requisitos: IN1 > 0
Tratamiento de errores En caso de rebase por exceso o por defecto, M7 pasa al estado STOP.
Conexiones Nombre Tipo de datos Explicación Preajuste Entradas IN1 REAL Base 0.0 IN2 REAL Exponente 0.0 Salida OUT REAL Magnitud de salida 0.0
Bloques aritméticos con el tipo de datos REAL 8.25 SAMP_AVE: Valor medio flotante
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 71
8.25 SAMP_AVE: Valor medio flotante
Función 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 condición
0 < N < 33
.
Comportamiento de arranque Al arrancar y durante la primera ejecución, cada elemento del búfer se pone a 0 para recibir valores IN y OUT.
Conexiones Nombre Tipo de datos Explicación Preajuste Entradas IN REAL Magnitud de entrada 0.0 N INT Número de entradas
consideradas 1
Salida OUT REAL Valor medio 0.0
Bloques aritméticos con el tipo de datos REAL 8.25 SAMP_AVE: Valor medio flotante
Ayuda de bloques elementales CFC 72 Manual de programación y manejo, 12/2011, A5E02781029-01
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 73
Bloques aritméticos con los tipos de datos INT y DINT 99.1 MATH_INT
Bloques CFC de la familia "MATH_INT" Esta familia comprende los siguientes bloques que permiten realizar operaciones aritméticas con datos del tipo INT y DINT.
ADD_I: Suma de valores INT (Página 75)
Suma de valores INT
ADD_DI: Suma de valores DINT (Página 84)
Suma de valores DINT
SUB_I: Substracción de valores INT (Página 75)
Substracción de valores INT
SUB_DI: Substracción de valores DINT (Página 84)
Substracción de valores DINT
MUL_I: Multiplicación de valores INT (Página 76)
Multiplicación de valores INT
MUL_DI: Multiplicación de DINT (Página 85)
Multiplicación de valores DINT
DIV_I: División de valores INT (Página 76)
División de valores INT
DIV_DI: División de valores DINT (Página 85)
División de valores DINT
ABS_I: Valor absoluto de valores INT (Página 79)
Valor absoluto de valores INT
ABS_DI: Valor absoluto de valores DINT (Página 88)
Valor absoluto de valores DINT
EPS_I: Precisión; aproximación de valores INT (Página 82)
Precisión; aproximación de valores INT
EPS_DI: Precisión; aproximación de valores DINT (Página 91)
Precisión; aproximación de valores DINT
NEG_I: Negador de valores INT (Página 80)
Negador de valores INT
NEG_DI: Negador de valores DINT (Página 89)
Negador de valores DINT
MOD_I: Función módulo de valores INT (Página 77)
Función módulo de valores INT
Bloques aritméticos con los tipos de datos INT y DINT 9.1 MATH_INT
Ayuda de bloques elementales CFC 74 Manual de programación y manejo, 12/2011, A5E02781029-01
MOD_DI: Función módulo de valores DINT (Página 86)
Función módulo de valores DINT
MAXn_I: Máximo de valores INT (Página 78)
Máximo de valores INT
MAXn_DI: Máximo de valores DINT (Página 87)
Máximo de valores DINT
MINn_I: Mínimo de valores INT (Página 79)
Mínimo de valores INT
MINn_DI: Mínimo de valores DINT (Página 88)
Mínimo de valores DINT
LIM_I: Limitador de valores INT (Página 81)
Limitador de valores INT
LIM_DI: Limitador de valores DINT (Página 90)
Limitador de valores DINT
CADD_I: Sumador controlable de valores INT (Página 83)
Sumador controlable de valores INT
CADD_DI: Sumador controlable de valores DINT (Página 92)
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
Bloques aritméticos con los tipos de datos INT y DINT 9.2 ADD_I: Suma de valores INT
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 75
9.2 ADD_I: Suma de valores INT
Función 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 Explicación Preajuste Entradas IN1 INT Sumando 1 0 IN2 INT Sumando 2 0 Salida OUT INT Suma 0
9.3 SUB_I: Substracción de valores INT
Función 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 Explicación Preajuste Entradas IN1 INT Minuendo 0 IN2 INT Substraendo 0 Salida OUT INT Diferencia 0
Bloques aritméticos con los tipos de datos INT y DINT 9.4 MUL_I: Multiplicación de valores INT
Ayuda de bloques elementales CFC 76 Manual de programación y manejo, 12/2011, A5E02781029-01
9.4 MUL_I: Multiplicación de valores INT
Función 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 Explicación Preajuste Entradas IN1 INT Multiplicando 0 IN2 INT Multiplicador 0 Salida OUT INT Producto 0
9.5 DIV_I: División de valores INT
Función 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 Explicación Preajuste Entradas IN1 INT Dividendo 0 IN2 INT Divisor 0 Salida OUT INT Cociente 0
Bloques aritméticos con los tipos de datos INT y DINT 9.6 MOD_I: Función módulo de valores INT
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 77
9.6 MOD_I: Función módulo de valores INT
Función Este bloque deposita en la salida el resto de la división de enteros DIV_I (Página 76) de la entrada IN1 dividida por la entrada IN2.
Tratamiento de errores ENO = 0 al dividirse por 0.
Conexiones Nombre Tipo de datos Explicación Ajuste
predeterminado Entradas IN1 INT Dividendo 0 IN2 INT Divisor 1 Salida OUT INT Resto de la división 0
Bloques aritméticos con los tipos de datos INT y DINT 9.7 MAXn_I: Máximo de valores INT
Ayuda de bloques elementales CFC 78 Manual de programación y manejo, 12/2011, A5E02781029-01
9.7 MAXn_I: Máximo de valores INT
Función Este bloque compara las entradas y deposita el valor máximo en la salida.
OUT = MAX {IN1, ... , INn}
Bloques Nombre Explicación 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 Explicación Preajuste Entradas IN1 INT Magnitud de entrada 1 0 ... INn INT Magnitud de entrada n 0 Salida OUT INT Valor máximo 0
Bloques aritméticos con los tipos de datos INT y DINT 9.8 MINn_I: Mínimo de valores INT
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 79
9.8 MINn_I: Mínimo de valores INT
Función Este bloque compara las entradas y deposita el valor mínimo en la salida.
OUT = MIN {IN1, ... , INn}
Bloques Nombre Explicación 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 Explicación Preajuste Entradas IN1 INT Magnitud de entrada 1 0 ... INn INT Magnitud de entrada n 0 Salida OUT INT Valor mínimo 0
9.9 ABS_I: Valor absoluto de valores INT
Función 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 Explicación Preajuste Entrada IN INT Valor de entrada 0 Salida OUT INT Valor absoluto 0
Bloques aritméticos con los tipos de datos INT y DINT 9.10 NEG_I: Negador de valores INT
Ayuda de bloques elementales CFC 80 Manual de programación y manejo, 12/2011, A5E02781029-01
9.10 NEG_I: Negador de valores INT
Función 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 Explicación Preajuste Entrada IN INT Magnitud de entrada 0 Salida OUT INT Magnitud de salida 0
Bloques aritméticos con los tipos de datos INT y DINT 9.11 LIM_I: Limitador de valores INT
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 81
9.11 LIM_I: Limitador de valores INT
Función 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 límite inferior MIN del intervalo es mayor que el límite superior MAX, la salida OUT es igual a MAX y las salidas OUTU y OUTL adoptan el valor 1.
Si IN ≥ MAX, hay un rebase del límite por exceso, OUT = MAX, OUTU = 1 y OUTL = 0. Si IN ≤ MIN, entonces hay un rebase de límite por defecto, OUT = MIN, OUTU = 0, OUTL = 1. Si IN se encuentra entre MIN y MAX, entonces OUT = IN, OUTU = 0, OUTL = 0.
Si MAX = MIN, las salidas OUTU y OUTL dependerán de IN:
● OUTU = 1 si IN = MIN = MAX
● OUTL = 1 si IN < MIN = MAX
● OUTU = 1 si IN > Max = MAX
● Además rige lo siguiente: OUT = MAX = MIN
Tratamiento de errores ENO = 0 con MIN > MAX --> OUT = MAX; OUTU = OUTL = 1
Conexiones Nombre Tipo de datos Explicación Ajuste
predeterminado Entradas MAX INT Límite superior 0 IN INT Magnitud de entrada 0 MIN INT Límite inferior 0 Salidas OUTU BOOL Rebase por exceso 0 OUTL BOOL Rebase por defecto 0 OUT INT Magnitud de salida 0
Bloques aritméticos con los tipos de datos INT y DINT 9.12 EPS_I: Precisión; aproximación de valores INT
Ayuda de bloques elementales CFC 82 Manual de programación y manejo, 12/2011, A5E02781029-01
9.12 EPS_I: Precisión; aproximación de valores INT
Función 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 límite INTERVAL, la salida QA se pone a 1, en tanto que la salida QN se pone a 0. Así, la magnitud de entrada IN está contenida 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, QA = 0.
Tratamiento de errores ENO = 0 siendo IN = -32 768
Conexiones Nombre Tipo de
datos Explicación Ajuste
predeterminado Entradas IN INT Magnitud de entrada 0 INTERVAL INT Límite del intervalo 0 Salidas QA BOOL Marca de validez 0 QN BOOL Marca de validez invertida 0
Bloques aritméticos con los tipos de datos INT y DINT 9.13 CADD_I: Sumador controlable de valores INT
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 83
9.13 CADD_I: Sumador controlable de valores INT
Función 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 Explicación 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
Bloques aritméticos con los tipos de datos INT y DINT 9.14 ADD_DI: Suma de valores DINT
Ayuda de bloques elementales CFC 84 Manual de programación y manejo, 12/2011, A5E02781029-01
9.14 ADD_DI: Suma de valores DINT
Función 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 Explicación Preajuste Entradas IN1 DINT Sumando 1 0 IN2 DINT Sumando 2 0 Salida OUT DINT Suma 0
9.15 SUB_DI: Substracción de valores DINT
Función 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 Explicación Preajuste Entradas IN1 DINT Minuendo 0 IN2 DINT Substraendo 0 Salida OUT DINT Diferencia 0
Bloques aritméticos con los tipos de datos INT y DINT 9.16 MUL_DI: Multiplicación de DINT
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 85
9.16 MUL_DI: Multiplicación de DINT
Función 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 Explicación Preajuste Entradas IN1 DINT Multiplicando 0 IN2 DINT Multiplicador 0 Salida OUT DINT Producto 0
9.17 DIV_DI: División de valores DINT
Función 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 Explicación Preajuste Entradas IN1 DINT Dividendo 0 IN2 DINT Divisor 0 Salida OUT DINT Cociente 0
Bloques aritméticos con los tipos de datos INT y DINT 9.18 MOD_DI: Función módulo de valores DINT
Ayuda de bloques elementales CFC 86 Manual de programación y manejo, 12/2011, A5E02781029-01
9.18 MOD_DI: Función módulo de valores DINT
Función Este bloque devuelve a la salida el resto de la división de enteros DIV_DI (Página 85) de la entrada IN1 dividida por la entrada IN2.
Tratamiento de errores ENO = 0 al dividirse por 0.
Conexiones Nombre Tipo de datos Explicación Ajuste
predeterminado Entradas IN1 DINT Dividendo 0 IN2 DINT Divisor 0 Salida OUT DINT Resto de la división 0
Bloques aritméticos con los tipos de datos INT y DINT 9.19 MAXn_DI: Máximo de valores DINT
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 87
9.19 MAXn_DI: Máximo de valores DINT
Función Este bloque compara las entradas y deposita el valor máximo en la salida.
OUT = MAX {IN1, ... , INn}
Bloques Nombre Explicación 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 Explicación Preajuste Entradas IN1 DINT Magnitud de entrada 1 0 ... INn DINT Magnitud de entrada n 0 Salida OUT DINT Valor máximo 0
Bloques aritméticos con los tipos de datos INT y DINT 9.20 MINn_DI: Mínimo de valores DINT
Ayuda de bloques elementales CFC 88 Manual de programación y manejo, 12/2011, A5E02781029-01
9.20 MINn_DI: Mínimo de valores DINT
Función Este bloque compara las entradas y deposita el valor mínimo en la salida.
OUT = MIN {IN1, ... , INn}
Bloques Nombre Explicación 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 Explicación Preajuste Entradas IN1 DINT Magnitud de entrada 1 0 ... INn DINT Magnitud de entrada n 0 Salida OUT DINT Valor mínimo 0
9.21 ABS_DI: Valor absoluto de valores DINT
Función 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 (número negativo más pequeño)
Conexiones Nombre Tipo de datos Explicación Preajuste Entrada IN DINT Valor de entrada 0 Salida OUT DINT Valor absoluto 0
Bloques aritméticos con los tipos de datos INT y DINT 9.22 NEG_DI: Negador de valores DINT
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 89
9.22 NEG_DI: Negador de valores DINT
Función 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 Explicación Preajuste Entrada IN DINT Magnitud de entrada 0 Salida OUT DINT Magnitud de salida 0
Bloques aritméticos con los tipos de datos INT y DINT 9.23 LIM_DI: Limitador de valores DINT
Ayuda de bloques elementales CFC 90 Manual de programación y manejo, 12/2011, A5E02781029-01
9.23 LIM_DI: Limitador de valores DINT
Función 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 límite inferior MIN del intervalo es mayor que el límite superior MAX, la salida OUT es igual a MAX y las salidas OUTU y OUTL adoptan el valor 1.
Si IN ≥ MAX, hay un rebase del límite por exceso, OUT = MAX, OUTU = 1 y OUTL = 0. Si IN ≤ MIN, entonces hay un rebase de límite por defecto, OUT = MIN, OUTU = 0, OUTL = 1. Si IN se encuentra entre MIN y MAX, entonces OUT = IN, OUTU = 0, OUTL = 0.
Si MAX = MIN, las salidas OUTU y OUTL dependerán de IN:
● OUTU = 1 si IN = MIN = MAX
● OUTL = 1 si IN < MIN = MAX
● OUTU = 1 si IN > Max = MAX
● Además rige lo siguiente: OUT = MAX = MIN
Tratamiento de errores ENO = 0 con MIN > MAX --> OUT = MAX; OUTU = OUTL = 1
Conexiones Nombre Tipo de datos Explicación Ajuste
predeterminado Entradas MAX DINT Límite superior 0 IN DINT Magnitud de entrada 0 MIN DINT Límite inferior 0 Salidas OUTU BOOL Rebase por exceso 0 OUTL BOOL Rebase por defecto 0 OUT DINT Magnitud de salida 0
Bloques aritméticos con los tipos de datos INT y DINT 9.24 EPS_DI: Precisión; aproximación de valores DINT
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 91
9.24 EPS_DI: Precisión; aproximación de valores DINT
Función 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 límite INTERVAL, la salida QA adopta el valor 1 y la salida QN el valor 0. Así, la magnitud de entrada IN está contenida 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 Explicación Ajuste
predeterminado Entradas IN DINT Magnitud de entrada 0 INTERVAL DINT Límite del intervalo 0 Salidas QA BOOL Marca de validez 0 QN BOOL Marca de validez
invertida 0
Bloques aritméticos con los tipos de datos INT y DINT 9.25 CADD_DI: Sumador controlable de valores DINT
Ayuda de bloques elementales CFC 92 Manual de programación y manejo, 12/2011, A5E02781029-01
9.25 CADD_DI: Sumador controlable de valores DINT
Función 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 están 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 Explicación 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
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 93
Bloques Flip-Flop 1010.1 FLIPFLOP
Bloques CFC de la familia "FLIPFLOP" Esta familia comprende los siguientes bloques Flip-Flop:
JK_FF: FlipFlop JK (Página 94)
FlipFlop JK
RS_FF: FlipFlop RS, desactivación dominante (Página 95)
FlipFlop RS, desactivación dominante
SR_FF: FlipFlop SR, activación dominante (Página 96)
FlipFlop SR, activación dominante
Bloques Flip-Flop 10.2 JK_FF: FlipFlop JK
Ayuda de bloques elementales CFC 94 Manual de programación y manejo, 12/2011, A5E02781029-01
10.2 JK_FF: FlipFlop JK
Función
J K 0 0
0 1 0 1 1 0 1 0 1 1 *
*Las salidas cambian su valor en la tarea del nivel de ejecución insertado
Conexiones Nombre Tipo de datos Explicación Ajuste
predeterminado Entradas J BOOL Activar 0 K BOOL Desactivar 0 Salidas BOOL Salida 0 BOOL Salida negada 1
Bloques Flip-Flop 10.3 RS_FF: FlipFlop RS, desactivación dominante
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 95
10.3 RS_FF: FlipFlop RS, desactivación dominante
Función R S 0 0
0 1 1 0 1 0 0 1 1 1 0 1
Conexiones Nombre Tipo de datos Explicación Ajuste
predeterminado Entradas R BOOL Desactivar 0 S BOOL Activar 0 Salidas BOOL Salida 0 BOOL Salida negada 1
Bloques Flip-Flop 10.4 SR_FF: FlipFlop SR, activación dominante
Ayuda de bloques elementales CFC 96 Manual de programación y manejo, 12/2011, A5E02781029-01
10.4 SR_FF: FlipFlop SR, activación dominante
Función R S 0 0
0 1 1 0 1 0 0 1 1 1 1 0
Conexiones Nombre Tipo de datos Explicación Ajuste
predeterminado Entradas R BOOL Desactivar 0 S BOOL Activar 0 Salidas BOOL Salida 0 BOOL Salida negada 1
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 97
Bloques de desplazamiento 1111.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: Desplazar WORD hacia la izquierda (Página 98)
Desplazar WORD hacia la izquierda
SHL_DW: Desplazar DWORD hacia la izquierda (Página 98)
Desplazar DWORD hacia la izquierda
SHR_W: Desplazar WORD hacia la derecha (Página 99)
Desplazar WORD hacia la derecha
SHR_DW: Desplazar DWORD hacia la derecha (Página 99)
Desplazar DWORD hacia la derecha
ROL_W: Rotar WORD hacia la izquierda (Página 100)
Rotar WORD hacia la izquierda
ROL_DW: Rotar DWORD hacia la izquierda (Página 100)
Rotar DWORD hacia la izquierda
ROR_W: Rotar WORD hacia la derecha (Página 101)
Rotar WORD hacia la derecha
ROR_DW: Rotar DWORD hacia la derecha (Página 101)
Rotar DWORD hacia la derecha
Bloques de desplazamiento 11.2 SHL_W: Desplazar WORD hacia la izquierda
Ayuda de bloques elementales CFC 98 Manual de programación y manejo, 12/2011, A5E02781029-01
11.2 SHL_W: Desplazar WORD hacia la izquierda
Función El valor de entrada IN se desplaza bit a bit hacia la izquierda la cantidad de posiciones indicadas en la entrada N. El resultado se visualiza en la salida.
Conexiones Nombre Tipo de datos Explicación Preajuste Entradas IN WORD Valor de entrada 0 N WORD Número de posiciones a
desplazar 0
Salida OUT WORD Salida 0
11.3 SHL_DW: Desplazar DWORD hacia la izquierda
Función El valor de entrada IN se desplaza bit a bit hacia la izquierda la cantidad de posiciones indicadas en la entrada N. El resultado se visualiza en la salida.
Conexiones Nombre Tipo de datos Explicación Preajuste Entradas IN DWORD Valor de entrada 0 N WORD Número de posiciones a
desplazar 0
Salida OUT DWORD Salida 0
Bloques de desplazamiento 11.4 SHR_W: Desplazar WORD hacia la derecha
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 99
11.4 SHR_W: Desplazar WORD hacia la derecha
Función El valor de entrada IN se desplaza bit a bit hacia la derecha la cantidad de posiciones indicadas en la entrada N. El resultado se visualiza en la salida.
Conexiones Nombre Tipo de datos Explicación Preajuste Entradas IN WORD Valor de entrada 0 N WORD Número de posiciones a
desplazar 0
Salida OUT WORD Salida 0
11.5 SHR_DW: Desplazar DWORD hacia la derecha
Función El valor de entrada IN se desplaza bit a bit hacia la derecha la cantidad de posiciones indicadas en la entrada N. El resultado se visualiza en la salida.
Conexiones Nombre Tipo de datos Explicación Preajuste Entradas IN DWORD Valor de entrada 0 N WORD Número de posiciones a
desplazar 0
Salida OUT DWORD Salida 0
Bloques de desplazamiento 11.6 ROL_W: Rotar WORD hacia la izquierda
Ayuda de bloques elementales CFC 100 Manual de programación y manejo, 12/2011, A5E02781029-01
11.6 ROL_W: Rotar WORD hacia la izquierda
Función El valor de entrada IN se rota bit a bit hacia la izquierda la cantidad de posiciones indicadas en la entrada N. El resultado se visualiza en la salida.
Conexiones Nombre Tipo de datos Explicación Preajuste Entradas IN WORD Valor de entrada 0 N WORD Número de posiciones a
rotar 0
Salida OUT WORD Salida 0
11.7 ROL_DW: Rotar DWORD hacia la izquierda
Función El valor de entrada IN se rota bit a bit hacia la izquierda la cantidad de posiciones indicadas en la entrada N. El resultado se visualiza en la salida.
Conexiones Nombre Tipo de datos Explicación Preajuste Entradas IN DWORD Valor de entrada 0 N WORD Número de posiciones a
rotar 0
Salida OUT DWORD Salida 0
Bloques de desplazamiento 11.8 ROR_W: Rotar WORD hacia la derecha
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 101
11.8 ROR_W: Rotar WORD hacia la derecha
Función El valor de entrada IN se rota bit a bit hacia la derecha la cantidad de posiciones indicadas en la entrada N. El resultado se visualiza en la salida.
Conexiones Nombre Tipo de datos Explicación Preajuste Entradas IN WORD Valor de entrada 0 N WORD Número de posiciones a
rotar 0
Salida OUT WORD Salida 0
11.9 ROR_DW: Rotar DWORD hacia la derecha
Función El valor de entrada IN se rota bit a bit hacia la derecha la cantidad de posiciones indicadas en la entrada N. El resultado se visualiza en la salida.
Conexiones Nombre Tipo de datos Explicación Preajuste Entradas IN DWORD Valor de entrada 0 N WORD Número de posiciones a
rotar 0
Salida OUT DWORD Salida 0
Bloques de desplazamiento 11.9 ROR_DW: Rotar DWORD hacia la derecha
Ayuda de bloques elementales CFC 102 Manual de programación y manejo, 12/2011, A5E02781029-01
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 103
Bloques multiplex 1212.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: Multiplexor 1 de n para valores INT (Página 104)
Multiplexor 1 de n para valores INT (n = 2, 4 ,8)
MUXn_DI: Multiplexor 1 de n para valores DINT (Página 105)
Multiplexor 1 de n para valores DINT (n = 2, 4, 8)
MUXn_R: Multiplexor 1 de n para valores REAL (Página 106)
Multiplexor 1 de n para valores REAL (n = 2, 4, 8)
MUXn_BO: Multiplexor 1 de n para valores BOOL (Página 107)
Multiplexor 1 de n para valores BOOL (n = 2, 4, 8)
SEL_BO: Multiplexor 1 de 2 para valores BOOL (Página 108)
Multiplexor 1 de 2 para valores BOOL
SEL_R: Multiplexor 1 de 2 para valores REAL (Página 108)
Multiplexor 1 de 2 para valores REAL
Bloques multiplex 12.2 MUXn_I: Multiplexor 1 de n para valores INT
Ayuda de bloques elementales CFC 104 Manual de programación y manejo, 12/2011, A5E02781029-01
12.2 MUXn_I: Multiplexor 1 de n para valores INT
Función 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 IN0…IN7.
Tratamiento de errores ENO = 0 y OUT = 0 si k > (n-1) o si k < 0.
Tabla de funcionamiento Número 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 Explicación Preajuste Entradas K INT Entrada seleccionada 0 IN0 INT Valor 1 0 ... ... INm (n-1) INT Valor n 0 Salida OUT INT Salida 0
Bloques multiplex 12.3 MUXn_DI: Multiplexor 1 de n para valores DINT
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 105
12.3 MUXn_DI: Multiplexor 1 de n para valores DINT
Función 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 IN0…IN7.
Tratamiento de errores ENO = 0 y OUT = 0 si k > (n-1) o si k < 0.
Tabla de funcionamiento Número 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 Explicación Preajuste Entradas K INT Entrada seleccionada 0 IN0 DINT Valor 1 0 ... ... INm (n-1) DINT Valor n 0 Salida OUT DINT Salida 0
Bloques multiplex 12.4 MUXn_R: Multiplexor 1 de n para valores REAL
Ayuda de bloques elementales CFC 106 Manual de programación y manejo, 12/2011, A5E02781029-01
12.4 MUXn_R: Multiplexor 1 de n para valores REAL
Función 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 IN0…IN7.
Tratamiento de errores ENO = 0 y OUT = 0 si k > (n-1) o si k < 0.
Tabla de funcionamiento Número 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 Explicación 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
Bloques multiplex 12.5 MUXn_BO: Multiplexor 1 de n para valores BOOL
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 107
12.5 MUXn_BO: Multiplexor 1 de n para valores BOOL
Función 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 IN0…IN7.
Tratamiento de errores ENO = 0 y OUT = 0 si k > (n-1) o si k < 0.
Tabla de funcionamiento Número 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 Explicación Preajuste Entradas K INT Entrada seleccionada 0 IN0 BOOL Valor 1 0 ... ... INm (n-1) BOOL Valor n 0 Salida OUT BOOL Salida 0
Bloques multiplex 12.6 SEL_BO: Multiplexor 1 de 2 para valores BOOL
Ayuda de bloques elementales CFC 108 Manual de programación y manejo, 12/2011, A5E02781029-01
12.6 SEL_BO: Multiplexor 1 de 2 para valores BOOL
Función En función del valor de la entrada K, este bloque conecta 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
Función En función del valor de la entrada K, este bloque conecta 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
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 109
Bloques de contaje 1313.1 COUNTER
Bloques CFC de la familia "COUNTER" Esta familia comprende los siguientes bloques contadores:
CTU: Incrementar contador (Página 110)
Incrementar contador
CTD: Decrementar contador (Página 112)
Decrementar contador
CTUD: Incrementar/decrementar contador (Página 113)
Incrementar/decrementar contador
Bloques de contaje 13.2 CTU: Incrementar contador
Ayuda de bloques elementales CFC 110 Manual de programación y manejo, 12/2011, A5E02781029-01
13.2 CTU: Incrementar contador
Función Este bloque corresponde a la operación "Incrementar contador" controlada por flancos. Cuando se produce un flanco ascendente en la entrada S, el contador recibe el valor de preselección PV. El valor del contador se incrementa con un flanco ascendente en la entrada CU. El estado del contador se encuentra en la salida CV. Al alcanzar el máximo valor INT, el contador (32767) se detiene. Al restaurarlo se vuelve a poner el contador a 0 y puede comenzar de nuevo a incrementarse.
Q = 0, si CV = 0,
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
Bloques de contaje 13.2 CTU: Incrementar contador
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 111
Conexiones Nombre Tipo de datos Explicación Ajuste
predeterminado Entradas CU BOOL Impulso adelante 0 R BOOL Desactivar 0 S BOOL Activar (cargar) 0 PV INT Valor de carga 1000 Salidas Q BOOL Desbordamiento por
exceso 0
CV INT Estado del contador 0
Nota
Este bloque existe por duplicado: en la Standard Library como SFB0 y en la librería elemental de CFC como FB24. Ambos bloques tienen comportamientos distintos: El SFB0 no tiene valores predeterminados. La entrada PV se compara con la salida CV
para comprobar si se alcanza / rebasa el valor. La salida Q indica si el valor actual de contaje es mayor o igual a PV.
El FB24 tiene como valor predeterminado la entrada PV. Se cuenta a partir de este valor. La salida Q no se evalúa.
Bloques de contaje 13.3 CTD: Decrementar contador
Ayuda de bloques elementales CFC 112 Manual de programación y manejo, 12/2011, A5E02781029-01
13.3 CTD: Decrementar contador
Función Este bloque corresponde a la operación "Decrementar contador" controlada por flancos. El contador recibe el valor preseleccionado PV cuando se produce un flanco ascendente en 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 mínimo, el contador se detiene. Al restaurarlo se vuelve a poner a 0.
Q = 0, si CV = 0
Q = 1, si CV > 0
Al alcanzar CV = 0 el contador se detiene. No se cuenta en el rango negativo.
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 Explicación Ajuste
predeterminado Entradas CD BOOL Impulso atrás 0 R BOOL Desactivar 0 S BOOL Activar (cargar) 0 PV INT Valor de carga 1000 Salidas Q BOOL Desbordamiento por
defecto 0
CV INT Estado del contador 0
Bloques de contaje 13.4 CTUD: Incrementar/decrementar contador
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 113
13.4 CTUD: Incrementar/decrementar contador
Función Este bloque corresponde a la operación "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 < INT máx. (32767)
QU = 0 si CV = INT máx. (32767)
QD = 0, si CV = – máx. INT (-32768)
QD = 1, si CV > – máx. INT (-32768)
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 Explicación Preajuste Entradas CU BOOL Impulso adelante 0 CD BOOL Impulso atrás 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 límite superior 0 QD BOOL Contador en límite inferior 0 CV INT Estado del contador 0
Bloques de contaje 13.4 CTUD: Incrementar/decrementar contador
Ayuda de bloques elementales CFC 114 Manual de programación y manejo, 12/2011, A5E02781029-01
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 115
Bloques para generar o procesar impulsos 1414.1 IMPULS
Bloques CFC de la familia "IMPULS" Esta familia comprende los siguientes bloques para el tratamiento de impulsos:
TIMER_P: Formador de impulsos (Página 116)
Formador de impulsos
R_TRIG: Detección del flanco positivo (Página 119)
Detección del flanco ascendente
F_TRIG: Detección del flanco negativo (Página 120)
Detección del flanco descendente
AFP: Generador de impulsos de reloj (Página 121)
Generador de impulsos de reloj
Bloques para generar o procesar impulsos 14.2 TIMER_P: Formador de impulsos
Ayuda de bloques elementales CFC 116 Manual de programación y manejo, 12/2011, A5E02781029-01
14.2 TIMER_P: Formador de impulsos
Función El bloque inicia el temporizador en el modo de operación predeterminado por el valor de la entrada MODE:
● Formador de impulsos
● Impulso prolongado
● Retardo a la conexión
● Retardo a la conexión con memoria
● Retardo a la desconexión
Modos de operación MODE Modo de operación 0 Arrancar temporizador como impulso 1 Arrancar temporizador como impulso prolongado 2 Arrancar temporizador como retardo a la conexión 3 Arrancar temporizador como retardo a la conexión con memoria 4 Arrancar temporizador como retardo a la desconexión
El bloque adopta el modo de operación (MODE) sólo si ocurre un flanco ascendente en la entrada I0. Este cambio de flanco también es necesario tras un rearranque de la CPU. El contador de tiempo PTIME se carga con el valor TIME0 y se decrementa cíclicamente por el tiempo de muestreo SAMPLE_T. Transcurrido el tiempo, la salida Q0 se modifica en función del modo de operación. Con RESET = 1 se emiten las salidas Q0 = 0 y PTIME = 0.
Bloques para generar o procesar impulsos 14.2 TIMER_P: Formador de impulsos
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 117
Cronogramas de impulsos MODE=0 Impulso
MODE=1 Impulso prolongado
MODE=2 Retardo a la conexión
MODE=3 Retardo a la conexión con memoria
Bloques para generar o procesar impulsos 14.2 TIMER_P: Formador de impulsos
Ayuda de bloques elementales CFC 118 Manual de programación y manejo, 12/2011, A5E02781029-01
MODE=4 Retardo a la desconexión
Al introducir los valores, debe tener en cuenta los siguientes puntos: ● El tiempo de muestreo (SAMPLE_T) debe ser inferior al tiempo de conexión (TIME0).
● La distancia entre TIME0 y SAMPLE_T no puede ser superior a 10^7.
Conexiones Nombre Tipo de datos Explicación Ajuste
predeterminado Entradas SAMPLE_T REAL Tiempo de muestreo de
tareas en seg. 1.0
TIME0 REAL Tiempo en seg. 0.0 MODE INT Modo de operación
(v. arriba) 0
RESET BOOL Desactivar 0 I0 BOOL Impulso de entrada 0 Salidas QERR BOOL Errores 1 Q0 BOOL Impulso de salida 0 PTIME REAL Tiempo restante 0.0
Bloques para generar o procesar impulsos 14.3 R_TRIG: Detección del flanco positivo
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 119
14.3 R_TRIG: Detección del flanco positivo
Nota
Para que funcione correctamente, el bloque R_TRIG debe incorporarse en una alarma cíclica (tarea cíclica).
Función Este bloque comprueba en la magnitud de entrada si ha ocurrido un flanco ascendente e indica en la salida si se ha detectado algún flanco. Si el flanco del impulso de entrada CLK es ascendente, la salida Q se pone a 1.
Comportamiento de arranque Al arrancar, la marca de flanco se pone a 0.
Cronograma de impulsos
Conexiones Nombre Tipo de datos Explicación Ajuste
predeterminado Entrada CLK BOOL Impulso de entrada 0 Salida Q BOOL Impulso de salida 0
Bloques para generar o procesar impulsos 14.4 F_TRIG: Detección del flanco negativo
Ayuda de bloques elementales CFC 120 Manual de programación y manejo, 12/2011, A5E02781029-01
14.4 F_TRIG: Detección del flanco negativo
Nota
Para que funcione correctamente, el bloque F_TRIG debe incorporarse en una alarma cíclica (tarea cíclica).
Función Este bloque comprueba en la magnitud de entrada si ha ocurrido un flanco descendente e indica en la salida si se ha detectado algún flanco. Si el flanco del impulso de entrada CLK es descendente, la salida Q se pone a 1.
Comportamiento de arranque Al arrancar, la marca de flanco se pone a 1.
Cronograma de impulsos
Conexiones Nombre Tipo de datos Explicación Ajuste predeterminado Entrada CLK BOOL Impulso de entrada 0 Salida Q BOOL Impulso de salida 0
Bloques para generar o procesar impulsos 14.5 AFP: Generador de impulsos de reloj
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 121
14.5 AFP: Generador de impulsos de reloj
Nota
Para que funcione correctamente, el bloque AFP debe incorporarse en una alarma cíclica (tarea cíclica).
Función Generador de impulsos de reloj. Este bloque genera impulsos cuya duración y pausa deben parametrizarse. Tanto la duración como la pausa del impulso se indican en ms.
Comportamiento de arranque Al arrancar, los contadores y bits de habilitación (enable) se ajustan para los períodos Q = 0 y Q = 1. El bit de habilitación para Q = 0 será 1, los demás valores se pondrán a cero.
Cronograma de impulsos
Conexiones Nombre Tipo de datos Explicación Ajuste
predeterminado Entradas SAMPLE_T REAL Tiempo de muestreo de
tareas en seg. 1.0
T0 TIME Duración de la pausa del impulso
T#0ms
T1 TIME Duración del impulso T#0ms Salida Q BOOL Impulso de salida 0
Bloques para generar o procesar impulsos 14.5 AFP: Generador de impulsos de reloj
Ayuda de bloques elementales CFC 122 Manual de programación y manejo, 12/2011, A5E02781029-01
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 123
Bloques para introducir o modificar la hora y la fecha, así como intervalos 1515.1 TIME
Bloques CFC de la familia Esta familia comprende los siguientes bloques que ofrecen funciones de tiempo:
TIME: Medir el tiempo de ejecución (Página 124)
Medir el tiempo de ejecución
TIME_BEG: Leer la hora actual (Página 124)
Leer la hora actual
TIME_END: Comparar la hora de entrada con la hora actual (Página 125)
Comparar la hora de entrada con la hora actual
Bloques para introducir o modificar la hora y la fecha, así como intervalos 15.2 TIME: Medir el tiempo de ejecución
Ayuda de bloques elementales CFC 124 Manual de programación y manejo, 12/2011, A5E02781029-01
15.2 TIME: Medir el tiempo de ejecución
Función Este bloque mide el tiempo transcurrido entre dos llamadas consecutivas (máximo 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 Explicación Preajuste Entradas DIFF BOOL Medición de diferencia
activa 1
Salida OUT TIME Hora
15.3 TIME_BEG: Leer la hora actual
Función Este bloque indica en la salida TM la hora del sistema a la que se llama al bloque.
Conexiones Nombre Tipo de datos Explicación Preajuste Salida TM TIME Hora actual T#0ms
Bloques para introducir o modificar la hora y la fecha, así como intervalos 15.4 TIME_END: Comparar la hora de entrada con la hora actual
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 125
15.4 TIME_END: Comparar la hora de entrada con la hora actual
Función 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 Explicación Preajuste Entrada TM TIME Tiempo de entrada en
ms T#0ms
Salida TM_DIFF TIME Diferencia de tiempo T#0ms
Bloques para introducir o modificar la hora y la fecha, así como intervalos 15.4 TIME_END: Comparar la hora de entrada con la hora actual
Ayuda de bloques elementales CFC 126 Manual de programación y manejo, 12/2011, A5E02781029-01
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 127
Bloques de regulación 1616.1 CONTROL
Bloques CFC de la familia "CONTROL" Esta familia comprende los siguientes bloques:
CONT_C: Regulador continuo (Página 128)
Regulación continua
CONT_S: Regulador paso a paso (Página 136)
Regulación paso a paso
PULSEGEN: Modulación de ancho de impulsos para reguladores PID (Página 142)
Generación de impulsos
Bloques de regulación 16.2 CONT_C
Ayuda de bloques elementales CFC 128 Manual de programación y manejo, 12/2011, A5E02781029-01
16.2 CONT_C
16.2.1 CONT_C: Regulador continuo
Nombre del objeto (tipo y número) FB 1
Introducción El bloque de función CONT_C sirve para regular procesos técnicos con magnitudes continuas de entrada y salida en los sistemas de automatización SIMATIC S7. La parametrización permite conectar y desconectar funciones parciales del regulador PID y adaptar éste al sistema regulado.
Aplicación El regulador se puede utilizar como regulador PID de valor fijo de forma individual o también como regulador en cascada, de mezcla o proporcional en regulaciones de bucles múltiples. El modo de operación se basa en el algoritmo de regulación PID del regulador muestreado con señal analógica de salida y se complementa, dado el caso, con una etapa formadora de impulsos para generar señales de salida moduladas en ancho de impulsos para regulaciones de dos o tres puntos con actuadores de acción.
Descripción Además de las funciones de valores de consigna y reales, el bloque de función desempeña la función de regulador PID acabado con salida continua de la magnitud manipulada permitiendo, además, modificar manualmente el valor manipulado. Existen las siguientes funciones parciales:
● Rama de valores nominales (Página 174)
● Rama de valores reales (Página 172)
● Formación de errores de regulación (Página 174)
● Algoritmo PID (Página 173)
● Procesamiento de valores manuales (Página 171)
● Procesamiento de valores nominales (Página 174)
● Control anticipativo de la magnitud perturbadora (Página 174)
Bloques de regulación 16.2 CONT_C
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 129
Modos de operación Rearranque en frío/Rearranque en caliente El bloque de función CONT_C dispone de una rutina de rearranque en frío.
Al arrancar, se asigna internamente el valor de inicialización I_ITVAL al integrador. Cuando se invoca desde un nivel de alarma cíclica, trabaja a partir de este valor.
Todas las demás salidas se ajustan a sus valores predeterminados.
Información de errores No se utiliza la palabra de notificación de error RET_VAL.
Parámetros de entrada Parámetro Tipo de
datos Rango de valores
Ajuste predeter-minado
Descripción
MAN_ON BOOL TRUE MANUAL VALUE ON / Conectar modo manual Si la entrada "Conectar modo manual" está activada, el lazo de regulación 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 acción P Las acciones del algoritmo PID pueden conectarse y desconectarse independientemente. La acción P está conectada cuando la entrada "Conectar acción P" está activada.
I_SEL BOOL TRUE INTEGRAL ACTION ON / Conectar acción I Las acciones del algoritmo PID pueden conectarse y desconectarse independientemente. La acción I está conectada cuando la entrada "Conectar acción I" está activada.
INT_HOLD BOOL FALSE INTEGRAL ACTION HOLD / Congelar acción I La salida del integrador puede ser congelada. Para ello deberá activarse la entrada "Congelar acción I".
Bloques de regulación 16.2 CONT_C
Ayuda de bloques elementales CFC 130 Manual de programación y manejo, 12/2011, A5E02781029-01
Parámetro Tipo de datos
Rango de valores
Ajuste predeter-minado
Descripción
I_ITL_ON BOOL FALSE INITIALIZATION OF THE INTEGRAL ACTION / Inicializar acción I La salida del integrador se puede aplicar a la entrada I_ITL_VAL. Para ello deberá activarse la entrada "Inicializar acción I".
D_SEL BOOL FALSE DERIVATIVE ACTION ON / Conectar acción D Las acciones del algoritmo PID pueden conectarse y desconectarse independientemente. La acción D está conectada cuando la entrada "Conectar acción D" está activada.
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 ... +100.0 % o magnitud física
0.0 INTERNAL SETPOINT / Valor de consigna interno La entrada "Valor de consigna interno" permite prefijar un valor manipulado.
PV_IN REAL -100.0 ... +100.0 % o magnitud física
0.0 PROCESS VARIABLE IN / Valor real de la entrada En la entrada "Valor real de entrada" puede parametrizarse un valor de puesta en servicio o conectarse un valor real en coma flotante.
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 ... +100.0 % o magnitud física
0.0 MANUAL VALUE / Valor manual La entrada "Valor manual" permite predefinir un valor manual mediante una función de manejo y visualización.
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 acción integral La entrada "Tiempo de acción integral" determina el comportamiento temporal del integrador.
Bloques de regulación 16.2 CONT_C
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 131
Parámetro Tipo de datos
Rango de valores
Ajuste predeter-minado
Descripción
TV TIME ≥ SAMPLE_T T#10s DERIVATIVE TIME / Tiempo de diferenciación La entrada "Tiempo de diferenciación" determina el comportamiento temporal de la acción derivativa.
TM_LAG TIME ≥ SAMPLE_T / 2
T#2s TIME LAG OF THE DERIVATE ACTION / Retardo de la acción D El algoritmo de la acción D contiene un retardo parametrizable en la entrada "Retardo de la acción D".
DEADB_W REAL ≥ 0.0 % o magnitud física
0.0 DEAD BAND WIDTH / Ancho de la zona muerta El error de regulación se conduce por la zona muerta. La entrada "Ancho de la zona muerta" determina el tamaño de la zona muerta.
LMN_HLM REAL LMN_LLM ... +100.0 % o magnitud física
100.0 MANIPULATED VALUE HIGH LIMIT / Límite superior del valor manipulado El valor manipulado se mantiene siempre entre un límite superior y otro inferior. La entrada "Límite superior del valor manipulado" indica el límite superior.
LMN_LLM REAL -100.0 ... LMN_HLM % o magnitud física
0.0 MANIPULATED VALUE LOW LIMIT / Valor manipulado, límite inferior El valor manipulado se mantiene siempre entre un límite superior y otro inferior. La entrada "Valor manipulado, límite inferior" indica el límite 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 rango de valores reales.
PV_OFF REAL 0.0 PROCESS VARIABLE OFFSET / Offset del valor real La entrada "Offset del valor real" se suma al valor real. La entrada sirve para adaptar el rango 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 rango de valores manipulados.
Bloques de regulación 16.2 CONT_C
Ayuda de bloques elementales CFC 132 Manual de programación y manejo, 12/2011, A5E02781029-01
Parámetro Tipo de datos
Rango de valores
Ajuste predeter-minado
Descripción
LMN_OFF REAL 0.0 MANIPULATED VALUE OFFSET / Offset del valor manipulado La entrada "Offset del valor manipulado" se suma al valor manipulado. La entrada permite adaptar el rango de valores manipulados.
I_ITLVAL REAL -100.0 ... +100.0 % o magnitud física
0.0 INITIALIZATION VALUE OF THE INTEGRAL ACTION / Valor de inicialización para acción ILa salida del integrador se puede aplicar a la entrada I_ITL_ON. El valor de inicialización se encuentra en la entrada "Valor de inicialización para acción I".
DISV REAL -100.0 ... +100.0 % o magnitud física
0.0 DISTURBANCE VARIABLE / Magnitud perturbadora Para un control anticipativo de la magnitud perturbadora se conectará ésta a la entrada "Magnitud perturbadora".
Bloques de regulación 16.2 CONT_C
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 133
Parámetros de salida Parámetro Tipo de
datos Rango de valores
Ajuste predeter-minado
Descripción
LMN REAL 0.0 MANIPULATED VALUE / Valor manipuladoEl 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 límite superior del valor manipulado El valor manipulado se mantiene siempre entre un límite superior y otro inferior. La salida "Alcanzado el límite superior del valor manipulado" avisa que se ha rebasado el límite superior.
QLMN_LLM BOOL FALSE LOW LIMIT OF MANIPULATED VALUE REACHED / Alcanzado el límite inferior del valor manipulado El valor manipulado se mantiene siempre entre un límite superior y otro inferior. La salida "Alcanzado el límite inferior del valor manipulado" notifica el rebase del límite inferior.
LMN_P REAL 0.0 PROPORTIONALITY COMPONENT / Acción P La salida "Acción P" contiene la acción proporcional de la magnitud de ajuste.
LMN_I REAL 0.0 INTEGRAL COMPONENT / Acción I La salida "Acción I" contiene la acción integral de la magnitud de ajuste.
LMN_D REAL 0.0 DERIVATIVE COMPONENT / Acción D La salida "Acción D" contiene la acción 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 regulación El error de regulación efectivo aparece en la salida "Error de regulación".
Bloques de regulación 16.2 CONT_C
Ayuda de bloques elementales CFC 134 Manual de programación y manejo, 12/2011, A5E02781029-01
Información adicional Encontrará más información en el apartado:
CONT_C: Esquema de bloques (Página 135)
Bloques de regulación 16.2 CONT_C
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 135
16.2.2 CONT_C: Esquema de bloques
Bloques de regulación 16.3 CONT_S
Ayuda de bloques elementales CFC 136 Manual de programación y manejo, 12/2011, A5E02781029-01
16.3 CONT_S
16.3.1 CONT_S: Regulador paso a paso
Nombre del objeto (tipo y número) FB 2
Introducción El bloque de función CONT_S permite regular procesos técnicos con señales binarias de salida de los valores manipulados para actuadores integradores en los sistemas de automatización SIMATIC S7. La parametrización permite conectar y desconectar funciones parciales del regulador discontinuo PI y adaptarlo al sistema regulado.
Aplicación El regulador se puede utilizar como regulador PI de valor fijo individualmente o también en lazos de regulación subordinados en reguladores de cascada, mezcla o proporcionales, aunque no como regulador principal. El modo de trabajo está basado en el algoritmo de regulación PI del regulador de muestreo y se complementa con los elementos funcionales para generar la señal binaria de salida a partir de la señal del actuador.
Con TN = T#0 ms se puede desconectar la acción I del regulador. Ello permite utilizar el bloque como regulador P.
Como el regulador trabaja sin aviso de posición, la magnitud manipulada que se calcula internamente no coincide exactamente con la posición del aparato de ajuste. Cuando la magnitud manipulada (ER * GAIN) resulta negativa, ésta se compensa. En tal caso, el regulador va bajando la salida Señal del valor manipulado (QLMNDN) hasta que se activa la señal del tope inferior del aviso de posición (LMNR_LS).
El regulador también puede emplearse en lazos de regulación subordinados en reguladores de cascada. La posición 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 parámetro Tiempo de integración (TN). Este regulador se aplica p. ej. a una regulación de temperatura que regule la potencia calefactora mediante un control de impulso/pausa y la potencia de enfriamiento mediante una válvula.
Para cerrar la válvula completamente, la magnitud manipulada (ER * GAIN) deberá volverse negativa.
Bloques de regulación 16.3 CONT_S
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 137
Descripción Además de las funciones en la rama de valor real, el bloque de función actúa como regulador PI con salida binaria de valores manipulados y posibilidad de modificación manual del valor manipulado. El regulador discontinuo funciona sin respuesta de posición. Existen las siguientes funciones parciales:
● Rama de valores nominales (Página 174)
● Rama de valores reales (Página 172)
● Formación de errores de regulación (Página 174)
● Algoritmo PI discontinuo (Página 173)
● Control anticipativo de la magnitud perturbadora (Página 174)
Modos de operación Rearranque en frío/Rearranque en caliente El bloque de función CONT_S dispone de una rutina de rearranque en frío.
Todas las salidas se ajustan a sus valores predeterminados.
Información de errores No se utiliza la palabra de notificación de error RET_VAL.
Bloques de regulación 16.3 CONT_S
Ayuda de bloques elementales CFC 138 Manual de programación y manejo, 12/2011, A5E02781029-01
Parámetros de entrada Parámetro Tipo de
datos Rango de valores
Ajuste predeter-minado
Descripción
LMNR_HS BOOL FALSE HIGH LIMIT SIGNAL OF REPEATED MANIPULATED VALUE / Señal de límite superior para la respuesta de posición La señal "Servoválvula en el límite superior" se conecta a la entrada "Señal de límite superior para la respuesta de posición". LMNR_HS = TRUE significa: la servoválvula se encuentra en su límite superior.
LMNR_LS BOOL FALSE LOW LIMIT SIGNAL OF REPEATED MANIPULATED VALUE / Señal de límite inferior para la respuesta de posición La señal "Servoválvula en el límite inferior" se conecta a la entrada "Señal de límite inferior para la respuesta de posición". LMNR_LS = TRUE significa: la servoválvula se encuentra en su límite inferior.
LMNS_ON BOOL TRUE MANIPULATED SIGNALS ON / Conectar modo manual en señales manipuladas El procesamiento de las señales manipuladas se conecta en la entrada "Conectar modo manual en señales manipuladas".
LMNUP BOOL FALSE MANIPULATED SIGNALS UP / Subir señal manipulada En el modo manual de las señales manipuladas, la señal de salida QLMNUP actúa sobre la entrada "Subir señal manipulada".
LMNDN BOOL FALSE MANIPULATED SIGNALS DOWN / Bajar señal manipulada En el modo manual de las señales manipuladas, la señal de salida QLMNDN actúa sobre la entrada "Bajar señal".
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.
Bloques de regulación 16.3 CONT_S
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 139
Parámetro Tipo de datos
Rango de valores
Ajuste predeter-minado
Descripción
SP_INT REAL -100.0 ... +100.0 % o magnitud física
0.0 INTERNAL SETPOINT / Valor de consigna interno La entrada "Valor de consigna interno" permite prefijar un valor manipulado.
PV_IN REAL -100.0 ... +100.0 % o magnitud física
0.0 PROCESS VARIABLE IN / Valor real de la entrada En la entrada "Valor real de entrada" puede parametrizarse un valor de puesta en servicio o conectarse un valor real en coma flotante.
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 acción integral La entrada "Tiempo de acción integral" determina el comportamiento temporal del integrador.
DEADB_W REAL ≥ 0.0 % o magnitud física
0.0 DEAD BAND WIDTH / Ancho de la zona muerta El error de regulación se conduce por la zona muerta. La entrada "Ancho de la zona muerta" determina el tamaño 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 rango de valores reales.
PV_OFF REAL 0.0 PROCESS VARIABLE OFFSET / Offset del valor real La entrada "Desplazamiento del valor real" se suma al valor real. La entrada permite adaptar el rango de valores reales.
PULSE_TM TIME ≥ SAMPLE_T T#3s MINIMUM PULSE TIME / Duración mínima de impulso En el parámetro "Duración mínima de impulso" se puede parametrizar una longitud mínima para los impulsos.
Bloques de regulación 16.3 CONT_S
Ayuda de bloques elementales CFC 140 Manual de programación y manejo, 12/2011, A5E02781029-01
Parámetro Tipo de datos
Rango de valores
Ajuste predeter-minado
Descripción
BREAK_TM TIME ≥ SAMPLE_T T#3s MINIMUM BREAK TIME / Duración mínima de pausa En el parámetro "Duración mínima de pausa" se puede parametrizar una longitud mínima de las pausas.
MTR_TM TIME ≥ SAMPLE_T T#30s MOTOR MANIPULATED VALUE / Valor manipulado del motor En el parámetro "Valor manipulado del motor" se anota el tiempo de ejecución de la servoválvula entre dos límites consecutivos.
DISV REAL -100.0 ... +100.0 % o magnitud física
0.0 DISTURBANCE VARIABLE / Magnitud perturbadora Para un control anticipativo de la magnitud perturbadora se conectará ésta a la entrada "Magnitud perturbadora".
Parámetros de salida Parámetro Tipo de
datos Rango de valores
Ajuste predeterminado
Descripción
QLMNUP BOOL FALSE MANIPULATED SIGNAL UP / Subir señal manipulada Si la salida "Subir señal manipulada" está activada, debe abrirse la servoválvula.
QLMNDN BOOL FALSE MANIPULATED SIGNAL DOWN / Bajar señal manipulada Si la salida "Bajar señal manipulada" está activada, debe cerrarse la servoválvula.
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 regulación El error de regulación efectivo aparece en la salida "Error de regulación".
Información adicional Encontrará más información en el apartado:
CONT_S: Esquema de bloques (Página 141)
Bloques de regulación 16.3 CONT_S
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 141
16.3.2 CONT_S: Esquema de bloques
Bloques de regulación 16.4 PULSEGEN
Ayuda de bloques elementales CFC 142 Manual de programación y manejo, 12/2011, A5E02781029-01
16.4 PULSEGEN
16.4.1 PULSEGEN: Modulación de ancho de impulsos para reguladores PID
Nombre del objeto (tipo y número) FB 3
Introducción El bloque de función PULSEGEN sirve para crear un regulador PID con salida de impulsos para actuadores proporcionales.
Aplicación El bloque de función PULSEGEN permite estructurar reguladores PID de dos o tres puntos con modulación de ancho de impulsos. La función se utiliza casi siempre en combinación con el regulador continuo CONT_C (Página 128).
Descripción La función PULSEGEN transforma la magnitud de entrada INV (= LMN del regulador PID) por modulación del ancho de impulsos en una secuencia de impulsos con período constante. Éste equivale al tiempo de ciclo con el que se actualiza la magnitud de entrada, y se debe parametrizar en PER_TM.
La duración de cada impulso por período es proporcional a la magnitud de entrada. El ciclo parametrizado a través de PER_TM no es idéntico al ciclo de procesamiento del bloque de función PULSEGEN. Antes bien, un ciclo PER_TM se compone de varios ciclos de procesamiento del bloque de función PULSEGEN. La cantidad de llamadas a PULSEGEN por ciclo PER_TM indica la precisión de la modulación de ancho de impulsos.
Encontrará más información sobre la modulación de ancho de impulsos en: Modulación de ancho de impulsos (Página 171)
Bloques de regulación 16.4 PULSEGEN
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 143
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 duración de los impulsos se vuelve a calcular al principio de cada período.
Precisión de los valores manipulados En el presente ejemplo, una "relación de muestreo" de 1:10 (llamadas a CONT_C en relación con llamadas a PULSEGEN) limita al 10% la precisión de los valores manipulados. Los valores de entrada predeterminados INV sólo se pueden representar en la retícula de 10% a una longitud de impulsos en la salida QPOS.
En consecuencia, la precisión aumenta con el número 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 resolución del 1% del rango de valores manipulados.
Nota
El factor de ciclo de la frecuencia de llamadas debe ser programada por el usuario.
Sincronización automática Existe la posibilidad de sincronizar automáticamente 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 evalúa la magnitud de entrada INV con una periodicidad igual a la del período PER_TM y convierte el valor en una señal de impulso con una longitud equivalente. Sin embargo, dado que INV se calcula casi siempre en un nivel de alarma temporizada más lento, el formador de impulsos debería iniciar, lo antes posible después de la actualización de INV, la transformación del valor discreto en una señal de impulso.
Para ello, el mismo bloque puede sincronizar el inicio del período 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 período, se realizará una sincronización. Se vuelve a calcular la duración de impulsos y se inicia la salida en el siguiente ciclo con un nuevo período.
Bloques de regulación 16.4 PULSEGEN
Ayuda de bloques elementales CFC 144 Manual de programación y manejo, 12/2011, A5E02781029-01
La sincronización automática se puede desconectar en la entrada "SYN_ON" (= FALSE).
Nota
Al comenzar el nuevo período, el valor antiguo de INV (o sea, de LMN) se representa, de forma más o menos imprecisa, sobre la señal de impulso tras efectuarse la sincronización.
Modos de operación Los reguladores PID a tres puntos, o con salida bipolar o unipolar de dos puntos, se pueden configurar dependiendo de la parametrización del formador de impulsos. La tabla siguiente muestra las combinaciones de interruptores correspondientes a los modos de operación posibles:
Interruptor Modo de operación MAN_ON STEP3_ON ST2BI_ON
Regulación de tres puntos FALSE TRUE cualquieraZweipunktreglung mit bipolarem Stellbereich (-100% ... +100%)
FALSE FALSE TRUE
Zweipunktreglung mit unipolarem Stellbereich (0% ... +100%) FALSE FALSE FALSE Modo manual TRUE cualquiera cualquiera
Bloques de regulación 16.4 PULSEGEN
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 145
Parámetros de entrada Parámetro Tipo de
datos Rango de valores Ajuste
predeter-minado
Descripción
INV REAL -100.0 ... +100.0% 0.0 INPUT VARIABLE / Variable de entradaEn el parámetro de entrada "Variable de entrada" se conecta adicionalmente una magnitud manipulada analógica.
PER_TM TIME ≥ 20 * SAMPLE_T T#1s PERIOD TIME / Período En el parámetro de entrada "Período" se introduce el período constante de la modulación de ancho de impulsos. Éste equivale al tiempo de muestreo del regulador. La relación entre el tiempo de muestreo del formador de impulsos y el tiempo de muestreo del regulador determina la precisión de la modulación en ancho de impulsos.
P_B_TM TIME ≥ SAMPLE_T T#0ms MINIMUM PULSE/BREAK TIME / Duración mínima de impulso o de pausa En el parámetro de entrada "Duración mínima de impulso o de pausa" se puede parametrizar una longitud mínima de impulso o de pausa.
RATIOFAC REAL 0.1 ... 10.0 1.0 RATIO FACTOR / Factor de relación El parámetro de entrada "Factor de relación" permite modificar las proporciones entre la duración de impulsos negativos y positivos. En procesos térmicos, esto permite compensar las distintas constantes de tiempo para calefacción y refrigeración (por ejemplo, en un proceso con calefacción eléctrica y refrigeración por agua).
STEP3_ON BOOL TRUE THREE STEP CONTROL ON / Activar regulación de tres puntos En el parámetro de entrada "Activar regulación de tres puntos" se activa el modo de operación correspondiente. En la regulación de tres puntos funcionan ambas señales de salida.
Bloques de regulación 16.4 PULSEGEN
Ayuda de bloques elementales CFC 146 Manual de programación y manejo, 12/2011, A5E02781029-01
Parámetro Tipo de datos
Rango de valores Ajuste predeter-minado
Descripción
ST2BI_ON BOOL FALSE TWO STEP CONTROL FOR BIPOLAR MANIPULATED VALUE RANGE ON / Activar regulación de dos puntos para rango de valores manipulados bipolar En el parámetro de entrada "Activar regulación de dos puntos para rango de valores manipulados bipolar" se puede elegir entre los modos de operación "Regulación de dos puntos para rango de valores manipulados bipolar" y "Regulación de dos puntos para rango de valores manipulados unipolar". Para ello, debe cumplirse: STEP3_ON = FALSE.
MAN_ON BOOL FALSE MANUAL MODE ON / Conectar modo manual Ajustando el parámetro de entrada "Conectar modo manual" se pueden ajustar manualmente las señales de salida.
POS_P_ON BOOL FALSE POSITIVE PULSE ON / Impulso positivo activado El modo manual de regulación de tres puntos permite actuar sobre la señal de salida QPOS_P en el parámetro de entrada "Impulso positivo activado". En el modo manual de regulación de 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 regulación de tres puntos permite operar la señal de salida QNEG_P en el parámetro de entrada "Impulso negativo activado". En el modo manual de regulación de dos puntos, QNEG_P siempre se ajusta al valor invertido de QPOS_P.
Bloques de regulación 16.4 PULSEGEN
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 147
Parámetro Tipo de datos
Rango de valores Ajuste predeter-minado
Descripción
SYN_ON BOOL TRUE SYNCHRONISATION ON / Activar sincronización Existe la posibilidad de sincronizar automáticamente la salida de impulsos con el bloque que actualiza la magnitud de entrada INV ajustando el parámetro de entrada "Activar sincronización". 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 parámetros de entrada. Los parámetros no se comprueban.
Bloques de regulación 16.4 PULSEGEN
Ayuda de bloques elementales CFC 148 Manual de programación y manejo, 12/2011, A5E02781029-01
Parámetros de salida Parámetro Tipo de
datos Rango de valores
Ajuste predeterminado
Descripción
QPOS_P BOOL FALSE OUTPUT POSITIVE PULSE / Señal de salida de impulso positivo El parámetro de salida "Señal de salida de impulso positivo" se activa cuando se necesite emitir un impulso. En la regulación de tres puntos es el impulso positivo. En la regulación a dos puntos, QNEG_P siempre se ajusta al valor invertido de QPOS_P.
QNEG_P BOOL FALSE OUTPUT NEGATIVE PULSE / Señal de salida de impulso negativo El parámetro de salida "Señal de salida de impulso negativo" se activa cuando se necesite emitir un impulso. En la regulación de tres puntos es el impulso negativo. En la regulación de dos puntos, QNEG_P siempre se ajusta al valor invertido de QPOS_P.
Modos de operación Rearranque en frío/Rearranque en caliente Al rearrancar en frío, todas las salidas de señales se ponen a cero.
Información de errores No se utiliza la palabra de notificación de error RET_VAL.
Información adicional Para más información, consulte los temas siguientes:
PULSEGEN: Esquema de bloques (Página 149)
PULSEGEN: Regulación a tres puntos (Página 149)
PULSEGEN: Regulación a tres puntos asimétrica (Página 151)
PULSEGEN: Regulación a dos puntos (Página 152)
PULSEGEN: Modo manual en regulación a dos o tres puntos (Página 153)
Bloques de regulación 16.4 PULSEGEN
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 149
16.4.2 PULSEGEN: Esquema de bloques
16.4.3 PULSEGEN: Regulación a tres puntos
Descripción En el modo de operación "Regulación de tres puntos" pueden generarse tres estados de señal de ajuste. Para ello se asignan los valores de estado de las señales binarias de salida QPOS_P y QNEG_P a los correspondientes estados operativos del actuador. En la tabla se ejemplifica una regulación de temperatura:
Actuador Señal 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 duración de impulso mediante una curva característica. La forma de esta característica queda definida por la duración mínima de impulso o de pausa y el factor de relación. El valor normal del factor de relación es 1.
Los puntos de flexión de las curvas características son causados por la duración mínima de impulso o de pausa. Encontrará más información sobre la curva característica en:
Curva característica simétrica para reguladores de tres puntos (Página 175)
Bloques de regulación 16.4 PULSEGEN
Ayuda de bloques elementales CFC 150 Manual de programación y manejo, 12/2011, A5E02781029-01
Duración mínima de impulso o de pausa Una duración mínima 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 conmutación y aparatos de ajuste.
Nota Se suprimen los pequeños valores absolutos de la magnitud de entrada LMN que generarían duraciones de impulsos inferiores a P_B_TM. Los valores de entrada grandes, que generarían duraciones de impulsos superiores a (PER_TM - P_B_TM), se ajustan al 100% o a -100%.
La duración de los impulsos positivos o negativos se calcula multiplicando la magnitud de entrada (en %) por la duración del período. Duración de impulsos = INV / 100 * PER_TM
Información adicional Para más información, consulte los temas siguientes:
PULSEGEN: Regulación a tres puntos asimétrica (Página 151)
PULSEGEN: Regulación a dos puntos (Página 152)
PULSEGEN: Modo manual en regulación a dos o tres puntos (Página 153)
Bloques de regulación 16.4 PULSEGEN
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 151
16.4.4 PULSEGEN: Regulación a tres puntos asimétrica
Descripción A través del factor de relación RATIOFAC se puede modificar la relación entre las duraciones de impulsos positivos y negativos. Por ejemplo, en un proceso térmico esto permite considerar diferentes constantes de tiempo para la calefacción y la refrigeración.
El factor de relación influye también en la duración mínima de impulso o de pausa. Un factor de relación < 1 significa que el valor de reacción para impulsos negativos se multiplica por el factor de relación.
Factor de relación < 1 La duración de impulso en la salida de impulsos negativa, resultante de multiplicar la magnitud de entrada por la duración de período, se reduce en la medida del factor de relación.
Duración del impulso positivo = INV / 100 * PER_TM
Duración del impulso negativo = INV / 100 * PER_TM + RATIOFAC
Factor de relación > 1 La duración de impulso en la salida de impulsos positiva, resultante de multiplicar la magnitud de entrada por el período, se reduce en la medida del factor de relación.
Duración del impulso positivo = INV / 100 + PER_TM
Duración del impulso negativo = INV / 100 * PER_TM / RATIOFAC
Información adicional Para más información, consulte los temas siguientes:
Curva característica asimétrica del regulador de tres puntos (Página 176)
PULSEGEN: Regulación a tres puntos (Página 149)
PULSEGEN: Regulación a dos puntos (Página 152)
PULSEGEN: Modo manual en regulación a dos o tres puntos (Página 153)
Bloques de regulación 16.4 PULSEGEN
Ayuda de bloques elementales CFC 152 Manual de programación y manejo, 12/2011, A5E02781029-01
16.4.5 PULSEGEN: Regulación a dos puntos
Descripción En la regulación de dos puntos sólo 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 rango de valores manipulados bipolar o unipolar.
En QNEG_P está disponible la señal de salida negada, por si la conexión del regulador a dos puntos en el circuito de regulación exigiese una señal binaria lógica invertida para los impulsos de ajuste.
Impulso Actuador de
entrada Actuador de salida
QPOS_P TRUE FALSE QNEG_P FALSE TRUE
Información adicional Para más información, consulte los temas siguientes:
Curva característica con margen de valores manipulados bipolar (Página 172)
Curva característica con margen de valores manipulados unipolar (Página 173)
PULSEGEN: Regulación a tres puntos (Página 149)
PULSEGEN: Regulación a tres puntos asimétrica (Página 151)
PULSEGEN: Modo manual en regulación a dos o tres puntos (Página 153)
Bloques de regulación 16.4 PULSEGEN
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 153
16.4.6 PULSEGEN: Modo manual en regulación a dos o tres puntos
Descripción En el modo manual (MAN_ON = TRUE), las salidas binarias del regulador de dos o tres puntos se pueden activar a través de las señales POS_P_ON y NEG_P_ON, con independencia de INV.
POS_P_ON NEG_P_ON QPOS_P QNEG_P Regulación de tres puntos FALSE FALSE FALSE FALSE TRUE FALSE TRUE FALSE FALSE TRUE FALSE TRUE TRUE TRUE FALSE FALSE Regulación de dos puntos FALSE cualquiera FALSE TRUE TRUE cualquiera TRUE FALSE
Información adicional Para más información, consulte los temas siguientes:
PULSEGEN: Regulación a tres puntos (Página 149)
PULSEGEN: Regulación a tres puntos asimétrica (Página 151)
PULSEGEN: Regulación a dos puntos (Página 152)
Bloques de regulación 16.4 PULSEGEN
Ayuda de bloques elementales CFC 154 Manual de programación y manejo, 12/2011, A5E02781029-01
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 155
Bloques para funciones del sistema 1717.1 EVENT: Comienzo del nivel de ejecución
Bloques CFC de la familia "SYSTEM" Esta familia comprende las siguientes llamadas al sistema M7-300/400:
DELAY (Página 157)
Generar una alarma de software, cuyo nombre se transfiere como parámetro
DELAY: Retardar los eventos de inicio (Página 158)
Retardar todos los eventos ocurridos durante el inicio hasta que se habilite la edición.
EDELAY : Liberar los eventos de arranque retardados. (Página 159)
Liberar los eventos de arranque retardados.
DISCARD: Se descartan todos los eventos de arranque que ocurran (Página 160)
Descartar (no iniciar) todos los eventos de arranque que ocurran, de manera que el nivel de ejecución llamado pueda trabajar sin interrupciones
EDISCARD: Habilitar todos los eventos de arranque nuevos que ocurran. (Página 161)
Habilitar todos los eventos de arranque nuevos que ocurran.
LASTERR: Averiguar los códigos de los errores en DELAY, EDELAY, DISCARD, EDISCARD,P_REASON (Página 162)
Averiguar los códigos de los errores de periferia y de los errores en los bloques de sistema DELAY, EDELAY, DISCARD, EDISCARD, P_REASON
Bloques para funciones del sistema 17.1 EVENT: Comienzo del nivel de ejecución
Ayuda de bloques elementales CFC 156 Manual de programación y manejo, 12/2011, A5E02781029-01
SYSTIME: Determinar la hora del sistema. (Página 163)
Determinar la hora del sistema.
P_REASON: Determinar la causa de la alarma de proceso (Página 164)
Determinar la causa de la llamada de una alarma de proceso.
Bloques para funciones del sistema 17.2 DELAY
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 157
17.2 DELAY
Nota
Este bloque solo se puede utilizar en sistemas runtime M7-300/400.
Función Este bloque genera una alarma de software. Inicia el nivel de ejecución (tarea) cuyo nombre se indique en la entrada TN.
Si se indica un nombre que no tenga asignado un nivel de ejecución, se generará un mensaje de error durante la compilación y la prueba de coherencia.
Conexiones Nombre Tipo de datos Explicación Preajuste Entrada TN TASK Nombre de la tarea 0
Bloques para funciones del sistema 17.3 DELAY: Retardar los eventos de inicio
Ayuda de bloques elementales CFC 158 Manual de programación y manejo, 12/2011, A5E02781029-01
17.3 DELAY: Retardar los eventos de inicio
Nota
Este bloque sólo se puede utilizar en sistemas runtime M7-300/400.
Función Gracias a este bloque, el nivel de ejecución invocante puede funcionar sin interrupciones en otros niveles de ejecución. Todos los eventos de arranque que se presenten serán retardados hasta que se habilite la ejecución (con ayuda del bloque EDELAY) o hasta que finalice el nivel de ejecución activo.
Luego se ejecutarán los eventos de arranque que se hayan presentado durante este intervalo.
Si ocurre un error durante la ejecución, éste se puede consultar con ayuda del bloque LASTERR.
Encontrará más información sobre los bloques EDELAY y LASTERR en los apartados siguientes:
● EDELAY : Liberar los eventos de arranque retardados. (Página 159)
● LASTERR: Averiguar los códigos de los errores en DELAY, EDELAY, DISCARD, EDISCARD,P_REASON (Página 162)
Bloques para funciones del sistema 17.4 EDELAY : Liberar los eventos de arranque retardados.
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 159
17.4 EDELAY : Liberar los eventos de arranque retardados.
Nota
Este bloque sólo se puede utilizar en sistemas runtime M7-300/400.
Función Este bloque habilita los eventos de arranque retardados. Los eventos de arranque se deben haber retardado previamente mediante el bloque DELAY.
Si ocurre un error durante la ejecución, éste se puede consultar con ayuda del bloque LASTERR.
Encontrará más información sobre los bloques DELAY y LASTERR en los apartados siguientes:
● DELAY: Retardar los eventos de inicio (Página 158)
● LASTERR: Averiguar los códigos de los errores en DELAY, EDELAY, DISCARD, EDISCARD,P_REASON (Página 162)
Bloques para funciones del sistema 17.5 DISCARD: Se descartan todos los eventos de arranque que ocurran
Ayuda de bloques elementales CFC 160 Manual de programación y manejo, 12/2011, A5E02781029-01
17.5 DISCARD: Se descartan todos los eventos de arranque que ocurran
Nota
Este bloque sólo se puede utilizar en sistemas runtime M7-300/400.
Función Gracias a este bloque, el nivel de ejecución invocante puede funcionar sin interrupciones en otros niveles de ejecución. Se descartan todos los eventos de arranque que ocurran. Por tanto, no se inician los niveles de ejecución correspondientes. Los eventos ya registrados (retardados) continuarán ejecutándose hasta finalizar. Las alarmas de proceso se acusan de inmediato.
Todos los eventos de arranque que se presenten serán rechazados hasta que se habilite la ejecución (con ayuda del bloque EDISCARD) o hasta que finalice el nivel de ejecución activo.
Si ocurre un error durante la ejecución, éste se puede consultar con ayuda del bloque LASTERR.
Encontrará más información sobre los bloques EDISCARD y LASTERR en los apartados siguientes:
● EDISCARD: Habilitar todos los eventos de arranque nuevos que ocurran. (Página 161)
● LASTERR: Averiguar los códigos de los errores en DELAY, EDELAY, DISCARD, EDISCARD,P_REASON (Página 162)
Bloques para funciones del sistema 17.6 EDISCARD: Habilitar todos los eventos de arranque nuevos que ocurran.
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 161
17.6 EDISCARD: Habilitar todos los eventos de arranque nuevos que ocurran.
Nota
Este bloque sólo se puede utilizar en sistemas runtime M7-300/400.
Función 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.
Si ocurre un error durante la ejecución, éste se puede consultar con ayuda del bloque LASTERR.
Encontrará más información sobre los bloques DISCARD y LASTERR en los apartados siguientes:
● DISCARD: Se descartan todos los eventos de arranque que ocurran (Página 160)
● LASTERR: Averiguar los códigos de los errores en DELAY, EDELAY, DISCARD, EDISCARD,P_REASON (Página 162)
Bloques para funciones del sistema 17.7 LASTERR: Averiguar los códigos de los errores en DELAY, EDELAY, DISCARD, EDISCARD,P_REASON
Ayuda de bloques elementales CFC 162 Manual de programación y manejo, 12/2011, A5E02781029-01
17.7 LASTERR: Averiguar los códigos de los errores en DELAY, EDELAY, DISCARD, EDISCARD,P_REASON
Nota
Este bloque sólo se puede utilizar en sistemas runtime M7-300/400.
Función Este bloque suministra el código del último error de las siguientes clases de error:
● Errores de periferia
● Error en los bloques de sistema:
– DELAY: Retardar los eventos de inicio (Página 158),
– EDELAY : Liberar los eventos de arranque retardados. (Página 159),
– DISCARD: Se descartan todos los eventos de arranque que ocurran (Página 160),
– EDISCARD: Habilitar todos los eventos de arranque nuevos que ocurran. (Página 161),
– P_REASON: Determinar la causa de la alarma de proceso (Página 164)
Los valores posibles son un subconjunto de los códigos de error del software de sistema M7. Pueden consultarse en el archivo M7API.H o en la documentación del software de sistema M7.
Conexiones
Nombre Tipo de datos Explicación Ajuste predeterminado Salida ERR DINT Código de error 0
Bloques para funciones del sistema 17.8 SYSTIME: Determinar la hora del sistema.
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 163
17.8 SYSTIME: Determinar la hora del sistema.
Nota
Este bloque solo se puede utilizar en sistemas runtime M7-300/400.
Función 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 Explicación Preajuste Salida TIME TIME Hora del sistema 0
Bloques para funciones del sistema 17.9 P_REASON: Determinar la causa de la alarma de proceso
Ayuda de bloques elementales CFC 164 Manual de programación y manejo, 12/2011, A5E02781029-01
17.9 P_REASON: Determinar la causa de la alarma de proceso
Función 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 información adicional de la alarma de proceso durante la última llamada. El contenido de la información adicional es específico del bloque y se indica en formato INTEL en lo que se refiere a la secuencia de bytes.
En la salida MASK se emite además la máscara de alarmas que fue configurada en CFC para este nivel de ejecución de la alarma de proceso.
Si ocurre un error durante la ejecución, éste se puede consultar con ayuda del bloque LASTERR.
Encontrará más información sobre el bloque LASTERR en el apartado: LASTERR: Averiguar los códigos de los errores en DELAY, EDELAY, DISCARD, EDISCARD,P_REASON (Página 162)
Conexiones Nombre Tipo de datos Explicación Ajuste predeterminado Entrada TN TASK Nombre de la tarea 0 Salidas STATE STATE Estado de la alarma 0 MASK DWORD Máscara de la alarma 0
17.10 FRC_CFC: Bloque interno
Nombre del objeto (tipo y número) FB 136
Este bloque es un bloque de sistema y únicamente se utiliza internamente. Por ello no se dispone de ayuda.
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 165
Bloques para conexiones inter-AS 1818.1 IK_STATE
IK_STATE: Mostrar el estado de una conexión inter-AS
Nombre del objeto (tipo y número) FC 157
Aplicación 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 conexión 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 conexión inter-AS.
Función El bloque devuelve en la salida el estado de error de la conexión inter-AS cuyo número se ha parametrizado en la entrada NETPRO_ID.
El bloque devuelve un bit propio para cada error. Además se dispone de un error de grupo. Si NETPRO_ID no está disponible, también se devuelve un error.
Tratamiento de errores No se utiliza el valor de retorno RET_VAL.
Parámetros de entrada
Parámetros Tipo de datos Preajuste Descripción NETPRO_ID INT 0 NETPRO_ID de la conexión MasterDB INT 0 Número del DB maestro. CFC lo rellena
automáticamente
Bloques para conexiones inter-AS 18.1 IK_STATE
Ayuda de bloques elementales CFC 166 Manual de programación y manejo, 12/2011, A5E02781029-01
Parámetros de salida
Parámetros Tipo de datos Preajuste Descripción 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 búfer intermedio de transmisión no se procesa lo suficientemente rápido.
RcvOv BOOL FALSE Sobrecarga en el receptor Este error puede producirse cuando el búfer intermedio de recepción no se procesa lo suficientemente rápido.
RcvChg BOOL FALSE Modificación insonsistente en el receptor 1. En el lado del receptor se ha reconfigurado la interconexión inter-AS, lo que también afecta al receptor. Sin embargo, éste no estaba disponible en ese momento. 2. En el lado del emisor se ha reconfigurado la interconexión inter-AS, lo que también 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 (todavía) no ha transmitido ningún 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 más información sobre las interconexiones inter-AS, consulte la Ayuda "CFC para SIMATIC S7 > Crear estructuras de ejecucíon > Crear y manejar interconexiones > Crear interconexiones inter-AS".
Bloques para conexiones inter-AS 18.2 IK_MANAG
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 167
18.2 IK_MANAG
IK_MANAG
Nombre del objeto (tipo+número) FC152
Aplicación El bloque IK_MANAG forma parte del sistema runtime para el soporte de las interconexiones con otros AS, el cual se copia automáticamente en la carpeta de bloques del programa S7 la primera vez que se crea una interconexión inter-AS.
No se ha previsto una descripción detallada de dicho bloque.
Para más información sobre las interconexiones inter-AS, consulte la Ayuda "CFC para SIMATIC S7 > Crear estructuras de ejecucíon > Crear y manejar interconexiones > Crear interconexiones inter-AS".
18.3 IK_SEND
IK_SEND
Nombre del objeto (tipo+número) FC155
Aplicación El bloque IK_SEND forma parte del sistema runtime para el soporte de las interconexiones inter-AS, el cual se copia automáticamente en la carpeta de bloques del programa S7 la primera vez que se crea una interconexión con otro AS.
No se ha previsto una descripción detallada de dicho bloque.
Para más información sobre las interconexiones inter-AS, consulte la Ayuda "CFC para SIMATIC S7 > Crear estructuras de ejecucíon > Crear y manejar interconexiones > Crear interconexiones inter-AS".
Bloques para conexiones inter-AS 18.4 IK_RCV
Ayuda de bloques elementales CFC 168 Manual de programación y manejo, 12/2011, A5E02781029-01
18.4 IK_RCV
IK_RCV
Nombre del objeto (tipo+número) FC156
Aplicación El bloque IK_RCV forma parte del sistema runtime para el soporte de las interconexiones inter-AS, el cual se copia automáticamente en la carpeta de bloques del programa S7 la primera vez que se crea una interconexión con otro AS.
No se ha previsto una descripción detallada de dicho bloque.
Para más información sobre las interconexiones inter-AS, consulte la Ayuda "CFC para SIMATIC S7 > Crear estructuras de ejecucíon > Crear y manejar interconexiones > Crear interconexiones inter-AS".
18.5 IK_CP_OU
IK_CP_OU
Nombre del objeto (tipo+número) FC154
Aplicación El bloque IK_CP_OU forma parte del sistema runtime para el soporte de las interconexiones inter-AS, el cual se copia automáticamente en la carpeta de bloques del programa S7 la primera vez que se crea una interconexión con otro AS.
No se ha previsto una descripción detallada de dicho bloque.
Para más información sobre las interconexiones inter-AS, consulte la Ayuda "CFC para SIMATIC S7 > Crear estructuras de ejecucíon > Crear y manejar interconexiones > Crear interconexiones inter-AS".
Bloques para conexiones inter-AS 18.6 IK_CP_IN
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 169
18.6 IK_CP_IN
IK_CP_IN
Nombre del objeto (tipo+número) FC153
Aplicación El bloque IK_CP_IN forma parte del sistema runtime para el soporte de las interconexiones inter-AS, el cual se copia automáticamente en la carpeta de bloques del programa S7 la primera vez que se crea una interconexión con otro AS.
No se ha previsto una descripción detallada de dicho bloque.
Para más información sobre las interconexiones inter-AS, consulte la Ayuda "CFC para SIMATIC S7 > Crear estructuras de ejecucíon > Crear y manejar interconexiones > Crear interconexiones inter-AS".
18.7 IK_ALARM
IK_ALARM
Nombre del objeto (tipo+número) FB244
Aplicación El bloque IK_ALARM forma parte del sistema runtime para el soporte de las interconexiones inter-AS, el cual se copia automáticamente en la carpeta de bloques del programa S7 la primera vez que se crea una interconexión con otro AS.
No se ha previsto una descripción detallada de dicho bloque.
Para más información sobre las interconexiones inter-AS, consulte la Ayuda "CFC para SIMATIC S7 > Crear estructuras de ejecucíon > Crear y manejar interconexiones > Crear interconexiones inter-AS".
Bloques para conexiones inter-AS 18.7 IK_ALARM
Ayuda de bloques elementales CFC 170 Manual de programación y manejo, 12/2011, A5E02781029-01
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 171
Anexo 1919.1 Procesamiento de valores manuales
Puede conmutarse entre procesamiento manual y automático. 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 automático se produce sin choques.
19.2 Modulación de ancho de impulsos
Modulación de ancho de impulsos
Leyenda 1 Ciclo PULSEGEN 2 Ciclo CONT_C
Anexo 19.3 Rama de valores reales
Ayuda de bloques elementales CFC 172 Manual de programación y manejo, 12/2011, A5E02781029-01
19.3 Rama de valores reales
El valor real se puede leer en formato de coma flotante o de periferia. La función 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 función 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 característica con margen de valores manipulados bipolar
Curva característica con rango de valores manipulados bipolar Rango de valores manipulados -100% a 100%
Leyenda 1 Desactivado de forma permanente 2 Duración del impulso positivo 3 Activado de forma permanente
Anexo 19.5 Curva característica con margen de valores manipulados unipolar
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 173
19.5 Curva característica con margen de valores manipulados unipolar
Curva característica con rango de valores manipulados unipolar Rango de valores manipulados 0% a 100%
Leyenda 1 Duración del impulso positivo
19.6 Algoritmo PI discontinuo
Este bloque de función funciona sin respuesta de posición. La acción I del algoritmo PI, así como la respuesta prevista, se calculan en un integrador (INT) y se comparan como valor de retorno con la acción 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 servoválvula. La frecuencia de conmutación del regulador se reduce adaptando el umbral de activación del elemento de tres puntos.
19.7 Algoritmo PID
El algoritmo PID funciona como algoritmo de posición. Las acciones proporcional, integral (INT) y diferencial (DIF) están conectadas en paralelo y se pueden conectar y desconectar individualmente. Esto permite parametrizar los reguladores P, PI, PD y PID; aunque también se admiten reguladores I y D puros.
Anexo 19.8 Formación de errores de regulación
Ayuda de bloques elementales CFC 174 Manual de programación y manejo, 12/2011, A5E02781029-01
19.8 Formación de errores de regulación
La diferencia entre valor nominal y valor real es el error de regulación. Para suprimir una pequeña oscilación de fondo producida por la cuantificación de la magnitud manipulada (p. ej. en modulación de ancho de impulsos mediante PULSEGEN, o en resolución limitada del valor manipulado por la servoválvula) el error o diferencia de regulación se deriva a través 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 función LMNLIMIT. El rebase de los límites se indica mediante bits de notificación.
La función 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 también está disponible en formato de periferia. La función 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.
Anexo 19.12 Curva característica simétrica para reguladores de tres puntos
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 175
19.12 Curva característica simétrica para reguladores de tres puntos
Curva característica simétrica para reguladores de tres puntos Factor de relación = 1
Leyenda 1 Duración del impulso positivo 2 Activado de forma permanente 3 Desactivado de forma permanente 4 Duración del impulso negativo
Anexo 19.13 Curva característica asimétrica del regulador de tres puntos
Ayuda de bloques elementales CFC 176 Manual de programación y manejo, 12/2011, A5E02781029-01
19.13 Curva característica asimétrica del regulador de tres puntos
Curva característica asimétrica del regulador de tres puntos Factor de relación = 0.5
Leyenda 1 Duración del impulso positivo 2 Duración del impulso negativo
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 177
Índice alfabético
A ABS_DI, 88 ABS_I, 79 ABS_R, 61 ACOS, 66 ADD_DI, 84 ADD_I, 75 ADD_R, 57 AFP, 121 AND, 18 Arcocoseno, REAL, 66 Arcoseno, REAL, 65 Arcotangente, REAL, 66 Arranque en CPUs S7-300, 13 ASIN, 65 ATAN, 66
B BIT_LGC, 17 Bloques BIT, 17 Bloques CFC, 15 Bloques de aritmética, 73 Bloques de aritmética en coma flotante, 55 Bloques de conversión, 41 BO_BY, 52 BO_DW, 53 BO_W, 52 BY_BO, 53 BY_DW, 43 BY_W, 43
C CADD_DI, 92 CADD_I, 83 CADD_R, 69 CMP_DI, 37 CMP_I, 36 CMP_R, 38 CMP_T, 39 Combinación de antivalencia, 20 Combinación de antivalencia genérica, DWORD, 32 Combinación de antivalencia, WORD, 28
Combinación NAND, 21 Combinación NAND genérica, DWORD, 32 Combinación NAND, WORD, 29 Combinación NOR, 22 Combinación NOR genérica, DWORD, 33 Combinación NOR, WORD, 30 Combinación O, 19 Combinación O genérica, DWORD, 31 Combinación O, WORD, 27 Combinación Y, 18 Combinación Y genérica, DWORD, 31 Combinación Y, WORD, 26 Comparador, DINT, 37 Comparador, INT, 36 Comparador, REAL, 38 Comparador, TIME, 39 Comparar, 125
Hora de entrada con la hora actual, 125 COMPARE, 35 CONT_C, 128
Diagrama de bloques, 135 CONT_S, 136
Diagrama de bloques, 141 CONTROL, 127 Conversión, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54
16 BOOL -> WORD, 52 32 BOOL -> DWORD, 53 8 BOOL -> BYTE, 52 BYTE -> 8 BOOL, 53 BYTE -> DWORD, 43 BYTE -> WORD, 43 DINT -> DWORD, 44 DINT -> INT, 44 DINT -> REAL, 45 DWORD -> 32 BOOL, 54 DWORD -> DINT, 45 DWORD -> REAL, 46 DWORD -> WORD, 46 INT -> DINT, 47 INT -> DWORD, 47 INT -> REAL, 48 INT -> WORD, 48 REAL -> DINT, 49 REAL -> DWORD, 49 REAL -> INT, 50 WORD -> 16 BOOL, 54 WORD -> BYTE, 50
Índice alfabético
Ayuda de bloques elementales CFC 178 Manual de programación y manejo, 12/2011, A5E02781029-01
WORD -> DWORD, 51 WORD -> INT, 51
COS, 64 Coseno, REAL, 64 COUNTER, 109 CTD, 112 CTU, 110 CTUD, 113
D Decrementar contador, 112 DELAY, 158 Descripción de
FRC_CFC, 164 Desplazar hacia la derecha, DWORD, 99 Desplazar hacia la derecha, WORD, 99 Desplazar hacia la izquierda, DWORD, 98 Desplazar hacia la izquierda, WORD, 98 Detección, 119, 120
Del flanco ascendente, 119 Del flanco descendente, 120
DI_DW, 44 DI_I, 44 DI_R, 45 DISCARD, 160 DIV_DI, 85 DIV_I, 76 DIV_R, 58 Divisor, DINT, 85 Divisor, INT, 76 Divisor, REAL, 58 DW_BO, 54 DW_DI, 45 DW_R, 46 DW_W, 46
E EDELAY, 159 EDISCARD, 161 EPS_DI, 91 EPS_I, 82 EPS_R, 68 EVENT, 157 EXP, 62
F F_TRIG, 120 Flanco ascendente, 119
Detección, 119 Flanco descendente, 120
Detección, 120 Flip-Flop, 93 FlipFlop JK, 94 FlipFlop, activación dominante, 96 Flip-Flop, desactivación dominante, 95 Formador de impulsos, 116 FRC_CFC, 164
Descripción, 164 Función exponencial, REAL, 62
G Generación de impulsos para actuadores proporcionales, 142 Generador de impulsos de reloj, 121
H Hora actual, 124
Leer, 124 Hora de entrada, 125
Comparar con la hora actual, 125
I I_DI, 47 I_DW, 47 I_R, 48 I_W, 48 IMPULS, 115 Impulso prolongado, 116 Incrementar contador, 110 Incrementar/decrementar contador, 113 Iniciar, 157
Tarea M7, 157 Intervalo simétrico, DINT, 91 Intervalo, INT, 82 Intervalo, REAL, 68 Inversor, 23 Inversor, DWORD, 33 Inversor, WORD, 30
J JK_FF, 94
Índice alfabético
Ayuda de bloques elementales CFC Manual de programación y manejo, 12/2011, A5E02781029-01 179
L LASTERR, 162 Leer, 124
Hora actual, 124 LIM_DI, 90 LIM_I, 81 LIM_R, 67 Limitador asimétrico, DINT, 90 Limitador asimétrico, INT, 81 Limitador asimétrico, REAL, 67 LN, 63 LOG10, 63 Logaritmo en base 10, REAL, 63 Logaritmo natural, REAL, 63 Lógica de palabras, 25 Lógica de palabras dobles, 25
M MATH_FP, 55 MATH_INT, 73 Máximo, DINT, 87 Máximo, INT, 78 Máximo, REAL, 59 MAXn_DI, 87 MAXn_I, 78 MAXn_R, 59 Medir, 124
Tiempo de ejecución, 124 Mínimo, DINT, 88 Mínimo, INT, 79 Mínimo, REAL, 60 MINn_DI, 88 MINn_I, 79 MINn_R, 60 MOD_DI, 86 MOD_I, 77 Modulación de ancho de impulsos, 142 Módulo, DINT, 86 Módulo, INT, 77 MUL_DI, 85 MUL_I, 76 MUL_R, 58 Multiplexor, BOOL, 107 Multiplexor, DINT, 105 Multiplexor, INT, 104 Multiplexor, REAL, 106 Multiplicador, DINT, 85 Multiplicador, INT, 76 Multiplicador, REAL, 58 MULTIPLX, 103
MUXn_BO, 107 MUXn_DI, 105 MUXn_I, 104 MUXn_R, 106 MW0, 13
N NAND, 21 NEG_DI, 89 NEG_I, 80 NEG_R, 67 Negador, DINT, 89 Negador, INT, 80 Negador, REAL, 67 NOR, 22 NOT, 23
O OR, 19
P P_REASON, 164 Palabra de marcas 0, 13 Parámetros de bloque EN ENO SAMPLE_T, 11 Potencia general, REAL, 70 Potencias de base 10, REAL, 62 POW10, 62 POWXY, 70 Pulsegen
Diagrama de bloques, 149 PULSEGEN, 142
Modo manual, 153 Regulación de dos puntos, 152 Regulación de tres puntos, 149 Regulación de tres puntos asimétrica, 151
R R_DI, 49 R_DW, 49 R_I, 50 R_TRIG, 119 Raíz cuadrada, REAL, 61 Regulación paso a paso, 136 Retardo a la conexión, 116 Retardo a la conexión con memoria, 116 Retardo a la desconexión, 116
Índice alfabético
Ayuda de bloques elementales CFC 180 Manual de programación y manejo, 12/2011, A5E02781029-01
ROL_DW, 100 ROL_W, 100 ROR_DW, 101 ROR_W, 101 Rotar hacia la derecha, DWORD, 101 Rotar hacia la derecha, WORD, 101 Rotar hacia la izquierda, DWORD, 100 Rotar hacia la izquierda, WORD, 100 RS_FF, 95
S SAMP_AVE, 71 SEL_BO, 108 SEL_R, 108 Seno, REAL, 64 SHIFT, 97 SHL_DW, 98 SHL_W, 98 SHR_DW, 99 SHR_W, 99 SIN, 64 SQRT, 61 SR_FF, 96 SUB_DI, 84 SUB_I, 75 SUB_R, 57 Substractor, DINT, 84 Substractor, INT, 75 Substractor, REAL, 57 Sumador controlable, DINT, 92 Sumador controlable, INT, 83 Sumador controlable, REAL, 69 Sumador, DINT, 84 Sumador, INT, 75 Sumador, REAL, 57 SYSTEM, 155 SYSTIME, 163
T TAN, 65 Tangente, REAL, 65 Tarea M7, 157
Iniciar, 157 Tiempo de ejecución, 124
Medir, 124 TIME, 124 TIME, grupo, 123 TIME_BEG, 124 TIME_END, 125
TIMER_P, 116
V Valor absoluto, DINT, 88 Valor absoluto, INT, 79 Valor absoluto, REAL, 61 Valor medio flotante, REAL, 71
W W_BO, 54 W_BY, 50 W_DW, 51 W_I, 51 WAND_DW, 31 WAND_W, 26 WNAND_DW, 32 WNAND_W, 29 WNOR_DW, 33 WNOR_W, 30 WNOT_DW, 33 WNOT_W, 30 WOR_DW, 31 WOR_W, 27 WRD_LGC, 25 WXOR_DW, 32 WXOR_W, 28
X XOR, 20