Está en la página 1de 106

Prlogo, ndice

SIMATIC Software estndar para S7-300 y S7-400 Funciones estndar Parte 2


Manual de referencia

Funciones lgicas con bits Funciones de tabla Funciones de desplazamiento Funciones y bloques de funcin de transferencia Funciones y bloques de funcin de temporizacin Funciones y bloques de funcin de conversin Funcin en coma flotante Bloques de funcin de comparacin Glosario, ndice alfabtico

1 2 3 4 5 6 7 8

03/2000 Edicin 03

Consignas de seguridad para el usuario

Este manual contiene las informaciones necesarias para la seguridad personal as como para la pre vencin de daos materiales. Las informaciones estn puestas de relieve mediante seales de pre caucin. Las seales que figuran a continuacin representan distintos grados de peligro:

Peligro
Significa que, si no se adoptan las medidas preventivas adecuadas, se producir la muerte, o bien lesiones corporales graves o daos materiales considerables.

Precaucin
Significa que, si no se adoptan las medidas preventivas adecuadas, puede producirse la muerte, lesiones corporales graves o daos materiales considerables.

Cuidado
Significa que, si no se adoptan las medidas preventivas adecuadas, pueden producirse lesiones cor porales o daos materiales.

Nota
Se trata de una informacin importante, sobre el producto o sobre una parte determinada del manual, sobre la que se desea llamar particularmente la atencin.

Personal cualificado

La puesta en funcionamiento y el servicio del equipo slo deben ser llevados a cabo conforme a lo descrito en este manual. Slo est autorizado a intervenir en este equipo el personal cualificado. En el sentido del manual se trata de personas que disponen de los conocimientos tcnicos necesarios para poner en funciona miento, conectar a tierra y marcar los aparatos, sistemas y circuitos de acuerdo con las normas estn dar de seguridad.

Uso conforme

Considere lo siguiente:

Precaucin
El equipo o los componentes del sistema slo se podrn utilizar para los casos de aplicacin previstos en el catlogo y en la descripcin tcnica, y slo con los equipos y componentes de proveniencia tercera recomendados y homologados por Siemens. El funcionamiento correcto y seguro del producto presupone un transporte, un almacenamiento, una instalacin y un montaje conforme a las prcticas de la buena ingeniera, as como un manejo y un mantenimiento rigurosos.

Marca registrada

SIMATIC , SIMATC NET y SIMATC HMI son marcas registradas por SIEMENS AG Los restantes nombres y designaciones contenidos en el presente documento pueden ser marcas regis tradas cuya utilizacin por terceros para sus propios fines puede violar los derechos de los proprietarios.

Copyright { Siemens AG 2000 All rights reserved La divulgacin y reproduccin de este documento, as como el uso y la comunicacin de su contenido, no estn autorizados, a no ser que se obtenga el consentimiento expreso para ello. Los infractores quedan obligados a la indemnizacin de los daos. Se reservan todos los derechos, en particular para el caso de concesin de patentes o de modelos de utilidad. Siemens AG Bereich Automatisierungs- und Antriebstechnik Geschaeftsgebiet Industrie-Automatisierungssysteme Postfach 4848, D-90327 Nuernberg

Exencin de responsabilidad Hemos probado el contenido de esta publicacin con la concordancia descrita para el hardware y el software. Sin embargo, es posible que se den algunas desviaciones que nos impiden tomar garanta completa de esta concordancia. El contenido de esta publicacin est sometido a revisiones regularmente y en caso necesario se incluyen las correcciones en la siguiente edicin. Agradecemos sugerencias. Siemens AG 2000 Sujeto a cambios sin previo aviso. A5E00066869

Siemens Aktiengesellschaft

Prlogo
Finalidad de este manual En el presente manual se describen las funciones (FC) y los bloques de funcin (FB) de S7, representados con ejemplos en el lenguaje de programacin Esquema de contactos (KOP). Las FC y los FB sirven para programar cmodamente el autmata programable S7-300/S7-400. Este manual ha sido concebido como una obra de referencia que le proporciona la informacin necesaria sobre cada funcin y bloque de funcin.

Dnde encontrar las funciones S7

Las FC y los FB descritos en este manual estn almacenados en la librera estndar de STEP 7. Con el Administrador SIMATIC de STEP 7 puede copiar en el directorio de su programa de destino las FC y los FB que necesite. Antes de realizar esta operacin, asegrese de que en su programa no hay ninguna otra FC o FB con el mismo nmero que las que va a copiar desde la librera. Si encuentra alguna con la misma numeracin, antes de copiarla tendr que cambiar la numeracin de las FC o FB que desea copiar, o la de las que ya estaban en su programa.

Destinatarios

Este manual ha sido redactado para ingenieros, programadores y personal de mantenimiento que tengan conocimientos generales sobre sistemas de automatizacin.

Estructuracin del manual

Las FC y los FB aqu descritos han sido agrupados por captulos atendiendo a la finalidad de su aplicacin:

Funciones lgicas con bits (captulo 1) Funciones de tabla (captulo 2) Funciones de desplazamiento (captulo 3) Funciones y bloques de funcin de transferencia (captulo 4) Funciones y bloques de funcin de temporizacin (captulo 5) Funciones y bloques de funcin de conversin (captulo 6) Funciones de coma flotante (captulo 7) Bloques de funcin de comparacin (captulo 8) El glosario incluido al final del manual contiene una lista de trminos y definiciones que son de importancia para la programacin con el Esquema de contactos.

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

iii

Prlogo

En cada captulo se describen las FC y los FB que puede aadir a las operaciones estndar para aumentar la flexibilidad de la programacin. Todas las funciones y bloques de funcin se enumeran con el nombre completo, los nemotcnicos y el nmero respectivos. Todas las descripciones de FC o FB incluyen los apartados siguientes:

Descripcin: Resumen bsico del cometido para el que sirve la FC o el FB. Parmetros: Tabla de declaracin, tipo de datos, reas de memoria vlidas y descripcin de los parmetros.

Informacin sobre errores: Indica aquellos errores que, caso de producirse, impediran que la FC o el FB se ejecutara satisfactoriamente.

Ejemplo: Representacin grfica de la FC o del FB con unos parmetros elegidos a modo de ejemplo y con el correspondiente resultado de la ejecucin.

Resumen de la documentacin STEP 7


Ttulo STEP 7: Introduccin y ejercicios prcticos Programar con STEP 7 Manual

Este manual forma parte del paquete de documentacin STEP 7, integrado por los manuales que se enumeran a continuacin.

Contenido Ofrece una introduccin bsica a la metodologa de la estructura y programacin de un S7-300/S7-400. Resulta especialmente apropiado para aquellos usuarios que utilizan por primera vez un sistema de automatizacin. Aporta la informacin bsica sobre la estructura del sistema operativo y del programa de usuario de una CPU S7. Es recomendable que aquellos usuarios que utilizan un S7-300/S7-400 por primera vez utilicen este manual para adquirir una visin general de la metodologa de programacin y para tomarlo como base en el diseo de los programas de usuario. Las CPU S7 tienen incorporados con el sistema operativo una serie de funciones estndar y de bloques de organizacin que pueden aplicarse para hacer ms fcil la programacin. Este manual le ofrece una visin de conjunto de las funciones de sistema, los bloques de organizacin y las funciones estndar de que se dispone en S7, incluyendo igualmente descripciones detalladas a modo de informacin de referencia para utilizarla al programar su programa de usuario. Describe las principales aplicaciones y las funciones del software de automatizacin STEP 7. Recomendable tanto si es la primera vez que utiliza STEP 7 como si ya tiene experiencia con STEP 5, este manual le proporciona una visin global de los procedimientos usados para configurar, programar y poner en funcionamiento un S7-300/S7-400. Mientras est trabajando con el software puede acceder a una serie de temas online que le ayudarn al aplicar el software.

Software de sistema para S7-300 y S7400 Funciones estndar y funciones de sistema Manual de referencia Configurar el hardware y la communicacin con STEP 7 Manual

Gua para facilitar la transicin

Necesitar este manual cuando desee convertir los programas que ya tenga programados en STEP 5 para ejecutarlos con las CPU S7. El manual le proporciona una visin de conjunto sobre los procedimientos y la aplicacin del convertidor; en la ayuda online encontrar una descripcin detallada de las funciones de conversin, as como las descripciones sobre las funciones convertidas a STEP 7 disponibles en la ayuda online.

iv

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Prlogo

Ttulo Manuales de referencia Lista de instrucciones AWL, Esquema de contactos KOP, SCL1

Contenido Los manuales de los lenguajes de programacin Lista de Instrucciones AWL, Esquema de contactos KOP y SCL (Lenguaje de Control Secuencial) contienen tanto la gua para el usuario como la descripcin del lenguaje de programacin o modo de representacin. Para programar un S7-300/S7-400 slo se requiere un lenguaje de programacin, pero tambin puede mezclar los diferentes lenguajes dentro de un proyecto, si as lo desea. Caso de que sea la primera vez que utiliza uno de estos lenguajes es recomendable que emplee el manual para aprender antes la metodologa de creacin de programas en ese lenguaje de programacin concreto. Mientras est trabajando con el software puede acceder a una serie de temas online que le ayudarn en el empleo de los editores/compiladores respectivos.

Manuales S7-GRAPH1 , S7-HiGraph1, CFC1

Los lenguajes GRAPH, HiGraph y CFC (para el cableado grfico de funciones tecnolgicas) le ofrecen mtodos adicionales para la programacin de bloques en forma de controles secuenciales, grafos de estado o grficos. Estos manuales contienen tanto la gua para el usuario como la descripcin del lenguaje de programacin. Si es la primera vez que utiliza uno de estos lenguajes es recomendable que emplee este manual para aprender antes la metodologa de creacin de programas en ese lenguaje de programacin concreto. Mientras est trabajando con el software puede acceder a una serie de temas online que le ayudarn en el empleo de los editores/compiladores respectivos (exceptuando HiGraph).

Paquete opcional para el software de sistema para S7-300/S7-400

Otros manuales

En los manuales indicados a continuacin se describen las CPUs , los mdulos as como las instrucciones y operaciones disponibles para los sistemas S7-300 y S7-400:

Sistemas de automatizacin S7-300: consulte los manuales Configuracin e


instalacin (datos de la CPU, datos de los mdulos) y la lista de instrucciones.

Sistemas de automatizacin S7-400: consulte los manuales Configuracin e


instalacin (datos de la CPU, datos de los mdulos) y la lista de instrucciones. Las ayudas en pantalla contienen informacin adicional.

Asistencia adicional

Si tiene dudas sobre cualquier cuestin no tratada en este o en otros manuales STEP 7, si necesita informacin para pedir ms documentacin o equipos, o si desea informarse acerca de los cursillos de entrenamiento, no dude en dirigirse a su distribuidor oficial de Siemens. Le atendern de buen grado.

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Prlogo

Lista de funciones y bloques de funcin

En este manual se describen las funciones (FC) y los bloques de funcin (FB) siguientes:
Funcin o bloque de funcin Activar un temporizador como retardo a la conexin con memoria (TONR) Transferencia indirecta de un bloque de datos (IBLKMOV) Poner a cero un rea de periferia o de marcas en la imagen del proceso (RSET) Activar un rea de marcas o de periferia en la imagen del proceso (SET) Aadir un elemento a una tabla (ATT) Extraer el elemento ms antiguo de una tabla (FIFO) Buscar un valor en una tabla (TBL_FIND) Extraer el elemento ms reciente de una tabla (LIFO) Realizar una operacin en una tabla (TBL) Copiar un valor de una tabla (TBL_WRD) Almacenar datos en el registro de desplazamiento (WSR) Relacionar lgicamente un valor con un elemento de una tabla y almacenarlo (WRD_TBL) Desplazar un bit a un registro de desplazamiento (SHRB) Crear el patrn de bits para la visualizacin con siete segmentos (SEG) Convertir una cadena de caracteres ASCII en una cifra hexadecimal (ATH) Convertir una cifra hexadecimal en una cadena de caracteres ASCII (HTA) Codificar una posicin binaria (ENCO) Decodificar una posicin binaria (DECO) Generar el complemento a diez (BCDCPL) Sumar la cantidad de bits activados (BITSUM) Poner a cero inmediatamente un rea de salida (RSETI) Activar inmediatamente un rea de salida (SETI) Desviacin tpica (DEV) Tabla de datos correlativos (CDT) Enlace lgico de tablas (TBL_TBL) Escalar valores (SCALE) Desescalar valores (UNSCALE) Algoritmo avance/retardo (LEAD_LAG) Alarma de tiempo para control discreto (DCAT) Alarma de tiempo para control motor (MCAT) Comparar ndice matriz (IMC) Barrido de matriz (SMC) Evento drum enmascarable (DRUM) Acumular/Distribuir datos de tabla (PACK) Nmero FC80 FC81 FC82 FC83 FC84 FC85 FC86 FC87 FC88 FC89 FC90 FC91 FC92 FC93 FC94 FC95 FC96 FC97 FC98 FC99 FC100 FC101 FC102 FC103 FC104 FC105 FC106 FB80 FB81 FB82 FB83 FB84 FB85 FB86 Pgina 5-2 4-2 1-2 1-6 2-2 2-4 2-6 2-9 2-11 2-13 3-2 2-15 3-4 6-2 6-4 6-6 6-8 6-9 6-10 6-11 1-4 1-8 7-2 2-17 2-19 6-12 6-14 6-16 5-4 5-7 8-2 8-6 5-10 4-4

vi

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

ndice
1 Funciones lgicas con bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1 1.2 1.3 1.4 2 Poner a cero un rea de periferia o de marcas en la imagen del proceso (RSET): FC82 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Poner a cero inmediatamente un rea de salida (RSETI): FC100 . . . . . . Activar un rea de marcas o de periferia en la imagen del proceso (SET): FC83 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Activar inmediatamente un rea de salida (SETI): FC101 . . . . . . . . . . . . . 1-1 1-2 1-4 1-6 1-8 2-1 2-2 2-4 2-6 2-9 2-11 2-13 2-15 2-17 2-19 3-1 3-2 3-4 4-1 4-2 4-4 5-1 5-2 5-4 5-7 5-10

Funciones de tabla . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 Aadir un elemento a una tabla (ATT): FC84 . . . . . . . . . . . . . . . . . . . . . . . . Extraer el elemento ms antiguo de una tabla (FIFO): FC85 . . . . . . . . . . Buscar un valor en una tabla (TBL_FIND): FC86 . . . . . . . . . . . . . . . . . . . . Extraer el elemento ms reciente de una tabla (LIFO): FC87 . . . . . . . . . . Realizar una operacin en una tabla (TBL): FC88 . . . . . . . . . . . . . . . . . . . . Copiar un valor de una tabla (TBL_WRD): FC89 . . . . . . . . . . . . . . . . . . . . . Combinar lgicamente un valor con un elemento de una tabla y almacenarlo (WRD_TBL): FC91 . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tabla de datos correlativos (CDT): FC103 . . . . . . . . . . . . . . . . . . . . . . . . . . Enlace lgico de tablas (TBL_TBL): FC104 . . . . . . . . . . . . . . . . . . . . . . . . .

Funciones de desplazamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 3.2 Almacenar datos en el registro de desplazamiento (WSR): FC90 . . . . . . Desplazar un bit a un registro de desplazamiento (SHRB): FC92 . . . . . .

Funciones y bloques de funcin de transferencia . . . . . . . . . . . . . . . . . . . . . . . . . 4.1 4.2 Transferencia indirecta de un bloque de datos (IBLKMOV): FC81 . . . . . . Acumular/Distribuir datos de tabla (PACK): FB86 . . . . . . . . . . . . . . . . . . . .

Funciones y bloques de funcin de temporizacin . . . . . . . . . . . . . . . . . . . . . . . . 5.1 5.2 5.3 5.4 Activar un temporizador como retardo a la conexin con memoria (TONR): FC80 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Alarma de tiempo para control discreto (DCAT): FB81 . . . . . . . . . . . . . . . . Alarma de tiempo para control motor (MCAT): FB82 . . . . . . . . . . . . . . . . . Evento drum enmascarable (DRUM): FB85 . . . . . . . . . . . . . . . . . . . . . . . . .

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

vii

ndice

Funciones y bloques de funcin de conversin . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 6.10 Crear el patrn de bits para el display de 7 segmentos (SEG): FC93 . . . Convertir una cadena de caracteres ASCII en una cifra hexadecimal (ATH): FC94 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Convertir una cifra hexadecimal en una cadena de caracteres ASCII (HTA): FC95 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Codificar una posicin binaria (ENCO): FC96 . . . . . . . . . . . . . . . . . . . . . . . Decodificar una posicin binaria (DECO): FC97 . . . . . . . . . . . . . . . . . . . . . Generar el complemento a diez (BCDCPL): FC98 . . . . . . . . . . . . . . . . . . . Sumar la cantidad de bits activados (BITSUM): FC99 . . . . . . . . . . . . . . . . Escalar valores (SCALE): FC105 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Desescalar valores (UNSCALE): FC106 . . . . . . . . . . . . . . . . . . . . . . . . . . . . Algoritmo avance/retardo (LEAD_LAG): FB80 . . . . . . . . . . . . . . . . . . . . . . .

6-1 6-2 6-4 6-6 6-8 6-9 6-10 6-11 6-12 6-14 6-16 7-1 7-2 8-1 8-2 8-6

Funcin en coma flotante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1 Desviacin tpica (DEV): FC102 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Bloques de funcin de comparacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.1 8.2 Comparar ndice matriz (IMC): FB83 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Barrido de matriz (SMC): FB84 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Glosario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Glosario-1 ndice alfabtico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ndice-1

viii

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Funciones lgicas con bits

Este captulo describe las funciones (FC) lgicas con bits que puede aadir a las operaciones estndar de que ya dispone, aumentando as la flexibilidad en la programacin.

Apartado
1.1 1.2 1.3 1.4

Descripcin
Poner a cero un rea de periferia o de marcas en la imagen del proceso (RSET): FC82 Poner a cero inmediatamente un rea de salida (RSETI): FC100 Activar un rea de marcas o de periferia en la imagen del proceso (SET): FC83 Activar inmediatamente un rea de salida (SETI): FC101

Pgina
1-2 1-4 1-6 1-8

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

1-1

Funciones lgicas con bits

1.1

Poner a cero un rea de periferia o de marcas en la imagen del proceso (RSET): FC82

Descripcin

La funcin RSET pone a cero el estado de seal de todos los bits que estn dentro de un rea especificada, siempre que el bit MCR sea 1. Si el bit MCR es 0, el estado de seal de los bits de ese rea no cambia. El parmetro N indica la cantidad de bits del rea a desactivar. El puntero S_BIT apunta al primer bit de ese rea.

Parmetros

En la tabla 1-1 se describen los parmetros de la funcin Poner a cero un rea de periferia o de marcas en la imagen del proceso (RSET).
Parmetros de la funcin RSET (FC82) Declaracin Entrada Salida Entrada Entrada Tipo de datos BOOL BOOL Pointer* INT Area de memoria E, A, M, D, L E, A, M, D, L E, A, M, D E, A, M, D, L, P o constante Descripcin La entrada de habilitacin con estado de seal 1 activa el cuadro. La salida de habilitacin tiene el estado de seal 1 si la funcin se ejecuta sin errores. Apunta al primer bit del rea. Cantidad de bits a desactivar en el rea.

Tabla 1-1 Parmetro EN ENO S_BIT N

* Puntero en formato de palabra doble cuando se trata de direccionamiento interrea indirecto por registro.

1-2

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Funciones lgicas con bits

Informacin sobre errores

Si el puntero S_BIT apunta al rea de memoria de la periferia externa (memoria P) no cambia el estado de seal de ningn bit dentro del rea en cuestin, y el estado de seal de la salida de habilitacin (ENO) se pone a 0.

Ejemplo

La figura 1-1 muestra cmo opera la funcin RSET. La funcin se ejecuta cuando el estado de seal de la entrada E 0.0 es 1 (activada) y el bit MCR es 1. En este ejemplo, S_BIT apunta al primer bit en la direccin M0.0. El parmetro N indica que son 10 los bits a desactivar. Una vez que se ha ejecutado la funcin, se pone a cero el estado de seal de los 10 bits del rea comprendida entre M0.0 y M1.1. Si la funcin se ejecuta sin errores, los estados de seal de la salida de habilitacin (ENO) y de la salida A 4.0 se ponen a 1 (activadas).

E 0.0 P#M0.0 10

RSET FC82 EN ENO S_BIT N

A 4.0

antes de la ejecucin:
M0.7 1 M1.7 1 1 1 1 1 1 1 1 1 1 1 1 1 M0.0 1 M1.0 1

despus de la ejecucin:
M0.7 0 M1.7 1 1 1 1 1 1 0 0 0 0 0 0 0 M0.0 0 M1.0 0

Figura 1-1

Poner a cero un rea de periferia o de marcas en la imagen del proceso (RSET)

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

1-3

Funciones lgicas con bits

1.2

Poner a cero inmediatamente un rea de salida (RSETI): FC100

Descripcin

La funcin Poner a cero inmediatamente un rea de salida (RSETI) pone a cero el estado de seal de un rea de bytes cuando el bit MCR es 1. Si el bit MCR es 0, el estado de seal de los bits de ese rea no cambia. El puntero S_BYTE apunta al primer byte del rea: El parmetro N indica el tamao del rea; este tamao se expresa con la cantidad de bits del rea. Por ejemplo: si se quiere indicar un rea de 2 bytes, habr que darle a N el valor 16 (16 bits). Nota El valor de N tiene que ser mltiplo de ocho (por ej. 8, 16, 24, etc.).

El puntero S_BYTE debe indicar al rea de memoria de la periferia externa (memoria P). Dado que a la memoria P se accede por bytes, palabras y palabras dobles, S_BYTE debe apuntar a una direccin que sea lmite de byte, lo cual significa que el nmero de bit del puntero tiene que ser 0. Nota El estado de seal de los bits correspondientes en la imagen de proceso de las salidas (A) tambin se pone a 0.

Parmetros

En la tabla 1-2 se describen los parmetros de la funcin Poner a cero inmediatamente un rea de salida (RSETI).
Parmetros de la funcin RSETI (FC100) Declaracin Entrada Salida Entrada Entrada Tipo de datos BOOL BOOL Pointer* INT Area de memoria E, A, M, D, L E, A, M, D, L P E, A, M, D, L, P o constante Descripcin La entrada de habilitacin con estado de seal 1 activa el cuadro. La salida de habilitacin tiene el estado de seal 1 si la funcin se ejecuta sin errores. Apunta al primer byte del rea. Tamao del rea de bytes a desactivar, indicado por la cantidad de bits del rea (con un mltiplo de 8, por ej., 8, 16, 24, etc.).

Tabla 1-2 Parmetro EN ENO S_BYTE N

* Puntero en formato de palabra doble cuando se trata de direccionamiento interrea indirecto por registro.

1-4

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Funciones lgicas con bits

Informacin sobre errores

Si se cumple alguna de las condiciones siguientes, el estado de seal de todos los bits dentro del rea indicada permanece inalterado, y el estado de seal de la salida de habilitacin (ENO) se pone a cero.

El puntero S_BYTE apunta a un rea de memoria distinta de la periferia externa


(memoria P).

El puntero S_BYTE apunta a una direccin que no es un valor lmite de byte. El valor de N no es mltiplo de ocho.
Ejemplo La figura 1-2 muestra cmo opera la funcin RSETI. Si el estado de seal de la entrada E 0.0 es 1 (activada) y el bit MCR es 1, entonces se ejecuta la funcin RSETI. En este ejemplo, S_BYTE apunta al primer byte en la direccin P2.0. El parmetro N indica que son 16 los bits a desactivar, es decir, 2 bytes. Una vez que se ha ejecutado la funcin se pone a cero el estado de seal de los 16 bits del rea comprendida entre P2.0 y P3.7. Si la funcin se ejecuta sin errores, los estados de seal de la salida de habilitacin (ENO) y de la salida A 4.0 se ponen a 1 (activadas).

E 0.0 P#P2.0 16

RSETI FC100 EN ENO S_BYTE N

A 4.0

antes de la ejecucin:
P1.7 1 P2.7 1 P3.7 1 P4.7 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 P1.0 1 P2.0 1 P3.0 1 P4.0 1

despus de la ejecucin:
P1.7 1 P2.7 0 P3.7 0 P4.7 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 P1.0 1 P2.0 0 P3.0 0 P4.0 1

Figura 1-2

Poner a cero inmediatamente un rea de salida (RSETI)

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

1-5

Funciones lgicas con bits

1.3

Activar un rea de marcas o de periferia en la imagen del proceso (SET): FC83

Descripcin

La funcin SET activa el estado de seal de todos los bits dentro de un rea especificada, siempre que el bit MCR sea 1. Si el bit MCR es 0, el estado de seal de los bits de ese rea no cambia. El parmetro N indica la cantidad de bits a activar dentro del rea. El puntero S_BIT apunta al primer bit de ese rea.

Parmetros

En la tabla 1-3 se describen los parmetros de la funcin Activar un rea de marcas o de periferia en la imagen del proceso SET.
Parmetros de la funcin SET (FC83) Declaracin Entrada Salida Entrada Entrada Tipo de datos BOOL BOOL Pointer* INT Area de memoria E, A, M, D, L E, A, M, D, L E, A, M, D E, A, M, D, L, P o constante Descripcin La entrada de habilitacin con estado de seal 1 activa el cuadro. La salida de habilitacin tiene el estado de seal 1 si la funcin se ejecuta sin errores. Apunta al primer bit del rea. Cantidad de bits a activar en el rea.

Tabla 1-3 Parmetro EN ENO S_BIT N

* Puntero en formato de palabra doble cuando se trata de direccionamiento interrea indirecto por registro.

1-6

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Funciones lgicas con bits

Informacin sobre errores

Si el puntero S_BIT apunta al rea de memoria de la periferia externa (memoria P), no cambia el estado de seal de ningn bit dentro del rea en cuestin, y el estado de seal de la salida de habilitacin (ENO) se pone a 0.

Ejemplo

La figura 1-3 muestra cmo opera la funcin Activar un rea de marcas o de periferia en la imagen del proceso (SET). Si el estado de seal de la entrada E 0.0 es 1 (activada) y el bit MCR es 1, entonces se ejecuta la funcin. En este ejemplo, S_BIT apunta al primer bit en la direccin M0.0. El parmetro N indica que son 10 los bits a desactivar. Una vez que se ha ejecutado la funcin se pone a 1 el estado de seal de los 10 bits del rea comprendida entre M0.0 y M1.1. Si la funcin se ejecuta sin errores, los estados de seal de la salida de habilitacin (ENO) y de la salida A 4.0 se ponen a 1 (activadas).

E 0.0 EN P#M0.0 10

SET FC83 ENO S_BIT N

A 4.0

antes de la ejecucin:
M0.7 0 0 M1.7 0 0 0 0 0 0 0 M0.0 0 M1.0 0

despus de la ejecucin:
M0.7 1 1 M1.7 0 0 0 0 0 0 1 M0.0 1 M1.0 1

Figura 1-3

Activar un rea de marcas o de periferia en la imagen del proceso (SET)

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

1-7

Funciones lgicas con bits

1.4

Activar inmediatamente un rea de salida (SETI): FC101

Descripcin

La funcin Activar inmediatamente un rea de salida (SETI) activa el estado de seal de todos los bits dentro de un rea de bytes especificada, siempre que el bit MCR sea 1. Si el bit MCR es 0, el estado de seal de los bytes de ese rea no cambia. El puntero S_BYTE apunta al primer byte de ese rea. La entrada N indica el tamao del rea; este tamao se expresa con la cantidad de bits que contiene el rea; por ejemplo: si se quiere indicar un rea de 2 bytes, habr que darle a N el valor 16 (16 bits). Nota El valor de N tiene que ser mltiplo de ocho (por ej. 8, 16, 24, etc.).

El puntero S_BYTE debe apuntar al rea de memoria de la periferia externa (memoria P). Dado que a la memoria P se accede por bytes, palabras y palabras dobles, S_BYTE debe apuntar a una direccin que sea lmite de byte, lo cual significa que el nmero de bit del puntero tiene que ser 0. Nota El estado de seal de los bits correspondientes en la imagen de proceso de las salidas (A) tambin se pone a 0.

Parmetros

En la tabla 1-4 se describen los parmetros de la funcin Activar inmediatamente un rea de salida(SETI).
Parmetros de la funcin SETI (FC101) Declaracin Entrada Salida Entrada Entrada Tipo de datos BOOL BOOL Pointer* INT Area de memoria E, A, M, D, L E, A, M, D, L P E, A, M, D, L, P o constante Descripcin La entrada de habilitacin con estado de seal 1 activa el cuadro. La salida de habilitacin tiene el estado de seal 1 si la funcin se ejecuta sin errores. Apunta al primer byte del rea. Tamao del rea de bytes a desactivar, indicado por la cantidad de bits del rea (con un mltiplo de 8, por ej., 8, 16, 24, etc.).

Tabla 1-4 Parmetro EN ENO S_BYTE N

* Puntero en formato de palabra doble cuando se trata de direccionamiento interrea indirecto por registro.

1-8

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Funciones lgicas con bits

Informacin sobre errores

Si se cumple una de las condiciones siguientes, el estado de seal de todos los bits dentro del rea indicada permanece inalterado, y el estado de seal de la salida de habilitacin (ENO) se pone a cero.

El puntero S_BYTE apunta a un rea de memoria distinta de la periferia externa


(memoria P).

El puntero S_BYTE apunta a una direccin que no es un valor lmite de byte. El valor de N no es mltiplo de ocho.
Ejemplo La figura 1-4 muestra cmo opera la funcin Activar inmediatamente un rea de salida (SETI). Si el estado de seal de la entrada E 0.0 es 1 (activada) y el bit MCR es 1, entonces se ejecuta la funcin SETI. En este ejemplo, S_BYTE apunta al primer byte en la direccin P 2.0. El parmetro N indica que son 16 los bits a desactivar, es decir, 2 bytes. Una vez que se ha ejecutado la operacin se activa el estado de seal de los 16 bits del rea comprendida entre P2.0 y P3.7, es decir, se ponen a 1. Si la funcin se ejecuta sin errores, los estados de seal de la salida de habilitacin (ENO) y de la salida A 4.0 se ponen a 1 (activadas).

E 0.0 P#P2.0 16

SETI FC101 EN ENO S_BYTE N

A 4.0

antes de la ejecucin:
P1.7 0 0 0 0 0 0 0 P1.0 0

despus de la ejecucin:
P1.7 0 0 0 0 0 0 0 P1.0 0

P2.7 0 0 P3.7 0 P4.7 0 0 0

P2.0 0 0 P3.0

P2.7 1 1 P3.7 1 P4.7 0 0 1

P2.0 1 1 P3.0

0 P4.0

1 P4.0

Figura 1-4

Activar inmediatamente un rea de salida (SETI)

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

1-9

Funciones lgicas con bits

1-10

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Funciones de tabla

2
Descripcin Pgina
2-2 2-4 2-6 2-9 2-11 2-13 2-15 2-17 2-19

Este captulo describe las funciones (FC) de tabla que puede aadir a las operaciones estndar para aumentar la flexibilidad de la programacin.

Apartado
2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9

Aadir un elemento a una tabla (ATT): FC84 Extraer el elemento ms antiguo de una tabla (FIFO): FC85 Buscar un valor en una tabla (TBL_FIND): FC86 Extraer el elemento ms reciente de una tabla (LIFO): FC87 Realizar una operacin en una tabla (TBL): FC88 Copiar un valor de una tabla (TBL_WRD): FC89 Combinar lgicamente un valor con un elemento de una tabla y almacenarlo (WRD_TBL): FC91 Tabla de datos correlativos (CDT): FC103 Enlace lgico de tablas (TBL_TBL): FC104

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

2-1

Funciones de tabla

2.1

Aadir un elemento a una tabla (ATT): FC84

Descripcin

La funcin Aadir un elemento a una tabla ATT aade el contenido del parmetro DATA como siguiente elemento de una tabla, e incrementa en uno el registro que indica la cantidad de elementos de esa tabla. La tabla est compuesta por palabras. Esta funcin permite aadir elementos en tablas que se utilicen con las funciones FIFO y LIFO.

El primer registro de la tabla FIFO o LIFO indica la cantidad mxima de elementos que puede contener la tabla (longitud de tabla).

El segundo registro de la tabla indica la cantidad de elementos que contiene la


tabla actualmente.

El tercer registro contiene la primera palabra de datos.


Nota Cuando cree la tabla debe inicializar los dos primeros registros.

Parmetros

En la tabla 2-1 se describen los parmetros de la funcin Aadir un elemento a una tabla (ATT).
Parmetros de la funcin ATT (FC84) Declaracin Entrada Salida Entrada Entrada Tipo de datos BOOL BOOL WORD Pointer* Area de memoria E, A, M, D, L E, A, M, D, L E, A, M, D, L, P o constante E, A, M, D Descripcin La entrada de habilitacin con estado de seal 1 activa el cuadro. La salida de habilitacin tiene el estado de seal 1 si la funcin se ejecuta sin errores. Datos a aadir a la tabla. Apunta al comienzo de la tabla FIFO o LIFO.

Tabla 2-1 Parmetro EN ENO DATA TABLE

* Puntero en formato de palabra doble cuando se trata de direccionamiento interrea indirecto por registro.

2-2

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Funciones de tabla

Informacin sobre errores

Si la cantidad de elementos es igual o mayor que la longitud de tabla, entonces no se aade el parmetro DATA (= nuevo elemento) a la tabla, y el estado de seal de la salida de habilitacin (ENO) se pone a cero.

Ejemplo

La figura 2-1 muestra cmo opera la funcin Aadir un elemento a una tabla ATT. La funcin se ejecuta cuando el estado de seal en la entrada E 0.0 es 1 (activada). En este ejemplo se aade el contenido del parmetro DATA como quinto elemento de la tabla, y se incrementa el registro que indica la cantidad de elementos de 4 a 5. Si la funcin se ejecuta sin errores, los estados de seal de la salida de habilitacin (ENO) y de la salida A4.0 se ponen a 1 (activadas).

E 0.0 EN W#16#0024 P#DB1.DBX10.0

ATT FC84 ENO DATA TABLE

A 4.0

Antes de la ejecucin:
Tabla (long. de tabla) cantidad de elementos DBW10 DBW12 DBW14 DBW16 DBW18 DBW20 DBW22 DBW24 = = = = = = = = W#16#0006 W#16#0004 W#16#0012 W#16#0029 W#16#0090 W#16#0002 W#16#0000 W#16#0000

Despus de la ejecucin:
Tabla (long. de tabla) cantidad de elementos DBW10 DBW12 DBW14 DBW16 DBW18 DBW20 DBW22 DBW24 = = = = = = = = W#16#0006 W#16#0005 W#16#0012 W#16#0029 W#16#0090 W#16#0002 W#16#0024 W#16#0000

Figura 2-1

Aadir un elemento a una tabla (ATT)

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

2-3

Funciones de tabla

2.2

Extraer el elemento ms antiguo de una tabla (FIFO): FC85

Descripcin

La funcin Extraer el elemento ms antiguo de una tabla FIFO (del ingls First In / First Out) extrae el elemento ms antiguo de una tabla FIFO, devolvindolo como valor de respuesta de la funcin. La cantidad de elementos de la tabla se decrementa en uno y, si an siguen quedando elementos dentro de la tabla, son desplazados hacia abajo. La tabla FIFO est compuesta por palabras. Aplicando la funcin ATT puede aadir elementos a la tabla FIFO.

El primer registro de la tabla indica la cantidad mxima de elementos que puede


tener (longitud de tabla).

El segundo registro de la tabla indica la cantidad de elementos que contiene la


tabla actualmente.

El tercer registro contiene la primera palabra de datos


Parmetros En la tabla 2-2 se describen los parmetros de la funcin Extraer el elemento ms antiguo de una tabla FIFO.
Parmetros de la funcin FIFO (FC85) Declaracin Entrada Salida Entrada Salida Tipo de datos BOOL BOOL Pointer* WORD Area de memoria E, A, M, D, L E, A, M, D, L E, A, M, D E, A, M, D, L, P Descripcin La entrada de habilitacin con estado de seal 1 activa el cuadro. La salida de habilitacin tiene el estado de seal 1 si la funcin se ejecuta sin errores. Apunta al comienzo de la tabla FIFO. Entrada ms antigua de la tabla FIFO.

Tabla 2-2 Parmetro EN ENO TABLE RET_VAL

* Puntero en formato de palabra doble cuando se trata de direccionamiento interrea indirecto por registro.

2-4

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Funciones de tabla

Informacin sobre errores

Si la tabla FIFO est vaca (nmero de elementos = 0), el valor de respuesta RET_VAL no cambia, y el estado de seal de la salida de habilitacin (ENO) se pone a cero.

Ejemplo

La figura 2-2 muestra cmo opera la funcin Extraer el elemento ms antiguo de una tabla (FIFO). Si el estado de seal de la entrada E 0.0 es 1 (activada) se ejecuta la funcin. En este ejemplo, el valor que se extrae como valor de la funcin es MW2, ya que ste corresponde al elemento ms antiguo de la tabla. La cantidad de elementos es decrementada de 5 a 4, y los elementos que quedan son desplazados hacia abajo dentro de la tabla. Si la funcin se ejecuta sin errores, los estados de seal de la salida de habilitacin (ENO) y de la salida A4.0 se ponen a 1.

E 0.0 EN P#DB1.DBX10.0

FIFO FC85 ENO TABLE RET_VAL MW2

A 4.0

Antes de la ejecucin:
Tabla (long. de tabla) cantidad de elementos DBW10 DBW12 DBW14 DBW16 DBW18 DBW20 DBW22 DBW24 MW2 = = = = = = = = W#16#0006 W#16#0005 W#16#0012 W#16#0029 W#16#0090 W#16#0002 W#16#0024 W#16#0000

RET_VAL

= W#16#0000

Despus de la ejecucin:
Tabla (long. de tabla) cantidad de elementos DBW10 DBW12 DBW14 DBW16 DBW18 DBW20 DBW22 DBW24 MW2 = = = = = = = = W#16#0006 W#16#0004 W#16#0029 W#16#0090 W#16#0002 W#16#0024 W#16#0024 W#16#0000

RET_VAL

= W#16#0012

Figura 2-2

Extraer el elemento ms antiguo de una tabla (FIFO)

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

2-5

Funciones de tabla

2.3

Buscar un valor en una tabla (TBL_FIND): FC86

Descripcin

La funcin Buscar un valor en una tabla TBL_FIND sirve para buscar un patrn diferente o para buscar un patrn no coherente en un bloque de memoria. Esta funcin ejecuta la orden de comparacin (CMD) entre el patrn fuente (PATRN) y los elementos de la tabla fuente (SRC). La funcin busca (a partir del elemento indizado en INDX) el primer elemento de la tabla que cumpla las condiciones de la comparacin, y deposita su nmero en INDX. Caso de no encontrar ningn elemento que cumpla dichas condiciones, el parmetro INDX indica ms all del final de la tabla, y se desactiva la salida de la funcin.

Si CMD = 1, la funcin busca el primer valor que es igual al valor de PATRN. Si CMD = 2, la funcin busca el primer valor distinto del valor de PATRN. El primer registro de la tabla indica la cantidad mxima de elementos que puede
haber en la tabla (longitud de la tabla).

El segundo registro contiene el primer elemento de la tabla.


Nota Debe inicializar el primer registro (longitud de la tabla) de la tabla.

2-6

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Funciones de tabla

Parmetros

En la tabla 2-3 se describen los parmetros de la funcin Buscar un valor en una tabla (TBL_FIND).
Parmetros de la funcin TBL_FIND (FC86) Declaracin Entrada Salida Entrada Entrada Entrada Tipo de datos BOOL BOOL Pointer* Pointer* BYTE Area de memoria E, A, M, D, L E, A, M, D, L E, A, M, D E, A, M, D E, A, M, D, L, P Descripcin La entrada de habilitacin con estado de seal 1 activa el cuadro. La salida de habilitacin tiene el estado de seal 1 si la funcin se ejecuta sin errores. Apunta al comienzo de la tabla. Apunta al patrn que hay que buscar. Indica el tipo de operacin a ejecutar: B#16#01 = igual que B#16#02 = distinto de Indica el tipo de datos de los elementos de la tabla. La funcin TBL_FIND admite los siguientes tipos de datos: B#16#02 = BYTE B#16#04 = WORD B#16#05 = INT B#16#06 = DWORD B#16#07 = DINT B#16#08 = REAL Da el valor W#16#0000 cuando la funcin se ejecuta sin errores; si los valores son distintos de W#16#0000, vase la informacin sobre errores. Indice de la tabla que seala: Entrada: nmero del elemento donde debe empezar la bsqueda Salida: nmero del elemento que cumple la condicin

Tabla 2-3 Parmetro EN ENO SRC PATRN CMD

E_TYPE

Entrada

BYTE

E, A, M, D, L, P

RET_VAL

Salida

WORD

E, A, M, D, L, P

INDX

Entrada_Salida

WORD

E, A, M, D, L

* Puntero en formato de palabra doble cuando se trata de direccionamiento interrea indirecto por registro.

Informacin sobre errores

Si se cumple alguna de las condiciones enumeradas en la tabla 2-4 no se modifican los valores de la tabla. El estado de seal de la salida de habilitacin (ENO) se pone a cero y el valor de respuesta se ajusta como corresponde (vase tabla 2-4).
Tabla 2-4 RET_VAL W#16#0008 W#16#0009 Condiciones de error en la funcin FC86 Significado No se han encontrado valores que cumplan la condicin. Los parmetros E_TYPE y/o CMD no son vlidos.

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

2-7

Funciones de tabla

Ejemplo

La figura 2-3 muestra cmo opera la funcin Buscar un valor en una tabla (TBL_FIND). La funcin se ejecuta cuando el estado de seal de la entrada E 0.0 es 1 (activada). En este ejemplo, al ser 4 el tipo de datos (E_TYPE = 04), los datos se almacenan en la tabla en palabras a partir del elemento al que apunta el parmetro SRC. Estas palabras se comparan con el valor del patrn 5555, que est almacenado en la direccin indicada por PATRN. Como el parmetro CMD tiene en el ejemplo el valor 1, la bsqueda localiza el primer valor de la tabla en SRC que sea igual que el valor del patrn. El valor INDX apunta al elemento donde debe comenzar la bsqueda. Una vez que se ha ejecutado la operacin, el parmetro INDX indica el nmero del elemento que cumple la condicin de bsqueda. Si la funcin se ejecuta sin errores, los estados de seal de la salida de habilitacin (ENO) y de la salida A4.0 se ponen a 1 (activadas), y el valor de respuesta (RET_VAL) toma el valor W#16#0000.

E 0.0 EN P#DB1.DBX0.0 P#DB2.DBX10.0 B#16#01 B#16#04 MW2 SRC

TBL_FIND FC86 ENO RET_VAL MW0

A 4.0 El primer registro de la tabla indica la longitud de la operacin de bsqueda. El valor 0004 hace que se busquen en los siguientes 4 elementos de la tabla. El parmetro INDX pasa de DW0 (antes de la ejecucin) a DW6 (despus de la ejecucin), porque el patrn en la direccin DW6 corresponde con el patrn 5555 en la direccin de puntero PATRN.

PATRN CMD E_TYPE INDX

Antes de la ejecucin:
SRC (long. de tabla) DBW0 DBW2 DBW4 DBW6 DBW8 MW2 = = = = = W#16#0004 W#16#1111 W#16#3333 W#16#5555 W#16#7777

INDX PATRN

= W#16#0000

DBW10 = W#16#5555

Despus de la ejecucin:
INDX Figura 2-3 Buscar un valor en una tabla (TBL_FIND) MW2 = W#16#0003

2-8

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Funciones de tabla

2.4

Extraer el elemento ms reciente de una tabla (LIFO): FC87

Descripcin

La funcin Extraer el elemento ms reciente de una tabla LIFO (del ingls Last In / First Out) extrae el elemento ms nuevo de una tabla LIFO, devolvindolo como valor de respuesta de la funcin. La cantidad de elementos de la tabla se decrementa en uno. La tabla FIFO est compuesta por palabras. Aplicando la funcin ATT puede aadir elementos a la tabla LIFO.

El primer registro de la tabla indica la cantidad mxima de elementos que puede


tener (longitud de tabla).

El segundo registro de la tabla indica la cantidad de elementos que contiene la


tabla actualmente.

El tercer registro contiene la primera palabra de datos.


Parmetros En la tabla 2-5 se describen los parmetros de la funcin Extraer el elemento ms reciente de una tabla LIFO.
Parmetros de la funcin LIFO (FC87) Declaracin Entrada Salida Entrada Salida Tipo de datos BOOL BOOL Pointer* WORD Area de memoria E, A, M, D, L E, A, M, D, L E, A, M, D E, A, M, D, L, P Descripcin La entrada de habilitacin con estado de seal 1 activa el cuadro. La salida de habilitacin tiene el estado de seal 1 si la funcin se ejecuta sin errores. Apunta al comienzo de la tabla LIFO. Elemento ms reciente que se ha extrado de la tabla LIFO.

Tabla 2-5 Parmetro EN ENO TABLE RET_VAL

* Puntero en formato de palabra doble cuando se trata de direccionamiento interrea indirecto por registro.

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

2-9

Funciones de tabla

Informacin sobre errores

Si la tabla LIFO est vaca (nmero de elementos = 0), entonces el valor de respuesta RET_VAL no cambia, y el estado de seal de la salida de habilitacin (ENO) se pone a cero.

Ejemplo

La figura 2-4 muestra cmo opera la funcin Extraer el elemento ms reciente de una tabla LIFO. La funcin se ejecuta cuando el estado de seal de la entrada E 0.0 es 1 (activada). En este ejemplo, el valor que se extrae como valor de la funcin es MW2, ya que ste corresponde al elemento ms nuevo de la tabla, es decir, al ltimo elemento que se introdujo en la tabla. La cantidad de elementos es decrementada de 5 a 4. Si la funcin se ejecuta sin errores, los estados de seal de la salida de habilitacin (ENO) y de la salida A4.0 se ponen a 1.

E 0.0 EN P#DB1.DBX10.0

LIFO FC87 ENO

A 4.0

TABLE RET_VAL MW2

Antes de la ejecucin:
Tabla (long. de tabla) cantidad de elementos DBW10 DBW12 DBW14 DBW16 DBW18 DBW20 DBW22 DBW24 MW2 = = = = = = = = W#16#0006 W#16#0005 W#16#0012 W#16#0029 W#16#0090 W#16#0002 W#16#0024 W#16#0000

RET_VAL

= W#16#0000

Despus de la ejecucin:
Tabla (long. de tabla) cantidad de elementos DBW10 DBW12 DBW14 DBW16 DBW18 DBW20 DBW22 DBW24 MW2 = = = = = = = = W#16#0006 W#16#0004 W#16#0012 W#16#0029 W#16#0090 W#16#0002 W#16#0024 W#16#0000

RET_VAL

= W#16#0024

Figura 2-4

Extraer el elemento ms reciente de una tabla (LIFO)

2-10

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Funciones de tabla

2.5

Realizar una operacin en una tabla (TBL): FC88

Descripcin

La funcin Realizar una operacin en una tabla TBL realiza en la tabla fuente la operacin especificada en el parmetro CMD, y escribe el resultado de la operacin en el mismo elemento de la tabla.

El primer registro de la tabla indica la cantidad mxima de elementos que puede


tener (longitud de tabla).

El segundo registro de la tabla indica la cantidad de elementos que contiene la


tabla actualmente.

Si el tipo de datos (E_TYPE) se ha ajustado a REAL, el valor del parmetro


CMD para la operacin de complementar a uno no es vlido. Nota Al crear la tabla tiene que inicializar el primer registro.

Parmetros

En la tabla 2-6 se describen los parmetros de la funcin Realizar una operacin en una tabla (TBL).
Parmetros de la funcin TBL (FC88) Declaracin Entrada Salida Entrada Entrada Tipo de datos BOOL BOOL Pointer* BYTE Area de memoria E, A, M, D, L E, A, M, D, L E, A, M, D E, A, M, D, L, P Descripcin La entrada de habilitacin con estado de seal 1 activa el cuadro. La salida de habilitacin tiene el estado de seal 1 si la funcin se ejecuta sin errores. Apunta al comienzo de la tabla. Indica el tipo de operacin a ejecutar. Las operaciones vlidas y sus valores son: B#16#03 = complementar a uno B#16#04 = borrar B#16#05 = negar B#16#06 = raz cuadrada Indica el tipo de datos de los elementos de la tabla. Los tipos vlidos para la funcin TBL son: B#16#04 = WORD B#16#05 = INT B#16#06 = DWORD B#16#07 = DINT B#16#08 = REAL Da el valor W#16#0000 si la funcin se ejecuta sin errores; acerca de otros valores vase la informacin sobre errores.

Tabla 2-6 Parmetro EN ENO SRC CMD

E_TYPE

Entrada

BYTE

E, A, M, D, L, P

RET_VAL

Salida

WORD

E, A, M, D, L, P

* Puntero en formato de palabra doble cuando se trata de direccionamiento interrea indirecto por registro.

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

2-11

Funciones de tabla

Informacin sobre errores

Los valores de la tabla no se modificarn si CMD o E_TYPE no son vlidos, y tampoco cuando CMD y E_TYPE no sean compatibles. En estos casos, el estado de seal de la salida de habilitacin (ENO) se pone a cero y el valor de respuesta (RET_VAL) toma el valor W#16#0008.

Ejemplo

La figura 2-5 muestra cmo opera la funcin Realizar una operacin en una tabla (TBL). La funcin se ejecuta cuando el estado de seal de la entrada E 0.0 es 1 (activada). En este ejemplo, el puntero SRC indica las direcciones del bloque de datos con el que se va a ejecutar la funcin. Al ser 4 el tipo de datos (E_TYPE = 04), los datos se almacenan en la tabla en las palabras a partir del elemento al que apunta el parmetro SRC. Como el valor del parmetro CMD es 4 (borrar), al ejecutarse la funcin son borradas (puestas a cero) todas las palabras de la tabla. En este caso, el primer registro de la tabla, que indica la longitud de la misma, tiene el valor 5, por lo que se borrarn las siguientes cinco palabras de la tabla. Si la funcin se ejecuta sin errores, los estados de seal de la salida de habilitacin (ENO) y de la salida A4.0 se ponen a 1 (activadas), y RET_VAL toma el valor W#16#0000.

E 0.0 EN P#DB1.DBX0.0 B#16#04 B#16#04 SRC CMD

TBL FC88 ENO RET_VAL MW0

A 4.0

E_TYPE

Antes de la ejecucin:
SRC (longitud de tabla) DBW0 DBW2 DBW4 DBW6 DBW8 DBW10 = = = = = = W#16#0005 W#16#2000 W#16#3000 W#16#4000 W#16#5000 W#16#6000

Despus de la ejecucin:
SRC (longitud de tabla) DBW0 DBW2 DBW4 DBW6 DBW8 DBW10 =W#16#0005 =W#16#0000 =W#16#0000 =W#16#0000 =W#16#0000 =W#16#0000

Figura 2-5

Realizar una operacin en una tabla (TBL)

2-12

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Funciones de tabla

2.6

Copiar un valor de una tabla (TBL_WRD): FC89

Descripcin

La funcin Copiar un valor de una tabla (TBL_WRD) copia el registro indicado por el parmetro INDX desde la tabla SRC al registro destino al que indica el puntero DEST; a continuacin incrementa el valor de INDX siempre que ste fuera menor que la longitud mxima de la tabla, indicada en la primera palabra de la misma, SRC [0]. En caso de que INDX indique el ltimo elemento de la tabla cuando se llama a la funcin, el bit de la salida A se pone a cero tras ejecutarse la funcin.

El primer registro de la tabla indica la cantidad mxima de elementos que puede


tener (longitud de tabla).

El segundo registro indica el primer elemento de la tabla.


Nota Cuando cree la tabla debe inicializar el primer registro.

Parmetros

En la tabla 2-7 se describen los parmetros de la funcin Copiar un valor de una tabla (TBL_WRD).
Parmetros de la funcin TBL_WRD (FC89) Declaracin Tipo de datos BOOL BOOL Pointer* Pointer* BYTE Area de memoria E, A, M, D, L E, A, M, D, L E, A, M, D E, A, M, D E, A, M, D, L, P Descripcin La entrada de habilitacin con estado de seal 1 activa el cuadro. La salida de habilitacin tiene el estado de seal 1 si la funcin se ejecuta sin errores. Apunta al comienzo de la tabla. Apunta al registro de destino. Indica el tipo de datos que tienen los elementos de la tabla. Los tipos vlidos para la funcin TBL_WRD son: B#16#04 = WORD B#16#05 = INT B#16#06 = DWORD B#16#07 = DINT B#16#08 = REAL Da el valor W#16#0000 si la funcin se ejecuta sin errores; acerca de otros valores vase la informacin sobre errores. Indica 0 si la variable INDX contiene el ltimo elemento de la tabla cuando se llama a la funcin. Nmero del elemento a copiar.

Tabla 2-7 Parmetro EN ENO SRC DEST E_TYPE

Entrada Salida Entrada Entrada Entrada

RET_VAL

Salida

WORD

E, A, M, D, L, P

Q INDX

Salida Entrada_Salida

BOOL WORD

A, M, D, L E, A, M, L

* Puntero en formato de palabra doble cuando se trata de direccionamiento interrea indirecto por registro.

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

2-13

Funciones de tabla

Informacin sobre errores

La funcin no ser ejecutada si se da una de las condiciones enumeradas en la tabla 2-8. En esos casos, el estado de seal de la salida de habilitacin (ENO) se pone a 0 y el valor de respuesta (RET_VAL) se ajusta como corresponde.
Tabla 2-8 RET_VAL W#16#0007 W#16#0008 W#16#0009 INDX es 0. El tipo de datos (E_TYPE) no es vlido. INDX est ms all del final de la tabla. Condiciones de error en la funcin FC89 Significado

Ejemplo

La figura 2-6 muestra cmo opera la funcin TBL_WRD. La funcin se ejecuta cuando el estado de seal de la entrada E 0.0 es 1 (activada). Al ser 4 el tipo de datos (E_TYPE = 04), en el elemento apuntado por DEST se copia la palabra que est almacenada en la tabla a partir de la direccin a la que apunta SRC. El valor de INDX apunta al elemento de la tabla que va a ser copiado. Despus de haberse ejecutado satisfactoriamente la funcin, el valor de INDX se incrementa automticamente en uno, de modo que tras este incremento apunte al elemento que sigue al que se ha copiado. En este ejemplo, al llamar a la funcin, INDX no indica el ltimo elemento de la tabla, por lo que la salida A se pone a 1 tras ejecutarse la funcin. Si la funcin se ejecuta sin errores, los estados de seal de la salida de habilitacin (ENO) y de la salida A4.0 se ponen a 1 (activadas), y el valor de respuesta (RET_VAL) toma el valor W#16#0000.

E 0.0

TBL_WRD FC89 EN ENO RET_VAL MW0 M2.0 SRC DEST E_TYPE INDX

A 4.0

P#DB1.DBX0.0 P#DB2.DBX20.0 B#16#04 MW1

Antes de la ejecucin: SRC (longitud de tabla) DBW0 DBW2 DBW4 DBW6 DBW8
INDX DEST INDX DEST Figura 2-6 MW1

= = = = =

W#16#0004 W#16#2000 W#16#3000 W#16#4000 W#16#5000

= W#16#0001

DBW20 = W#16#0000

Despus de la ejecucin: MW1 = W#16#0002


DBW20 = W#16#2000

Copiar un valor de una tabla (TBL_WRD)

2-14

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Funciones de tabla

2.7

Combinar lgicamente un valor con un elemento de una tabla y almacenarlo (WRD_TBL): FC91

Descripcin

La funcin Combinar lgicamente un valor con un elemento de una tabla y almacenarlo (WRD_TBL) ejecuta la operacin (CMD) indicada con el elemento fuente (apuntado por SRC) y el elemento de la tabla en el offset (desplazamiento) que indica INDX. La funcin incrementa a continuacin el valor de INDX siempre que dicho valor sea menor que la longitud de la tabla.

El primer registro de la tabla indica la cantidad mxima de elementos que puede


haber en la tabla (longitud de la tabla).

El segundo registro contiene el primer elemento de la tabla. Si E_TYPE es REAL, entonces CMD slo puede ser Move.
Nota Al crear la tabla debe inicializar el primer registro.

Parmetros

En la tabla 2-9 se describen los parmetros de la funcin Combinar lgicamente un valor con un elemento de una tabla y almacenarlo (WRD_TBL).
Parmetros de la funcin WRD_TBL (FC91) Declaracin Tipo de datos BOOL BOOL Pointer* Pointer* BYTE Area de memoria E, A, M, D, L E, A, M, D, L E, A, M, D E, A, M, D E, A, M, D, L, P Descripcin La entrada de habilitacin con estado de seal 1 activa el cuadro. La salida de habilitacin tiene el estado de seal 1 si la funcin se ejecuta sin errores. Apunta al elemento fuente. Apunta al comienzo de la tabla. Indica qu operacin debe ejecutarse. Las operaciones vlidas y sus valores correspondientes son: B#16#0E = copiar B#16#07 = operacin lgica Y B#16#08 = operacin lgica O B#16#09 = operacin lgica O EXCLUSIVA Indica el tipo de los datos (elementos) de la tabla. Los tipos vlidos para la funcin WRD_TBL son los siguientes: B#16#04 = WORD B#16#05 = INT B#16#06 = DWORD B#16#07 = DINT B#16#08 = REAL Da el valor W#16#0000 cuando la funcin se ejecuta sin errores; si los valores son distintos de W#16#0000 vase la informacin sobre errores. Indica 0 cuando el valor de INDX es el del ltimo elemento de la tabla. Nmero del elemento con el que se va a operar.

Tabla 2-9 Parmetro EN ENO SRC TABLE CMD

Entrada Salida Entrada Entrada Entrada

E_TYPE

Entrada

BYTE

E, A, M, D, L, P

RET_VAL

Salida

WORD

E, A, M, D, L, P

Q INDX

Salida Entrada_Salida

BOOL WORD

A, M, D, L E, A, M, D, L

* Puntero en formato de palabra doble cuando se trata de direccionamiento interrea indirecto por registro.

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

2-15

Funciones de tabla

Informacin sobre errores

La funcin no se ejecutar si se da alguna de las condiciones enumeradas en la tabla 2-10. El estado de seal de la salida de habilitacin (ENO) se pone a cero y el valor de respuesta (RET_VAL) se ajusta como corresponde.
Tabla 2-10 RET_VAL W#16#0007 W#16#0008 El valor del ndice es 0. CMD o E_TYPE no son vlidos, o CMD y E_TYPE no son compatibles. INDX est ms all del final de la tabla. Condiciones de error en la funcin FC91 Significado

W#16#0009

Ejemplo

La figura 2-7 muestra cmo opera la funcin Combinar lgicamente un valor con un elemento de una tabla y almacenarlo (WRD_TBL). La funcin se ejecuta cuando el estado de seal de la entrada E 0.0 es 1 (activada). Al ser 6 el tipo de datos (E_TYPE = 06), los datos se almacenan en la tabla en palabras a partir de la direccin a la que apunta TABLE. La primera palabra de la tabla indica la longitud de la misma, en este caso tres palabras dobles. El valor de INDX apunta al elemento de la tabla que va a ser procesado. El valor de CMD es 8, por lo que se ejecutar una operacin lgica O. Como el valor apuntado por INDX es 2, dicha operacin se ejecuta con la segunda palabra doble (66665544) y con el valor apuntado por SRC (11111111). Una vez realizada, se vuelve a escribir en la tabla el resultado de la operacin lgica O (77775555), y el valor de INDX se incrementa automticamente en uno. Si el valor de INDX indicaba el ltimo elemento de la tabla al llamar a la funcin, la salida A se pone a 0 despus de ejecutar la funcin. Dicha condicin no se da en este ejemplo, por lo que la salida A se pone a 1 despus de la ejecucin. Si la funcin se ejecuta sin errores, los estados de seal de la salida de habilitacin (ENO) y de la salida A4.0 se ponen a 1 (activadas), y el valor de respuesta (RET_VAL) toma el valor W#16#0000.
WRD_TBL FC91 EN ENO SRC TABLE CMD E_TYPE INDX RET_VAL Q MW0 M2.0

E 0.0 P#DB2.DBX20.0 P#DB1.DBX0.0 B#16#08 B#16#06 MW1

A 4.0

Antes de la ejecucin: SRC DBD20 = DW#16#11111111 TABLE (long. de tabla) DBW0 = W#16#0003 DBD2 = DW#16#99998877 DBD6 = DW#16#66665544 DBD10 = DW#16#33332222
MW1 = W#16#0002 Despus de la ejecucin: TABLE (long. de tabla) DBW0 = W#16#0003 DBD2 = DW#16#99998877 DBD6 = DW#16#77775555 DBD10 = DW#16#33332222 INDX Figura 2-7 MW1 = W#16#0003 INDX

Combinar lgicamente un valor con un elemento de una tabla y almacenarlo (WRD_TBL)

2-16

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Funciones de tabla

2.8

Tabla de datos correlativos (CDT): FC103

Descripcin

La funcin Tabla de Datos Correlativos (CDT) compara un valor de entrada (IN) con una tabla de valores de entrada (IN_TBL) preexistente y localiza el primer valor de esa tabla que sea igual o mayor que el valor de entrada especificado. Una vez localizado, el ndice de dicho valor se utiliza para copiar el valor correlativo de la tabla de salidas (OUT_TBL) en el valor de salida (OUT).

Los valores de la tabla de entradas tienen que estar en orden creciente, es decir,
el primer elemento de la tabla es el menor, y el ltimo el mayor.

El tamao del valor de entrada, de los valores de la tabla y del valor de salida los
determina el parmetro E_TYPE.

El primer registro de la tabla indica la cantidad de elementos que tiene la tabla


(longitud de la tabla).

El segundo registro contiene el primer elemento de la tabla. La cantidad de elementos tiene que ser la misma en ambas tablas y mayor que
cero. Nota Al crear las tablas debe inicializar el primer registro de cada tabla.

Parmetros

En la tabla 2-11 se describen los parmetros de la funcin Tabla de Datos Correlativos (CDT).
Parmetros de la funcin CDT (FC103) Declaracin Entrada Salida Entrada Entrada Entrada Entrada Entrada Tipo de datos BOOL BOOL Pointer* Pointer* Pointer* Pointer* BYTE Area de memoria E, A, M, D, L E, A, M, D, L E, A, M, D E, A, M, D E, A, M, D E, A, M, D E, A, M, D, L, P Descripcin La entrada de habilitacin con estado de seal 1 activa el cuadro. La salida de habilitacin tiene el estado de seal 1 si la funcin se ejecuta sin errores. Apunta al comienzo de la tabla de entradas. Apunta al comienzo de la tabla de salidas. Apunta al valor de entrada. Apunta al valor de salida. Indica de qu tipo son los datos de la tabla. Los tipos vlidos para la funcin CDT son: B#16#05 = INT B#16#07 = DINT B#16#08 = REAL Da el valor W#16#0000 cuando la funcin se ejecuta sin errores; si los valores son distintos de W#16#0000, vase la informacin sobre errores.

Tabla 2-11 Parmetro EN ENO IN_TBL OUT_TBL IN OUT E_TYPE

RET_VAL

Salida

WORD

E, A, M, D, L, P

* Puntero en formato de palabra doble cuando se trata de direccionamiento interrea indirecto por registro.

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

2-17

Funciones de tabla

Informacin sobre errores

La funcin no ser ejecutada si se da una de las condiciones enumeradas en la tabla 2-12. En esos casos, el estado de seal de la salida de habilitacin (ENO) se pone a 0 y el valor de respuesta RET_VAL se ajusta como corresponde.
Tabla 2-12 RET_VAL W#16#0001 W#16#0002 Condiciones de error en la funcin FC103 Significado El rea de memoria indicada para un parmetro de la funcin no es vlida. El tipo de datos (E_TYPE) indicado no es vlido. Las longitudes de las tablas de entradas y de salidas no son iguales. La longitud de una tabla es cero. En IN_TBL no hay ningn valor mayor o igual que el valor de entrada indicado.

W#16#0003
W#16#0004 W#16#0007

Ejemplo

La figura 2-8 muestra cmo opera la funcin Tabla de Datos Correlativos (CDT). La funcin se ejecuta cuando el estado de seal de la entrada E 0.0 es 1 (activada). En este ejemplo ambas tablas, IN_TBL y OUT_TBL tienen cinco elementos cada una, tal como lo indica la primera palabra de cada tabla. El tipo de los datos de las tablas es ENTERO (E_TYPE = B#16#05). El valor de entrada (IN) es 22. Dentro de la tabla IN_TBL el primer valor igual o mayor que 22 es 64, y el ndice de ste es 5. Su valor correlativo en la tabla OUT_TBL es 25; por tanto, en OUT se escribe tambin el valor 25. Si la funcin se ejecuta sin errores, los estados de seal de la salida de habilitacin (ENO) y de la salida A4.0 se ponen a 1 (activadas), y RET_VAL toma el valor W#16#0000.

E 0.0 P#DB1.DBX0.0 P#DB1.DBX100.0 P#DB1.DBX200.0 P#DB1.DBX210.0 B#16#05

EN ENO IN_TBL RET_VAL OUT_TBL IN OUT E_TYPE

CDT FC103

A 4.0 MW0

Antes de la ejecucin: IN_TBL (long. de tabla) DBW0 = DBW2 = DBW4 = DBW6 = DBW8 = DBW10 = OUT_TBL (long. de tabla) DBW100 = DBW102 = DBW104 = DBW106 = DBW108 = DBW110 = IN DBW200 = OUT DBW210 = Despus de la ejecucin: OUT DBW210 =
Figura 2-8 Tabla de datos correlativos (CDT)

W#16#0005 2 4 8 16 64 W#16#0005 5 10 15 20 25 22 0 25

2-18

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Funciones de tabla

2.9

Enlace lgico de tablas (TBL_TBL): FC104


La funcin Enlace lgico de tablas (TBL_TBL) realiza la operacin especificada (en el parmetro CMD) entre los elementos correspondientes de las dos tablas fuente (TBL1 y TBL2), y escribe el resultado en los correspondientes registros de la tabla destino (DEST_TBL).

Descripcin

Con los tipos de datos INT, DINT y REAL nicamente se pueden realizar operaciones aritmticas.

El primer registro de la tabla indica la cantidad de elementos que tiene la tabla


(longitud de la tabla).

Todas las tablas tienen que tener la misma cantidad de elementos, y sta debe ser
siempre mayor que cero. Nota Al crear cada tabla debe inicializar el primer registro.

Parmetros

En la tabla 2-13 se describen los parmetros de la funcin Enlace lgico de tablas (TBL_TBL).
Parmetros de la funcin TBL_TBL (FC104) Declaracin Entrada Salida Entrada Entrada Entrada Entrada Tipo de datos BOOL BOOL Pointer* Pointer* Pointer* BYTE Area de memoria E, A, M, D, L E, A, M, D, L E, A, M, D E, A, M, D E, A, M, D E, A, M, D, L, P Descripcin La entrada de habilitacin con estado de seal 1 activa el cuadro. La salida de habilitacin tiene el estado de seal 1 si la funcin se ejecuta sin errores. Apunta al comienzo de la primera tabla fuente. Apunta al comienzo de la segunda tabla fuente. Apunta al comienzo de la tabla destino. Indica el tipo de operacin a ejecutar. Las operaciones vlidas y sus valores son: B#16#07 = operacin lgica Y B#16#08 = operacin lgica O B#16#09 = operacin lgica O EXCLUSIVA B#16#0a = sumar B#16#0b = restar B#16#0c = multiplicar B#16#0d = dividir Indica el tipo de datos de los elementos de las tablas. Los tipos vlidos para la funcin TBL_TBL son: B#16#04 = WORD B#16#05 = INT B#16#06 = DWORD B#16#07 = DINT B#16#08 = REAL Da el valor W#16#0000 cuando la funcin se ejecuta sin errores; si los valores son distintos de W#16#0000, vase la informacin sobre errores.

Tabla 2-13 Parmetro EN ENO TBL1 TBL2 DEST_TBL CMD

E_TYPE

Entrada

BYTE

E, A, M, D, L, P

RET_VAL

Salida

WORD

E, A, M, D, L, P

* Puntero en formato de palabra doble cuando se trata de direccionamiento interrea indirecto por registro.

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

2-19

Funciones de tabla

Informacin sobre errores

La funcin no ser ejecutada si se da una de las condiciones enumeradas en la tabla 2-14. En esos casos, el estado de seal de la salida de habilitacin (ENO) se pone a 0 y el valor de respuesta (RET_VAL) se ajusta como corresponde.
Tabla 2-14 RET_VAL W#16#0001 W#16#0002 Condiciones de error en la funcin FC104 Significado El rea de memoria indicada para un parmetro de la funcin no es vlida. El tipo de datos (E_TYPE) indicado no es vlido. Las longitudes de las tablas fuente y destino no son iguales. La longitud de una tabla es cero. E_TYPE y CMD no son compatibles. La operacin indicada en CMD no es vlida.

W#16#0003
W#16#0004 W#16#0005 W#16#0006

Ejemplo

La figura 2-9 muestra cmo opera la funcin Enlace lgico de tablas (TBL_TBL). La funcin se ejecuta cuando el estado de seal de la entrada E 0.0 es 1 (activada). En este ejemplo todas las tablas tiene tres elementos, tal como lo indica la primera palabra de cada tabla. E_TYPE indica que los elementos de las tablas son del tipo WORD. La operacin a ejecutar en TBL1 y en TBL2, indicada por CMD, es la operacin lgica Y. Si la funcin se ejecuta sin errores, los estados de seal de la salida de habilitacin (ENO) y de la salida A4.0 se ponen a 1 (activadas), y el valor de respuesta (RET_VAL) toma el valor W#16#0000.

E 0.0 EN P#DB1.DBX0.0 P#DB1.DBX20.0 P#DB1.DBX40.0 B#16#07 B#16#04

TBL_TBL FC104

A 4.0 ENO MW0

TBL1 RET_VAL TBL2 DEST_TBL CMD E_TYPE

Antes de la ejecucin: TBL1 (long. de tabla) DBW0 = DBW2 = DBW4 = DBW6 = TBL2 (long. de tabla) DBW20 = DBW22 = DBW24 = DBW26 = DEST_TBL (long. de tabla) DBW40 = DBW42 = DBW44 = DBW46 = Despus de la ejecucin: DEST_TBL (long. de tabla) DBW40 = DBW42 = DBW44 = DBW46 =
Figura 2-9 Enlace lgico de tablas (TBL_TBL)

W#16#0003 W#16#00FF W#16#FF00 W#16#FFFF W#16#0003 W#16#1111 W#16#2222 W#16#3333 W#16#0003 W#16#0000 W#16#0000 W#16#0000 W#16#0003 W#16#0011 W#16#2200 W#16#3333

2-20

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Funciones de desplazamiento

3
Pgina
3-2 3-4

En este captulo se describen las funciones (FC) de desplazamiento que puede aadir a las operaciones estndar para obtener una mayor flexibilidad en la programacin.

Apartado
3.1 3.2

Descripcin
Almacenar datos en el registro de desplazamiento (WSR): FC90 Desplazar un bit a un registro de desplazamiento (SHRB): FC92

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

3-1

Funciones de desplazamiento

3.1

Almacenar datos en el registro de desplazamiento (WSR): FC90

Descripcin

La funcin Almacenar datos en el registro de desplazamiento (WSR) desplaza datos al registro de desplazamiento desde la fuente que se haya indicado. Cada uno de los valores desplazados pasa a la direccin siguiente. El parmetro LENGTH indica la cantidad de direcciones que deben desplazarse los datos. Una vez realizado el desplazamiento se pierden los datos que contena la ltima direccin del registro de desplazamiento. Cada vez que se ejecuta la funcin se leen nuevos datos de la fuente (S_DATA); dichos datos son desplazados a la direccin inicial (START) del registro de desplazamiento siempre que la entrada RESET est a 0; si se pone a 1 la entrada RESET, las direcciones del registro se ponen a 0 al ejecutarse la funcin. La salida A se activa cuando el registro de desplazamiento est vaco y cuando ha sido borrado (es decir, despus de haber efectuado una puesta a cero o cuando el registro est ocupado con ceros).

Parmetros

En la tabla 3-1 se describen los parmetros de la funcin Almacenar datos en el registro de desplazamiento.
Parmetros de la funcin WSR (FC90) Declaracin Tipo de datos BOOL BOOL BOOL Pointer* Pointer* WORD BYTE Area de memoria E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D E, A, M, D E, A, M, D, L, P E, A, M, D, L, P Descripcin La entrada de habilitacin con estado de seal 1 activa el cuadro. La salida de habilitacin tiene el estado de seal 1 si la funcin se ejecuta sin errores. Si el registro de desplazamiento estaba a 1 se pone a 0. Apunta al elemento fuente que debe insertarse en la tabla. Apunta al comienzo de la tabla. Cantidad de direcciones que deben desplazarse. Indica de qu tipo son los datos de la tabla. Los tipos vlidos para la funcin WSR son: B#16#04 = WORD B#16#05 = INT B#16#06 = DWORD B#16#07 = DINT B#16#08 = REAL Indica 0 si el parmetro RESET est activado (1) o todos los elementos a desplazar tienen el valor 0.

Tabla 3-1 Parmetro EN ENO RESET S_DATA START LENGTH E_TYPE

Entrada Salida Entrada Entrada Entrada Entrada Entrada

Salida

BOOL

A, M, D, L

* Puntero en formato de palabra doble cuando se trata de direccionamiento interrea indirecto por registro.

3-2

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Funciones de desplazamiento

Informacin sobre errores

La funcin no se ejecuta en caso de emplear un tipo de datos (E_TYPE) no vlido; en este caso, el estado de seal de la salida de habilitacin (ENO) se pone a 0.

Ejemplo

La figura 3-1 muestra cmo opera la funcin Almacenar datos en el registro de desplazamiento (WSR). La funcin se ejecuta cuando el estado de seal de la entrada E 0.0 es 1 (activada). Al ser 4 el tipo de datos (E_TYPE = B#16#04), los datos se almacenan en la tabla en palabras a partir de la direccin de memoria que indica el puntero START. El parmetro LENGTH tiene el valor 4, lo cual significa que se desplazarn 4 direcciones de palabras, comenzando por la palabra que se encuentra en la direccin a la que apunta START. Despus de desplazar el primer valor de la tabla a la siguiente direccin, la posicin que ocupaba ese valor pasa a ser ocupada ahora por el elemento indicado por el puntero S_DATA. Al concluir el desplazamiento se ha perdido el valor que antes ocupaba el ltimo lugar de la tabla. Siempre que la entrada RESET sea puesta a 1 las direcciones de la tabla no se desplazarn, sino que se pondrn a cero. Si la funcin se ejecuta sin errores, los estados de seal de la salida de habilitacin (ENO) y de la salida A 4.0 se ponen a 1.

E 0.0 EN M1.0 P#DB2.DBX6.0 P#DB1.DBX0.0 B#16#04 B#16#04

WSR FC90 ENO Q M2.0 RESET S_DATA START LENGTH E_TYPE

A 4.0

START

Antes de la ejecucin: DW0 = W#16#1111 DW2 = W#16#2222 DW4 = W#16#3333 DW6 = W#16#4444
DW6 = W#16#1234 M1.0 = FALSE

S_DATA RESET

START

Despus de la ejecucin: DW0 = W#16#1234 DW2 = W#16#1111 DW4 = W#16#2222 DW6 = W#16#3333

Figura 3-1

Almacenar datos en el registro de desplazamiento (WSR)

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

3-3

Funciones de desplazamiento

3.2

Desplazar un bit a un registro de desplazamiento (SHRB): FC92

Descripcin

La funcin Desplazar un bit a un registro de desplazamiento (SHRB) desplaza un bit a un registro de desplazamiento desde la fuente especificada en el parmetro DATA. Cada vez que se ejecuta la funcin se leen nuevos datos de la fuente, los cuales son desplazados a la direccin inicial (S_BIT) del registro de desplazamiento, siempre que el estado de seal de la entrada RESET sea 0. Todos los dems bits son sometidos a un desplazamiento de una direccin respectivamente. Al concluir el desplazamiento se pierde el bit que antes contena la ltima direccin (S_BIT+N). Siempre que la entrada RESET sea puesta a 1 las direcciones de la tabla no se desplazarn, sino que se pondrn a cero.

Parmetros

En la tabla 3-2 se describen los parmetros de la funcin Desplazar un bit a un registro de desplazamiento (SHRB).
Parmetros de la funcin SHRB (FC92) Declaracin Entrada Salida Entrada Entrada Entrada Entrada Tipo de datos BOOL BOOL BOOL BOOL Pointer* WORD Area de memoria E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D E, A, M, D, L, P Descripcin La entrada de habilitacin con estado de seal 1 activa el cuadro. La salida de habilitacin tiene el estado de seal 1 si la funcin se ejecuta sin errores. Bit de datos fuente. Pone a 0 el registro de desplazamiento si estaba puesto a 1. Apunta al primer bit a desplazar en el registro de desplazamiento. Longitud del registro de desplazamiento (cantidad de bits a desplazar).

Tabla 3-2 Parmetro EN ENO DATA RESET S_BIT N

* Puntero en formato de palabra doble cuando se trata de direccionamiento interrea indirecto por registro.

3-4

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Funciones de desplazamiento

Informacin sobre errores Ejemplo

Esta funcin no detecta condiciones de error

La figura 3-2 muestra cmo opera la funcin Desplazar un bit a un registro de desplazamiento (SHRB). La funcin se ejecuta cuando el estado de seal de la entrada E 0.0 es 1 (activada). En este ejemplo, el parmetro de la longitud del registro de desplazamiento, N, est ajustado a 14 (E en la notacin hexadecimal), lo cual indica que se desplazarn 14 direcciones; la primera de stas ser la del bit indicado por el puntero S_BIT. Una vez que los bits han sido desplazados, los datos que indica la entrada DATA ocupan la primera direccin donde ha habido un desplazamiento. El bit que antes ocupaba la ltima direccin del registro de desplazamiento se pierde una vez realizado el desplazamiento. Si la funcin se ejecuta sin errores, los estados de seal de la salida de habilitacin (ENO) y de la salida A 4.0 se ponen a 1 (activadas).

E 0.0 EN 0 0 P#DB1.DBX1.4 B#16#0E

SHRB FC92 ENO DATA RESET S_BIT N

A 4.0

Antes del desplazamiento: S_BIT 1.0 1.7 0 0 1 1 1 0 1 0


2.7 0 0 3.7 0 0 1 1 1 1 1 1 0 0 1 1 2.0 0 3.0 0

Despus del desplazamiento: S_BIT 1.0 1.7 0 1 1 0 1 0 1 0


2.7 0 1 3.7 0 0 1 1 1 1 0 1 1 0 0 0 2.0 0 3.0 0

Figura 3-2

Desplazar un bit a un registro de desplazamiento (SHRB)

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

3-5

Funciones de desplazamiento

3-6

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Funciones y bloques de funcin de transferencia

4
Pgina
4-2 4-4

Este captulo describe las funciones (FC) de transferencia y los bloques de funcin (FB) de transferencia que puede aadir a las operaciones estndar para obtener una mayor flexibilidad en la programacin.

Apartado
4.1 4.2

Descripcin
Transferencia indirecta de un bloque de datos (IBLKMOV): FC81 Acumular/Distribuir datos de tabla (PACK): FB86

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

4-1

Funciones y bloques de funcin de transferencia

4.1

Transferencia indirecta de un bloque de datos (IBLKMOV): FC81

Descripcin

Aplicando la funcin Transferencia indirecta de un bloque de datos (IBLKMOV) puede transferir un bloque de datos compuesto por bytes, palabras, enteros, palabras dobles o por enteros dobles desde un bloque fuente a un bloque destino. El parmetro LENGTH determina la cantidad de elementos a transferir; el parmetro E_TYPE define el tipo de datos. Los punteros S_DATA y D_DATA indican la direccin de punteros que, a su vez, indican las direcciones iniciales de los datos fuente y destino. Siendo ste un mtodo de indicacin y localizacin indirecta de los datos a transferir se le denomina transferencia indirecta de bloques.

Parmetros

En la tabla 4-1 se describen los parmetros de la funcin Transferencia indirecta de un bloque de datos (IBLKMOV).
Parmetros de la funcin IBLKMOV (FC81) Declaracin Entrada Salida Entrada Entrada Entrada Entrada Tipo de datos BOOL BOOL Pointer* Pointer* Pointer* BYTE Area de memoria E, A, M, D, L E, A, M, D, L E, A, M, D E, A, M, D E, A, M, D E, A, M, D, L Descripcin La entrada de habilitacin con estado de seal 1 activa el cuadro. La salida de habilitacin tiene el estado de seal 1, si la funcion se ejecuta sin errores. Seala a un puntero que indica la direccin inicial de los datos fuente. Apunta a la longitud del bloque a transferir. Seala a un puntero que indica la direccin inicial de los datos destino. Indica el tipo de datos. Los tipos vlidos para la funcin IBLKMOV son: B#16#02 = BYTE B#16#04 = WORD B#16#05 = INT B#16#06 = DWORD B#16#07 = DINT B#16#08 = REAL

Tabla 4-1 Parmetro EN ENO S_DATA LENGTH D_DATA E_TYPE

* Puntero en formato de palabra doble cuando se trata de direccionamiento interrea indirecto por registro.

4-2

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Funciones y bloques de funcin de transferencia

Informacin sobre errores

La funcin no se ejecutar si se ha indicado un tipo de datos (E_TYPE) que no es vlido; en ese caso, el estado de seal de la salida de habilitacin (ENO) se pone a 0.

Ejemplo

La figura 4-1 muestra cmo opera la funcin Transferencia indirecta de un bloque de datos (IBLKMOV). La funcin se ejecuta cuando el estado de seal de la entrada E 0.0 es 1 (activada). S_DATA apunta a DB1.DBX0.0, que contiene el puntero DB1.DBX50.0 (direccin inicial de los datos fuente). D_DATA apunta a DB1.DBX20.0, que contiene el puntero DB2.DBX10.0 (direccin inicial de los datos destino). Tras ejecutarse la funcin se ha transferido un bloque de dos palabras. Si la funcion se ejecuta sin errores, los estados de seal de la salida de habilitacin (ENO) y de la salida A 4.0 se ponen a 1 (activadas).

E 0.0 P#DB1.DBX0.0 P#DB1.DBX10.0 P#DB1.DBX20.0 B#16#04

IBLKMOV FC81 EN ENO S_DATA LENGTH D_DATA E_TYPE

A 4.0

Antes de la ejecucin:
S_DATA DBX0.0 = P#DB1.DBX50.0 DBW50 = W#16#2424 DBW52 = W#16#2525 DBW10 = W#16#0002 DBX20.0= P#DB2.DBX10.0 DBW10 = W#16#0000 DBW12 = W#16#0000

LENGTH D_DATA

Despus de la ejecucin:
D_DATA DBW10 = W#16#2424 DBW12 = W#16#2525

Figura 4-1

Transferencia indirecta de un bloque de datos (IBLKMOV)

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

4-3

Funciones y bloques de funcin de transferencia

4.2

Acumular/Distribuir datos de tabla (PACK): FB86

Descripcin

La funcin Acumular/Distribuir datos de tabla (PACK) transfiere datos intercalados entre direcciones aleatorias y una tabla. El parmetro DIR indica la direccin de la transferencia. Cada funcin PACK puede procesar hasta cinco bloques de datos (de P_DATA 1 a P_DATA 5). Si el parmetro DIR indica a, la funcin PACK transfiere los datos desde las direcciones a la tabla indicada; si DIR indica desde, la funcin PACK distribuye los datos desde la tabla a las direcciones. Las reglas para transferir datos a una tabla son las siguientes:

cada bit (BOOL) se transfieren al siguiente bit disponible en la tabla. Los tipos de datos de 8 bits se transfieren al siguiente byte disponible en la tabla.
Cuando se escribe un byte en la tabla, los bits no utilizados en el byte anterior son rellenados con ceros.

Los tipos de datos de 16 y 32 bits se transfieren a la siguiente palabra disponible


en la tabla. Cuando se escribe una palabra en la tabla, los bits no utilizados en el byte anterior se rellenan con ceros. Las reglas para transferir datos desde una tabla son las siguientes:

No se debe omitir (pasar por alto) ningn apartado de la tabla. Todos los datos indicados del tipo BOOL se transfieren desde la tabla. Los tipos de datos de 8 bits se transfieren desde el primer byte disponible en la
tabla. Esto quiere decir que los bits no utilizados en el byte anterior de la tabla no se incluyen en un byte que se transfiere desde la tabla.

Los tipos de datos de 16 y de 32 bits se transfieren desde la primera palabra disponible de la tabla. Esto significa que los bits no utilizados en la palabra anterior de la tabla no se incluyen en una palabra que se transfiere desde la tabla. Los tipos de datos vlidos para el puntero ANY que soporta el bloque de funcin PACK son los siguientes:

BOOL WORD INT BYTE DINT REAL CHAR DWORD

4-4

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Funciones y bloques de funcin de transferencia

Parmetros

En la tabla 4-2 se describen los parmetros de la funcin Acumular/Distribuir datos de tabla (PACK).
Parmetros de la funcin PACK (FB86) Declaracin Entrada Salida Entrada Entrada Entrada Entrada Entrada Entrada Salida Tipo de datos BOOL BOOL Pointer* Any Any Any Any Any WORD Area de memoria E, A, M, D, L E, A, M, D, L E, A, M, D E, A, M, D E, A, M, D E, A, M, D E, A, M,D E, A, M, D E, A, M, D, L, P Descripcin La entrada de habilitacin con estado de seal 1 activa el cuadro. La salida de habilitacin tiene el estado de seal 1, si se ejecuta el bloque de funcin sin errores. Apunta al comienzo de la tabla. Apunta al comienzo de un bloque con datos a transferir. Apunta al comienzo de un bloque con datos a transferir. Apunta al comienzo de un bloque con datos a transferir. Apunta al comienzo de un bloque con datos a transferir. Apunta al comienzo de un bloque con datos a transferir. Da el valor W#16#0000 cuando se ejecuta el bloque de funcin sin errores; si los valores son distintos de W#16#0000, vase la informacin sobre errores. Direccin de la transferencia. El estado de seal = 1 => a y el estado de seal = 0 => desde

Tabla 4-2 Parmetro EN ENO TABLE P_DATA1 P_DATA2 P_DATA3 P_DATA4 P_DATA5 ERR_CODE

DIR

Static

BOOL

E, A, M, D, L

* Puntero en formato de palabra doble cuando se trata de direccionamiento interrea indirecto por registro.

Informacin sobre errores

El bloque de funcin no ser ejecutado si se da una de las condiciones enumeradas en la tabla 4-3. En esos casos, el estado de seal de la salida de habilitacin (ENO) se pone a 0 y el cdigo de error (ERR_CODE) se ajusta como corresponde.
Tabla 4-3 Condiciones de error con el bloque de funcin FB86 Significado El rea de memoria indicada para un parmetro de la funcin no es vlida. El tipo de datos (E_TYPE) no es vlido.

ERR_CODE W#16#0001 W#16#0002

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

4-5

Funciones y bloques de funcin de transferencia

Ejemplo

La figura 4-2 muestra cmo opera el bloque de funcin Acumular/Distribuir datos de tabla (PACK). El bloque de funcin se ejecuta cuando el estado de seal de la entrada E 0.0 es 1 (activada). En este ejemplo se transfieren cuatro bloques de datos a la tabla. Si el bloque de funcin se ejecuta sin errores, los estados de seal de la salida de habilitacin (ENO) y de la salida A 4.0 se ponen a 1 (activadas), y el cdigo de error (ERR_CODE) toma el valor W#16#0000. Nota Puede inicializar los parmetros estticos utilizando el editor de bloques de datos.

E 0.0 EN P#DB1.DBX0.0 P#M200.0 BOOL 2 P#M210.0 BYTE 1 P#M300.0 BOOL 2 P#M330.0 WORD 1 TABLE

DB86 PACK FB86 ENO ERR_CODE MW0

A 4.0

P_DATA1 P_DATA2 P_DATA3 P_DATA4 P_DATA5

Antes de la ejecucin:
TABLE DBB0 DBB1 DBB2 DBB3 DBB4 DBB5 = = = = = = B#16#00 B#16#00 B#16#00 B#16#00 B#16#00 B#16#00

P_DATA1 P_DATA2 P_DATA3 P_DATA4 DIR

M200.0 = TRUE M200.1 = TRUE MB210 = B#16#FF M300.0 = TRUE M300.1 = TRUE MW330 = W#16#FFFF Instancia DB86 DBX58.0= FALSE

Despus de la ejecucin:
TABLE DBB0 DBB1 DBB2 DBB3 DBB4 DBB5 = = = = = = B#16#03 B#16#FF B#16#03 B#16#00 B#16#FF B#16#FF

Figura 4-2

Acumular/Distribuir datos de tabla (PACK)

4-6

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Funciones y bloques de funcin de temporizacin

5
Pgina
5-2 5-4 5-7 5-10

Este captulo describe las funciones (FC) de temporizacin y los bloques de funcin (FB) de temporizacin que puede aadir a las operaciones estndar para obtener una mayor flexibilidad en la programacin.

Apartado
5.1 5.2 5.3 5.4

Descripcin
Activar un temporizador como retardo a la conexin con memoria (TONR): FC80 Alarma de tiempo para control discreto (DCAT): FB81 Alarma de tiempo para control motor (MCAT): FB82 Evento drum enmascarable (DRUM): FB85

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

5-1

Funciones y bloques de funcin de temporizacin

5.1

Activar un temporizador como retardo a la conexin con memoria (TONR): FC80

Descripcin

La funcin Activar un temporizador como retardo a la conexin con memoria (TONR) acumula el tiempo hasta que el valor del tiempo transcurrido (ET) es igual o mayor que el valor de preseleccin (PV). Dado que, para acumular tiempo, la funcin TONR utiliza el tiempo de ejecucin del ltimo ciclo del OB (bloque de organizacin) en el que es procesada, esta funcin debe aplicarse nicamente en los OB que sean de ejecucin repetitiva, tales como el OB1 y los OB cclicos. Nota Debe desplazar el tiempo de ciclo del OB desde las variables locales de arranque de la tabla de declaracin de variables del OB a la variable global DELTA_T.

Mientras el estado de seal del parmetro RESET sea 0, el estado de seal de TMR_EN sea 1 y ET sea menor que PV, la funcin TONR aadir el valor de DELTA_T al tiempo transcurrido (ET). Si el estado de seal de TMR_EN no es 1 no se aade tiempo a ET. Si el valor de ET alcanza o sobrepasa el valor de preseleccin (PV), el estado de seal de la salida A se pone a 1. Una vez activada A sta permanece as y ET permanece con el ltimo valor hasta la desactivacin. La funcin pone ET a 0 y desactiva la salida A cuando el estado de seal de RESET es 1.

Parmetros
Tabla 5-1 Parmetro EN ENO TMR_EN RESET PV DELTA_T Q ET

En la tabla 5-1 se describen los parmetros de la funcin Activar un temporizador como retardo a la conexin con memoria (TONR).
Parmetros de la funcin TONR (FC80) Declaracin Entrada Salida Entrada Entrada Entrada Entrada Salida Entrada_Salida Tipo de datos BOOL BOOL BOOL BOOL DINT INT BOOL DINT Area de memoria E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L, P o constante E, A, M, D, L o constante A, M, D, L E, A, M, D, L Descripcin La entrada de habilitacin con estado de seal 1 activa el cuadro. La salida de habilitacin tiene el estado de seal 1 si se ejecuta sin errores. Habilita el temporizador para acumular tiempo. Si RESET = 1, el temporizador se pone a 0. Valor de preseleccin. Tiempo de barrido del OB en el ciclo anterior. Si ET es igual o mayor que PV, el estado de seal de A se pone a 1. Valor actual del tiempo transcurrido.

5-2

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Funciones y bloques de funcin de temporizacin

Informacin sobre errores Ejemplo

Esta funcin no detecta condiciones de error.

La figura 5-1 muestra cmo opera la funcin Activar un temporizador como retardo a la conexin con memoria (TONR). La funcin se ejecuta cuando el estado de seal de la entrada E 0.0 es 1 (activada). Si el estado de seal de E 0.1 es 1 y el estado de seal de E 0.2 es 0 y ET es menor que PV, el valor de DELTA_T se aade a ET. Si ET es menor que PV, el estado de seal de A 1.1 seguir siendo 0. Si la funcin se ejecuta sin errores, los estados de seal de la salida de habilitacin (ENO) y de la salida A 4.0 se ponen a 1 (activadas).

I 0.0 EN I 0.1

TONR FC80 ENO

Q 4.0

Q 1.1 TMR_EN Q

I 0.2 RESET L#1000 #OB1_PREV_CYCLE MD100 PV DELTA_T ET

Figura 5-1

Activar un temporizador como retardo a la conexin con memoria (TONR)

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

5-3

Funciones y bloques de funcin de temporizacin

5.2

Alarma de tiempo para control discreto (DCAT): FB81

Descripcin

El bloque de funcin Alarma de tiempo para control discreto (DCAT) acumula el tiempo desde el instante en que la entrada de la orden CMD da la seal de abrir (o de cerrar) hasta que se sobrepasa el tiempo preseleccionado (PT), o hasta que la entrada de acuse (O_FB C_FB) indica que el dispositivo ha sido abierto (o cerrado) dentro del tiempo prescrito. Si se excede el tiempo preseleccionado antes de haberse recibido el acuse se activa la alarma correspondiente. Si la entrada de la orden cambia su estado de seal antes del tiempo preseleccionado se reinicia el tiempo.

Cuando el estado de seal de la entrada CMD cambia de 1 a 1, el estado de seal


de A se pone a 1, ET (tiempo transcurrido) se pone a 0, los estados de seal de ambas salidas de alarma (OA, CA) se ponen a 0, y el estado de seal de CMD_HIS se pone igualmente a 0.

Cuando el estado de seal de la entrada CMD cambia de 1 a 0, el estado de seal


de A se pone a 0, ET (tiempo transcurrido) se pone a 0, los estados de seal de ambas salidas de alarma (OA, CA) se ponen a 0, y el estado de seal de CMD_HIS se pone igualmente a 0.

Cuando el estado de seal de CMD y de CMD_HIS es 1 y el estado de seal de


O_FB es 0, se aade al tiempo transcurrido (ET) la diferencia del tiempo (DELTA_T, en ms) desde la ltima ejecucin del bloque de funcin. Si ET sobrepasa a PT el estado de seal de la salida de alarma OA se pone a 1; si no lo sobrepasa se pone a 0. El estado de seal de CMD_HIS toma el mismo valor que CMD.

Cuando el estado de seal de CMD y de CMD_HIS es 1, el estado de seal de


O_FB es 1, y el estado de seal de C_FB es 0, el estado de seal de OA se pone a 0. ET (tiempo transcurrido) toma el mismo valor que PT (tiempo preseleccionado), de tal forma que, si el estado de seal de O_FB se pone a 0 ms tarde, la alarma ser activada la prxima vez que se ejecute este bloque de funcin. El estado de seal de CMD_HIS toma el mismo valor que CMD.

Cuando el estado de seal de CMD y de CMD_HIS es 0 y el estado de seal de


C_FB es 0, se aade al tiempo transcurrido (ET) la diferencia del tiempo (DELTA_T, en ms) desde la ltima ejecucin del bloque de funcin. Si ET sobrepasa a PT el estado de seal de CA se pone a 1; si no lo sobrepasa se pone a 0. El estado de seal de CMD_HIS toma el mismo valor que CMD.

Cuando el estado de seal de CMD y de CMD_HIS es 0, el estado de seal de


O_FB es 0, y el de C_FB es 1, el estado de seal de CA se pone a 0. ET toma el mismo valor que PT, de tal forma que, si el estado de seal de C_FB se pone a 0 ms tarde, la alarma ser activada la prxima vez que se ejecute este bloque de funcin. El estado de seal de CMD_HIS toma el mismo valor que CMD.

Se considera que hay una condicin de error cuando los estados de seal de
O_FB y de C_FB son 1 en ambas entradas de acuse simultneamente; en este caso, los estados de seal de las dos salidas de alarma (OA y CA) se ponen a 1.

5-4

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Funciones y bloques de funcin de temporizacin

Parmetros

En la tabla 5-2 se describen los parmetros del bloque de funcin Alarma de tiempo para control discreto (DCAT).
Parmetros del bloque de funcin DCAT (FB81) Declaracin Entrada Salida Entrada Entrada Entrada Salida Salida Salida Esttico Esttico Esttico Esttico Tipo de datos BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL DINT DINT DWORD BOOL Area de memoria E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L Descripcin La entrada de habilitacin con estado de seal 1 activa el cuadro. La salida de habilitacin tiene el estado de seal 1, si el bloque de funcin se ejecuta sin errores. Con el estado de seal 0 da la orden de cerrar; con el estado de seal 1 da la orden de abrir. Entrada de acuse al abrir. Entrada de acuse al cerrar. Sigue a la entrada CMD. Salida de alarma al abrir. Salida de alarma al cerrar. Valor actual del tiempo transcurrido (medido en ms). Valor de preseleccin del temporizador (medido en ms). Tiempo anterior del sistema. Bit de evolucin de CMD.

Tabla 5-2 Parmetro EN ENO CMD O_FB C_FB Q OA CA ET PT PREV_TIME CMD_HIS

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

5-5

Funciones y bloques de funcin de temporizacin

Informacin sobre errores Ejemplo

Este bloque de funcin no detecta condiciones de error.

La figura 5-2 muestra cmo opera el bloque de funcin Alarma de tiempo para control discreto (DCAT). El bloque de funcin DCAT es ejecutado cuando el estado de seal de la entrada E 0.0 es 1 (activada). En este ejemplo, la entrada CMD est cambiando del estado de seal 0 al estado de seal 1, tal como lo indican CMD_HIS y CMD. Partiendo de estas condiciones dadas, la salida A y CMD_HIS toman ambas el estado de seal 1. ET se pone a 0, y ambas salidas de alarma, OA y CA, adquieren el estado de seal 0. Si el bloque de funcin se ejecuta sin errores, los estados de seal de la salida de habilitacin (ENO) y de la salida A 4.0 se ponen a 1 (activadas). Nota Puede inicializar los parmetros estticos utilizando el editor de bloques de datos.

E 0.0 EN M0.0 CMD M1.0 O_FB M1.1 C_FB

DB81 DCAT FB81

A 4.0 ENO Q OA CA A 2.0 A 3.0 A 3.1

Antes de la ejecucin:
CMD O_FB C_FB Q OA CA ET PT CMD_HIS M0.0 M1.0 M1.1 M2.0 M3.0 M3.1 = = = = = = VERDADERO FALSO FALSO FALSO FALSO FALSO

Instancia DB81 DBD4 = L#12 DBD8 = L#222 DBX16.0 = FALSO

Q OA CA ET CMD_HIS Figura 5-2

Despus de la ejecucin: M2.0 = VERDADERO M3.0 = FALSO M3.1 = FALSO


Instancia DB81 DBD4 = L#0 DBX16.0 = VERDADERO

Alarma de tiempo para control discreto (DCAT)

5-6

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Funciones y bloques de funcin de temporizacin

5.3

Alarma de tiempo para control motor (MCAT): FB82

Descripcin

El bloque de funcin Alarma de tiempo para control motor (MCAT) acumula el tiempo desde el instante en que se activa una de las entradas de las rdenes (abrir o cerrar) hasta que se sobrepasa el tiempo preseleccionado o hasta que la entrada de acuse correspondiente indica que el dispositivo ha concluido dentro del tiempo prescrito la instruccin ordenada. Si se sobrepasa el tiempo predeterminado antes de haberse recibido el acuse se activa la alarma correspondiente. En la tabla de verdad MCAT, representada a continuacin, se listan las descripciones con las reacciones del bloque de funcin MCAT a las diferentes condiciones de entrada (v. tabla 5-3).
Tabla de verdad MCAT
ENTRADAS SALIDAS
S_CMD O_FB C_FB OO CO OA CA ET O_HIS C_HIS Q STATE

Tabla 5-3

ET

O_HIS

C_HIS

O_CMD

C_CMD

X X X X X

1 X X X 0

1 X X X X

X X X 1 1

X X X 1 0

X X 1 X 0

X 1 X X X

X 1 X X X

0 0 0 0 1

0 0 0 0 0

1 1 0 0 0

1 1 0 0 0

PT PT X X 0

0 0 0 0 1

0 0 0 0 0

0 0 1 1 1

Alarma Alarma Stop Stop Comienzo apertura Abriendo Abierto Alarma al abrir Comienzo cierre Cerrando Cerrado Alarma al cerrar Parado

<PT X >=PT X

1 1 1 X

0 0 0 0

X X X 0

0 0 0 1

0 0 0 0

0 1 0 X

X 0 X X

1 0 0 0

0 0 0 1

0 0 1 0

0 0 0 0

INC PT PT 0

1 1 1 0

0 0 0 1

1 1 0 1

<PT X >=PT X

0 0 0 0

1 1 1 0

0 0 0 0

X X X 0

0 0 0 0

X 0 X X

0 1 0 X

0 0 0 0

1 0 0 0

0 0 0 0

0 0 1 0

INC PT PT X

0 0 0 0

1 1 1 0

1 1 0 1

Explicacin: INC

= Aade a ET (tiempo transcurrido) la diferencia del tiempo (en ms) desde la ltima ejecucin del bloque de funcin PT = El tiempo preseleccionado (PT) toma el mismo valor que el tiempo transcurrido (ET) X = No aplicable <PT = ET < PT (tiempo transcurrido < tiempo preseleccionado) >= PT = ET >= PT (tiempo transcurrido < tiempo preseleccionado)

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

5-7

Funciones y bloques de funcin de temporizacin

Parmetros
Tabla 5-4 Parmetro EN ENO O_CMD C_CMD S_CMD O_FB C_FB OO CO OA CA Q ET PT PREV_TIME O_HIS C_HIS

En la tabla 5-4 se describen los parmetros del bloque de funcin Alarma de tiempo para control motor (MCAT).
Parmetros de MCAT (FB82) Declaracin Entrada Salida Entrada Entrada Entrada Entrada Entrada Salida Salida Salida Salida Salida Esttico Esttico Esttico Esttico Esttico Tipo de datos BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL DINT DINT DWORD BOOL BOOL Area de memoria E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L Descripcin La entrada de habilitacin con estado de seal 1 activa el cuadro. La salida de habilitacin tiene el estado de seal 1, si el bloque de funcin se ejecuta sin errores. Entrada de la orden abrir. Entrada de la orden cerrar. Entrada de la orden stop. Entrada de acuse al abrir. Entrada de acuse al cerrar. Salida abrir. Salida cerrar. Salida de alarma al abrir. Salida de alarma al cerrar. El estado de seal 1 indica que existe una condicin de alarma. Valor actual del tiempo transcurrido (medido en ms). Valor del tiempo preseleccionado (medido en ms). Tiempo anterior del sistema. Bit de evolucin de abrir. Bit de evolucin de cerrar.

Informacin sobre errores Ejemplo

Este bloque de funcin no detecta condiciones de error.

La figura 5-3 muestra cmo opera el bloque de funcin MCAT. El bloque de funcin se ejecuta cuando el estado de seal de la entrada E 0.0 es 1 (activada). En este ejemplo, y como consecuencia de los estados que tienen las entradas, el bloque de funcin MCAT se encuentra en el estado ABRIENDO, y las salidas estn ajustadas como corresponde. Si el bloque de funcin se ejecuta sin errores, los estados de seal de la salida de habilitacin (ENO) y de la salida A 4.0 se ponen a 1 (activadas). Nota Puede inicializar los parmetros estticos utilizando el editor de bloques de datos.

5-8

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Funciones y bloques de funcin de temporizacin

E 0.0 EN M0.0 O_CMD M0.1 C_CMD M0.2 S_CMD M1.0 O_FB M1.1 C_FB

DB82 MCAT FB82 ENO OO CO OA CA Q M2.0 M2.1 M3.0 M3.1 M4.0

A 4.0

Antes de la ejecucin:
O_CMD C_CMD S_CMD O_FB C_FB OO CO OA CA Q ET PT O_HIS C_HIS M0.0 M0.1 M0.2 M1.0 M1.1 M2.0 M2.1 M3.0 M3.1 M4.0 = = = = = = = = = = VERDADERO FALSO FALSO FALSO FALSO FALSO FALSO FALSO FALSO FALSO

Instancia DB82 DBD4 = L#2 DBD8 = L#22 DBX16.0 = VERDADERO DBX16.1 = FALSO

OO CO OA CA Q

Despus de la ejecucin: M2.0 = VERDADERO M2.1 = FALSO M3.0 = FALSO M3.1 = FALSO M4.0 = VERDADERO
Instancia DB82 DBD4 = L#4 DBX16.0 = VERDADERO DBX16.1 = FALSO

ET O_HIS CMD_HIS Figura 5-3

Alarma de tiempo para control motor (MCAT)

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

5-9

Funciones y bloques de funcin de temporizacin

5.4

Evento drum enmascarable (DRUM): FB85

Descripcin

El bloque de funcin Evento drum enmascarable (DRUM) ocupa los bits de salida programados (de OUT1 a OUT16) y la palabra de salida (OUT_WORD) con los valores programados (OUT_VAL) del paso apropiado (esto es, del que cumple las condiciones de las mscaras de habilitacin (S_MASK) para ese paso) mientras el bloque de funcin DRUM permanece en ese paso. El DRUM avanza al siguiente paso, o bien cuando el evento para el paso es verdadero y el tiempo programado para el paso actual ha terminado, o bien cuando la entrada JOG cambia de 0 a 1. Cuando el estado de seal del parmetro RESET es 1, DRUM se pone a 0, con lo cual el paso actual queda igual que el paso preseleccionado (DSP). El tiempo que se emplea en un paso est determinado por el producto de la base de tiempo predeterminada (DTBP) del DRUM multiplicado por el valor de contaje preseleccionado/los valores del paso (S_PRESET) correspondientes a cada paso. Al principio de cada nuevo paso se carga este valor calculado en DCC, el cual contiene el tiempo que queda para el paso actual. Por ejemplo: Si DTBP tiene un valor de 2, y el valor de preseleccin del paso 1 es de 100 ms, DCC tiene un valor de 200 ms. Los pasos se pueden programar con un valor de tiempo, con un evento, o con ambos. Los pasos con un bit de evento y un valor de tiempo igual a cero avanzan al siguiente paso en cuanto el estado de seal del bit del evento es 1. Los pasos que nicamente tienen un valor de tiempo inician la temporizacin inmediatamente. Aquellos pasos que tienen un bit de evento y un valor de tiempo mayor que cero comienzan la temporizacin cuando el estado de seal del bit de evento es 1. Los bits de evento se inicializan con el estado de seal 1. Cuando el puntero del paso est en el ltimo paso programado (LST_STEP) y termina el tiempo para ese paso, el estado de seal de la salida (A) se pone a 1; si no ha terminado el tiempo se pone a 0. Una vez que la salida A se ha activado el bloque de funcin DRUM permanece en ese paso hasta la desactivacin. La mscara configurable (S_MASK) permite seleccionar los distintos bits de la palabra de salida (OUT_WORD) y los bits de salida (de OUT1 a OUT16) que son activados/desactivados por los valores de salida (OUT_VAL). Cuando un bit de la mscara configurable tiene un estado de seal 1, el valor de salida (OUT_VAL) activa/desactiva el correspondiente bit. Cuando un bit de la mscara configurable tiene un estado de seal 0, el bit correspondiente no vara. Cada uno de los bits de la mscara configurable para los 16 pasos se inicializa con el estado de seal 1. El bit de salida OUT1 se corresponde con el bit menos significativo de la palabra de salida (OUT_WORD). El bit de salida OUT16 se corresponde con el bit ms significativo de la palabra de salida (OUT_WORD).

5-10

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Funciones y bloques de funcin de temporizacin

Parmetros
Tabla 5-5 Parmetro EN ENO RESET JOG DRUM_EN

En la tabla 5-5 se describen los parmetros del bloque de funcin Evento drum enmascarable (DRUM).
Parmetros del bloque de funcin DRUM (FB85) Declaracin Entrada Salida Entrada Entrada Entrada Tipo de datos BOOL BOOL BOOL BOOL BOOL Area de memoria E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L Descripcin La entrada de habilitacin con estado de seal 1 activa el cuadro. La salida de habilitacin tiene el estado de seal 1, si el bloque de funcin se ejecuta sin errores. El estado de seal 1 indica que existe una condicin de desactivacin. El cambio del estado de seal de 1 a 1 hace avanzar a DRUM al siguiente paso. El estado de seal 1 habilita al bloque de funcin DRUM para que avance conforme al evento y a los criterios de temporizacin. Nmero del ltimo paso programado. Bit de evento 1; el estado de seal inicial es 1. Bit de evento 2; el estado de seal inicial es 1. Bit de evento 3; el estado de seal inicial es 1. Bit de evento 4; el estado de seal inicial es 1. Bit de evento 5; el estado de seal inicial es 1. Bit de evento 6; el estado de seal inicial es 1. Bit de evento 7; el estado de seal inicial es 1. Bit de evento 8; el estado de seal inicial es 1. Bit de evento 9; el estado de seal inicial es 1. Bit de evento 10; el estado de seal inicial es 1. Bit de evento 11; el estado de seal inicial es 1. Bit de evento 12; el estado de seal inicial es 1. Bit de evento 13; el estado de seal inicial es 1. Bit de evento 14; el estado de seal inicial es 1. Bit de evento 15; el estado de seal inicial es 1. Bit de evento 16; el estado de seal inicial es 1. Bit de salida 1. Bit de salida 2. Bit de salida 3. Bit de salida 4. Bit de salida 5. Bit de salida 6. Bit de salida 7. Bit de salida 8. Bit de salida 9. Bit de salida 10. Bit de salida 11.

LST_STEP EVENT1 EVENT2 EVENT3 EVENT4 EVENT5 EVENT6 EVENT7 EVENT8 EVENT9 EVENT10 EVENT11 EVENT12 EVENT13 EVENT14 EVENT15 EVENT16 OUT1 OUT2 OUT3 OUT4 OUT5 OUT6 OUT7 OUT8 OUT9 OUT10 OUT11

Entrada Entrada Entrada Entrada Entrada Entrada Entrada Entrada Entrada Entrada Entrada Entrada Entrada Entrada Entrada Entrada Entrada Salida Salida Salida Salida Salida Salida Salida Salida Salida Salida Salida

BYTE BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL

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

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

5-11

Funciones y bloques de funcin de temporizacin

Tabla 5-5 Parmetro OUT12 OUT13 OUT14 OUT15 OUT16 Q OUT_WORD ERR_CODE

Parmetros del bloque de funcin DRUM (FB85) Declaracin Salida Salida Salida Salida Salida Salida Salida Salida Tipo de datos BOOL BOOL BOOL BOOL BOOL BOOL WORD WORD Area de memoria E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L, P E, A, M, D, L, P Bit de salida 12. Bit de salida 13. Bit de salida 14. Bit de salida 15. Bit de salida 16. El estado de seal 1 indica que ha terminado el tiempo del ltimo paso. Direccin de la palabra en la que el bloque de funcin DRUM escribe los valores de salida. Da el valor W#16#0000 cuando la funcin se ejecuta sin errores; si los valores son distintos de W#16#0000, vase la informacin sobre errores. Bit de evolucin de JOG. El estado de seal 1 indica que se ha terminado el tiempo del ltimo paso. Paso preseleccionado del contador. Paso actual del contador. Valor actual del contador. Base de tiempo predeterminada del contador. Tiempo anterior del sistema. Valor de contaje preseleccionado para cada paso [de 1 a 16] (medido en ms). Valores de salida para cada paso [de 1 a 16, de 1 a 15]. Mscara configurable para cada paso [de 1 a 16, de 1 a 15]. El estado de seal inicial es en todos 1. Descripcin

JOG_HIS EOD DSP DSC DCC DTBP PREV_TIME S_PRESET OUT_VAL S_MASK

Esttico Esttico Esttico Esttico Esttico Esttico Esttico Esttico Esttico Esttico

BOOL BOOL BYTE BYTE DWORD WORD DWORD ARRAY of WORD ARRAY of BOOL ARRAY of BOOL

E, A, M, D, L E, A, M, D, L E, A, M, D, L, P E, A, M, D, L, P E, A, M, D, L, P E, A, M, D, L, P E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L

Informacin sobre errores

Si se da alguna de las condiciones enumeradas en la tabla 5-6, el bloque de funcin DRUM permanece en el paso en el que se encuentra en ese momento. Si el bloque de funcin se ejecuta sin errores, el estado de seal de la salida de habilitacin (ENO) se pone a 0, y el cdigo de error (ERR_CODE) se ajusta como corresponde.
Tabla 5-6 Condiciones de error con el bloque de funcin FB85 Significado El valor de LST_STEP es menor que 1 o mayor que 16. El valor de DSC es menor que 1 o mayor que LST_STEP. El valor de DSP es menor que 1 o mayor que LST_STEP.

ERR_CODE W#16#000B W#16#000C W#16#000D

5-12

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Funciones y bloques de funcin de temporizacin

Ejemplo

La figura 5-4 muestra cmo opera el bloque de funcin Evento drum enmascarable (DRUM). El bloque de funcin se ejecuta cuando el estado de seal de la entrada E 0.0 es 1 (activada). En este ejemplo, el bloque de funcin DRUM avanza del paso 1 al paso 2. Los bits de salida (OUT1, etc.) y la palabra de salida (OUT_WORD) estn ajustados en base a la mscara configurada para el paso 2 y a los bits de los valores de salida (OUT_VAL) para el paso 2. Si el bloque de funcin se ejecuta sin errores, los estados de seal de la salida de habilitacin (ENO) y de la salida A 4.0 se ponen a 1 (activadas), y el cdigo de error (ERR_CODE) toma el valor W#16#0000. Nota Puede inicializar los parmetros estticos utilizando el editor de bloques de datos.

E 0.0 EN M0.0 RESET M0.1 JOG M0.2

DB85 DRUM FB85

A 4.0 ENO

DRUM_EN MB1 M20.0 M20.1 M20.2 M20.3 M20.4 M20.5 M20.6 M20.7 LST_STEP EVENT1 EVENT2 EVENT3 EVENT4 EVENT5 EVENT6 EVENT7 EVENT8 EVENT9 EVENT10 EVENT11 EVENT12 EVENT13 EVENT14 EVENT15 EVENT16

OUT1 OUT2 OUT3 OUT4 OUT5 OUT6 OUT7 OUT8 OUT9 OUT10 OUT11 OUT12 OUT13 OUT14 OUT15 OUT16 Q OUT_WORD ERR_CODE

M4.0 M4.1 M4.2 M4.3 M4.4 M4.5 M4.6 M4.7 M5.0 M5.1 M5.2 M5.3 M5.4 M5.5 M5.6 M5.7 M6.0 MW8 MW10

Figura 5-4

Evento drum enmascarable (DRUM)

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

5-13

Funciones y bloques de funcin de temporizacin

Antes de la ejecucin:
Entradas RESET JOG DRUM_EN LST_STEP EVENT2 EVENT4 EVENT6 EVENT8 EVENT10 EVENT12 EVENT14 EVENT16 JOG_HIS EOD DSP DSC DCC DTBP S_PRESET [1] S_PRESET [2] OUT_VAL [1,0] OUT_VAL [1,1] OUT_VAL [1,2] OUT_VAL [1,3] OUT_VAL [1,4] OUT_VAL [1,5] OUT_VAL [1,6] OUT_VAL [1,7] OUT_VAL [1,8] OUT_VAL [1,9] OUT_VAL [1,10] OUT_VAL [1,11] OUT_VAL [1,12] OUT_VAL [1,13] OUT_VAL [1,14] OUT_VAL [1,15] OUT_VAL [2,0] OUT_VAL [2,1] OUT_VAL [2,2] OUT_VAL [2,3] OUT_VAL [2,4] OUT_VAL [2,5] OUT_VAL [2,6] OUT_VAL [2,7] OUT_VAL [2,8] OUT_VAL [2,9] OUT_VAL [2,10] OUT_VAL [2,11] OUT_VAL [2,12] OUT_VAL [2,13] OUT_VAL [2,14] OUT_VAL [2,15] M0.0 = FALSO M0.1 = FALSO M0.2 = VERDADERO MB1 = B#16#08 M20.0 = FALSO M20.1 = FALSO M20.2 = FALSO M20.3 = FALSO M20.4 = FALSO M20.5 = FALSO M20.6 = FALSO M20.7 = FALSO DB85 de instancia DBX12.0 = FALSO DBX12.1 = FALSO DBB13 = W#16#0001 DBB14 = W#16#0001 DBD16 = DW#16#0000000A DBW20 = W#16#0001 DBW26 = W#16#0064 DBW28 = W#16#00C8 DBX58.0 = VERDADERO DBX58.1 = VERDADERO DBX58.2 = VERDADERO DBX58.3 = VERDADERO DBX58.4 = VERDADERO DBX58.5 = VERDADERO DBX58.6 = VERDADERO DBX58.7 = VERDADERO DBX59.0 = VERDADERO DBX59.1 = VERDADERO DBX59.2 = VERDADERO DBX59.3 = VERDADERO DBX59.4 = VERDADERO DBX59.5 = VERDADERO DBX59.6 = VERDADERO DBX59.7 = VERDADERO DBX60.0 = FALSO DBX60.1 = FALSO DBX60.2 = FALSO DBX60.3 = FALSO DBX60.4 = FALSO DBX60.5 = FALSO DBX60.6 = FALSO DBX60.7 = FALSO DBX61.0 = FALSO DBX61.1 = FALSO DBX61.2 = FALSO DBX61.3 = FALSO DBX61.4 = FALSO DBX61.5 = FALSO DBX61.6 = FALSO DBX61.7 = FALSO

Antes de la ejecucin (continuacin):


S_MASK [2,0] S_MASK [2,1] S_MASK [2,2] S_MASK [2,3] S_MASK [2,4] S_MASK [2,5] S_MASK [2,6] S_MASK [2,7] S_MASK [2,8] S_MASK [2,9] S_MASK [2,10] S_MASK [2,11] S_MASK [2,12] S_MASK [2,13] S_MASK [2,14] S_MASK [2,15] Salidas Q OUTWORD OUT1 OUT2 OUT3 OUT4 OUT5 OUT6 OUT7 OUT8 OUT9 OUT10 OUT11 OUT12 OUT13 OUT14 OUT15 OUT16 DBX92.0 DBX92.1 DBX92.2 DBX92.3 DBX92.4 DBX92.5 DBX92.6 DBX92.7 DBX93.0 DBX93.1 DBX93.2 DBX93.3 DBX93.4 DBX93.5 DBX93.6 DBX93.7 M6.0 MW8 M4.0 M4.1 M4.2 M4.3 M4.4 M4.5 M4.6 M4.7 M5.0 M5.1 M5.2 M5.3 M5.4 M5.5 M5.6 M5.7 = FALSO = VERDADERO = VERDADERO = VERDADERO = VERDADERO = FALSO = VERDADERO = VERDADERO = FALSO = FALSO = VERDADERO = VERDADERO = VERDADERO = VERDADERO = FALSO = VERDADERO = FALSO = W#16#FFFF = VERDADERO = VERDADERO = VERDADERO = VERDADERO = VERDADERO = VERDADERO = VERDADERO = VERDADERO = VERDADERO = VERDADERO = VERDADERO = VERDADERO = VERDADERO = VERDADERO = VERDADERO = VERDADERO

Despus de la ejecucin:
OUT1 OUT2 OUT3 OUT4 OUT5 OUT6 OUT7 OUT8 OUT9 OUT10 OUT11 OUT12 OUT13 OUT14 OUT15 OUT16 Q OUTWORD ERR_CODE JOG_HIS EOD DSC DCC M4.0 = VERDADERO M4.1 = FALSO M4.2 = FALSO M4.3 = FALSO M4.4 = FALSO M4.5 = VERDADERO M4.6 = FALSO M4.7 = FALSO M5.0 = VERDADERO M5.1 = VERDADERO M5.2 = FALSO M5.3 = FALSO M5.4 = FALSO M5.5 = FALSO M5.6 = VERDADERO M5.7 = FALSO M6.0 = FALSO MW8 = W#16#4321 MW10 = W#16#0000 DB85 de instancia DBX12.0 = FALSO DBX12.1 = FALSO DBB14 = W#16#0002 DBD16 = DW#16#000000C8

Figura 5-4

Evento drum enmascarable (DRUM) (continuacin)

5-14

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Funciones y bloques de funcin de conversin

6
Pgina
6-2 6-4 6-6 6-8 6-9 6-10 6-11 6-12 6-14 6-16

Este captulo describe las funciones (FC) de conversin y los bloques de funcin (FB) de conversin que puede aadir a las operaciones estndar para obtener una mayor flexibilidad en la programacin.

Apartado
6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 6.10

Descripcin
Crear el patrn de bits para la visualizacin con siete segmentos (SEG): FC93 Convertir una cadena de caracteres ASCII en una cifra hexadecimal (ATH): FC94 Convertir una cifra hexadecimal en una cadena de caracteres ASCII (HTA): FC95 Codificar una posicin binaria (ENCO): FC96 Decodificar una posicin binaria (DECO): FC97 Generar el complemento a diez (BCDCPL): FC98 Sumar la cantidad de bits activados (BITSUM): FC99 Escalar valores (SCALE): FC105 Desescalar valores (UNSCALE): FC106 Algoritmo avance/retardo (LEAD_LAG): FB80

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

6-1

Funciones y bloques de funcin de conversin

6.1

Crear el patrn de bits para el display de 7 segmentos (SEG): FC93

Descripcin

La funcin Crear el patrn de bits para el display de siete segmentos (SEG) convierte los cuatro dgitos hexadecimales de una determinada palabra fuente (IN) en cuatro cdigos equivalentes para hacer posible el display de siete segmentos, y escribe el resultado en la palabra doble de salida (OUT). La figura 6-1 representa la relacin entre los dgitos hexadecimales de entrada y los patrones de bits de salida.
Dgito 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 g f edc ba 00111111 00000110 01011011 01001111 01100110 01101101 01111101 00000111 01111111 01100111 01110111 01111100 00111001 01011110 01111001 01110001 Display 0 1 2 3 4 5 6 7 8 9 A b C d E F f g e d c b

Display de 7 segmentos a

Figura 6-1

Patrones de bits de salida para el display de siete segmentos

Parmetros

En la tabla 6-1 se describen los parmetros de la funcin Crear el patrn de bits para el display de siete segmentos (SEG).
Parmetros de la funcin SEG (FC93) Declaracin Entrada Salida Entrada Salida Tipo de datos BOOL BOOL WORD DWORD Area de memoria E, A, M, D, L E, A, M, D, L E, M, D, P, o constante A, M, D, L, P Descripcin La entrada de habilitacin con estado de seal 1 activa el cuadro. La salida de habilitacin tiene el estado de seal 1 si la funcin se ejecuta sin errores. Palabra fuente con cuatro dgitos hexadecimales. Patrn de bits destino con cuatro bytes.

Tabla 6-1 Parmetro EN ENO IN OUT

6-2

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Funciones y bloques de funcin de conversin

Informacin sobre errores Ejemplo

Esta funcin no detecta condiciones de error.

La figura 6-2 muestra cmo opera la funcin Crear el patrn de bits para el display de siete segmentos (SEG). La funcin se ejecuta cuando el estado de seal de la entrada E 0.0 es 1 (activada). Si la funcin se ejecuta sin errores, los estados de seal de la salida de habilitacin (ENO) y de la salida A 4.0 se ponen a 1 (activadas).

E 0.0 EN W#16#1234 IN

SEG FC93 ENO OUT MD0

A 4.0

OUT

MD0 = DW#16#065B4F66

Figura 6-2

Crear el patrn de bits para el display de siete segmentos (SEG)

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

6-3

Funciones y bloques de funcin de conversin

6.2

Convertir una cadena de caracteres ASCII en una cifra hexadecimal (ATH): FC94

Descripcin

La funcin Convertir una cadena de caracteres ASCII en una cifra hexadecimal (ATH) convierte la cadena de caracteres ASCII indicada por el puntero IN en dgitos hexadecimales, y almacena stos en la tabla destino que indica el puntero OUT. Como el carcter ASCII requiere 8 bits y la cifra hexadecimal slo necesita 4 bits, la palabra de salida tiene la mitad de longitud que la palabra de entrada. Los caracteres ASCII se convierten y disponen en la salida hexadecimal siguiendo el mismo orden en que se han ledo. En caso de que la cantidad de caracteres ASCII sea impar, el cuarteto derecho del byte de la ltima cifra hexadecimal que se ha convertido se rellena con ceros.

Parmetros

En la tabla 6-2 se describen los parmetros de la funcin Convertir una cadena de caracteres ASCII en una cifra hexadecimal (ATH).
Parmetros de la funcin ATH (FC94) Declaracin Entrada Salida Entrada Entrada Salida Tipo de datos BOOL BOOL Pointer* INT WORD Area de memoria E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, L, P E, A, M, D, L, P Descripcin La entrada de habilitacin con estado de seal 1 activa el cuadro. La salida de habilitacin tiene el estado de seal 1 si la funcin se ejecuta sin errores. Apunta a la direccin inicial de una cadena ASCII. Cantidad de caracteres ASCII a convertir. Da el valor W#16#0000 cuando la funcin se ejecuta sin errores; si los valores son distintos de W#16#0000, vase la informacin sobre errores. Apunta a la direccin inicial de la tabla.

Tabla 6-2 Parmetro EN ENO IN N RET_VAL

OUT

Salida

Pointer*

A, M, D, L

* Puntero en formato de palabra doble cuando se trata de direccionamiento interrea indirecto por registro.

Informacin sobre errores

Si se encuentra algn carcter ASCII que no es vlido se convierte como si fuera 0. En este caso, el estado de seal de la salida de habilitacin (ENO) se pone a 0, y el valor de respuesta (RET_VAL) toma el valor W#16#0007.

Ejemplo

La figura 6-3 muestra cmo opera la funcin Convertir una cadena de caracteres ASCII en una cifra hexadecimal (ATH). La funcin se ejecuta cuando el estado de seal de la entrada E 0.0 es 1 (activada). El parmetro de entrada N = 5 indica que son cinco los caracteres ASCII a convertir. Estos caracteres estn almacenados en el bloque de datos 1 a partir de la direccin que indica el puntero IN, DB1.DBX10.0. La cadena de salida ser colocada a partir de la direccin que indica el puntero OUT, DB2.DBX0.0 (bloque de datos 2). Como en este caso hay una cantidad impar de caracteres ASCII de entrada, la mitad derecha del byte se rellena con ceros, dando como resultado el valor hexadecimal 0xC0. (La figura 6-4 muestra cul es el valor hexadecimal equivalente de cada carcter ASCII). Si la funcin se ejecuta sin errores, los estados de seal de la salida de habilitacin (ENO) y de la salida A 4.0 se ponen a 1 (activadas), y el valor de respuesta (RET_VAL) toma el valor W#16#0000.

6-4

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Funciones y bloques de funcin de conversin

E 0.0 EN P#DB1.DBX10.0 W#16#05 IN N

ATH FC94 ENO RET_VAL OUT MW0 P#DB2.DBX0.0

A 4.0

Antes de la ejecucin: Representacin de la cadena ASCII: B90AC


IN DBB10 = DBB11 = DBB12 = DBB13 = DBB14 = B#16#42 B#16#39 B#16#30 B#16#41 B#16#43

Despus de la ejecucin: Representacin del byte hexadecimal: B90AC0


OUT DBB0 = B#16#B9 DBB1 = B#16#0A DBB2 = B#16#C0

Figura 6-3

Convertir una cadena de caracteres ASCII en una cifra hexadecimal (ATH)

Carcter ASCII 0 1 2 3 4 5 6 7 8 9 A B C D E F

Valor hexadecimal ASCII 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 46

Cifra hexadecimal convertida 0 1 2 3 4 5 6 7 8 9 A B C D E F

Figura 6-4

Caracteres ASCII y sus valores hexadecimales equivalentes

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

6-5

Funciones y bloques de funcin de conversin

6.3

Convertir una cifra hexadecimal en una cadena de caracteres ASCII (HTA): FC95

Descripcin

La funcin Convertir una cifra hexadecimal en una cadena de caracteres ASCII (HTA) convierte las cifras hexadecimales indicadas por el puntero IN y las almacena en la cadena de caracteres que indica el puntero OUT. Como la cifra hexadecimal slo necesita 4 bits y el carcter ASCII requiere 8 bits, la palabra de salida tiene, lgicamente, una longitud dos veces mayor que la palabra de entrada. Cada cuarteto de la cifra decimal se convierte en un carcter colocndose en la salida ASCII en el mismo orden en que se ha ledo (primero se convierte el cuarteto de la cifra hexadecimal que est situado ms a la izquierda, y a continuacin el cuarteto situado a la derecha en la misma cifra.

Parmetros

En la tabla 6-3 se describen los parmetros de la funcin Convertir una cifra hexadecimal en una cadena de caracteres ASCII (HTA).
Parmetros de la funcin HTA (FC95) Declaracin Entrada Salida Entrada Entrada Salida Tipo de datos BOOL BOOL Pointer* WORD Pointer* Area de memoria E, A, M, D, L E, A, M, D, L E, A, M, D E, A, M, L, P A, M, D, L Descripcin La entrada de habilitacin con estado de seal 1 activa el cuadro. La salida de habilitacin tiene el estado de seal 1 si la funcin se ejecuta sin errores. Apunta a la direccin inicial de las cifras hexadecimales. Cantidad de bytes hexadecimales a convertir. Apunta a la direccin inicial de la tabla destino.

Tabla 6-3 Parmetro EN ENO IN N OUT

* Puntero en formato de palabra doble cuando se trata de direccionamiento interrea indirecto por registro.

Informacin sobre errores

Esta funcin no detecta condiciones de error.

6-6

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Funciones y bloques de funcin de conversin

Ejemplo

La figura 6-5 muestra cmo opera la funcin Convertir una cifra hexadecimal en una cadena de caracteres ASCII (HTA). La funcin se ejecuta cuando el estado de seal de la entrada E 0.0 es 1 (activada). El parmetro de entrada N = 3 indica que hay tres caracteres decimales a convertir. Los bytes hexadecimales estn almacenados en el bloque de datos 1, a partir de la direccin que indica el puntero IN, DB1.DBX10.0. La cadena de salida ser colocada a partir de la direccin que indica el puntero OUT, DB2.DBX0.0 (bloque de datos 2). (La figura 6-6 muestra cul es el equivalente ASCII de cada valor hexadecimal). Si la funcin se ejecuta sin errores, los estados de seal de la salida de habilitacin (ENO) y de la salida A 4.0 se ponen a 1 (activadas).

E 0.0 EN P#DB1.DBX10.0 W#16#03 IN N

HTA FC95 ENO OUT P#DB2.DBX0.0

A 4.0

Antes de la ejecucin: Representacin del byte hexadecimal: F97AC1 IN DBB10 = B#16#F9 DBB11 = B#16#7A DBB12 = B#16#C1 Despus de la ejecucin: Representacin de la cadena ASCII: F97AC1 OUT DBB0 = B#16#46 DBB1 = B#16#39 DBB2 = B#16#37 DBB3 = B#16#41 DBB4 = B#16#43 DBB5 = B#16#31
Figura 6-5 Convertir una cifra hexadecimal en una cadena de caracteres ASCII (HTA)

Dgito hexadecimal 0 1 2 3 4 5 6 7 8 9 A B C D E F

Valor hexadecimal ASCII 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 46

Caracter ASCII convertido 0 1 2 3 4 5 6 7 8 9 A B C D E F

Figura 6-6

Cifras hexadecimales y sus valores equivalentes ASCII

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

6-7

Funciones y bloques de funcin de conversin

6.4

Codificar una posicin binaria (ENCO): FC96

Descripcin

La funcin Codificar una posicin binaria (ENCO) convierte el contenido del parmetro IN codificndolo en una cifra binaria de 5 bits que corresponde a la posicin del bit situado a la derecha del todo en el parmetro IN, y devuelve el resultado como valor de la funcin. Cuando el parmetro IN tiene el valor 0000 0001 el valor 0000 0000, se devuelve el valor 0.

Parmetros

En la tabla 6-4 se describen los parmetros de la funcin Codificar una posicin binaria (ENCO).
Parmetros de la funcin ENCO (FC96) Declaracin Entrada Salida Entrada Salida Tipo de datos BOOL BOOL DWORD INT Area de memoria E, A, M, D, L E, A, M, D, L E, M, D, L, P, o constante A, M, D, L, P Descripcin La entrada de habilitacin con estado de seal 1 activa el cuadro. La salida de habilitacin tiene el estado de seal 1 si la funcin se ejecuta sin errores. Valor a codificar. Valor de respuesta (conteniendo una cifra binaria de 5 bits).

Tabla 6-4 Parmetro EN ENO IN RET_VAL

Informacin sobre errores Ejemplo

Esta funcin no detecta condiciones de error.

La figura 6-7 muestra cmo opera la funcin Codificar una posicin binaria (ENCO). La funcin se ejecuta cuando el estado de seal de la entrada E 0.0 es 1 (activada). Si la funcin se ejecuta sin errores, los estados de seal de la salida de habilitacin (ENO) y de la salida A 4.0 se ponen a 1 (activadas).

E 0.0

ENCO FC96 EN ENO RET_VAL MW0 IN

A 4.0

DW#16#12345678

RET_VAL

MW0 = 3

Figura 6-7

Codificar una posicin binaria (ENCO)

6-8

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Funciones y bloques de funcin de conversin

6.5

Decodificar una posicin binaria (DECO): FC97

Descripcin

La funcin Decodificar una posicin binaria (DECO) convierte una cifra binaria de 5 bits (0-31) especificada en la entrada IN decodificndola en un valor, que es el valor de respuesta de la funcin correspondiente a la posicin del bit. Cuando el valor de la entrada IN es mayor que 31 se realiza una operacin mdulo 32 para obtener una cifra binaria de 5 bits.

Parmetros

En la tabla 6-5 se describen los parmetros de la funcin Decodificar una posicin binaria (DECO).
Parmetros de la funcin DECO (FC97) Declaracin Entrada Salida Entrada Salida Tipo de datos BOOL BOOL WORD DWORD Area de memoria E, A, M, D, L E, A, M, D, L E, M, D, L, P, o constante A, M, D, L, P Descripcin La entrada de habilitacin con estado de seal 1 activa el cuadro. La salida de habilitacin tiene el estado de seal 1 si la funcin se ejecuta sin errores. Variable a decodificar. Valor de respuesta.

Tabla 6-5 Parmetro EN ENO IN RET_VAL

Informacin sobre errores Ejemplo

Esta funcin no detecta condiciones de error.

La figura 6-8 muestra cmo opera la funcin Decodificar una posicin binaria (DECO). La funcin se ejecuta cuando el estado de seal de la entrada E 0.0 es 1 (activada). Si la funcin se ejecuta sin errores, los estados de seal de la salida de habilitacin (ENO) y de la salida A 4.0 se ponen a 1 (activadas).

E 0.0

DECO FC97 EN ENO RET_VAL MD0 IN

A 4.0

W#16#0003

RET_VAL

MD0 = DW#16#00000008

Figura 6-8

Decodificar una posicin binaria (DECO)

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

6-9

Funciones y bloques de funcin de conversin

6.6

Generar el complemento a diez (BCDCPL): FC98

Descripcin

La funcin Generar el complemento a diez (BCDCPL) devuelve como valor de respuesta el complemento a diez de la cifra BCD de 7 dgitos que se haya indicado en la entrada IN. La frmula aritmtica de esta operacin es la siguiente: 10000000 (en BCD) valor BCD de 7 dgitos = complemento a diez (en BCD)

Parmetros

En la tabla 6-6 se describen los parmetros de la funcin Generar el complemento a diez (BCDCPL).
Parmetros de la funcin BCDCPL (FC98) Declaracin Entrada Salida Entrada Salida Tipo de datos BOOL BOOL DWORD DWORD Area de memoria E, A, M, D, L E, A, M, D, L E, M, D, L, P, o constante A, M, D, L, P Descripcin La entrada de habilitacin con estado de seal 1 activa el cuadro. La salida de habilitacin tiene el estado de seal 1 si la funcin se ejecuta sin errores. Cifra BCD de 7 dgitos. Valor de respuesta.

Tabla 6-6 Parmetro EN ENO IN RET_VAL

Informacin sobre errores Ejemplo

Esta funcin no detecta condiciones de error.

La figura 6-9 muestra cmo opera la funcin Generar el complemento a diez (BCDCPL). La funcin se ejecuta cuando el estado de seal de la entrada E 0.0 es 1 (activada). Si la funcin se ejecuta sin errores, los estados de seal de la salida de habilitacin (ENO) y de la salida A 4.0 se ponen a 1 (activadas).

E 0.0

BCDCPL FC98 EN ENO RET_VAL MD0 IN

A 4.0

DW#16#01234567

RET_VAL Figura 6-9

MD0 = DW#16#08765433

Generar el complemento a diez (BCDCPL)

6-10

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Funciones y bloques de funcin de conversin

6.7

Sumar la cantidad de bits activados (BITSUM): FC99

Descripcin

La funcin Sumar la cantidad de bits activados (BITSUM) cuenta qu cantidad de bits hay puestos a 1 (activados) en la entrada IN y devuelve dicha cantidad como valor de respuesta.

Parmetros

En la tabla 6-7 se describen los parmetros de la funcin Sumar la cantidad de bits activados (BITSUM).
Parmetros de la funcin BITSUM (FC99) Declaracin Entrada Salida Entrada Salida Tipo de datos BOOL BOOL DWORD INT Area de memoria E, A, M, D, L E, A, M, D, L E, M, D, L, P, o constante A, M, D, L, P Descripcin La entrada de habilitacin con estado de seal 1 activa el cuadro. La salida de habilitacin tiene el estado de seal 1 si la funcin se ejecuta sin errores. Variable en la que se van a contar los bits. Valor de respuesta.

Tabla 6-7 Parmetro EN ENO IN RET_VAL

Informacin sobre errores Ejemplo

Esta funcin no detecta condiciones de error.

La figura 6-10 muestra cmo opera la funcin Sumar la cantidad de bits activados (BITSUM). La funcin se ejecuta cuando el estado de seal de la entrada E 0.0 es 1 (activada). En este ejemplo, el valor devuelto en MW0 es 13 (D en la notacin hexadecimal), valor igual a la suma de bits activados en la palabra doble DW#16#12345678 (valor hexadecimal). Si la funcin se ejecuta sin errores, los estados de seal de la salida de habilitacin (ENO) y de la salida A 4.0 se ponen a 1 (activadas).

E 0.0

BITSUM FC99 EN ENO RET_VAL MW0 IN

A 4.0

DW#16#12345678

RET_VAL

MW0 = W#16#000D

Figura 6-10

Sumar la cantidad de bits activados (BITSUM)

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

6-11

Funciones y bloques de funcin de conversin

6.8

Escalar valores (SCALE): FC105

Descripcin

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

BIPOLAR:

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

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

Si el valor entero de entrada es mayor que K2, la salida (OUT) se une a HI_LIM y se indica un error. Si el valor entero de entrada es menor que K1, la salida se une a LO_LIM y se indica un error. Se puede efectuar la conversin escalar inversa programando los lmites de tal forma que el lmite inferior sea mayor que el lmite superior (LO_LIM > HI_LIM). En la conversin escalar inversa el valor de la salida disminuye cuando aumenta el valor de la entrada.

Parmetros

En la tabla 6-8 se describen los parmetros de la funcin Escalar valores (SCALE).


Parmetros de la funcin SCALE (FC105) Declaracin Entrada Salida Entrada Entrada Entrada Entrada Salida Salida Tipo de datos BOOL BOOL INT REAL REAL BOOL REAL WORD Area de memoria E, A, M, D, L E, A, M, D, L E, A, M, D, L, P, o constante E, A, M, D, L, P, o constante E, A, M, D, L, P, o constante E, A, M, D, L E, A, M, D, L, P E, A, M, D, L, P Descripcin La entrada de habilitacin con estado de seal 1 activa el cuadro. La salida de habilitacin tiene el estado de seal 1 si la funcin se ejecuta sin errores. Valor de entrada a convertir a escala en valor REAL. Lmite superior del rango escalar. Lmite inferior del rango escalar. El estado de seal 1 indica que el valor de entrada es bipolar; con el estado de seal 0 indica que es unipolar. Resultado de la conversin a escala. Da el valor W#16#0000 cuando la funcin se ejecuta sin errores; si los valores son distintos de W#16#0000, vase la informacin sobre errores.

Tabla 6-8 Parmetro EN ENO IN HI_LIM LO_LIM BIPOLAR OUT RET_VAL

6-12

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Funciones y bloques de funcin de conversin

Informacin sobre errores

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

Ejemplo

La figura 6-11 muestra cmo opera la funcin Escalar valores (SCALE). La funcin se ejecuta cuando el estado de seal de la entrada E 0.0 es 1 (activada). En este ejemplo, el valor entero 22 se convierte en un valor REAL escalar entre 0.0 y 100.0, y ste se escribe en la salida OUT. El valor de entrada es BIPOLAR, tal como lo indica el estado de seal de la entrada E2.0. Si la funcin se ejecuta sin errores, los estados de seal de la salida de habilitacin (ENO) y de la salida A 4.0 se ponen a 1 (activadas), y el valor de respuesta toma el valor W#16#0000.

E 0.0 EN MW10 MD20 MD30 E 2.0 IN HI_LIM

SCALE FC105 ENO RET_VAL OUT MW0 MD40

A 4.0

LO_LIM BIPOLAR

Antes de la ejecucin:
IN HI_LIM LO_LIM OUT BIPOLAR MW10 = 22 MD20 = 100.0 MD30 = 0.0 MD40 = 0.0 E 2.0 = TRUE

Despus de la ejecucin:
OUT Figura 6-11 Escalar valores (SCALE) MD40 = 50.03978588

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

6-13

Funciones y bloques de funcin de conversin

6.9

Desescalar valores (UNSCALE): FC106

Descripcin

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

BIPOLAR:

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

UNIPOLAR: Se supone que el valor entero de salida debe estar entre

Si el valor real de entrada queda fuera del rango comprendido entre los lmites inferior y superior de su tipo (BIPOLAR o UNIPOLAR), la salida (OUT) se fija al valor lmite ms cercano (a LO_LIM o a HI_LIM), y se devuelve un error.

Parmetros

En la tabla 6-9 se describen los parmetros de la funcin Desescalar valores (UNSCALE).


Parmetros de la funcin UNSCALE (FC106) Declaracin Entrada Salida Entrada Entrada Entrada Entrada Salida Salida Tipo de datos BOOL BOOL REAL REAL REAL BOOL INT WORD Area de memoria E, A, M, D, L E, A, M, D, L E, A, M, D, L, P, o constante E, A, M, D, L, P, o constante E, A, M, D, L, P, o constante E, A, M, D, L E, A, M, D, L, P E, A, M, D, L, P Descripcin La entrada de habilitacin con estado de seal 1 activa el cuadro. La salida de habilitacin tiene el estado de seal 1 si la funcin se ejecuta sin errores. Valor de entrada a desescalar convirtindolo en un valor entero. Lmite superior del rango escalar. Lmite inferior del rango escalar. El estado de seal 1 indica que el valor de entrada es bipolar; con el estado de seal 0 indica que es unipolar. Resultado del desescalado. Da el valor W#16#0000 cuando la funcin se ejecuta sin errores; si los valores son distintos de W#16#0000, vase la informacin sobre errores.

Tabla 6-9 Parmetro EN ENO IN HI_LIM LO_LIM BIPOLAR OUT RET_VAL

6-14

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Funciones y bloques de funcin de conversin

Informacin sobre errores

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

Ejemplo

La figura 6-12 muestra cmo opera la funcin Desescalar valores (UNSCALE). La funcin se ejecuta cuando el estado de seal de la entrada E 0.0 es 1 (activada). En este ejemplo, el valor REAL 50.03978588, escalado entre 0.0 y 100.0 se convierte en un valor INTEGER, y ste se escribe en la salida OUT. El valor de entrada es BIPOLAR, tal como lo indica el estado de seal de la entrada E2.0. Si la funcin se ejecuta sin errores, los estados de seal de la salida de habilitacin (ENO) y de la salida A 4.0 se ponen a 1 (activadas), y el valor de respuesta (RET_VAL) toma el valor W#16#0000.

E 0.0 EN MD10 MD20 MD30 E 2.0 IN

UNSCALE FC106 ENO RET_VAL OUT MW0 MW40

A 4.0

HI_LIM LO_LIM BIPOLAR

Antes de la ejecucin:
IN HI_LIM LO_LIM OUT BIPOLAR MD10 = 50.03978588 MD20 = 100.0 MD30 = 0.0 MW40 = 0 E 2.0 = TRUE

Despus de la ejecucin:
OUT Figura 6-12 MW40 = 22

Desescalar valores (UNSCALE)

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

6-15

Funciones y bloques de funcin de conversin

6.10 Algoritmo avanve/retardo (LEAD_LAG): FB80

Descripcin

El bloque de funcin Algoritmo avance/retardo (LEAD_LAG) permite procesar seales con una variable analgica. Una salida (OUT) se calcula en base a una entrada (IN) y a los valores indicados para la ganancia (GAIN), el avance (LD_TIME) y el retardo (LG_TIME). El valor de la ganancia tiene que ser mayor que cero. El algoritmo LEAD_LAG aplica la siguiente ecuacin:
siendo OUT =

LG_TIME LG_TIME + SAMPLE_T PREV_OUT + GAIN

LD_TIME + SAMPLE_T LG_TIME + SAMPLE_T IN GAIN

LD_TIME LG_TIME + SAMPLE_T PREV_IN

El bloque de funcin LEAD_LAG se utiliza comnmente junto con lazos para que sirva de compensador en el control anticipativo. El LEAD_LAG est dividido en dos partes. La fase de avance (lead) desplaza la fase de la salida del bloque de funcin anticipando la entrada; por el contrario, la fase de retardo (lag) desplaza la salida retardando la entrada. Como la funcin LAG equivale a una integracin, se puede emplear como supresor de interferencias o como filtro de paso bajo. La funcin LEAD equivale a una diferenciacin y es como un filtro de paso alto. La combinacin de ambas fases (LEAD_LAG) hace que la fase de salida retarde la entrada a bajas frecuencias y la anticipe a altas frecuencias. Por eso, LEAD_LAG puede usarse como si fuera un filtro de paso de banda.

6-16

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Funciones y bloques de funcin de conversin

Parmetros

En la tabla 6-10 se describen los parmetros del bloque de funcin Algoritmo avance/retardo (LEAD_LAG).
Parmetros del bloque de funcin LEAD_LAG (FB80) Declaracin Entrada Salida Entrada Entrada Salida Salida Tipo de datos BOOL BOOL REAL INT REAL WORD Area de memoria E, A, M, D, L E, A, M, D, L E, A, M, D, L, P, o constante E, A, M, D, L, P, o constante E, A, M, D, L, P, o constante E, A, M, D, L, P Descripcin La entrada de habilitacin con estado de seal 1 activa el cuadro. La salida de habilitacin tiene el estado de seal 1 si se ejecuta el bloque de funcin sin errores. Valor de entrada del periodo actual de muestreo a procesar. Tiempo de muestreo. Resultado de la funcin LEAD_LAG. Da el valor W#16#0000 cuando se ejecuta el bloque de funcin sin errores; si los valores son distintos de W#16#0000 vase la informacin sobre errores. Tiempo de avance en minutos. Tiempo de retardo en minutos. Ganancia en % / % (relacin del cambio en la salida con respecto al cambio en la entrada como estado constante). Entrada anterior. Salida anterior.

Tabla 6-10 Parmetro EN ENO IN SAMPLE_T OUT ERR_CODE

LD_TIME LG_TIME GAIN PREV_IN PREV_OUT

Esttico Esttico Esttico Esttico Esttico

REAL REAL REAL REAL REAL

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

Informacin sobre errores

El bloque de funcin LEAD_LAG no se ejecuta si GAIN es igual o menor que cero. En ese caso, el estado de seal de la salida de habilitacin (ENO) se pone a 0 y el cdigo de error ERR_CODE toma el valor W#16#0009.

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

6-17

Funciones y bloques de funcin de conversin

Ejemplo

La figura 6-13 muestra cmo opera el bloque de funcin Algoritmo avance/retardo (LEAD_LAG). El bloque de funcin se ejecuta cuando el estado de seal de la entrada E 0.0 es 1 (activada). En este ejemplo, el valor de entrada (IN) 2.0 se procesa aplicando el algoritmo LEAD_LAG y se obtiene como resultado la salida (OUT). Si el bloque de funcin se ejecuta sin errores, los estados de seal de la salida de habilitacin (ENO) y de la salida A 4.0 se ponen a 1 (activadas), y el cdigo de error (ERR_CODE) toma el valor W#16#0000. Nota Puede inicializar los parmetros estticos utilizando el editor de bloques de datos.

E 0.0 EN MD10 10 IN

DB80 LEAD_LAG FB80 ENO OUT ERR_CODE MD20 MW0

A 4.0

SAMPLE_T

Antes de la ejecucin:
IN OUT MD10 MD20 =2.0 =0.0

Instancia DB80 LD_TIME LG_TIME GAIN PREV_IN PREV_OUT DBD12 =2.0 DBD16 =2.0 DBD20 =1.0 DBD24 =6.0 DBD28 =6.0

Despus de la ejecucin: Instancia DB80


PREV_IN PREV_OUT OUT Figura 6-13 DBD24 =2.0 DBD28 =2.0 MD20 =2.0

Algoritmo avance/retardo (LEAD_LAG)

6-18

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Funcin en coma flotante

7
Descripcin Pgina
7-2

Este captulo describe la funcin (FC) en coma flotante, que puede aadir a las operaciones estndar para obtener una mayor flexibilidad en la programacin.

Apartado
7.1

Desviacin tpica (DEV): FC102

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

7-1

Funcin en coma flotante

7.1

Desviacin tpica (DEV): FC102

Descripcin

La funcin Desviacin tpica (DEV) calcula la desviacin tpica de un grupo de valores que estn almacenados en una tabla (TBL), y almacena el resultado en la salida (OUT). La desviacin tpica se calcula aplicando la siguiente frmula: Desviacin = tpica siendo: (N * SqSum) Sum2 N * (N 1)

Sum = la suma de valores de TBL N = la cantidad de valores de TBL SqSum = el cuadrado de la suma de todos los valores de TBL

En todos los clculos se utilizan valores en coma flotante IEEE, realizndose automticamente las conversiones de los tipos de datos que sean necesarias en cuanto se llama a la funcin.

El primer registro de la tabla indica la cantidad de elementos que tiene la tabla


(longitud de la tabla).

El segundo registro de la tabla indica el primer valor de la tabla. El tamao de los registros de la tabla y del valor calculado (OUT) los determina
el tipo de datos (E_TYPE).

Parmetros
Tabla 7-1 Parmetro EN ENO TBL OUT E_TYPE

En la tabla 7-1 se describen los parmetros de la funcin Desviacin tpica (DEV).


Parmetros de la funcin DEV (FC102) Declaracin Entrada Salida Entrada Entrada Entrada Tipo de datos BOOL BOOL Pointer* Pointer* BYTE Area de memoria E, A, M, D, L E, A, M, D, L E, A, M, D E, A, M, D E, A, M, D, L,P Descripcin La entrada de habilitacin con estado de seal 1 activa el cuadro. La salida de habilitacin tiene el estado de seal 1 si la funcin se ejecuta sin errores. Apunta a la direccin inicial de la tabla de valores. Apunta a la direccin del valor de desviacin tpica que se ha calculado. Indica de qu tipo son los datos de la tabla. Los tipos vlidos en la funcin DEV son: B#16#05 = INT B#16#07 = DINT B#16#08 = REAL Da el valor W#16#0000 cuando la funcin se ejecuta sin errores; si los valores son distintos de W#16#0000, vase la informacin sobre errores.

RET_VAL

Salida

WORD

E, A, M, D, L, P

* Puntero en formato de palabra doble cuando se trata de direccionamiento interrea indirecto por registro.

7-2

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Funcin en coma flotante

Informacin sobre errores

La funcin no ser ejecutada si se da una de las condiciones enumeradas en la tabla 7-2. En ese caso, el estado de seal de la salida de habilitacin (ENO) se pone a 0 y el valor de respuesta (RET_VAL) se ajusta como corresponde.
Tabla 7-2 RET_VAL W#16#0001 W#16#0002 W#16#0004 Condiciones de error con la funcin FC102 Significado El rea de memoria indicada para un parmetro de la funcin no es vlida. El tipo de datos (E_TYPE) no es vlido. La longitud de la tabla es cero.

Ejemplo

La figura 7-1 muestra cmo opera la funcin Desviacin tpica (DEV). La funcin se ejecuta cuando el estado de seal de la entrada E 0.0 es 1 (activada). En este ejemplo la tabla tiene cinco elementos, tal como indica la primera palabra de la tabla. El parmetro E_TYPE indica que los elementos de la tabla son del tipo REAL. Si la funcin se ejecuta sin errores, los estados de seal de la salida de habilitacin (ENO) y de la salida A 4.0 se ponen a 1 (activadas), y el valor de respuesta (RET_VAL) toma el valor W#16#0000.

E 0.0 EN P#DB1.DBX100.0 P#DB1.DBX130.0 B#16#08 TBL OUT

DEV FC102 ENO RET_VAL MW0

A 4.0

E_TYPE

Antes de la ejecucin:
TBL (long. de tabla) DBW100=W#16#0005 DBD102 = 2.0 DBD106 = 4.0 DBD110 = 8.0 DBD114 = 16.0 DBD118 = 32.0 DBD130 = 0.0

OUT

Despus de la ejecucin:
OUT Figura 7-1 DBD130 = 12.19836055 Desviacin tpica (DEV)

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

7-3

Funcin en coma flotante

7-4

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Bloques de funcin de comparacin

8
Pgina
8-2 8-6

Este captulo describe los bloques de funcin (FB) de comparacin que puede aadir a las operaciones estndar de que ya dispone, aumentando as la flexibilidad en la programacin.

Apartado
8.1 8.2

Descripcin
Comparar ndice matriz (IMC): FB83 Barrido de matriz (SMC): FB84

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

8-1

Bloques de funcin de comparacin

8.1

Comparar ndice matriz (IMC): FB83

Descripcin

El bloque de funcin Comparar ndice matriz (IMC) compara el estado de seal de hasta 16 bits de entrada (de IN_BIT0 a IN_BIT15) programados con los correspondientes bits de una mscara de comparacin. Se pueden programar hasta un mximo de 16 pasos con las mscaras. El bit IN_BIT0 es comparado con CMP_VAL[x, 0], siendo x el nmero de paso; el bit IN_BIT1 es comparado con CMP_VAL [x, 1], y as sucesivamente. El valor de CMP_STEP indica el nmero de paso de la mscara con la que se realiza la comparacin. Los bits de entrada no programados y los bits no programados de las mscaras tienen preseleccionado el estado de seal FALSE. Si se encuentra una correspondencia al realizar la comparacin, el estado de seal de la salida (OUT) se pone a 1; en caso contrario se pondr a 0.

8-2

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Bloques de funcin de comparacin

Parmetros

En la tabla 8-1 se describen los parmetros del bloque de funcin Comparar ndice matriz (IMC).
Parmetros del bloque de funcin IMC (FB83) Declaracin Entrada Salida Entrada Entrada Entrada Entrada Entrada Entrada Entrada Entrada Entrada Entrada Entrada Entrada Entrada Entrada Entrada Entrada Entrada Salida Tipo de datos BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BYTE BOOL Area de memoria E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L, P E, A, M, D, L Descripcin La entrada de habilitacin con estado de seal 1 activa el cuadro. La salida de habilitacin tiene el estado de seal 1 si se ejecuta el bloque de funcin sin errores. Bit de entrada 0 a comparar con el bit 0 de la mscara. Bit de entrada 1 a comparar con el bit 1 de la mscara. Bit de entrada 2 a comparar con el bit 2 de la mscara. Bit de entrada 3 a comparar con el bit 3 de la mscara. Bit de entrada 4 a comparar con el bit 4 de la mscara. Bit de entrada 5 a comparar con el bit 5 de la mscara. Bit de entrada 6 a comparar con el bit 6 de la mscara. Bit de entrada 7 a comparar con el bit 7 de la mscara. Bit de entrada 8 a comparar con el bit 8 de la mscara. Bit de entrada 9 a comparar con el bit 9 de la mscara. Bit de entrada 10 a comparar con el bit 10 de la mscara. Bit de entrada 11 a comparar con el bit 11 de la mscara. Bit de entrada 12 a comparar con el bit 12 de la mscara. Bit de entrada 13 a comparar con el bit 13 de la mscara. Bit de entrada 14 a comparar con el bit 14 de la mscara. Bit de entrada 15 a comparar con el bit 15 de la mscara. Nmero de paso de la mscara con la que se efecta la comparacin. El estado de seal 1 indica que se ha encontrado una correspondencia en la comparacin; el estado de seal 0 indica que no se ha encontrado ninguna. Da el valor W#16#0000 cuando la funcin se ejecuta sin errores; si los valores son distintos de W#16#0000, vase la informacin sobre errores. Mscaras de comparacin [de 1 a 15, de 1 a 15]: el primer nmero del ndice es el del paso, el segundo es el nmero de bit de la mscara.

Tabla 8-1 Parmetro EN ENO IN_BIT0 IN_BIT1 IN_BIT2 IN_BIT3 IN_BIT4 IN_BIT5 IN_BIT6 IN_BIT7 IN_BIT8 IN_BIT9 IN_BIT10 IN_BIT11 IN_BIT12 IN_BIT13 IN_BIT14 IN_BIT15 CMP_STEP OUT

ERR_CODE

Salida

WORD

E, A, M, D, L, P

CMP_VAL

Esttico

ARRAY OF BOOL

E, A, M, D, L

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

8-3

Bloques de funcin de comparacin

Informacin sobre errores

El bloque de funcin no se ejecutar si el valor de CMP_STEP es mayor que 15. En ese caso, el estado de seal de la salida de habilitacin (ENO) se pone a 0 y el cdigo de error ERR_CODE toma el valor W#16#000A.

Ejemplo

La figura 8-1 muestra cmo opera el bloque de funcin Comparar ndice matriz (IMC). El bloque de funcin se ejecuta cuando el estado de seal de la entrada E 0.0 es 1 (activada). En este ejemplo, los 16 bits de entrada se comparan con la mscara para el paso 2, tal como lo indica el parmetro CMP_STEP. Una vez ejecutada la funcin, el estado de seal de OUT se pone en TRUE, ya que los bits de entrada se corresponden con la mscara para el paso 2. Si la funcin se ejecuta sin errores, los estados de seal de la salida de habilitacin (ENO) y de la salida A 4.0 se ponen a 1 (activadas), y el cdigo de error (ERR_CODE) toma el valor W#16#0000. Nota Puede inicializar los parmetros estticos utilizando el editor de bloques de datos.

8-4

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Bloques de funcin de comparacin

E 0.0 EN M0.0 M0.1

DB83 IMC FB83

A 4.0 ENO OUT ERR_CODE A 2.0 MW0

IN_BIT0 IN_BIT1 M0.2 IN_BIT2 M0.3 IN_BIT3 M0.4 M0.5 IN_BIT5 M0.6 IN_BIT6 M0.7 IN_BIT7 M1.0 IN_BIT8 M1.1 IN_BIT9 M1.2 M1.3 IN_BIT11 M1.4 IN_BIT12 M1.5 IN_BIT13 M1.6 IN_BIT14 M1.7 IN_BIT15 B#16#02 Antes de la ejecucin: IN_BIT0 M0.0 = TRUE IN_BIT1 M0.1 = TRUE IN_BIT2 M0.2 = FALSE IN_BIT3 M0.3 = TRUE IN_BIT4 M0.4 = TRUE IN_BIT5 M0.5 = FALSE IN_BIT6 M0.6 = TRUE IN_BIT7 M0.7 = TRUE IN_BIT8 M1.0 = FALSE IN_BIT9 M1.1 = TRUE IN_BIT10 M1.2 = TRUE IN_BIT11 M1.3 = FALSE IN_BIT12 M1.4 = TRUE IN_BIT13 M1.5 = TRUE IN_BIT14 M1.6 = FALSE IN_BIT15 M1.7 = TRUE OUT A 2.0 = FALSE CMP_STEP <comparar> <comparar> <comparar> <comparar> <comparar> <comparar> <comparar> <comparar> <comparar> <comparar> <comparar> <comparar> <comparar> <comparar> <comparar> <comparar> IN_BIT10 IN_BIT4

Instancia DB83 CMP_VAL [2, 0] CMP_VAL [2, 1] CMP_VAL [2, 2] CMP_VAL [2, 3] CMP_VAL [2, 4] CMP_VAL [2, 5] CMP_VAL [2, 6] CMP_VAL [2, 7] CMP_VAL [2, 8] CMP_VAL [2, 9] CMP_VAL [2, 10] CMP_VAL [2, 11] CMP_VAL [2, 12] CMP_VAL [2, 13] CMP_VAL [2, 14] CMP_VAL [2, 15]

DBX12.0 DBX12.1 DBX12.2 DBX12.3 DBX12.4 DBX12.5 DBX12.6 DBX12.7 DBX13.0 DBX13.1 DBX13.2 DBX13.3 DBX13.4 DBX13.5 DBX13.6 DBX13.7

=TRUE =TRUE =FALSE =TRUE =TRUE =FALSE =TRUE =TRUE =FALSE =TRUE =TRUE =FALSE =TRUE =TRUE =FALSE =TRUE

Nota: Se muestran nicamente los valores que forman la mscara para el paso 2. Los otros pasos se programan de forma similar. Despus de la ejecucin: OUT Figura 8-1 Comparar ndice matriz (IMC) A 2.0 = TRUE

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

8-5

Bloques de funcin de comparacin

8.2

Barrido de matriz (SMC): FB84

Descripcin

El bloque de funcin Barrido de matriz (SMC) compara el estado de seal de hasta 16 bits de entrada (de IN_BIT0 a IN_BIT15) programados con los correspondientes bits de la mscara de comparacin de cada paso, comenzando por el paso 1 y continuando la comparacin sucesivamente hasta el ltimo paso programado (LAST), o hasta que se haya encontrado una correspondencia. El bit IN_BIT0 es comparado con CMP_VAL[x, 0], siendo x el nmero del paso; el bit IN_BIT1 es comparado con CMP_VAL [x, 1], y as sucesivamente. Cuando se encuentra una correspondencia, el estado de seal de la salida (OUT) se pone a 1 y se escribe en OUT_STEP la mscara en la que se ha encontrado la correspondencia. Los bits de entrada no programados y los bits no programados de las mscaras tienen preseleccionado el estado de seal FALSE. Si hay ms de un paso que tiene una mscara correspondiente OUT_STEP indica solamente la primera correspondencia que se ha encontrado. Si no se ha encontrado ninguna correspondencia, el estado de seal de la salida (OUT) se pone a 0 y OUT_STEP tiene el valor LAST + 1. En la tabla 8-2 se describen los parmetros de la funcin Barrido de matriz (SMC).
Parmetros de la funcin SMC (FB84) Declaracin Entrada Salida Entrada Entrada Entrada Entrada Entrada Entrada Entrada Entrada Entrada Entrada Entrada Entrada Entrada Entrada Entrada Entrada Salida Tipo de datos BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL Area de memoria E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L E, A, M, D, L Descripcin La entrada de habilitacin con estado de seal 1 activa el cuadro. La salida de habilitacin tiene el estado de seal 1 si se ejecuta el bloque de funcin sin errores. Bit de entrada 0 a comparar con el bit 0 de la mscara. Bit de entrada 1 a comparar con el bit 1 de la mscara. Bit de entrada 2 a comparar con el bit 2 de la mscara. Bit de entrada 3 a comparar con el bit 3 de la mscara. Bit de entrada 4 a comparar con el bit 4 de la mscara. Bit de entrada 5 a comparar con el bit 5 de la mscara. Bit de entrada 6 a comparar con el bit 6 de la mscara. Bit de entrada 7 a comparar con el bit 7 de la mscara. Bit de entrada 8 a comparar con el bit 8 de la mscara. Bit de entrada 9 a comparar con el bit 9 de la mscara. Bit de entrada 10 a comparar con el bit 10 de la mscara. Bit de entrada 11 a comparar con el bit 11 de la mscara. Bit de entrada 12 a comparar con el bit 12 de la mscara. Bit de entrada 13 a comparar con el bit 13 de la mscara. Bit de entrada 14 a comparar con el bit 14 de la mscara. Bit de entrada 15 a comparar con el bit 15 de la mscara. El estado de seal 1 indica que se ha encontrado una correspondencia en la comparacin; el estado de seal 0 indica que no se ha encontrado ninguna.

Parmetros

Tabla 8-2 Parmetro EN ENO IN_BIT0 IN_BIT1 IN_BIT2 IN_BIT3 IN_BIT4 IN_BIT5 IN_BIT6 IN_BIT7 IN_BIT8 IN_BIT9 IN_BIT10 IN_BIT11 IN_BIT12 IN_BIT13 IN_BIT14 IN_BIT15 OUT

8-6

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Bloques de funcin de comparacin

Tabla 8-2 Parmetro ERR_CODE

Parmetros de la funcin SMC (FB84) (continuacin) Declaracin Salida Tipo de datos WORD Area de memoria E, A, M, D, L, P Descripcin Devuelve el valor W#16#0000 cuando la funcin se ejecuta sin errores; si los valores son distintos de W#16#0000, vase la informacin sobre errores. Contiene el nmero del paso con la mscara que se corresponde o, si no se ha encontrado correspondencia, contiene un nmero de paso igual a LAST + 1. Indica el nmero del ltimo paso en que se tiene que buscar una mscara correspondiente. Mscaras de comparacin [de 1 a 15, de 1 a 15]: el primer nmero del ndice es el del paso, el segundo es el nmero del bit de la mscara.

OUT_STEP

Salida

BOOL

E, A, M, D, L, P

LAST CMP_VAL

Esttico Esttico

BYTE ARRAY OF BOOL

E, A, M, D, L, P E, A, M, D, L

Informacin sobre errores

El bloque de funcin no se ejecutar si el valor de LAST es mayor que 15. En este caso, el estado de seal de la salida de habilitacin (ENO) se pone a 0 y el cdigo de error ERR_CODE toma el valor W#16#000E.

Ejemplo

La figura 8-2 muestra cmo opera el bloque de funcin Barrido de matriz (SMC). El bloque de funcin se ejecuta cuando el estado de seal de la entrada E 0.0 es 1 (activada). En este ejemplo, los 16 bits de entrada se compararn con las mscaras para los pasos 0 a 5 (tal como lo indica el parmetro LAST), o hasta que se haya encontrado una correspondencia. De hecho, slo se realiza el barrido de las mscaras 0 a 2, ya que la mscara para el paso 2 se corresponde con los bits de entrada. Si se ejecuta el bloque de funcin sin errores, los estados de seal de la salida de habilitacin (ENO) y de la salida A 4.0 se ponen a 1 (activadas), y el cdigo de error (ERR_CODE) toma el valor W#16#0000. Nota Puede inicializar los parmetros estticos utilizando el editor de bloques de datos.

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

8-7

Bloques de funcin de comparacin

E 0.0 EN M0.0 M0.1 M0.2 M0.3 M0.4 M0.5 IN_BIT5 M0.6 M0.7 M1.0 M1.1 M1.2 M1.3 IN_BIT11 M1.4 IN_BIT12 M1.5 M1.6 M1.7 IN_BIT15 Antes de la ejecucin: IN_BIT0 M0.0 = IN_BIT1 M0.1 = IN_BIT2 M0.2 = IN_BIT3 M0.3 = IN_BIT4 M0.4 = IN_BIT5 M0.5 = IN_BIT6 M0.6 = IN_BIT7 M0.7 = IN_BIT8 M1.0 = IN_BIT9 M1.1 = IN_BIT10 M1.2 = IN_BIT11 M1.3 = IN_BIT12 M1.4 = IN_BIT13 M1.5 = IN_BIT14 M1.6 = IN_BIT15 M1.7 = OUT OUT_STEP TRUE TRUE FALSE TRUE TRUE FALSE TRUE TRUE FALSE TRUE TRUE FALSE TRUE TRUE FALSE TRUE IN_BIT13 IN_BIT14 IN_BIT8 IN_BIT9 IN_BIT10 IN_BIT6 IN_BIT7 IN_BIT2 IN_BIT3 IN_BIT4 IN_BIT0 IN_BIT1

DB84 SMC FB84

A 4.0 ENO OUT A 2.0 MB10

OUT_STEP

<compare to> <compare to> <compare to> <compare to> <compare to> <compare to> <compare to> <compare to> <compare to> <compare to> <compare to> <compare to> <compare to> <compare to> <compare to> <compare to>

Instancia DB84 CMP_VAL [2, 0] CMP_VAL [2, 1] CMP_VAL [2, 2] CMP_VAL [2, 3] CMP_VAL [2, 4] CMP_VAL [2, 5] CMP_VAL [2, 6] CMP_VAL [2, 7] CMP_VAL [2, 8] CMP_VAL [2, 9] CMP_VAL [2, 10] CMP_VAL [2, 11] CMP_VAL [2, 12] CMP_VAL [2, 13] CMP_VAL [2, 14] CMP_VAL [2, 15]

DBX12.0 DBX12.1 DBX12.2 DBX12.3 DBX12.4 DBX12.5 DBX12.6 DBX12.7 DBX13.0 DBX13.1 DBX13.2 DBX13.3 DBX13.4 DBX13.5 DBX13.6 DBX13.7

= = = = = = = = = = = = = = = =

TRUE TRUE FALSE TRUE TRUE FALSE TRUE TRUE FALSE TRUE TRUE FALSE TRUE TRUE FALSE TRUE

A2.0 = FALSE MB10 = B#16#00 Instancia DB84 LAST DB84 = B#16#05 Nota: Se muestran nicamente los valores que forman la mscara para el paso 2. Los otros pasos se programar de forma similar. Despus de la ejecucin: OUT A2.0 = TRUE OUT_STEP MB10 = B#16#02 Figura 8-2 Barrido de matriz (SMC)

8-8

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Glosario

A
Area de memoria Un rea de memoria es el rea de la CPU donde una instruccin encuentra un valor (objeto de datos) con el que realizar una operacin. Su autmata programable tiene las siguientes reas de memoria, reas que puede definir como parte del operando de una instruccin:

Imagen del proceso de las entradas Imagen del proceso de las salidas Marcas Periferia Temporizadores Contadores Bloques de datos Datos temporales (datos locales dinmicos)

B
Bit de resultado binario Al bit 8 de la palabra de estado se le denomina bit de resultado binario (bit RB). El bit RB establece un enlace entre el procesamiento de bits y palabras. Con este bit, su programa puede interpretar el resultado de una operacin con palabras como un resultado binario e integrar el resultado en una cadena binaria. El bit RB le permite, por ejemplo, escribir un bloque de funcin (FB) o una funcin (FC) en la Lista de Instrucciones (AWL, vase manual de referencia STEP 7 Lista de instrucciones AWL), y llamar luego a ese FB o a esa FC desde el Esquema de contactos KOP Cuando usted escribe un bloque de funcin (FB) o una funcin (FC) que quiere llamar luego desde KOP, tiene que gestionar el bit RB, tanto si escribe el FB (o la FC) en AWL como si lo hace en KOP. El bit RB corresponde a la salida de habilitacin (ENO) de un cuadro de KOP. Deber usar la operacin SAVE (en AWL) o la bobina -(SAVE) (en KOP) para almacenar el RLO en el bit RB atendiendo a los siguientes criterios:

En el bit RB se almacenar el RLO 1 si el FB o la FC se ha ejecutado sin errores.

En el bit RB se almacenar el RLO 0 si al ejecutar el FB o la FC ha habido


algn error.
Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Glosario-1

Glosario

Debe programar estas operaciones al final del FB o de la FC de tal modo que stas sean realmente las ltimas operaciones que se ejecuten en el bloque. Precaucin Puede ocurrir que el bit RB sea puesto a 0 involuntariamente. Si al escribir bloques de funcin y funciones en KOP no gestiona el bit RB del modo arriba descrito, un FB o una FC pueden sobrescribir el bit RB de otro FB u otra FC. Con el fin de evitar que ello pueda ocurrir, almacene el RLO al final de cada FB o FC del modo arriba descrito.

Bloque de datos (DB)

Un bloque de datos (DB) almacena los datos del programa de usuario. Es usted mismo quien define la estructura de la informacin que se almacena en el DB. Esta informacin se puede utilizar , o bien de forma compartida, es decir, de modo que todos los bloques lgicos de un programa tengan acceso a ella, o bien emplendola como instancia especfica de un determinado FB (de tal forma que la estructura del DB est vinculada a la tabla de declaracin de variables del FB).

Bloque de datos de instancia (DB)

Un bloque de datos (DB) de instancia aporta memoria para una determinada llamada de un FB. Creando instancias mltiples (bloques de datos de instancia) de un FB puede usar un FB para controlar varios elementos. En la estructura de un DB de instancia se refleja la tabla de declaracin de variables de un FB. El DB de instancia almacena los parmetros actuales de las variables in, out, in_out y var.

Bloque de funcin (FB)

Un bloque de funcin (FB) es un bloque lgico que contiene un segmento de un programa y tiene asociado un rea de memoria. Cada vez que se llama a un FB hay que aportar un bloque de datos (DB de instancia). Se puede llamar al mismo FB varias veces utilizando siempre un DB de instancia diferente. Los parmetros y las variables estticas del FB se almacenan en el DB de instancia.

Bloque de funcin del sistema (SFB)

Un bloque de funcin del sistema (SFB) es un tipo de bloque de funcin (FB) que est integrado en el sistema operativo de STEP 7. Puede llamar a los SFB desde su programa. De forma similar a un FB, el SFB tiene su propia memoria de trabajo, en la cual se pueden almacenar los datos hasta que se vuelva a llamar otra vez a ese mismo SFB. Dicha memoria est implementada en forma de bloque de datos de instancia (DB de instancia). Este DB de instancia lo tiene que crear usted mismo (se abre durante la instruccin de llamada). Dado que los SFB forman parte del sistema operativo no necesita cargarlos.

Bloque lgico

Los bloques lgicos son bloques de STEP 7 que contienen el programa para la lgica de control. Se distinguen cinco subtipos: los bloques de organizacin (OB), las funciones (FC), los bloques de funcin (FB), las funciones de sistema (SFC) y los bloques de funcin del sistema (SFB). Los bloques de datos (DB), que contienen nicamente datos, no forman parte del grupo de los bloques lgicos.

Glosario-2

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Glosario

C
Circuito excitado Un circuito excitado (lnea de corriente) es una hilera con instrucciones KOP que generalmente incluye contactos de entradas y cuadros con instrucciones, y que termina con una operacin de salida al final de la lnea. En el Esquema de contactos KOP de STEP 7, un circuito constituye un segmento.

CPU

La unidad central de procesamiento o mdulo central contiene el programa de usuario y procesa los datos del autmata programable (PLC).

D
Direccionamiento absoluto Tipo de direccionamiento que indica la direccin real que tiene una determinada unidad de datos dentro de la memoria de una CPU. El direccionamiento absoluto permite referenciar una seal en la periferia, por ejemplo utilizando una direccin que incluya el tipo de seal (E si es una entrada, A si es una salida), el nmero del mdulo perifrico y la seal concreta. Ej.: A 4.0. El autmata programable evala las direcciones absolutas sin tener que recurrir a una tabla de smbolos. Vase Direccionamiento simblico.

Direccionamiento directo

Tipo de direccionamiento en el que el operando de una instruccin seala directamente la direccin del valor con el que se debe realizar la operacin. Comprese con Direccionamiento inmediato.

Direccionamiento inmediato

Tipo de direccionamiento en el cual el valor con el que debe operar la instruccin est indicado como parmetro de entrada. Este valor es el operando de la instruccin. Comprese con Direccionamiento directo .

Direccionamiento simblico

Si bien todos los elementos de la CPU tienen una direccin absoluta (p. ej.: E 0.0), tambin les puede dar un nombre simblico, que luego podr emplear para el direccionamiento. A la entrada E 1.3 le podra dar, por ejemplo, el nombre bomba_2_acuse. Los nombres simblicos se definen dentro de una tabla de smbolos, que puede crear utilizando el Editor de Smbolos.

E
Esquema de contactos (KOP) El Esquema de contactos (KOP) es uno de los dos lenguajes del software de programacin STEP 7 que puede aplicar para programar su autmata programable S7-300/S7-400. KOP es un lenguaje grfico cuyos elementos se asemejan a los de un esquema de control de circuitos.

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Glosario-3

Glosario

F
Funcin (FC) Una funcin (FC) es un bloque lgico que contiene un segmento de un programa pero que no tiene asociada ningn rea de memoria. Una FC acta como una subrutina en un programa de computadora. Usted crea funciones y las llama desde su programa. Como su programa puede llamar repetidas veces a una FC (aplicando valores diferentes en cada llamada), la FC ha sido definida como un bloquereutilizable. Cuando la FC termina el procesamiento se vuelven a reasignar los datos locales temporales que ha utilizado.

Funcin de sistema (SFC)

Una funcin de sistema (SFC) es una funcin preprogramada, cuya funcionalidad ya ha sido comprobada, y que est integrada en el sistema operativo de STEP 7. Puede llamar a las SFC desde su programa. Como estas funciones forman parte del sistema operativo no ocupan espacio en la memoria principal. Al igual que las FC, las SFC no requieren un DB de instancia para aplicarlas.

I
Identificador del operando El identificador del operando es la parte del operando de una instruccin que contiene la informacin sobre aquel rea de memoria donde la instruccin encuentra el valor (objeto de datos) con el que debe ejecutar la operacin. Ejemplo: En el operando EB10, EB es el identificador del operando (E indica el rea de memoria de las entradas y B indica un byte dentro de ese rea).

L
Lista de instrucciones La lista de instrucciones AWL es uno de los dos lenguajes del software de programacin STEP 7 mediante los cuales puede comunicar con su autmata programable S7-300/S7-400. Cada instruccin del programa de usuario incluye una operacin en la cual se usa un nemnico para representar una funcin del autmata programable.

M
Master Control Relay El Master Control Relay (MCR) es un interruptor principal del esquema de contactos (KOP) que sirve para energizar (activar) y desenergizar (desactivar) el flujo de corriente en el circuito. A un circuito desenergizado le corresponde una secuencia de operaciones que escribe ceros en vez del valor calculado, o una secuencia de operaciones que hacen que el valor existente en la memoria no cambie.

Glosario-4

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Glosario

N
Nemnicos Modo de representacin abreviada de los operandos y las operaciones en el programa (Ej.: E significa entrada, U es la representacin nemnica de la operacin lgica Y). STEP 7 soporta la representacin internacional (basada en el modo de representacin alemn del juego de operaciones y convenciones SIMATIC para el direccionamiento).

O
Operacin Una operacin del Esquema de contactos KOP ordena a la CPU de su autmata programable qu funcin debe realizar ste. Las operaciones KOP pueden ser elementos y cuadros.

Operando

El operando de una instruccin del Esquema de contactos (KOP) indica una constante o la direccin donde la instruccin encuentra el valor con el que tiene que ejecutar la operacin. El operando puede tener un nombre simblico, una designacin absoluta, o una combinacin de los dos anteriores. El operando puede remitir a:

una constante, el valor de un temporizador o de un contador, o una cadena de


caracteres ASCII;

una direccin en la palabra de estado del autmata programable; un bloque de datos y una direccin dentro del rea de memoria del bloque de
datos;

una funcin (FC), un bloque de funcin (FB), una funcin de sistema (SFC) integrada, un bloque de funcin del sistema (SFB) integrado y el nmero de la funcin o del bloque;

una meta para una operacin de salto; un identificador del operando y una direccin del rea de memoria indicada por
el identificador (p. ej.: E 1.0);

el nmero de un temporizador o de un contador.


La direccin de una operacin tambin se denomina operando.

P
Parmetro actual Un parmetro actual es un operando o un valor que se suministra como entrada o como salida cuando se llama a un bloque de funcin (FB) o a una funcin (FC). Los parmetros actuales corresponden a los respectivos parmetros formales que estn declarados en la tabla de declaracin de variables del FB o de la FC en cuestin.

Parmetro formal

Los parmetros formales estn declarados en la tabla de declaracin de variables de un FB o de una FC. Al llamar a un FB o a una FC hay que asignar a cada parmetro formal un parmetro actual (que puede ser, o un operando, o un valor).

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Glosario-5

Glosario

Programa de usuario

El programa de usuario contiene la lgica de control para poder realizar un proyecto de automatizacin. Dicha lgica de control se almacena en forma de instrucciones dirigidas al autmata programable (PLC) que est controlando la planta industrial o el proceso.

Puntero

Un puntero es un registro que apunta a la direccin de una variable. En vez de un valor, un puntero tiene un operando. Al asignar a un parmetro actual el tipo de datos puntero se le indica el operando. En STEP 7 puede entrar el puntero, o bien en formato de puntero, o simplemente como operando (p. ej.: M 50.0). El siguiente es un ejemplo de formato de puntero para acceder a los datos a partir de M 50.0: P#M50.0

R
Resultado lgico (RLO) Al bit 1 de la palabra de estado se le denomina resultado lgico (bit RLO). El bit RLO almacena el resultado de una operacin lgica o de una comparacin aritmtica. El estado de seal del bit RLO suministra informacin sobre el sentido de circulacin de la corriente. El estado de seal 1 indica que hay flujo de corriente (activado); el estado de seal 0 indica que no hay flujo (desactivado). Por ejemplo: la primera operacin en un circuito de KOP comprueba el estado de seal de un contacto y da el resultado 1 0, segn haya flujo o no. La operacin almacena entonces el resultado de esta comprobacin en el bit RLO. La segunda operacin que se realiza en un circuito de KOP tambin comprueba el estado de seal de un contacto y da un resultado. A continuacin, la operacin compara el resultado con el valor almacenado en el bit RLO de la palabra de estado, siguiendo los principios de la lgica de Boole. El resultado de esta operacin lgica se almacena en el bit RLO de la palabra de estado, reemplazando al valor que haba antes en el bit RLO. Todas las operaciones subsiguientes que se ejecuten en el circuito realizarn una operacin lgica con dos valores: el del resultado dado cuando la operacin comprueba el estado de seal del contacto, y el resultado del RLO actual. Puede utilizar las operaciones lgicas booleanas para asignar al RLO el estado del contenido de una direccin de operando. Tambin puede usar el RLO para iniciar operaciones de salto.

S
Segmento En un esquema de contactos KOP de STEP 7 se llama segmento a un circuito energizado que contiene operaciones KOP. Comprese con Circuito .

T
Tabla de declaracin de variables Todos los bloques lgicos tienen una tabla de declaracin de variables. Al introducir informacin en dicha tabla usted declara (es decir, define) los parmetros y variables que utiliza el bloque.

Glosario-6

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Glosario

Tipos de datos

A los datos que se van a usar en un programa se les asigna un tipo de datos determinado. Al definir nombres simblicos en el editor de smbolos, o al definir variables locales de un bloque en la tabla de declaracin de variables, tiene que especificar de qu tipo de datos se trata. El tipo de datos define la longitud y el modo de organizacin de los bits en la memoria reservada para la CPU. Se distingue entre tipos de datos simples y compuestos.

Tipos de datos simples: BOOL, BYTE, WORD (palabra), DWORD (palabra


doble), CHAR (carcter), INT (entero, 16 bits), DINT (entero doble, 32 bits), REAL (coma flotante), TIME (hora), DATE (fecha), TOD (hora del da) y S5TIME. El sistema operativo asigna a cada tipo de datos simple una determinada longitud en la memoria. Por ejemplo, un tipo de datos booleano (BOOL) tiene un bit, un byte (BYTE) tiene 8 bits, una palabra (WORD) tiene 2 bytes (o 16 bits) y una palabra doble (DWORD) tiene 4 bytes (o 32 bits).

Tipos de datos compuestos: DT (DATE_AND_TIME, fecha y hora), STRING


(con un mximo de 255 caracteres), STRUCT (estructura) y ARRAY (array o matriz). Caracterstica comn de los tipos de datos compuestos es que su longitud es mayor de 32 bits (4 bytes). Puede realizar combinaciones de distintos tipos de datos, definiendo un grupo de tipos de datos en una estructura, o definiendo una cantidad determinada de tipos de datos en un array.

Parameter types: TIMER (timer number), COUNTER (counter number),


BLOCK_[DB, FB, FC, SDB, SFC, SFB] (number of the type of block identified), POINTER (pointer reference to an address), or ANY (allows an undefined, or any, data type).

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Glosario-7

Glosario

Glosario-8

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

ndice alfabtico
A
Activar inmediatamente un rea de salida (SETI), 1-81-10 Activar un rea de marcas o de periferia en la imagen del proceso (SET), 1-61-7 Activar un temporizador como retardo a la conexin con memoria (TONR), 5-25-3 Acumular/distribuir datos de tabla (PACK), 4-4 Alarma de tiempo para control discreto (DCAT), 5-4 Alarma de tiempo para control motor (MCAT), 5-7 Algoritmo avance/retardo (LEAD_LAG), 6-16 Almacenamiento de las funciones (FCs), iii Almacenar datos en el registro de desplazamiento (WSR), 3-23-3 Aadir un elemento a una tabla (ATT), 2-22-3 Asistencia tcnica, v Copiar un valor de una tabla (TBL_WRD), 2-132-14 Crear el patrn de bits para el display de 7 segmentos (SEG), 6-26-3

D
Decodificar una posicin binaria (DECO), 6-9 Desescalar valores (UNSCALE), 6-14 Desplazar un bit a un registro de desplazamiento (SHRB), 3-43-6 Desviacin tpica (DEV), 7-2

E
Enlace lgico de tablas (TBL_TBL), 2-19 Escalar valores (SCALE), 6-12 Evento drum enmascarable (DRUM), 5-10 Extraer el elemento ms antiguo de una tabla (FIFO), 2-42-5 Extraer el elemento ms reciente de una tabla (LIFO), 2-92-10

B
Barrido de matriz (SMC), 8-6 Bloques de funcin de comparacin barrido de matriz (SMC), 8-6 comparar ndice matriz (IMC), 8-2 Buscar un valor en una tabla (TBL_FIND), 2-62-8

F
Funcin en coma flotante, desviacin tpica (DEV), 7-2 Funcin y bloque de funcin de conversin, sumar la cantidad de bits activados (BITSUM), 6-11 Funciones (FCs) almacenamiento, iii lista, vi Funciones de desplazamiento almacenar datos en el registro de desplazamiento (WSR), 3-23-3 desplazar un bit a un registro de desplazamiento (SHRB), 3-43-6

C
Codificar una posicin binaria (ENCO), 6-8 Combinar lgicamente un valor con un elemento de una tabla y almacenarlo (WRD_TBL), 2-152-16 Comparar ndice matriz (IMC), 8-2 Convertir una cadena de caracteres ASCII en una cifra hexadecimal (ATH), 6-46-5 Convertir una cifra hexadecimal en una cadena de caracteres (HTA), 6-66-7

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

ndice-1

ndice alfabtico

Funciones de tabla aadir un elemento a una tabla (ATT), 2-22-3 buscar un valor en una tabla (TBL_FIND), 2-62-8 combinar lgicamente un valor con un elemento de una tabla y almacenarlo (WRD_TBL), 2-152-16 copiar un valor de una tabla (TBL_WRD), 2-132-14 enlace lgico de tablas (TBL_TBL), 2-19 extraer el elemento ms antiguo de una tabla (FIFO), 2-42-5 extraer el elemento ms reciente de una tabla (LIFO), 2-92-10 realizar una operacin en una tabla (TBL), 2-112-12 tabla de datos correlativos (CDT), 2-17 Funciones lgicas de bit activar inmediatamente un rea de salida (SETI), 1-81-10 activar un rea de marcas o de periferia en la imagen del proceso (SET), 1-61-7 poner a cero inmediatamente un rea de salida (RSETI), 1-41-5 poner a cero un rea de periferia o de marcas en la imagen del proceso (RSET), 1-21-3 Funciones y bloques de conversin, decodificar una posicin binaria (DECO), 6-9 Funciones y bloques de funcin de conversin algoritmo avance/retardo (LEAD_LAG), 6-16 codificar una posicin binaria (ENCO), 6-8 convertir una cadena de caracteres ASCII en una cifra hexadecimal (ATH), 6-46-5 convertir una cifra hexadecimal en una cadena de caracteres ASCII (HTA), 6-66-7 crear el patrn de bits para el display de 7 segmentos (SEG), 6-26-3 desescalar valores (UNSCALE), 6-14 escalar valores (SCALE), 6-12 generar el complemento a diez (BCDCPL), 6-10 Funciones y bloques de funcin de temporizacin alarma de tiempo para control discreto (DCAT), 5-4 alarna de tiempo para control motor (MCAT), 5-7 evento drum enmascarable (DRUM), 5-10

Funciones y bloques de funcin de transferencia acumular/distribuir datos de tabla (PACK), 4-4 transferencia indirecta de un bloque de datos (IBLKMOV), 4-24-3 Funciones y bloques de temporizacin, activar un temporizador como retardo a la conexin con memoria (TONR), 5-25-3

G
Generar el complemento a diez (BCDCPL), 6-10

M
Manuales, ivvi

P
Poner a cero inmediatamente un rea de salida (RSETI), 1-41-5 Poner a cero un rea de periferia o de marcas en la imagen del proceso (RSET), 1-21-3

R
Realizar una operacin en una tabla (TBL), 2-112-12

S
Sumar la cantidad de bits activados (BITSUM), 6-11

T
Tabla de datos correlativos (CDT), 2-17 Transferencia indirecta de un bloque de datos (IBLKMOV), 4-24-3

ndice-2

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Siemens AG A&D AS E 81 Oestliche Rheinbrueckenstr. 50 D-76181 Karlsruhe R.F.A.

Remitente: Nombre: _ Cargo: _ _ _ _ Empresa: _ Calle: _ _ _ _ Cdigo postal: _ Poblacin: _ Pas: _ _ _ _ Telfono: _

_ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ _ _ _ _ _ _ _ _ _ _ _ _

Indique el ramo de la industria al que pertenece: Industria del automvil Industria qumica Industria elctrica Industria alimentaria Control e instrumentacin Industria mecnica Industria petroqumica Industria farmacutica Industria del plstico Industria papelera Industria textil Transportes Otros _ _ _ _ _ _ _ _ _ _ _

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

Observaciones/sugerencias Sus observaciones y sugerencias nos permiten mejorar la calidad y utilidad de nuestra documentacin. Por ello le rogamos que rellene el presente formulario y lo enve a Siemens.

Responda por favor a las siguientes preguntas dando una puntuacin comprendida entre 1 = muy bien y 5 = muy mal 1. 2. 3. 4. 5. Corresponde el contenido del manual a sus exigencias ? Resulta fcil localizar las informaciones requeridas ? Es comprensible el texto ? Corresponde el nivel de los detalles tcnicos a sus exigencias ? Qu opina de la calidad de las ilustraciones y tablas ?

En las lneas siguientes puede exponer los problemas concretos que se le hayan planteado al manejar el manual: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Software estndar para S7-300 y S7-400 Funciones estndar, parte 2 A5E00066869-03

También podría gustarte