Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1 2 3 4 5 6 7 8 9 10 11 12 13 14 A B C
Operaciones con los bloques de datos Operaciones de salto Aritmtica de enteros Aritmtica en coma flotante Operaciones de carga y transferencia Control de programa Operaciones de desplazamiento y rotacin Operaciones de temporizacin Operaciones lgicas con palabras Operaciones con acumuladores
Este manual forma parte del paquete de documentacin con la referencia: 6ES7810-4CA10-8DW1
05/2010
A5E02790285-01
Personal cualificado
El producto/sistema tratado en esta documentacin slo deber ser manejado o manipulado por personal cualificado para la tarea encomendada y observando lo indicado en la documentacin correspondiente a la misma, particularmente las consignas de seguridad y advertencias en ella incluidas. Debido a su formacin y experiencia, el personal cualificado est en condiciones de reconocer riesgos resultantes del manejo o manipulacin de dichos productos/sistemas y de evitar posibles peligros.
Marcas registradas
Todos los nombres marcados con son marcas registradas de Siemens AG. Los restantes nombres y designaciones contenidos en el presente documento pueden ser marcas registradas cuya utilizacin por terceros para sus propios fines puede violar los derechos de sus titulares.
Exencin de responsabilidad
Hemos comprobado la concordancia del contenido de esta publicacin con el hardware y el software descritos. Sin embargo, como es imposible excluir desviaciones, no podemos hacernos responsable de la plena concordancia. El contenido de esta publicacin se revisa peridicamente; si es necesario, las posibles las correcciones se incluyen en la siguiente edicin.
A5E02789911-01 02/2010
Prolgo
Objetivo del manual
Este manual le servir de ayuda al crear programas de usuario con el lenguaje de pogramacin AWL. Describe los elementos del lenguaje de programacin AWL, as como su sintaxis y sus funciones.
Nociones bsicas
Este manual est dirigido a programadores de programas S7, operadores y personal de mantenimiento que dispongan de conocimientos bsicos sobre los autmatas programables. Adems es necesario estar familiarizado con el uso de ordenadores o equipos similares a un PC (p. ej. unidades de programacin) bajo los sistemas operativos MS Windows XP, MS Windows Server 2003 o MS Windows 7.
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Prolgo
Requisitos
Para entender correctamente el presente manual de AWL se requieren conocimientos tericos 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 programacin se basan en el software estndar de STEP 7, debera conocerse ya mnimamente el uso del software y su documentacin. Este manual forma parte del paquete de documentacin "STEP 7 Informacin de referencia. La tabla siguiente da una visin de conjunto de la documentacin de STEP 7:
Manuales Informacin bsica de STEP 7 compuesta por: STEP 7 : Introduccin y ejercicios prcticos Programar con STEP 7 Configurar el hardware y la comunicacin con STEP 7 De S5 a S7, Gua para facilitar la transicin Esta obra de consulta describe los 6ES7810-4CA10-8DW1 lenguajes de programacin KOP, FUP y AWL as como las funciones estndar y las funciones de sistema como complemento a la 'Informacin bsica de STEP 7. Tema Nociones bsicas para el personal tcnico. Describe cmo realizar soluciones de control con el software STEP 7 para los sistemas S7-300/400. Referencia 6ES7810-4CA10-8DW0
Informacin de referencia para STEP 7, compuesta por Manuales KOP/FUP/AWL para S7-300/400 Funciones estndar y funciones de sistema para S7-300/400 Tomo 1 y Tomo 2
Tema Nociones bsicas para disear programas y configurar el hardware con STEP 7. Disponible en forma de Ayuda en pantalla. Informacin de referencia sensible al contexto
Ayudas de referencia para AWL/KOP/FUP Ayudas de referencia para SFBs/SFCs Ayudas de referencia para los bloques de organizacin
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Prolgo
Ayuda en pantalla
Como complemento al manual puede recurrir a la Ayuda en pantalla integrada en el software. A la Ayuda que est integrada en el software se accede de distinta manera: La Ayuda sensible al contexto ofrece informacin sobre el contexto actual, p. ej. sobre el cuadro de dilogo que est abierto o sobre la ventana activa. Para acceder a esta ayuda pulse el botn de comando Ayuda o bien la tecla F1. El men Ayuda ofrece varios comandos de men: Temas de Ayuda abre el ndice de la Ayuda de STEP 7. A travs de "Glosario" se accede al glosario para todas las aplicaciones de STEP 7. Este manual es un extracto de la Ayuda de AWL. Debido a que la estructura del manual se corresponde a grandes rasgos con la de la Ayuda en pantalla puede alternar la lectura del manual con la de la Ayuda en pantalla.
Asistencia adicional
Si tiene preguntas relacionadas con el uso de los productos descritos en el manual a las que no encuentre respuesta, dirjase a la sucursal o al representante ms prximo de Siemens, en donde le pondrn en contacto con el especialista. Encontrar a su persona de contacto en la pgina de Internet: http://www.siemens.com/automation/partner Encontrar una gua sobre el conjunto de la informacin tcnica correspondiente a los distintos productos y sistemas SIMATIC en la pgina de Internet: http://www.siemens.com/simatic-tech-doku-portal Encontrar el catlogo y el sistema de pedidos on-line en: http://mall.automation.siemens.com/
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Prolgo
Technical Support
Podr acceder al Technical Support de todos los productos de Industry Automation and Drive Technology a travs del formulario de Internet para el Support Request http://www.siemens.com/automation/support-request
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
ndice
1 Operaciones lgicas con bits 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.20 1.21 1.22 1.23 1.24 2 2.1 2.2 2.3 2.4 3 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 13 Lista de operaciones lgicas con bits ..........................................................................................13 U Y ..............................................................................................................................................15 UN Y-No......................................................................................................................................16 O O..............................................................................................................................................17 ON O-No .....................................................................................................................................18 X O-exclusiva ..............................................................................................................................19 XN O-exclusiva-NO.....................................................................................................................20 O Y antes de O ...........................................................................................................................21 U( Y con abrir parntesis ............................................................................................................22 UN( Y-No con abrir parntesis....................................................................................................23 O( O con abrir parntesis............................................................................................................23 ON( O-No con abrir parntesis ...................................................................................................24 X( O-exclusiva con abrir parntesis............................................................................................24 XN( O-exclusiva-NO con abrir parntesis...................................................................................25 ) Cerrar parntesis ......................................................................................................................25 = Asignar......................................................................................................................................27 R Desactivar................................................................................................................................28 S Activar......................................................................................................................................29 NOT Negar el RLO .....................................................................................................................30 SET Activar el RLO (=1) .............................................................................................................30 CLR Desactivar RLO (=0)...........................................................................................................32 SAVE Memorizar el RLO en el registro RB ...............................................................................33 FN Flanco negativo.....................................................................................................................34 FP Flanco positivo ......................................................................................................................36 39 Lista de operaciones de comparacin .........................................................................................39 ? I Comparar enteros ..................................................................................................................40 ? D Comparar enteros dobles.....................................................................................................41 ? R Comparar nmeros en coma flotante (32 bits).....................................................................42 43 Lista de operaciones de conversin ............................................................................................43 BTI Convertir BCD a entero ........................................................................................................44 ITB Convertir entero en BCD ......................................................................................................45 BTD Convertir nmero BCD a entero doble ...............................................................................46 ITD Convertir entero en entero doble .........................................................................................47 DTB Convertir entero doble en BCD ..........................................................................................48 DTR Convertir entero doble en nmero en coma flotante (32 bits, IEEE 754) ..........................49 INVI Complemento a uno de un entero ......................................................................................50 INVD Complemento a uno de un entero doble...........................................................................51 NEGI Complemento a dos de un entero.....................................................................................52 NEGD Complemento a dos de un entero doble .........................................................................53 NEGR Invertir un nmero en coma flotante (32 bits, IEEE 754) ................................................54 TAW Cambiar el orden de los bytes en el ACU 1-L (16 bits) .....................................................55 TAD Invertir el orden de los bytes en el ACU 1 (32 bits)............................................................56
Operaciones de comparacin
Operaciones de conversin
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
ndice
3.15 3.16 3.17 3.18 4 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 5 5.1 5.2 5.3 5.4 5.5 5.6 5.7 6 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 6.10 6.11 6.12 6.13 6.14 6.15 6.16 6.17 6.18 6.19
RND Redondear un nmero en coma flotante a entero .............................................................57 TRUNC Truncar ..........................................................................................................................58 RND+ Redondear un nmero real al prximo entero superior ...................................................59 RND- Redondear un nmero real al prximo entero inferior ......................................................60 61 Lista de operaciones de contaje ..................................................................................................61 FR Habilitar contador ..................................................................................................................62 L Cargar valor actual del contador en ACU 1 en forma de entero .............................................63 LC Cargar valor actual del contador en ACU 1 como nmero BCD...........................................64 R Desactivar contador.................................................................................................................66 S Poner contador al valor inicial .................................................................................................67 ZV Incrementar contador ............................................................................................................68 ZR Decrementar contador...........................................................................................................69 71 Lista de operaciones con bloques ...............................................................................................71 AUF Abrir bloque de datos.........................................................................................................72 TDB Intercambiar bloque de datos global y bloque de datos de instancia.................................73 L DBLG Cargar la longitud del DB global en el ACU 1...............................................................73 L DBNO Cargar nmero del bloque de datos global en ACU 1..................................................74 L DILG Cargar longitud del bloque de datos de instancia en ACU 1 .........................................74 L DINO Cargar nmero del bloque de datos de instancia en ACU 1 .........................................75 77 Lista de operaciones de salto ......................................................................................................77 SPA Salto incondicionado...........................................................................................................79 SPL Saltar utilizando una lista de metas ....................................................................................80 SPB Saltar si RLO = 1 ................................................................................................................82 SPBN Saltar si RLO = 0............................................................................................................83 SPBB Saltar si RLO = 1 y salvaguardar RLO en RB..................................................................84 SPBNB Saltar si RLO = 0 y salvar RLO en RB ..........................................................................85 SPBI Saltar si RB = 1..................................................................................................................86 SPBIN Saltar si RB = 0 ...............................................................................................................87 SPO Saltar si OV = 1 ..................................................................................................................88 SPS Saltar si OS = 1...................................................................................................................89 SPZ Saltar si el resultado = 0 .....................................................................................................91 SPN Saltar si resultado <> 0.......................................................................................................92 SPP Saltar si el resultado > 0 .....................................................................................................93 SPM Saltar si resultado < 0 ........................................................................................................94 SPPZ Saltar si el resultado >= 0.................................................................................................95 SPMZ Saltar si el resultado <= 0 ................................................................................................96 SPU Saltar si el resultado no es vlido.......................................................................................97 LOOP Bucle ................................................................................................................................99
Operaciones de contaje
Operaciones de salto
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
ndice
Aritmtica de enteros 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 7.10 7.11 7.12
101
Lista de operaciones aritmticas con enteros ...........................................................................101 Evaluar bits de la palabra de estado en operaciones en coma fija ...........................................102 +I Sumar ACU 1 y 2 como entero.............................................................................................103 -I Restar ACU 1 de ACU 2 como entero...................................................................................104 *I Multiplicar ACU 1 por ACU 2 como entero............................................................................105 /I Dividir ACU 2 por ACU 1 como entero ..................................................................................106 + Sumar constante entera o entera doble ................................................................................108 +D Sumar ACU 1 y 2 como entero doble .................................................................................110 -D Restar ACU 1 de ACU 2 como entero doble .......................................................................111 *D Multiplicar ACU 1 por ACU 2 como entero doble ................................................................112 /D Dividir ACU 2 por ACU 1 como entero doble .......................................................................113 MOD Resto de la divisin de enteros dobles............................................................................114 115 Lista de operaciones aritmticas con nmeros en coma flotante..............................................115 Evaluar los bits de la palabra de estado en operaciones en coma flotante ..............................116 Operaciones bsicas .................................................................................................................117 +R Sumar ACU 1 y 2 como nmero en coma flotante (32 bits) ...............................................117 -R Restar ACU 1 de ACU 2 como nmero en coma flotante (32 bits) .....................................119 *R Multiplicar ACU 1 por ACU 2 como nmero en coma flotante (32 bits) ..............................120 /R Dividir ACU 2 por ACU 1 como nmero en coma flotante (32 bits) .....................................121 ABS Valor absoluto de un nmero en coma flotante (32 bits, IEEE 754) ................................122 Operaciones ampliadas .............................................................................................................123 SQR Calcular el cuadrado de un nmero en coma flotante (32 bits) .......................................123 SQRT Calcular la raz cuadrada de un nmero en coma flotante (32 bits)..............................124 EXP Calcular el exponente de un nmero en coma flotante (32 bits)......................................125 LN Calcular el logaritmo natural de un nmero en coma flotante (32 bits) ..............................126 SIN Calcular el seno de ngulos como nmeros en coma flotante (32 bits)............................127 COS Calcular el coseno de ngulos como nmeros en coma flotante (32 bits) ......................128 TAN Calcular la tangente de ngulos como nmeros en coma flotante (32 bits) ....................128 ASIN Calcular el arcoseno de un nmero en coma flotante (32 bits).......................................129 ACOS Calcular el arcocoseno de un nmero en coma flotante (32 bits).................................130 ATAN Calcular la arcotangente de un nmero en coma flotante (32 bits) ...............................131 133 Lista de operaciones de cargar y transferencia.........................................................................133 L Cargar ....................................................................................................................................134 L STW Cargar palabra de estado en ACU 1 ............................................................................136 LAR1 Cargar registro de direcciones 1 con contenido del ACU 1............................................137 LAR1 <D> Cargar registro de direcciones 1 con puntero (formato de 32 bits) ........................138 LAR1 AR2 Cargar registro de direcciones 1 con contenido del registro de direcciones 2.......139 LAR2 Cargar registro de direcciones 2 con contenido del ACU 1............................................139 LAR2 <D> Cargar registro de direcciones 2 con puntero (formato de 32 bits) ........................140 T Transferir................................................................................................................................141 T STW Transferir ACU 1 a la palabra de estado ......................................................................142 TAR Intercambiar registro de direcciones 1 y registro de direcciones 2 ..................................143 TAR1 Transferir registro de direcciones 1 a ACU 1 .................................................................143 TAR1 <D> Transferir registro de direcciones 1 a direccin de destino (puntero de 32 bits) ...144 TAR1 AR2 Transferir registro de direcciones 1 a registro de direcciones 2 ............................145 TAR2 Transferir registro de direcciones 2 a ACU 1 .................................................................145 TAR2 <D> Transferir registro de direcciones 2 a direccin de destino (puntero de 32 bits) ...146
Aritmtica en coma flotante 8.1 8.2 8.3 8.3.1 8.3.2 8.3.3 8.3.4 8.3.5 8.4 8.4.1 8.4.2 8.4.3 8.4.4 8.4.5 8.4.6 8.4.7 8.4.8 8.4.9 8.4.10
Operaciones de carga y transferencia 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 9.10 9.11 9.12 9.13 9.14 9.15 9.16
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
ndice
10
Control de programa 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 10.10 10.11 10.12 10.13 10.14 10.15 10.16 10.17 10.18 10.19
147
Lista de operaciones de control del programa...........................................................................147 BE Fin de bloque.......................................................................................................................148 BEB Fin de bloque condicionado..............................................................................................149 BEA Fin de bloque incondicionado ...........................................................................................150 CALL Llamada ..........................................................................................................................151 Llamar a un FB...........................................................................................................................154 Llamar a una FC ........................................................................................................................156 Llamar a un SFB ........................................................................................................................158 Llamar a una SFC ......................................................................................................................160 Llamar a una multiinstancia .......................................................................................................161 Llamar a un bloque de una librera ............................................................................................161 CC Llamada condicionada ........................................................................................................162 UC Llamada incondicionada .....................................................................................................163 El MCR (Master Control Relay) .................................................................................................164 Notas importantes sobre el uso de la funcin MCR ..................................................................166 MCR( Almacenar el RLO en pila MCR, inicio rea MCR..........................................................167 )MCR Fin rea MCR .................................................................................................................169 MCRA Activar rea MCR ..........................................................................................................170 MCRD Desactivar rea MCR....................................................................................................171 173 Operaciones de desplazamiento ...............................................................................................173 Lista de operaciones de desplazamiento...................................................................................173 SSI Desplazar signo de nmero entero a la derecha (16 bits) ................................................174 SSD Desplazar signo de nmero entero a la derecha (32 bits) ...............................................176 SLW Desplazar palabra a la izquierda (16 bits) .......................................................................178 SRW Desplazar palabra a la derecha (16 bits) ........................................................................180 SLD Desplazar doble palabra a la izquierda (32 bits) .............................................................182 SRD Desplazar doble palabra a la derecha (32 bits) ...............................................................184 Operaciones de rotacin ............................................................................................................186 Lista de operaciones de rotacin ...............................................................................................186 RLD Rotar doble palabra a la izquierda (32 bits)......................................................................187 RRD Rotar doble palabra a la derecha (32 bits).......................................................................189 RLDA Rotar ACU 1 a la izquierda va A1 (32 bits) ...................................................................191 RRDA Rotar ACU 1 a la derecha va A1 (32 bits) ....................................................................192 193 Lista de operaciones de temporizacin .....................................................................................193 Area de memoria y componentes de un temporizador..............................................................194 FR Habilitar temporizador .........................................................................................................197 L Cargar valor actual del temporizador en ACU 1 como entero ..............................................199 LC Cargar el valor actual de temporizacin en ACU 1 como nmero BCD .............................201 R Desactivar temporizador........................................................................................................203 SI Temporizador como impulso ................................................................................................204 SV Temporizador como impulso prolongado............................................................................206 SE Temporizador como retardo a la conexin..........................................................................208 SS Temporizador como retardo a la conexin con memoria....................................................210 SA Temporizador como retardo a la desconexin....................................................................212
11
Operaciones de desplazamiento y rotacin 11.1 11.1.1 11.1.2 11.1.3 11.1.4 11.1.5 11.1.6 11.1.7 11.2 11.2.1 11.2.2 11.2.3 11.2.4 11.2.5
12
Operaciones de temporizacin 12.1 12.2 12.3 12.4 12.5 12.6 12.7 12.8 12.9 12.10 12.11
10
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
ndice
13
Operaciones lgicas con palabras 13.1 13.2 13.3 13.4 13.5 13.6 13.7
215
Lista de operaciones lgicas con palabras................................................................................215 UW Y con palabra (16 bits).......................................................................................................216 OW O con palabra (16 bits) ......................................................................................................218 XOW O-exclusiva con palabra (16 bits)....................................................................................220 UD Y con doble palabra (32 bits)..............................................................................................222 OD O con doble palabra (32 bits) .............................................................................................224 XOD O-exclusiva con doble palabra (32 bits)...........................................................................226 229 Lista de operaciones con acumuladores ...................................................................................229 TAK Intercambiar ACU 1 y ACU 2 ............................................................................................230 PUSH CPU con dos acumuladores ..........................................................................................231 PUSH CPU con cuatro acumuladores......................................................................................232 POP CPU con dos acumuladores ............................................................................................233 POP CPU con cuatro acumuladores ........................................................................................234 ENT Introducir pila de ACU.......................................................................................................235 LEAVE Salir de la pila de ACU .................................................................................................235 INC Incrementar ACU 1-L-L......................................................................................................236 DEC Decrementar ACU 1-L-L...................................................................................................237 +AR1 Sumar el ACU 1 al registro de direcciones 1..................................................................238 +AR2 Sumar el ACU1 al registro de direcciones 2...................................................................239 BLD Estructuracin de imagen (operacin nula) ......................................................................240 NOP 0 Operacin nula 0...........................................................................................................241 NOP 1 Operacin nula 1...........................................................................................................241 243 Operaciones AWL ordenadas segn la nemotcnica alemana (SIMATIC) ..............................243 Operaciones AWL ordenadas segn la nemotcnica inglesa (internacional) ...........................248 253 Lista de ejemplos de programacin...........................................................................................253 Ejemplos: Operaciones lgicas con bits ....................................................................................254 Ejemplo: Operaciones de temporizacin ...................................................................................257 Ejemplo: Operaciones de contaje y comparacin .....................................................................260 Ejemplo: Operaciones de aritmtca con enteros.......................................................................262 Ejemplo: Operaciones lgicas con palabras..............................................................................263 265 Fehler! Textmarke nicht definiert.
14
Operaciones con acumuladores 14.1 14.2 14.3 14.4 14.5 14.6 14.7 14.8 14.9 14.10 14.11 14.12 14.13 14.14 14.15
C Index
Transferencia de parmetros
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
11
1
1.1
Descripcin
Las operaciones lgicas con bits operan con dos dgitos, 1 y 0. Estos dos dgitos consituyen la base de un sistema numrico denominado sistema binario. Los dos dgitos 1 y 0 se denominan dgitos binarios o bits. En el mbito de los contactos y bobinas, un 1 significa activado (conductor) y un 0 significa desactivado (no conductor). Las operaciones lgicas con bits interpretan los estados de seal 1 y 0, y los combinan de acuerdo con la lgica de Boole. Estas combinaciones producen un 1 un 0 como resultado y se denominan resultado lgico (RLO). Las operaciones lgicas con bits permiten ejecutar las ms diversas funciones. Las operaciones bsicas para las operaciones lgicas con bits son: U O X Y UN Y-No O ON O-No O-exclusiva XN O-exclusiva-No Las siguientes operaciones permiten ejecutar una cadena lgica encerrada entre parntesis: U( O( X( ) Y con abrir parntesis UN( Y-No con abrir parntesis O con abrir parntesis ON( O-No con abrir parntesis O-exclusiva con abrir parntesis XN( O-exclusiva-NO con abrir parntesis Cerrar parntesis
Para terminar una cadena lgica se puede utilizar una de las tres operaciones: = Asignar R Desactivar S Activar
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
13
Operaciones lgicas con bits 1.1 Lista de operaciones lgicas con bits
Las operaciones siguientes permiten modificar el resultado lgico (RLO): NOT Negar el RLO SET CLR Activar el RLO (=1) Desactivar RLO (=0)
SAVE Memorizar el RLO en el registro RB Otras operaciones detectan cambios en el resultado lgico y reaccionan correspondientemente: FN FP Flanco negativo Flanco positivo
14
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
1.2
U Y
Formato
U <bit>
Operando <bit> Tipo de datos BOOL Area de memoria E, A, M, L, D, T, Z
Descripcin de la operacin
U consulta el bit direccionado para saber si tiene el estado de seal "1", y combina el resultado de la consulta con el RLO realizando una Y lgica. Consultar el estado de los bits de la palabra de estado: Utilizando la operacin Y tambin se puede consultar directamente la palabra de estado. A tal fin, emplense los siguientes operandos: ==0, <>0, >0, <0, >=0, <=0, UO, RB, OS, OV.
Palabra de estado
RB se escribe: A1 A0 OV OS OR x STA x RLO x /ER 1
Ejemplo
Programa AWL Esquema de conexiones de rel
Barra de alimentacin U E 1.0 E 1.0 Estado de seal 1
U =
E 1.1 A 4.0
15
1.3
UN Y-No
Formato
UN <bit>
Operando <bit> Tipo de datos BOOL Area de memoria E, A, M, L, D, T, Z
Descripcin de la operacin
UN consulta el bit direccionado para saber si tiene el estado de seal "0" y combina el resultado de la consulta con el RLO realizando una Y lgica. Consultar el estado de los bits de la palabra de estado: Con la operacin Y-No tambin se puede consultar directamente la palabra de estado. A tal fin, emplense los siguientes operandos: ==0, <>0, >0, <0, >=0, <=0, UO, RB, OS, OV.
Palabra de estado
RB se escribe: A1 A0 OV OS OR x STA x RLO x /ER 1
Ejemplo
Programa AWL Esquema de conexiones de rel
Barra de alimentacin U E 1.0 E 1.0 Estado de seal 0 E 1.1 Estado de seal 1 A 4.0 Estado de seal 0 Contacto normal. abierto Contacto normal. cerrado Bobina
UN =
E 1.1 A 4.0
16
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
1.4
O O
Formato
O <bit>
Operando <Bit> Tipo de datos BOOL Area de memoria E, A, M, L, D, T, Z
Descripcin de la operacin
O consulta el bit direccionado para saber si tiene el estado de seal "1", y combina el resultado de la
consulta con el RLO realizando una O lgica. Consultar el estado de los bits de la palabra de estado: Con la operacin O tambin se puede consultar directamente la palabra de estado. A tal fin, emplense los siguientes operandos: ==0, <>0, >0, <0, >=0, <=0, UO, RB, OS, OV.
Palabra de estado
RB se escribe: A1 A0 OV OS OR 0 STA x RLO x /ER 1
Ejemplo
Programa AWL
Barra de alimentacin O O = E 1.0 E 1.1 A 4.0 A 4.0 Estado de seal 1 Bobina E 1.0 Estado de seal 1 Contacto E 1.1 Estado de seal 0 Contacto
17
1.5
ON O-No
Formato
ON <bit>
Operando <bit> Tipo de datos BOOL Area de memoria E, A, M, L, D, T, Z
Descripcin de la operacin
ON consulta el bit direccionado para saber si tiene el estado de seal "0", y combina el resultado de la consulta con el RLO realizando una O lgica. Consultar el estado de los bits de la palabra de estado: Con la operacin O-No tambin se puede consultar directamente la palabra de estado. A tal fin, emplense los siguientes operandos: ==0, <>0, >0, <0, >=0, <=0, UO, RB, OS, OV.
Palabra de estado
RB se escribe: A1 A0 OV OS OR 0 STA x RLO x /ER 1
Ejemplo
Programa AWL Esquema de conexiones de rel
Barra de alimentacin O ON = E 1.0 E 1.1 A 4.0 E 1.0 Estado de seal 0 E 1.1 Estado de seal 1 A 4.0 Estado de seal 1 Contacto normalm. abierto Contacto normalm. cerrado Bobina
18
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
1.6
X O-exclusiva
Formato
X <bit>
Operando <bit> Tipo de datos BOOL Area de memoria E, A, M, L, D, T, Z
Descripcin de la operacin
X consulta el bit direccionado para saber si su estado de seal es "1", y combina el resultado de la consulta con el RLO realizando una operacin lgica O-exclusiva. La funcin O-exclusiva se puede utilizar varias veces consecutivas. Entonces el resultado lgico comn ser "1" si un nmero impar de los operandos consultados da un "1" como resultado. Consultar el estado de los bits de la palabra de estado: Aplicando la operacin O-exclusiva tambin se puede consultar directamente la palabra de estado. A tal fin, emplense los siguientes operandos: ==0, <>0, >0, <0, >=0, <=0, UO, RB, OS, OV.
Palabra de estado
RB se escribe: A1 A0 OV OS OR 0 STA x RLO x /ER 1
Ejemplo
Programa AWL Esquema de conexiones de rel
Barra de alimentacin X X E 1.0 E 1.1 Contacto E 1.0 Contacto E 1.1 A 4.0 Bobina
A 4.0
19
1.7
XN O-exclusiva-NO
Formato
XN <bit>
Operando <bit> Tipo de datos BOOL Area de memoria E, A, M, L, D, T, Z
Descripcin de la operacin
XN consulta el bit direccionado para saber si tiene el estado de seal "0", y combina el resultado de la consulta con el RLO realizando una operacin lgica O-exclusiva. Consultar el estado de los bits de la palabra de estado: Aplicando la operacin O-exclusiva-NO tambin se puede consultar directamente la palabra de estado. A tal fin, emplense los siguientes operandos: ==0, <>0, >0, <0, >=0, <=0, UO, RB, OS, OV.
Palabra de estado
RB se escribe: A1 A0 OV OS OR 0 STA x RLO x /ER 1
Ejemplo
Programa AWL Esquema de conexiones de rel
Barra de alimentacin X XN = E 1.0 E 1.1 A 4.0 Contacto E 1.0 Contacto E 1.1 A 4.0 Bobina
20
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
1.8
O Y antes de O
Formato
O
Descripcin de la operacin
La operacin O realiza una O lgica de combinaciones Y siguiendo la regla Y antes de O.
Palabra de estado
RB se escribe: A1 A0 OV OS OR x STA 1 RLO /ER x
Ejemplo
Programa AWL Esquema de conexiones de rel
Barra de alimentacin U U O U U E 0.0 M 10.0 E 0.0 E 0.2 M 10.1
E 0.2 M 0.3
M 10.0 M 0.3
M 10.1
A 4.0
A 4.0 Bobina
21
1.9
Formato
U(
Descripcin de la operacin
U( (Y con abrir parntesis) almacena en la pila de parntesis los bits RLO y OR y un identificador de la operacin. La pila de parntesis puede contener un mximo de 7 entradas.
Palabra de estado
RB se escribe: A1 A0 OV OS OR 0 STA 1 RLO /ER 0
Ejemplo
Programa AWL Esquema de conexiones de rel
Barra de alimentacin U( O O ) U( O O ) E 0.0 M 10.0 E 0.0 M 10.0
E 0.2 M 10.3
E 0.2 M 10.3
M 10.1
M 10.1
A 4.0
A 4.0 Bobina
22
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Operaciones lgicas con bits 1.10 UN( Y-No con abrir parntesis
Descripcin de la operacin
UN( (Y-No con abrir parntesis) almacena en la pila de parntesis los bits RLO y OR y el identificador de la operacin. La pila de parntesis puede contener un mximo de 7 entradas.
Palabra de estado
RB se escribe: A1 A0 OV OS OR 0 STA 1 RLO /ER 0
1.11
Formato
O(
Descripcin de la operacin
O( (O con abrir parntesis) almacena en la pila de parntesis los bits RLO y OR y el identificador de la operacin. La pila de parntesis puede contener un mximo de 7 entradas.
Palabra de estado
RB se escribe: A1 A0 OV OS OR 0 STA 1 RLO /ER 0
23
Operaciones lgicas con bits 1.12 ON( O-No con abrir parntesis
1.12
Formato
ON(
Descripcin de la operacin
ON( (O-No con abrir parntesis) almacena en la pila de parntesis los bits RLO y OR y un identificador de la operacin. La pila de parntesis puede contener un mximo de 7 entradas.
Palabra de estado
RB se escribe: A1 A0 OV OS OR 0 STA 1 RLO /ER 0
1.13
Formato
X(
Descripcin de la operacin
X( (O-exclusiva con abrir parntesis) almacena en la pila de parntesis los bits RLO y OR y un identificador de la operacin. La pila de parntesis puede contener un mximo de 7 entradas.
Palabra de estado
RB se escribe: A1 A0 OV OS OR 0 STA 1 RLO /ER 0
24
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Operaciones lgicas con bits 1.14 XN( O-exclusiva-NO con abrir parntesis
1.14
Formato
XN(
Descripcin de la operacin
XN( (O-exclusiva-NO con abrir parntesis) almacena en la pila de parntesis los bits RLO y OR y un identificador de la operacin. La pila de parntesis puede contener un mximo de 7 entradas.
Palabra de estado
RB se escribe: A1 A0 OV OS OR 0 STA 1 RLO /ER 0
1.15
) Cerrar parntesis
Formato
)
Descripcin de la operacin
) (Cerrar parntesis) borra una entrada de la pila de parntesis, restablece el bit OR, combina el RLO que hay en la entrada de pila con el RLO actual conforme al identificador de la operacin y asigna el resultado al RLO. Si el identificador de la operacin es Y o Y-No tambin se tiene en cuenta el bit OR. Operaciones para abrir parntesis: U( UN( Y con abrir parntesis Y-No con abrir parntesis
O( O con abrir parntesis ON( O-No con abrir parntesis X( XN( O-exclusiva con abrir parntesis O-exclusiva-NO con abrir parntesis
25
Palabra de estado
RB se escribe: A1 A0 OV OS OR x STA 1 RLO x /ER 1
Ejemplo
Programa AWL
U( O O ) U( O O )
E 0.0 M 10.0
E 0.0 M 10.0
E 0.2 M 10.3
E 0.2 M 10.3
M 10.1
M 10.1
A 4.0
A 4.0 Bobina
26
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
1.16
= Asignar
Formato
= <bit>
Operando <bit> Tipo de datos BOOL Area de memoria E, A, M, L, D, T, Z
Descripcin de la operacin
= <bit> escribe el RLO en el bit direccionado si el Master Control Relay est conectado (MCR = 1). Si el MCR es 0, en el bit direccionado se escribe el valor "0" en vez del RLO.
Palabra de estado
RB se escribe: A1 A0 OV OS OR 0 STA x RLO /ER 0
Ejemplo
Programa AWL
U = E 1.0 A 4.0
27
1.17
R Desactivar
Formato
R <bit>
Operando <bit> Tipo de datos BOOL Area de memoria E, A, M, L, D
Descripcin de la operacin
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 conectado. Si el MCR es 0, el bit direccionado no vara.
Palabra de estado
RB se escribe: A1 A0 OV OS OR 0 STA x RLO /ER 0
Ejemplo
Programa AWL
U S U R E 1.0 E 1.1 A 4.0 E 1.0 A 4.0 E 1.1 A 4.0
28
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
1.18
S Activar
Formato
S <bit>
Operando <bit> Tipo de datos BOOL Area de memoria E, A, M, L, D
Descripcin de la operacin
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 conectado. Si el MCR es 0, el bit direccionado no vara.
Palabra de estado
RB se escribe: A1 A0 OV OS OR 0 STA x RLO /ER 0
Ejemplo
Programa AWL
U S U R E 1.0 E 1.1 A 4.0 E 1.0 A 4.0 E 1.1 A 4.0
29
1.19
Formato
NOT
Descripcin de la operacin
NOT niega el RLO.
Palabra de estado
RB se escribe: A1 A0 OV OS OR STA 1 RLO x /ER -
1.20
Formato
SET
Descripcin de la operacin
SET pone el RLO al estado de seal "1".
Palabra de estado
RB se escribe: A1 A0 OV OS OR 0 STA 1 RLO 1 /ER 0
30
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Ejemplo
Programa AWL
SET = M 10.0 = M 15.1 = M 16.0 CLR = M 10.1 = M 10.2 0 0 1 1 1 0
Estado de seal
31
1.21
Formato
CLR
Descripcin de la operacin
CLR pone el RLO al estado de seal "0".
Palabra de estado
RB se escribe: A1 A0 OV OS OR 0 STA 0 RLO 0 /ER 0
Ejemplo
Programa AWL
SET = M 10.0 = M 15.1 = M 16.0 CLR = M 10.1 = M 10.2 0 0 1 1 1 0
Estado de seal
32
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
1.22
Formato
SAVE
Descripcin de la operacin
SAVE almacena el RLO (resultado lgico) en el bit RB (bit de resultado binario). El bit de primera consulta /ER no se pone a 0. Por esta razn, en el caso de una operacin lgica Y (AND) se combinar tambin el estado del bit RB en el siguiente segmento. No se recomienda utilizar SAVE y consultar directamente despus el bit RB en el mismo bloque o en bloques subordinados, ya que el bit RB puede ser modificado entretanto por muchas operaciones. Resulta conveniente usar SAVE antes de salir de un bloque, ya que as la salida ENO (bit RB) se pone al valor del bit RLO, lo que permite tratar a continuacin los errores del bloque.
Palabra de estado
RB se escribe: x A1 A0 OV OS OR STA RLO /ER -
33
1.23
FN Flanco negativo
Formato
FN <bit>
Operando <bit> Tipo de datos BOOL Area de memoria E, A, M, L, D Descripcin Marca de flancos que almacena el estado de seal anterior del RLO.
Descripcin de la operacin
FN <bit> (Flanco negativo) detecta un flanco negativo si el RLO cambia de "1" a "0", y lo indica con RLO = 1. El estado de seal del bit RLO se compara durante cada ciclo del programa con el estado de seal del bit RLO del ciclo anterior para determinar los cambios de estado. Para poder ejecutar la comparacin hay que almacenar el estado del bit RLO anterior en la direccin de la marca de flancos (<bit>). Si el estado de seal actual del bit RLO es distinto que el estado anterior ("1") (deteccin de un flanco negativo), tras ejecutarse esta operacin el bit RLO ser "1". Nota Esta operacin no conviene ejecutarla si el bit que se est vigilando se encuentra en la imagen del proceso, ya que los datos locales de un bloque slo son vlidos mientras se ejecuta dicho bloque.
Palabra de estado
RB se escribe: A1 A0 OV OS OR 0 STA x RLO x /ER 1
Definicin
Flanco positivo Flanco negativo
RLO
1
0 Tiempo
34
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Ejemplo
Si el autmata programable detecta un flanco negativo en el contacto E 1.0, activa la salida A 4.0 para un ciclo del OB1.
Programa AWL
U FN = E 1.0 M 1.0 A 4.0 E 1.0 M 1.0 A 4.0 1 2
35
1.24
FP Flanco positivo
Formato
FP <bit>
Operando <bit> Tipo de datos BOOL Area de memoria E, A, M, L, D Descripcin Marca de flancos que almacena el estado de seal anterior del RLO.
Descripcin de la operacin
FP <bit> (Flanco positivo) detecta un flanco positivo si el RLO cambia de "0" a "1", y lo indica con RLO = 1. El estado de seal del bit RLO se compara durante cada ciclo del programa con el estado de seal del bit RLO del ciclo anterior para determinar los cambios de estado. Para poder ejecutar la comparacin hay que almacenar el estado del bit RLO anterior en la direccin de la marca de flancos (<bit>). Si el estado de seal actual del bit RLO es distinto que el estado anterior ("0") (deteccin de un flanco positivo), tras ejecutarse esta operacin el bit RLO ser "1". Nota Esta operacin no conviene ejecutarla si el bit que se est vigilando se encuentra en la imagen del proceso, ya que los datos locales de un bloque slo son vlidos durante la ejecucin del bloque.
Palabra de estado
RB se escribe: A1 A0 OV OS OR 0 STA x RLO x /ER 1
Definition
Flanco positivo Flanco negativo
RLO
1
0 Tiempo
36
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Ejemplo
Si el autmata programable detecta un flanco ascendente en el contacto E 1.0, activa la salida A 4.0 para un ciclo del OB1.
Programa AWL
U FP = E 1.0 M 1.0 A 4.0 E 1.0 M 1.0 A 4.0 1 2
37
38
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
2
2.1
Operaciones de comparacin
Lista de operaciones de comparacin
Descripcin
Las operaciones Comparar enteros (de 16 bits) comparan el contenido del ACU2-L con el contenido del ACU1-L segn los tipos de comparacin siguientes: == <> > < >= <= ACU 2 es igual al ACU 1 ACU 2 es diferente al ACU 1 ACU 2 es mayor que ACU 1 ACU 2 es menor que ACU 1 ACU 2 es mayor que o igual al ACU 1 ACU 2 es menor que o igual al ACU 1
RLO = 1 indica que el resultado de la comparacin es verdadero. RLO = 0 indica que el resultado de la comparacin es falso. Los bits A1 y A0 de la palabra de estado indican la relacin "menor que", "igual que" o "mayor que". Se dispone de las operaciones de comparacin siguientes: ? I Comparar enteros ==, <>, >, <, >=, <= ? D Comparar enteros dobles ==, <>, >, <, >=, <= ? R Comparar nmeros en coma flotante (32 bits) ==, <>, >, <, >=, <=
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
39
2.2
? I Comparar enteros
Formato
==I, <>I, >I, <I, >=I, <=I
Descripcin de la operacin
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 evalan como enteros (de 16 bits). El RLO y los bits relevantes de la palabra de estado indican el resultado de la comparacin. RLO = 1 indica que el resultado de la comparacin es verdadero. RLO = 0 indica que el resultado de la comparacin es falso. Los bits A1 y A0 de la palabra de estado indican la relacin "menor que", "igual que" o "mayor que".
Palabra de estado
RB se escribe: A1 x A0 x OV 0 OS OR 0 STA x RLO x /ER 1
Ejemplo
AWL L L >I = Explicacin //Cargar el contenido de MW10 (entero de 16 bits). //Cargar el contenido de EW24 (entero de 16 bits). //Comparar si el ACU2-L (MW10) es mayor (>) que el ACU1-L (EW24). //RLO = 1, si MW10 > EW24.
40
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
2.3
Formato
==D, <>D, >D, <D, >=D, <=D
Descripcin de la operacin
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 evalan como enteros (de 32 bits). El RLO y los bits relevantes de la palabra de estado indican el resultado de la comparacin. RLO = 1 indica que el resultado de la comparacin es verdadero. RLO = 0 indica que el resultado de la comparacin es falso. Los bits A1 y A0 de la palabra de estado indican la relacin "menor que", "igual" o "mayor que".
Palabra de estado
RB se escribe: A1 x A0 x OV 0 OS OR 0 STA x RLO x /ER 1
Ejemplo
AWL L L >D = Explicacin //Cargar el contenido de MD10 (entero de 32 bits). //Cargar el contenido de ED24 (entero de 32 bits). //Comparar si el ACU 2 (MD10) es mayor (>) que el ACU 1 (ED24). //RLO = 1, si MD10 > ED24.
41
2.4
Formato
==R, <>R, >R, <R, >=R, <=R
Descripcin de la operacin
Las operaciones Comparar nmeros en coma flotante (32 bits, IEEE 754) comparan el contenido del ACU 2 con el contenido del ACU 1. Los contenidos del ACU 1 y del ACU 2 se evalan como nmeros en coma flotante (32 bits, IEEE 754). El RLO y los bits relevantes de la palabra de estado indican el resultado de la comparacin. RLO = 1 indica que el resultado de la comparacin es verdadero. RLO = 0 indica que el resultado de la comparacin es falso. Los bits A1 y A0 de la palabra de estado indican la relacin "menor que", "igual que" o "mayor que".
Palabra de estado
RB se escribe: A1 x A0 x OV x OS x OR 0 STA x RLO x /ER 1
Ejemplo
AWL L L >R = MD10 1.359E+02 M 2.0 Explicacin //Cargar el contenido de MD10 (nmero real). //Cargar la constante 1.359E+02. //Comparar si el ACU 2 (MD10) es mayor (>) que el ACU 1 (1.359E+02). //RLO = 1, si MD10 > 1.359E+02.
42
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
3
3.1
Operaciones de conversin
Lista de operaciones de conversin
Descripcin
Las siguientes operaciones se utilizan para convertir nmeros decimales codificados en binario y enteros a otros tipos de nmeros: BTI Convertir BCD a entero ITB Convertir entero en BCD BTD Convertir nmero BCD a entero doble ITD Convertir entero en entero doble DTB Convertir entero doble en BCD DTR Convertir entero doble en nmero en coma flotante (32 bits, IEEE 754) Para formar complementos de nmeros enteros o para cambiar el signo de un nmero en coma flotante se utilizan las siguientes operaciones: INVI Complemento a uno de un entero INVD Complemento a uno de un entero doble NEGI Complemento a dos de un entero NEGD Complemento a dos de un entero doble NEGR Invertir un nmero en coma flotante (32 bits, IEEE 754) Las siguientes operaciones permiten cambiar la secuencia de bytes de la palabra baja del ACU 1 o de todo el acumulador: TAW Cambiar el orden de los bytes en el ACU 1-L (16 bits) TAD Invertir el orden de los bytes en el ACU 1 (32 bits) Para convertir un nmero en coma flotante de 32 bits IEEE 754 en un entero de 32 bits (entero doble) se utilizan las operaciones descritas a continuacin. Las operaciones difieren en el mtodo de redondeo. RND Redondear un nmero en coma flotante a entero TRUNC Truncar RND+ Redondear un nmero real al prximo entero superior RND- Redondear un nmero real al prximo entero inferior
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
43
3.2
Formato
BTI
Descripcin de la operacin
BTI (Conversin de un nmero BCD de tres dgitos en un nmero entero) evala el contenido del ACU1-L en formato de nmero decimal codificado en binario (BCD) de tres dgitos y convierte ese nmero en un entero (de 16 bits). El resultado se almacena en el ACU1-L. El ACU1-H y el ACU 2 no se alteran. Nmero BCD en el ACU1-L: valores admisibles de "-999" a "+999". Los bits 0 a 11 indican el valor del nmero BCD, y el bit 15 el signo del mismo (0 = positivo, 1 = negativo). Los bits 12 a 14 no se utilizan al efectuar la conversin. Si un dgito (una tetrada de 4 bits en el formato BCD) del nmero BCD est dentro del margen invlido de 10 a 15 se producir un error BCDF al intentar efectuar la conversin. En este caso, el autmata programable cambia generalmente al estado operativo STOP. No obstante, utilizando el OB121 se puede programar una reaccin diferente a este error sncrono.
Palabra de estado
RB se escribe: A1 A0 OV OS OR STA RLO /ER -
Ejemplo
AWL L BTI T MW10 Explicacin //Cargar el nmero BCD en el ACU1-L. //Convertir el nmero BCD en nmero entero, almacenar el resultado en el //ACU1-L. //Transferir el resultado (entero de 16 bits) a MW20.
MW20
"9" ...8
0 0 1
"1" 7...
0 0 0 1 0
"5" ...0
1 0 1
"+915" BCD
BTI
MW20
0 0 0 0 0
"+915" Entero
44
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
3.3
Formato
ITB
Descripcin de la operacin
ITB (Conversin de un entero de 16 bits en nmero de formato BCD) evala el contenido del ACU1- L como nmero entero (16 bits) y convierte ese nmero en el correspondiente nmero decimal codificado en binario de tres dgitos (BCD). El resultado se almacena en el ACU1-L. Los bits 0 a 11 indican el valor del nmero BCD; los bits 12 a 15 indican el signo del mismo (0000 = positivo, 1111 = negativo). ACU1-H y ACU 2 no se alteran. El nmero BCD puede tener un valor dentro del margen entre "-999" y "+999". Si el nmero se encuentra fuera del margen admisible, los bits OV y OS de la palabra de estado se ponen a "1".
Palabra de estado
RB se escribe: A1 A0 OV x OS x OR STA RLO /ER -
Ejemplo
AWL L ITB T MW10 Explicacin //Cargar el entero en el ACU1-L. //Convertir el entero (16 bits) en nmero BCD, almacenar el resultado en //el ACU1-L. //Transferir el resultado (nmero BCD) a MW20.
MW20
15... MW10
1 1 1 1 1 1 1
...8
0
7...
0 1 1 0 0 0 1
...0
1
"-413" Entero
ITB
MW20
1 1 1 1
"-413" BCD
"-"
"4"
"1"
"3"
45
3.4
Formato
BTD
Descripcin de la operacin
BTD (Conversin de un nmero BCD de siete dgitos en un nmero entero doble) evala el contenido del ACU 1 en formato de nmero decimal codificado en binario (BCD) de siete dgitos y convierte ese nmero en un entero doble (32 bits). El resultado se almacena en el ACU 1. El ACU 2 no se altera. Nmero BCD en el ACU 1: valores admisibles de "-9,999,999" a "+9,999,999". Los bits 0 a 27 indican el valor del nmero BCD, y el bit 31 indica el signo del mismo (0 = positivo, 1 = negativo). Los bits 28 a 30 no se utilizan en la conversin. Si una cifra decimal (una tetrada de 4 bits en la representacin BCD) est dentro del margen invlido de 10 a 15 se producir un error BCDF al intentar efectuar la conversin. En este caso, el autmata programable cambia generalmente al estado operativo STOP. No obstante, utilizando el OB121 se puede programar una reaccin diferente a este error sncrono.
Palabra de estado
RB se escribe: A1 A0 OV OS OR STA RLO /ER -
Ejemplo
AWL L BTD T MD10 Explicacin //Cargar el nmero BCD en el ACU 1. //Convertir el nmero BCD en nmero entero, almacenar el resultado en el //ACU 1. //Transferir el resultado (en formato de entero doble) a MD20.
MD20
"0"
"1"
"5"
"7"
"8"
"2"
...16 15...
0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 1 1 1 0 0 0 0 0 1 0 0 0 0 1
BTD
MD20
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 1 0 0 0 0 1 1 1 1 1 0 1
"+157821"
46
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
3.5
Formato
ITD
Descripcin de la operacin
ITD (Convertir un entero en un entero doble) evala el contenido del ACU1-L como entero de 16 bits y convierte este nmero en entero de 32 bits. El resultado se almacena en el ACU 1. El ACU 2 no se altera.
Palabra de estado
RB se escribe: A1 A0 OV OS OR STA RLO /ER -
Ejemplo
AWL L ITD T MW12 Explicacin //Cargar el entero (16 bits) en el ACU 1-L. //Convertir el entero de 16 bits en un entero de 32 bits, almacenar el //resultado en el ACU 1. //Transferir el resultado (entero doble) a MD20.
MD20
47
3.6
Formato
DTB
Descripcin de la operacin
DTB (Conversin de un entero doble en el correspondiente nmero con formato BCD) evala el contenido del ACU 1 como entero (de 32 bits) y convierte ese nmero en el correspondiente decimal codificado en binario de siete dgitos. El resultado se almacena en el ACU 1. Los bits 0 a 27 indican el valor del nmero BCD. Los bits 28 a 31 indican el signo del nmero BCD (0000 = positivo, 1111 = negativo). El ACU 2 no se altera. El nmero BCD puede estar dentro del margen de valores entre "-9,999,999" y "+9,999,999". Si el nmero se encuentra fuera del margen admisible los bits OV y OS de la palabra de estado se ponen a "1".
Palabra de estado
RB se escribe: A1 A0 OV x OS x OR STA RLO /ER -
Ejemplo
AWL L DTB T Explicacin //Cargar el entero (32 bits) en el ACU 1. //Convertir el entero (32 bits) en un nmero BCD, almacenar el resultado //en el ACU 1. //Transferir el resultado (nmero BCD) a MD20.
MD10
MD20
31... MD10
...16 15...
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 0 0 0 0 1 1
DTB
MD20
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1
"-"
"0"
"0"
"0"
"0"
"7"
"0"
48
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Operaciones de conversin 3.7 DTR Convertir entero doble en nmero en coma flotante (32 bits, IEEE 754)
3.7
DTR Convertir entero doble en nmero en coma flotante (32 bits, IEEE 754)
Formato
DTR
Descripcin de la operacin
DTR (Convertir entero de 32 bits en un nmero en coma flotante de 32 bits, IEEE 754) evala el contenido del ACU 1 como entero (de 32 bits) y convierte ese nmero en el correspondiente nmero en coma flotante (32 bits, IEEE 754). Si es necesario, la operacin redondea el resultado (el grado de exactitud de un entero de 32 bits es mayor que el de un nmero en coma flotante de 32 bits, IEEE 754). El resultado se almacena en el ACU 1.
Palabra de estado
RB se escribe: A1 A0 OV OS OR STA RLO /ER -
Ejemplo
AWL L DTR T Explicacin //Cargar el entero (32 bits) en el ACU 1. //Convertir el entero (32 bits) en un nmero en coma flotante //(32 bits, IEEE- FP), almacenar el resultado en el ACU 1. //Transferir el resultado (nmero BCD) a MD20.
MD10
MD20
MD10
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 0 0
DTR
MD20
Convertir entero doble (32-bits) en nmero de coma flotante (32-bits) 31 30... 22...
0 1 0 0 0 0 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
49
3.8
Formato
INVI
Descripcin de la operacin
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 operacin se invierten todos los bits, es decir, los ceros se sustituyen por unos, y viceversa. El resultado se almacena en el ACU1-L.
Palabra de estado
RB se escribe: A1 A0 OV OS OR STA RLO /ER -
Ejemplo
AWL L INVI T Explicacin //Cargar el valor en el ACU1-L. //Formar el complemento a uno (16 bits). //Transferir el resultado a MW10.
EW8 MW10
ACU1-L 15 . . . 0110 1001 .. 0011 1100 .. 1010 0101 ...0 1110 0001
50
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
3.9
Formato
INVD
Descripcin de la operacin
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 operacin se invierten todos los bits, es decir, los ceros se sustituyen por unos, y viceversa. El resultado se almacena en el ACU 1.
Palabra de estado
RB se escribe: A1 A0 OV OS OR STA RLO /ER -
Ejemplo
AWL L INVD T Explicacin //Cargar el valor en el ACU 1. //Formar el complemento a uno (32 bits). //Transferir el resultado a MD10.
ED8 MD10
ACU1-L 15 . . . 0110 1001 .. 0011 1100 .. 1010 0101 ...0 1110 0001
51
3.10
Formato
NEGI
Descripcin de la operacin
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 operacin se invierten todos los bits, es decir, los ceros se sustituyen por unos, y viceversa. Seguidamente se suma un "1". El resultado se almacena en el ACU1-L. La operacin Complemento a dos de un entero equivale a una multiplicacin por "-1". Una vez ejecutada la operacin se activan los bits A1, A0, OS y OV de la palabra de estado.
Palabra de estado
RB se escribe: A1 x A0 x OV x OS x OR STA RLO /ER -
Calcular los bits de la palabra de estado Resultado = 0 -32768 <= Resultado <= -1 32767 >= Resultado >= 1 Resultado = 2768
A1 0 0 1 0
A0 0 1 0 1
OV 0 0 0 1
OS 1
Ejemplo
AWL L NEGI T Explicacin //Cargar el valor en el ACU1-L. //Formar el complemento a dos (16 bits). //Transferir el resultado a MW10.
EW8 MW10
ACU1-L 15 . . . 0101 1010 .. 1101 0010 .. 0011 1100 ...0 1000 1000
52
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
3.11
Formato
NEGD
Descripcin de la operacin
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 operacin se invierten todos los bits, es decir, los ceros se sustituyen por unos, y viceversa. Seguidamente se suma un "1". El resultado se almacena en el ACU 1. La operacin Complemento a dos de un entero doble equivale a una multiplicacin por "-1". Una vez ejecutada la operacin se activan los bits A1, A0, OS y OV de la palabra de estado.
Palabra de estado
RB se escribe: A1 x A0 x OV x OS x OR STA RLO /ER -
Calcular los bits de la palabra de estado Resultado = 0 -2.147.483.647 <= Resultado <= -1 2.147.483.647 >= Resultado >= 1 Resultado = -2 147 483 648
A1 0 0 1 0
A0 0 1 0 1
OV 0 0 0 1
OS 1
Ejemplo
AWL L NEGD T Explicacin //Cargar el valor en el ACU 1. //Formar el complemento a dos (32 bits). //Transferir el resultado a MD10.
ED8 MD10
ACU1-L 15 . . . 0101 1010 .. 1101 0010 .. 0011 1100 ...0 1000 1000
53
Operaciones de conversin 3.12 NEGR Invertir un nmero en coma flotante (32 bits, IEEE 754)
3.12
Formato
NEGR
Descripcin de la operacin
NEGR (Invertir un nmero en coma flotante de 32 bits, IEEE 754) invierte el nmero en coma flotante (32 bits, IEEE 754) en el ACU 1. La operacin invierte el estado del bit 31 en el ACU 1 (signo de la mantisa). El resultado se almacena en el ACU 1.
Palabra de estado
RB se escribe: A1 A0 OV OS OR STA RLO /ER -
Ejemplo
AWL L NEGR T Explicacin //Cargar el valor en el ACU 1 (ejemplo: ED8 = 1.5E+02). //Invertir nmero en coma flotante (32 bits, IEEE 754), almacenar el //resultado //en el ACU 1. //Transferir el resultado a MD10 (ejemplo: resultado = - 1.5E+02).
ED8
MD10
54
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Operaciones de conversin 3.13 TAW Cambiar el orden de los bytes en el ACU 1-L (16 bits)
3.13
Formato
TAW
Descripcin de la operacin
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. El contenido de ACU1-L-L se desplaza a: ACU1-L-H.
Palabra de estado
RB se escribe: A1 A0 OV OS OR STA RLO /ER -
Ejemplo
AWL L TAW T Explicacin //Cargar el valor de MW10 en el ACU 1. //Invertir el orden de los bytes en el ACU1-L. //Transferir el resultado a MW20.
MW10 MW20
55
Operaciones de conversin 3.14 TAD Invertir el orden de los bytes en el ACU 1 (32 bits)
3.14
Formato
TAD
Descripcin de la operacin
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.
Palabra de estado
RB se escribe: A1 A0 OV OS OR STA RLO /ER -
Ejemplo
AWL L TAD T Explicacin //Cargar el valor de MD10 en el ACU 1. //Invertir el orden de los bytes en el ACU 1. //Transferir el resultado a MD20.
MD10 MD20
56
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
3.15
Formato
RND
Descripcin de la operacin
RND (Conversin de un nmero en coma flotante (32 bits, IEEE 754) en un entero de 32 bits) evala el contenido del ACU 1 como nmero en coma flotante (32 bits, IEEE 754); la operacin convierte a continuacin el nmero en coma flotante (32 bits, IEEE 754) en el correspondiente nmero entero (32 bits), y redondea el resultado al nmero entero ms prximo. Si la fraccin del nmero convertido se encuentra exactamente en medio de un resultado par y de un resultado impar, la operacin redondea al resultado par. Si el nmero est fuera del margen admisible, los bits OV y OS de la palabra de estado se ponen a "1". Si se produce un error (una NaN o un nmero en coma flotante que no se pueda representar como entero de 32 bits), no se ejecuta la conversin y se seala un desbordamiento.
Palabra de estado
RB se escribe: A1 A0 OV x OS x OR STA RLO /ER -
Ejemplo
AWL L RND T Explicacin //Cargar el nmero en coma flotante (32 bits, IEEE 754) en el ACU1-L. //Convertir el nmero en coma flotante (32 bits, IEEE 754) en entero de //32 bits y redondear el resultado. Almacenar el resultado en el ACU1. //Transferir el resultado (entero de 32 bits) a MD20.
MD10
MD20
Valor antes de la conversin MD10 = "100.5" MD10 = "-100.5" => RND => => RND =>
57
3.16
TRUNC Truncar
Formato
TRUNC
Descripcin de la operacin
TRUNC (Conversin de un nmero en coma flotante (32 bits, IEEE 754) en un entero de 32 bits) evala el contenido del ACU 1 como nmero en coma flotante (32 bits, IEEE 754); la operacin convierte a continuacin el nmero en coma flotante (32 bits, IEEE 754) en entero (32 bits). El resultado es la parte entera del nmero en coma flotante convertido (modo de redondeo IEEE 'Round to Zero'). Si el nmero est fuera del margen admisible, los bits OV y OS de la palabra de estado se ponen a "1". El resultado se almacena en el ACU 1. Si se produce un error (una NaN o un nmero en coma flotante que no se pueda representar como entero de 32 bits), no se ejecuta la conversin y se seala un desbordamiento.
Palabra de estado
RB se escribe: A1 A0 OV x OS x OR STA RLO /ER -
Ejemplo
AWL L TRUNC T Explicacin //Cargar el nmero en coma flotante (32 bits, IEEE 754) en el ACU1-L. //Convertir el nmero en coma flotante (32 bits, IEEE 754) en entero de //32 bits y redondear el resultado. Almacenar el resultado en el ACU1. //Transferir el resultado (entero de 32 bits) a MD20.
MD10
MD20
Valor antes de la conversin MD10 = "100.5" MD10 = "-100.5" => TRUNC => => TRUNC =>
58
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Operaciones de conversin 3.17 RND+ Redondear un nmero real al prximo entero superior
3.17
Formato
RND+
Descripcin de la operacin
RND+ (Conversin de un nmero en coma flotante (32 bits, IEEE 754) en un entero de 32 bits) evala el contenido del ACU 1 como nmero en coma flotante (32 bits, IEEE 754); la operacin convierte a continuacin el nmero en coma flotante (32 bits, IEEE 754) en entero (32 bits) y redondea el resultado al prximo nmero entero que sea mayor o igual al nmero en coma flotante convertido (modo de redondeo IEEE "Round to +infinity"). Si el nmero est fuera del margen admisible, los bits OV y OS de la palabra de estado se ponen a "1". El resultado se almacena en el ACU 1. Si se produce un error (una NaN o un nmero en coma flotante que no se pueda representar como entero de 32 bits), no se ejecuta la conversin y se seala un desbordamiento.
Palabra de estado
RB se escribe: A1 A0 OV x OS x OR STA RLO /ER -
Ejemplo
AWL L RND+ T Explicacin //Cargar el nmero en coma flotante (32 bits, IEEE 754) en el ACU1-L. //Convertir el nmero en coma flotante (32 bits, IEEE 754) en entero de //32 bits y redondear el resultado. Almacenar el resultado en el ACU1. //Transferir el resultado (entero de 32 bits) a MD20.
MD10
MD20
Valor antes de la conversin MD10 = "100.5" MD10 = "-100.5" => RND+ => => RND + =>
59
Operaciones de conversin 3.18 RND- Redondear un nmero real al prximo entero inferior
3.18
Formato
RND-
Descripcin de la operacin
RND- (Conversin de un nmero en coma flotante (32 bits, IEEE 754) en un entero de 32 bits) evala el contenido del ACU 1 como nmero en coma flotante (32 bits, IEEE 754); la operacin convierte a continuacin el nmero en coma flotante (32 bits, IEEE 754) en entero (32 bits) y redondea el resultado al prximo nmero entero que sea menor o igual al nmero en coma flotante convertido (modo de redondeo IEEE "Round to +infinity"). Si el nmero est fuera del margen admisible, los bits OV y OS de la palabra de estado se ponen a "1". El resultado se almacena en el ACU 1. Si se produce un error (una NaN o un nmero en coma flotante que no se pueda representar como entero de 32 bits), no se ejecuta la conversin y se seala un desbordamiento.
Palabra de estado
RB se escribe: A1 A0 OV x OS x OR STA RLO /ER -
Ejemplo
AWL L RNDT Explicacin //Cargar el nmero en coma flotante (32 bits, IEEE 754) en el ACU1-L. //Convertir el nmero en coma flotante (32 bits, IEEE 754) en entero //(32 bits) y redondear el resultado. Almacenar el resultado en el ACU1. //Transferir el resultado (entero de 32 bits) a MD20.
MD10
MD20
Valor antes de la conversin MD10 = "100.5" MD10 = "-100.5" => RND- => => RND- =>
60
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
4
4.1
Operaciones de contaje
Lista de operaciones de contaje
Descripcin
Un contador es un elemento funcional del software de programacin 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 programacin con AWL asiste un mximo de 256 contadores. En los datos tcnicos de la CPU encontrar la cantidad de contadores de que puede disponer. Las operaciones de contaje son las nicas funciones que tienen acceso al rea de memoria reservada para contadores. Se dispone de las operaciones de contaje siguientes: FR Habilitar contador L Cargar valor actual del contador en ACU 1 en forma de entero LC Cargar valor actual del contador en ACU 1 como nmero BCD R Desactivar contador S Poner contador al valor inicial ZV Incrementar contador ZR Decrementar contador
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
61
4.2
FR Habilitar contador
Formato
FR <contador>
Operando <contador> Tipo de datos COUNTER Area de memoria Z Descripcin Contador; el rea vara segn la CPU utilizada.
Descripcin de la operacin
Si el RLO cambia de "0" a "1", la operacin FR <contador> borra la marca de flancos que el contador direccionado pone en incrementar / decrementar contador. No es necesario habilitar un contador para activarlo ni para ejecutar la funcin normal de contaje. Es decir, aunque el RLO sea constantemente 1 en las instrucciones Poner contador al valor inicial, Incrementar contador o Decrementar contador, despus de la habilitacin se vuelven a ejecutar estas operaciones.
Palabra de estado
RB se escribe: A1 A0 OV OS OR 0 STA RLO /ER 0
Ejemplo
AWL U FR Explicacin //Consultar el estado de seal en la entrada E 2.0. //Habilitar el contador Z3 si el RLO cambia de "0" a "1".
E 2.0 Z3
62
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Operaciones de contaje 4.3 L Cargar valor actual del contador en ACU 1 en forma de entero
4.3
Formato
L <contador>
Operando <contador> Tipo de datos COUNTER Area de memoria Z Descripcin Contador; el rea vara segn la CPU utilizada.
Descripcin de la operacin
L <contador> carga el valor de contaje del contador direccionado en forma de nmero entero en ACU1-L, despus de que se haya almacenado el contenido del ACU 1 en el ACU 2.
Palabra de estado
RB se escribe: A1 A0 OV OS OR STA RLO /ER -
Ejemplo
AWL L Z3 Explicacin //Cargar el valor de contaje del contador Z3 en formato binario en el //ACU1-L.
15
14
13
12
11
10
Z3
11
10
63
Operaciones de contaje 4.4 LC Cargar valor actual del contador en ACU 1 como nmero BCD
4.4
Formato
LC <contador>
Operando <contador> Tipo de datos COUNTER Area de memoria Z Descripcin Contador; el rea vara segn la CPU utilizada.
Descripcin de la operacin
LC <contador> carga el valor de contaje del contador direccionado en formato BCD en el ACU 1, despus de que se haya almacenado el contenido del ACU 1 en el ACU 2.
Palabra de estado
RB se escribe: A1 A0 OV OS OR STA RLO /ER -
64
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Operaciones de contaje 4.4 LC Cargar valor actual del contador en ACU 1 como nmero BCD
Ejemplo
AWL LC Z3 Explicacin //Cargar el valor de contaje del contador Z3 en formato BCD en ACU1-L.
15
14
13
12
11
10
LC
Z3
0 2
15
0 2
14
0 2
13
0 2
12
11
2
2
10
2
1
2
0
10 Centenas
10 Decenas
10 Unidades
65
4.5
R Desactivar contador
Formato
R <contador>
Operando <contador> Tipo de datos COUNTER Area de memoria Z Descripcin Contador a desactivar; el rea vara segn la CPU utilizada.
Descripcin de la operacin
R <contador> carga el valor de contaje "0" en el contador direccionado, si el RLO es 1.
Palabra de estado
RB se escribe: A1 A0 OV OS OR 0 STA RLO /ER 0
Ejemplo
AWL U R Explicacin //Consultar el estado de seal en la entrada E 2.3. //Poner el contador Z3 al valor "0" si el RLO cambia de "0" a "1".
E 2.3 Z3
66
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
4.6
Formato
S <contador>
Operando <contador> Tipo de datos COUNTER Area de memoria Z Descripcin Contador a predeterminar; el rea vara segn la CPU utilizada.
Descripcin de la operacin
S <contador> carga el valor de contaje del ACU1-L en el contador direccionado, si el RLO cambia de "0" a "1". El valor de contaje en el ACU 1 tiene que estar en formato BCD y tener un valor entre "0" y 999.
Palabra de estado
RB se escribe: A1 A0 OV OS OR 0 STA RLO /ER 0
Ejemplo
AWL U L S Explicacin //Consultar el estado de seal de la entrada E 2.3. //Cargar el valor de contaje 3 en el ACU1-L. //Poner el contador Z1 al valor de contaje si el RLO cambia de "0" a "1".
E 2.3 C#3 Z1
67
4.7
ZV Incrementar contador
Formato
ZV <contador>
Operando <contador> Tipo de datos COUNTER Area de memoria Z Descripcin Contador; el rea vara segn la CPU utilizada.
Descripcin de la operacin
ZV <contador> incrementa en "1" el valor de contaje del contador direccionado si el RLO cambia de "0" a "1" y el valor de contaje es menor que "999". Cuando el valor de contaje llegue al valor lmite superior "999" dejar de incrementarse; los cambios posteriores del RLO no tendrn efecto alguno. El bit de desbordamiento (OV) no se activa.
Palabra de estado
RB se escribe: A1 A0 OV OS OR 0 STA RLO /ER 0
Ejemplo
AWL U ZV Explicacin //Consultar el estado de seal en la entrada E 2.1. //Incrementar en 1 el valor del contador Z3 si el RLO cambia de "0" a "1".
E 2.1 Z3
68
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
4.8
ZR Decrementar contador
Formato
ZR <contador>
Operando <contador> Tipo de datos COUNTER Area de memoria Z Descripcin Contador; el rea vara segn la CPU utilizada.
Descripcin de la operacin
ZR <contador> decrementa en "1" el valor de contaje del contador direccionado si el RLO cambia de "0" a "1" y el valor de contaje es mayor que "0". Cuando el valor de contaje llega al valor lmite inferior "0" deja de decrementarse; los cambios posteriores del RLO no tendrn efecto alguno, ya que el contador no opera con valores negativos.
Palabra de estado
RB se escribe: A1 A0 OV OS OR 0 STA RLO /ER 0
Ejemplo
AWL L U S U ZR UN = Explicacin //Valor preajustado del contador. //Contador preajustado tras detectar un flanco positivo en la entrada //E 0.1. //Cargar el contador Z1 con el preajuste, si ste est habilitado. //Decrementar en "1" cada vez que se d un flanco positivo en E 0.0. //Decrementar en "1" el contador Z1 si el RLO cambia de "0" a "1" //(en funcin de la entrada E 0.0). //Deteccin de cero mediante el bit Z1. //A 0.0 es 1 si el valor del contador Z1 es "0".
69
70
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
5
5.1
Descripcin
La operacin 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 simultneamente un bloque de datos global y un bloque de instancia. Se dispone de las operaciones con bloques siguientes: AUF TDB Abrir bloque de datos Intercambiar bloque de datos global y bloque de datos de instancia
L DBLG Cargar la longitud del DB global en el ACU 1 L DBNO Cargar nmero del bloque de datos global en ACU 1 L DILG Cargar longitud del bloque de datos de instancia en ACU 1 L DINO Cargar nmero del bloque de datos de instancia en ACU 1
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
71
Operaciones con los bloques de datos 5.2 AUF Abrir bloque de datos
5.2
Formato
AUF <bloque de datos>
Operando <bloque de datos> Tipo del bloque de datos DB, DI Direccin fuente De 1 a 65.535
Descripcin de la operacin
AUF <bloque de datos> abre un bloque de datos como bloque de datos global o como bloque de datos de instancia. Pueden estar abiertos simultneamente un bloque de datos global y un bloque de datos de instancia, respectivamente.
Palabra de estado
RB se escribe: A1 A0 OV OS OR STA RLO /ER -
Ejemplo
AWL AUF L T AUF L T Explicacin //Abrir el bloque de datos DB10 como bloque de datos global. //Cargar en ACU1-L la palabra de datos DBW35 del bloque de datos abierto. //Transferir el contenido del ACU1-L a la palabra de marcas MW22. //Abrir el bloque de datos DB20 como bloque de datos de instancia. //Cargar en el ACU1-L-L el byte de datos DIB12 del bloque de datos de //instancia abierto. //Transferir el contenido del ACU1-L-L al byte de datos DBB37 del bloque //de datos global abierto.
72
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Operaciones con los bloques de datos 5.3 TDB Intercambiar bloque de datos global y bloque de datos de instancia
5.3
Formato
TDB
Descripcin de la operacin
TDB intercambia los registros de los bloques de datos. Al efectuarse la permutacin, un bloque de datos global en un bloque de datos de instancia, y viceversa.
Palabra de estado
RB se escribe: A1 A0 OV OS OR STA RLO /ER -
5.4
Formato
L DBLG
Descripcin de la operacin
L DBLG (Cargar la longitud del bloque de datos global) carga la longitud del bloque de datos global en el ACU 1, despus de que se haya almacenado el contenido del ACU 1 en el ACU 2.
Palabra de estado
RB se escribe: A1 A0 OV OS OR STA RLO /ER -
Ejemplo
AWL AUF L L <D SPB DB10 DBLG MD10 ERRO Explicacin //Abrir el bloque de datos DB10 como bloque de datos global. //Cargar la longitud del bloque de datos global (longitud de DB10). //Valor para comparar si el bloque de datos es suficientemente largo. //Saltar a meta ERRO si la longitud es menor que el valor en MD10.
73
Operaciones con los bloques de datos 5.5 L DBNO Cargar nmero del bloque de datos global en ACU 1
5.5
Formato
L DBNO
Descripcin de la operacin
L DBNO (Cargar el nmero del bloque de datos global) carga en el ACU1 el nmero del bloque de datos global que est abierto, despus de que se haya almacenado el contenido del ACU 1 en el ACU 2.
Palabra de estado
RB se escribe: A1 A0 OV OS OR STA RLO /ER -
5.6
Formato
L DILG
Descripcin de la operacin
L DILG (Cargar la longitud del bloque de datos de instancia) carga la longitud del bloque de datos de instancia en el ACU 1, despus de que se haya almacenado el contenido del ACU 1 en el ACU 2.
Palabra de estado
RB Se escribe: A1 A0 OV OS OR STA RLO /ER -
Ejemplo
AWL AUF L L <I SPB DI20 DILG MW10 ERRO Explicacin //Abrir el bloque de datos DB20 como bloque de datos de instancia. //Cargar la longitud del bloque de datos de instancia (longitud de DB20). //Valor para comparar si el bloque de datos es suficientemente largo. //Saltar a meta ERRO si la longitud es menor que el valor en MW10.
74
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Operaciones con los bloques de datos 5.7 L DINO Cargar nmero del bloque de datos de instancia en ACU 1
5.7
Formato
L DINO
Descripcin de la operacin
L DINO (Cargar nmero del bloque de datos de instancia) carga en el ACU 1 el nmero del bloque de datos de instancia que est abierto, despus de que se haya almacenado el contenido del ACU 1 en el ACU 2.
Palabra de estado
RB se escribe: A1 A0 OV OS OR STA RLO /ER -
75
Operaciones con los bloques de datos 5.7 L DINO Cargar nmero del bloque de datos de instancia en ACU 1
76
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
6
6.1
Operaciones de salto
Lista de operaciones de salto
Descripcin
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 operacin LOOP (bucle) sirve para llamar varias veces un segmento del programa. El operando de una operacin de salto o LOOP es una meta. Esta meta puede tener hasta un mximo de 4 caracteres, el primero de los cuales tiene que ser una letra. La meta termina con un signo de dos puntos ":", y da inicio a la instruccin de la lnea (p.ej. SEG3). Nota Al escribir programas para las CPUs S7 300, atender a que en operaciones de salto el destino del salto est siempre al comienzo de una cadena de combinaciones lgicas (no necesario con 318-2). El destino del salto no deber encontrarse dentro de una cadena de combinaciones. Las siguientes operaciones de salto se utilizan para interrumpir el desarrollo normal del programa sin condiciones: SPA Salto incondicionado SPL Saltar utilizando una lista de metas Las siguientes operaciones de salto interrumpen el desarrollo del programa dependiendo del resultado lgico (RLO) dado en la instruccin anterior: SPB Saltar si RLO = 1 SPBN Saltar si RLO = 0 SPBB Saltar si RLO = 1 y salvaguardar RLO en RB SPBNB Saltar si RLO = 0 y salvar RLO en RB Las siguientes operaciones de salto interrumpen el desarrollo del programa en funcin del estado de seal de un determinado bit de la palabra estado: SPA Salto incondicionado SPBI Saltar si RB = 1 SPBIN Saltar si RB = 0 SPO Saltar si OV = 1 SPS Saltar si OS = 1
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
77
Las siguientes operaciones de salto interrumpen el desarrollo del programa en funcin del resultado de una operacin anterior: SPZ Saltar si el resultado = 0 SPN Saltar si resultado <> 0 SPP Saltar si el resultado > 0 SPM Saltar si resultado < 0 SPPZ Saltar si el resultado >= 0 SPMZ Saltar si el resultado <= 0 SPU Saltar si el resultado no es vlido
78
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
6.2
Formato
SPA <meta>
Operando <meta> Descripcin Nombre simblico de la meta del salto
Descripcin de la operacin
SPA <meta> interrumpe la ejecucin lineal del programa y salta a la meta que se haya indicado, independientemente de cul sea el contenido de la palabra de estado. La ejecucin lineal del programa contina en la meta del salto, que est sealada por una marca. Se puede saltar tanto hacia adelante como hacia atrs. Los saltos slo pueden ser ejecutados dentro de un bloque; esto implica que tanto la instruccin del salto como su meta tienen que encontrarse dentro del mismo bloque. La meta del salto slo puede estar representada una sola vez dentro de este bloque. La distancia mxima del salto es de -32768 +32767 palabras del cdigo de programa. El nmero mximo efectivo de las instrucciones que se pueden saltar depende de cul sea la combinacin de las instrucciones dentro del programa (instrucciones de una, dos o tres palabras).
Palabra de estado
RB se escribe: A1 A0 OV OS OR STA RLO /ER -
Ejemplo
AWL U U SPB L INC T SPA L T U E 1.0 E 1.2 DELE MB10 1 MB10 FORW 0 MB10 E 2.1 Explicacin
DELE: FORW:
//La ejecucin del programa contina aqu despus de haber saltado a la //meta FORW.
79
6.3
Formato
SPL <meta>
Operando <meta > Descripcin Nombre simblico de la meta del salto
Descripcin de la operacin
SPL <meta> (Saltar utilizando una lista de metas) permite programar distintos saltos. La lista de metas de salto, que como mximo contiene 255 registros, empieza directamente despus de la operacin SPL y termina antes de la marca del salto que indica el operando SPL. Cada meta contiene una operacin SPA. La cantidad de metas (entre 0 y 255) se toma del ACU1-L-L. Mientras el contenido del ACU sea inferior al nmero de metas entre la instruccin SPL y la meta del salto, la operacin SPL saltar a una de las operaciones SPA. Si el ACU1-L-L 1 es 0 se salta a la primera operacin SPA; si el ACU1-L-L es 1, se salta a la segunda operacin SPA, y as sucesivamente. Si el nmero de destinos es demasiado grande, la operacin SPL salta a la primera instruccin despus de la ltima operacin SPA de la lista de metas. La lista de metas tiene que estar formada por operaciones SPA que se encuentren antes de la marca de salto que indica la instruccin SPL. Dentro de la lista de metas no se pueden realizar operaciones de otro tipo.
80
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Palabra de estado
RB se escribe: A1 A0 OV OS OR STA RLO /ER -
Ejemplo
AWL L SPL SPA SPA SPA SPA SPA * * SPA * * SPA * * SPA * * MB0 LSTX SEG0 SEG1 COMM SEG3 COMM Explicacin //Cargar el nmero de la meta del salto en el ACU1-L-L. //Meta del salto si el ACU1-L-L es > 3. //Meta del salto si ACU1-L-L = 0. //Meta del salto si ACU1-L-L = 1. //Meta del salto si ACU1-L-L = 2. //Meta del salto si ACU1-L-L = 3. //Instruccin permitida. COMM //Instruccin permitida. COMM //Instruccin permitida. COMM
LSTX: SEG0:
SEG1:
SEG3:
COMM:
81
6.4
Formato
SPB <meta>
Operando <meta > Descripcin Nombre simblico de la meta del salto
Descripcin de la operacin
Si el RLO es 1, la operacin SPB <meta> interrumpe la ejecucin lineal del programa y salta a la meta que se haya indicado. La ejecucin lineal del programa contina en la meta del salto, que est sealada por una marca. Se puede saltar tanto hacia adelante como hacia atrs. Los saltos slo pueden ser ejecutados dentro de un bloque; esto implica que tanto la instruccin del salto como su meta tienen que encontrarse dentro del mismo bloque. La meta del salto slo puede estar representada una sola vez dentro de este bloque. La distancia mxima del salto es de -32768 +32767 palabras del cdigo de programa. El nmero mximo efectivo de las instrucciones que se pueden saltar depende de cul sea la combinacin de las instrucciones dentro del programa (instrucciones de una, dos o tres palabras). Si el RLO es 0 no se ejecuta el salto. El RLO se pone a "1" y la ejecucin del programa contina con la instruccin siguiente.
Palabra de estado
RB se escribe: A1 A0 OV OS OR 0 STA 1 RLO 1 /ER 0
Ejemplo
AWL U U SPB L T U E 1.0 E 1.2 JOVR EW8 MW22 E 2.1 Explicacin
//Saltar a la meta JOVR si RLO = 1 //La ejecucin del programa contina aqu en caso de que no se ejecute //el salto. //La ejecucin del programa contina aqu despus de haber saltado a la //meta JOVR.
JOVR:
82
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
6.5
SPBN
Saltar si RLO = 0
Formato
SPBN <meta>
Operando <meta > Descripcin Nombre simblico de la meta del salto
Descripcin de la operacin
Si el RLO es 0, la operacin SPBN <meta> interrumpe la ejecucin lineal del programa y salta a la meta que se haya indicado. La ejecucin lineal del programa contina en la meta del salto, que est sealada por una marca. Se puede saltar tanto hacia adelante como hacia atrs. Los saltos slo pueden ser ejecutados dentro de un bloque; esto implica que tanto la instruccin del salto como su meta tienen que encontrarse dentro del mismo bloque. La meta del salto slo puede estar representada una sola vez dentro de este bloque. La distancia mxima del salto es de -32768 +32767 palabras del cdigo de programa. El nmero mximo efectivo de las instrucciones que se pueden saltar depende de cul sea la combinacin de las instrucciones dentro del programa (instrucciones de una, dos o tres palabras). Si el RLO es 1 no se ejecuta el salto. La ejecucin del programa contina con la instruccin siguiente.
Palabra de estado
RB se escribe: A1 A0 OV OS OR 0 STA 1 RLO 1 /ER 0
Ejemplo
AWL U U SPBN L T U E 1.0 E 1.2 JOVR EW8 MW22 E 2.1 Explicacin
//Saltar, si el RLO = 0, a la meta JOVR. //La ejecucin del programa contina aqu en caso de no ejecutarse el //salto. //La ejecucin del programa contina aqu despus de haber saltado a la //meta JOVR.
JOVR:
83
6.6
Formato
SPBB <meta>
Operando <meta> Descripcin Nombre simblico de la meta del salto
Descripcin de la operacin
Si el RLO es 1, la operacin SPBB <meta> interrumpe la ejecucin lineal del programa y salta a la meta que se haya indicado. La ejecucin lineal del programa contina en la meta del salto, que est sealada por una marca. Se puede saltar tanto hacia adelante como hacia atrs. Los saltos slo pueden ser ejecutados dentro de un bloque; esto implica que tanto la instruccin del salto como su meta tienen que encontrarse dentro del mismo bloque. La meta del salto slo puede estar representada una sola vez dentro de este bloque. La distancia mxima del salto es de -32768 +32767 palabras del cdigo de programa. El nmero mximo efectivo de las instrucciones que se pueden saltar depende de cul sea la combinacin de las instrucciones dentro del programa (instrucciones de una, dos o tres palabras). Si el RLO es 0 no se ejecuta el salto. El RLO se pone a "1" y la ejecucin del programa contina con la instruccin siguiente. Independientemente de cul sea el RLO, al ejecutarse la operacin SPBB <meta> se copia el RLO en el RB.
Palabra de estado
RB se escribe: x A1 A0 OV OS OR 0 STA 1 RLO 1 /ER 0
Ejemplo
AWL U U SPBB L T U E 1.0 E 1.2 JOVR EW8 MW22 E 2.1 Explicacin
el RLO = 1, saltar a la meta JOVR. Copiar el contenido del bit RLO el bit RB. ejecucin del programa contina aqu en caso de que no se ejecute salto.
JOVR:
//La ejecucin del programa contina aqu despus de haber saltado a la //meta JOVR.
84
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
6.7
Formato
SPBNB <meta>
Operando <meta > Descripcin Nombre simblico de la meta del salto
Descripcin de la operacin
Si el RLO es 0, la operacin SPBNB <meta> interrumpe la ejecucin lineal del programa y salta a la meta que se haya indicado. La ejecucin lineal del programa contina en la meta del salto, que est sealada por una marca. Se puede saltar tanto hacia adelante como hacia atrs. Los saltos slo pueden ser ejecutados dentro de un bloque; esto implica que tanto la instruccin del salto como su meta tienen que encontrarse dentro del mismo bloque. La meta del salto slo puede estar representada una sola vez dentro de este bloque. La distancia mxima del salto es de -32768 +32767 palabras del cdigo de programa. El nmero mximo efectivo de las instrucciones que se pueden saltar depende de cul sea la combinacin de las instrucciones dentro del programa (instrucciones de una, dos o tres palabras). Si el RLO es 1 no se ejecuta la operacin; el RLO se pone a "1" y la ejecucin del programa contina con la instruccin siguiente. Independientemente de cul sea el RLO, al realizarse la operacin SPBNB <meta > el RLO se copia automticamente en el RB.
Palabra de estado
RB se escribe: x A1 A0 OV OS OR 0 STA 1 RLO 1 /ER 0
Ejemplo
AWL U U SPBNB L T U E 1.0 E 1.2 JOVR EW MW22 E 2.1 Explicacin
//Si RLO = 0, saltar a la meta JOVR; copiar el contenido del bit RLO en //el bit RB. //La ejecucin del programa contina aqu en caso de no ejecutarse el //salto. //La ejecucin del programa contina aqu despus de haber saltado a la //meta JOVR.
JOVR:
85
6.8
SPBI Saltar si RB = 1
Formato
SPBI <meta>
Operando <meta> Descripcin Nombre simblico de la meta del salto
Descripcin de la operacin
Si el bit RB de la palabra de estado es 1, la operacin SPBI <meta> interrumpe la ejecucin lineal del programa y salta a la meta que se haya indicado. La ejecucin lineal del programa contina en la meta del salto, que est sealada por una marca. Se puede saltar tanto hacia adelante como hacia atrs. Los saltos slo pueden ser ejecutados dentro de un bloque; esto implica que tanto la instruccin del salto como su meta tienen que encontrarse dentro del mismo bloque. La meta del salto slo puede estar representada una sola vez dentro de este bloque. La distancia mxima del salto es de -32768 +32767 palabras del cdigo de programa. El nmero mximo efectivo de las instrucciones que se pueden saltar depende de cul sea la combinacin de las instrucciones dentro del programa (instrucciones de una, dos o tres palabras).
Palabra de estado
RB se escribe: A1 A0 OV OS OR 0 STA 1 RLO /ER 0
86
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
6.9
SPBIN Saltar si RB = 0
Formato
SPBIN <meta>
Operando <meta> Descripcin Nombre simblico de la meta del salto
Descripcin de la operacin
Si el bit RB de la palabra de estado es 0, la operacin SPBIN <meta> interrumpe la ejecucin lineal del programa y salta a la meta que se haya indicado. La ejecucin lineal del programa contina en la meta del salto, que est sealada por una marca. Se puede saltar tanto hacia adelante como hacia atrs. Los saltos slo pueden ser ejecutados dentro de un bloque; esto implica que tanto la instruccin del salto como su meta tienen que encontrarse dentro del mismo bloque. La meta del salto slo puede estar representada una sola vez dentro de este bloque. La distancia mxima del salto es de -32768 +32767 palabras del cdigo de programa. El nmero mximo efectivo de las instrucciones que se pueden saltar depende de cul sea la combinacin de las instrucciones dentro del programa (instrucciones de una, dos o tres palabras).
Palabra de estado
RB se escribe: A1 A0 OV OS OR 0 STA 1 RLO /ER 0
87
6.10
SPO Saltar si OV = 1
Formato
SPO <meta>
Operando <meta > Descripcin Nombre simblico de la meta del salto
Descripcin de la operacin
Si el bit OV de la palabra de estado es 1, la operacin SPO <meta> interrumpe la ejecucin lineal del programa y salta a la meta que se haya indicado. La ejecucin lineal del programa contina en la meta del salto, que est sealada por una marca. Se puede saltar tanto hacia adelante como hacia atrs. Los saltos slo pueden ser ejecutados dentro de un bloque; esto implica que tanto la instruccin del salto como su meta tienen que encontrarse dentro del mismo bloque. La meta del salto slo puede estar representada una sola vez dentro de este bloque. La distancia mxima del salto es de -32768 +32767 palabras del cdigo de programa. El nmero mximo efectivo de las instrucciones que se pueden saltar depende de cul sea la combinacin de las instrucciones dentro del programa (instrucciones de una, dos o tres palabras). Si se trata de una operacin aritmtica compuesta hay que asegurarse de que despus de cada una de las operaciones aritmticas no se produzca ningn desbordamiento, a fin de garantizar que cada resultado parcial quede dentro del margen admisible; de lo contrario habr que utilizar la operacin SPS.
Palabra de estado
RB se escribe: A1 A0 OV OS OR STA RLO /ER -
Ejemplo
AWL L L *I SPO T U R SPA UN S NOP 0 MW10 3 OVER MW10 M 4.0 M 4.0 NEXT M 4.0 M 4.0 //La ejecucin del programa contina aqu despus de haber saltado a la //meta NEXT. //Multiplicar el contenido de MW10 por "3". //Saltar si el resultado excede //el margen mximo (OV = 1). //La ejecucin del programa contina aqu en caso de no ejecutarse el //salto. Explicacin
OVER:
//La ejecucin del programa contina aqu despus de haber saltado a la //meta OVER.
NEXT:
88
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
6.11
SPS Saltar si OS = 1
Formato
SPS <meta>
Operando <meta > Descripcin Nombre simblico de la meta del salto
Descripcin de la operacin
Si el bit OS de la palabra de estado es 1, la operacin SPS <meta> interrumpe la ejecucin lineal del programa y salta a la meta que se haya indicado. La ejecucin lineal del programa contina en la meta del salto, que est sealada por una marca. Se puede saltar tanto hacia adelante como hacia atrs. Los saltos slo pueden ser ejecutados dentro de un bloque; esto implica que tanto la instruccin del salto como su meta tienen que encontrarse dentro del mismo bloque. La meta del salto slo puede estar representada una sola vez dentro de este bloque. La distancia mxima del salto es de -32768 +32767 palabras del cdigo de programa. El nmero mximo efectivo de las instrucciones que se pueden saltar depende de cul sea la combinacin de las instrucciones dentro del programa (instrucciones de una, dos o tres palabras).
Palabra de estado
RB se escribe: A1 A0 OV OS 0 OR STA RLO /ER -
89
Ejemplo
AWL L L *I L +I L -I SPS T U R SPA UN S NOP 0 EW10 MW12 DBW25 MW14 OVER MW16 M 4.0 M 4.0 NEXT M 4.0 M 4.0 //La ejecucin del programa contina aqu despus de haber saltado a la //meta NEXT. //Saltar si se produce desbordamiento en una de las 3 operaciones, //OS = 1, (vase la nota). //La ejecucin del programa contina aqu en caso de no ejecutarse el //salto. Explicacin
OVER:
//La ejecucin del programa contina aqu despus de haber saltado a la //meta OVER.
NEXT:
Nota En este caso no debe emplearse la operacin SPO. La operacin SPO slo consultara la operacin precedente -I en caso de un desbordamiento.
90
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
6.12
Formato
SPZ <meta>
Operando <meta> Descripcin Nombre simblico de la meta del salto
Descripcin de la operacin
Si los bits de la palabra de estado A1 = 0 y A0 = 0, la operacin SPZ <meta> interrumpe la ejecucin lineal del programa y salta a la meta que se haya indicado. La ejecucin lineal del programa contina en la meta del salto, que est sealada por una marca. Se puede saltar tanto hacia adelante como hacia atrs. Los saltos slo pueden ser ejecutados dentro de un bloque; esto implica que tanto la instruccin del salto como su meta tienen que encontrarse dentro del mismo bloque. La meta del salto slo puede estar representada una sola vez dentro de este bloque. La distancia mxima del salto es de -32768 +32767 palabras del cdigo de programa. El nmero mximo efectivo de las instrucciones que se pueden saltar depende de cul sea la combinacin de las instrucciones dentro del programa (instrucciones de una, dos o tres palabras).
Palabra de estado
RB se escribe: A1 A0 OV OS OR STA RLO /ER -
Ejemplo
AWL L SRW SPZ L INC T SPA L INC T NOP 0 MW10 1 ZERO MW2 1 MW2 NEXT MW4 1 MW4 //La ejecucin del programa contina aqu despus de haber saltado a la //meta NEXT. Explicacin
//Saltar a la meta ZERO si el bit desplazado es 0. //La ejecucin del programa contina aqu en caso de no ejecutarse el //salto.
ZERO:
//La ejecucin del programa contina aqu despus de haber saltado a la //meta ZERO.
NEXT:
91
6.13
Formato
SPN <meta>
Operando <meta > Descripcin Nombre simblico de la meta del salto
Descripcin de la operacin
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 A1 = 1/A0 = 0), la operacin SPN <meta> (Saltar si el resultado <> 0) interrumpe la ejecucin lineal del programa y salta a la meta que se haya indicado. La ejecucin lineal del programa contina en la meta del salto, que est sealada por una marca. Se puede saltar tanto hacia adelante como hacia atrs. Los saltos slo pueden ser ejecutados dentro de un bloque; esto implica que tanto la instruccin del salto como su meta tienen que encontrarse dentro del mismo bloque. La meta del salto slo puede estar representada una sola vez dentro de este bloque. La distancia mxima del salto es de -32768 +32767 palabras del cdigo de programa. El nmero mximo efectivo de las instrucciones que se pueden saltar depende de cul sea la combinacin de las instrucciones dentro del programa (instrucciones de una, dos o tres palabras).
Palabra de estado
RB se escribe: A1 A0 OV OS OR STA RLO /ER -
Ejemplo
AWL L L XOW SPN UN S SPA UN S NOP 0 EW8 MW12 NOZE M 4.0 M 4.0 NEXT M 4.1 M 4.1 //La ejecucin del programa contina aqu despus de haber saltado a la //meta NEXT. //Saltar si el contenido del ACU1-L no es cero. //La ejecucin del programa contina aqu en caso de no ejecutarse el //salto. Explicacin
NOZE:
//La ejecucin del programa contina aqu despus de haber saltado a la //meta NOZE.
NEXT:
92
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
6.14
Formato
SPP <meta>
Operando <meta> Descripcin Nombre simblico de la meta del salto
Descripcin de la operacin
Si los bits de la palabra de estado A1 = 1 y A0 = 0, la operacin SPP <meta> interrumpe la ejecucin lineal del programa y salta a la meta que se haya indicado. La ejecucin lineal del programa contina en la meta del salto, que est sealada por una marca. Se puede saltar tanto hacia adelante como hacia atrs. Los saltos slo pueden ser ejecutados dentro de un bloque; esto implica que tanto la instruccin del salto como su meta tienen que encontrarse dentro del mismo bloque. La meta del salto slo puede estar representada una sola vez dentro de este bloque. La distancia mxima del salto es de -32768 +32767 palabras del cdigo de programa. El nmero mximo efectivo de las instrucciones que se pueden saltar depende de cul sea la combinacin de las instrucciones dentro del programa (instrucciones de una, dos o tres palabras).
Palabra de estado
RB se escribe: A1 A0 OV OS OR STA RLO /ER -
Ejemplo
AWL L L -I SPP UN S SPA UN S NOP 0 EW8 MW12 POS M 4.0 M 4.0 NEXT M 4.1 M 4.1 //La ejecucin del programa contina aqu despus de haber saltado a la //meta NEXT. //Restar el contenido de MW12 del contenido de EW8. //Saltar si el resultado > 0 (es decir, si el contenido de ACU 1 > 0). //La ejecucin del programa contina aqu en caso de no ejecutarse el //salto. Explicacin
POS:
//La ejecucin del programa contina aqu despus de haber saltado a la //meta POS.
NEXT:
93
6.15
Formato
SPM <meta>
Operando <meta> Descripcin Nombre simblico de la meta del salto
Descripcin de la operacin
Si los bits de la palabra de estado A1 = 0 y A0 = 1, la operacin SPM <meta> interrumpe la ejecucin lineal del programa y salta a la meta que se haya indicado. La ejecucin lineal del programa contina en la meta del salto, que est sealada por una marca. Se puede saltar tanto hacia adelante como hacia atrs. Los saltos slo pueden ser ejecutados dentro de un bloque; esto implica que tanto la instruccin del salto como su meta tienen que encontrarse dentro del mismo bloque. La meta del salto slo puede estar representada una sola vez dentro de este bloque. La distancia mxima del salto es de -32768 +32767 palabras del cdigo de programa. El nmero mximo efectivo de las instrucciones que se pueden saltar depende de cul sea la combinacin de las instrucciones dentro del programa (instrucciones de una, dos o tres palabras).
Palabra de estado
RB se escribe: A1 A0 OV OS OR STA RLO /ER -
Ejemplo
AWL L L -I SPM UN S SPA UN S NOP 0 EW8 MW12 NEG M 4.0 M 4.0 NEXT M 4.1 M 4.1 //La ejecucin del programa contina aqu despus de haber saltado a la //meta NEXT. //Restar el contenido de MW12 del contenido de EW8. //Saltar si el resultado < 0 (es decir, si el contenido de ACU 1 < 0). //La ejecucin del programa contina aqu en caso de no ejecutarse el //salto. Explicacin
NEG:
//La ejecucin del programa contina aqu despus haber saltado a la //meta NEG.
NEXT:
94
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
6.16
Formato
SPPZ <meta>
Operando <meta> Descripcin Nombre simblico de la meta del salto
Descripcin de la operacin
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 A1 = 1/A0 = 0), la operacin SPPZ <meta> (Saltar si el resultado >= 0) interrumpe la ejecucin lineal del programa y salta a la meta que se haya indicado. La ejecucin lineal del programa contina en la meta del salto, que est sealada por una marca. Se puede saltar tanto hacia adelante como hacia atrs. Los saltos slo pueden ser ejecutados dentro de un bloque; esto implica que tanto la instruccin del salto como su meta tienen que encontrarse dentro del mismo bloque. La meta del salto slo puede estar representada una sola vez dentro de este bloque. La distancia mxima del salto es de -32768 +32767 palabras del cdigo de programa. El nmero mximo efectivo de las instrucciones que se pueden saltar depende de cul sea la combinacin de las instrucciones dentro del programa (instrucciones de una, dos o tres palabras).
Palabra de estado
RB se escribe: A1 A0 OV OS OR STA RLO /ER -
Ejemplo
AWL L L -I SPPZ UN S SPA UN S NOP 0 EW8 MW12 REG0 M 4.0 M 4.0 NEXT M 4.1 M 4.1 //La ejecucin del programa contina aqu despus de haber saltado a la //meta NEXT. //Restar el contenido de MW12 del contenido de EW8. //Saltar si el resultado >= 0 (es decir, si el contenido de //ACU 1 >= 0). //La ejecucin del programa contina aqu en caso de no ejecutarse el //salto. Explicacin
REG0:
//La ejecucin del programa contina aqu despus de haber saltado a la //meta REG0.
NEXT:
95
6.17
Formato
SPMZ <meta>
Operando <meta> Descripcin Nombre simblico de la meta del salto
Descripcin de la operacin
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 A1 = 0/A0 = 1), la operacin SPMZ <meta> (Saltar si el resultado <= 0) interrumpe la ejecucin lineal del programa y salta a la meta que se haya indicado. La ejecucin lineal del programa contina en la meta del salto, que est sealada por una marca. Se puede saltar tanto hacia adelante como hacia atrs. Los saltos slo pueden ser ejecutados dentro de un bloque; esto implica que tanto la instruccin del salto como su meta tienen que encontrarse dentro del mismo bloque. La meta del salto slo puede estar representada una sola vez dentro de este bloque. La distancia mxima del salto es de -32768 +32767 palabras del cdigo de programa. El nmero mximo efectivo de las instrucciones que se pueden saltar depende de cul sea la combinacin de las instrucciones dentro del programa (instrucciones de una, dos o tres palabras).
Palabra de estado
RB se escribe: A1 A0 OV OS OR STA RLO /ER -
Ejemplo
AWL L L -I SPMZ UN S SPA UN S NOP 0 EW8 MW12 RGE0 M 4.0 M 4.0 NEXT M 4.1 M 4.1 //La ejecucin del programa contina aqu despus de haber saltado a la //meta NEXT. //Restar el contenido de MW12 del contenido de EW8. //Saltar si el resultado <= 0 (es decir, si el contenido de //ACU 1 <= 0). //La ejecucin del programa contina aqu en caso de no ejecutarse el //salto. Explicacin
RGE0:
//La ejecucin del programa contina aqu despus de haber saltado a la //meta RGE0.
NEXT:
96
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
6.18
Formato
SPU <meta>
Operando <meta> Descripcin Nombre simblico de la meta del salto
Descripcin de la operacin
Si los bits de la palabra de estado A1 = 1 y A0 = 1, la operacin SPU <meta> interrumpe la ejecucin lineal del programa y salta a la meta que se haya indicado. La ejecucin lineal del programa contina en la meta del salto, que est sealada por una marca. Se puede saltar tanto hacia adelante como hacia atrs. Los saltos slo pueden ser ejecutados dentro de un bloque; esto implica que tanto la instruccin del salto como su meta tienen que encontrarse dentro del mismo bloque. La meta del salto slo puede estar representada una sola vez dentro de este bloque. La distancia mxima del salto es de -32768 +32767 palabras del cdigo de programa. El nmero mximo efectivo de las instrucciones que se pueden saltar depende de cul sea la combinacin de las instrucciones dentro del programa (instrucciones de una, dos o tres palabras). Los bits de la palabra de estado A1 y A0 se ponen a 1 en los siguientes casos: al dividir por cero, o al utilizar operaciones no permitidas, o cuando una comparacin de nmeros en coma flotante da un resultado"invlido", es decir, al utilizar un formato invlido.
Palabra de estado
RB se escribe: A1 A0 OV OS OR STA RLO /ER -
97
Ejemplo
AWL L L /D SPU T U R SPA UN S NOP 0 MD10 ED2 ERRO MD14 M 4.0 M 4.0 NEXT M 4.0 M 4.0 //La ejecucin del programa contina aqu despus de haber saltado a la //meta NEXT. //Dividir el contenido de MD10 por el contenido de ED2. //Saltar si hay una divisin por cero (es decir, ED2 = "0"). //La ejecucin del programa contina aqu en caso de no ejecutarse el //salto. Explicacin
ERRO:
//La ejecucin del programa contina aqu despus de haber saltado a la //meta ERRO.
NEXT:
98
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
6.19
LOOP Bucle
Formato
LOOP <meta>
Operando <meta> Descripcin Nombre simblico de la meta del salto
Descripcin de la operacin
LOOP <meta> (Decrementar el ACU1-L y saltar, si el ACU1-L <> 0) simplifica la programacin de bucles. El contador de bucles es un entero (de 16 bits) sin signo y se encuentra en el ACU1-L. La instruccin salta a la meta que se haya indicado indicado. El salto se ejecuta mientras el contenido del ACU1-L sea diferente de "0". El desarrollo lineal del programa contina en la meta del salto, que est sealada por una marca. Se puede saltar tanto hacia adelante como hacia atrs. Los saltos slo pueden ser ejecutados dentro de un bloque; esto implica que tanto la instruccin del salto como su meta tienen que encontrarse dentro del mismo bloque. La meta del salto slo puede estar representada una sola vez dentro de este bloque. La distancia mxima del salto es de -32768 +32767 palabras del cdigo de programa. El nmero mximo efectivo de las instrucciones que se pueden saltar depende de cul sea la combinacin de las instrucciones dentro del programa (instrucciones de una, dos o tres palabras).
Palabra de estado
RB se escribe: A1 A0 OV OS OR STA RLO /ER -
NEXT:
99
100
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
7
7.1
Aritmtica de enteros
Lista de operaciones aritmticas con enteros
Descripcin
Las operaciones aritmticas 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 continuacin el contenido del ACU 3 en el ACU 2, y el contenido del ACU 4 en el ACU 3. El antiguo contenido del ACU 4 no vara. Las operaciones aritmticas con enteros sirven para ejecutar las siguientes operaciones aritmticas con dos enteros (16 y 32 bits): +I Sumar ACU 1 y 2 como entero -I Restar ACU 1 de ACU 2 como entero /I Dividir ACU 2 por ACU 1 como entero *I Multiplicar ACU 1 por ACU 2 como entero + Sumar constante entera o entera doble +D Sumar ACU 1 y 2 como entero doble -D Restar ACU 1 de ACU 2 como entero doble *D Multiplicar ACU 1 por ACU 2 como entero doble /D Dividir ACU 2 por ACU 1 como entero doble MOD Resto de la divisin de enteros dobles
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
101
Aritmtica de enteros 7.2 Evaluar bits de la palabra de estado en operaciones en coma fija
7.2
Descripcin
Las operaciones aritmticas bsicas influyen sobre los siguientes bits de la palabra de datos: A1 y A0 OV OS Las tablas siguientes muestran el estado de seal de los bits de la palabra de estado para los resultados de las operaciones con nmeros en coma fija (16 bit, 32 bit):
Margen vlido 0 (cero) enteros: 32 768 < =resultado < 0 (nmero negativo) enteros dobles: 2 147 483 648 <=resultado < 0 (nmero negativo) enteros: 32 767 > =resultado > 0 (nmero positivo) enteros dobles: 2 147 483 647 > = resultado > 0 (nmero positivo) A1 0 0 1 A0 0 1 0 OV 0 0 0 OS * * *
Operacin +D: resultado = -4 294 967 296 /D o MOD: divisin por cero
A1 0 1
A0 0 1
OV 1 1
OS 1 1
102
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
7.3
Formato
+I
Descripcin de la operacin
+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 evalan como enteros (de 16 bits). La operacin se ejecuta sin tener en cuenta ni afectar al RLO. Una vez realizada la operacin se activan los bits de la palabra de estado A1, A0, OS y OV. En caso de un desbordamiento, ya sea por defecto o por exceso, el resultado de la operacin no es un entero doble (de 32 bits), sino un entero (de 16 bits). En las CPU con dos acumuladores, el contenido del ACU 2 queda inalterado. En las CPU con cuatro acumuladores, se copian los contenidos del ACU 3 al ACU 2 y del ACU 4 al ACU 3. El contenido del ACU 4 queda inalterado.
Palabra de estado
RB se escribe: A1 x A0 x OV x OS x OR STA RLO /ER -
Configuracin de los bits de la palabra de estado Suma = 0 -32768 <= Suma < 0 32767 >= Suma > 0 Suma = -65536 65534 >= Suma > 32767 -65535 <= Suma < -32768
A1 0 0 1 0 0 1
A0 0 1 0 0 1 0
OV 0 0 0 1 1 1
OS 1 1 1
Ejemplo
AWL L L +I T Explicacin //El valor de EW10 se carga en el ACU1-L. //Cargar el contenido del ACU1-L en el ACU2-L. Cargar el valor de MW14 //en el ACU1-L. //Sumar ACU2-L y ACU1-L, almacenar el resultado en el ACU1-L. //El contenido del ACU1-L (resultado) se transfiere del DB1 a DBW25.
EW10 MW14
DB1.DBW25
103
7.4
Formato
-I
Descripcin de la operacin
-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 evalan como enteros (de 16 bits). La operacin se ejecuta sin tener en cuenta ni afectar al RLO. Una vez realizada la operacin se activan los bits de la palabra de estado A1, A0, OS y OV. En caso de producirse un desbordamiento, ya sea por exceso o por defecto, el resultado de la operacin no es un entero doble (de 32 bits), sino un entero (de 16 bits). En las CPU con dos acumuladores, el contenido del ACU 2 queda inalterado. En las CPU con cuatro acumuladores, se copian los contenidos del ACU 3 al ACU 2 y del ACU 4 al ACU 3. El contenido del ACU 4 queda inalterado.
Palabra de estado
RB se escribe: A1 x A0 x OV x OS x OR STA RLO /ER -
Configuracin de los bits de la palabra de estado Diferencia = 0 -32768 <= Diferencia < 0 32767 >= Diferencia > 0 65535 >= Diferencia > 32767 -65535 <= Diferencia < -32768
A1 0 0 1 0 1
A0 0 1 0 1 0
OV 0 0 0 1 1
OS 1 1
Ejemplo
AWL L L -I T Explicacin //El valor de EW10 se carga en el ACU1-L. //Cargar el contenido del ACU1-L en el ACU2-L. Cargar el valor de MW14 //en el ACU1-L. //Restar ACU1-L de ACU2-L, almacenar el resultado en el ACU1-L. //El contenido del ACU1-L (resultado) se transfiere del DB1 a DBW25.
EW10 MW14
DB1.DBW25
104
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
7.5
Formato
*I
Descripcin de la operacin
*I (Multiplicar enteros) multiplica el contenido del ACU2-L por el contenido del ACU1-L. Los contenidos del ACU1-L y ACU2-L se evalan como enteros (16 bits). El resultado se almacena como entero doble (32 bits) en el ACU 1. Si los bits de la palabra de estado OV 1 = 1 y OS = 1, el resultado queda fuera del margen vlido para un entero (de 16 bits). La operacin se ejecuta sin tener en cuenta ni afectar al RLO. Una vez realizada la operacin se activan los bits de la palabra de estado A1, A0, OS y OV. En las CPU con dos acumuladores, el contenido del ACU 2 queda inalterado. En las CPU con cuatro acumuladores, se copian los contenidos del ACU 3 al ACU 2 y del ACU 4 al ACU 3. El contenido del ACU 4 queda inalterado.
Palabra de estado
RB se escribe: A1 x A0 x OV x OS x OR STA RLO /ER -
Configuracin de los bits de la palabra de estado Resultado = 0 -32768 <= Resultado < 0 32767 >= Resultado > 0 1.073.741.824 >= Resultado > 32767 -1.073.709.056 <= Resultado < -32768
A1 0 0 1 1 0
A0 0 1 0 0 1
OV 0 0 0 1 1
OS 1 1
Ejemplo
AWL L L *I T DB1.DBD25 Explicacin //El valor de EW10 se carga en el ACU1-L. //Cargar el contenido del ACU1-L en el ACU 2-L. Cargar el valor de MW14 //en el ACU1-L. //Multiplicar el ACU2-L por el ACU1-L, almacenar el resultado en el //ACU 1. //El contenido del ACU 1 (resultado) se transfiere del DB1 a DBD25.
EW10 MW14
105
7.6
Formato
/I
Descripcin de la operacin
/I (Dividir enteros) divide el contenido del ACU2-L por el contenido del ACU1-L. Los contenidos de ACU1-L y ACU2-L se evalan 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 divisin. El cociente se almacena en el ACU1-L y el resto de la divisin en el ACU1-H. La operacin se ejecuta sin tener en cuenta ni afectar al RLO. Una vez realizada la operacin se activan los bits de la palabra de estado A1, A0, OS y OV. En las CPU con dos acumuladores, el contenido del ACU 2 queda inalterado. En las CPU con cuatro acumuladores, se copian los contenidos del ACU 3 al ACU 2 y del ACU 4 al ACU 3. El contenido del ACU 4 queda inalterado.
Palabra de estado
RB se escribe: A1 x A0 x OV x OS x OR STA RLO /ER -
Configuracin de los bits de la palabra de estado Cociente = 0 -32768 <= Cociente < 0 32767 >= Cociente > 0 Cociente = 32768 Divisin por cero
A1 0 0 1 1 1
A0 0 1 0 0 1
OV 0 0 0 1 1
OS 1 1
Ejemplo
AWL L L /I T MD20 Explicacin //Cargar el valor de EW10 en el ACU1-L. //Cargar el contenido del ACU1-L en el ACU2-L. Cargar el valor de MW14 //en el ACU1-L. //Dividir ACU2-L por ACU1-L, almacenar el resultado en el ACU 1: ACU1-L: //Cociente, ACU1-H: resto de la divisin //El contenido del ACU 1 (resultado) se transfiere a MD20.
EW10 MW14
106
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
107
7.7
Formato
+ <constante entera>
Operando <constante entera> Tipo de datos Constante entera (16 bits) o entera doble (32 bits) Descripcin Constante a sumar
Descripcin de la operacin
+ <constante entera> suma la constante entera al contenido del ACU 1 y almacena el resultado en el ACU 1. La operacin se ejecuta sin tener en cuenta ni afectar a los bits de la palabra de estado. + <constante entera de 16 bits> suma una constante entera (de 16 bits; dentro del margen de -32768 a +32767) al contenido del ACU 1-L y almacena el resultado en el ACU 1-L. + <constante entera de 32 bits> suma una constante entera doble (dentro del margen de -2.147.483.648 a 2.147.483.647) al contenido del ACU 1 y almacena el resultado en el ACU 1.
Palabra de estado
RB se escribe: A1 A0 OV OS OR STA RLO /ER -
Ejemplo 1
AWL L L +I + T EW10 MW14 Explicacin //Cargar el valor de EW10 en el ACU1-L. //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. //Transferir el contenido de ACU1-L (resultado) del DB 1 a DBW25.
25 DB1.DBW25
Ejemplo 2
AWL L L + >I SPB Explicacin EW12 EW14 100 NEXT
//Sumar el ACU1-L y 100, almacenar el resultado en el ACU 1-L. //Si el ACU 2 > ACU 1, o si EW 12 > (EW14 + 100), //saltar a la meta NEXT.
108
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Ejemplo 3
AWL L L +D + T Explicacin MD20 MD24 L#-200 MD28 //Sumar ACU 1 y ACU 2, almacenar el resultado en el ACU 1. //Sumar ACU1 y -200, almacenar el resultado en el ACU 1.
109
7.8
Formato
+D
Descripcin de la operacin
+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 evalan como enteros dobles, es decir, de 32 bits. La operacin se ejecuta sin tener en cuenta ni afectar al RLO. Una vez realizada la operacin se activan los bits de la palabra de estado A1, A0, OS y OV. En las CPU con dos acumuladores, el contenido del ACU 2 queda inalterado. En las CPU con cuatro acumuladores, se copian los contenido del ACU 3 al ACU 2 y del ACU 4 al ACU 3. El contenido del ACU 4 queda inalterado.
Palabra de estado
RB se escribe: A1 x A0 x OV x OS x OR A1 0 0 1 0 0 1 STA A0 0 1 0 0 1 0 RLO OV 0 0 0 1 1 1 /ER OS 1 1 1
Configuracin de los bits de la palabra de estado Suma = 0 -2.147.483.648 <= Suma < 0 2.147.483.647 >= Suma > 0 Suma = -4.294.967.296 4.294.967.294 >= Suma > 2.147.483.647 -4.294.967.295 <= Suma < -2.147.483.648
Ejemplo
AWL L L +D T Explicacin //El valor de ED10 se carga en el ACU 1. //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. //El contenido del ACU 1 (resultado) se transfiere del DB1 a DBD25.
ED10 MD14
DB1.DBD25
110
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
7.9
Formato
-D
Descripcin de la operacin
-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 evalan como enteros dobles, es decir, de 32 bits. La operacin se ejecuta sin tener en cuenta ni afectar al RLO. Una vez realizada la operacin se activan los bits de la palabra de estado A1, A0, OS y OV. En las CPU con dos acumuladores, el contenido del ACU 2 queda inalterado. En las CPU con cuatro acumuladores, se copian los contenidos del ACU 3 al ACU 2 y del ACU 4 al ACU 3. El contenido del ACU 4 queda inalterado.
Palabra de estado
RB se escribe: A1 x A0 x OV x OS x OR STA RLO /ER -
Configuracin de los bits de la palabra de estado Diferencia = 0 -2.147.483.648 <= Diferencia < 0 2.147.483.647 >= Diferencia > 0 4.294.967.295 >= Diferencia > 2.147.483.647 -4.294.967.295 <= Diferencia < -2.147.483.648
A1 0 0 1 0 1
A0 0 1 0 1 0
OV 0 0 0 1 1
OS 1 1
Ejemplo
AWL L L -D T Explicacin //El valor de ED10 se carga en el ACU 1. //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. //El contenido del ACU 1 (resultado) se transfiere del DB1 a DBD25.
ED10 MD14
DB1.DBD25
111
Aritmtica de enteros 7.10 *D Multiplicar ACU 1 por ACU 2 como entero doble
7.10
Formato
*D
Descripcin de la operacin
*D (Multiplicar enteros dobles) multiplica el contenido del ACU 1 por el contenido del ACU 2. Los
contenidos de ACU 1 y ACU 2 se evalan como enteros dobles, es decir, como enteros de 32 bits. El resultado se almacena como entero doble en el ACU 1. Si los bits de la palabra de estado OV1 = 1 y OS = 1, el resultado queda fuera del margen de un entero doble. La operacin se ejecuta sin tener en cuenta ni afectar al RLO. Una vez realizada la operacin se activan los bits de la palabra de estado A1, A0, OS y OV. En las CPU con dos acumuladores, el contenido del ACU 2 queda inalterado. En las CPU con cuatro acumuladores, se copian los contenidos del ACU 3 al ACU 2 y del ACU 4 al ACU 3. El contenido del ACU 4 queda inalterado.
Palabra de estado
RB se escribe: A1 x A0 x OV x OS x OR STA RLO /ER -
Configuracin de los bits de la palabra de estado Resultado = 0 -2.147.483.648 <= Resultado < 0 2.147.483.647 >= Resultado > 0 Resultado > 2.147.483.647 Resultado < -2.147.483.648
A1 0 0 1 1 0
A0 0 1 0 0 1
OV 0 0 0 1 1
OS 1 1
Ejemplo
AWL L L *D T Explicacin //El valor de ED10 se carga en el ACU 1. //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. //El contenido del ACU 1 (resultado) se transfiere del DB1 a DBD25.
ED10 MD14
DB1.DBD25
112
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Aritmtica de enteros 7.11 /D Dividir ACU 2 por ACU 1 como entero doble
7.11
Formato
/D
Descripcin de la operacin
/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 evalan como enteros dobles, es decir, como enteros de 32 bits. El resultado se almacena en el ACU 1. El resultado contiene slo el cociente, pero no el resto de la divisin (el resto de la divisin se obtiene realizando la operacin MOD). La operacin se realiza sin tener en cuenta ni afectar al RLO. Una vez realizada la operacin se activan los bits de la palabra de estado A1, A0, OS y OV. En las CPU con dos acumuladores, el contenido del ACU 2 queda inalterado. En las CPU con cuatro acumuladores, se copian los contenidos del ACU 3 al ACU 2 y del ACU 4 al ACU 3. El contenido del ACU 4 queda inalterado.
Palabra de estado
RB se escribe: A1 x A0 x OV x OS x OR A1 0 0 1 1 1 STA A0 0 1 0 0 1 RLO OV 0 0 0 1 1 /ER OS 1 1
Configuracin de los bits de la palabra de estado Cociente = 0 -2147483648 <= Cociente < 0 2147483647 >= Cociente > 0 Cociente = 2147483648 Divisin por cero
Ejemplo
AWL L L /D T ED10 MD14 Explicacin //El valor de ED10 se carga en el ACU 1. //Cargar el contenido del ACU 1 en el ACU 2. Cargar el valor de MD14 en //el ACU 1. //Dividir ACU 2 por ACU 1, almacenar el resultado (cociente) en el ACU 1. //El contenido del ACU 1 (resultado) se transfiere a MD20.
MD20
Ejemplo: 13 / 4
Contenido del ACU 2 antes de la operacin (ED10): Contenido del ACU 1 antes de la operacin (MD14): Operacin /D (ACU 2 / ACU 1): Contenido del ACU 1 despus de la operacin (cociente): "13" "4" "13/4" "3"
113
7.12
Formato
MOD
Descripcin de la operacin
MOD (Resto de divisin de enteros dobles) divide el contenido del ACU 2 por el contenido del ACU 1. Los contenidos de ACU 1 y ACU 2 se evalan como enteros dobles, es decir, como enteros de 32 bits. El resultado se almacena en el ACU 1. El resultado slo contiene el resto de la divisin, pero no el cociente (el cociente se obtiene realizando la operacin /D). La operacin se realiza sin tener en cuenta ni afectar al RLO. Una vez realizada la operacin se activan los bits de la palabra de estado A1, A0, OS y OV. En las CPU con dos acumuladores, el contenido del ACU 2 queda inalterado. En las CPU con cuatro acumuladores, se copian los contenidos del ACU 3 al ACU 2 y del ACU 4 al ACU 3. El contenido del ACU 4 queda inalterado.
Palabra de estado
RB se escribe: A1 x A0 x OV x OS x OR A1 0 0 1 1 STA A0 0 1 0 1 RLO OV 0 0 0 1 /ER OS 1
Configuracin de los bits de la palabra de estado Resto = 0 -2147483648 <= Resto < 0 2147483647 >= Resto > 0 Divisin por cero
Ejemplo
AWL L L MOD T MD20 ED10 MD14 Explicacin //El valor de ED10 se carga en el ACU 1. //Cargar el contenido del ACU 1 en el ACU 2. Cargar el valor de MD14 en //el ACU 1. //Dividir ACU 2 por ACU 1, almacenar el resultado (resto de la divisin) //en el ACU 1. //El contenido del ACU 1 (resultado) se transfiere a MD20.
Ejemplo: 13 / 4
Contenido del ACU 2 antes de la operacin (ED10): Contenido del ACU 1 antes de la operacin (MD14): Operacin /D (ACU 2 / ACU 1): Contenido del ACU 1 despus de la operacin (resto de la divisin): "13" "4" "13/4" "1"
114
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
8
8.1
Descripcin
Las operaciones aritmticas 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 continuacin el contenido del ACU 3 en el ACU 2, y el contenido del ACU 4 en el ACU 3. El antiguo contenido del ACU 4 no vara. Los nmeros de 32 bits IEEE en coma flotante pertenecen al tipo de datos denominado "REAL". Las operaciones aritmticas con nmeros en coma flotante sirven para ejecutar las siguientes operaciones aritmticas con dos nmeros en coma flotante IEEE de 32 bits: +R Sumar ACU 1 y 2 como nmero de coma flotante (32 bits) -R Restar ACU 1 de ACU 2 como nmero de coma flotante (32 bits) *R Multiplicar ACU 1 por ACU 2 como nmero de coma flotante (32 bits) /R Dividir ACU 2 por ACU 1 como nmero de coma flotante (32 bits) Con las operaciones aritmticas de nmeros en coma flotante se pueden ejecutar las siguientes funciones con un nmero en coma flotante (32 bit, IEEE 754): ABS Valor absoluto de un nmero de coma flotante (32 bits, IEEE 754) EXP Calcular el exponente de un nmero de coma flotante (32 bits) LN Calcular el logaritmo natural de un nmero de coma flotante (32 bits) SQR Calcular el cuadrado de un nmero de coma flotante (32 bits) SQRT Calcular la raz cuadrada de un nmero de coma flotante (32 bits) SIN Calcular el seno de ngulos como nmeros de coma flotante (32 bits) COS Calcular el coseno de ngulos como nmeros de coma flotante (32 bits) TAN Calcular la tangente de ngulos como nmeros de coma flotante (32 bits) ASIN Calcular el arcoseno de un nmero de coma flotante (32 bits) ACOS Calcular el arcocoseno de un nmero de coma flotante (32 bits) ATAN Calcular la arcotangente de un nmero de coma flotante (32 bits)
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
115
Aritmtica en coma flotante 8.2 Evaluar los bits de la palabra de estado en operaciones en coma flotante
8.2
Descripcin
Las operaciones aritmticas bsicas afectan a los siguientes bits de la palabra de estado: A1 y A0 OV OS Las tablas siguientes muestran el estado de seal de los bits de la palabra de estado para los resultados de operaciones con nmeros en coma flotante (32 bits):
Margen vlido +0, -0 (Cero) -3.402823E+38 < Resultado < -1.175494E-38 (nmero negativo) +1.175494E-38 < Resultado < +3.402823E+38 (nmero positivo) A1 0 0 1 A0 0 1 0 OV 0 0 0 OS * * *
116
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
8.3
8.3.1
Operaciones bsicas
+R Sumar ACU 1 y 2 como nmero en coma flotante (32 bits)
Formato
+R
Descripcin de la operacin
+R (Sumar nmeros en coma flotante de 32 bits, IEEE 754) suma el contenido del ACU 1 al contenido del ACU 2 y almacena el resultado en el ACU 1. Los contenidos de ACU 1 y ACU 2 se evalan como nmeros en coma flotante (32 bits, IEEE 754). La operacin se ejecuta sin tener en cuenta ni afectar al RLO. Una vez realizada la operacin se activan los bits A1, A0, OS y OV de la palabra de estado. En las CPU con dos acumuladores, el contenido del ACU 2 queda inalterado. En las CPU con cuatro acumuladores, se copian los contenidos del ACU 3 al ACU 2 y del ACU 4 al ACU3. El contenido del ACU 4 queda inalterado.
Resultado
El resultado en el ACU 1 es +qNaN +infinito +normalizado +desnormalizado +cero -cero -desnormalizado -normalizado -infinito -qNaN A1 1 1 1 0 0 0 0 0 0 1 A0 1 0 0 0 0 0 0 1 1 1 OV 1 1 0 1 0 0 1 0 1 1 OS 1 1 1 1 1 1 Desbordamiento por exceso Desbordamiento por defecto Desbordamiento por defecto Desbordamiento por exceso Observacin
Palabra de estado
RB Se escribe: A1 x A0 x OV x OS x OR STA RLO /ER -
117
Ejemplo
AWL AUF L L +R T Explicacin DB10 ED10 MD14 //El valor de ED10 se carga en el ACU 1. //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. //El contenido del ACU 1 (= resultado) se transfiere a DBD25 en DB10.
DBD25
118
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
8.3.2
Formato
-R
Descripcin de la operacin
-R (Restar nmeros en coma flotante de 32 bits, IEEE 754) 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 evalan como nmeros en coma flotante (32 bits, IEEE 754). El resultado se almacena en el ACU 1. La operacin se ejecuta sin tener en cuenta ni afectar al RLO. Una vez realizada la operacin se activan los bits A1, A0, OS y OV de la palabra de estado. En las CPU con dos acumuladores, el contenido del ACU 2 queda inalterado. En las CPU con cuatro acumuladores, se copian los contenidos del ACU 3 al ACU 2 y del ACU 4 al ACU3. El contenido del ACU 4 queda inalterado.
Resultado
El resultado en el ACU 1 es +qNaN +infinito +normalizado +desnormalizado +cero -cero -desnormalizado -normalizado -infinito -qNaN A1 1 1 1 0 0 0 0 0 0 1 A0 1 0 0 0 0 0 0 1 1 1 OV 1 1 0 1 0 0 1 0 1 1 OS 1 1 1 1 1 1 Desbordamiento por exceso Desbordamiento por defecto Desbordamiento por defecto Desbordamiento por exceso Observacin
Palabra de estado
RB se escribe: A1 x A0 x OV x OS x OR STA RLO /ER -
Ejemplo
AWL AUF L L -R T Explicacin DB10 ED10 MD14 //El valor de ED10 se carga en el ACU 1. //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. //El contenido del ACU 1 (= resultado) se transfiere a DBD25 en DB10.
DBD25
119
8.3.3
*R Multiplicar ACU 1 por ACU 2 como nmero en coma flotante (32 bits)
Formato
*R
Descripcin de la operacin
*R (Multiplicar nmeros en coma flotante de 32 bits, IEEE 754) multiplica el contenido del ACU 2 por el contenido del ACU 1. Los contenidos de ACU 1 y ACU 2 se evalan como nmeros en coma flotante (32 bits, IEEE 754). El resultado se almacena en formato de nmero en coma flotante (32 bits, IEEE 754) en el ACU 1. La operacin se ejecuta sin tener en cuenta ni afectar al RLO. Una vez realizada la operacin se activan los bits A1, A0, OS y OV de la palabra de estado. En las CPU con dos acumuladores, el contenido del ACU 2 queda inalterado. En las CPU con cuatro acumuladores, se copian los contenidos del ACU 3 al ACU 2 y del ACU 4 al ACU 3. El contenido del ACU 4 queda inalterado.
Resultado
El resultado en el ACU 1 es +qNaN +infinito +normalizado +desnormalizado +cero -cero -desnormalizado -normalizado -infinito -qNaN A1 1 1 1 0 0 0 0 0 0 1 A0 1 0 0 0 0 0 0 1 1 1 OV 1 1 0 1 0 0 1 0 1 1 OS 1 1 1 1 1 1 Desbordamiento por exceso Desbordamiento por defecto Desbordamiento por defecto Desbordamiento por exceso Observacin
Palabra de estado
RB se escribe: A1 x A0 x OV x OS x OR STA RLO /ER -
Ejemplo
AWL AUF L L *R T Explicacin DB10 ED10 MD14 //El valor de ED10 se carga en el ACU 1. //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. //El contenido del ACU 1 (= resultado) se transfiere a DBB25 en DB10.
DBD25
120
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
8.3.4
/R Dividir ACU 2 por ACU 1 como nmero en coma flotante (32 bits)
Formato
/R
Descripcin de la operacin
/R (Dividir nmeros en coma flotante de 32 bits, IEEE 754) divide el contenido del ACU 2 por el contenido del ACU 1. Los contenidos de ACU 1 y ACU 2 se evalan como nmeros en coma flotante (32 bits, IEEE 754). La operacin se ejecuta sin tener en cuenta ni afectar al RLO. Una vez realizada la operacin se activan los bits A1, A0, OS y OV de la palabra de estado. En las CPU con dos acumuladores, el contenido del ACU 2 queda inalterado. En las CPU con cuatro acumuladores, se copian los contenidos del ACU 3 al ACU 2 y del ACU 4 al ACU3. El contenido del ACU 4 queda inalterado.
Resultado
El resultado en el ACU 1 es +qNaN +infinito +normalizado +desnormalizado +cero -cero -desnormalizado -normalizado -infinito -qNaN A1 1 1 1 0 0 0 0 0 0 1 A0 1 0 0 0 0 0 0 1 1 1 OV 1 1 0 1 0 0 1 0 1 1 OS 1 1 1 1 1 1 Desbordamiento por exceso Desbordamiento por defecto Desbordamiento por defecto Desbordamiento por exceso Observacin
Palabra de estado
RB se escribe: A1 x A0 x OV x OS x OR STA RLO /ER -
Ejemplo
AWL AUF L L /R T Explicacin DB10 ED10 MD14 //El valor de ED10 se carga en el ACU 1. //Cargar el contenido del ACU 1 en el ACU 2. Cargar el valor de MD14 en el //ACU 1. //Dividir ACU 2 por ACU 1, almacenar el resultado en el ACU 1. //El contenido del ACU 1 (= resultado) se transfiere a DBD20 en DB10.
DBD20
121
8.3.5
ABS Valor absoluto de un nmero en coma flotante (32 bits, IEEE 754)
Formato
ABS
Descripcin de la operacin
ABS (Valor absoluto de un nmero en coma flotante de 32 bits, IEEE 754) calcula el valor absoluto de un nmero en coma flotante (32bits, IEEE 754) en el ACU 1. El resultado se almacena en el ACU 1. La operacin se ejecuta sin tener en cuenta ni afectar los bits de la palabra de estado.
Palabra de estado
RB se escribe: A1 A0 OV OS OR STA RLO /ER -
Ejemplo
AWL L ABS T Explicacin //Cargar el valor en el ACU 1 (ejemplo: ED8 = -1.5E+02). //Calcular el valor absoluto, almacenar el resultado en el ACU 1. //Transferir el resultado a MD10 (ejemplo: resultado = 1.5E+02).
ED8 MD10
122
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
8.4
8.4.1
Operaciones ampliadas
SQR Calcular el cuadrado de un nmero en coma flotante (32 bits)
Formato
SQR
Descripcin de la operacin
SQR (Calcular el cuadrado de un nmero en coma flotante de 32 bits, IEEE 754) calcula el cuadrado de un nmero en coma flotante (de 32 bits, IEEE 754) en el ACU 1. El resultado se almacena en el ACU 1. La operacin afecta a los bits A1, A0, OV y OS de la palabra de estado. Los contenidos del ACU 2 (y en las CPU con cuatro acumuladores tambin los contenidos del ACU 3 y ACU 4) permanecen inalterados.
Resultado
El resultado en el ACU 1 es +qNaN +infinito +normalizado +desnormalizado +cero -qNaN A1 1 1 1 0 0 1 A0 1 0 0 0 0 1 OV 1 1 0 1 0 1 OS 1 1 1 1 Desbordamiento negativo Desbordamiento Observacin
Ejemplo
AWL AUF L SQR UN SPB BEA OK: T DBD4 OV OK DB17 DBD0 Explicacin //Abrir bloque de datos DB17. //El valor de la doble palabra de datos DBD0 se carga en el ACU 1. //(Este valor debe tener formato en coma flotante.) //Calcular el cuadrado del nmero en coma flotante (32-bits, IEEE 754) //en el ACU 1. Depositar el resultado en el ACU 1. //Consultar si el estado de seal del bit OV es "0". //Si en la operacin SQR no se produjo ningn error, saltar a la marca //OK. //Fin de bloque incondicionado, si en la operacin SQR se produjo un //error. //Transferir el resultado del ACU 1 a la doble palabra de datos DBD4.
123
8.4.2
Formato
SQRT
Descripcin de la operacin
SQRT (Calcular la raz cuadrada de un nmero en coma flotante de 32 bits, IEEE 754) calcula la raz cuadrada de un nmero en coma flotante (de 32 bits, IEEE 754) en el ACU 1. El resultado se almacena en el ACU 1. El valor de entrada debe ser mayor o igual que cero; el resultado es entonces positivo. nica excepcin: la raz cuadrada de -0 es -0. La operacin afecta a los bits A1, A0, OV y OS de la palabra de estado. Los contenidos del ACU 2 (y en las CPU con cuatro acumuladores tambin los contenidos del ACU 3 y del ACU 4) quedan inalterados.
Resultado
El resultado en el ACU 1 es +qNaN +infinito +normalizado +desnormalizado +cero -cero -qNaN A1 1 1 1 0 0 0 1 A0 1 0 0 0 0 0 1 OV 1 1 0 1 0 0 1 OS 1 1 1 1 Desbordamiento por defecto Desbordamiento por exceso Observacin
Ejemplo
AWL L SQRT UN SPB BEA OK: T MD20 OV OK MD10 Explicacin //El valor de la doble palabra de marcas MD10 se carga en el ACU 1. //(Este valor debe tener formato en coma flotante.) //Calcular la raz cuadrada del nmero en coma flotante //(32-bits, IEEE 754) en el ACU 1. Depositar el resultado en el ACU 1. //Consultar si el estado de seal del bit OV es "0". //Si en la operacin SQRT no se produjo ningn error, saltar a la marca //OK. //Fin de bloque incondicionado, si en la operacin SQRT se produjo un //error. //Transferir el resultado del ACU 1 a la doble palabra de marcas MD20.
124
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
8.4.3
Formato
EXP
Descripcin de la operacin
EXP (Calcular el exponente de un nmero en coma flotante de 32 bits, IEEE 754) calcula el exponente (valor exponencial con base e) de un nmero en coma flotante (de 32 bits, IEEE 754) en el ACU 1. El resultado se almacena en el ACU 1. La operacin afecta a los bits A1, A0, OV y OS de la palabra de estado. Los contenidos del ACU 2 (y en las CPU con cuatro acumuladores tambin los contenidos del ACU 3 y del ACU 4) quedan inalterados.
Resultado
El resultado en el ACU 1 es +qNaN +infinito +normalizado +desnormalizado +cero -qNaN A1 1 1 1 0 0 1 A0 1 0 0 0 0 1 OV 1 1 0 1 0 1 OS 1 1 1 1 Desbordamiento por defecto Desbordamiento por exceso Observacin
Ejemplo
AWL L EXP MD10 Explicacin //El valor de la doble palabra de marcas MD 10 se carga en el ACU 1. //(Este valor debe tener formato en coma flotante.) //Calcular el exponente de un nmero en coma flotante //(de 32 bits, IEEE 754) con base e en el ACU 1. Depositar el resultado //en el ACU 1. //Consultar si el estado de seal del bit OV es "0". //Si en la operacin EXP no se produjo ningn error, saltar a la marca //OK. //Fin de bloque incondicionado, si en la operacin EXP se produjo un //error. //Transferir el resultado del ACU 1 a la doble palabra de marcas MD20.
OV OK
MD20
125
8.4.4
Formato
LN
Descripcin de la operacin
LN (Calcular el logaritmo natural de un nmero en coma flotante de 32 bits, IEEE 754) calcula el logaritmo natural (logaritmo con base e) de un nmero en coma flotante (de 32 bits, IEEE 754) en el ACU 1. El resultado se almacena en el ACU 1. El valor de entrada debe ser mayor que cero. La operacin afecta a los bits A1, A0, OV y OS de la palabra de estado. Los contenidos del ACU 2 (y en las CPU con cuatro acumuladores tambin los contenidos del ACU 3 y del ACU 4) quedan inalterados.
Resultado
El resultado en el ACU 1 es +qNaN +infinito +normalizado +desnormalizado +cero -cero -desnormalizado -normalizado -infinito -qNaN A1 1 1 1 0 0 0 0 0 0 1 A0 1 0 0 0 0 0 0 1 1 1 OV 1 1 0 1 0 0 1 0 1 1 OS 1 1 1 1 1 1 Desbordamiento por exceso Desbordamiento por defecto Desbordamiento por defecto Desbordamiento por exceso Observacin
Ejemplo
AWL L LN UN SPB BEA OK: T MD20 OV OK MD10 Explicacin //El valor de la doble palabra de marcas MD 10 se carga en el ACU 1. //(Este valor debe tener formato en coma flotante.) //Calcular el logaritmo natural del nmero en coma flotante //(32 bits, IEEE 754) en el ACU 1. Depositar el resultado en el ACU 1. //Consultar si el estado de seal del bit OV es "0". //Si en la operacin LN no se produjo ningn error, saltar a la marca //OK. //Fin de bloque incondicionado, si en la operacin LN se produjo un //error. //Transferir el resultado del ACU 1 a la doble palabra de marcas MD20.
126
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
8.4.5
SIN Calcular el seno de ngulos como nmeros en coma flotante (32 bits)
Formato
SIN
Descripcin de la operacin
SIN (Calcular el seno de ngulos como nmeros en coma flotante de 32 bits, IEEE 754) calcula el seno de un ngulo indicado en radianes. El ngulo debe estar representado en el ACU 1 en formato de nmero en coma flotante. El resultado se almacena en el ACU 1. La operacin afecta a los bits A1, A0, OV y OS de la palabra de estado. Los contenidos del ACU 2 (y en las CPU con cuatro acumuladores tambin los contenidos del ACU 3 y del ACU 4) quedan inalterados.
Resultado
El resultado en el ACU 1 es +qNaN +normalizado +desnormalizado +cero +infinito -cero -desnormalizado -normalizado -qNaN A1 1 1 0 0 1 0 0 0 1 A0 1 0 0 0 0 0 0 1 1 OV 1 0 1 0 1 0 1 0 1 OS 1 1 1 1 1 Desbordamiento por defecto Desbordamiento por exceso Observacin
Ejemplo
AWL L SIN T MD20 Explicacin //El valor de la doble palabra de marcas MD 10 se carga en el ACU 1. //(Este valor debe tener formato en coma flotante.) //Calcular el seno del nmero en coma flotante (de 32 bits, IEEE 754) en //el ACU 1. Depositar el resultado en el ACU 1. //Transferir el resultado del ACU 1 a la doble palabra de marcas MD20.
MD10
127
8.4.6
COS Calcular el coseno de ngulos como nmeros en coma flotante (32 bits)
Formato
COS
Descripcin de la operacin
COS (Calcular el coseno de ngulos como nmeros en coma flotante de 32 bits, IEEE 754) calcula el coseno de un ngulo indicado en radianes. El ngulo debe estar representado en el ACU 1 en formato de nmero en coma flotante. El resultado se almacena en el ACU 1. La operacin afecta a los bits A1, A0, OV y OS de la palabra de estado. Los contenidos del ACU 2 (y en las CPU con cuatro acumuladores tambin los contenidos del ACU 3 y del ACU 4) quedan inalterados.
Resultado
El resultado en el ACU 1 es +qNaN +normalizado +desnormalizado +cero -cero -desnormalizado -normalizado -qNaN A1 1 1 0 0 0 0 0 1 A0 1 0 0 0 0 0 1 1 OV 1 0 1 0 0 1 0 1 OS 1 1 1 1 Desbordamiento por defecto Desbordamiento por exceso Observacin
Ejemplo
AWL L COS T MD20 Explicacin //El valor de la doble palabra de marcas MD 10 se carga en el ACU 1. //(Este valor debe tener formato en coma flotante.) //Calcular el coseno del nmero en coma flotante (de 32 bits, IEEE 754) //en el ACU 1. Depositar el resultado en el ACU 1. //Transferir el resultado del ACU 1 a la doble palabra de marcas MD20.
MD10
8.4.7
TAN Calcular la tangente de ngulos como nmeros en coma flotante (32 bits)
Formato
TAN
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
128
Descripcin de la operacin
TAN (Calcular la tangente de ngulos como nmeros en coma flotante de 32 bits, IEEE 754) calcula la tangente de un ngulo indicado en radianes. El ngulo debe estar representado en el ACU 1 en formato de nmero de como flotante. El resultado se almacena en el ACU 1. La operacin afecta a los bits A1, A0, OV y OS de la palabra de estado. Los contenidos del ACU 2 (y en las CPU con cuatro acumuladores tambin los contenidos del ACU 3 y del ACU 4) quedan inalterados.
Resultado
El resultado en el ACU 1 es +qNaN +infinito +normalizado +desnormalizado +cero -cero -desnormalizado -normalizado -infinito -qNaN A1 1 1 1 0 0 0 0 0 0 1 A0 1 0 0 0 0 0 0 1 1 1 OV 1 1 0 1 0 0 1 0 1 1 OS 1 1 1 1 1 1 Desbordamiento por exceso Desbordamiento por defecto Desbordamiento por defecto Desbordamiento por exceso Observacin
Ejemplo
AWL L TAN UN SPB BEA OK: T MD20 OV OK MD10 Explicacin //El valor de la doble palabra de marcas MD 10 se carga en el ACU 1. //(Este valor debe tener formato en coma flotante.) //Calcular la tangente del nmero en coma flotante (de 32 bits, //IEEE 754) en el ACU 1. Depositar el resultado en el ACU 1. //Consultar si el estado de seal del bit OV es "0". //Si en la operacin TAN no se produjon ningn error, saltar a la marca //OK. //Fin de bloque incondicionado, si en la operacin TAN se produjo un //error. //Transferir el resultado del ACU 1 a la doble palabra de marcas MD20.
8.4.8
Formato
ASIN
129
Descripcin de la operacin
ASIN (Calcular el arcoseno de un nmero en coma flotante de 32 bits, IEEE 754) calcula el arcoseno de un nmero 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. El valor se encuentra dentro del margen siguiente:
Resultado
El resultado en el ACU 1 es +qNaN +normalizado +desnormalizado +cero -cero -desnormalizado -normalizado -qNaN A1 1 1 0 0 0 0 0 1 A0 1 0 0 0 0 0 1 1 OV 1 0 1 0 0 1 0 1 OS 1 1 1 1 Desbordamiento por defecto Desbordamiento por exceso Observacin
Ejemplo
AWL L ASIN UN SPB BEA OK: T MD20 OV OK MD10 Explicacin //El valor de la doble palabra de marcas MD 10 se carga en el ACU 1. //(Este valor debe tener formato en coma flotante.) //Calcular el arcoseno de un nmero en coma flotante (de 32 bits, //IEEE 754) en el ACU 1. Depositar el resultado en el ACU 1. //Consultar si el estado de seal del bit OV es "0". //Si en la operacin ASIN no se produjo ningn error, saltar a la marca //OK. //Fin de bloque incondicionado, si en la operacin ASIN se produjo un //error. //Transferir el resultado del ACU 1 a la doble palabra de marcas MD20.
8.4.9
Formato
ACOS
130
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Descripcin de la operacin
ACOS (Calcular el arcocoseno de un nmero en coma flotante de 32 bits, IEEE 754) calcula el arcocoseno de un nmero 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. El valor se encuentra dentro del margen siguiente:
Resultado
El resultado en el ACU 1 es +qNaN +normalizado +desnormalizado +cero -cero -desnormalizado -normalizado -qNaN A1 1 1 0 0 0 0 0 1 A0 1 0 0 0 0 0 1 1 OV 1 0 1 0 0 1 0 1 OS 1 1 1 1 Desbordamiento por defecto Desbordamiento por exceso Observacin
Ejemplo
AWL L ACOS UN SPB BEA OK: T MD20 OV OK MD10 Explicacin //El valor de la doble palabra de marcas MD 10 se carga en el ACU 1. //(Este valor debe tener formato en coma flotante.) //Calcular el arcocoseno de un nmero en coma flotante (de 32 bits, //IEEE 754) en el ACU 1. Depositar el resultado en el ACU 1. //Consultar si el estado de seal del bit OV es "0". //Si en la operacin ACOS no se produjo nign error, saltar a la marca //OK. //Fin de bloque incondicionado, si en la operacin ACOS se produjo un //error. //Transferir el resultado del ACU 1 a la doble palabra de marcas MD20.
Formato
ATAN
131
Descripcin de la operacin
ATAN (Calcular la arcotangente de un nmero en coma flotante de 32 bits, IEEE 754) calcula la arcotangente de un nmero en coma flotante en el ACU 1. El resultado es un ngulo indicado en radianes. El valor se encuentra dentro del margen siguiente:
Resultado
El resultado en el ACU 1 es +qNaN +normalizado +desnormalizado +cero -cero -desnormalizado -normalizado -qNaN A1 1 1 0 0 0 0 0 1 A0 1 0 0 0 0 0 1 1 OV 1 0 1 0 0 1 0 1 OS 1 1 1 1 Desbordamiento por defecto Desbordamiento por exceso Observacin
Ejemplo
AWL L ATAN MD10 Explicacin //El valor de la doble palabra de marcas MD 10 se carga en el ACU 1. //(Este valor debe tener formato en coma flotante.) //Calcular la arcotangente de un nmero en coma flotante //(de 32 bits, IEEE 754) en el ACU 1. Depositar el resultado en el //ACU 1. //Consultar si el estado de seal del bit OV es "0". //Si en la operacin ATAN no se produjo ningn error, saltar a la marca //OK. //Fin de bloque incondicionado, si en la operacin ATAN se produjo un //error. //Transferir el resultado del ACU 1 a la doble palabra de marcas MD20.
OV OK
MD20
132
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
9
9.1
Descripcin
Las operaciones de carga (L) y transferencia (T) permiten programar un intercambio de informacin entre mdulos 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 lgico de la operacin. Se dispone de las operaciones de cargar y transferencia siguientes: L LAR1 Cargar Cargar palabra de estado en ACU 1 Cargar registro de direcciones 1 con contenido del ACU 1 L STW
LAR1 <D> Cargar registro de direcciones 1 con puntero (formato de 32 bits) LAR1 AR2 Cargar registro de direcciones 1 con contenido del registro de direcciones 2 LAR2 Cargar registro de direcciones 2 con contenido del ACU 1 LAR2 <D> Cargar registro de direcciones 2 con puntero (formato de 32 bits) T TAR TAR1 Transferir Transferir ACU 1 a la palabra de estado Intercambiar registro de direcciones 1 y registro de direcciones 2 Transferir registro de direcciones 1 a ACU 1
T STW
TAR1 AR2 Transferir registro de direcciones 1 a registro de direcciones 2 TAR1 <D> Transferir registro de direcciones 1 a direccin de destino (puntero de 32 bits) TAR2 Transferir registro de direcciones 2 a ACU 1 TAR2 <D> Transferir registro de direcciones 2 a direccin de destino (puntero de 32 bits)
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
133
9.2
L Cargar
Formato
L <operando>
Operando <operando> Tipo de datos BYTE WORD DWORD rea de memoria E, A, PE, M, L, D, puntero, parmetro Direccin fuente 0...65535 0...65534 0...65532
Descripcin de la operacin
L <operando> carga en el ACU 1 el contenido del byte, de la palabra o de la doble palabra direccionado, despus de haberse almacenado el anterior contenido del ACU 1 en el ACU 2 y de haber puesto el ACU 1 a "0".
Palabra de estado
RB se escribe: A1 A0 OV OS OR STA RLO /ER -
Ejemplo
AWL L L L L L L L L Explicacin //Cargar byte de entrada EB10 en el ACU1-L-L. //Cargar byte de marcas MB120 en el ACU1-L-L. //Cargar byte de datos DBB12 en el ACU1-L-L. //Cargar palabra de datos de instancia DIW15 en el ACU1-L. //Cargar doble palabra de datos locales LD252 en el ACU 1. //Cargar puntero en ACU1 //Cargar parmetro "OTTO" en ACU1 //Cargar puntero en el parmetro indicado en el ACU1 (Este comando carga //el offset de direcciones relativo del parmetro indicado. Para calcular //en FBs aptos para multiinstancia el offset absoluto en el bloque de //datos de instancia, se tiene que sumar a este valor el contenido del //registro AR2.
134
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
antes de ejecutar la operacin de carga XXXXXXXX despus de ejecutar L MB10 (L <byte>) 00000000 despus de ejecutar L MW10 (L <palabra>) despus de ejecutar L MD10 (L <doble palabra>) despus de ejecutar L P# ANNA (en el FB) <MB10> <86> 00000000
<Offset del bit de ANNA relativo al inicio del FB> Para calcular en FBs aptos para multiinstancia el offset absoluto en el bloque de datos de instancia, se tiene que sumar a este valor el contenido del registro AR2.
<una direccin interrea del dato que se transfiere a ANNA> X = "1" o "0"
135
9.3
Formato
L STW
Descripcin de la operacin
L STW (Operacin L con el operando STW) carga el ACU 1 con el contenido de la palabra de estado. La operacin se ejecuta sin tener en cuenta ni afectar a los bits de la palabra de estado. Nota En el caso de las CPUs de la serie S7-300, los bits de la palabra de estado /ER, STA y OR no se cargan mediante la instruccin L STW. Tan slo los bits 1, 4, 5, 6, 7 y 8 se cargan en los bits de la palabra baja contenida en el ACU 1.
Palabra de estado
RB se escribe: A1 A0 OV OS OR STA RLO /ER -
Ejemplo
AWL L Explicacin //Cargar el contenido de la palabra de estado en el ACU 1.
STW
136
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Operaciones de carga y transferencia 9.4 LAR1 Cargar registro de direcciones 1 con contenido del ACU 1
9.4
Formato
LAR1
Descripcin de la operacin
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. La operacin se ejecuta sin tener en cuenta ni afectar a los bits de la palabra de estado
Palabra de estado
RB se escribe: A1 A0 OV OS OR STA RLO /ER -
137
Operaciones de carga y transferencia 9.5 LAR1 <D> Cargar registro de direcciones 1 con puntero (formato de 32 bits)
9.5
Formato
LAR1 <D>
Operando <D> Tipo de datos DWORD Constante de puntero rea de memoria D, M, L Direccin fuente 0...65532
Descripcin de la operacin
LAR1 <D> carga el registro de direcciones AR 1 con el contenido de la doble palabra <D> direccionada o de una constante de puntero. ACU 1 y ACU 2 no se alteran. La operacin se ejecuta sin tener en cuenta ni afectar a los bits de la palabra de estado.
Palabra de estado
RB Se escribe: A1 A0 OV OS OR STA RLO /ER -
P#M100.0
138
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Operaciones de carga y transferencia 9.6 LAR1 AR2 Cargar registro de direcciones 1 con contenido del registro de direcciones 2
9.6
LAR1 AR2 Cargar registro de direcciones 1 con contenido del registro de direcciones 2
Formato
LAR1 AR2
Descripcin de la operacin
LAR1 AR2 (Operacin LAR1 con el operando AR2) carga el registro de direcciones AR 1 con el contenido del registro de direcciones 2. ACU 1 y ACU 2 no se alteran. La operacin se ejecuta sin tener en cuenta ni afectar a los bits de la palabra de estado.
Palabra de estado
RB se escribe: A1 A0 OV OS OR STA RLO /ER -
9.7
Formato
LAR2
Descripcin de la operacin
LAR2 carga el registro de direcciones AR 2 con el contenido del ACU 1 (puntero de 32 bits). ACU 1 y ACU 2 no se alteran. La operacin se ejecuta sin tener en cuenta ni afectar a los bits de la palabra de estado.
Palabra de estado
RB se escribe: A1 A0 OV OS OR STA RLO /ER -
139
Operaciones de carga y transferencia 9.8 LAR2 <D> Cargar registro de direcciones 2 con puntero (formato de 32 bits)
9.8
Formato
LAR2 <D>
Operando <D> Tipo de datos DWORD Constante de puntero rea de memoria D, M, L Direccin fuente 0...65532
Descripcin de la operacin
LAR2 <D> carga el registro de direcciones AR 2 con el contenido de la doble palabra <D> direccionada o de una constante de puntero. ACU 1 y ACU 2 no se alteran. La operacin se ejecuta sin tener en cuenta ni afectar a los bits de la palabra de estado.
Palabra de estado
RB se escribe: A1 A0 OV OS OR STA RLO /ER -
P#M100.0
140
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
9.9
T Transferir
Formato
T <operando>
Operando <operando> Tipo de datos BYTE WORD DWORD rea de memoria E, A, PA, M, L, D Direccin fuente 0...65535 0...65534 0...65532
Descripcin de la operacin
T <operando> transfiere (copia) el contenido del ACU 1 a la direccin de destino si est conectado el Master Control Relay (MCR = 1). Si el MCR es 0, en la direccin de destino se escribe el valor "0". El nmero de bytes que se copia del ACU 1 depender del tamao indicado en la direccin de destino. El ACU 1 tambin almacena los datos despus de la operacin de transferencia. La operacin de transferencia a un rea de periferia directa (rea de memoria PA) tambin transfiere el contenido del ACU 1 "0" (si el MCR es 0) a la direccin correspondiente en la imagen del proceso de las salidas (rea de memoria A). La operacin se ejecuta sin tener en cuenta ni afectar a los bits de la palabra de estado.
Palabra de estado
RB se escribe: A1 A0 OV OS OR STA RLO /ER -
Ejemplo
AWL T T T Explicacin //Transferir el contenido del ACU1-L-L al byte de salida AB10. //Transferir el contenido del ACU1-L a la palabra de marcas MW14. //Transferir el contenido del ACU 1 a la doble palabra de datos DBD2.
141
9.10
Formato
T STW
Descripcin de la operacin
T STW (Operacin T con el operando STW) transfiere los bits 0 a 8 del ACU 1 a la palabra de estado. La operacin se ejecuta si tener en cuenta los bits de la palabra de estado.
Palabra de estado
RB se escribe: x A1 x A0 x OV x OS x OR x STA x RLO x /ER x
Ejemplo
AWL T Explicacin //Transferir los bits 0 a 8 del ACU 1 a la palabra de estado.
STW
Los bits del ACU 1 contienen los siguientes bits de la palabra de estado:
Bit Contenido: 31-9 *) 8 RB 7 A1 6 A0 5 OV 4 OS 3 OR 2 STA 1 RLO 0 /ER
142
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Operaciones de carga y transferencia 9.11 TAR Intercambiar registro de direcciones 1 y registro de direcciones 2
9.11
Formato
TAR
Descripcin de la operacin
TAR (Intercambiar registros de direcciones) intercambia los contenidos de los registros de direcciones AR 1 y AR 2. La operacin se ejecuta sin tener en cuenta ni afectar a los bits de la palabra de estado. El contenido del registro de direcciones AR 1 se desplaza al registro de direcciones AR 2, y el contenido del registro de direcciones AR 2 se desplaza al registro de direcciones AR 1.
Palabra de estado
RB se escribe: A1 A0 OV OS OR STA RLO /ER -
9.12
Formato
TAR1
Descripcin de la operacin
TAR1 transfiere el contenido de AR 1 al ACU 1 (puntero de 32 bits). El contenido del ACU 1 fue almacenado anteriormente en el ACU 2. La operacin se ejecuta sin tener en cuenta ni afectar a los bits de la palabra de estado.
Palabra de estado
RB se escribe: A1 A0 OV OS OR STA RLO /ER -
143
Operaciones de carga y transferencia 9.13 TAR1 <D> Transferir registro de direcciones 1 a direccin de destino (puntero de 32 bits)
9.13
Formato
TAR1 <D>
Operando <D> Tipo de datos DWORD rea de memoria D, M, L Direccin fuente 0...65532
Descripcin de la operacin
TAR1 <D> transfiere el contenido del registro de direcciones AR 1 a la doble palabra <D> direccionada. Las reas de destino posibles son: dobles palabras de marcas (MD), dobles palabras de datos locales (LD), dobles palabras de datos (DBD) y dobles palabras de instancia (DID). ACU 1 y ACU 2 no se alteran. La operacin se ejecuta sin tener en cuenta ni afectar a los bits de la palabra de estado.
Palabra de estado
RB se escribe: A1 A0 OV OS OR STA RLO /ER -
Ejemplos
AWL TAR1 TAR1 TAR1 TAR1 Explicacin //Transferir //Transferir //Transferir //Transferir
el el el el
de de de de
AR AR AR AR
1 1 1 1
a a a a
la la la la
de de de de
144
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Operaciones de carga y transferencia 9.14 TAR1 AR2 Transferir registro de direcciones 1 a registro de direcciones 2
9.14
Formato
TAR1 AR2
Descripcin de la operacin
TAR1 AR2 (Operacin 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. La operacin se ejecuta sin tener en cuenta ni afectar a los bits de la palabra de estado.
Palabra de estado
RB se escribe: A1 A0 OV OS OR STA RLO /ER -
9.15
Formato
TAR2
Descripcin de la operacin
TAR2 transfiere el contenido del registro de direcciones AR 2 al ACU 1 (puntero de 32 bits). La operacin se ejecuta sin tener en cuenta ni afectar a los bits de la palabra de estado.
Palabra de estado
RB se escribe: A1 A0 OV OS OR STA RLO /ER -
145
Operaciones de carga y transferencia 9.16 TAR2 <D> Transferir registro de direcciones 2 a direccin de destino (puntero de 32 bits)
9.16
Formato
TAR2 <D>
Operando <D> Tipo de datos DWORD rea de memoria D, M, L Direccin fuente 0...65532
Descripcin de la operacin
TAR2 <D> transfiere el contenido del registro de direcciones AR 2 a la doble palabra <D> direccionada. Las reas de destino posibles son: dobles palabras de marcas (MD), dobles palabras de datos locales (LD), dobles palabras de datos (DBD) y dobles palabras de instancia (DID). ACU 1 y ACU 2 no se alteran. La operacin se ejecuta sin tener en cuenta ni afectar a los bits de la palabra de estado.
Palabra de estado
RB Se escribe: A1 A0 OV OS OR STA RLO /ER -
Ejemplos
AWL TAR2 TAR2 TAR2 TAR2 Explicacin //Transferir //Transferir //Transferir //Transferir
el el el el
de de de de
AR AR AR AR
2 2 2 2
a a a a
la la la la
de de de de
146
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
10
10.1
Control de programa
Lista de operaciones de control del programa
Descripcin
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 CC Llamada condicionada UC Llamada incondicionada Llamar a un FB Llamar a una FC Llamar a un SFB Llamar a una SFC Llamar a una multiinstancia Llamar a un bloque de una librera El MCR (Master Control Relay) Notas importantes sobre el uso de la funcin MCR MCR( )MCR MCRA MCRD Almacenar el RLO en pila MCR, inicio rea MCR Fin rea MCR Activar rea MCR Desactivar rea MCR
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
147
10.2
BE Fin de bloque
Formato
BE
Descripcin de la operacin
BE (Fin de bloque) interrumpe la ejecucin del programa en el bloque actual y salta al bloque que el bloque actual ha llamado. La ejecucin del programa contina con la primera instruccin despus de haberse efectuado la llamada al bloque. Se libera el rea de datos locales actual, y el anterior rea de datos locales se convierte en el rea actual. Los bloques de datos que estaban abiertos en el momento de llamar al bloque se vuelven a abrir. Adicionalmente se restablece la dependencia del bloque que efecta la llamada con respecto al MCR y el RLO se transfiere desde el bloque actual al bloque que efecta la llamada. Para que se realice la operacin BE no hay que cumplir ningn tipo de condiciones previas. Si se omite ("se salta") la operacin BE, la ejecucin actual del programa no termina, sino que contina en la meta del salto, dentro del bloque. La operacin BE de S7 no es idntica a la del software de S5. Con el hardware de S7, la operacin BE cumple la misma funcin que la operacin BEA.
Palabra de estado
RB se escribe: A1 A0 OV OS 0 OR 0 STA 1 RLO /ER 0
Ejemplo
AWL U SPB L T U U S BE NOP 0 E 1.0 NEXT EW4 EW10 E 6.0 E 6.1 M 12.0 Explicacin //Saltar a la meta NEXT, si el RLO es 1 (E 1.0 = 1). //Continuar aqu si no se ejecuta el salto.
NEXT:
148
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
10.3
Formato
BEB
Descripcin de la operacin
Si el RLO es 1, la operacin BEB (Fin de bloque condicionado) interrumpe la ejecucin del programa en el bloque actual y salta al bloque que el bloque actual ha llamado. La ejecucin del programa contina con la primera instruccin despus de ejecutar la llamada al bloque. Se libera el rea de datos locales actual, y el anterior rea de datos locales se convierte en el rea actual. Los bloques de datos que estaban abiertos en el momento de llamar al bloque se vuelven a abrir. Se restablece la dependencia del bloque que efecta la llamada con respecto al MCR. El RLO (= 1) es transferido desde el bloque que se ha terminado de ejecutar al bloque que ha efectuado la llamada. Si el RLO es 0, la operacin BEB no se ejecuta. El RLO se pone entonces a "1" y la ejecucin del programa contina en la instruccin siguiente.
Palabra de estado
RB se escribe: A1 A0 OV OS x OR 0 STA 1 RLO 1 /ER 0
Ejemplo
AWL U BEB L T Explicacin //Actualizar el RLO. //Finalizar el bloque si el RLO es 1. //Continuar aqu si la instruccin BEB no se ejecuta (RLO = 0).
149
10.4
Formato
BEA
Descripcin de la operacin
BEA (Fin de bloque incondicionado) interrumpe la ejecucin del programa en el bloque actual y salta al bloque que el bloque actual ha llamado. La ejecucin del programa contina con la primera instruccin despus de ejecutar la llamada al bloque. Se libera el rea de datos locales actual, y el anterior rea de datos locales se convierte en el rea actual. Los bloques de datos que estaban abiertos en el momento de llamar al bloque se vuelven a abrir. Adicionalmente se restablece la dependencia del bloque que efecta la llamada con respecto al MCR y el RLO se transfiere desde el bloque actual al bloque que efecta la llamada. Para que se realice la operacin BEA no se tienen que cumplir previamente condiciones de ningn tipo. Si se omite ("se salta") la operacin BEA, la ejecucin del programa actual no finaliza, sino que contina en la meta del salto, dentro del bloque.
Palabra de estado
RB se escribe: A1 A0 OV OS 0 OR 0 STA 1 RLO /ER 0
Ejemplo
AWL U SPB L T U U S BEA NOP 0 E 1.0 NEXT EW4 EW10 E 6.0 E 6.1 M 12.0 Explicacin //Saltar a la meta NEXT, si el RLO es 1 (E 1.0 = 1). //Continuar aqu si no se ejecuta el salto.
NEXT:
150
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
10.5
CALL Llamada
Formato
CALL <identificacin del bloque lgico>
Descripcin de la operacin
CALL <identificacin del bloque lgico> sirve para llamar tanto a funciones (FC) y a bloques de funcin (FB), como para llamar a funciones de sistema (SFC) y a bloques de funcin del sistema (SFB) suministrados por Siemens. La operacin CALL llama a la FC/SFC o al FB/SFB que se indica como operando, independientemente de cul seal el RLO y de condiciones de cualquier otro tipo. Cuando se utiliza CALL para llamar a un FB o a un SFB hay que asignar un bloque de datos de instancia al FB/SFB. Tras editar el bloque llamado el programa contina la ejecucin con el programa del bloque que efecta la llamada. La identificacin del bloque lgico puede indicarse tanto de forma absoluta como simblica. El contenido de los registros se vuelven a restaurar despus de ejecutar la llamada al SFB/a la SFC.
Nota Si se est utilizando el editor de AWL, los datos de la tabla anterior, n, n1 n2, deben indicar bloques vlidos que ya existan. Si se quieren emplear nombres simblicos hay que definirlos previamente.
151
Palabra de estado
RB se escribe: A1 A0 OV OS 0 OR 0 STA 1 RLO /ER 0
SFC43
152
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Nota Antes de llamar a un FB o a un SFB tiene que existir ya el correspondiente DB de instancia. En el ejemplo anterior, los bloques DB1 y DB2 tienen que estar creados ya antes llamar al FB99.
153
10.6
Llamar a un FB
Formato
CALL FB n1, DB n1
Descripcin
Esta operacin permite llamar bloques de funcin creados por el usuario (FBs). La operacin CALL llama el FB indicado como operando, independientemente del RLO o de cualquier otra condicin. Si llama un FB con la operacin CALL, tendr que asignarle un bloque de datos de instancia. Una vez procesado el bloque invocado, el programa del bloque invocante seguir procesndose. La identificacin del bloque lgico puee indicarse de forma absoluta o simblica.
Palabra de estado
RB se escribe: A1 A0 OV OS 0 OR 0 STA 1 RLO /ER 0
154
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Nota Toda llamada a un FB tiene que disponer de un bloque de datos de instancia. En el ejemplo anterior tienen que existir los bloques DB1 y DB2 antes de la llamada.
155
10.7
Llamar a una FC
Formato
CALL FC n Nota Si trabaja con el editor de AWL, la indicacin (n) tendr que refererirse a bloques vlidos ya existentes. Los nombres simblicos tambin se debern haber definido previamente.
Descripcin
Esta operacin permite llamar funciones (FCs). La operacin CALL llama la FC indicada como operando, independientemente del RLO o de cualquier otra condicin. Una vez procesado el bloque invocado, el programa del bloque invocante seguir procesndose. La identificacin del bloque lgico puee indicarse de forma absoluta o simblica.
Palabra de estado
RB se escribe: A1 A0 OV OS 0 OR 0 STA 1 RLO /ER 0
156
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
157
10.8
Llamar a un SFB
Formato
CALL SFB n1, DB n2
Descripcin
Esta operacin permite llamar bloques de funcin del sistema (SFBs) suministrados por Siemens. La operacin CALL llama el SFB indicado como operando, independientemente del RLO o de cualquier otra condicin. Si llama un SFB con la operacin CALL, tendr que asignarle un bloque de datos de instancia. Una vez procesado el bloque invocado, el programa del bloque invocante seguir procesndose. La identificacin del bloque lgico puee indicarse de forma absoluta o simblica.
Palabra de estado
RB se escribe: A1 A0 OV OS 0 OR 0 STA 1 RLO /ER 0
158
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Ejemplo
CALL SFB4,DB4 Parmetros formales IN: PT: Q: ET:
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.
159
10.9
Formato
CALL SFC n Nota Si trabaja con el editor de AWL, la indicacin (n) tendr que refererirse a bloques vlidos ya existentes. Los nombres simblicos tambin se debern haber definido previamente.
Descripcin
Esta operacin permite llamar funciones estndar creadas por el usuario (SFCs). La operacin CALL llama la SFC indicada como operando, independientemente del RLO o de cualquier otra condicin. Una vez procesado el bloque invocado, el programa del bloque invocante seguir procesndose. La identificacin del bloque lgico puee indicarse de forma absoluta o simblica.
Palabra de estado
RB se escribe: A1 A0 OV OS 0 OR 0 STA 1 RLO /ER 0
160
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Descripcin
Una multiinstancia se genera al declarar una variable esttica del tipo de datos de un bloque de funcin. Slo las multiinstancias ya declaradas se listarn en el catlogo de elementos de programa.
Palabra de estado
RB se escribe: A1 A0 OV OS 0 OR 0 STA X RLO X /ER X
161
Descripcin de la operacin
CC <identificacin del bloque lgico> (Llamada condicionada) llama a un bloque lgico del tipo FC o SFC sin parmetros cuando el RLO es 1. La operacin CC es prcticamente igual que la operacin CALL, con la diferencia de que aqu no se pueden transferir parmetros. La operacin almacena en la pila BSTACK la direccin de retorno (selector y direccin relativa), los selectores de los dos bloques de datos actuales y el bit MA; desactiva la dependencia con respecto al MCR; crea el rea de datos locales del bloque a llamar y empieza a ejecutar el bloque lgico que se ha llamado. La identificacin del bloque lgico puede indicarse tanto de forma absoluta como simblica.
Palabra de estado
RB se escribe: A1 A0 OV OS 0 OR 0 STA 1 RLO 1 /ER 0
Ejemplo
AWL U CC U Explicacin //Consultar el estado de seal en la entrada E 2.0. //Llamar a la funcin FC6, si E 2.0 es 1. //Se ejecuta: tras regresar de la funcin llamada, si E 2.0 = 1, //inmediatamente despus de la instruccin U E 2.0, si E 2.0 = 0.
Nota Si se utiliza la operacin CALL para llamar a un bloque de funcin (FB) o a un bloque de funcin de sistema (SFB), en la instruccin hay que especificar un bloque de datos de instancia (n. de DB). El uso de una variable del tipo "BlockFB" o "BlockFC" no est permitido en combinacin con la operacin CC. Puesto que no puede asignar ningn bloque de datos a una llamada con la operacin CC en el operando de la instruccin, slo tiene la posibilidad de utilizar esta operacin para bloques sin parmetros de bloque ni datos locales estticos. Dependiendo de cul sea el segmento con el que se est trabajando, durante la compilacin del lenguaje de programacin Esquema de contactos al lenguaje de programacin Lista de instrucciones "KOP/AWL: Programar bloques" genera en parte la operacin UC y en parte la operacin CC. Por ello, se recomienda utilizar por regla general la instruccin CALL, con el fin de que no se produzcan errores en los programas que el usuario haya creado.
162
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Descripcin de la operacin
UC <identificacin del bloque lgico> (Llamada incondicionada) llama a un bloque lgico del tipo FC o SFC. La operacin UC es prcticamente igual a la operacin CALL, con la diferencia de que no se pueden transmitir parmetros. La operacin almacena en la pila BSTACK la direccin de retorno (selector y direccin relativa), los selectores de los dos bloques de datos actuales y el bit MA; desactiva la dependencia con respecto al MCR, crea el rea de datos locales del bloque a llamar y empieza a ejecutar el bloque lgico que se ha llamado.
Palabra de estado
RB se escribe: A1 A0 OV OS 0 OR 0 STA 1 RLO /ER 0
Ejemplo 1
AWL UC FC6 Explicacin //Llamar a la funcin FC6 (sin parmetros).
Ejemplo 2
AWL UC SFC43 Explicacin //Llamar a la funcin de sistema SFC43 (sin parmetros).
Nota Si se utiliza la operacin CALL para llamar a un bloque de funcin (FB) o a un bloque de funcin de sistema (SFB), en la instruccin hay que especificar un bloque de datos de instancia (n. de DB). El uso de una variable del tipo "BlockFB" o "BlockFC" no est permitido en combinacin con la operacin UC. Puesto que no puede asignar ningn bloque de datos a una llamada con la operacin UC en el operando de la instruccin, slo tiene la posibilidad de utilizar esta operacin para bloques sin parmetros de bloque ni datos locales estticos.. Segn cul sea el segmento con el que se trabaja, "KOP/AWL: Programar bloques" genera, durante la compilacin del lenguaje de programacin Esquema de contactos al lenguaje de programacin Lista de instrucciones, en parte la operacin UC y en parte la operacin CC. Por lo general, utilice la operacin CALL para que no se produzcan errores en los programas que usted haya creado.
163
Descripcin
El Master Control Relay (MCR) se utiliza en los esquemas de rels para activar y desactivar el flujo de seales. Dependen del MCR las operaciones que son activadas por las siguientes operaciones lgicas con bits y de transferencia: = <bit> S <bit> R <bit> T <byte>, T <palabra>, T <palabra doble> La operacin T, que se utiliza con byte, palabra o palabra doble, escribe un "0" en la memoria si el MCR es "0". Las operaciones S y R no cambian el valor ya existente. La operacin = escribe un "0" en el bit direccionado.
Operaciones que dependen del MCR y su reaccin ante el estado de seal de MCR
Estado de seal del MCR 0 ("OFF") = <bit> Escribe "0". (Imita a un rel que pasa al estado de reposo en caso de fallar la alimenta-cin.) 1 ("ON") Ejecucin normal. S <bit>, R <bit> No escribe. (Imita a un rel que permanece en su estado actual en caso de fallar la alimentacin.) Ejecucin normal. T <byte>, T <palabra> T <palabra doble> Escribe "0". (Imita a un compo-nente que da el valor "0" en caso de fallar la alimentacin.) Ejecucin normal.
164
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
165
Prestar atencin al usar la funcin 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, =) escribirn el valor 0. El MCR se desconecta siempre que un RLO = 0 preceda a una instruccin MCR(.
Peligro: STOP del AS o comportamiento no definido en runtime Para el clculo de direcciones, el compilador tambin tiene acceso de escritura a los datos locales despus de las variables temporales definidas en VAR_TEMP. Para ello, las siguientes secuencias de comandos ponen el PLC en STOP o provocan comportamientos indefinidos en runtime: Acceso a parmetros formales
Accesos a componentes de parmetros FC compuestos del tipo STRUCT, UDT, ARRAY, STRING. Accesos a componentes de parmetros FB compuestos del tipo STRUCT, UDT, ARRAY, STRING del rea IN_OUT en un bloque apto para multiinstancia (de la versin 2). Accesos a parmetros de un FB multiinstancia (de la versin 2) si su direccin es mayor que 8180.0. El acceso en el FB multiinstancia (de la versin 2) a un parmetro del tipo BLOCK_DB abre el DB 0. Los siguientes accesos a datos ponen la CPU en STOP. Con TIMER, COUNTER, BLOCK_FC, BLOCK_FB se utiliza siempre T 0, Z 0, FC 0 o FB 0. Calls en las que se transfieren parmetros. Las ramas T y los conectores en KOP o FUP arrancan con RLO = 0.
Transferencia de parmetros
166
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Control de programa 10.16 MCR( Almacenar el RLO en pila MCR, inicio rea MCR
Formato
MCR(
Descripcin de la operacin
MCR( (Abrir un rea MCR) almacena el RLO en la pila MCR y abre un rea MCR. Area MCR = instrucciones entre la operacin MCR( y la correspondiente operacin )MCR. Las operaciones MCR( y )MCR siempre tienen que utilizarse en pareja. Si el RLO es 1, el MCR est "conectado". Las instrucciones que dependen del MCR dentro de esta rea MCR se ejecutan de forma normal. Si el RLO es 0, el MCR est "desconectado". Las instrucciones que dependen del MCR dentro de esta rea MCR se ejecutan conforme a la tabla siguiente.
Las operaciones MCR( y )MCR se pueden anidar. La profundidad mxima de anidamiento es de ocho operaciones; por tanto, la pila puede contener como mximo ocho entradas. Si se ejecuta la operacin MCR( estando la pila llena se provoca un error de pila MCR (MCRF).
Palabra de estado
RB se escribe: A1 A0 OV OS OR 0 STA 1 RLO /ER 0
167
Control de programa 10.16 MCR( Almacenar el RLO en pila MCR, inicio rea MCR
Ejemplo
AWL MCRA U MCR( Explicacin //Activar rea MCR. E 1.0 //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 MW20 AW10 //Si el MCR est "OFF", A 8.0 se pone a 0 sin considerar E 4.0. //Si el MCR est "OFF", el valor "0" se transfiere a AW10. //Finalizar el rea MCR. //Desactivar rea MCR. //Estas instrucciones estn fuera del rea MCR y no dependen del bit MCR.
U = L T )MCR MCRD U =
E 1.1 A 8.1
168
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Formato
)MCR
Descripcin de la operacin
)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". Las operaciones MCR( y )MCR siempre deben utilizarse en pareja. Si se ejecuta la operacin )MCR estando la pila vaca se provoca un error de pila MCR (MCRF).
Palabra de estado
RB se escribe: A1 A0 OV OS OR 0 STA 1 RLO /ER 0
Ejemplo
AWL MCRA U MCR( Explicacin //Activar rea MCR. E 1.0 //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 MW20 AW10 //Si el MCR est "OFF", A 8.0 se pone a "0" sin considerar E 4.0. //Si el MCR est "OFF", se transfiere "0" a AW10. //Finalizar el rea MCR. //Desactivar rea MCR. //Estas instrucciones estn fuera del rea MCR y no dependen del bit MCR.
U = L T )MCR MCRD U =
E 1.1 A 8.1
169
Formato
MCRA
Descripcin de la operacin
MCRA (Activar el Master Control Relay) conecta la dependencia con respecto al MCR para las instrucciones que siguen a esta operacin. Las operaciones MCRA (Activar el Master Control Relay) y MCRD (Desactivar el Master Control Relay) siempre deben utilizarse en pareja. Las instrucciones que estn programadas entre MCRA y MCRD dependen del estado de seal del bit MCR. La operacin se ejecuta sin tener en cuenta ni afectar a los bits de la palabra de estado
Palabra de estado
RB se escribe: A1 A0 OV OS OR STA RLO /ER -
Ejemplo
AWL MCRA U MCR( Explicacin //Activar rea MCR. E 1.0 //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 MW20 AW10 //Si el MCR est "OFF", A 8.0 se pone a "0" sin considerar E 4.0. //Si el MCR est "OFF", se transfiere "0" a AW10. //Finalizar el rea MCR. //Desactivar rea MCR. //Estas instrucciones estn fuera del rea MCR y no dependen del bit MCR.
U = L T )MCR MCRD U =
E 1.1 A 8.1
170
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Formato
MCRD
Descripcin de la operacin
MCRD (Desactivar el Master Control Relay) desconecta la dependencia MCR para las instrucciones que siguen a esta operacin. Las operaciones MCRD (Desactivar el Master Control Relay) y MCRA (Activar el Master Control Relay) siempre deben utilizarse en pareja. Las instrucciones que estn programadas entre MCRA y MCRD dependen del estado de seal del bit MCR. La operacin se ejecuta sin tener en cuenta ni afectar a los bits de la palabra de estado
Palabra de estado
RB se escribe: A1 A0 OV OS OR STA RLO /ER -
Ejemplo
AWL MCRA U MCR( Explicacin //Activar rea MCR. E 1.0 //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 MW20 AW10 //Si el MCR est "OFF", A 8.0 se pone a "0" sin considerar E 4.0. //Si el MCR est "OFF", se transfiere "0" a AW10. //Finalizar el rea MCR. //Desactivar rea MCR. //Estas instrucciones estn fuera del rea MCR y no dependen del bit MCR.
U = L T )MCR MCRD U =
E 1.1 A 8.1
171
172
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
11
11.1
Descripcin
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). Un desplazamiento a la izquierda en n bits multiplica el contenido del acumulador por 2 n , mientras que un desplazamiento a la derecha en n bits divide el contenido del acumulador por 2 n . Desplazando, por ejemplo, el equivalente binario del valor decimal 3 tres bits a la izquierda, en el acumulador resulta el equivalente binario del valor decimal 24. Desplazando el equivalente binario del valor decimal 16 dos bits a la derecha, resulta el equivalente binario del valor decimal 4 en el acumulador. El nmero que sigue a la operacin de desplazamiento o bien el valor depositado en el byte bajo de la palabra baja del ACU 2 indica el nmero de bits desplazados, es decir, el nmero de posiciones en que se desplaza a la izquierda o derecha. Las posiciones que quedan vacantes como consecuencia de la operacin de desplazamiento se rellenan con ceros o con el estado de seal del bit que indica el signo (0 = positivo y 1 = negativo). El ltimo bit desplazado se carga en el bit A1 de la palabra de estado. Los bits A0 y OV de la palabra de estado se ponen a 0. Para evaluar el bit A1 se utilizan las operaciones de salto. Las operaciones de desplazamiento son absolutas, es decir, que su ejecucin no depende de ninguna condicin especial. Adems no afectan al resultado lgico. Se dispone de las operaciones de desplazamiento siguientes: SSI Desplazar signo de nmero entero a la derecha (16 bits) SSD Desplazar signo de nmero entero a la derecha (32 bits) SLW Desplazar palabra a la izquierda (16 bits) SRW Desplazar palabra a la derecha (16 bits) SLD Desplazar doble palabra a la izquierda (32 bits) SRD Desplazar doble palabra a la derecha (32 bits)
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
173
Formato
SSI SSI <nmero>
Operando <nmero> Tipo de datos Entero, sin signo Descripcin Nmero de posiciones de bit a desplazar; margen de 0 a
Descripcin de la operacin
SSI (Desplazar signo de nmero entero a la derecha) slo desplaza el contenido del ACU1-L bit por bit a la derecha. En las posiciones de bit que quedan libres por el desplazamiento se escribe el estado de seal del bit de signo (bit 15). El ltimo bit desplazado se carga en el bit A1 de la palabra de estado. El nmero de las posiciones de bit a desplazar viene indicado por el operando <nmero> o por un valor en el ACU2-L-L. SSI <nmero>: El operando <nmero> indica el nmero de desplazamiento. Se admiten valores entre 0 y 15. Los bits A0 y OV de la palabra de estado se ponen a "0", si <nmero> es mayor que cero. Si <nmero> es igual a "0", la operacin de rotacin se procesa igual que una operacin NOP. SSI: El nmero de desplazamiento viene indicado por el valor en el ACU2-L-L. Se admiten valores entre 0 y 255. Un nmero de desplazamiento > 16 siempre provoca el mismo resultado: (ACU 1 = 16#0000, A1 = 0 ACU 1 = 16#FFFF, A1 = 1. Si el nmero de desplazamiento > 0, los bits A0 y OV de la palabra de estado se ponen a "0". Si el nmero de desplazamiento es "0", la operacin de desplazamiento se procesa igual que una operacin NOP.
Palabra de estado
RB se escribe: A1 x A0 x OV x OS OR STA RLO /ER -
Ejemplos
Contenido Bit antes de ejecutar SSD 6 despus de ejecutar SSD 6 ACU1-H 31 . . . 0101 0101 .. 1111 1111 .. 0110 0110 . . . 16 0100 0100 ACU1-L 15 . . . 1001 1111 .. 1101 1110 .. 0011 0111 ...0 1011 0100
174
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Ejemplo 1
AWL L SSI T Explicacin //Cargar el valor en el ACU 1. //Desplazar los bits en el ACU 1 con el signo correcto 6 posiciones a la //derecha. //Transferir el resultado a MW8.
MW4 6 MW8
Ejemplo 2
AWL L L SSI Explicacin //Cargar el valor +3 en el ACU 1. //Cargar el contenido del ACU 1 en el ACU 2. Cargar el valor de MW20 en //el ACU 1. //El nmero de desplazamiento es el valor del ACU2-L-L. => Desplazar //los bits en el ACU 1-L con el signo correcto, 3 posiciones a la //derecha, poner las posiciones libres al estado de seal del bit de //signo. //Saltar a la meta NEXT, si el ltimo bit desplazado (A1) es 1.
+3 MW20
SPP
NEXT
175
Formato
SSD SSD <nmero>
Operando <nmero> Tipo de datos Entero, sin signo Descripcin Nmero de posiciones de bit a desplazar; margen de 0 a 32
Descripcin de la operacin
SSD (Desplazar signo de nmero entero de 32 bits a la derecha) desplaza el contenido completo del ACU 1 bit por bit a la derecha. En las posiciones de bit que quedan libres por el desplazamiento se escribe el estado de seal del bit de signo. El ltimo bit desplazado se carga en el bit A1 de la palabra de estado. El nmero de las posiciones de bit a desplazar viene indicado por el operando <nmero> o por un valor en el ACU2-L-L. SSD <nmero>: El operando <nmero> indica el nmero de desplazamiento. Se admiten valores entre 0 y 32. Los bits A0 y OV de la palabra de estado se ponen a "0" si <nmero> es mayor que cero. Si <nmero> es igual a "0", la operacin de rotacin se procesa igual que una operacin NOP. SSD: El nmero de desplazamiento viene indicado por el valor en el ACU2-L-L. Se admiten valores entre 0 y 255. Un nmero de desplazamiento > 32 siempre provoca el mismo resultado: ACU 1 = 32#00000000, A1 = 0 ACU 1 = 32#FFFFFFFF, A1 = 1. Si el nmero de desplazamiento > 0, los bits A0 y OV de la palabra de estado se ponen a "0". Si el nmero de desplazamiento es "0", la operacin de desplazamiento se procesa igual que una operacin NOP.
Palabra de estado
RB se escribe: A1 x A0 x OV x OS OR STA RLO /ER -
176
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Ejemplos
Contenido Bit antes de ejecutar SSD 7 despus de ejecutar SSD 7 ACU1-H 31 . . . 1000 1111 .. 1111 1111 .. 0110 0001 . . . 16 0100 1110 ACU1-L 15 . . . 0101 1100 .. 1101 1000 .. 0011 1011 ...0 1011 1010
Ejemplo 1
AWL L SSD T Explicacin //Cargar el valor en el ACU 1. //Desplazar los bits en el ACU 1 con el signo correcto, 7 posiciones a la //derecha. //Transferir el resultado a MD8.
MD4 7 MD8
Ejemplo 2
AWL L L SSD Explicacin //Cargar el valor +3 en el ACU 1. //Cargar el contenido del ACU 1 en el ACU 2. Cargar el valor de MD20 en //el ACU 1. //El nmero de desplazamiento es el valor del ACU2-L-L. => Desplazar //los bits en el ACU 1 con el signo correcto, 3 posiciones a la derecha, //poner las posiciones libres al estado de seal del bit de signo. //Saltar a la meta NEXT, si el ltimo bit desplazado (A1) es 1.
+3 MD20
SPP
NEXT
177
Formato
SLW SLW <nmero>
Operando <nmero> Tipo de datos Entero, sin signo Descripcin Nmero de posiciones de bit a desplazar; margen de 0 a 15
Descripcin de la operacin
SLW (Desplazar palabra a la izquierda) slo desplaza el contenido del ACU1-L bit por bit a la izquierda. En las posiciones de bit que quedan libres por el desplazamiento se escriben ceros. El ltimo bit desplazado se carga en el bit A1 de la palabra de estado. El nmero de las posiciones de bit a desplazar viene indicado por el operando <nmero> o por un valor en el ACU2-L-L. SLW <nmero>: El operando <nmero> indica el nmero de desplazamiento. Se admiten valores entre 0 y 15. Los bits A0 y OV de la palabra de estado se ponen a "0" si <nmero> es mayor que cero. Si <nmero> es igual a "0" la operacin de rotacin se procesa igual que una operacin NOP. SLW: El nmero de desplazamiento viene indicado por el valor en el ACU2-L-L. Un nmero de desplazamiento > 16 siempre provoca el mismo resultado: ACU 1-L = 0, A1 = 0, A0 = 0, OV = 0. Si 0 < nmero de desplazamiento <= 16, los bits A0 y OV de la palabra de estado se ponen a "0". Si el nmero de desplazamiento es "0", la operacin de desplazamiento se procesa igual que una operacin NOP.
Palabra de estado
RB se escribe: A1 x A0 x OV x OS OR STA RLO /ER -
178
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Ejemplos
Contenido Bit antes de ejecutar SLW 5 despus de ejecutar SLW 5 ACU1-H 31 . . . 0101 1111 .. 1111 0110 .. 0110 0100 . . . 16 0100 0101 ACU1-L 15 . . . 0101 1101 .. 1101 0011 .. 0011 1011 ...0 1011 0101
Ejemplo 1
AWL L SLW T Explicacin //Cargar el valor en el ACU 1. //Desplazar los bits en el ACU 1, 5 posiciones a la izquierda. //Transferir el resultado a MW8.
MW4 5 MW8
Ejemplo 2
AWL L L SLW SPP NEXT Explicacin //Cargar el valor +3 en el ACU 1. //Cargar el contenido del ACU 1 en el ACU 2. Cargar el valor de MW20 en //el ACU 1. //El nmero de desplazamiento es el valor del ACU2-L-L. => Desplazar //los bits en el ACU 1-L, 3 posiciones a la izquierda. //Saltar a la meta NEXT, si el ltimo bit desplazado (A1) es 1.
+3 MW20
179
Formato
SRW SRW <nmero>
Operando <nmero> Tipo de datos Entero, sin signo Descripcin Nmero de posiciones de bit a desplazar; margen de 0 a 15
Descripcin de la operacin
SRW (Desplazar palabra a la derecha) slo desplaza el contenido del ACU1-L bit por bit a la derecha. En las posiciones de bit que quedan libres por el desplazamiento se escriben ceros. El ltimo bit desplazado se carga en el bit A1 de la palabra de estado. El nmero de las posiciones de bit a desplazar viene indicado por el operando <nmero> o por un valor en el ACU2-L-L. SRW <nmero>: El operando <nmero> indica el nmero de desplazamiento. Se admiten valores entre 0 y 15. Los bits A0 y OV de la palabra de estado se ponen a "0", si <nmero> es mayor que cero. Si <nmero> es igual a "0", la operacin de rotacin se procesa igual que una operacin NOP. SRW: El nmero de desplazamiento viene indicado por el valor en el ACU2-L-L. Se admiten valores entre 0 y 255. Un nmero de desplazamiento > 16 siempre provoca el mismo resultado: ACU 1-L = 0, A1 = 0, A0 = 0, OV = 0. Si 0 < nmero de desplazamiento <= 16, los bits A0 y OV de la palabra de estado se ponen a "0". Si el nmero de desplazamiento es "0", la operacin de desplazamiento se procesa igual que una operacin NOP.
Palabra de estado
RB se escribe: A1 x A0 x OV x OS OR STA RLO /ER -
180
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Ejemplos
Contenido Bit antes de ejecutar SRW 6 despus de ejecutar SRW 6 ACU1-H 31 . . . 0101 1111 .. 1111 0110 .. 0110 0100 . . . 16 0100 0101 ACU1-L 15 . . . 0101 1101 .. 1101 0011 .. 0011 1011 ...0 1011 0101
Ejemplo 1
AWL L SRW T Explicacin //Cargar el valor en el ACU 1. //Desplazar los bits en el ACU 1, 6 posiciones a la derecha. //Transferir el resultado a MW8.
MW4 6 MW8
Ejemplo 2
AWL L L SRW SPP NEXT Explicacin //Cargar el valor +3 en el ACU 1. //Cargar el contenido del ACU 1 en el ACU 2. Cargar el valor de MW20 en //el ACU 1. //El nmero de desplazamiento es el valor del ACU2-L-L. => Desplazar //los bits en el ACU 1-L, 3 posiciones a la derecha. //Saltar a la meta NEXT, si el ltimo bit desplazado (A1) es 1.
+3 MW20
181
Formato
SLD SLD <nmero>
Operando <nmero> Tipo de datos Entero, sin signo Descripcin Nmero de posiciones de bit a desplazar; margen de 0 a 32
Descripcin de la operacin
SLD (Desplazar doble palabra a la izquierda) desplaza el contenido completo del ACU 1 bit por bit a la izquierda. En las posiciones de bit que quedan libres por el desplazamiento se escriben ceros. El ltimo bit desplazado se carga en el bit A1 de la palabra de estado. El nmero de las posiciones de bit a desplazar viene indicado por el operando <nmero> o por un valor en el ACU2-L-L. SLD <nmero>: El operando <nmero> indica el nmero de desplazamiento. Se admiten valores entre 0 y 32. Los bits A0 y OV de la palabra de estado se ponen a "0", si <nmero> es mayor que cero. Si <nmero> es igual a "0", la operacin de rotacin de procesa igual que una operacin NOP. SLD: El nmero de desplazamiento viene indicado por el valor en el ACU2-L-L. Se admiten valores entre 0 y 255. Un nmero de desplazamiento > 32 siempre provoca el mismo resultado: ACU 1 = 0, A1 = 0, A0 = 0. Si 0 < nmero de desplazamiento <= 32, los bits A0 y OV de la palabra de estado se ponen a "0". Si el nmero de desplazamiento es "0", la operacin de desplazamiento se procesa igual que una operacin NOP.
Palabra de estado
RB se escribe: A1 x A0 x OV x OS OR STA RLO /ER -
182
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Ejemplos
Contenido Bit ACU 1 antes de ejecutar SLD 5 ACU 1 despus de ejecutar SLD 5 ACU1-H 31 . . . 0101 1111 .. 1111 0110 .. 0110 0100 . . . 16 0100 0101 ACU1-L 15 . . . 0101 1101 .. 1101 0011 .. 0011 1011 ...0 1011 0101
Ejemplo 1
AWL L SLD T Explicacin //Cargar el valor en el ACU 1. //Desplazar los bits en el ACU 1, 5 posiciones a la izquierda. //Transferir el resultado a MD8.
MD4 5 MD8
Ejemplo 2
AWL L L SLD SPP NEXT Explicacin //Cargar el valor +3 en el ACU 1. //Cargar el contenido del ACU 1 en el ACU //el ACU 1. //El nmero de desplazamiento es el valor //los bits en el ACU 1, 3 posiciones a la //Saltar a la meta NEXT, si el ltimo bit
+3 MD20
2. Cargar el valor de MD20 en del ACU2-L-L. => Desplazar izquierda. desplazado (A1) es 1.
183
Formato
SRD SRD <nmero>
Operando <nmero> Tipo de datos Entero, sin signo Descripcin Nmero de posiciones de bit a desplazar; margen de 0 a 32
Descripcin de la operacin
SRD (Desplazar doble palabra a la derecha) desplaza el contenido completo del ACU 1 bit por bit a la derecha. En las posiciones de bit que quedan libres por el desplazamiento se escriben ceros. El ltimo bit desplazado se carga en el bit A1 de la palabra de estado. El nmero de las posiciones de bit a desplazar viene indicado por el operando <nmero> o por un valor en el ACU2-L-L. SRD <nmero>: El operando <nmero> indica el nmero de desplazamiento. Se admiten valores entre 0 y 32. Los bits A0 y OV de la palabra de estado se ponen a "0" si <nmero> es mayor que cero. Si <nmero> es igual a "0" la operacin de rotacin se procesa igual que una operacin NOP. SRD: El nmero de desplazamiento viene indicado por el valor en el ACU2-L-L. Se admiten valores entre 0 y 255. Un nmero de desplazamiento > 32 siempre provoca el mismo resultado: ACU 1 = 0, A1 = 0, A0 = 0, OV = 0. Si 0 < nmero de desplazamiento <= 32, los bits A0 y OV de la palabra de estado se ponen a "0". Si el nmero de desplazamiento es "0", la operacin de desplazamiento se procesa igual que una operacin NOP.
Palabra de estado
RB se escribe: A1 x A0 x OV x OS OR STA RLO /ER -
184
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Ejemplos
Contenido Bit antes de ejecutar SRD 7 despus de ejecutar SRD 7 ACU1-H 31 . . . 0101 1111 .. 1111 0110 .. 0110 0100 . . . 16 0100 0101 ACU1-L 15 . . . 0101 1101 .. 1101 0011 .. 0011 1011 ...0 1011 0101
Ejemplo 1
AWL L SRD T Explicacin //Cargar el valor en el ACU 1. //Desplazar los bits en el ACU 1, 7 posiciones a la derecha. //Transferir el resultado a MD8.
MD4 7 MD8
Ejemplo 2
AWL L L SRD SPP NEXT Explicacin //Cargar el valor +3 en el ACU 1. //Cargar el contenido del ACU 1 en el ACU //el ACU 1. //El nmero de desplazamiento es el valor //los bits en el ACU 1, 3 posiciones a la //Saltar a la meta NEXT, si el ltimo bit
+3 MD20
2. Cargar el valor de MD20 en del ACU2-L-L. => Desplazar derecha. desplazado (A1) es 1.
185
11.2
Operaciones de rotacin
Descripcin
Las operaciones de rotacin 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 rotacin activan funciones similares a las funciones de desplazamiento. Sin embargo, las posiciones vacantes se rellenan con los estados de seal de los bits que se desplazan fuera del acumulador. El nmero que sigue a la operacin de desplazamiento, o bien un valor del byte bajo de la palabra baja del ACU 2 indica el nmero de bits que se rotarn. Dependiendo de la operacin, la rotacin tendr lugar a travs del bit de la palabra de estado. El bit de estado A0 se pone a 0. Se dispone de las siguientes operaciones de rotacin: RLD Rotar doble palabra a la izquierda (32 bits) RRD Rotar doble palabra a la derecha (32 bits) RLDA Rotar ACU 1 a la izquierda va A1 (32 bits) RRDA Rotar ACU 1 a la derecha va A1 (32 bits)
186
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Formato
RLD RLD <nmero>
Operando <nmero> Tipo de datos Entero, sin signo Descripcin Nmero de posiciones de bit a rotar; margen de 0 a 32
Descripcin de la operacin
RLD (Rotar doble palabra a la izquierda) rota el contenido completo del ACU 1 bit por bit a la izquierda. En las posiciones de bit que quedan libres por la rotacin se escriben los estados de seal de los bits que se desplazan fuera del ACU 1. El ltimo bit rotado se carga en el bit A1 de la palabra de estado. El nmero de las posiciones de bit a rotar viene indicado por el operando <nmero> o un valor en el ACU2-L-L. RLD <nmero>: El operando <nmero> indica el nmero de rotacin. Se admiten valores entre 0 y 32. Los bits A0 y OV de la palabra de estado se ponen a "0" si <nmero> es mayor que 0. Si <nmero> es igual a "0", la operacin de rotacin se procesa igual que una operacin NOP. RLD: El nmero de rotacin viene indicado por el valor en el ACU2-L-L. Se admiten valores entre 0 y 255. Los bits A0 y OV de la palabra de estado se ponen a "0" si el contenido del ACU2-L-L es mayor que cero. Si el nmero de rotacin es "0" la operacin de rotacin se procesa igual que una operacin NOP.
Palabra de estado
RB se escribe: A1 x A0 x OV x OS OR STA RLO /ER -
187
Ejemplos
Contenido Bit antes de ejecutar RLD 4 despus de ejecutar RLD 4 ACU1-H 31 . . . 0101 1111 .. 1111 0110 .. 0110 0100 . . . 16 0100 0101 ACU1-L 15 . . . 0101 1101 .. 1101 0011 .. 0011 1011 ...0 1011 0101
Ejemplo 1
AWL L RLD T Explicacin //Cargar el valor en el ACU 1. //Rotar los bits en el ACU 1, 4 posiciones a la izquierda. //Transferir el resultado a MD8.
MD2 4 MD8
Ejemplo 2
AWL L L RLD SPP NEXT Explicacin //Cargar el valor +3 en el ACU 1. //Cargar el contenido del ACU 1 en el ACU 2. Cargar el valor de MD20 en //el ACU 1. //El nmero de rotacin es el valor del ACU2-L-L. => Rotar los bits en el //ACU 1, 3 posiciones a la izquierda. //Saltar a la meta NEXT, si el ltimo bit rotado (A1) es 1.
+3 MD20
188
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Formato
RRD RRD <nmero>
Operando <nmero> Tipo de datos Entero, sin signo Descripcin Nmero de posiciones de bit a rotar; margen de 0 a 32
Descripcin de la operacin
RRD (Rotar doble palabra a la derecha) rota el contenido completo del ACU 1 bit por bit a la derecha. En las posiciones de bit que quedan libres por la rotacin se escriben los estados de seal de los bits que se rotan fuera del ACU 1. El ltimo bit rotado se carga en el bit A1 de la palabra de estado. El nmero de las posiciones de bit a rotar viene indicado por el operando <nmero> o por un valor en el ACU2-L-L. RRD <nmero>: El operando <nmero> indica el nmero de rotacin. Se admiten valores entre 0 y 32. Los bits A0 y OV de la palabra de estado se ponen a "0" si <nmero> es mayor que cero. Si <nmero> es igual a cero la operacin de rotacin se procesa igual que una operacin NOP. RRD: El nmero de rotacin viene indicado por el valor en el ACU2-L-L. Se admiten valores entre 0 y 255. Los bits A0 y OV de la palabra de estado se ponen a "0" si el contenido del AKKU2-L-L es mayor que cero. Si el nmero de rotacin es "0", la operacin de rotacin se procesa igual que una operacin NOP.
Palabra de estado
RB se escribe: A1 x A0 x OV x OS OR STA RLO /ER -
Ejemplos
Contenido Bit antes de ejecutar RRD 4 despus de ejecutar RRD 4 ACU1-H 31 . . . 0101 1111 .. 1111 0110 .. 0110 0100 . . . 16 0100 0101 ACU1-L 15 . . . 0101 1101 .. 1101 0011 .. 0011 1011 ...0 1011 0101
189
Ejemplo 1
AWL L RRD T Explicacin //Cargar el valor en el ACU 1. //Desplazar los bits en el ACU 1, 4 posiciones a la derecha. //Transferir el resultado a MD8.
MD2 4 MD8
Ejemplo 2
AWL L L RRD SPP NEXT Explicacin //Cargar el valor +3 en el ACU 1. //Cargar el contenido del ACU 1 en el ACU 2. Cargar el valor de MD20 en //el ACU 1. //El nmero de rotacin es el valor del ACU2-L-L. => Rotar los bits en el //ACU 1, 3 posiciones a la derecha. //Saltar a la meta NEXT, si el ltimo bit rotado (A1) es 1.
+3 MD20
190
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Formato
RLDA
Descripcin de la operacin
RLDA (Rotar doble palabra a la izquierda va A1) rota el contenido completo del ACU 1 una posicin de bit a la izquierda mediante el cdigo de condicin A1. Los bits A0 y OV de la palabra de estado se ponen a "0".
Palabra de estado
RB se escribe: A1 x A0 0 OV 0 OS OR STA RLO /ER -
Ejemplos
Contenido Bit Antes de ejecutar RLDA Despus de ejecutar RLDA X 0 BI1 ACU1-H 31 . . . 0101 1011 .. 1111 1110 .. 0110 1100 . . . 16 0100 1000 ACU1-L 15 . . . 0101 1011 .. 1101 1010 .. 0011 0111 ...0 1011 011X
MD2 NEXT
Explicacin //Cargar el valor de MD2 en el ACU 1. //Rotar los bits en el ACU 1 una posicin a la izquierda va A1. //Saltar a la meta NEXT, si el ltimo bit rotado (A1) es 1.
191
Formato
RRDA
Descripcin de la operacin
RRDA (Rotar doble palabra a la derecha va A1) rota el contenido completo del ACU 1 una posicin de bit a la derecha mediante el cdigo de condicin A1. Los bits A0 y OV de la palabra de estado se ponen a "0".
Palabra de estado
RB se escribe: A1 x A0 0 OV 0 OS OR STA RLO /ER -
Ejemplos
Contenido Bit Antes de ejecutar RRDA Despus de ejecutar RRDA X 1 BI1 ACU1-H 31 . . . 0101 X010 .. 1111 1111 .. 0110 1011 . . . 16 0100 0010 ACU1-L 15 . . . 0101 0010 .. 1101 1110 .. 0011 1001 ...0 1011 1101
MD2 NEXT
Explicacin //Cargar el valor deMD2 en el ACU 1. //Rotar los bits en el ACU 1 una posicin a la derecha va A1. //Saltar a la meta NEXT, si el ltimo bit rotado (A1) es 1.
192
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
12
12.1
Operaciones de temporizacin
Lista de operaciones de temporizacin
Descripcin
Bajo Area de memoria y componentes de un temporizador encontrar informacin sobre cmo ajustar y seleccionar los temporizadores. Se dispone de las operaciones de temporizacin siguientes: FR Habilitar temporizador L R Cargar valor actual del temporizador en ACU 1 como entero LC Cargar el valor actual de temporizacin en ACU 1 como nmero BCD Desactivar temporizador SI Temporizador como impulso SV Temporizador como impulso prolongado SE Temporizador como retardo a la conexin SS Temporizador como retardo a la conexin con memoria SA Temporizador como retardo a la desconexin
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
193
12.2
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 programacin con AWL asiste 256 temporizadores. Consulte los datos tcnicos de la CPU para saber de cuntas palabras de temporizacin dispone sta. Las siguientes funciones tienen acceso al rea de memoria de temporizadores: Operaciones de temporizacin Actualizacin por reloj de palabras de temporizacin. Esta funcin de la CPU en el estado RUN decrementa en una unidad un valor de temporizacin dado en el intervalo indicado por la base de tiempo hasta alcanzar el valor 0.
Valor de temporizacin
Los bits 0 a 9 de la palabra de temporizacin contienen el valor de temporizacin en cdigo binario. Este valor indica un nmero de unidades. La actualizacin decrementa el valor de temporizacin en una unidad y en el intervalo indicado por la base de tiempo hasta alcanzar el valor 0. El valor de temporizacin se puede cargar en los formatos binario, hexadecimal o decimal codificado en binario (BCD). El rea de temporizacin va de 0 a 9 990 segundos. Para cargar un valor de temporizacin redefinido, se observarn las siguientes reglas sintcticas. El valor de temporizacin se puede cargar en cualesquiera de los siguientes formatos: w#16#txyz siendo: t= la base de tiempo (es decir, intervalo de tiempo o resolucin) xyz = el valor de temporizacin en formato BCD siendo: H (horas), M (minutos), S (segundos), MS (milisegundos); a, b, c, d los define el usuario La base de tiempo se selecciona automticamente y el valor de temporizacin se redondea al prximo nmero inferior con esa base de tiempo.
S5T#aH_bM_cS_dMS -
194
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Base de tiempo
Los bits 12 y 13 de la palabra de temporizacin contienen la base de tiempo en cdigo binario. La base de tiempo define el intervalo en que se decrementa en una unidad el valor de temporizacin. La base de tiempo ms pequea es 10 ms, la ms grande 10 s.
Base di tiempo 10 ms 100 ms 1s 10 s Base di tiempo en cdigo binario 00 01 10 11
Los valores no deben exceder 2H_46M_30S. Los valores con un margen o una resolucin demasiado grandes se redondean. El formato general para el tipo de datos S5TIME tiene los siguientes valores lmite:
Resolucin 0,01 segundos 0,1 segundos 1 segundo 10 segundos Margen 10MS a 9S_990MS 100MS a 1M_39S_900MS 1S 10S a 16M_39S a 2H_46M_30S
15... x x
0 0
0 1
...8 7... 1 0 0 2
0 0
1 7
...0 1
195
A 4.0 S_IMPULS t
A 4.0 S_VIMP t
A 4.0 S_EVERZ t
A 4.0 S_SEVERZ t
A 4.0 S_AVERZ t
Temporizadores S_IMPULS Temporizador de impulso S_VIMP Temporizador de impulso prolongado S_EVERZ Temporizador de retardo a la conexin S_SEVERZ Temporizador de retardo a la conexin con memoria S_AVERZ Temporizador de retardo a la desconexin
Descripcin El tiempo mximo que la seal de salida permanece a 1 corresponde al valor de temporizacin t programado. La seal de salida permanece a 1 durante un tiempo inferior si la seal de entrada cambia a 0. La seal de salida permanece a 1 durante el tiempo programado, independientemente del tiempo en que la seal de entrada est a 1. La seal de salida es 1 solamente si ha finalizado el tiempo programado y la seal de entrada sigue siendo 1. La seal de salida cambia de 0 a 1 solamente si ha finalizado el tiempo programado, independientemente del tiempo en que la seal de salida est a 1. La seal de salida es 1 cuando la seal de entrada es 1 o cuando el temporizador est en marcha. El temporizador arranca cuando la seal de entrada cambia de 1 a 0.
196
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
12.3
FR Habilitar temporizador
Formato
FR <temporizador>
Operando <temporizador> Tipo de datos TIMER Area de memoria T Descripcin Nmero del temporizador; el rea vara segn la CPU utilizada
Descripcin de la operacin
FR <temporizador> borra la marca de flancos que se utiliza para arrancar el temporizador direccionado, si el RLO cambia de "0" a "1". Si el bit RLO cambia de "0" a "1" antes de una operacin Habilitar temporizador (FR) se habilita un temporizador. La operacin Habilitar temporizador no es necesaria efectuar el arranque normal de un temporizador; slo se utiliza para volver a arrancar un temporizador que est en funcionamiento. Ello slo es posible si la operacin de arranque se sigue procesando con el RLO = 1.
Palabra de estado
RB se escribe: A1 A0 OV OS OR 0 STA RLO /ER 0
197
Ejemplo
AWL U FR U L SI U R U = L T Explicacin E 2.0 T1 E 2.1 S5T#10s T1 E 2.2 T1 T1 A 4.0 T1 MW10 //Habilitar el temporizador T1. //Ajustar una preseleccin de 10 segundos en el ACU 1. //Arrancar el temporizador T1 como impulso. //Poner el temporizador T1 a 0. //Consultar el estado de seal del temporizador T1. //Cargar el valor de temporizacin actual del temporizador T1 como nmero //binario.
Reaccin del temporizador Consultar el estado de senal en la salida de temporizacin. Cargar temporizador: L, LC A 4.0
(1) Si el RLO en la entrada de habilitacin cambia de "0" a "1"; durante el funcionamiento del temporizador, ste volver a arrancarse. El temporizador programado es el temporizador actual para el nuevo arranque. Si el RLO en la entrada de habilitacin cambia de "1" a "0", esto no tiene influencia. (2) Si el RLO en la entrada de habilitacin cambia de "0" a "1", y el temporizador no est en funcionamiento, mientras hay un RLO de "1" en la entrada de arranque, el temporizador se arranca con el valor de temporizacin programado. (3) Si el RLO en la entrada de habilitacin cambia de "0" a "1"; mientras hay un RLO de "0" en la entrada de arranque, esto no tiene influencia sobre el temporizador.
198
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Operaciones de temporizacin 12.4 L Cargar valor actual del temporizador en ACU 1 como entero
12.4
Formato
L <temporizador>
Operando Tipo de datos Area de memoria Descripcin
<temporizador>
TIMER
Descripcin de la operacin
L <temporizador> carga en el ACU1-L el valor de temporizacin actual de la palabra de temporizacin sin base de tiempo como entero binario, despus de que se haya cargado el contenido del ACU 1 en el ACU 2.
Palabra de estado
RB A1 A0 OV OS OR STA RLO /ER
se escribe:
199
Operaciones de temporizacin 12.4 L Cargar valor actual del temporizador en ACU 1 como entero
Ejemplo
AWL L Explicacin //Cargar el ACU1-L con el valor de temporizacin actual del temporizador //T1 en cdigo binario.
T1
15
14
13
12
11
10
15
14
13
12
11
10
Todos "0"
Nota L <temporizador> slo carga el cdigo binario del valor de temporizacin actual en el ACU 1-L, pero no la base de tiempo. El valor de temporizacin que se carga es el valor inicial del tiempo menos el tiempo que ha transcurrido desde el arranque de la funcin de temporizacin.
200
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Operaciones de temporizacin 12.5 LC Cargar el valor actual de temporizacin en ACU 1 como nmero BCD
12.5
Formato
LC <temporizador>
Operando Tipo de datos Area de memoria Descripcin
<temporizador>
TIMER
Descripcin de la operacin
LC <temporizador> carga en el ACU 1 el valor de temporizacin actual y la base de tiempo de la palabra de temporizacin direccionada como nmero en formato decimal codificado en binario (BCD), despus de que se haya cargado el contenido del ACU 1 en el ACU 2.
Palabra de estado
RB A1 A0 OV OS OR STA RLO /ER
se escribe:
201
Operaciones de temporizacin 12.5 LC Cargar el valor actual de temporizacin en ACU 1 como nmero BCD
Ejemplo
AWL LC Explicacin //Cargar ACU1-L con la base de tiempo y el valor de temporizacin actual //del temporizador T1 en formato BCD en el ACU1-L.
T1
15
14
13
12
11
10
0 2
15
0 2
14
0 2
13
0 2
12
11
2
2
10
2
1
2
0
10 Centenas
10 Decenas
10 Unidades
202
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
12.6
R Desactivar temporizador
Formato
R <temporizador>
Operando Tipo de datos Area de memoria Descripcin
<temporizador>
TIMER
Descripcin de la operacin
R <temporizador> finaliza la funcin de temporizacin actual y borra el valor de temporizacin y la base de tiempo de la palabra de temporizacin direccionada, si el RLO cambia de "0" a "1".
Palabra de estado
RB A1 A0 OV OS OR STA RLO /ER
se escribe:
Ejemplo
AWL U R Explicacin E 2.1 T1 //Consultar el estado de seal en la entrada E 2.1. Si el RLO cambia de //"0" a "1", desactivar el temporizador T1.
203
12.7
Formato
SI <temporizador>
Operando Tipo de datos Area de memoria Descripcin
<temporizador>
TIMER
Descripcin de la operacin
SI <temporizador> arranca el temporizador direccionado si el RLO cambia de "0" a "1". El intervalo programado transcurre mientras el RLO sea 1. Si el RLO cambia a "0" antes de que haya transcurrido el intervalo programado, el temporizador se para. Para esta operacin (Arrancar temporizador) tienen que estar almacenados el valor de temporizacin y la base de tiempo en formato BCD en el ACU1-L. Consulte tambin Area de memoria y componentes de un temporizador.
Palabra de estado
RB A1 A0 OV OS OR STA RLO /ER
se escribe:
204
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Ejemplo
AWL U FR U L SI U R U = L T LC T Explicacin E 2.0 T1 E 2.1 S5T#10s T1 E 2.2 T1 T1 A 4.0 T1 MW10 T1 MW12 //Habilitar el temporizador T1. //Ajustar una preseleccin de 10 segundos en el ACU 1. //Arrancar el temporizador T1 como impulso. //Poner el temporizador T1 a 0. //Consultar el estado de seal del temporizador T1. //Cargar el valor de temporizacin actual del temporizador T1 como nmero //binario. //Cargar el valor de temporizacin actual del temporizador T1 en formato //BCD.
205
12.8
Formato
SV <temporizador>
Operando Tipo de datos Area de memoria Descripcin
<temporizador>
TIMER
Descripcin de la operacin
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". Si el RLO cambia de "0" a "1" antes de que haya transcurrido el intervalo programado, se vuelve a arrancar el intervalo programado. Para que se ejecute esta orden de arrancar el temporizador tienen que estar almacenados en el ACU1-L el valor de temporizacin y la base de tiempo en formato BCD. Consulte tambin Area de memoria y componentes de un temporizador.
Palabra de estado
RB A1 A0 OV OS OR STA RLO /ER
se escribe:
206
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Ejemplo
AWL U FR U L SV U R U = L T LC T Explicacin E 2.0 T1 E 2.1 S5T#10s T1 E 2.2 T1 T1 A 4.0 T1 MW10 T1 MW12 //Habilitar el temporizador T1. //Ajustar una preseleccin de 10 segundos en el ACU 1. //Arrancar el temporizador T1 como impulso prolongado. //Poner el temporizador T1 a 0. //Consultar el estado de seal del temporizador T1. //Cargar el valor de temporizacin actual del temporizador T1 como nmero //binario. //Cargar el valor de temporizacin actual del temporizador T1 en formato //BCD.
t Salida A 4.0
Cargar temporizador: L, LC
207
12.9
Formato
SE <temporizador>
Operando Tipo de datos Area de memoria Descripcin
<temporizador>
TIMER
Descripcin de la operacin
SE <temporizador> arranca el temporizador direccionado si el RLO cambia de "0" a "1". El intervalo programado transcurre mientras el RLO sea 1. Si el RLO cambia a "0" antes de haber transcurrido el intervalo programado, el temporizador se detiene. Para que se realice esta orden de arrancar el temporizador tienen que estar almacenados en el ACU1-L el valor de temporizacin y la base de tiempo en formato BCD. Consulte tambin Area de memoria y componentes de un temporizador.
Palabra de estado
RB A1 A0 OV OS OR STA RLO /ER
se escribe:
208
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Ejemplo
AWL U FR U L SE U R U = L T LC T Explicacin E 2.0 T1 E 2.1 S5T#10s T1 E 2.2 T1 T1 A 4.0 T1 MW10 T1 MW12 //Habilitar el temporizador T1. //Ajustar una preseleccin de 10 segundos en el ACU 1. //Arrancar el temporizador T1 como retardo a la conexin. //Poner el temporizador T1 a 0. //Consultar el estado de seal del temporizador T1. //Cargar el valor de temporizacin actual del temporizador T1 como nmero //binario. //Cargar el valor de temporizacin actual del temporizador T1 en formato //BCD.
t Salida A 4.0
Cargar temporizador: L, LC
209
<temporizador>
TIMER
Descripcin de la operacin
SS <temporizador> (Arrancar temporizador como retardo a la conexin con memoria) arranca el temporizador direccionado si el RLO cambia de "0" a "1". El intervalo programado transcurre aunque el RLO cambie mientras tanto a "0". Si el RLO cambia de "0" a "1" antes de que haya transcurrido el intervalo programado, se vuelve a arrancar el intervalo programado. Para que se ejecute esta operacin de arrancar el temporizador tienen que estar almacenados en el ACU1-L el valor de temporizacin y la base de tiempo en formato BCD. Consulte tambin Area de memoria y componentes de un temporizador.
Palabra de estado
RB A1 A0 OV OS OR STA RLO /ER
se escribe:
210
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Ejemplo
AWL U FR U L SS U R U = L T LC T Explicacin E 2.0 T1 E 2.1 S5T#10s T1 E 2.2 T1 T1 A 4.0 T1 MW10 T1 MW12 //Habilitar el temporizador T1. //Ajustar una preseleccin de 10 segundos en el ACU 1. //Arrancar el temporizador T1 como retardo a la conexin con memoria. //Poner el temporizador T1 a 0. //Consultar el estado de seal del temporizador T1. //Cargar el valor de temporizacin actual del temporizador T1 como nmero //binario. //Cargar el valor de temporizacin actual del temporizador T1 en formato //BCD.
t Salida A 4.0
Cargar temporizador: L, LC
211
<temporizador>
TIMER
Descripcin de la operacin
SA <temporizador> arranca el temporizador direccionado si el RLO cambia de "1" a "0". El intervalo programado transcurre mientras el RLO sea 0. Si el RLO cambia a "1" antes de que haya transcurrido el intervalo programado, el temporizador se para. Para esta instruccin Arrancar temporizador tienen que estar almacenados el valor de temporizacin y la base de tiempo en formato BCD en el ACU1-L. Consulte tambin Area de memoria y componentes de un temporizador.
Palabra de estado
RB A1 A0 OV OS OR STA RLO /ER
se escribe:
212
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Ejemplo
AWL U FR U L SA U R U = L T LC T Explicacin E 2.0 T1 E 2.1 S5T#10s T1 E 2.2 T1 T1 A 4.0 T1 MW10 T1 MW12 //Habilitar el temporizador T1. //Ajustar una preseleccin de 10 segundos en el ACU 1. //Arrancar el temporizador T1 como retardo a la desconexin. //Poner el temporizador T1 a 0. //Consultar el estado de seal del temporizador T1. //Cargar el valor de temporizacin actual del temporizador T1 como nmero //binario. //Cargar el valor de temporizacin actual del temporizador T1 en formato //BCD.
Salida
A 4.0
Cargar temporizador: L, LC
213
214
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
13
13.1
Descripcin
Las operaciones lgicas con palabras combinan pares de palabras (16 bits) o palabras dobles (32 bits) bit por bit de acuerdo con la lgica de Boole. Cada palabra o palabra doble debe encontrarse en uno de ambos acumuladores. En las operaciones con palabras se combina el contenido de la palabra baja del ACU 2 con el contenido de la palabra baja del ACU 1. El resultado lgico se almacena en la palabra baja del ACU 1, sobreescribiendo el antiguo contenido. En las operaciones con palabras dobles se combina el contenido del ACU 2 con el contenido del ACU 1. El resultado lgico se almacena en el ACU 1, sobreescribiendo el antiguo contenido. Si el resultado lgico es 0, el bit A1 de la palabra de estado se pone a 0. Si el resultado no es igual a 0, el bit A1 se pone a 1. Los bits A0 y OV de la palabra de estado se ponen en ambos casos a 0. Se dispone de las operaciones lgicas con palabras siguientes: UW Y con palabra (16 bits) OW O con palabra (16 bits) XOW O-exclusiva con palabra (16 bits) UD Y con doble palabra (32 bits) OD O con doble palabra (32 bits) XOD O-exclusiva con doble palabra (32 bits)
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
215
13.2
Formato
UW UW <constante>
Operando Tipo de datos Descripcin
<constante>
Descripcin de la operacin
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 operacin lgica Y. Solamente cuando los bits correspondientes de ambas palabras a combinar son "1" ser tambin 1 el bit respectivo de la doble palabra resultante. El resultado se almacena en el ACU1-L. El ACU1-H y el ACU 2 (y en las CPU con cuatro acumuladores, el ACU 3 y el ACU 4) no se alteran. El bit de la palabra de estado A1 se activa como resultado de la operacin (A1 = 1, si el resultado es diferente de cero). Los bits A0 y OV de la palabra de estado se ponen a "0". UW: combina el ACU1-L con el ACU2-L. UW <constante>: combina el ACU1-L con una constante (16 bits).
Palabra de estado
RB A1 A0 OV OS OR STA RLO /ER
se escribe:
216
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Ejemplos
Bit 15 . . .. .. ...0
ACU1-L antes de ejecutar UW ACU2-L constante (16 bits) Resultado (ACU1-L) despus de ejecutar UW
Ejemplo 1
AWL L L UW T MW 8 Explicacin //Cargar el contenido de EW20 en el ACU1-L. //Cargar el contenido del ACU 1 en el ACU 2. Cargar el contenido de EW22 //en el ACU 1-L. //Combinar los bits del ACU1-L con los bits del ACU2-L realizando una //operacin Y lgica, almacenar el resultado en el ACU1-L. //Transferir el resultado a MW8.
EW20 EW22
Ejemplo 2
AWL L UW Explicacin //Cargar el contenido de EW20 en el ACU1-L. //Combinar los bits del ACU1-L con la configuracin binaria de la //constante (de 16 bits) (0000_1111_1111_1111) realizando una operacin Y //lgica, almacenar el resultado en el ACU1-L. //Saltar a la meta NEXT si el resultado es diferente de cero (A1 = 1).
SPP
217
13.3
Formato
OW OW <constante>
Operando Tipo de datos Descripcin
<constante>
Descripcin de la operacin
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 operacin lgica O. Si al menos uno los bits correspondientes de ambas dobles palabras a combinar es "1", el bit respectivo de la palabra resultante tambin ser "1". El resultado se almacena en el ACU1-L. El ACU1-H y el ACU 2 (y en las CPU con cuatro acumuladores, el ACU 3 y el ACU 4) no se alteran. El bit de la palabra de estado A1 se activa como resultado de la operacin (A1 = 1, si el resultado es diferente de cero). Los bits A0 y OV de la palabra de estado se ponen a "0". OW: combina el ACU1-L con el ACU2-L. OW <constante>: combina el ACU1-L con una constante (16 bits).
Palabra de estado
RB A1 A0 OV OS OR STA RLO /ER
se escribe:
218
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Ejemplos
Bit 15 . . .. .. ...0
ACU1-L antes de ejecutar OW ACU2-L constante (16 bits) Resultado (ACU1-L) despus de ejecutar OW
Ejemplo 1
AWL L L OW T MW8 Explicacin //Cargar el contenido de EW20 en el ACU1-L. //Cargar el contenido del ACU 1 en el ACU 2. Cargar el contenido de EW22 //en el ACU 1-L. //Combinar los bits del ACU1-L con los bits del ACU2-L realizando una //operacin O lgica, almacenar el resultado en el ACU1-L. //Transferir el resultado a MW 8.
EW20 EW22
Ejemplo 2
AWL L OW Explicacin //Cargar el contenido de EW20 en el ACU1-L. //Combinar los bits del ACU1-L con la configuracin binaria de la //constante (16 bits) (0000_1111_1111_1111) realizando una operacin O //lgica, almacenar el resultado en el ACU1- L. //Saltar a la meta NEXT si el resultado es diferente de cero (A1 = 1).
SPP
219
Operaciones lgicas con palabras 13.4 XOW O-exclusiva con palabra (16 bits)
13.4
Formato
XOW XOW <constante>
Operando Tipo de datos Descripcin
<constante>
Configuracin binaria a combinar lgicamente con el ACU1-L realizando una operacin Oexclusiva.
Descripcin de la operacin
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 operacin lgica O-exclusiva. Si uno -y solamente uno- de los bits correspondientes de ambas palabras a combinar es "1", el bit respectivo de la palabra resultante tambin es "1". El resultado se almacena en el ACU1-L. El ACU1-H y el ACU 2 (y en las CPU con cuatro acumuladores, el ACU 3 y el ACU 4) no se alteran. El bit de la palabra de estado A1 se activa como resultado de la operacin (A1 = 1, si el resultado es diferente de cero). Los bits A0 y OV de la palabra de estado se ponen a "0". XOW: combina el ACU1-L con el ACU2-L. XOW <constante>: combina el ACU1-L con una constante (16 bits).
Palabra de estado
RB A1 A0 OV OS OR STA RLO /ER
se escribe:
220
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Operaciones lgicas con palabras 13.4 XOW O-exclusiva con palabra (16 bits)
Ejemplos
Bit 15 . . .. .. ...0
ACU 1 antes de ejecutar XOW ACU2-L constante (16 bits): Resultado (ACU 1) despus de ejecutar XOW
Ejemplo 1
AWL L L XOW Explicacin //Cargar el contenido de EW20 en el ACU1-L. //Cargar el contenido del ACU 1 en el ACU 2. Cargar el contenido de ED24 //en el ACU 1-L. //Combinar lgicamente los bits del ACU1-L con los bits del ACU2-L //realizando una operacin O-exclusiva, almacenar el resultado en el //ACU1-L. //Transferir el resultado a MW8.
EW20 EW22
MW8
Ejemplo 2
AWL L XOW Explicacin //Cargar el contenido de EW20 en el ACU1-L. //Combinar lgicamente los bits del ACU1-L con la configuracin binaria //de la constante (de 16 bits) (0000_1111_1111_1111) realizando una //operacin O-exclusiva, almacenar el resultado en el ACU1-L. //Saltar a la meta NEXT si el resultado es diferente de cero (A1 = 1).
EW20 16#0FFF
SPP
NEXT
221
Operaciones lgicas con palabras 13.5 UD Y con doble palabra (32 bits)
13.5
Formato
UD UD <constante>
Operando Tipo de datos Descripcin
<constante>
Descripcin de la operacin
UD (Y con doble palabra) combina el contenido del ACU 1 con el ACU 2 con una constante (32 bits) bit por bit realizando una operacin lgica Y. Solamente cuando los bits correspondientes de ambas dobles palabras a combinar son "1" ser tambin 1 el bit respectivo de la doble palabra resultante. El resultado se almacena en el ACU 1. El ACU 2 (y en las CPU con cuatro acumuladores, ACU 3 y ACU 4) no se altera. El bit de la palabra de estado A1 se activa como resultado de la operacin (A1 = 1, si el resultado es diferente de cero). Los bits A0 y OV de la palabra de estado se ponen a "0". UD: combina el ACU 1 con el ACU 2. UD <constante>: combina el ACU 1 con una constante (32 bits).
Palabra de estado
RB A1 A0 OV OS OR STA RLO /ER
se escribe:
222
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Operaciones lgicas con palabras 13.5 UD Y con doble palabra (32 bits)
Ejemplos
Bit 31 . . .. .. .. .. .. .. ...0
0101 1111
Ejemplo 1
AWL L L UD T MD8 Explicacin //Cargar el contenido de ED20 en el ACU 1. //Cargar el contenido del ACU 1 en el ACU 2. Cargar el contenido de ED24 //en el ACU 1. //Combinar los bits del ACU 1 con los bits del ACU 2 realizando una //operacin Y lgica, almacenar el resultado en el ACU 1. //Transferir el resultado a MD8.
ED20 ED24
Ejemplo 2
AWL L UD Explicacin //Cargar el contenido de ED20 en el ACU 1. //Combinar los bits del ACU 1 con la configuracin binaria de la //constante (32 bits) (0000_1111_1111_1111_1110_1111_0010_0001) //realizando una operacin Y lgica, almacenar el resultado en el ACU 1. //Saltar a la meta NEXT si el resultado es diferente de cero (A1 = 1).
JP
223
Operaciones lgicas con palabras 13.6 OD O con doble palabra (32 bits)
13.6
Formato
OD OD <constante>
Operando Tipo de datos Descripcin
<constante>
Descripcin de la operacin
OD (O con doble palabra) combina el contenido del ACU 1 con ACU 2 con una constante (32 bits) bit por bit realizando una operacin lgica O. Si al menos uno los bits correspondientes de ambas dobles palabras a combinar es "1", el bit respectivo de la doble palabra resultante tambin ser "1". El resultado se almacena en el ACU 1. El ACU 2 (en las CPU con cuatro acumuladores tambin el ACU 3 y el ACU4) no se altera. El bit de la palabra de estado A1 se activa como resultado de la operacin (A1 = 1, si el resultado es diferente de cero). Los bits A0 y OV de la palabra de estado se ponen a "0". OD: combina el ACU 1 con el ACU 2. OD <constante>: combina el ACU 1 con una constante (32 bits).
Palabra de estado
RB A1 A0 OV OS OR STA RLO /ER
se escribe:
224
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Operaciones lgicas con palabras 13.6 OD O con doble palabra (32 bits)
Ejemplos
Bit 31 . . .. .. .. .. .. .. ...0
ACU 1 antes de ejecutar OD ACU 2 constante (32 bits) Resultado (ACU 1) despus de ejecutar OD
Ejemplo 1
AWL L L OD T MD8 Explicacin //Cargar el contenido de ED20 en el ACU 1. //Cargar el contenido de ACU 1 en el ACU 2. Cargar el contenido de ED24 //en el ACU 1. //Combinar los bits del ACU 1 con los bits del ACU 2 realizando una //operacin O lgica, almacenar el resultado en el ACU 1. //Transferir el resultado a MD8.
ED20 ED24
Ejemplo 2
AWL L OD Explicacin //Cargar el contenido de ED20 en el ACU 1. //Combinar los bits del ACU 1 con la configuracin binaria de la //constante (32 bits) (0000_1111_1111_1111_1110_1111_0010_0001) por //realizando una operacin O lgica, almacenar el resultado en el ACU 1. //Saltar a la meta NEXT si el resultado es diferente de cero (A1 = 1).
SPP
225
Operaciones lgicas con palabras 13.7 XOD O-exclusiva con doble palabra (32 bits)
13.7
Formato
XOD XOD <constante>
Operando Tipo de datos Descripcin
<constante>
Configuracin binaria a combinar lgicamente con el ACU 1 realizando una operacin Oexclusiva
Descripcin de la operacin
XOD (O-exclusiva con doble palabra) combina el contenido del ACU 1 con ACU 2 con una constante (32 bits) bit por bit realizando una operacin lgica O-exclusiva. Si uno -y solamente unode los bits correspondientes de ambas dobles palabras a combinar es "1", el bit respectivo de la doble palabra resultante tambin es "1". El resultado se almacena en el ACU 1. El ACU 2 (y en las CPU con cuatro acumuladores, el ACU 3 y el ACU4) no se altera. El bit de la palabra de estado A1 se activa como resultado de la operacin (A1 = 1, si el resultado es diferente de cero). Los bits A0 y OV de la palabra de estado se ponen a "0". La funcin O-exclusiva tambin se puede aplicar varias veces consecutivas. Entonces el resultado lgico comn ser "1" si un nmero impar de los operandos consultados da el resultado "1". XOD: combina el ACU 1 con el ACU 2. XOD <constante>: combina el ACU 1 con una constante (32 bits).
Palabra de estado
RB A1 A0 OV OS OR STA RLO /ER
se escribe:
226
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Operaciones lgicas con palabras 13.7 XOD O-exclusiva con doble palabra (32 bits)
Ejemplos
Bit 31 . . .. .. .. .. .. .. ...0
ACU 1 antes de ejecutar XOD ACU 2 constante (32 bits) Resultado (ACU 1) despus de ejecuta XOD
Ejemplo 1
AWL L L XOD Explicacin //Cargar el contenido de ED20 en el ACU 1. //Cargar el contenido de ACU 1 en el ACU 2. Cargar el contenido de ED24 //en el ACU 1. //Combinar lgicamente los bits del ACU 1 con los bits del ACU 2 //realizando una operacin O-exclusiva, almacenar el resultado en el //ACU 1. //Transferir el resultado a MD8.
ED20 ED24
MD8
Ejemplo 2
AWL L XOD Explicacin //Cargar el contenido de ED20 en el ACU 1. //Combinar lgicamente los bits del ACU 1 con la configuracin binaria de //la constante (32 bits) (0000_1111_1111_1111_1111_1110_0010_0001) //realizando una operacin O-exclusiva, almacenar el resultado en el //ACU 1. //Saltar a la meta NEXT si el resultado es diferente de cero (A1 = 1).
SPP
NEXT
227
Operaciones lgicas con palabras 13.7 XOD O-exclusiva con doble palabra (32 bits)
228
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
14
14.1
Descripcin
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 PUSH CPU con cuatro acumuladores POP CPU con dos acumuladores POP CPU con cuatro acumuladores ENT INC Introducir pila de ACU
LEAVE Salir de la pila de ACU Incrementar ACU 1-L-L DEC Decrementar ACU 1-L-L +AR1 Sumar el ACU 1 al registro de direcciones 1 +AR2 Sumar el ACU1 al registro de direcciones 2 BLD Estructuracin de imagen (operacin nula) NOP 0 Operacin nula 0 NOP 1 Operacin nula 1
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
229
14.2
Formato
TAK
Descripcin de la operacin
TAK (Intercambiar ACU 1 y ACU 2) intercambia el contenido del ACU 1 con el contenido del ACU 2. La operacin 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).
Palabra de estado
RB A1 A0 OV OS OR STA RLO /ER
se escribe:
NEXT
NEXT:
MW14
<MW12> <MW10>
<MW10> <MW12>
230
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
14.3
Formato
PUSH
Descripcin de la operacin
PUSH (ACU 1 a ACU 2) copia el contenido completo del ACU 1 al ACU 2. El ACU 1 no se altera. La operacin se ejecuta sin considerar ni afectar a los bits de la palabra de estado.
Palabra de estado
RB A1 A0 OV OS OR STA RLO /ER
se escribe:
Ejemplo
AWL L PUSH Explicacin //Cargar el contenido de MW10 en el ACU 1. //Copiar el contenido completo del ACU 1 al ACU 2.
MW10
<MW10> <MW10>
<X> <MW10>
231
14.4
Formato
PUSH
Descripcin de la operacin
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 operacin se ejecuta sin considerar ni afectar a los bits de la palabra de estado.
Palabra de estado
RB A1 A0 OV OS OR STA RLO /ER
se escribe:
Ejemplo
AWL L PUSH Explicacin //Cargar el contenido del MW10 en el ACU 1. //Copiar el contenido completo del ACU 1 al ACU 2, el contenido del ACU 2 //al ACU 3 y el contenido del ACU 3 al ACU 4.
MW10
Valor A Valor A
Valor B Valor A
Valor C Valor B
Valor D Valor C
232
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
14.5
Formato
POP
Descripcin de la operacin
POP (CPU con dos acumuladores) copia el contenido completo del ACU 2 al ACU 1. El ACU 2 no se altera. La operacin se ejecuta sin considerar ni afectar a los bits de la palabra de estado.
Palabra de estado
RB A1 A0 OV OS OR STA RLO /ER
se escribe:
Ejemplo
AWL // POP T Explicacin //Transferir el contenido del ACU 1 (= valor A) a MD10. //Copiar el contenido completo del ACU 2 al ACU 1. //Transferir el contenido del ACU 1 (= valor B) a MD14.
MD10 MD14
Valor A Valor B
Valor B Valor B
233
14.6
Formato
POP
Descripcin de la operacin
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 operacin se ejecuta sin considerar ni afectar a los bits de la palabra de estado.
Palabra de estado
RB A1 A0 OV OS OR STA RLO /ER
se escribe:
Ejemplo
AWL // POP T Explicacin //Transferir el contenido del ACU 1 (= valor A) a MD10. //Copiar el contenido del ACU 2 al ACU1, el contenido del ACU 3 al ACU 2 y //el contenido del ACU 4 al ACU 3. //Transferir el contenido del ACU 1 (= valor B) a MD14.
MD10
MD14
Valor A Valor B
Valor B Valor C
Valor C Valor D
Valor D Valor D
234
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
14.7
Formato
ENT
Descripcin de la operacin
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 operacin ENT directamente antes de una operacin de carga, se puede salvar con ello un resultado parcial en el ACU 3.
Ejemplo
AWL // L Explicacin //Cargar el valor de la palabra doble de datos DBD0 en el ACU 1. (Este //valor debe tener formato en coma flotante.) //Copiar el valor del ACU 1 al ACU 2. Cargar el valor de la palabra doble //de datos DBD4 en el ACU 1. (Este valor debe tener formato en coma //flotante.) //Sumar los contenidos del ACU 1 y el ACU 2 como nmeros en coma flotante //(32 bits, IEEE 754) y almacenar el resultado en el ACU 1. //Copiar el valor del ACU 1 al ACU 2. Cargar el valor de la palabra doble //de datos DBD8 en el ACU 1. //Copiar el contenido del ACU 3 al ACU 4. Copiar el contenido del ACU 2 //(resultado parcial) al ACU 3. //Cargar el valor de la palabra doble de datos DBD12 en el ACU 1. //Restar el contenido del ACU 1 del contenido del ACU 2 y almacenar el //resultado en el ACU 1. Copiar el contenido del ACU 3 en el ACU 2 y el //contenido del ACU 4 al ACU 3. //Dividir el contenido del ACU 2 (DBD0 + DBD4) por el contenido del ACU 1 //(DBD8 - DBD12) y almacenar el resultado en el ACU 1. //Transferir el resultado (ACU 1) a la palabra doble de datos DBD16
DBD0 DBD4
/R T DBD16
Descripcin de la operacin
LEAVE (Salir de la pila de ACU) copia el contenido del ACU 3 al ACU 2 y el contenido del ACU 4 al ACU 3. Si se programa la operacin LEAVE directamente antes de una operacin de desplazamiento y rotacin que combina acumuladores, entonces la operacin LEAVE funciona como una operacin aritmtica. Los contenidos del ACU 1 y del ACU 4 quedan inalterados.
235
14.9
Formato
INC <entero de 8 bits>
Operando Tipo de datos Descripcin
<entero de 8 bits>
Descripcin de la operacin
INC <entero de 8 bits> (Incrementar ACU1-L-L) suma el nmero entero (8 bits) al contenido del ACU1-L-L y almacena el resultado en ACU1-L-L. ACU1-L-H, ACU1-H y ACU 2 no se alteran. La operacin se ejecuta sin considerar ni afectar a los bits de la palabra de estado. Nota Esta operacion no sirve para las operaciones aritmticas de 16 32 bits, puesto que no se transfiere nada desde el byte bajo de la palabra baja del ACU 1 al byte alto de la palabra baja del ACU 1. Para las operaciones aritmticas de 16 32 bits hay que utilizar la operacin +I o +D, respectivamente.
Palabra de estado
RB A1 A0 OV OS OR STA RLO /ER
se escribe:
Ejemplo
AWL L INC T Explicacin //Cargar el valor de MB22. //Incrementar en 1 ACU 1 (MB 22), almacenar el resultado en ACU1-L-L. //Transferir el contenido de ACU1-L-L (resultado) de vuelta al MB22.
MB22 1 MB22
236
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
<entero de 8 bits>
Descripcin de la operacin
DEC <entero de 8 bits> (Decrementar ACU1-L-L) resta el nmero entero (8 bits) del contenido del ACU1-L-L y almacena el resultado en ACU1-L-L. ACU1-L-H, ACU1-H y ACU 2 no se alteran. La operacin se ejecuta sin considerar ni afectar a los bits de la palabra de estado. Nota Esta operacion no sirve para las operaciones aritmticas de 16 32 bits, puesto que no se transfiere nada desde el byte bajo de la palabra baja del ACU 1 al byte alto de la palabra baja del ACU 1. Para las operaciones aritmticas de 16 32 bits hay que utilizar la operacin +I o +D, respectivamente.
Palabra de estado
RB A1 A0 OV OS OR STA RLO /ER
se escribe:
Ejemplo
AWL L DEC T Explicacin //Cargar el valor de MB250. //Decrementar en 1 el ACU1-L-L, almacenar el resultado en ACU1-L-L. //Transferir el contenido de ACU1-L- L (resultado) de vuelta a MB250.
MB250 1 MB250
237
<P#Byte.Bit>
Constante de puntero
Descripcin de la operacin
+AR1 (Sumar a AR1) suma el desplazamiento que se haya indicado en la instruccin o en el ACU 1L, al contenido de AR1. El entero (16 bits) es ampliado primero con el signo correcto a 24 bits, y luego se suma a los 24 bits menos significativos de AR1 (parte de la direccin relativa en AR1). La parte de la identificacin del rea en AR 1 (bits 24, 25 y 26) no se altera. La operacin se ejecuta sin considerar ni afectar a los bits de la palabra de estado. +AR1: El entero (16 bits) que se va a sumar al contenido de AR1 lo indica el valor de ACU1-L. Se admiten valores de -32768 hasta +32767. +AR1 <P#Byte.Bit>: El desplazamiento a sumar lo indica el operando <P#Byte.Bit> .
Palabra de estado
RB A1 A0 OV OS OR STA RLO /ER
se escribe:
Ejemplo 1
AWL L +AR1 +300 Explicacin //Cargar el valor en el ACU1-L. //Sumar el ACU1-L (entero) a AR 1.
Ejemplo 2
AWL +AR1 P#300.0 Explicacin //Sumar el desplazamiento 300.0 a AR 1.
238
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
<P#Byte.Bit>
Constante de puntero
Descripcin de la operacin
+AR2 (Sumar a AR2) suma el desplazamiento que se haya indicado en la instruccin o en el ACU1-L, al contenido de AR2. El entero (16 bits) es ampliado primero con el signo correcto a 24 bits, y luego se suma a los 24 bits menos significativos de AR 2 (parte de la direccin relativa en AR2). La parte de la identificacin de rea en AR2 (bits 24, 25 y 26) no se altera. La operacin se ejecuta sin considerar ni afectar a los bits de la palabra de estado. +AR2: El entero (16 bits) a sumar al contenido de AR2 lo indica el valor del AKU1-L. Est permitido utilizar valores entre -32768 y +32767. +AR2 <P#Byte.Bit>: El desplazamiento a sumarse es indicado por el operando <P#Byte.Bit>.
Palabra de estado
RB A1 A0 OV OS OR STA RLO /ER
se escribe:
Ejemplo 1
AWL L +AR2 +300 Explicacin //Cargar el valor en el ACU1-L. //Sumar el ACU1-L (entero) a AR 2.
Ejemplo 2
AWL +AR2 P#300.0 Explicacin //Sumar el desplazamiento 300.0 a AR 2.
239
<nmero>
Descripcin de la operacin
BLD <nmero> (Estructuracin de imagen; operacin nula) no ejecuta ninguna funcin y tampoco afecta a los bits de la palabra de estado. La operacin sirve de ayuda a la unidad de programacin (PG) para estructurar la imagen de forma grfica, la cual se genera de forma automtica cuando se visualiza un programa KOP o FUP en AWL. El operando <nmero> es el nmero de identificacin de la operacin BLD y es generado por la unidad de programacin.
Palabra de estado
RB A1 A0 OV OS OR STA RLO /ER
se escribe:
240
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Descripcin de la operacin
NOP 0 (Operacin NOP con el operando "0") no ejecuta ninguna funcin y tampoco afecta a los bits de la palabra de estado. El cdigo de operacin contiene una configuracin binaria con 16 ceros. La operacin slo tiene importancia para la unidad de programacin (PG) cuando se visualiza un programa.
Palabra de estado
RB A1 A0 OV OS OR STA RLO /ER
se escribe:
Descripcin de la operacin
NOP 1 (Operacin NOP con el operando "1") no ejecuta ninguna funcin y tampoco afecta a los bits de la palabra de estado. El cdigo de operacin contiene una configuracin binaria con 16 unos. La operacin slo tiene importancia para la unidad de programacin (PG) cuando se visualiza un programa.
Palabra de estado
RB A1 A0 OV OS OR STA RLO /ER
se escribe:
241
242
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
A
A.1
Nemotcnica alemana
= ) *D *I *R /D /I /R ?D ?I ?R + +AR1 +AR2 +D +I +R ABS ACOS ASIN ATAN AUF BE BEA BEB BLD BTD BTI CALL CALL
= ) *D *I *R /D /I /R ?D ?I ?R + +AR1 +AR2 +D +I +R ABS ACOS ASIN ATAN OPN BE BEU BEC BLD BTD BTI CALL CALL
Operaciones lgicas con bits Operaciones lgicas con bits Funcin en coma fija Funcin en coma fija Funcin en coma flotante Funcin en coma fija Funcin en coma fija Funcin en coma flotante Comparador Comparador Comparador Funcin en coma fija Acumulador Acumulador Funcin en coma fija Funcin en coma fija Funcin en coma flotante Funcin en coma flotante Funcin en coma flotante Funcin en coma flotante Funcin en coma flotante Bloque de datos Control del programa Control del programa Control del programa Acumulador Convertidor Convertidor Control del programa Control del programa
Asignar Cerrar parntesis Multiplicar ACU 1 por ACU 2 como entero doble Multiplicar ACU 1 por ACU 2 como entero Multiplicar ACU 1 por ACU 2 como nmero de coma flotante (32 bits) Dividir ACU 2 por ACU 1 como entero doble Dividir ACU 2 por ACU 1 como entero Dividir ACU 2 por ACU 1 como nmero de coma flotante (32 bits) Comparar enteros dobles ==, <>, >, <, >=, <= Comparar enteros ==, <>, >, <, >=, <= Comparar nmeros en coma flotante (32 bits) ==, <>, >, <, >=, <= Sumar constante entera o entera doble Sumar el ACU 1 al registro de direcciones 1 Sumar el ACU1 al registro de direcciones 2 Sumar ACU 1 y 2 como entero doble Sumar ACU 1 y 2 como entero Sumar ACU 1 y 2 como nmero de coma flotante (32 bits) Valor absoluto de un nmero de coma flotante (32 bits, IEEE 754) Calcular el arcocoseno de un nmero de coma flotante (32 bits) Calcular el arcoseno de un nmero de coma flotante (32 bits) Calcular la arcotangente de un nmero de coma flotante (32 bits) Abrir bloque de datos Fin de bloque Fin de bloque incondicionado Fin de bloque condicionado Estructuracin de imagen (operacin nula) Convertir nmero BCD a entero doble Convertir BCD a entero Llamada Llamar a una multiinstancia
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
243
Sinopsis de las operaciones AWL A.1 Operaciones AWL ordenadas segn la nemotcnica alemana (SIMATIC)Operaciones con acumuladores
Nemotcnica alemana
Nemotcnica inglesa
Descripcin
CALL CC CLR COS D DEC DTB DTR ENT EXP FN FP FR FR I INC INVD INVI ITB ITD L L STW L
CALL CC CLR COS D DEC DTB DTR ENT EXP FN FP FR FR I INC INVD INVI ITB ITD L L STW L
Control del programa Control del programa Operaciones lgicas con bits Funcin en coma flotante Funcin en coma fija Acumulador Convertidor Convertidor Acumulador Funcin en coma flotante Operaciones lgicas con bits Operaciones lgicas con bits Contadores Temporizadores Funcin en coma fija Acumulador Convertidor Convertidor Convertidor Convertidor Cargar/Transferir Cargar/Transferir Temporizadores
Llamar a un bloque de una librera Llamada condicionada Desactivar RLO (=0) Calcular el coseno de ngulos como nmeros de coma flotante (32 bits) Restar ACU 1 de ACU 2 como entero doble Decrementar ACU 1-L-L Convertir entero doble en BCD Convertir entero doble en nmero en coma flotante (32 bits, IEEE 754) Introducir pila de ACU Calcular el exponente de un nmero de coma flotante (32 bits) Flanco negativo Flanco positivo Habilitar contador (Frei, FR Z 0 zu Z 255) Habilitar temporizador Restar ACU 1 de ACU 2 como entero Incrementar ACU 1-L-L Complemento a uno de un entero doble Complemento a uno de un entero Convertir entero en BCD Convertir entero en entero doble Cargar Cargar palabra de estado en ACU 1 Cargar valor actual del temporizador en ACU 1 como entero (el valor de temporizacin actual puede ser un valor comprendido en el margen de 0 a 255, p. ej., L T 32) Cargar valor actual del contador en ACU 1 como nmero BCD (el valor de contaje actual puede ser un valor comprendido en el margen de 0 a 255, p. ej., L Z 15) Cargar la longitud del DB global en el ACU 1 Cargar nmero del bloque de datos global en ACU 1 Cargar longitud del bloque de datos de instancia en ACU 1 Cargar nmero del bloque de datos de instancia en ACU 1 Cargar registro de direcciones 1 con contenido del ACU 1 Cargar registro de direcciones 1 con puntero (formato de 32 bits) Cargar registro de direcciones 1 con contenido del registro de direcciones 2 Cargar registro de direcciones 2 con contenido del ACU 1 Cargar registro de direcciones 2 con puntero (formato de 32 bits) Cargar valor actual del contador en ACU 1 como nmero BCD (el valor de contaje actual pueder ser un nmero comprendido en el margen de 0 a 255, p. ej. LC T 32)
Contadores
Bloque de datos Bloque de datos Bloque de datos Bloque de datos Cargar/Transferir Cargar/Transferir Cargar/Transferir Cargar/Transferir Cargar/Transferir Contadores
244
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Sinopsis de las operaciones AWL A.1 Operaciones AWL ordenadas segn la nemotcnica alemana (SIMATIC)Operaciones con acumuladores
Nemotcnica alemana
Nemotcnica inglesa
Descripcin
LC
LC
Temporizadores
Cargar el valor actual de temporizacin en ACU 1 como nmero BCD (el valor de temporizacin actual puede ser un nmero comprendido en el margen de 0 a 255, p. ej.: LC T 32) Salir de la pila de ACU Calcular el logaritmo natural de un nmero de coma flotante (32 bits) Bucle Almacenar el RLO en pila MCR, inicio rea MCR Fin rea MCR Activar rea MCR Desactivar rea MCR Resto de la divisin de enteros dobles Complemento a dos de un entero doble Complemento a dos de un entero Invertir un nmero en coma flotante (32 bits, IEEE 754) Operacin nula 0 Operacin nula 1 Negar el RLO O O con abrir parntesis O con doble palabra (32 bits) O-No O-No con abrir parntesis O con palabra (16 bits) CPU con dos acumuladores CPU con cuatro acumuladores CPU con dos acumuladores CPU con cuatro acumuladores Desactivar Desactivar contador (el valor de temporizacin actual puede ser un nmero comprendido en el margen de 0 a 255, p. ej.: R Z 15) Desactivar temporizador (el temporizador actual puede ser un nmero comprendido en el margen de 0 a 255, p. ej.: R T 32) Restar ACU 1 de ACU 2 como nmero de coma flotante (32 bits) Rotar doble palabra a la izquierda (32 bits) Rotar ACU 1 a la izquierda va A1 (32 bits) Redondear un nmero en coma flotante a entero Redondear un nmero real al prximo entero inferior Redondear un nmero real al prximo entero superior Rotar doble palabra a la derecha (32 bits)
LEAVE LN LOOP MCR( )MCR MCRA MCRD MOD NEGD NEGI NEGR NOP 0 NOP 1 NOT O O( OD ON ON( OW POP POP PUSH PUSH R R R R RLD RLDA RND RND RND+ RRD
LEAVE LN LOOP MCR( )MCR MCRA MCRD MOD NEGD NEGI NEGR NOP 0 NOP 1 NOT O O( OD ON ON( OW POP POP PUSH PUSH R R R R RLD RLDA RND RND RND+ RRD
Acumulador Funcin en coma flotante Saltos Control del programa Control del programa Control del programa Control del programa Funcin en coma fija Convertidor Convertidor Convertidor Acumulador Acumulador Operaciones lgicas con bits Operaciones lgicas con bits Operaciones lgicas con bits Bits Operaciones lgicas con palabras Operaciones lgicas con bits Operaciones lgicas con bits Bits Operaciones lgicas con palabras Acumulador Acumulador Acumulador Acumulador Operaciones lgicas con bits Contadores Temporizadores Funcin en coma flotante Desplazar/Rotar Desplazar/Rotar Convertidor Convertidor Convertidor Desplazar/Rotar
245
Sinopsis de las operaciones AWL A.1 Operaciones AWL ordenadas segn la nemotcnica alemana (SIMATIC)Operaciones con acumuladores
Nemotcnica alemana
Nemotcnica inglesa
Descripcin
RRDA S S SA SAVE SE SET SI SIN SLD SLW SPA SPB SPBB SPBI SPBIN SPBN SPBNB SPL SPM SPMZ SPN SPO SPP SPPZ SPS SPU SPZ SQR SQRT SRD SRW SS SSD SSI SV T T STW TAD
RRDA S S SF SAVE SD SET SP SIN SLD SLW JU JC JCB JBI JNBI JCN JNB JL JM JMZ JN JO JP JPZ JOS JUO JZ SQR SQRT SRD SRW SS SSD SSI SE T T STW CAD
Desplazar/Rotar Operaciones lgicas con bits Contadores Temporizadores Operaciones lgicas con bits Temporizadores Operaciones lgicas con bits Temporizadores Funcin en coma flotante Desplazar/Rotar Desplazar/Rotar Saltos Saltos Saltos Saltos Saltos Saltos Saltos Saltos Saltos Saltos Saltos Saltos Saltos Saltos Saltos Saltos Saltos Funcin en coma flotante Funcin en coma flotante Desplazar/Rotar Desplazar/Rotar Temporizadores Desplazar/Rotar Desplazar/Rotar Temporizadores Cargar/Transferir Cargar/Transferir Convertidor
Rotar ACU 1 a la derecha va A1 (32 bits) Activar Poner contador al valor inicial (el contador actual puede ser un nmero comprendido en el margen de 0 a 255, p. ej.: S Z 15) Temporizador como retardo a la desconexin Memorizar el RLO en el registro RB Temporizador como retardo a la conexin Activar Temporizador como impulso Calcular el seno de ngulos como nmeros de coma flotante (32 bits) Desplazar doble palabra a la izquierda (32 bits) Desplazar palabra a la izquierda (16 bits) Salto incondicionado Saltar si RLO = 1 Saltar si RLO = 1 y salvaguardar RLO en RB Saltar si RB = 1 Saltar si RB = 0 Saltar si RLO = 0 Saltar si RLO = 0 y salvar RLO en RB Saltar utilizando una lista de metas Saltar si resultado < 0 Saltar si el resultado <= 0 Saltar si resultado <> 0 Saltar si OV = 1 Saltar si el resultado > 0 Saltar si el resultado >= 0 Saltar si OS = 1 Saltar si el resultado no es vlido Saltar si el resultado = 0 Calcular el cuadrado de un nmero de coma flotante (32 bits) Calcular la raz cuadrada de un nmero de coma flotante (32 bits) Desplazar doble palabra a la derecha (32 bits) Desplazar palabra a la derecha (16 bits) Temporizador como retardo a la conexin con memoria Desplazar signo de nmero entero a la derecha (32 bits) Desplazar signo de nmero entero a la derecha (16 bits) Temporizador como impulso prolongado Transferir Transferir ACU 1 a la palabra de estado Invertir el orden de los bytes en el ACU 1 (32 bits)
246
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Sinopsis de las operaciones AWL A.1 Operaciones AWL ordenadas segn la nemotcnica alemana (SIMATIC)Operaciones con acumuladores
Nemotcnica alemana
Nemotcnica inglesa
Descripcin
TAK TAN TAR TAR1 TAR1 TAR1 TAR2 TAR2 TAW TDB TRUNC U U( UC UD UN UN( UW X X( XN XN( XOD XOW ZR ZV
TAK TAN CAR TAR1 TAR1 TAR1 TAR2 TAR2 CAW CDB TRUNC A A( UC AD AN AN( AW X X( XN XN( XOD XOW CD CU
Acumulador Funcin en coma flotante Cargar/Transferir Cargar/Transferir Cargar/Transferir Cargar/Transferir Cargar/Transferir Cargar/Transferir Convertidor Bloque de datos Convertidor Operaciones lgicas con bits Operaciones lgicas con bits Control del programa Bits Operaciones lgicas con palabras Operaciones lgicas con bits Operaciones lgicas con bits Bits Operaciones lgicas con palabras Operaciones lgicas con bits Operaciones lgicas con bits Operaciones lgicas con bits Operaciones lgicas con bits Bits Operaciones lgicas con palabras Bits Operaciones lgicas con palabras Contadores Contadores
Intercambiar ACU 1 y ACU 2 Calcular la tangente de ngulos como nmeros de coma flotante (32 bits) Intercambiar registro de direcciones 1 y registro de direcciones 2 Transferir registro de direcciones 1 a ACU 1 Transferir registro de direcciones 1 a direccin de destino (puntero de 32 bits) Transferir registro de direcciones 1 a registro de direcciones 2 Transferir registro de direcciones 2 a ACU 1 Transferir registro de direcciones 2 a direccin de destino (puntero de 32 bits) Cambiar el orden de los bytes en el ACU 1-L (16 bits) Intercambiar bloque de datos global y bloque de datos de instancia Truncar Y Y con abrir parntesis Llamada incondicionada Y con doble palabra (32 bits) Y-No Y-No con abrir parntesis Y con palabra (16 bits) O-exclusiva O-exclusiva con abrir parntesis O-exclusiva-NO O-exclusiva-NO con abrir parntesis O-exclusiva con doble palabra (32 bits) O-exclusiva con palabra (16 bits) Decrementar contador Incrementar contador
247
Sinopsis de las operaciones AWL A.2 Operaciones AWL ordenadas segn la nemotcnica inglesa (internacional)Operaciones con acumuladores
A.2
Nemotcnica inglesa
= ) + *D *I *R /D /I /R ?D ?I ?R +AR1 +AR2 +D +I +R A A( ABS ACOS AD AN AN( ASIN ATAN AW BE BEC BEU BLD BTD BTI CAD
= ) + *D *I *R /D /I /R ?D ?I ?R +AR1 +AR2 +D +I +R U U( ABS ACOS UD UN UN( ASIN ATAN UW BE BEB BEA BLD BTD BTI TAD
Operaciones lgicas con bits Operaciones lgicas con bits Funcin en coma fija Funcin en coma fija Funcin en coma fija Funcin en coma flotante Funcin en coma fija Funcin en coma fija Funcin en coma flotante Comparador Comparador Comparador Acumulador Acumulador Funcin en coma fija Funcin en coma fija Funcin en coma flotante Operaciones lgicas con bits Operaciones lgicas con bits Funcin en coma flotante Funcin en coma flotante Bits Operaciones lgicas con palabras Operaciones lgicas con bits Operaciones lgicas con bits Funcin en coma flotante Funcin en coma flotante Bits Operaciones lgicas con palabras Control del programa Control del programa Control del programa Acumulador Convertidor Convertidor Convertidor
Asignar Cerrar parntesis Sumar constante entera o entera doble Multiplicar ACU 1 por ACU 2 como entero doble Multiplicar ACU 1 por ACU 2 como entero Multiplicar ACU 1 por ACU 2 como nmero de coma flotante (32 bits) Dividir ACU 2 por ACU 1 como entero doble Dividir ACU 2 por ACU 1 como entero Dividir ACU 2 por ACU 1 como nmero de coma flotante (32 bits) Comparar enteros dobles ==, <>, >, <, >=, <= Comparar enteros ==, <>, >, <, >=, <= Comparar nmeros en coma flotante (32 bits) ==, <>, >, <, >=, <= Sumar el ACU 1 al registro de direcciones 1 Sumar el ACU1 al registro de direcciones 2 Sumar ACU 1 y 2 como entero doble Sumar ACU 1 y 2 como entero Sumar ACU 1 y 2 como nmero de coma flotante (32 bits) Y Y con abrir parntesis Valor absoluto de un nmero de coma flotante (32 bits, IEEE 754) Calcular el arcocoseno de un nmero de coma flotante (32 bits) Y con doble palabra (32 bits) Y-No Y-No con abrir parntesis Calcular el arcoseno de un nmero de coma flotante (32 bits) Calcular la arcotangente de un nmero de coma flotante (32 bits) Y con palabra (16 bits) Fin de bloque Fin de bloque condicionado Fin de bloque incondicionado Estructuracin de imagen (operacin nula) Convertir nmero BCD a entero doble Convertir BCD a entero Invertir el orden de los bytes en el ACU 1 (32 bits)
248
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Sinopsis de las operaciones AWL A.2 Operaciones AWL ordenadas segn la nemotcnica inglesa (internacional)Operaciones con acumuladores
Nemotcnica inglesa
Nemotcnica alemana
Descripcin
CALL CALL CALL CAR CAW CC CD CDB CLR COS CU D DEC DTB DTR ENT EXP FN FP FR FR I INC INVD INVI ITB ITD JBI JC JCB JCN JL JM JMZ JN JNB JNBI JO
CALL CALL CALL TAR TAW CC ZR TDB CLR COS ZV D DEC DTB DTR ENT EXP FN FP FR FR I INC INVD INVI ITB ITD SPBI SPB SPBB SPBN SPL SPM SPMZ SPN SPBNB SPBIN SPO
Control del programa Control del programa Control del programa Cargar/Transferir Convertidor Control del programa Contadores Bloque de datos Operaciones lgicas con bits Funcin en coma flotante Contadores Funcin en coma fija Acumulador Convertidor Convertidor Acumulador Funcin en coma flotante Operaciones lgicas con bits Operaciones lgicas con bits Contadores Temporizadores Funcin en coma fija Acumulador Convertidor Convertidor Convertidor Convertidor Saltos Saltos Saltos Saltos Saltos Saltos Saltos Saltos Saltos Saltos Saltos
Llamada Llamar a una multiinstancia Llamar a un bloque de una librera Intercambiar registro de direcciones 1 y registro de direcciones 2 Cambiar el orden de los bytes en el ACU 1-L (16 bits) Llamada condicionada Decrementar contador Intercambiar bloque de datos global y bloque de datos de instancia Desactivar RLO (=0) Calcular el coseno de ngulos como nmeros de coma flotante (32 bits) Incrementar contador Restar ACU 1 de ACU 2 como entero doble Decrementar ACU 1-L-L Convertir entero doble en BCD Convertir entero doble en nmero en coma flotante (32 bits, IEEE 754) Introducir pila de ACU Calcular el exponente de un nmero de coma flotante (32 bits) Flanco negativo Flanco positivo Habilitar contador (Frei, FR Z 0 zu Z 255) Habilitar temporizador Restar ACU 1 de ACU 2 como entero Incrementar ACU 1-L-L Complemento a uno de un entero doble Complemento a uno de un entero Convertir entero en BCD Convertir entero en entero doble Saltar si RB = 1 Saltar si RLO = 1 Saltar si RLO = 1 y salvaguardar RLO en RB Saltar si RLO = 0 Saltar utilizando una lista de metas Saltar si resultado < 0 Saltar si el resultado <= 0 Saltar si resultado <> 0 Saltar si RLO = 0 y salvar RLO en RB Saltar si RB = 0 Saltar si OV = 1
249
Sinopsis de las operaciones AWL A.2 Operaciones AWL ordenadas segn la nemotcnica inglesa (internacional)Operaciones con acumuladores
Nemotcnica inglesa
Nemotcnica alemana
Descripcin
Saltar si OS = 1 Saltar si el resultado > 0 Saltar si el resultado >= 0 Salto incondicionado Saltar si el resultado no es vlido Saltar si el resultado = 0 Cargar Cargar palabra de estado en ACU 1 Cargar valor actual del temporizador en ACU 1 como entero (el valor de temporizacin actual puede ser un valor comprendido en el margen de 0 a 255, p. ej., L T 32) Cargar valor actual del contador en ACU 1 como nmero BCD (el valor de contaje actual puede ser un valor comprendido en el margen de 0 a 255, p. ej., L Z 15) Cargar la longitud del DB global en el ACU 1 Cargar nmero del bloque de datos global en ACU 1 Cargar longitud del bloque de datos de instancia en ACU 1 Cargar nmero del bloque de datos de instancia en ACU 1 Cargar registro de direcciones 1 con contenido del ACU 1 Cargar registro de direcciones 1 con puntero (formato de 32 bits) Cargar registro de direcciones 1 con contenido del registro de direcciones 2 Cargar registro de direcciones 2 con contenido del ACU 1 Cargar registro de direcciones 2 con puntero (formato de 32 bits) Cargar valor actual del contador en ACU 1 como nmero BCD (el valor de contaje actual pueder ser un nmero comprendido en el margen de 0 a 255, p. ej. LC T 32) Cargar el valor actual de temporizacin en ACU 1 como nmero BCD (el valor de temporizacin actual puede ser un nmero comprendido en el margen de 0 a 255, p. ej.: LC T 32) Salir de la pila de ACU Calcular el logaritmo natural de un nmero de coma flotante (32 bits) Bucle Almacenar el RLO en pila MCR, inicio rea MCR Fin rea MCR Activar rea MCR Desactivar rea MCR Resto de la divisin de enteros dobles Complemento a dos de un entero doble Complemento a dos de un entero Invertir un nmero en coma flotante (32 bits, IEEE 754) Operacin nula 0
Contadores
Bloque de datos Bloque de datos Bloque de datos Bloque de datos Cargar/Transferir Cargar/Transferir Cargar/Transferir Cargar/Transferir Cargar/Transferir Contadores
LC
LC
Temporizadores
LEAVE LN LOOP MCR( )MCR MCRA MCRD MOD NEGD NEGI NEGR NOP 0
LEAVE LN LOOP MCR( )MCR MCRA MCRD MOD NEGD NEGI NEGR NOP 0
Acumulador Funcin en coma flotante Saltos Control del programa Control del programa Control del programa Control del programa Funcin en coma fija Convertidor Convertidor Convertidor Acumulador
250
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Sinopsis de las operaciones AWL A.2 Operaciones AWL ordenadas segn la nemotcnica inglesa (internacional)Operaciones con acumuladores
Nemotcnica inglesa
Nemotcnica alemana
Descripcin
NOP 1 NOT O O( OD ON ON( OPN OW POP POP PUSH PUSH R R R R RLD RLDA RND RND RND+ RRD RRDA S S SAVE SD SE SET SF SIN SLD SLW SP SQR
NOP 1 NOT O O( OD ON ON( AUF OW POP POP PUSH PUSH R R R R RLD RLDA RND RND RND+ RRD RRDA S S SAVE SE SV SET SA SIN SLD SLW SI SQR
Acumulador Operaciones lgicas con bits Operaciones lgicas con bits Operaciones lgicas con bits Bits Operaciones lgicas con palabras Operaciones lgicas con bits Operaciones lgicas con bits Bloque de datos Bits Operaciones lgicas con palabras Acumulador Acumulador Acumulador Acumulador Operaciones lgicas con bits Contadores Temporizadores Funcin en coma flotante Desplazar/Rotar Desplazar/Rotar Convertidor Convertidor Convertidor Desplazar/Rotar Desplazar/Rotar Operaciones lgicas con bits Contadores Operaciones lgicas con bits Temporizadores Temporizadores Operaciones lgicas con bits Temporizadores Funcin en coma flotante Desplazar/Rotar Desplazar/Rotar Temporizadores Funcin en coma flotante
Operacin nula 1 Negar el RLO O O con abrir parntesis O con doble palabra (32 bits) O-No O-No con abrir parntesis Abrir bloque de datos O con palabra (16 bits) CPU con dos acumuladores CPU con cuatro acumuladores CPU con dos acumuladores CPU con cuatro acumuladores Desactivar Desactivar contador (el valor de temporizacin actual puede ser un nmero comprendido en el margen de 0 a 255, p. ej.: R Z 15) Desactivar temporizador (el temporizador actual puede ser un nmero comprendido en el margen de 0 a 255, p. ej.: R T 32) Restar ACU 1 de ACU 2 como nmero de coma flotante (32 bits) Rotar doble palabra a la izquierda (32 bits) Rotar ACU 1 a la izquierda va A1 (32 bits) Redondear un nmero en coma flotante a entero Redondear un nmero real al prximo entero inferior Redondear un nmero real al prximo entero superior Rotar doble palabra a la derecha (32 bits) Rotar ACU 1 a la derecha va A1 (32 bits) Activar Poner contador al valor inicial (el contador actual puede ser un nmero comprendido en el margen de 0 a 255, p. ej.: S Z 15) Memorizar el RLO en el registro RB Temporizador como retardo a la conexin Temporizador como impulso prolongado Activar Temporizador como retardo a la desconexin Calcular el seno de ngulos como nmeros de coma flotante (32 bits) Desplazar doble palabra a la izquierda (32 bits) Desplazar palabra a la izquierda (16 bits) Temporizador como impulso Calcular el cuadrado de un nmero de coma flotante (32 bits)
251
Sinopsis de las operaciones AWL A.2 Operaciones AWL ordenadas segn la nemotcnica inglesa (internacional)Operaciones con acumuladores
Nemotcnica inglesa
Nemotcnica alemana
Descripcin
SQRT SRD SRW SS SSD SSI T T STW TAK TAN TAR1 TAR1 TAR1 TAR2 TAR2 TRUNC UC X X( XN XN( XOD XOW
SQRT SRD SRW SS SSD SSI T T STW TAK TAN TAR1 TAR1 TAR1 TAR2 TAR2 TRUNC UC X X( XN XN( XOD XOW
Funcin en coma flotante Desplazar/Rotar Desplazar/Rotar Temporizadores Desplazar/Rotar Desplazar/Rotar Cargar/Transferir Cargar/Transferir Acumulador Funcin en coma flotante Cargar/Transferir Cargar/Transferir Cargar/Transferir Cargar/Transferir Cargar/Transferir Convertidor Control del programa Operaciones lgicas con bits Operaciones lgicas con bits Operaciones lgicas con bits Operaciones lgicas con bits Bits Operaciones lgicas con palabras Bits Operaciones lgicas con palabras
Calcular la raz cuadrada de un nmero de coma flotante (32 bits) Desplazar doble palabra a la derecha (32 bits) Desplazar palabra a la derecha (16 bits) Temporizador como retardo a la conexin con memoria Desplazar signo de nmero entero a la derecha (32 bits) Desplazar signo de nmero entero a la derecha (16 bits) Transferir Transferir ACU 1 a la palabra de estado Intercambiar ACU 1 y ACU 2 Calcular la tangente de ngulos como nmeros de coma flotante (32 bits) Transferir registro de direcciones 1 a ACU 1 Transferir registro de direcciones 1 a direccin de destino (puntero de 32 bits) Transferir registro de direcciones 1 a registro de direcciones 2 Transferir registro de direcciones 2 a ACU 1 Transferir registro de direcciones 2 a direccin de destino (puntero de 32 bits) Truncar Llamada incondicionada O-exclusiva O-exclusiva con abrir parntesis O-exclusiva-NO O-exclusiva-NO con abrir parntesis O-exclusiva con doble palabra (32 bits) O-exclusiva con palabra (16 bits)
252
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
B
B.1
Ejemplos de programacin
Lista de ejemplos de programacin
Aplicaciones prcticas
Todas las instrucciones AWL activan una operacin determinada. Combinando estas operaciones en un programa se puede llevar a cabo una gran variedad de tareas de automatizacin. Este captulo contiene los siguientes ejemplos: Controlar una cinta transportadora usando operaciones lgicas con bits Detectar el sentido de marcha de una cinta transportadora usando operaciones lgicas con bits Generar un impulso de reloj usando operaciones de temporizacin Supervisin del depsito usando operaciones de contaje y de comparacin Resolver un problema usando operaciones aritmticas con enteros Ajustar el tiempo de calentamiento de una caldera
Operaciones utilizadas
Nemotcnica alemana Operacin Descripcin
Lgica de palabras Lgica de palabras Contadores Operaciones lgicas con bits Operaciones lgicas con bits Operaciones lgicas con bits Funcin en coma fija Funcin en coma fija Funcin en coma fija Comparadores Operaciones lgicas con bits Operaciones lgicas con bits Operaciones lgicas con bits Acumuladores Control del programa Carga/Transferencia Temporizadores
Y con palabra O con palabra Decrementar contador, Incrementar contador Activar, Desactivar Negar RLO Flanco positivo Sumar ACU 1 y ACU 2 como entero Dividir ACU 2 por ACU 1 como entero Multiplicar ACU 1 y ACU 2 como entero Comparar enteros Y, Y no O, O no Asignar Incrementar ACU 1 Fin de bloque, Fin de bloque condicionado Cargar, Transferir Arrancar temporizador como impulso prolongado
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
253
B.2
Sensor S5
MOTOR_ON
S1 S2
O Marcha O Paro
S3 S4
O Marcha O Paro
Pulsador de marcha Pulsador de paro Pulsador de marcha Pulsador de paro Sensor Motor
S1 S2 S3 S4 S5 MOTOR_ON
254
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Programacin absoluta
Programacin simblica
O O S O O R
O O S O O R
S1 S3 MOTOR_ON S2 S4 MOTOR_ON
ON E 1.5
ON S5
E E A E
//Accionando cualquiera de los pulsadores stop o abriendo el contacto //normalmente cerrado al final de la cinta separa el motor.
A 4.0
BO2
BO1
A 4.1
255
Barrera ptica 1 Barrera ptica 2 Indicador de movimiento a la derecha Indicador de movimiento a la izquierda Marca de impulso 1 Marca de impulso 2
Programacin absoluta
Programacin simblica
U FP UN S U FP UN S UN UN R R
E 0.0 M 0.0 E 0.1 A 4.1 E 0.1 M 0.1 E 0.0 A 4.0 E 0.0 E 0.1 A 4.0 A 4.1
U FP UN S U FP UN S UN UN R R
BO1 MI1 MI 2 IZQ BO1 MI 2 BO1 DER BO1 BO2 DER IZQ
FP UN S U
M E A E
//Si el estado de seal cambia de 0 a 1 (flanco positivo) en la entrada E 1.0 //y, al mismo tiempo, el estado de seal de la entrada E 0.0 es 0, significa //que el paquete que transporta la cinta se est moviendo a la derecha. Si una //de las barreras pticas se interrumpe, significa que hay un paquete entre //las barreras.
FP UN S UN
M E A E
//Si ninguna de las barreras pticas est interrumpida, significa que no hay //ningn paquete entre las barreras. El puntero del sentido de transporte se //desconecta.
UN R R
256
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
B.3
Reloj
Para generar una seal que se repita peridicamente se puede utilizar un reloj o un rel intermitente. Los relojes se suelen utilizar en sistemas de sealizacin que controlan la intermitencia de lmparas indicadoras. En el S7-300 se puede implementar la funcin Reloj usando un procesamiento temporizado en bloques de organizacin especiales. El ejemplo siguiente de un programa AWL muestra el uso de funciones temporizadas para generar un reloj.
MB100 1 MB100
1 0 250 ms
El temporizador vuelve a arrancar tan pronto como haya transcurrido el tiempo programado. Por este motivo, la consulta efectuada por la instruccin UN T1 produce el estado de seal 1 slo brevemente. La figura muestra el aspecto de un bit RLO negado (invertido):
1 0 250 ms
Cada 250 ms el bit RLO negado es 0. En este caso la operacin BEB no finaliza el bloque, sino que se incrementa en 1 el contenido del byte de marcas MB100. El contenido del byte de marcas MB100 cambia cada 250 de la forma siguiente: 0 -> 1 -> 2 -> 3 -> ... -> 254 -> 255 -> 0 -> 1 ...
257
0.5 s 1s 2s 4s 8s 16 s 32 s 64 s
(250 ms on / 250 ms off) (0.5 s on / 0.5 s off) (1 s on / 1 s off) (2 s on / 2 s off) (4 s on / 4 s off) (8 s on / 8 s off) (16 s on / 16 s off) (32 s on / 32 s off)
Operacin AWL
AWL U U = Explicacin //M10.0 = 1, cuando se produce un fallo. La lmpara indicadora de fallos //luce intermitentemente a una frecuencia de 1 Hz cuando ocurre un fallo.
0 1 2 3 4 5 6 7 8 9 10 11 12
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1 1 1 1 1
0 0 0 0 1 1 1 1 0 0 0 0 1
0 1 0 1 0 1 0 1 0 1 0 1 0
250 250 250 250 250 250 250 250 250 250 250 250 250
1 1
0 0
1 1
0 0
1 1
0
258
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
259
B.4
Panel indicador
Entrada de paquetes
E 12.0
E 12.1
Salida de paquetes
Cinta transportadora 2
260
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
E 0.0 Z1
U ZR
E 0.1 Z1
//Si el valor de contaje es menor o igual a 50, //se enciende la lmpara indicadora "Area de almacenamiento al 50%". // //Si el valor de contaje es mayor o igual a 90, //se enciende la lmpara indicadora "Area de almacenamiento al 90%". //
//Si el valor de contaje es mayor o igual a 100, //se enciende la lmpara indicadora "Area de almacenamiento llena". (Tambin //se puede utilizar la salida A 4.4 para bloquear la cinta transportadora 1).
261
B.5
Operacin AWL
AWL L L +I Explicacin //Cargar el valor de la palabra de entrada EW0 en el ACU 1. //Cargar el valor de la palabra de datos global DBW3 del DB5 en el ACU 1. //El antiguo contenido del ACU 1 se desplaza al ACU 2. //Sumar el contenido de las palabras bajas de los ACUs 1 y 2. El resultado //se deposita en la palabra baja del ACU 1. El contenido del ACU 2 y la //palabra alta del ACU 1 permanecen inalterados. //Cargar el valor constante +15 en el ACU 1. El antiguo contenido del //ACU 1 se desplaza al ACU 2. //Multiplicar el contenido de la palabra baja del ACU 2 por el contenido //de la palabra baja del ACU 1. El resultado se deposita en el ACU 1. El //contenido del ACU 2 permanece inalterado. //Cargar el valor de la palabra de marcas MW2 en el ACU 1. El antiguo //contenido del ACU 1 se desplaza al ACU 2. //Dividir el contenido de la palabra baja del ACU 2 por el contenido de la //palabra baja del ACU 1. El resultado se deposita en el ACU 1. El //contenido del ACU 2 permanece inalterado. //Transferir el resultado final a la palabra doble de marcas MD4. El //contenido de ambos acumuladores permanece inalterado.
L *I
+15
L /I
MW2
MD4
262
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
B.6
Caldera
4 ...0
Calor A 4.0
7....
...0
7...
XXXX
0001
1001
0001 EB1
EB0
Direccin absoluta
Pulsador de marcha Preselector digital para unidades Preselector digital para decenas Preselector digital para centenas Comienzo del proceso de calentamiento
Operacin AWL
AWL U = BEB L UW Explicacin //Si el temporizador est en marcha, //poner en marcha la calefaccin. //Si el temporizador est en marcha, finalizar aqu el procesamiento. Esto //impide que el temporizador T1 vuelva a arrancar al accionar el pulsador. //Enmascarar los bits de entrada E 0.4 a E 0.7 (es decir, volverlos a //poner a 0). Este valor de temporizacin en segundos se encuentra en la //palabra baja del ACU 1 en formato decimal codificado en binario. //Asignar la base de tiempo en segundos en los bits 12 y 13 de la palabra //baja del ACU 1. //Arrancar el temporizador T1 como temporizador de impulso prolongado //cuando se accione el pulsador.
T1 A 4.0
EW0 W#16#0FFF
OW U SV
W#16#2000 E 0.7 T1
263
264
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
Transferencia de parmetros
Los parmetros de un bloque se entregan o transfieren en forma de valores. En el caso de los bloques de funcin (FB), el bloque llamado utiliza una copia del valor del parmetro 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). Antes de la llamada se copian los valores INPUT en el DB de instancia, o en la pila LSTACK, segn el caso. Despus de la llamada se copian los valores OUTPUT en las variables. Dentro del bloque llamado se opera solamente con una copia. Las instrucciones AWL necesarias se encuentran en el bloque que efecta la llamada y quedan ocultos para el usuario. Nota Cuando en una funcin se utilizan marcas, entradas, salidas o entradas y salidas de la periferia como operandos actuales, stas reciben otro tratamiento que los dems operandos. La actualizacin no se lleva a cabo a travs de la pila LSTACK sino directamente.
Atencin
Vigile que al programar el bloque llamado tambin se escriban los parmetros declarados como OUTPUT, de lo contrario los valores emitidos sern arbitrarios. En el caso de los bloques de funcin se obtiene del DB de instancia el valor memorizado en la ltima llamada, mientras que en el caso de las funciones se obtiene aquel valor que se encuentre casualmente en la pila de datos locales (LSTACK). Tenga en cuenta los puntos siguientes:
Inicialice en lo posible todos los parmetros OUTPUT. Evite utilizar instrucciones de activacin (set) y desactivacin (reset). Estas instrucciones dependen del RLO. Si el RLO es 0 se mantiene el valor casual. Si programa un salto dentro del bloque, tenga cuidado de no saltarse ninguna parte en la que se escriban parmetros OUTPUT. No se olvide del BEB y del efecto que tienen las instrucciones MCR.
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
265
266
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
ndice
)
) 25 )MCR 177 ATAN 138, 139 AUF 76 Ayuda en pantalla 5
B
Base di tiempo 201 BE 156 BEA 158 BEB 157 BLD 243 BTD 48 BTI 46 Bucle 102, 103
*
*D 116 *I 109 *R 126
/
/D 117 /I 110, 111 /R 127
C
Calcular la raz cuadrada de un nmero de coma flotante (32 bits) 130 Calcular el arcocoseno de un nmero de coma flotante (32 bits) 137 Calcular el arcoseno de un nmero de coma flotante (32 bits) 136 Calcular el coseno de ngulos como nmeros de coma flotante (32 bits) 134 Calcular el cuadrado de un nmero de coma flotante (32 bits) 129 Calcular el logaritmo natural de un nmero de coma flotante (32 bits) 132 Calcular el seno de ngulos como nmeros de coma flotante (32 bits) 133 Calcular la arcotangente de un nmero de coma flotante (32 bits) 138 Calcular la tangente de ngulos como nmeros de coma flotante (32 bits) 135 CALL 159, 160, 161 Cambiar el orden de los bytes en el ACU 1-L (16 bits) 58 Cargar 142 Cargar el valor actual de temporizacin en ACU 1 como nmero BCD 207 Cargar la longitud del DB global en el ACU 1 77 Cargar longitud del bloque de datos de instancia en ACU 1 78 Cargar nmero del bloque de datos de instancia en ACU 1 79 Cargar nmero del bloque de datos global en ACU 1 78 Cargar palabra de estado en ACU 1 144 Cargar registro de direcciones 1 con contenido del ACU 1 145 Cargar registro de direcciones 1 con contenido del registro de direcciones 2 147 Cargar registro de direcciones 2 con contenido del ACU 1 147
?
? D 41 ? I 40 ? R 42
+
+ 112 +AR1 241, 242 +AR2 242, 243 +D 114 +I 107 +R 123, 124
=
= 27
A
Abrir bloque de datos 76 ABS 128 ACOS 137, 138 Activar 29 Activar rea MCR 178 Activar el RLO (=1) 30 Almacenar RLO en pila MCR inicio rea MCR 175 Aplicaciones prcticas 257 Area de memoria 65, 200 Area MCR 178 Asignar 27 ASIN 136, 137
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
267
ndice
Cargar registro de direcciones 2 con puntero (formato de 32 bits) 148 Cargar valor actual del contador en ACU 1 como nmero BCD 68 Cargar valor actual del contador en ACU 1 en forma de entero 67 Cargar valor actual del temporizador en ACU 1 como entero 205 CC 170 Cerrar parntesis 25 CLR 32 Comparar enteros (== <> > < >= <=) 40 Comparar enteros dobles (== <> > < >= <=) 41 Comparar nmeros en coma flotante (32 bits) (== <> > < >= <=) 42 Complemento a dos de un entero 55 Complemento a dos de un entero doble 56 Complemento a uno de un entero 53 Complemento a uno de un entero doble 54 Componentes de un temporizador 200 Configuracin binaria en el contador 65 Convertir BCD a entero 46 Convertir entero doble en BCD 51 Convertir entero doble en nmero en coma flotante (32 bits - IEEE 754) 52 Convertir entero en BCD 47 Convertir entero en entero doble 49 Convertir nmero BCD a entero doble 48 COS 134
E
Ejemplo Operaciones de aritmtca con enteros 267 Operaciones de contaje y comparacin 265 Operaciones de temporizacin 262 Operaciones lgicas con bits 258 Operaciones lgicas con palabras 268 Ejemplos de programacin 257 El MCR (Master Control Relay) 172 ENT 239 Estructuracin de imagen (operacin nula) 243 Evaluar bits de la palabra de estado en operaciones en coma fija 106 Evaluar los bits de la palabra de estado (operaciones de coma flotante) 122 EXP Calcular el exponente de un nmero de coma flotante (32 bits) 131
F
Fin rea MCR 177 Fin de bloque 156 Fin de bloque condicionado 157 Fin de bloque incondicionado 158 Flanco negativo 34, 35 Flanco positivo 36 FN 34 FP 36 FR 66, 204
D
-D 115 DEC 240, 241 Decrementar ACU 1-L-L 240 Decrementar contador 73 Desactivar 28 Desactivar rea MCR 179 Desactivar contador 69 Desactivar RLO (=0) 32 Desactivar temporizador 208 Desplazar doble palabra a la derecha (32 bits) 192 Desplazar doble palabra a la izquierda (32 bits) 190 Desplazar palabra a la derecha (16 bits) 188 Desplazar palabra a la izquierda (16 bits) 186 Desplazar signo de nmero entero a la derecha (16 bits) 182 Desplazar signo de nmero entero doble a la derecha (32 bits) 184 Dividir ACU 2 por ACU 1 como entero 110 Dividir ACU 2 por ACU 1 como entero doble 117 Dividir ACU 2 por ACU 1 como nmero de coma flotante (32 bits) 127 DTB 51 DTR 52
H
Habilitar contador 66 Habilitar temporizador 204
I
-I 108 INC 240 Incrementar ACU 1-L-L 240 Incrementar contador 72 Intercambiar ACU 1 y ACU 2 234 Intercambiar bloque de datos global y bloque de datos de instancia 77 Intercambiar registro de direcciones 1 y registro de direcciones 2 151 Introducir pila de ACU 239 INVD 54 Invertir el orden de los bytes en el ACU 1 (32 bits) 59 Invertir un nmero en coma flotante (32 bits - IEEE 754) 57 INVI 53 ITB 47 ITD 49
268
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
ndice
L
L 67, 142 L DBLG 77 L DBNO 78 L DILG 78 L DINO 79 L STW 144 LAR1 145 LAR1 <D> Cargar registro de direcciones 1 con puntero (formato de 32 bits) 146 LAR1 AR2 147 LAR2 147 LAR2 <D> 148 LC 68, 207 LEAVE 239 Lista de ejemplos de programacin 257 Lista de operaciones aritmticas con enteros 105 Lista de operaciones aritmticas con nmeros en coma flotante 121 Lista de operaciones con bloques 75 Lista de operaciones de acumuladores 233 Lista de operaciones de cargar y transferencia 141 Lista de operaciones de comparacin 39 Lista de operaciones de contaje 65 Lista de operaciones de control del programa 155 Lista de operaciones de conversin 45 Lista de operaciones de desplazamiento 181 Lista de operaciones de rotacin 194 Lista de operaciones de salto 81 Lista de operaciones de temporizacin 200 Lista de operaciones lgicas con bits 13 Lista de operaciones lgicas con palabras 219 Llamada 159, 160 Llamada a un FB 163 Llamada a un SFB 167 Llamada a una FC 164 Llamada a una SFC 168 Llamada condicionada 170 Llamada incondicionada 171 Llamar a un bloque de una librera 169 Llamar a un FB 162 Llamar a un SFB 166 Llamar a una FC 164 Llamar a una multiinstancia 169 Llamar a una SFC 168 LN 132 LOOP 102, 103
N
Negar el RLO 30 NEGD 56 NEGI 55 NEGR 57 Nemotcnica alemana/SIMATIC 247 Nemotcnica inglesa 252 Nociones bsicas 3 NOP 0 245 NOP 1 245 NOT 30 Notas importantes sobre el uso de la funcin MCR 174
O
O 17, 21 O con abrir parntesis 23 O con doble palabra (32 bits) 228 O con palabra (16 bits) 222 O( 23 OD 228, 229 O-exclusiva 19 O-exclusiva con abrir parntesis 24 O-exclusiva con doble palabra (32 bits) 230 O-exclusiva con palabra (16 bits) 224 O-exclusiva-NO 20 O-exclusiva-NO con abrir parntesis 25 ON 18 ON( 24 O-No 18 O-No con abrir parntesis 24 Operacin nula 0 245 Operacin nula 1 245 Operaciones AWL ordenadas segn la nemotcnica alemana (SIMATIC) 247 Operaciones AWL ordenadas segn la nemotcnica inglesa (internacional) 252 OW 222, 223
P
Poner contador al valor inicial 71 POP 237, 238 CPU con cuatro acumuladores 238 CPU con dos acumuladores 237 PUSH 235, 236 CPU con cuatro acumuladores 236 CPU con dos acumuladores 235
M
MCR 175, 176, 177, 178, 179 MCR( 175, 176 MCRA 178 MCRD 179 Memorizar el RLO en el registro RB 33 MOD 118 Multiplcar ACU 1 por ACU 2 como entero doble 116 Multiplicar ACU 1 por ACU 2 como de coma flotante (32 bits) 126 Multiplicar ACU 1 por ACU 2 como entero 109
R
R 28, 69, 208 -R 125 -R 125 Redondear nmero real al prximo entero inferior 63 Redondear un nmero en coma flotante a entero 60 Redondear un nmero real al prximo entero superior 62 Restar ACU 1 de ACU 2 como entero 108 Restar ACU 1 de ACU 2 como entero doble 115 Restar ACU 1 de ACU 2 como nmero de coma flotante (32 bits) 125
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
269
ndice
Resto de la divisin de enteros dobles 118 RLD 195, 196 RLDA 198, 199 RND 60 RND- 63 RND- 63 RND- 63 RND- 63 RND+ 62 Roar ACU 1 a la derecha va A1 (32 bits) 199 Rotar ACU 1 a la izquierda va A1 (32 bits) 198 Rotar doble palabra a la derecha (32 bits) 197 Rotar doble palabra a la izquierda (32 bits) 195 RRD 197, 198 RRDA 199
SQR 129 SQRT 130 SRD 192, 193 SRW 188, 189 SS 213, 214 SSD 184, 185 SSI 182, 183 Sumar ACU 1 y 2 como entero 107 Sumar ACU 1 y 2 como entero doble 114 Sumar ACU 1 y 2 como nmero de coma flotante (32 bits) 123 Sumar constante entera o entera doble 112 Sumar el ACU 1 al registro de direcciones 1 241 Sumar el ACU1 al registro de direcciones 2 242 SV 210, 211
S
S 29, 71 SA 215, 216 Salir de la pila de ACU 239 Saltar si el resultado <= 0 100 Saltar si el resultado = 0 95 Saltar si el resultado > 0 97 Saltar si el resultado >= 0 99 Saltar si el resultado no es vlido 101 Saltar si OS = 1 93 Saltar si OV = 1 92 Saltar si RB = 0 91 Saltar si RB = 1 90 Saltar si resultado < 0 98 Saltar si resultado <> 0 96 Saltar si RLO = 0 87 Saltar si RLO = 0 y salvar RLO en RB 89 Saltar si RLO = 1 86 Saltar si RLO = 1 y salvaguardar RLO en RB 88 Saltar utilizando una lista de metas 84 Salto incondicionado 83 SAVE 33 SE 211, 212 SET 30 SI 209 SIN 133 SLD 190, 191 SLW 186, 187 SPA 83 SPB 86 SPBB 88 SPBI 90 SPBIN 91 SPBN 87 SPBNB 89 SPL 84, 85 SPM 98 SPMZ 100 SPN 96 SPO 92 SPP 97 SPPZ 99 SPS 93, 94 SPU 101 SPZ 95
T
T 149 T STW 150 TAD 59 TAK 234 TAN 135 TAR 151 TAR1 151 TAR1 <D> 152 TAR1 AR2 153 TAR2 153 TAR2 <D> 154 TAW 58 TDB 77 Temporizador como impulso 209 Temporizador como impulso prolongado 210 Temporizador como retardo a la conexin 211 Temporizador como retardo a la conexin con memoria 213 Temporizador como retardo a la desconexin 215 Transferencia de parmetros 269 Transferir 149 Transferir ACU 1 a la palabra de estado 150 Transferir registro de direcciones 1 a ACU 1 151 Transferir registro de direcciones 1 a direccin de destino (puntero de 32 bits) 152 Transferir registro de direcciones 1 a registro de direcciones 2 153 Transferir registro de direcciones 2 a ACU 1 153 Transferir registro de direcciones 2 a direccin de destino (puntero de 32 bits) 154 TRUNC 61 Truncar 61
U
U 15 U( 22 UC 171 UD 226, 227 UN 16 UN( 23 UW 220, 221
270
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
ndice
V
Valor absoluto de un nmero de coma flotante (32 bits IEEE 754) 128 Valor de contaje 65 Valor de temporizacin 200, 201, 202, 203
Y
Y 15 Y antes de O 21 Y con abrir parntesis 22 Y con doble palabra (32 bits) 226 Y con palabra (16 bits) 220 Y-No 16 Y-No con abrir parntesis 23
X
X 19 X( 24 XN 20 XN( 25 XOD 230, 231 XOW 224, 225
Z
ZR 73 ZV 72
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01
271
ndice
272
Lista de instrucciones (AWL) para S7-300 y S7-400 Manual de referencia, 05/2010, A5E02790285-01