Página 1
Prológo, Índice Operaciones lógicas con bits SIMATIC Operaciones de comparación Operaciones de conversión Lista de instrucciones (AWL) para S7-300 y S7-400 Operaciones de contaje Operaciones con los bloques de datos Manual de referencia Operaciones de salto Aritmética de enteros Aritmética en coma flotante Operaciones de carga y transferencia Control de programa...
Página 2
Marcas registradas Todos los nombres marcados con ® son marcas registradas de Siemens AG. Los restantes nombres y designaciones contenidos en el presente documento pueden ser marcas registradas cuya utilización por terceros para sus propios fines puede violar los derechos de sus titulares.
Prológo Objetivo del manual Este manual le servirá de ayuda al crear programas de usuario con el lenguaje de pogramación AWL. Describe los elementos del lenguaje de programación AWL, así como su sintaxis y sus funciones. Nociones básicas Este manual está dirigido a programadores de programas S7, operadores y personal de mantenimiento que dispongan de conocimientos básicos sobre los autómatas programables.
Prológo Requisitos Para entender correctamente el presente manual de AWL se requieren conocimientos teóricos acerca de los programas S7, que se pueden consultar en la Ayuda en pantalla de STEP 7. Como que los paquetes acerca de los lenguajes de programación se basan en el software estándar de STEP 7, debería conocerse ya mínimamente el uso del software y su documentación.
Si tiene preguntas relacionadas con el uso de los productos descritos en el manual a las que no encuentre respuesta, diríjase a la sucursal o al representante más próximo de Siemens, en donde le pondrán en contacto con el especialista.
Prológo Technical Support Podrá acceder al Technical Support de todos los productos de A&D • a través del formulario de Internet para el Support Request http://www.siemens.com/automation/support-request • Teléfono: + 49 180 5050 222 • Fax: + 49 180 5050 223 Encontrará...
Índice Operaciones lógicas con bits Lista de operaciones lógicas con bits ................. 1-1 Y ........................... 1-3 Y-No........................1-4 O .......................... 1-5 O-No ........................1-6 O-exclusiva......................1-7 O-exclusiva-NO....................1-8 Y antes de O ......................1-9 Y con abrir paréntesis ..................1-10 1.10 Y-No con abrir paréntesis................
Página 8
Índice 3.14 Invertir el orden de los bytes en el ACU 1 (32 bits)........3-14 3.15 Redondear un número en coma flotante a entero........3-15 3.16 TRUNC Truncar ..................... 3-16 3.17 RND+ Redondear un número real al próximo entero superior......3-17 3.18 RND- Redondear un número real al próximo entero inferior.........
Página 9
Índice Aritmética de enteros Lista de operaciones aritméticas con enteros ............7-1 Evaluar bits de la palabra de estado en operaciones en coma fija ......7-2 Sumar ACU 1 y 2 como entero................7-3 Restar ACU 1 de ACU 2 como entero..............7-4 Multiplicar ACU 1 por ACU 2 como entero............
Página 10
Índice 9.11 Intercambiar registro de direcciones 1 y registro de direcciones 2 ....9-11 9.12 TAR1 Transferir registro de direcciones 1 a ACU 1 ..........9-11 9.13 TAR1 <D> Transferir registro de direcciones 1 a dirección de destino (puntero de 32 bits) ................. 9-12 9.14 TAR1 AR2 Transferir registro de direcciones 1 a registro...
Página 11
Índice Operaciones de temporización 12-1 12.1 Lista de operaciones de temporización ..............12-1 12.2 Area de memoria y componentes de un temporizador..........12-2 12.3 Habilitar temporizador..................12-5 12.4 Cargar valor actual del temporizador en ACU 1 como entero......12-7 12.5 Cargar el valor actual de temporización en ACU 1 como número BCD ....................
Página 12
Índice Sinopsis de las operaciones AWL Operaciones AWL ordenadas según la nemotécnica alemana (SIMATIC) ....A-1 Operaciones AWL ordenadas según la nemotécnica inglesa (internacional) ....A-7 Ejemplos de programación Lista de ejemplos de programación................B-1 Ejemplos: Operaciones lógicas con bits ..............B-2 Ejemplo: Operaciones de temporización ..............B-5 Ejemplo: Operaciones de contaje y comparación ............B-8 Ejemplo: Operaciones de aritmétca con enteros............B-10 Ejemplo: Operaciones lógicas con palabras ............B-11...
Operaciones lógicas con bits Lista de operaciones lógicas con bits Descripción Las operaciones lógicas con bits operan con dos dígitos, 1 y 0. Estos dos dígitos consituyen la base de un sistema numérico denominado sistema binario. Los dos dígitos 1 y 0 se denominan dígitos binarios o bits.
Página 14
Operaciones lógicas con bits • SET Activar el RLO (=1) • CLR Desactivar RLO (=0) • SAVE Memorizar el RLO en el registro RB Otras operaciones detectan cambios en el resultado lógico y reaccionan correspondientemente: • FN Flanco negativo • FP Flanco positivo Lista de instrucciones (AWL) para S7-300 y S7-400 A5E00706962-01...
Operaciones lógicas con bits Formato U <bit> Operando Tipo de datos Area de memoria <bit> BOOL E, A, M, L, D, T, Z Descripción de la operación U consulta el bit direccionado para saber si tiene el estado de señal "1", y combina el resultado de la consulta con el RLO realizando una Y lógica.
Operaciones lógicas con bits Y-No Formato UN <bit> Operando Tipo de datos Area de memoria <bit> BOOL E, A, M, L, D, T, Z Descripción de la operación UN consulta el bit direccionado para saber si tiene el estado de señal "0" y combina el resultado de la consulta con el RLO realizando una Y lógica.
Operaciones lógicas con bits Formato O <bit> Operando Tipo de datos Area de memoria <Bit> BOOL E, A, M, L, D, T, Z Descripción de la operación consulta el bit direccionado para saber si tiene el estado de señal "1", y combina el resultado de la consulta con el RLO realizando una O lógica.
Operaciones lógicas con bits O-No Formato ON <bit> Operando Tipo de datos Area de memoria <bit> BOOL E, A, M, L, D, T, Z Descripción de la operación ON consulta el bit direccionado para saber si tiene el estado de señal "0", y combina el resultado de la consulta con el RLO realizando una O lógica.
Operaciones lógicas con bits O-exclusiva Formato X <bit> Operando Tipo de datos Area de memoria <bit> BOOL E, A, M, L, D, T, Z Descripción de la operación X consulta el bit direccionado para saber si su estado de señal es "1", y combina el resultado de la consulta con el RLO realizando una operación lógica O-exclusiva.
Operaciones lógicas con bits O-exclusiva-NO Formato XN <bit> Operando Tipo de datos Area de memoria <bit> BOOL E, A, M, L, D, T, Z Descripción de la operación XN consulta el bit direccionado para saber si tiene el estado de señal "0", y combina el resultado de la consulta con el RLO realizando una operación lógica O-exclusiva.
Operaciones lógicas con bits Y antes de O Formato Descripción de la operación La operación O realiza una O lógica de combinaciones Y siguiendo la regla Y antes de O. Palabra de estado se escribe: Ejemplo Programa AWL Esquema de conexiones de relé Barra de alimentación M 10.1 E 0.0...
Operaciones lógicas con bits Y con abrir paréntesis Formato Descripción de la operación U( (Y con abrir paréntesis) almacena en la pila de paréntesis los bits RLO y OR y un identificador de la operación. La pila de paréntesis puede contener un máximo de 7 entradas. Palabra de estado se escribe: Ejemplo...
Operaciones lógicas con bits 1.10 Y-No con abrir paréntesis Formato Descripción de la operación UN( (Y-No con abrir paréntesis) almacena en la pila de paréntesis los bits RLO y OR y el identificador de la operación. La pila de paréntesis puede contener un máximo de 7 entradas. Palabra de estado se escribe: 1.11...
Operaciones lógicas con bits 1.12 O-No con abrir paréntesis Formato Descripción de la operación ON( (O-No con abrir paréntesis) almacena en la pila de paréntesis los bits RLO y OR y un identificador de la operación. La pila de paréntesis puede contener un máximo de 7 entradas. Palabra de estado se escribe: 1.13...
Página 25
Operaciones lógicas con bits 1.14 O-exclusiva-NO con abrir paréntesis Formato Descripción de la operación XN( (O-exclusiva-NO con abrir paréntesis) almacena en la pila de paréntesis los bits RLO y OR y un identificador de la operación. La pila de paréntesis puede contener un máximo de 7 entradas.
Operaciones lógicas con bits 1.15 Cerrar paréntesis Formato Descripción de la operación ) (Cerrar paréntesis) borra una entrada de la pila de paréntesis, restablece el bit OR, combina el RLO que hay en la entrada de pila con el RLO actual conforme al identificador de la operación y asigna el resultado al RLO.
Página 27
Operaciones lógicas con bits Ejemplo Programa AWL Esquema de conexiones de relé barra de alimentación E 0.0 E 0.0 M 10.0 M 10.0 E 0.2 E 0.2 M 10.3 M 10.3 M 10.1 M 10.1 A 4.0 A 4.0 Bobina Lista de instrucciones (AWL) para S7-300 y S7-400 1-15 A5E00706962-01...
Operaciones lógicas con bits 1.16 Asignar Formato = <bit> Operando Tipo de datos Area de memoria <bit> BOOL E, A, M, L, D, T, Z Descripción de la operación = <bit> escribe el RLO en el bit direccionado si el Master Control Relay está conectado (MCR = 1).
Operaciones lógicas con bits 1.17 Desactivar Formato R <bit> Operando Tipo de datos Area de memoria <bit> BOOL E, A, M, L, D Descripción de la operación R (Desactivar bit) escribe el valor "0" en el bit direccionado si el RLO es 1 y si el Master Control Relay (MCR = 1) está...
Operaciones lógicas con bits 1.18 Activar Formato S <bit> Operando Tipo de datos Area de memoria <bit> BOOL E, A, M, L, D Descripción de la operación S (Activar bit) escribe el valor "1" en el bit direccionado si el RLO es 1 y si el Master Control Relay (MCR = 1) está...
Operaciones lógicas con bits 1.19 Negar el RLO Formato Descripción de la operación NOT niega el RLO. Palabra de estado se escribe: 1.20 Activar el RLO (=1) Formato Descripción de la operación SET pone el RLO al estado de señal "1". Palabra de estado se escribe: Ejemplo...
Operaciones lógicas con bits 1.21 Desactivar RLO (=0) Formato Descripción de la operación CLR pone el RLO al estado de señal "0". Palabra de estado se escribe: Ejemplo Programa AWL Estado de señal Resultado lógico (RLO) = M 10.0 = M 15.1 = M 16.0 = M 10.1 = M 10.2...
Operaciones lógicas con bits 1.22 SAVE Memorizar el RLO en el registro RB Formato SAVE Descripción de la operación SAVE almacena el RLO (resultado lógico) en el bit RB (bit de resultado binario). El bit de primera consulta /ER no se pone a 0. Por esta razón, en el caso de una operación lógica Y (AND) se combinará...
Operaciones lógicas con bits 1.23 Flanco negativo Formato FN <bit> Operando Tipo de datos Area de Descripción memoria <bit> BOOL E, A, M, L, D Marca de flancos que almacena el estado de señal anterior del RLO. Descripción de la operación FN <bit>...
Página 35
Operaciones lógicas con bits Ejemplo Si el autómata programable detecta un flanco negativo en el contacto E 1.0, activa la salida A 4.0 para un ciclo del OB1. Programa AWL Diagramas del estado de señal E 1.0 E 1.0 M 1.0 M 1.0 A 4.0 A 4.0...
Operaciones lógicas con bits 1.24 Flanco positivo Formato FP <bit> Operando Tipo de datos Area de memoria Descripción <bit> BOOL E, A, M, L, D Marca de flancos que almacena el estado de señal anterior del RLO. Descripción de la operación FP <bit>...
Página 37
Operaciones lógicas con bits Ejemplo Si el autómata programable detecta un flanco ascendente en el contacto E 1.0, activa la salida A 4.0 para un ciclo del OB1. Programa AWL Diagramas del estado de señal E 1.0 E 1.0 M 1.0 M 1.0 A 4.0 A 4.0...
Página 38
Operaciones lógicas con bits Lista de instrucciones (AWL) para S7-300 y S7-400 1-26 A5E00706962-01...
Operaciones de comparación Lista de operaciones de comparación Descripción Las operaciones Comparar enteros (de 16 bits) comparan el contenido del ACU2-L con el contenido del ACU1-L según los tipos de comparación siguientes: ACU 2 es igual al ACU 1 <> ACU 2 es diferente al ACU 1 >...
Operaciones de comparación Comparar enteros Formato ==I, <>I, >I, <I, >=I, <=I Descripción de la operación Las operaciones Comparar enteros (de 16 bits) comparan el contenido del ACU2-L con el contenido del ACU1-L. Los contenidos de ACU2-L y ACU1-L se evalúan como enteros (de 16 bits).
Operaciones de comparación Comparar enteros dobles Formato ==D, <>D, >D, <D, >=D, <=D Descripción de la operación Las operaciones Comparar enteros dobles comparan el contenido del ACU 2 con el contenido del ACU 1. Los contenidos del ACU 2 y del ACU 1 se evalúan como enteros (de 32 bits).
Operaciones de comparación Comparar números en coma flotante (32 bits) Formato ==R, <>R, >R, <R, >=R, <=R Descripción de la operación Las operaciones Comparar números en coma flotante (32 bits, IEEE-FP) comparan el contenido del ACU 2 con el contenido del ACU 1. Los contenidos del ACU 1 y del ACU 2 se evalúan como números en coma flotante (32 bits, IEEE-FP).
Operaciones de conversión Lista de operaciones de conversión Descripción Las siguientes operaciones se utilizan para convertir números decimales codificados en binario y enteros a otros tipos de números: • BTI Convertir BCD a entero • ITB Convertir entero en BCD •...
Operaciones de conversión Convertir BCD a entero Formato Descripción de la operación BTI (Conversión de un número BCD de tres dígitos en un número entero) evalúa el contenido del ACU1-L en formato de número decimal codificado en binario (BCD) de tres dígitos y convierte ese número en un entero (de 16 bits).
Operaciones de conversión Convertir entero en BCD Formato Descripción de la operación ITB (Conversión de un entero de 16 bits en número de formato BCD) evalúa el contenido del ACU1- L como número entero (16 bits) y convierte ese número en el correspondiente número decimal codificado en binario de tres dígitos (BCD).
Operaciones de conversión Convertir número BCD a entero doble Formato Descripción de la operación BTD (Conversión de un número BCD de siete dígitos en un número entero doble) evalúa el contenido del ACU 1 en formato de número decimal codificado en binario (BCD) de siete dígitos y convierte ese número en un entero doble (32 bits).
Operaciones de conversión Convertir entero en entero doble Formato Descripción de la operación ITD (Convertir un entero en un entero doble) evalúa el contenido del ACU1-L como entero de 16 bits y convierte este número en entero de 32 bits. El resultado se almacena en el ACU 1. El ACU 2 no se altera.
Operaciones de conversión Convertir entero doble en BCD Formato Descripción de la operación DTB (Conversión de un entero doble en el correspondiente número con formato BCD) evalúa el contenido del ACU 1 como entero (de 32 bits) y convierte ese número en el correspondiente decimal codificado en binario de siete dígitos.
Operaciones de conversión Convertir entero doble en número en coma flotante (32 bits, IEEE-FP) Formato Descripción de la operación DTR (Convertir entero de 32 bits en un número en coma flotante de 32 bits, IEEE-FP) evalúa el contenido del ACU 1 como entero (de 32 bits) y convierte ese número en el correspondiente número en coma flotante (32 bits, IEEE-FP).
Operaciones de conversión INVI Complemento a uno de un entero Formato INVI Descripción de la operación INVI (Complemento a uno de entero de 16 bits) calcula el complemento a uno de un valor de 16 bits en el ACU 1-L; al realizar esta operación se invierten todos los bits, es decir, los ceros se sustituyen por unos, y viceversa.
Operaciones de conversión INVD Complemento a uno de un entero doble Formato INVD Descripción de la operación INVD (Complemento a 1 de un entero doble) calcula el complemento a uno de un valor de 32 bits en el ACU 1; al realizar esta operación se invierten todos los bits, es decir, los ceros se sustituyen por unos, y viceversa.
Operaciones de conversión 3.10 NEGI Complemento a dos de un entero Formato NEGI Descripción de la operación NEGI (Complemento a dos de un entero) calcula el complemento a dos de un valor de 16 bits en el ACU1-L; al realizar esta operación se invierten todos los bits, es decir, los ceros se sustituyen por unos, y viceversa.
Operaciones de conversión 3.11 NEGD Complemento a dos de un entero doble Formato NEGD Descripción de la operación NEGD (Complemento a dos de un entero doble) calcula el complemento a dos de un valor de 32 bits en el ACU 1; al realizar esta operación se invierten todos los bits, es decir, los ceros se sustituyen por unos, y viceversa.
Operaciones de conversión 3.12 NEGR Invertir un número en coma flotante (32 bits, IEEE-FP) Formato NEGR Descripción de la operación NEGR (Invertir un número en coma flotante de 32 bits, IEEE-FP) invierte el número en coma flotante (32 bits, IEEE- FP) en el ACU 1. La operación invierte el estado del bit 31 en el ACU 1 (signo de la mantisa).
Operaciones de conversión 3.13 Cambiar el orden de los bytes en el ACU 1-L (16 bits) Formato Descripción de la operación TAW invierte el orden de los bytes en el ACU1-L. El resultado se almacena en el ACU1-L. El ACU1-H y el ACU 2 no se alteran. El contenido de ACU1-L-H se desplaza a: ACU1-L-L.
Operaciones de conversión 3.14 Invertir el orden de los bytes en el ACU 1 (32 bits) Formato Descripción de la operación TAD invierte el orden de los bytes en el ACU 1. El resultado se almacena en el ACU 1. El ACU 2 no se altera.
Operaciones de conversión 3.15 Redondear un número en coma flotante a entero Formato Descripción de la operación RND (Conversión de un número en coma flotante (32 bits, IEEE-FP) en un entero de 32 bits) evalúa el contenido del ACU 1 como número en coma flotante (32 bits, IEEE-FP); la operación convierte a continuación el número en coma flotante (32 bits, IEEE- FP) en el correspondiente número entero (32 bits), y redondea el resultado al número entero más próximo.
Operaciones de conversión 3.16 TRUNC Truncar Formato TRUNC Descripción de la operación TRUNC (Conversión de un número en coma flotante (32 bits, IEEE-FP) en un entero de 32 bits) evalúa el contenido del ACU 1 como número en coma flotante (32 bits, IEEE-FP); la operación convierte a continuación el número en coma flotante (32 bits, IEEE-FP) en entero (32 bits).
Operaciones de conversión 3.17 RND+ Redondear un número real al próximo entero superior Formato RND+ Descripción de la operación RND+ (Conversión de un número en coma flotante (32 bits, IEEE-FP) en un entero de 32 bits) evalúa el contenido del ACU 1 como número en coma flotante (32 bits, IEEE-FP); la operación convierte a continuación el número en coma flotante (32 bits, IEEE-FP) en entero (32 bits) y redondea el resultado al próximo número entero que sea mayor o igual al número en coma flotante convertido (modo de redondeo IEEE "Round to +infinity").
Operaciones de conversión 3.18 RND- Redondear un número real al próximo entero inferior Formato RND- Descripción de la operación RND- (Conversión de un número en coma flotante (32 bits, IEEE-FP) en un entero de 32 bits) evalúa el contenido del ACU 1 como número en coma flotante (32 bits, IEEE-FP); la operación convierte a continuación el número en coma flotante (32 bits, IEEE-FP) en entero (32 bits) y redondea el resultado al próximo número entero que sea menor o igual al número en coma flotante convertido (modo de redondeo IEEE "Round to +infinity").
Operaciones de contaje Lista de operaciones de contaje Descripción Un contador es un elemento funcional del software de programación STEP 7. Los contadores tienen reservada un área de memoria propia en la CPU. Dicha área de memoria reserva una palabra de 16 bits para cada contador. La programación con AWL asiste un máximo de 256 contadores.
Operaciones de contaje Habilitar contador Formato FR <contador> Operando Tipo de Area de Descripción datos memoria <contador> COUNTER Contador; el área varía según la CPU utilizada. Descripción de la operación Si el RLO cambia de "0" a "1", la operación FR <contador> borra la marca de flancos que el contador direccionado pone en incrementar / decrementar contador.
Operaciones de contaje Cargar valor actual del contador en ACU 1 en forma de entero Formato L <contador> Operando Tipo de Area de Descripción datos memoria <contador> COUNTER Contador; el área varía según la CPU utilizada. Descripción de la operación L <contador>...
Operaciones de contaje Cargar valor actual del contador en ACU 1 como número BCD Formato LC <contador> Operando Tipo de Area de Descripción datos memoria <contador> COUNTER Contador; el área varía según la CPU utilizada. Descripción de la operación LC <contador> carga el valor de contaje del contador direccionado en formato BCD en el ACU 1, después de que se haya almacenado el contenido del ACU 1 en el ACU 2.
Operaciones de contaje Desactivar contador Formato R <contador> Operando Tipo de Area de Descripción datos memoria <contador> COUNTER Contador a desactivar; el área varía según la CPU utilizada. Descripción de la operación R <contador> carga el valor de contaje "0" en el contador direccionado, si el RLO es 1. Palabra de estado se escribe: Ejemplo...
Operaciones de contaje Poner contador al valor inicial Formato S <contador> Operando Tipo de Area de Descripción datos memoria <contador> COUNTER Contador a predeterminar; el área varía según la CPU utilizada. Descripción de la operación S <contador> carga el valor de contaje del ACU1-L en el contador direccionado, si el RLO cambia de "0"...
Operaciones de contaje Incrementar contador Formato ZV <contador> Operando Tipo de Area de Descripción datos memoria <contador> COUNTER Contador; el área varía según la CPU utilizada. Descripción de la operación ZV <contador> incrementa en "1" el valor de contaje del contador direccionado si el RLO cambia de "0"...
Operaciones de contaje Decrementar contador Formato ZR <contador> Operando Tipo de Area de Descripción datos memoria <contador> COUNTER Contador; el área varía según la CPU utilizada. Descripción de la operación ZR <contador> decrementa en "1" el valor de contaje del contador direccionado si el RLO cambia de "0"...
Operaciones con los bloques de datos Lista de operaciones con bloques Descripción La operación AUF (Abrir bloque de datos) sirve para abrir un bloque de datos global o un bloque de datos de instancia. En el programa pueden estar abiertos simultáneamente un bloque de datos global y un bloque de instancia.
Operaciones con los bloques de datos Abrir bloque de datos Formato AUF <bloque de datos> Operando Tipo del bloque de datos Dirección fuente <bloque de datos> DB, DI De 1 a 65.535 Descripción de la operación AUF <bloque de datos> abre un bloque de datos como bloque de datos global o como bloque de datos de instancia.
Operaciones con los bloques de datos Intercambiar bloque de datos global y bloque de datos de instancia Formato Descripción de la operación TDB intercambia los registros de los bloques de datos. Al efectuarse la permutación, un bloque de datos global en un bloque de datos de instancia, y viceversa. Palabra de estado se escribe: L DBLG...
Operaciones con los bloques de datos L DBNO Cargar número del bloque de datos global en ACU 1 Formato L DBNO Descripción de la operación L DBNO (Cargar el número del bloque de datos global) carga en el ACU1 el número del bloque de datos global que está...
Operaciones con los bloques de datos L DINO Cargar número del bloque de datos de instancia en ACU 1 Formato L DINO Descripción de la operación L DINO (Cargar número del bloque de datos de instancia) carga en el ACU 1 el número del bloque de datos de instancia que está...
Página 74
Operaciones con los bloques de datos Lista de instrucciones (AWL) para S7-300 y S7-400 A5E00706962-01...
Operaciones de salto Lista de operaciones de salto Descripción Las operaciones de salto sirven para controlar el desarrollo del programa. Estas operaciones permiten al programa interrumpir su desarrollo lineal para continuar el procesamiento en un punto diferente del programa. La operación LOOP (bucle) sirve para llamar varias veces un segmento del programa.
Página 76
Operaciones de salto Las siguientes operaciones de salto interrumpen el desarrollo del programa en función del resultado de una operación anterior: • SPZ Saltar si el resultado = 0 • SPN Saltar si resultado <> 0 • SPP Saltar si el resultado > 0 •...
Operaciones de salto Salto incondicionado Formato SPA <meta> Operando Descripción <meta> Nombre simbólico de la meta del salto Descripción de la operación SPA <meta> interrumpe la ejecución lineal del programa y salta a la meta que se haya indicado, independientemente de cuál sea el contenido de la palabra de estado. La ejecución lineal del programa continúa en la meta del salto, que está...
Operaciones de salto Saltar utilizando una lista de metas Formato SPL <meta> Operando Descripción <meta > Nombre simbólico de la meta del salto Descripción de la operación SPL <meta> (Saltar utilizando una lista de metas) permite programar distintos saltos. La lista de metas de salto, que como máximo contiene 255 registros, empieza directamente después de la operación SPL y termina antes de la marca del salto que indica el operando SPL.
Operaciones de salto Saltar si RLO = 1 Formato SPB <meta> Operando Descripción <meta > Nombre simbólico de la meta del salto Descripción de la operación Si el RLO es 1, la operación SPB <meta> interrumpe la ejecución lineal del programa y salta a la meta que se haya indicado.
Operaciones de salto SPBN Saltar si RLO = 0 Formato SPBN <meta> Operando Descripción <meta > Nombre simbólico de la meta del salto Descripción de la operación Si el RLO es 0, la operación SPBN <meta> interrumpe la ejecución lineal del programa y salta a la meta que se haya indicado.
Operaciones de salto SPBB Saltar si RLO = 1 y salvaguardar RLO en RB Formato SPBB <meta> Operando Descripción <meta> Nombre simbólico de la meta del salto Descripción de la operación Si el RLO es 1, la operación SPBB <meta> interrumpe la ejecución lineal del programa y salta a la meta que se haya indicado.
Operaciones de salto SPBNB Saltar si RLO = 0 y salvar RLO en RB Formato SPBNB <meta> Operando Descripción <meta > Nombre simbólico de la meta del salto Descripción de la operación Si el RLO es 0, la operación SPBNB <meta> interrumpe la ejecución lineal del programa y salta a la meta que se haya indicado.
Operaciones de salto SPBI Saltar si RB = 1 Formato SPBI <meta> Operando Descripción <meta> Nombre simbólico de la meta del salto Descripción de la operación Si el bit RB de la palabra de estado es 1, la operación SPBI <meta> interrumpe la ejecución lineal del programa y salta a la meta que se haya indicado.
Operaciones de salto SPBIN Saltar si RB = 0 Formato SPBIN <meta> Operando Descripción <meta> Nombre simbólico de la meta del salto Descripción de la operación Si el bit RB de la palabra de estado es 0, la operación SPBIN <meta> interrumpe la ejecución lineal del programa y salta a la meta que se haya indicado.
Operaciones de salto 6.10 Saltar si OV = 1 Formato SPO <meta> Operando Descripción <meta > Nombre simbólico de la meta del salto Descripción de la operación Si el bit OV de la palabra de estado es 1, la operación SPO <meta> interrumpe la ejecución lineal del programa y salta a la meta que se haya indicado.
Operaciones de salto 6.11 Saltar si OS = 1 Formato SPS <meta> Operando Descripción <meta > Nombre simbólico de la meta del salto Descripción de la operación Si el bit OS de la palabra de estado es 1, la operación SPS <meta> interrumpe la ejecución lineal del programa y salta a la meta que se haya indicado.
Operaciones de salto 6.12 Saltar si el resultado = 0 Formato SPZ <meta> Operando Descripción <meta> Nombre simbólico de la meta del salto Descripción de la operación Si los bits de la palabra de estado A1 = 0 y A0 = 0, la operación SPZ <meta> interrumpe la ejecución lineal del programa y salta a la meta que se haya indicado.
Operaciones de salto 6.13 Saltar si resultado <> 0 Formato SPN <meta> Operando Descripción <meta > Nombre simbólico de la meta del salto Descripción de la operación Si el resultado indicado por los bits A1 y A0 de la palabra de estado es mayor o menor que cero (A1 = 0/A0 = 1 ó...
Operaciones de salto 6.14 Saltar si el resultado > 0 Formato SPP <meta> Operando Descripción <meta> Nombre simbólico de la meta del salto Descripción de la operación Si los bits de la palabra de estado A1 = 1 y A0 = 0, la operación SPP <meta> interrumpe la ejecución lineal del programa y salta a la meta que se haya indicado.
Operaciones de salto 6.15 Saltar si resultado < 0 Formato SPM <meta> Operando Descripción <meta> Nombre simbólico de la meta del salto Descripción de la operación Si los bits de la palabra de estado A1 = 0 y A0 = 1, la operación SPM <meta> interrumpe la ejecución lineal del programa y salta a la meta que se haya indicado.
Operaciones de salto 6.16 SPPZ Saltar si el resultado >= 0 Formato SPPZ <meta> Operando Descripción <meta> Nombre simbólico de la meta del salto Descripción de la operación Si el resultado indicado por los bits A1 y A0 de la palabra de estado es mayor o igual que cero (A1 = 0/A0 = 0 ó...
Operaciones de salto 6.17 SPMZ Saltar si el resultado <= 0 Formato SPMZ <meta> Operando Descripción <meta> Nombre simbólico de la meta del salto Descripción de la operación Si el resultado indicado por los bits A1 y A0 de la palabra de estado es menor o igual que cero (A1 = 0/A0 = 0 ó...
Operaciones de salto 6.18 Saltar si el resultado no es válido Formato SPU <meta> Operando Descripción <meta> Nombre simbólico de la meta del salto Descripción de la operación Si los bits de la palabra de estado A1 = 1 y A0 = 1, la operación SPU <meta> interrumpe la ejecución lineal del programa y salta a la meta que se haya indicado.
Operaciones de salto 6.19 LOOP Bucle Formato LOOP <meta> Operando Descripción <meta> Nombre simbólico de la meta del salto Descripción de la operación LOOP <meta> (Decrementar el ACU1-L y saltar, si el ACU1-L <> 0) simplifica la programación de bucles. El contador de bucles es un entero (de 16 bits) sin signo y se encuentra en el ACU1-L.
Aritmética de enteros Lista de operaciones aritméticas con enteros Descripción Las operaciones aritméticas combinan el contenido de los ACUs 1 y 2. El resultado se deposita en el ACU 1. El contenido del ACU 2 permanece inalterado. En las CPUs con 4 acumuladores se copia a continuación el contenido del ACU 3 en el ACU 2, y el contenido del ACU 4 en el ACU 3.
Aritmética de enteros Evaluar bits de la palabra de estado en operaciones en coma fija Descripción Las operaciones aritméticas básicas influyen sobre los siguientes bits de la palabra de datos: • A1 y A0 • OV • OS Las tablas siguientes muestran el estado de señal de los bits de la palabra de estado para los resultados de las operaciones con números en coma fija (16 bit, 32 bit): Margen válido 0 (cero)
Aritmética de enteros Sumar ACU 1 y 2 como entero Formato Descripción de la operación +I (Sumar enteros) suma el contenido del ACU1-L al contenido del ACU2-L y almacena el resultado en el ACU1-L. Los contenidos del ACU1-L y ACU2-L se evalúan como enteros (de 16 bits).
Aritmética de enteros Restar ACU 1 de ACU 2 como entero Formato Descripción de la operación -I (Restar enteros) resta el contenido del ACU1-L del contenido del ACU2-L y almacena el resultado en el ACU1-L. Los contenidos del ACU1-L y ACU2-L se evalúan como enteros (de 16 bits).
Aritmética de enteros Multiplicar ACU 1 por ACU 2 como entero Formato Descripción de la operación *I (Multiplicar enteros) multiplica el contenido del ACU2-L por el contenido del ACU1-L. Los contenidos del ACU1-L y ACU2-L se evalúan como enteros (16 bits). El resultado se almacena como entero doble (32 bits) en el ACU 1.
Aritmética de enteros Dividir ACU 2 por ACU 1 como entero Formato Descripción de la operación /I (Dividir enteros) divide el contenido del ACU2-L por el contenido del ACU1-L. Los contenidos de ACU1-L y ACU2-L se evalúan como enteros (de 16 bits). El resultado se almacena en el ACU 1 y contiene dos enteros (de 16 bits), el cociente y el resto de la división.
Aritmética de enteros Sumar constante entera o entera doble Formato + <constante entera> Operando Tipo de datos Descripción <constante entera> Constante entera (16 bits) o Constante a sumar entera doble (32 bits) Descripción de la operación + <constante entera> suma la constante entera al contenido del ACU 1 y almacena el resultado en el ACU 1.
Página 102
Aritmética de enteros Ejemplo 1 Explicación EW10 //Cargar el valor de EW10 en el ACU1-L. MW14 //Cargar el contenido del ACU1-L en el ACU2-L. Cargar el valor de MW14 en el ACU1-L. //Sumar el ACU2-L y el ACU1-L, almacenar el resultado en el ACU1-L. //Sumar el ACU1-L y 25, almacenar el resultado en el ACU1-L.
Aritmética de enteros Sumar ACU 1 y 2 como entero doble Formato Descripción de la operación +D (Sumar enteros dobles) suma el contenido del ACU 1 al contenido del ACU 2 y almacena el resultado en el ACU 1. Los contenidos del ACU 1 y del ACU 2 se evalúan como enteros dobles, es decir, de 32 bits.
Aritmética de enteros Restar ACU 1 de ACU 2 como entero doble Formato Descripción de la operación -D (Restar enteros dobles) resta el contenido del ACU 1 del contenido del ACU 2 y almacena el resultado en el ACU 1. Los contenidos de ACU 1 y ACU 2 se evalúan como enteros dobles, es decir, de 32 bits.
Aritmética de enteros 7.10 Multiplicar ACU 1 por ACU 2 como entero doble Formato Descripción de la operación (Multiplicar enteros dobles) multiplica el contenido del ACU 1 por el contenido del ACU 2. Los contenidos de ACU 1 y ACU 2 se evalúan como enteros dobles, es decir, como enteros de 32 bits.
Aritmética de enteros 7.11 Dividir ACU 2 por ACU 1 como entero doble Formato Descripción de la operación /D (Dividir enteros dobles) divide el contenido del ACU 2 por el contenido del ACU 1. Los contenidos de ACU 1 y ACU 2 se evalúan como enteros dobles, es decir, como enteros de 32 bits.
Aritmética de enteros 7.12 Resto de la división de enteros dobles Formato Descripción de la operación MOD (Resto de división de enteros dobles) divide el contenido del ACU 2 por el contenido del ACU 1. Los contenidos de ACU 1 y ACU 2 se evalúan como enteros dobles, es decir, como enteros de 32 bits.
Página 108
Aritmética de enteros Lista de instrucciones (AWL) para S7-300 y S7-400 7-14 A5E00706962-01...
Aritmética en coma flotante Lista de operaciones aritméticas con números en coma flotante Descripción Las operaciones aritméticas combinan el resultado de los ACUs 1 y 2. El resultado se deposita en el ACU 1. El contenido del ACU 2 permanece inalterado. En las CPU con 4 acumuladores se copia a continuación el contenido del ACU 3 en el ACU 2, y el contenido del ACU 4 en el ACU 3.
Aritmética en coma flotante Evaluar los bits de la palabra de estado en operaciones en coma flotante Descripción Las operaciones aritméticas básicas afectan a los siguientes bits de la palabra de estado: • A1 y A0 • OV • OS Las tablas siguientes muestran el estado de señal de los bits de la palabra de estado para los resultados de operaciones con números en coma flotante (32 bits): Margen válido...
Aritmética en coma flotante Operaciones básicas 8.3.1 Sumar ACU 1 y 2 como número en coma flotante (32 bits) Formato Descripción de la operación +R (Sumar números en coma flotante de 32 bits, IEEE-FP) suma el contenido del ACU 1 al contenido del ACU 2 y almacena el resultado en el ACU 1.
Página 112
Aritmética en coma flotante Palabra de estado Se escribe: Ejemplo Explicación DB10 ED10 //El valor de ED10 se carga en el ACU 1. MD14 //Cargar el contenido del ACU 1 en el ACU 2. Cargar el valor de MD14 en el ACU 1. //Sumar ACU 2 y ACU 1, almacenar el resultado en el ACU 1.
Aritmética en coma flotante 8.3.2 Restar ACU 1 de ACU 2 como número en coma flotante (32 bits) Formato Descripción de la operación -R (Restar números en coma flotante de 32 bits, IEEE-FP) resta el contenido del ACU 1 del contenido del ACU 2 y almacena el resultado en el ACU 1.
Página 114
Aritmética en coma flotante Palabra de estado se escribe: Ejemplo Explicación DB10 ED10 //El valor de ED10 se carga en el ACU 1. MD14 //Cargar el contenido del ACU 1 en el ACU 2. Cargar el valor de MD14 en el ACU 1. //Restar ACU 2 de ACU 1, almacenar el resultado en el ACU 1.
Aritmética en coma flotante 8.3.3 Multiplicar ACU 1 por ACU 2 como número en coma flotante (32 bits) Formato Descripción de la operación *R (Multiplicar números en coma flotante de 32 bits, IEEE-FP) multiplica el contenido del ACU 2 por el contenido del ACU 1. Los contenidos de ACU 1 y ACU 2 se evalúan como números en coma flotante (32 bits, IEEE-FP).
Página 116
Aritmética en coma flotante Palabra de estado se escribe: Ejemplo Explicación DB10 ED10 //El valor de ED10 se carga en el ACU 1. MD14 //Cargar el contenido del ACU 1 en el ACU 2. Cargar el valor de MD14 en el ACU 1. //Multiplicar ACU 2 por ACU 1, almacenar el resultado en el ACU 1.
Aritmética en coma flotante 8.3.4 Dividir ACU 2 por ACU 1 como número en coma flotante (32 bits) Formato Descripción de la operación /R (Dividir números en coma flotante de 32 bits, IEEE-FP) divide el contenido del ACU 2 por el contenido del ACU 1.
Aritmética en coma flotante 8.3.5 Valor absoluto de un número en coma flotante (32 bits, IEEE-FP) Formato Descripción de la operación ABS (Valor absoluto de un número en coma flotante de 32 bits, IEEE-FP) calcula el valor absoluto de un número en coma flotante (32bits, IEEE-FP) en el ACU 1. El resultado se almacena en el ACU 1.
Aritmética en coma flotante Operaciones ampliadas 8.4.1 Calcular el cuadrado de un número en coma flotante (32 bits) Formato Descripción de la operación SQR (Calcular el cuadrado de un número en coma flotante de 32 bits, IEEE-FP) calcula el cuadrado de un número en coma flotante (de 32 bits, IEEE-FP) en el ACU 1. El resultado se almacena en el ACU 1.
Aritmética en coma flotante 8.4.2 SQRT Calcular la raíz cuadrada de un número en coma flotante (32 bits) Formato SQRT Descripción de la operación SQRT (Calcular la raíz cuadrada de un número en coma flotante de 32 bits, IEEE-FP) calcula la raíz cuadrada de un número en coma flotante (de 32 bits, IEEE-FP) en el ACU 1.
Aritmética en coma flotante 8.4.3 Calcular el exponente de un número en coma flotante (32 bits) Formato Descripción de la operación EXP (Calcular el exponente de un número en coma flotante de 32 bits, IEEE-FP) calcula el exponente (valor exponencial con base e) de un número en coma flotante (de 32 bits, IEEE-FP) en el ACU 1.
Aritmética en coma flotante 8.4.4 Calcular el logaritmo natural de un número en coma flotante (32 bits) Formato Descripción de la operación LN (Calcular el logaritmo natural de un número en coma flotante de 32 bits, IEEE-FP) calcula el logaritmo natural (logaritmo con base e) de un número en coma flotante (de 32 bits, IEEE-FP) en el ACU 1.
Aritmética en coma flotante 8.4.5 Calcular el seno de ángulos como números en coma flotante (32 bits) Formato Descripción de la operación SIN (Calcular el seno de ángulos como números en coma flotante de 32 bits, IEEE-FP) calcula el seno de un ángulo indicado en radianes. El ángulo debe estar representado en el ACU 1 en formato de número en coma flotante.
Aritmética en coma flotante 8.4.6 COS Calcular el coseno de ángulos como números en coma flotante (32 bits) Formato Descripción de la operación COS (Calcular el coseno de ángulos como números en coma flotante de 32 bits, IEEE-FP) calcula el coseno de un ángulo indicado en radianes. El ángulo debe estar representado en el ACU 1 en formato de número en coma flotante.
Aritmética en coma flotante 8.4.7 Calcular la tangente de ángulos como números en coma flotante (32 bits) Formato Descripción de la operación TAN (Calcular la tangente de ángulos como números en coma flotante de 32 bits, IEEE-FP) calcula la tangente de un ángulo indicado en radianes. El ángulo debe estar representado en el ACU 1 en formato de número de como flotante.
Aritmética en coma flotante 8.4.8 ASIN Calcular el arcoseno de un número en coma flotante (32 bits) Formato ASIN Descripción de la operación ASIN (Calcular el arcoseno de un número en coma flotante de 32 bits, IEEE-FP) calcula el arcoseno de un número en coma flotante en el ACU 1. Margen de valores admisible para el valor de entrada: -1 <= valor de entrada<= +1 El resultado es un ángulo indicado en radianes.
Aritmética en coma flotante 8.4.9 ACOS Calcular el arcocoseno de un número en coma flotante (32 bits) Formato ACOS Descripción de la operación ACOS (Calcular el arcocoseno de un número en coma flotante de 32 bits, IEEE-FP) calcula el arcocoseno de un número en coma flotante en el ACU 1. Margen de valores admisible para el valor de entrada: -1 <= valor de entrada <= +1 El resultado es un ángulo indicado en radianes.
Aritmética en coma flotante 8.4.10 ATAN Calcular la arcotangente de un número en coma flotante (32 bits) Formato ATAN Descripción de la operación ATAN (Calcular la arcotangente de un número en coma flotante de 32 bits, IEEE-FP) calcula la arcotangente de un número en coma flotante en el ACU 1. El resultado es un ángulo indicado en radianes.
Operaciones de carga y transferencia Lista de operaciones de cargar y transferencia Descripción Las operaciones de carga (L) y transferencia (T) permiten programar un intercambio de información entre módulos de E/S y áreas de memoria, o bien entre áreas de memoria. La CPU ejecuta estas operaciones en cada ciclo como operaciones incondicionales, es decir, independientemente del resultado lógico de la operación.
Operaciones de carga y transferencia Cargar Formato L <operando> Operando Tipo de datos Area de memoria Dirección fuente <operando> BYTE E, A, PE, M, L, D, 0...65535 puntero, parámetro WORD 0...65534 DWORD 0...65532 Descripción de la operación L <operando> carga en el ACU 1 el contenido del byte, de la palabra o de la doble palabra direccionado, después de haberse almacenado el anterior contenido del ACU 1 en el ACU 2 y de haber puesto el ACU 1 a "0".
Operaciones de carga y transferencia Contenido del ACU 1 Contenido ACU1-H-H ACU1-H-L ACU1-L-H ACU1-L-L antes de ejecutar la operación de carga XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX después de ejecutar L MB10 (L <byte>) 00000000 00000000 00000000 <MB10> después de ejecutar L MW10 00000000 00000000 <MB10>...
Operaciones de carga y transferencia L STW Cargar palabra de estado en ACU 1 Formato L STW Descripción de la operación L STW (Operación L con el operando STW) carga el ACU 1 con el contenido de la palabra de estado.
Operaciones de carga y transferencia LAR1 Cargar registro de direcciones 1 con contenido del ACU 1 Formato LAR1 Descripción de la operación LAR1 carga el registro de direcciones AR 1 con el contenido del ACU 1 (puntero de 32 bits). ACU 1 y ACU 2 no se alteran.
Operaciones de carga y transferencia LAR1 <D> Cargar registro de direcciones 1 con puntero (formato de 32 bits) Formato LAR1 <D> Operando Tipo de datos Area de memoria Dirección fuente <D> DWORD D, M, L 0...65532 Constante de puntero Descripción de la operación LAR1 <D>...
Operaciones de carga y transferencia LAR1 AR2 Cargar registro de direcciones 1 con contenido del registro de direcciones 2 Formato LAR1 AR2 Descripción de la operación LAR1 AR2 (Operación LAR1 con el operando AR2) carga el registro de direcciones AR 1 con el contenido del registro de direcciones 2.
Operaciones de carga y transferencia LAR2 <D> Cargar registro de direcciones 2 con puntero (formato de 32 bits) Formato LAR2 <D> Operando Tipo de datos Area de memoria Dirección fuente <D> DWORD D, M, L 0...65532 Constante de puntero Descripción de la operación LAR2 <D>...
Operaciones de carga y transferencia Transferir Formato T <operando> Operando Tipo de datos Area de memoria Dirección fuente <operando> BYTE E, A, PA, M, L, D 0...65535 WORD 0...65534 DWORD 0...65532 Descripción de la operación T <operando> transfiere (copia) el contenido del ACU 1 a la dirección de destino si está conectado el Master Control Relay (MCR = 1).
Operaciones de carga y transferencia 9.10 T STW Transferir ACU 1 a la palabra de estado Formato T STW Descripción de la operación T STW (Operación T con el operando STW) transfiere los bits 0 a 8 del ACU 1 a la palabra de estado.
Operaciones de carga y transferencia 9.11 Intercambiar registro de direcciones 1 y registro de direcciones 2 Formato Descripción de la operación TAR (Intercambiar registros de direcciones) intercambia los contenidos de los registros de direcciones AR 1 y AR 2. La operación se ejecuta sin tener en cuenta ni afectar a los bits de la palabra de estado.
Operaciones de carga y transferencia 9.13 TAR1 <D> Transferir registro de direcciones 1 a dirección de destino (puntero de 32 bits) Formato TAR1 <D> Operando Tipo de datos Area de memoria Dirección fuente <D> DWORD D, M, L 0...65532 Descripción de la operación TAR1 <D>...
Operaciones de carga y transferencia 9.14 TAR1 AR2 Transferir registro de direcciones 1 a registro de direcciones 2 Formato TAR1 AR2 Descripción de la operación TAR1 AR2 (Operación TAR1 con el operando AR2) transfiere el contenido del registro de direcciones AR 1 al registro de direcciones AR 2. ACU 1 y ACU 2 no se alteran.
Operaciones de carga y transferencia 9.16 TAR2 <D> Transferir registro de direcciones 2 a dirección de destino (puntero de 32 bits) Formato TAR2 <D> Operando Tipo de datos Area de memoria Dirección fuente <D> DWORD D, M, L 0...65532 Descripción de la operación TAR2 <D>...
Control de programa 10.1 Lista de operaciones de control del programa Descripción Se dispone de las operaciones de control del programa siguientes: • BE Fin de bloque • BEB Fin de bloque condicionado • BEA Fin de bloque incondicionado • CALL Llamada •...
Control de programa 10.2 Fin de bloque Formato Descripción de la operación BE (Fin de bloque) interrumpe la ejecución del programa en el bloque actual y salta al bloque que el bloque actual ha llamado. La ejecución del programa continúa con la primera instrucción después de haberse efectuado la llamada al bloque.
Control de programa 10.3 Fin de bloque condicionado Formato Descripción de la operación Si el RLO es 1, la operación BEB (Fin de bloque condicionado) interrumpe la ejecución del programa en el bloque actual y salta al bloque que el bloque actual ha llamado. La ejecución del programa continúa con la primera instrucción después de ejecutar la llamada al bloque.
Control de programa 10.4 Fin de bloque incondicionado Formato Descripción de la operación BEA (Fin de bloque incondicionado) interrumpe la ejecución del programa en el bloque actual y salta al bloque que el bloque actual ha llamado. La ejecución del programa continúa con la primera instrucción después de ejecutar la llamada al bloque.
(FB), como para llamar a funciones de sistema (SFC) y a bloques de función del sistema (SFB) suministrados por Siemens. La operación CALL llama a la FC/SFC o al FB/SFB que se indica como operando, independientemente de cuál seal el RLO y de condiciones de cualquier otro tipo.
Control de programa Los parámetros IN pueden indicarse en forma de constantes o de direcciones, ya sean éstas absolutas o simbólicas. Los parámetros OUT e IN_OUT tienen que indicarse en forma de direcciones absolutas o simbólicas. Hay que asegurarse de que todas las direcciones y constantes sean compatibles con los tipos de datos que se transfieren.
Control de programa 10.6 Llamar a un FB Formato CALL FB n1, DB n1 Descripción Esta operación permite llamar bloques de función creados por el usuario (FBs). La operación CALL llama el FB indicado como operando, independientemente del RLO o de cualquier otra condición.
Control de programa Ejemplo 1: Llamar el FB99 con el bloque de datos de instancia DB1 CALL FB99,DB1 Parámetros formales Parámetros actuales MAX_RPM := #RPM1_MAX MIN_RPM := #RPM1 MAX_POWER := #POWER1 MAX_TEMP := #TEMP1 Ejemplo 2: Llamar el FB99 con el bloque de datos de instancia DB2 CALL FB99,DB2 Parámetros formales...
Control de programa 10.7 Llamar a una FC Formato CALL FC n Nota Si trabaja con el editor de AWL, la indicación (n) tendrá que refererirse a bloques válidos ya existentes. Los nombres simbólicos también se deberán haber definido previamente. Descripción Esta operación permite llamar funciones (FCs).
Esta operación permite llamar bloques de función del sistema (SFBs) suministrados por Siemens. La operación CALL llama el SFB indicado como operando, independientemente del RLO o de cualquier otra condición. Si llama un SFB con la operación CALL, tendrá que asignarle un bloque de datos de instancia.
Página 153
Control de programa Palabra de estado se escribe: Ejemplo CALL SFB4,DB4 Parámetros formales Parámetros actuales E0.1 T#20s M0.0 MW10 Nota Toda llamada a un SFB tiene que disponer de un bloque de datos de instancia. En el ejemplo anterior tienen que existir los bloques SFB4 y DB4 antes de la llamada. Lista de instrucciones (AWL) para S7-300 y S7-400 10-11 A5E00706962-01...
Control de programa 10.9 Llamar a una SFC Formato CALL SFC n Nota Si trabaja con el editor de AWL, la indicación (n) tendrá que refererirse a bloques válidos ya existentes. Los nombres simbólicos también se deberán haber definido previamente. Descripción Esta operación permite llamar funciones estándar creadas por el usuario (SFCs).
Control de programa 10.10 Llamar a una multiinstancia Formato CALL # Variablenname Descripción Una multiinstancia se genera al declarar una variable estática del tipo de datos de un bloque de función. Sólo las multiinstancias ya declaradas se listarán en el catálogo de elementos de programa.
Control de programa 10.12 Llamada condicionada Formato CC <identificación del bloque lógico> Descripción de la operación CC <identificación del bloque lógico> (Llamada condicionada) llama a un bloque lógico del tipo FC o SFC sin parámetros cuando el RLO es 1. La operación CC es prácticamente igual que la operación CALL, con la diferencia de que aquí...
Control de programa 10.13 Llamada incondicionada Formato UC <identificación del bloque lógico> Descripción de la operación UC <identificación del bloque lógico> (Llamada incondicionada) llama a un bloque lógico del tipo FC o SFC. La operación UC es prácticamente igual a la operación CALL, con la diferencia de que no se pueden transmitir parámetros.
Control de programa 10.14 El MCR (Master Control Relay) Notas importantes sobre el uso de la función MCR Atención Para eliminar la posibilidad de que haya peligro para las personas y/o las máquinas, no utilizar nunca el MCR para sustituir a un Master Control Relay mecánico que esté conectado permanentemente y que sirva como dispositivo de emergencia.
Página 159
Control de programa MCR( - Inicio área MCR / )MCR - Fin área MCR El MCR es controlado por una pila que tiene una anchura de un bit y una profundidad de ocho bits. El MCR permanece conectado mientras las ocho entradas tengan el estado de señal "1". La operación MCR( copia el bit RLO en la pila MCR.
Control de programa 10.15 Notas importantes sobre el uso de la función MCR Prestar atención al usar la función en bloques en los que se activó el Master Control Relay con MCRA • Si está desconectado el MCR, en la parte del programa que se encuentra entre MCR( y )MCR todas las asignaciones (T, =) escribirán el valor 0.
Control de programa 10.16 MCR( Almacenar el RLO en pila MCR, inicio área MCR Notas importantes sobre el uso de la función MCR Formato MCR( Descripción de la operación MCR( (Abrir un área MCR) almacena el RLO en la pila MCR y abre un área MCR. Area MCR = instrucciones entre la operación MCR( y la correspondiente operación )MCR .
Página 162
Control de programa Palabra de estado se escribe: Ejemplo Explicación MCRA //Activar área MCR. E 1.0 MCR( //Almacenar el RLO en la pila MCR, abrir un área MCR. El MCR está "ON", si el RLO es 1 (E 1.0 = 1). El MCR está "OFF", si el RLO es 0 (E 1.0 = 0). E 4.0 A 8.0 //Si el MCR está...
Control de programa 10.17 )MCR Fin área MCR Notas importantes sobre el uso de la función MCR Formato )MCR Descripción de la operación )MCR (Finalizar un área MCR) borra una entrada de la pila MCR y finaliza un área MCR. La última entrada de la pila MCR queda libre y se pone a "1".
Control de programa 10.18 MCRA Activar área MCR Notas importantes sobre el uso de la función MCR Formato MCRA Descripción de la operación MCRA (Activar el Master Control Relay) conecta la dependencia con respecto al MCR para las instrucciones que siguen a esta operación. Las operaciones MCRA (Activar el Master Control Relay) y MCRD (Desactivar el Master Control Relay) siempre deben utilizarse en pareja.
Control de programa 10.19 MCRD Desactivar área MCR Notas importantes sobre el uso de la función MCR Formato MCRD Descripción de la operación MCRD (Desactivar el Master Control Relay) desconecta la dependencia MCR para las instrucciones que siguen a esta operación. Las operaciones MCRD (Desactivar el Master Control Relay) y MCRA (Activar el Master Control Relay) siempre deben utilizarse en pareja.
Página 166
Control de programa Lista de instrucciones (AWL) para S7-300 y S7-400 10-24 A5E00706962-01...
Operaciones de desplazamiento y rotación 11.1 Operaciones de desplazamiento 11.1.1 Lista de operaciones de desplazamiento Descripción Las operaciones de desplazamiento sirven para desplazar el contenido de la palabra baja del ACU 1 o de todo el acumulador bit por bit a la izquierda o a la derecha (v. Registros de la CPU).
Operaciones de desplazamiento y rotación 11.1.2 Desplazar signo de número entero a la derecha (16 bits) Formato SSI <número> Operando Tipo de datos Descripción <número> Entero, sin signo Número de posiciones de bit a desplazar; margen de 0 a Descripción de la operación SSI (Desplazar signo de número entero a la derecha) sólo desplaza el contenido del ACU1-L bit por bit a la derecha.
Página 169
Operaciones de desplazamiento y rotación Ejemplos Contenido ACU1-H ACU1-L 31 ..16 15 ..0 antes de ejecutar SSD 6 0101 1111 0110 0100 1001 1101 0011 1011 después de ejecutar SSD 6...
Operaciones de desplazamiento y rotación 11.1.3 Desplazar signo de número entero a la derecha (32 bits) Formato SSD <número> Operando Tipo de datos Descripción <número> Entero, sin signo Número de posiciones de bit a desplazar; margen de 0 a 32 Descripción de la operación SSD (Desplazar signo de número entero de 32 bits a la derecha) desplaza el contenido completo del ACU 1 bit por bit a la derecha.
Página 171
Operaciones de desplazamiento y rotación Ejemplos Contenido ACU1-H ACU1-L 31 ..16 15 ..0 antes de ejecutar SSD 7 1000 1111 0110 0100 0101 1101 0011 1011 después de ejecutar SSD 7...
Operaciones de desplazamiento y rotación 11.1.4 Desplazar palabra a la izquierda (16 bits) Formato SLW <número> Operando Tipo de datos Descripción <número> Entero, sin signo Número de posiciones de bit a desplazar; margen de 0 a Descripción de la operación SLW (Desplazar palabra a la izquierda) sólo desplaza el contenido del ACU1-L bit por bit a la izquierda.
Página 173
Operaciones de desplazamiento y rotación Ejemplos Contenido ACU1-H ACU1-L 31 ..16 15 ..0 antes de ejecutar SLW 5 0101 1111 0110 0100 0101 1101 0011 1011 después de ejecutar SLW 5...
Operaciones de desplazamiento y rotación 11.1.5 Desplazar palabra a la derecha (16 bits) Formato SRW <número> Operando Tipo de datos Descripción <número> Entero, sin signo Número de posiciones de bit a desplazar; margen de 0 a 15 Descripción de la operación SRW (Desplazar palabra a la derecha) sólo desplaza el contenido del ACU1-L bit por bit a la derecha.
Página 175
Operaciones de desplazamiento y rotación Ejemplos Contenido ACU1-H ACU1-L 31 ..16 15 ..0 antes de ejecutar SRW 6 0101 1111 0110 0100 0101 1101 0011 1011 después de ejecutar SRW 6...
Operaciones de desplazamiento y rotación 11.1.6 Desplazar doble palabra a la izquierda (32 bits) Formato SLD <número> Operando Tipo de datos Descripción <número> Entero, sin signo Número de posiciones de bit a desplazar; margen de 0 a 32 Descripción de la operación SLD (Desplazar doble palabra a la izquierda) desplaza el contenido completo del ACU 1 bit por bit a la izquierda.
Página 177
Operaciones de desplazamiento y rotación Ejemplos Contenido ACU1-H ACU1-L 31 ..16 15 ..0 ACU 1 antes de ejecutar SLD 5 0101 1111 0110 0100 0101 1101 0011 1011 ACU 1 después de ejecutar SLD 5 1111 0110...
Operaciones de desplazamiento y rotación 11.1.7 Desplazar doble palabra a la derecha (32 bits) Formato SRD <número> Operando Tipo de datos Descripción <número> Entero, sin signo Número de posiciones de bit a desplazar; margen de 0 a 32 Descripción de la operación SRD (Desplazar doble palabra a la derecha) desplaza el contenido completo del ACU 1 bit por bit a la derecha.
Página 179
Operaciones de desplazamiento y rotación Ejemplos Contenido ACU1-H ACU1-L 31 ..16 15 ..0 antes de ejecutar SRD 7 0101 1111 0110 0100 0101 1101 0011 1011 después de ejecutar SRD 7...
Operaciones de desplazamiento y rotación 11.2 Operaciones de rotación 11.2.1 Lista de operaciones de rotación Descripción Las operaciones de rotación hacen circular todo el contenido del ACU 1 bit por bit a la izquierda o a la derecha (v. Registros de la CPU). Las operaciones de rotación activan funciones similares a las funciones de desplazamiento.
Operaciones de desplazamiento y rotación 11.2.2 Rotar doble palabra a la izquierda (32 bits) Formato RLD <número> Operando Tipo de datos Descripción <número> Entero, sin signo Número de posiciones de bit a rotar; margen de 0 a 32 Descripción de la operación RLD (Rotar doble palabra a la izquierda) rota el contenido completo del ACU 1 bit por bit a la izquierda.
Página 182
Operaciones de desplazamiento y rotación Ejemplos Contenido ACU1-H ACU1-L 31 ..16 15 ..0 antes de ejecutar RLD 4 0101 1111 0110 0100 0101 1101 0011 1011 después de ejecutar RLD 4...
Operaciones de desplazamiento y rotación 11.2.3 Rotar doble palabra a la derecha (32 bits) Formato RRD <número> Operando Tipo de datos Descripción <número> Entero, sin signo Número de posiciones de bit a rotar; margen de 0 a 32 Descripción de la operación RRD (Rotar doble palabra a la derecha) rota el contenido completo del ACU 1 bit por bit a la derecha.
Página 184
Operaciones de desplazamiento y rotación Ejemplos Contenido ACU1-H ACU1-L 31 ..16 15 ..0 antes de ejecutar RRD 4 0101 1111 0110 0100 0101 1101 0011 1011 después de ejecutar RRD 4...
Página 185
Operaciones de desplazamiento y rotación 11.2.4 RLDA Rotar ACU 1 a la izquierda vía A1 (32 bits) Formato RLDA Descripción de la operación RLDA (Rotar doble palabra a la izquierda vía A1) rota el contenido completo del ACU 1 una posición de bit a la izquierda mediante el código de condición A1.
Página 186
Operaciones de desplazamiento y rotación 11.2.5 RRDA Rotar ACU 1 a la derecha vía A1 (32 bits) Formato RRDA Descripción de la operación RRDA (Rotar doble palabra a la derecha vía A1) rota el contenido completo del ACU 1 una posición de bit a la derecha mediante el código de condición A1.
Operaciones de temporización 12.1 Lista de operaciones de temporización Descripción Bajo Area de memoria y componentes de un temporizador encontrará información sobre cómo ajustar y seleccionar los temporizadores. Se dispone de las operaciones de temporización siguientes: • FR Habilitar temporizador •...
Operaciones de temporización 12.2 Area de memoria y componentes de un temporizador Area de memoria Los temporizadores tienen un área reservada en la memoria de la CPU. Esta área de memoria reserva una palabra de 16 bits para cada operando de temporizador. La programación con AWL asiste 256 temporizadores.
Operaciones de temporización Base de tiempo Los bits 12 y 13 de la palabra de temporización contienen la base de tiempo en código binario. La base de tiempo define el intervalo en que se decrementa en una unidad el valor de temporización.
Operaciones de temporización Elegir el temporizador apropiado El resumen breve de los cinco tipos de temporizadores sirve de ayuda para la elección del temporizador que se adapte mejor a sus necesidades. E 0.0 A 4.0 S_IMPULS A 4.0 S_VIMP A 4.0 S_EVERZ A 4.0 S_SEVERZ A 4.0 S_AVERZ Temporizadores...
Operaciones de temporización 12.3 Habilitar temporizador Formato FR <temporizador> Operando Tipo de Area de Descripción datos memoria <temporizador> TIMER Número del temporizador; el área varía según la CPU utilizada Descripción de la operación FR <temporizador> borra la marca de flancos que se utiliza para arrancar el temporizador direccionado, si el RLO cambia de "0"...
Página 192
Operaciones de temporización RLO en la entrada de E 2.0 habilitación RLO en la entrada de E 2.1 arranque RLO en la entrada de E 2.2 desactivación Reacción del temporizador Consultar el estado de A 4.0 senal en la salida de temporización.
Página 193
Operaciones de temporización 12.4 Cargar valor actual del temporizador en ACU 1 como entero Formato L <temporizador> Operando Tipo de Area de Descripción datos memoria <temporizador> TIMER Número del temporizador; el área varía según la CPU utilizada Descripción de la operación L <temporizador>...
Página 194
Operaciones de temporización Palabra de temporización en la memoria para el tempo- Base di tiempo Valor de temporización (0 a 999) rizador T1 00 = 10 ms en código binario 01 = 100 ms 10 = 1 s 11 = 10 s Contenido del ACU 1-L después de la...
Operaciones de temporización 12.5 LC Cargar el valor actual de temporización en ACU 1 como número BCD Formato LC <temporizador> Operando Tipo de Area de Descripción datos memoria <temporizador> TIMER Número del temporizador; el área varía según la CPU utilizada Descripción de la operación LC <temporizador>...
Página 196
Operaciones de temporización Palabra de temporización en la memoria para el tempo- Base di tiempo Valor de temporización (0 a 999) rizador T1 00 = 10 ms en código binario 01 = 100 ms LC T1 10 = 1 s 11 = 10 s De binario a BCD Contenido del...
Operaciones de temporización 12.6 Desactivar temporizador Formato R <temporizador> Operando Tipo de Area de Descripción datos memoria <temporizador> TIMER Número del temporizador; el área varía según la CPU utilizada Descripción de la operación R <temporizador> finaliza la función de temporización actual y borra el valor de temporización y la base de tiempo de la palabra de temporización direccionada, si el RLO cambia de "0"...
Operaciones de temporización 12.7 Temporizador como impulso Formato SI <temporizador> Operando Tipo de Area de Descripción datos memoria <temporizador> TIMER Número del temporizador; el área varía según la CPU utilizada Descripción de la operación SI <temporizador> arranca el temporizador direccionado si el RLO cambia de "0" a "1". El intervalo programado transcurre mientras el RLO sea 1.
Página 199
Operaciones de temporización E 2.0 Habilitar E 2.1 Arrancar Poner a 0 E 2.2 Temporizador Salida A 4.0 Cargar temporizador: L, LC t = duración de tiempo programada Lista de instrucciones (AWL) para S7-300 y S7-400 12-13 A5E00706962-01...
Operaciones de temporización 12.8 Temporizador como impulso prolongado Formato SV <temporizador> Operando Tipo de Area de Descripción datos memoria <temporizador> TIMER Número del temporizador; el área varía según la CPU utilizada Descripción de la operación SV <temporizador> arranca el temporizador direccionado si el RLO cambia de "0" a "1". El intervalo programado transcurre aunque el RLO cambie mientras tanto a "0".
Página 201
Operaciones de temporización E 2.0 Habilitar E 2.1 Arrancar E 2.2 Poner a 0 Temporizador Salida A 4.0 Cargar temporizador: L, LC t = duración de tiempo programada Lista de instrucciones (AWL) para S7-300 y S7-400 12-15 A5E00706962-01...
Operaciones de temporización 12.9 Temporizador como retardo a la conexión Formato SE <temporizador> Operando Tipo de Area de Descripción datos memoria <temporizador> TIMER Número del temporizador; el área varía según la CPU utilizada Descripción de la operación SE <temporizador> arranca el temporizador direccionado si el RLO cambia de "0" a "1". El intervalo programado transcurre mientras el RLO sea 1.
Página 203
Operaciones de temporización E 2.0 Habilitar Arrancar E 2.1 E 2.2 Poner a 0 Temporizador A 4.0 Salida Cargar temporizador: L, LC t = duración de tiempo programada Lista de instrucciones (AWL) para S7-300 y S7-400 12-17 A5E00706962-01...
Operaciones de temporización 12.10 Temporizador como retardo a la conexión con memoria Formato SS <temporizador> Operando Tipo de Area de Descripción datos memoria <temporizador> TIMER Número del temporizador; el área varía según la CPU utilizada Descripción de la operación SS <temporizador> (Arrancar temporizador como retardo a la conexión con memoria) arranca el temporizador direccionado si el RLO cambia de "0"...
Página 205
Operaciones de temporización E 2.0 Habilitar Arrancar E 2.1 Poner a 0 E 2.2 Temporizador A 4.0 Salida Cargar temporizador: L, LC t = duración de tiempo programada Lista de instrucciones (AWL) para S7-300 y S7-400 12-19 A5E00706962-01...
Operaciones de temporización 12.11 Temporizador como retardo a la desconexión Formato SA <temporizador> Operando Tipo de Area de Descripción datos memoria <temporizador> TIMER Número del temporizador; el área varía según la CPU utilizada Descripción de la operación SA <temporizador> arranca el temporizador direccionado si el RLO cambia de "1" a "0". El intervalo programado transcurre mientras el RLO sea 0.
Página 207
Operaciones de temporización Habilitar E 2.0 Arrancar E 2.1 Poner a 0 E 2.2 Temporizador A 4.0 Salida Cargar temporizador: L, LC t = duración de tiempo programada Lista de instrucciones (AWL) para S7-300 y S7-400 12-21 A5E00706962-01...
Página 208
Operaciones de temporización Lista de instrucciones (AWL) para S7-300 y S7-400 12-22 A5E00706962-01...
Operaciones lógicas con palabras 13.1 Lista de operaciones lógicas con palabras Descripción Las operaciones lógicas con palabras combinan pares de palabras (16 bits) o palabras dobles (32 bits) bit por bit de acuerdo con la lógica de Boole. Cada palabra o palabra doble debe encontrarse en uno de ambos acumuladores.
Operaciones lógicas con palabras 13.2 Y con palabra (16 bits) Formato UW <constante> Operando Tipo de datos Descripción <constante> WORD, Configuración binaria a combinar por medio de Y con el ACU1-L. constante (16 bits) Descripción de la operación UW (Y con palabra) combina el contenido del ACU1-L con el ACU2-L ó con una constante (de 16 bits) bit por bit realizando una operación lógica Y.
Página 211
Operaciones lógicas con palabras Ejemplos 15 ..0 ACU1-L antes de ejecutar UW 0101 1001 0011 1011 ACU2-L ó constante (16 bits) 1111 0110 1011 0101 Resultado (ACU1-L) después de ejecutar 0101 0000 0011 0001 Ejemplo 1 Explicación EW20 //Cargar el contenido de EW20 en el ACU1-L.
Operaciones lógicas con palabras 13.3 O con palabra (16 bits) Formato OW <constante> Operando Tipo de datos Descripción <constante> WORD, Configuración binaria a combinar con el ACU1-L realizando una operación O lógica. constante (16 bits) Descripción de la operación OW (O con palabra) combina el contenido del ACU1-L con el ACU2-L ó con una constante (de 16 bits) bit por bit realizando una operación lógica O.
Página 213
Operaciones lógicas con palabras Ejemplos 15 ..0 ACU1-L antes de ejecutar OW 0101 0101 0011 1011 ACU2-L ó constante (16 bits) 1111 0110 1011 0101 Resultado (ACU1-L) después de ejecutar 1111 0111 1011 1111 Ejemplo 1 Explicación EW20 //Cargar el contenido de EW20 en el ACU1-L.
Operaciones lógicas con palabras 13.4 O-exclusiva con palabra (16 bits) Formato XOW <constante> Operando Tipo de datos Descripción <constante> WORD, Configuración binaria a combinar lógicamente con el ACU1-L realizando una constante (16 bits operación O-exclusiva. Descripción de la operación XOW (O-exclusiva con palabra) combina el contenido del ACU1-L con el ACU2-L o una constante (de 16 bits) bit por bit realizando una operación lógica O-exclusiva.
Página 215
Operaciones lógicas con palabras Ejemplos 15 ..0 ACU 1 antes de ejecutar XOW 0101 0101 0011 1011 ACU2-L ó constante (16 bits): 1111 0110 1011 0101 Resultado (ACU 1) después de ejecutar XOW 1010 0011 1000 1110 Ejemplo 1...
Operaciones lógicas con palabras 13.5 Y con doble palabra (32 bits) Formato UD <constante> Operando Tipo de datos Descripción <constante> DWORD, Configuración binaria a combinar lógicamente por medio de Y con el ACU 1. constante (32 bits) Descripción de la operación UD (Y con doble palabra) combina el contenido del ACU 1 con el ACU 2 ó...
Página 217
Operaciones lógicas con palabras Ejemplos 31 ..0 ACU 1 antes de ejecutar UD 0101 0000 1111 1100 1000 1001 0011 1011 ACU 2 ó constante (32 bits) 1111 0011 1000 0101 0111 0110 1011 0101 Resultado (ACU 1) después de 0101 0000...
Operaciones lógicas con palabras 13.6 O con doble palabra (32 bits) Formato OD <constante> Operando Tipo de datos Descripción <constante> DWORD, Configuración binaria a combinar con el ACU 1realizando una O lógica. constante (32 bits) Descripción de la operación OD (O con doble palabra) combina el contenido del ACU 1 con ACU 2 ó con una constante (32 bits) bit por bit realizando una operación lógica O.
Página 219
Operaciones lógicas con palabras Ejemplos 31 ..0 ACU 1 antes de ejecutar OD 0101 0000 1111 1100 1000 0101 0011 1011 ACU 2 ó constante (32 bits) 1111 0011 1000 0101 0111 0110 1011 0101 Resultado (ACU 1) después de 1111 0011...
Operaciones lógicas con palabras 13.7 O-exclusiva con doble palabra (32 bits) Formato XOD <constante> Operando Tipo de datos Descripción <constante> DWORD, Configuración binaria a combinar lógicamente con el ACU 1 realizando una constante (32 bits) operación O-exclusiva Descripción de la operación XOD (O-exclusiva con doble palabra) combina el contenido del ACU 1 con ACU 2 ó...
Página 221
Operaciones lógicas con palabras Ejemplos 31 ..0 ACU 1 antes de ejecutar XOD 0101 0000 1111 1100 1000 0101 0011 1011 ACU 2 ó constante (32 bits) 1111 0011 1000 0101 0111 0110 1011 0101 Resultado (ACU 1) después de ejecuta 1010 0011...
Página 222
Operaciones lógicas con palabras Lista de instrucciones (AWL) para S7-300 y S7-400 13-14 A5E00706962-01...
Operaciones con acumuladores 14.1 Lista de operaciones con acumuladores Descripción Para operar con el contenido de uno o varios acumuladores o registros de direcciones se dispone de las siguientes operaciones: • TAK Intercambiar ACU 1 y ACU 2 • PUSH CPU con dos acumuladores •...
Operaciones con acumuladores 14.2 Intercambiar ACU 1 y ACU 2 Formato Descripción de la operación TAK (Intercambiar ACU 1 y ACU 2) intercambia el contenido del ACU 1 con el contenido del ACU 2. La operación se ejecuta sin considerar ni afectar a los bits de la palabra de estado. Los contenidos del ACU 3 y del ACU 4 quedan inalterados (en las CPU con cuatro acumuladores).
Operaciones con acumuladores 14.3 PUSH CPU con dos acumuladores Formato PUSH Descripción de la operación PUSH (ACU 1 a ACU 2) copia el contenido completo del ACU 1 al ACU 2. El ACU 1 no se altera. La operación se ejecuta sin considerar ni afectar a los bits de la palabra de estado. Palabra de estado se escribe: Ejemplo...
Operaciones con acumuladores 14.4 PUSH CPU con cuatro acumuladores Formato PUSH Descripción de la operación PUSH (CPU con cuatro acumuladores) copia el contenido del ACU 3 al ACU 4, el contenido del ACU 2 al ACU 3 y el contenido del ACU 1 al ACU 2. El ACU 1 no se altera. La operación se ejecuta sin considerar ni afectar a los bits de la palabra de estado.
Página 227
Operaciones con acumuladores 14.5 CPU con dos acumuladores Formato Descripción de la operación POP (CPU con dos acumuladores) copia el contenido completo del ACU 2 al ACU 1. El ACU 2 no se altera. La operación se ejecuta sin considerar ni afectar a los bits de la palabra de estado.
Página 228
Operaciones con acumuladores 14.6 CPU con cuatro acumuladores Formato Descripción de la operación POP (CPU con cuatro acumuladores) copia el contenido del ACU 2 al ACU 1, el contenido del ACU 3 al ACU 2 y el contenido del ACU 4 al ACU 3. El ACU 4 no se altera. La operación se ejecuta sin considerar ni afectar a los bits de la palabra de estado.
Operaciones con acumuladores 14.7 Introducir pila de ACU Formato Descripción de la operación ENT (Introducir pila de ACU) copia el contenido del ACU 3 al ACU 4 y el contenido del ACU 2 al ACU 3. Sie se programa la operación ENT directamente antes de una operación de carga, se puede salvar con ello un resultado parcial en el ACU 3.
Operaciones con acumuladores 14.9 Incrementar ACU 1-L-L Formato INC <entero de 8 bits> Operando Tipo de datos Descripción <entero de 8 bits> Constante Constante a sumar; margen de 0 hasta 255 (entero de 8 bits) Descripción de la operación INC <entero de 8 bits> (Incrementar ACU1-L-L) suma el número entero (8 bits) al contenido del ACU1-L-L y almacena el resultado en ACU1-L-L.
Operaciones con acumuladores 14.10 Decrementar ACU 1-L-L Formato DEC <entero de 8 bits> Operando Tipo de datos Descripción <entero de 8 bits> Constante Constante a restar; margen de 0 hasta 255 (entero de 8 bits) Descripción de la operación DEC <entero de 8 bits> (Decrementar ACU1-L-L) resta el número entero (8 bits) del contenido del ACU1-L-L y almacena el resultado en ACU1-L-L.
Operaciones con acumuladores 14.11 +AR1 Sumar el ACU 1 al registro de direcciones 1 Formatos +AR1 +AR1 <P#Byte.Bit> Operando Tipo de datos Descripción <P#Byte.Bit> Constante de puntero Dirección que se suma a AR 1. Descripción de la operación +AR1 (Sumar a AR1) suma el desplazamiento que se haya indicado en la instrucción o en el ACU 1-L, al contenido de AR1.
Operaciones con acumuladores 14.12 +AR2 Sumar el ACU1 al registro de direcciones 2 Formatos +AR2 +AR2 <P#Byte.Bit> Operando Tipo de datos Descripción <P#Byte.Bit> Constante de puntero Dirección que se suma a AR 2. Descripción de la operación +AR2 (Sumar a AR2) suma el desplazamiento que se haya indicado en la instrucción o en el ACU1-L, al contenido de AR2.
Operaciones con acumuladores 14.13 Estructuración de imagen (operación nula) Formato BLD <número> Operando Descripción <número> Número de identificación de la operación BLD; margen de 0 hasta 255 Descripción de la operación BLD <número> (Estructuración de imagen; operación nula) no ejecuta ninguna función y tampoco afecta a los bits de la palabra de estado.
Página 235
Operaciones con acumuladores 14.15 NOP 1 Operación nula 1 Formato NOP 1 Descripción de la operación NOP 1 (Operación NOP con el operando "1") no ejecuta ninguna función y tampoco afecta a los bits de la palabra de estado. El código de operación contiene una configuración binaria con 16 unos.
Página 236
Operaciones con acumuladores Lista de instrucciones (AWL) para S7-300 y S7-400 14-14 A5E00706962-01...
Sinopsis de las operaciones AWL Operaciones AWL ordenadas según la nemotécnica alemana (SIMATIC) Nemo- Nemo- Catálogo de elementos Descripción técnica técnica del programa alemana inglesa Operaciones lógicas con bits Asignar Operaciones lógicas con bits Cerrar paréntesis Función en coma fija Multiplicar ACU 1 por ACU 2 como entero doble Función en coma fija Multiplicar ACU 1 por ACU 2 como entero...
Página 238
Sinopsis de las operaciones AWL Nemo- Nemo- Catálogo de elementos Descripción técnica técnica del programa alemana inglesa Control del programa Fin de bloque condicionado Acumulador Estructuración de imagen (operación nula) Convertidor Convertir número BCD a entero doble Convertidor Convertir BCD a entero CALL CALL Control del programa...
Página 239
Sinopsis de las operaciones AWL Nemo- Nemo- Catálogo de elementos Descripción técnica técnica del programa alemana inglesa LAR1 LAR1 Cargar/Transferir Cargar registro de direcciones 1 con puntero (formato de 32 bits) LAR1 LAR1 Cargar/Transferir Cargar registro de direcciones 1 con contenido del registro de direcciones 2 LAR2 LAR2...
Página 240
Sinopsis de las operaciones AWL Nemo- Nemo- Catálogo de elementos Descripción técnica técnica del programa alemana inglesa Contadores Desactivar contador (el valor de temporización actual puede ser un número comprendido en el margen de 0 a 255, p. ej.: R Z 15) Temporizadores Desactivar temporizador (el temporizador actual puede ser un número comprendido en el margen de 0 a 255,...
Página 241
Sinopsis de las operaciones AWL Nemo- Nemo- Catálogo de elementos Descripción técnica técnica del programa alemana inglesa Saltos Saltar si el resultado no es válido Saltos Saltar si el resultado = 0 Función en coma flotante Calcular el cuadrado de un número de coma flotante (32 bits) SQRT SQRT...
Página 242
Sinopsis de las operaciones AWL Nemo- Nemo- Catálogo de elementos Descripción técnica técnica del programa alemana inglesa Operaciones lógicas con bits O-exclusiva-NO Operaciones lógicas con bits O-exclusiva-NO con abrir paréntesis Bits Operaciones lógicas con O-exclusiva con doble palabra (32 bits) palabras Bits Operaciones lógicas con O-exclusiva con palabra (16 bits)
Sinopsis de las operaciones AWL Operaciones AWL ordenadas según la nemotécnica inglesa (internacional) Nemo-té Nemo- Catálogo de elementos Descripción cnica técnica del programa inglesa alemana Operaciones lógicas con bits Asignar Operaciones lógicas con bits Cerrar paréntesis Función en coma fija Sumar constante entera o entera doble Función en coma fija Multiplicar ACU 1 por ACU 2 como entero doble...
Página 244
Sinopsis de las operaciones AWL Nemo-té Nemo- Catálogo de elementos Descripción cnica técnica del programa inglesa alemana Acumulador Estructuración de imagen (operación nula) Convertidor Convertir número BCD a entero doble Convertidor Convertir BCD a entero Convertidor Invertir el orden de los bytes en el ACU 1 (32 bits) CALL CALL Control del programa...
Página 245
Sinopsis de las operaciones AWL Nemo-té Nemo- Catálogo de elementos Descripción cnica técnica del programa inglesa alemana SPMZ Saltos Saltar si el resultado <= 0 Saltos Saltar si resultado <> 0 SPBNB Saltos Saltar si RLO = 0 y salvar RLO en RB JNBI SPBIN Saltos...
Página 246
Sinopsis de las operaciones AWL Nemo-té Nemo- Catálogo de elementos Descripción cnica técnica del programa inglesa alemana MCRA MCRA Control del programa Activar área MCR MCRD MCRD Control del programa Desactivar área MCR Función en coma fija Resto de la división de enteros dobles NEGD NEGD Convertidor...
Página 247
Sinopsis de las operaciones AWL Nemo-té Nemo- Catálogo de elementos Descripción cnica técnica del programa inglesa alemana Temporizadores Temporizador como retardo a la conexión Temporizadores Temporizador como impulso prolongado Operaciones lógicas con bits Activar Temporizadores Temporizador como retardo a la desconexión Función en coma flotante Calcular el seno de ángulos como números de coma flotante (32 bits)
Página 248
Sinopsis de las operaciones AWL Lista de instrucciones (AWL) para S7-300 y S7-400 A-12 A5E00706962-01...
Ejemplos de programación Lista de ejemplos de programación Aplicaciones prácticas Todas las instrucciones AWL activan una operación determinada. Combinando estas operaciones en un programa se puede llevar a cabo una gran variedad de tareas de automatización. Este capítulo contiene los siguientes ejemplos: •...
Ejemplos de programación Ejemplos: Operaciones lógicas con bits Ejemplo 1: Controlar una cinta transportadora La figura muestra una cinta transportadora que se pone en marcha eléctricamente. Al principio de la cinta (es decir, en el extremo izquierdo) se encuentran dos pulsadores: S1 para MARCHA (start) y S2 para PARO (stop).
Ejemplos de programación Operación AWL para controlar una cinta transportadora Explicación E 1.1 //Accionando cualquiera de los pulsadores start arranca el motor. E 1.3 A 4.0 E 1.2 //Accionando cualquiera de los pulsadores stop o abriendo el contacto normalmente cerrado al final de la cinta separa el motor. E 1.4 E 1.5 A 4.0...
Ejemplos de programación Programación absoluta y simbólica Se puede escribir un programa que controle la cinta transportadora usando valores absolutos o símbolos para representar los distintos componentes del sistema de transporte. Los símbolos los define el usuario en la tabla de símbolos (v. la Ayuda en pantalla de STEP 7). Componente del sistema Dirección absoluta Símbolo...
Ejemplos de programación Ejemplo: Operaciones de temporización Reloj Para generar una señal que se repita periódicamente se puede utilizar un reloj o un relé intermitente. Los relojes se suelen utilizar en sistemas de señalización que controlan la intermitencia de lámparas indicadoras. En el S7-300 se puede implementar la función Reloj usando un procesamiento temporizado en bloques de organización especiales.
Ejemplos de programación Programar una frecuencia determinada Con los bits de los bytes de marca MB100 se consiguen las frecuencias siguientes: MB100 Frecuencia en hertzios Duración M 100.0 0.5 s (250 ms on / 250 ms off) M 100.1 (0.5 s on / 0.5 s off) M 100.2 (1 s on / 1 s off) M 100.3...
Página 255
Ejemplos de programación Estado de señal del bit 1 de MB101 (M 101.1) Frecuencia = 1/T = 1/1 s = 1 Hz M 101.1 Tiempo 250 ms 0.5 s 0.75 s 1 s 1.25 s 1.5 s Lista de instrucciones (AWL) para S7-300 y S7-400 A5E00706962-01...
Ejemplos de programación Ejemplo: Operaciones de contaje y comparación Area de almacenamiento con contador y comparador La figura muestra un sistema con dos cintas transportadoras y un área de almacenamiento temporal colocada entre ambas. La cinta transportadora 1 transporta paquetes al área de almacenamiento.
Ejemplos de programación Operación AWL para activar las lámparas del panel indicador Explicación E 0.0 //Cada impulso generado por la barrera óptica 1 //aumenta el valor del contador Z1 en una unidad, contando así el número de paquetes transportados al área de almacenamiento. E 0.1 //Cada impulso generado por la barrera óptica 2 //disminuye el valor del contador Z1 en una unidad, contando así...
Ejemplos de programación Ejemplo: Operaciones de aritmétca con enteros Resolver un Problema aritmético El programa de ejemplo siguiente muestra cómo obtener con tres operaciones aritméticas para enteros el mismo resultado que la ecuación: MD4 = ((EW0 + DBW3) x 15) / MW2 Operación AWL Explicación //Cargar el valor de la palabra de entrada EW0 en el ACU 1.
Ejemplos de programación Ejemplo: Operaciones lógicas con palabras Calentar una caldera El operador de la caldera conecta la caldera accionando el pulsador de marcha. El operador puede graduar un tiempo de calentamiento utilizando los preselectores mecánicos. El valor fijado por el operador indica los segundos en formato decimal codificado en binario (BCD). Preselectores para graduar dígitos BCD Caldera Calor...
Página 260
Ejemplos de programación Lista de instrucciones (AWL) para S7-300 y S7-400 B-12 A5E00706962-01...
Transferencia de parámetros Los parámetros de un bloque se entregan o transfieren en forma de valores. En el caso de los bloques de función (FB), el bloque llamado utiliza una copia del valor del parámetro actual (real) que se encuentra en el DB de instancia. En el caso de las funciones (FC), la pila de datos locales contiene una copia del valor actual (real).
Página 262
Transferencia de parámetros Lista de instrucciones (AWL) para S7-300 y S7-400 A5E00706962-01...
Índice alfabético ATAN..............8-20 AUF ..............5-2 ) ..............1-14 )MCR ............... 10-21 12-3 Base di tiempo........... BE ..............10-2 BEA ..............10-4 *D ..............7-11 BEB ..............10-3 *I ................ 7-5 BLD ..............14-12 *R ................ 8-7 BTD ..............3-4 BTI...............
Página 264
Índice alfabético Cargar registro de direcciones 2 con contenido del ACU 1 ......... 9-7 Ejemplo Cargar registro de direcciones 2 Operaciones de aritmétca con enteros..B-10 con puntero (formato de 32 bits)...... 9-8 Operaciones de contaje y comparación ..B-8 Cargar valor actual del contador en ACU 1 Operaciones de temporización......
Página 265
Índice alfabético L ..............4-3, 9-2 MCR ....10-19, 10-20, 10-21, 10-22, 10-23 L DBLG..............5-3 MCR( ............ 10-19, 10-20 L DBNO ............... 5-4 MCRA.............. 10-22 L DILG ..............5-4 MCRD.............. 10-23 L DINO ..............5-5 Memorizar el RLO en el registro RB....1-21 L STW ..............
Página 266
Índice alfabético Saltar si RLO = 1 y salvaguardar RLO en RB ..6-7 Saltar utilizando una lista de metas..... 6-4 Salto incondicionado ........... 6-3 SAVE..............1-21 Poner contador al valor inicial......4-6 SE ..............12-16 POP............14-5, 14-6 SET ..............1-19 CPU con cuatro acumuladores......
Página 267
Índice alfabético Temporizador como retardo a la conexión con memoria..........12-18 Valor absoluto de un número de coma flotante Temporizador como retardo (32 bits - IEEE-FP) ........8-10 a la desconexión.......... 12-20 Valor de contaje ..........4-1 Transferencia de parámetros.......C-1 12-4 Transferir .............
Página 268
Índice alfabético Lista de instrucciones (AWL) para S7-300 y S7-400 Índice alfabético-6 A5E00706962-01...