Está en la página 1de 272

Operaciones lgicas con bits

1
Operaciones de
comparacin

2
Operaciones de conversin

3
Operaciones de contaje

4
Operaciones con los bloques
de datos

5
Operaciones de salto

6
Aritmtica de enteros

7
Aritmtica en coma flotante

8
Operaciones de carga y
transferencia

9
Control de programa

10
Operaciones de
desplazamiento y rotacin

11
Operaciones de
temporizacin

12
Operaciones lgicas con
palabras

13
Operaciones con
acumuladores

14
Sinopsis de las operaciones
AWL

A
Ejemplos de programacin

B
Transferencia de parmetros
C
SIMATIC

Lista de instrucciones (AWL) para
S7-300 y S7-400
Manual de referencia
05/2010
A5E02790285-01
Este manual forma parte del paquete de documentacin con la
referencia:

6ES7810-4CA10-8DW1





Notas jurdicas
Filosofa en la sealizacin de advertencias y peligros
Este manual contiene las informaciones necesarias para la seguridad personal as como para la prevencin de
daos materiales. Las informaciones para su seguridad personal estn resaltadas con un tringulo de
advertencia; las informaciones para evitar nicamente daos materiales no llevan dicho tringulo. De acuerdo al
grado de peligro las consignas se representan, de mayor a menor peligro, como sigue.
PELIGRO
Significa que, si no se adoptan las medidas preventivas adecuadas se producir la muerte, o bien lesiones
corporales graves.

ADVERTENCIA
Significa que, si no se adoptan las medidas preventivas adecuadas puede producirse la muerte o bien lesiones
corporales graves.

PRECAUCIN
con tringulo de advertencia significa que si no se adoptan las medidas preventivas adecuadas, pueden
producirse lesiones corporales.

PRECAUCIN
sin tringulo de advertencia significa que si no se adoptan las medidas preventivas adecuadas, pueden
producirse daos materiales.

ATENCIN
significa que puede producirse un resultado o estado no deseado si no se respeta la consigna de seguridad
correspondiente.
Si se dan varios niveles de peligro se usa siempre la consigna de seguridad ms estricta en cada caso. Si en una
consigna de seguridad con tringulo de advertencia se alarma de posibles daos personales, la misma consigna
puede contener tambin una advertencia sobre posibles daos materiales.
Personal cualificado
El 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.
Uso previsto o de los productos de Siemens
Considere lo siguiente:
ADVERTENCIA
Los productos de Siemens slo debern usarse para los casos de aplicacin previstos en el catlogo y la
documentacin tcnica asociada. De usarse productos y componentes de terceros, stos debern haber sido
recomendados u homologados por Siemens. El funcionamiento correcto y seguro de los productos exige que su
transporte, almacenamiento, instalacin, montaje, manejo y mantenimiento hayan sido realizados de forma
correcta. Es preciso respetar las condiciones ambientales permitidas. Tambin debern seguirse las
indicaciones y advertencias que figuran en la documentacin asociada.
Marcas registradas
Todos los nombres marcados con son marcas registradas de Siemens AG. Los restantes nombres y
designaciones contenidos en el presente documento pueden ser marcas registradas cuya utilizacin por terceros
para sus propios fines puede violar los derechos de sus titulares.
Exencin de responsabilidad
Hemos comprobado la concordancia del contenido de esta publicacin con el hardware y el software descritos.
Sin embargo, como es imposible excluir desviaciones, no podemos hacernos responsable de la plena
concordancia. El contenido de esta publicacin se revisa peridicamente; si es necesario, las posibles las
correcciones se incluyen en la siguiente edicin.

Siemens AG
Industry Sector
Postfach 48 48
90026 NRNBERG
ALEMANIA
A5E02790285-01
02/2010
Copyright Siemens AG 2010.
Sujeto a cambios sin previo aviso

Lista de instrucciones (AWL) para S7-300 y S7-400
Manual de referencia, 05/2010, A5E02790285-01 3
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.
Objeto del manual
El software en el que se basan las indicaciones del manual es STEP 7 V5.5.
Cumplimiento de la normativa IEC 1131-3
AWL sigue los principios del lenguaje Lista de Instrucciones (en ingls Instruction List) fijados en la
norma DIN EN-61131-3 (int. IEC 1131-3). En la tabla sobre cumplimiento de normas contenida en el
archivo NORM_TAB.RTF de STEP 7 encontrar informacin ms detallada sobre el cumplimiento de
las normas.
Prolgo

Lista de instrucciones (AWL) para S7-300 y S7-400
4 Manual de referencia, 05/2010, A5E02790285-01
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 Tema Referencia
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
Nociones bsicas para el personal
tcnico. Describe cmo realizar
soluciones de control con el
software STEP 7 para los sistemas
S7-300/400.
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
Esta obra de consulta describe los
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.
6ES7810-4CA10-8DW1


Ayudas en pantalla Tema Referencia
Ayuda de STEP 7 Nociones bsicas para disear
programas y configurar el hardware
con STEP 7. Disponible en forma
de Ayuda en pantalla.
Componente del paquete
de software STEP 7
Ayudas de referencia para AWL/KOP/FUP
Ayudas de referencia para SFBs/SFCs
Ayudas de referencia para los bloques de
organizacin
Informacin de referencia sensible
al contexto
Componente del paquete
de software STEP 7

Prolgo

Lista de instrucciones (AWL) para S7-300 y S7-400
Manual de referencia, 05/2010, A5E02790285-01 5
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/
Centro de formacin SIMATIC
Para ofrecer a nuestros clientes un fcil aprendizaje de los sistemas de automatizacin SIMATIC S7,
les ofrecemos distintos cursillos de formacin. Dirjase a su centro de formacin regional o a la central
en D 90026 Nuernberg.
Internet: http://www.sitrain.com
Prolgo

Lista de instrucciones (AWL) para S7-300 y S7-400
6 Manual de referencia, 05/2010, A5E02790285-01
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
Encontrar ms informacin sobre nuestro Technical Support en la pgina de Internet
http://www.siemens.com/automation/service
Service & Support en Internet
Adems de nuestra documentacin, en Internet le ponemos a su disposicin todo nuestro know-how.
http://www.siemens.com/automation/service&support
En esta pgina encontrar:
"Newsletter" que le mantendrn siempre al da ofrecindole informaciones de ltima hora,
La rbrica "Support al producto" con un buscador que le permitir acceder a la informacin que
necesita,
El "Foro" en el que podr intercambiar sus experiencias con cientos de expertos en todo el
mundo,
El especialista o experto de Industry Automation and Drive Technology de su regin,
Informaciones sobre reparaciones, piezas de repuesto y consulting.


Lista de instrucciones (AWL) para S7-300 y S7-400
Manual de referencia, 05/2010, A5E02790285-01 7
ndice
1 Operaciones lgicas con bits 13
1.1 Lista de operaciones lgicas con bits..........................................................................................13
1.2 U Y..............................................................................................................................................15
1.3 UN Y-No......................................................................................................................................16
1.4 O O..............................................................................................................................................17
1.5 ON O-No .....................................................................................................................................18
1.6 X O-exclusiva..............................................................................................................................19
1.7 XN O-exclusiva-NO.....................................................................................................................20
1.8 O Y antes de O...........................................................................................................................21
1.9 U( Y con abrir parntesis ............................................................................................................22
1.10 UN( Y-No con abrir parntesis....................................................................................................23
1.11 O( O con abrir parntesis............................................................................................................23
1.12 ON( O-No con abrir parntesis ...................................................................................................24
1.13 X( O-exclusiva con abrir parntesis............................................................................................24
1.14 XN( O-exclusiva-NO con abrir parntesis...................................................................................25
1.15 ) Cerrar parntesis ......................................................................................................................25
1.16 = Asignar......................................................................................................................................27
1.17 R Desactivar................................................................................................................................28
1.18 S Activar......................................................................................................................................29
1.19 NOT Negar el RLO .....................................................................................................................30
1.20 SET Activar el RLO (=1) .............................................................................................................30
1.21 CLR Desactivar RLO (=0)...........................................................................................................32
1.22 SAVE Memorizar el RLO en el registro RB...............................................................................33
1.23 FN Flanco negativo.....................................................................................................................34
1.24 FP Flanco positivo ......................................................................................................................36
2 Operaciones de comparacin 39
2.1 Lista de operaciones de comparacin.........................................................................................39
2.2 ? I Comparar enteros..................................................................................................................40
2.3 ? D Comparar enteros dobles.....................................................................................................41
2.4 ? R Comparar nmeros en coma flotante (32 bits).....................................................................42
3 Operaciones de conversin 43
3.1 Lista de operaciones de conversin ............................................................................................43
3.2 BTI Convertir BCD a entero........................................................................................................44
3.3 ITB Convertir entero en BCD......................................................................................................45
3.4 BTD Convertir nmero BCD a entero doble ...............................................................................46
3.5 ITD Convertir entero en entero doble .........................................................................................47
3.6 DTB Convertir entero doble en BCD ..........................................................................................48
3.7 DTR Convertir entero doble en nmero en coma flotante (32 bits, IEEE 754) ..........................49
3.8 INVI Complemento a uno de un entero ......................................................................................50
3.9 INVD Complemento a uno de un entero doble...........................................................................51
3.10 NEGI Complemento a dos de un entero.....................................................................................52
3.11 NEGD Complemento a dos de un entero doble.........................................................................53
3.12 NEGR Invertir un nmero en coma flotante (32 bits, IEEE 754) ................................................54
3.13 TAW Cambiar el orden de los bytes en el ACU 1-L (16 bits) .....................................................55
3.14 TAD Invertir el orden de los bytes en el ACU 1 (32 bits)............................................................56
ndice

Lista de instrucciones (AWL) para S7-300 y S7-400
8 Manual de referencia, 05/2010, A5E02790285-01
3.15 RND Redondear un nmero en coma flotante a entero .............................................................57
3.16 TRUNC Truncar ..........................................................................................................................58
3.17 RND+ Redondear un nmero real al prximo entero superior ...................................................59
3.18 RND- Redondear un nmero real al prximo entero inferior ......................................................60
4 Operaciones de contaje 61
4.1 Lista de operaciones de contaje ..................................................................................................61
4.2 FR Habilitar contador ..................................................................................................................62
4.3 L Cargar valor actual del contador en ACU 1 en forma de entero .............................................63
4.4 LC Cargar valor actual del contador en ACU 1 como nmero BCD...........................................64
4.5 R Desactivar contador.................................................................................................................66
4.6 S Poner contador al valor inicial .................................................................................................67
4.7 ZV Incrementar contador ............................................................................................................68
4.8 ZR Decrementar contador...........................................................................................................69
5 Operaciones con los bloques de datos 71
5.1 Lista de operaciones con bloques ...............................................................................................71
5.2 AUF Abrir bloque de datos.........................................................................................................72
5.3 TDB Intercambiar bloque de datos global y bloque de datos de instancia.................................73
5.4 L DBLG Cargar la longitud del DB global en el ACU 1...............................................................73
5.5 L DBNO Cargar nmero del bloque de datos global en ACU 1..................................................74
5.6 L DILG Cargar longitud del bloque de datos de instancia en ACU 1 .........................................74
5.7 L DINO Cargar nmero del bloque de datos de instancia en ACU 1 .........................................75
6 Operaciones de salto 77
6.1 Lista de operaciones de salto ......................................................................................................77
6.2 SPA Salto incondicionado...........................................................................................................79
6.3 SPL Saltar utilizando una lista de metas ....................................................................................80
6.4 SPB Saltar si RLO = 1 ................................................................................................................82
6.5 SPBN Saltar si RLO = 0............................................................................................................83
6.6 SPBB Saltar si RLO = 1 y salvaguardar RLO en RB..................................................................84
6.7 SPBNB Saltar si RLO = 0 y salvar RLO en RB ..........................................................................85
6.8 SPBI Saltar si RB = 1..................................................................................................................86
6.9 SPBIN Saltar si RB = 0 ...............................................................................................................87
6.10 SPO Saltar si OV = 1 ..................................................................................................................88
6.11 SPS Saltar si OS = 1...................................................................................................................89
6.12 SPZ Saltar si el resultado = 0 .....................................................................................................91
6.13 SPN Saltar si resultado <> 0.......................................................................................................92
6.14 SPP Saltar si el resultado > 0 .....................................................................................................93
6.15 SPM Saltar si resultado < 0 ........................................................................................................94
6.16 SPPZ Saltar si el resultado >= 0.................................................................................................95
6.17 SPMZ Saltar si el resultado <= 0 ................................................................................................96
6.18 SPU Saltar si el resultado no es vlido.......................................................................................97
6.19 LOOP Bucle ................................................................................................................................99
ndice

Lista de instrucciones (AWL) para S7-300 y S7-400
Manual de referencia, 05/2010, A5E02790285-01 9
7 Aritmtica de enteros 101
7.1 Lista de operaciones aritmticas con enteros ...........................................................................101
7.2 Evaluar bits de la palabra de estado en operaciones en coma fija ...........................................102
7.3 +I Sumar ACU 1 y 2 como entero.............................................................................................103
7.4 -I Restar ACU 1 de ACU 2 como entero...................................................................................104
7.5 *I Multiplicar ACU 1 por ACU 2 como entero............................................................................105
7.6 /I Dividir ACU 2 por ACU 1 como entero ..................................................................................106
7.7 + Sumar constante entera o entera doble ................................................................................108
7.8 +D Sumar ACU 1 y 2 como entero doble .................................................................................110
7.9 -D Restar ACU 1 de ACU 2 como entero doble .......................................................................111
7.10 *D Multiplicar ACU 1 por ACU 2 como entero doble ................................................................112
7.11 /D Dividir ACU 2 por ACU 1 como entero doble.......................................................................113
7.12 MOD Resto de la divisin de enteros dobles............................................................................114
8 Aritmtica en coma flotante 115
8.1 Lista de operaciones aritmticas con nmeros en coma flotante..............................................115
8.2 Evaluar los bits de la palabra de estado en operaciones en coma flotante ..............................116
8.3 Operaciones bsicas .................................................................................................................117
8.3.1 +R Sumar ACU 1 y 2 como nmero en coma flotante (32 bits) ...............................................117
8.3.2 -R Restar ACU 1 de ACU 2 como nmero en coma flotante (32 bits) .....................................119
8.3.3 *R Multiplicar ACU 1 por ACU 2 como nmero en coma flotante (32 bits) ..............................120
8.3.4 /R Dividir ACU 2 por ACU 1 como nmero en coma flotante (32 bits) .....................................121
8.3.5 ABS Valor absoluto de un nmero en coma flotante (32 bits, IEEE 754) ................................122
8.4 Operaciones ampliadas .............................................................................................................123
8.4.1 SQR Calcular el cuadrado de un nmero en coma flotante (32 bits) .......................................123
8.4.2 SQRT Calcular la raz cuadrada de un nmero en coma flotante (32 bits)..............................124
8.4.3 EXP Calcular el exponente de un nmero en coma flotante (32 bits)......................................125
8.4.4 LN Calcular el logaritmo natural de un nmero en coma flotante (32 bits) ..............................126
8.4.5 SIN Calcular el seno de ngulos como nmeros en coma flotante (32 bits)............................127
8.4.6 COS Calcular el coseno de ngulos como nmeros en coma flotante (32 bits) ......................128
8.4.7 TAN Calcular la tangente de ngulos como nmeros en coma flotante (32 bits) ....................128
8.4.8 ASIN Calcular el arcoseno de un nmero en coma flotante (32 bits).......................................129
8.4.9 ACOS Calcular el arcocoseno de un nmero en coma flotante (32 bits).................................130
8.4.10 ATAN Calcular la arcotangente de un nmero en coma flotante (32 bits) ...............................131
9 Operaciones de carga y transferencia 133
9.1 Lista de operaciones de cargar y transferencia.........................................................................133
9.2 L Cargar ....................................................................................................................................134
9.3 L STW Cargar palabra de estado en ACU 1 ............................................................................136
9.4 LAR1 Cargar registro de direcciones 1 con contenido del ACU 1............................................137
9.5 LAR1 <D> Cargar registro de direcciones 1 con puntero (formato de 32 bits) ........................138
9.6 LAR1 AR2 Cargar registro de direcciones 1 con contenido del registro de direcciones 2.......139
9.7 LAR2 Cargar registro de direcciones 2 con contenido del ACU 1............................................139
9.8 LAR2 <D> Cargar registro de direcciones 2 con puntero (formato de 32 bits) ........................140
9.9 T Transferir................................................................................................................................141
9.10 T STW Transferir ACU 1 a la palabra de estado......................................................................142
9.11 TAR Intercambiar registro de direcciones 1 y registro de direcciones 2..................................143
9.12 TAR1 Transferir registro de direcciones 1 a ACU 1 .................................................................143
9.13 TAR1 <D> Transferir registro de direcciones 1 a direccin de destino (puntero de 32 bits) ...144
9.14 TAR1 AR2 Transferir registro de direcciones 1 a registro de direcciones 2 ............................145
9.15 TAR2 Transferir registro de direcciones 2 a ACU 1 .................................................................145
9.16 TAR2 <D> Transferir registro de direcciones 2 a direccin de destino (puntero de 32 bits) ...146
ndice

Lista de instrucciones (AWL) para S7-300 y S7-400
10 Manual de referencia, 05/2010, A5E02790285-01
10 Control de programa 147
10.1 Lista de operaciones de control del programa...........................................................................147
10.2 BE Fin de bloque.......................................................................................................................148
10.3 BEB Fin de bloque condicionado..............................................................................................149
10.4 BEA Fin de bloque incondicionado...........................................................................................150
10.5 CALL Llamada ..........................................................................................................................151
10.6 Llamar a un FB...........................................................................................................................154
10.7 Llamar a una FC ........................................................................................................................156
10.8 Llamar a un SFB........................................................................................................................158
10.9 Llamar a una SFC......................................................................................................................160
10.10 Llamar a una multiinstancia .......................................................................................................161
10.11 Llamar a un bloque de una librera ............................................................................................161
10.12 CC Llamada condicionada........................................................................................................162
10.13 UC Llamada incondicionada.....................................................................................................163
10.14 El MCR (Master Control Relay) .................................................................................................164
10.15 Notas importantes sobre el uso de la funcin MCR ..................................................................166
10.16 MCR( Almacenar el RLO en pila MCR, inicio rea MCR..........................................................167
10.17 )MCR Fin rea MCR .................................................................................................................169
10.18 MCRA Activar rea MCR..........................................................................................................170
10.19 MCRD Desactivar rea MCR....................................................................................................171
11 Operaciones de desplazamiento y rotacin 173
11.1 Operaciones de desplazamiento ...............................................................................................173
11.1.1 Lista de operaciones de desplazamiento...................................................................................173
11.1.2 SSI Desplazar signo de nmero entero a la derecha (16 bits) ................................................174
11.1.3 SSD Desplazar signo de nmero entero a la derecha (32 bits) ...............................................176
11.1.4 SLW Desplazar palabra a la izquierda (16 bits) .......................................................................178
11.1.5 SRW Desplazar palabra a la derecha (16 bits) ........................................................................180
11.1.6 SLD Desplazar doble palabra a la izquierda (32 bits) .............................................................182
11.1.7 SRD Desplazar doble palabra a la derecha (32 bits) ...............................................................184
11.2 Operaciones de rotacin............................................................................................................186
11.2.1 Lista de operaciones de rotacin...............................................................................................186
11.2.2 RLD Rotar doble palabra a la izquierda (32 bits)......................................................................187
11.2.3 RRD Rotar doble palabra a la derecha (32 bits).......................................................................189
11.2.4 RLDA Rotar ACU 1 a la izquierda va A1 (32 bits) ...................................................................191
11.2.5 RRDA Rotar ACU 1 a la derecha va A1 (32 bits) ....................................................................192
12 Operaciones de temporizacin 193
12.1 Lista de operaciones de temporizacin .....................................................................................193
12.2 Area de memoria y componentes de un temporizador..............................................................194
12.3 FR Habilitar temporizador .........................................................................................................197
12.4 L Cargar valor actual del temporizador en ACU 1 como entero..............................................199
12.5 LC Cargar el valor actual de temporizacin en ACU 1 como nmero BCD.............................201
12.6 R Desactivar temporizador........................................................................................................203
12.7 SI Temporizador como impulso ................................................................................................204
12.8 SV Temporizador como impulso prolongado............................................................................206
12.9 SE Temporizador como retardo a la conexin..........................................................................208
12.10 SS Temporizador como retardo a la conexin con memoria....................................................210
12.11 SA Temporizador como retardo a la desconexin....................................................................212
ndice

Lista de instrucciones (AWL) para S7-300 y S7-400
Manual de referencia, 05/2010, A5E02790285-01 11
13 Operaciones lgicas con palabras 215
13.1 Lista de operaciones lgicas con palabras................................................................................215
13.2 UW Y con palabra (16 bits).......................................................................................................216
13.3 OW O con palabra (16 bits) ......................................................................................................218
13.4 XOW O-exclusiva con palabra (16 bits)....................................................................................220
13.5 UD Y con doble palabra (32 bits)..............................................................................................222
13.6 OD O con doble palabra (32 bits) .............................................................................................224
13.7 XOD O-exclusiva con doble palabra (32 bits)...........................................................................226
14 Operaciones con acumuladores 229
14.1 Lista de operaciones con acumuladores ...................................................................................229
14.2 TAK Intercambiar ACU 1 y ACU 2............................................................................................230
14.3 PUSH CPU con dos acumuladores ..........................................................................................231
14.4 PUSH CPU con cuatro acumuladores......................................................................................232
14.5 POP CPU con dos acumuladores ............................................................................................233
14.6 POP CPU con cuatro acumuladores ........................................................................................234
14.7 ENT Introducir pila de ACU.......................................................................................................235
14.8 LEAVE Salir de la pila de ACU.................................................................................................235
14.9 INC Incrementar ACU 1-L-L......................................................................................................236
14.10 DEC Decrementar ACU 1-L-L...................................................................................................237
14.11 +AR1 Sumar el ACU 1 al registro de direcciones 1..................................................................238
14.12 +AR2 Sumar el ACU1 al registro de direcciones 2...................................................................239
14.13 BLD Estructuracin de imagen (operacin nula) ......................................................................240
14.14 NOP 0 Operacin nula 0...........................................................................................................241
14.15 NOP 1 Operacin nula 1...........................................................................................................241
A Sinopsis de las operaciones AWL 243
A.1 Operaciones AWL ordenadas segn la nemotcnica alemana (SIMATIC) ..............................243
A.2 Operaciones AWL ordenadas segn la nemotcnica inglesa (internacional) ...........................248
B Ejemplos de programacin 253
B.1 Lista de ejemplos de programacin...........................................................................................253
B.2 Ejemplos: Operaciones lgicas con bits....................................................................................254
B.3 Ejemplo: Operaciones de temporizacin...................................................................................257
B.4 Ejemplo: Operaciones de contaje y comparacin .....................................................................260
B.5 Ejemplo: Operaciones de aritmtca con enteros.......................................................................262
B.6 Ejemplo: Operaciones lgicas con palabras..............................................................................263
C Transferencia de parmetros 265
Index Fehler! Textmarke nicht definiert.



Lista de instrucciones (AWL) para S7-300 y S7-400
Manual de referencia, 05/2010, A5E02790285-01 13
1 Operaciones lgicas con bits
1.1 Lista de operaciones lgicas con bits
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 Y
UN Y-No
O O
ON O-No
X O-exclusiva
XN O-exclusiva-No

Las siguientes operaciones permiten ejecutar una cadena lgica encerrada entre parntesis:
U( Y con abrir parntesis
UN( Y-No con abrir parntesis
O( O con abrir parntesis
ON( O-No con abrir parntesis
X( 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
Operaciones lgicas con bits
1.1 Lista de operaciones lgicas con bits
Lista de instrucciones (AWL) para S7-300 y S7-400
14 Manual de referencia, 05/2010, A5E02790285-01
Las operaciones siguientes permiten modificar el resultado lgico (RLO):
NOT Negar el RLO
SET Activar el RLO (=1)
CLR Desactivar RLO (=0)
SAVE Memorizar el RLO en el registro RB

Otras operaciones detectan cambios en el resultado lgico y reaccionan correspondientemente:
FN Flanco negativo
FP Flanco positivo

Operaciones lgicas con bits
1.2 U Y
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 15
1.2 U Y
Formato
U <bit>

Operando Tipo de datos Area de memoria
<bit> BOOL 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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - x x x 1
Ejemplo
Esquema de conexiones de rel Programa AWL
U E 1.0
U E 1.1
= A 4.0
Barra de alimentacin
E 1.0 Estado de seal 1
E 1.1 Estado de seal 1
A 4.0 Estado de seal 1
Indica un contacto cerrado.
Contacto
normal. abierto
Contacto
normal. abierto
Bobina


Operaciones lgicas con bits
1.3 UN Y-No
Lista de instrucciones (AWL) para S7-300 y S7-400
16 Manual de referencia, 05/2010, A5E02790285-01
1.3 UN Y-No
Formato
UN <bit>

Operando Tipo de datos Area de memoria
<bit> BOOL 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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - x x x 1
Ejemplo
Programa AWL
U E 1.0
UN E 1.1
= A 4.0
Esquema de conexiones de rel
Barra de alimentacin
E 1.0
Estado de seal 0
Contacto
normal. abierto
E 1.1
Estado de seal 1
Contacto normal.
cerrado
A 4.0
Estado de seal 0
Bobina


Operaciones lgicas con bits
1.4 O O
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 17
1.4 O O
Formato
O <bit>

Operando Tipo de datos Area de memoria
<Bit> BOOL 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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - 0 x x 1
Ejemplo
Programa AWL
O E 1.0
O E 1.1
= A 4.0
Esquema conexiones de rel
Barra de alimentacin
E 1.0 Estado de seal 1
Contacto
E 1.1 Estado de seal 0
Contacto
A 4.0 Estado de seal 1 Bobina
Indica un contacto cerrado.

Operaciones lgicas con bits
1.5 ON O-No
Lista de instrucciones (AWL) para S7-300 y S7-400
18 Manual de referencia, 05/2010, A5E02790285-01
1.5 ON O-No
Formato
ON <bit>

Operando Tipo de datos Area de memoria
<bit> BOOL 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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - 0 x x 1
Ejemplo
Programa AWL Esquema de conexiones de rel
Barra de alimentacin
E 1.0
Estado de seal 0
Contacto
normalm.
abierto
A 4.0
Estado de seal 1
E 1.1
Estado de seal 1
Contacto
normalm.
cerrado
O E 1.0
ON E 1.1
= A 4.0 Bobina

Operaciones lgicas con bits
1.6 X O-exclusiva
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 19
1.6 X O-exclusiva
Formato
X <bit>

Operando Tipo de datos Area de memoria
<bit> BOOL 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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - 0 x x 1

Ejemplo
Programa AWL Esquema de conexiones de rel
X E 1.0
X E 1.1
= A 4.0
Barra de alimentacin
Contacto E 1.0
Contacto E 1.1
A 4.0
Bobina


Operaciones lgicas con bits
1.7 XN O-exclusiva-NO
Lista de instrucciones (AWL) para S7-300 y S7-400
20 Manual de referencia, 05/2010, A5E02790285-01
1.7 XN O-exclusiva-NO
Formato
XN <bit>

Operando Tipo de datos Area de memoria
<bit> BOOL 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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - 0 x x 1
Ejemplo
Programa AWL Esquema de conexiones de rel
X E 1.0
XN E 1.1
= A 4.0
Barra de alimentacin
Contacto E 1.0
Contacto E 1.1
A 4.0
Bobina


Operaciones lgicas con bits
1.8 O Y antes de O
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 21
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - x 1 - x
Ejemplo
Programa AWL Esquema de conexiones de rel
Barra de alimentacin
E 0.0
A 4.0
Bobina
M 10.0
M 10.1
M 0.3
E 0.2
U E 0.0
U M 10.0
= A 4.0
U E 0.2
U M 0.3
O M 10.1
O

Operaciones lgicas con bits
1.9 U( Y con abrir parntesis
Lista de instrucciones (AWL) para S7-300 y S7-400
22 Manual de referencia, 05/2010, A5E02790285-01
1.9 U( Y con abrir parntesis
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - 0 1 - 0
Ejemplo
Programa AWL
U(
O E 0.0
O M 10.0
)
= A 4.0
Esquema de conexiones de rel
Barra de alimentacin
E 0.0
A 4.0
Bobina
E 0.2
U M 10.1 M 10.1
M 10.0
M 10.3
U(
O E 0.2
O M 10.3
)


Operaciones lgicas con bits
1.10 UN( Y-No con abrir parntesis
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 23
1.10 UN( Y-No con abrir parntesis
Formato
UN(
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - 0 1 - 0

1.11 O( O con abrir parntesis
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - 0 1 - 0

Operaciones lgicas con bits
1.12 ON( O-No con abrir parntesis
Lista de instrucciones (AWL) para S7-300 y S7-400
24 Manual de referencia, 05/2010, A5E02790285-01
1.12 ON( O-No con abrir parntesis
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - 0 1 - 0

1.13 X( O-exclusiva con abrir parntesis
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - 0 1 - 0

Operaciones lgicas con bits
1.14 XN( O-exclusiva-NO con abrir parntesis
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 25
1.14 XN( O-exclusiva-NO con abrir parntesis
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - 0 1 - 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( Y con abrir parntesis
UN( Y-No con abrir parntesis
O( O con abrir parntesis
ON( O-No con abrir parntesis
X( O-exclusiva con abrir parntesis
XN( O-exclusiva-NO con abrir parntesis
Operaciones lgicas con bits
1.15 ) Cerrar parntesis
Lista de instrucciones (AWL) para S7-300 y S7-400
26 Manual de referencia, 05/2010, A5E02790285-01
Palabra de estado

RB A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - x 1 x 1

Ejemplo

Programa AWL
U(
O E 0.0
O M 10.0
)
= A 4.0
Esquema de conexiones de rel
barra de alimentacin
E 0.0
A 4.0
Bobina
E 0.2
U M 10.1 M 10.1
M 10.0
M 10.3
U(
O E 0.2
O M 10.3
)

Operaciones lgicas con bits
1.16 = Asignar
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 27
1.16 = Asignar
Formato
= <bit>

Operando Tipo de datos Area de memoria
<bit> BOOL 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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - 0 x - 0

Ejemplo
Esquema de conexiones de rel
Programa AWL
U E 1.0
= A 4.0
E 1.0
A 4.0
0
1
0
1
Diagramas del estado de se

al
A 4.0
Bobina
E 1.0
barra de alimentacin


Operaciones lgicas con bits
1.17 R Desactivar
Lista de instrucciones (AWL) para S7-300 y S7-400
28 Manual de referencia, 05/2010, A5E02790285-01
1.17 R Desactivar
Formato
R <bit>

Operando Tipo de datos Area de memoria
<bit> BOOL 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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - 0 x - 0

Ejemplo
Esquema de conexiones de rel
Barra de alimentacin
E 1.0
Contacto abierto
A 4.0
Bobinas
A 4.0
Programa AWL
U E 1.0
S A 4.0
U E 1.1
R A 4.0
E 1.0
E 1.1
A 4.0
0
1
0
1
0
1
Diagramas del estado de seal
E 1.1
Contacto cerrado


Operaciones lgicas con bits
1.18 S Activar
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 29
1.18 S Activar
Formato
S <bit>

Operando Tipo de datos Area de memoria
<bit> BOOL 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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - 0 x - 0

Ejemplo
Esquema de conexiones de rel
Barra de alimentacin
E 1.0
Contacto abierto
A 4.0
Bobinas
A 4.0
Programa AWL
U E 1.0
S A 4.0
U E 1.1
R A 4.0
E 1.0
E 1.1
A 4.0
0
1
0
1
0
1
Diagramas del estado de seal
E 1.1
Contacto cerrado


Operaciones lgicas con bits
1.19 NOT Negar el RLO
Lista de instrucciones (AWL) para S7-300 y S7-400
30 Manual de referencia, 05/2010, A5E02790285-01
1.19 NOT Negar el RLO
Formato
NOT
Descripcin de la operacin
NOT niega el RLO.
Palabra de estado

RB A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - - 1 x -

1.20 SET Activar el RLO (=1)
Formato
SET
Descripcin de la operacin
SET pone el RLO al estado de seal "1".
Palabra de estado

RB A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - 0 1 1 0
Operaciones lgicas con bits
1.20 SET Activar el RLO (=1)
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 31
Ejemplo
Programa AWL Estado de seal Resultado lgico (RLO)
SET
= M 10.0
= M 15.1
= M 16.0
CLR
= M 10.1
= M 10.2
1
0
1
1
1
0
0


Operaciones lgicas con bits
1.21 CLR Desactivar RLO (=0)
Lista de instrucciones (AWL) para S7-300 y S7-400
32 Manual de referencia, 05/2010, A5E02790285-01
1.21 CLR Desactivar RLO (=0)
Formato
CLR
Descripcin de la operacin
CLR pone el RLO al estado de seal "0".
Palabra de estado

RB A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - 0 0 0 0

Ejemplo
Programa AWL Estado de seal Resultado lgico (RLO)
SET
= M 10.0
= M 15.1
= M 16.0
CLR
= M 10.1
= M 10.2
1
0
1
1
1
0
0

Operaciones lgicas con bits
1.22 SAVE Memorizar el RLO en el registro RB
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 33
1.22 SAVE Memorizar el RLO en el registro RB
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 A1 A0 OV OS OR STA RLO /ER
se escribe: x - - - - - - - -

Operaciones lgicas con bits
1.23 FN Flanco negativo
Lista de instrucciones (AWL) para S7-300 y S7-400
34 Manual de referencia, 05/2010, A5E02790285-01
1.23 FN Flanco negativo
Formato
FN <bit>

Operando Tipo de datos Area de memoria Descripcin
<bit> BOOL E, A, M, L, D 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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - 0 x x 1
Definicin
RLO
0
Flanco positivo Flanco negativo
Tiempo
1

Operaciones lgicas con bits
1.23 FN Flanco negativo
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 35
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.
Diagramas del estado de seal
Programa AWL
1 2 3 4 5 6 7 8 9
1
0
1
0
1
0
E 1.0
M 1.0
A 4.0
U E 1.0
FN M 1.0
= A 4.0
N

de ciclo del OB1:



Operaciones lgicas con bits
1.24 FP Flanco positivo
Lista de instrucciones (AWL) para S7-300 y S7-400
36 Manual de referencia, 05/2010, A5E02790285-01
1.24 FP Flanco positivo
Formato
FP <bit>

Operando Tipo de datos Area de memoria Descripcin
<bit> BOOL E, A, M, L, D 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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - 0 x x 1

Definition
RLO
0
Flanco positivo Flanco negativo
Tiempo
1

Operaciones lgicas con bits
1.24 FP Flanco positivo
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 37
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.
1 2 3 4 5 6 7 8 9
1
0
1
0
1
0
E 1.0
M 1.0
A 4.0
U E 1.0
FP M 1.0
= A 4.0
N

de ciclo del OB1:


Diagramas del estado de seal Programa AWL


Operaciones lgicas con bits
1.24 FP Flanco positivo
Lista de instrucciones (AWL) para S7-300 y S7-400
38 Manual de referencia, 05/2010, A5E02790285-01

Lista de instrucciones (AWL) para S7-300 y S7-400
Manual de referencia, 05/2010, A5E02790285-01 39
2 Operaciones de comparacin
2.1 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) ==, <>, >, <, >=, <=
Operaciones de comparacin
2.2 ? I Comparar enteros
Lista de instrucciones (AWL) para S7-300 y S7-400
40 Manual de referencia, 05/2010, A5E02790285-01
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - x x 0 - 0 x x 1

Valores del RLO

Operacin de
comparacin ejecutada
RLO si
ACU 2 > ACU 1
RLO si
ACU 2 = ACU 1
RLO si
ACC 2 < ACC 1
==I 0 1 0
<>I 1 0 1
>I 1 0 0
<I 0 0 1
>=I 1 1 0
<=I 0 1 1

Ejemplo

AWL Explicacin
L MW10 //Cargar el contenido de MW10 (entero de 16 bits).
L EW24 //Cargar el contenido de EW24 (entero de 16 bits).
>I //Comparar si el ACU2-L (MW10) es mayor (>) que el ACU1-L (EW24).
= M 2.0 //RLO = 1, si MW10 > EW24.

Operaciones de comparacin
2.3 ? D Comparar enteros dobles
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 41
2.3 ? D Comparar enteros dobles
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - x x 0 - 0 x x 1

Valores del RLO

Operacin de
comparacin ejecutada
RLO si
ACU 2 > ACU 1
RLO si
ACU 2 = ACU 1
RLO si
ACC 2 < ACC 1
==D 0 1 0
<>D 1 0 1
>D 1 0 0
<D 0 0 1
>=D 1 1 0
<=D 0 1 1

Ejemplo

AWL Explicacin
L MD10 //Cargar el contenido de MD10 (entero de 32 bits).
L ED24 //Cargar el contenido de ED24 (entero de 32 bits).
>D //Comparar si el ACU 2 (MD10) es mayor (>) que el ACU 1 (ED24).
= M 2.0 //RLO = 1, si MD10 > ED24.

Operaciones de comparacin
2.4 ? R Comparar nmeros en coma flotante (32 bits)
Lista de instrucciones (AWL) para S7-300 y S7-400
42 Manual de referencia, 05/2010, A5E02790285-01
2.4 ? R Comparar nmeros en coma flotante (32 bits)
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - x x x x 0 x x 1

Valores del RLO

Operacin de
comparacin ejecutada
RLO si
ACU 2 > ACU 1
RLO si
ACU 2 = ACU 1
RLO si
ACC 2 < ACC 1
==R 0 1 0
<>R 1 0 1
>R 1 0 0
<R 0 0 1
>=R 1 1 0
<=R 0 1 1

Ejemplo

AWL Explicacin
L MD10 //Cargar el contenido de MD10 (nmero real).
L 1.359E+02 //Cargar la constante 1.359E+02.
>R //Comparar si el ACU 2 (MD10) es mayor (>) que el ACU 1 (1.359E+02).
= M 2.0 //RLO = 1, si MD10 > 1.359E+02.



Lista de instrucciones (AWL) para S7-300 y S7-400
Manual de referencia, 05/2010, A5E02790285-01 43
3 Operaciones de conversin
3.1 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
Operaciones de conversin
3.2 BTI Convertir BCD a entero
Lista de instrucciones (AWL) para S7-300 y S7-400
44 Manual de referencia, 05/2010, A5E02790285-01
3.2 BTI Convertir BCD a entero
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - - - - -

Ejemplo

AWL Explicacin
L MW10 //Cargar el nmero BCD en el ACU1-L.
BTI //Convertir el nmero BCD en nmero entero, almacenar el resultado en el
//ACU1-L.
T MW20 //Transferir el resultado (entero de 16 bits) a MW20.

1 0 1 0 1 0 0 0 1 0 0 1 0 0 0 0
1 1 0 0 1 0 0 1 1 1 0 0 0 0 0 0
BTI
Convertir BCD a entero
"+915" BCD
15... ...8 7... ...0
" + " " 9 " " 1 " " 5 "
MW10
"+915" Entero MW20


Operaciones de conversin
3.3 ITB Convertir entero en BCD
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 45
3.3 ITB Convertir entero en BCD
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - x x - - - -

Ejemplo

AWL Explicacin
L MW10 //Cargar el entero en el ACU1-L.
ITB //Convertir el entero (16 bits) en nmero BCD, almacenar el resultado en
//el ACU1-L.
T MW20 //Transferir el resultado (nmero BCD) a MW20.

1 1 0 0 0 1 1 0 0 1 1 1 1 1 1 1
1 1 0 0 1 0 0 0 0 0 1 0 1 1 1 1
ITB
Convertir entero (16 bits) a BCD
"-413" Entero
15... ...8 7... ...0
MW10
"-413" BCD MW20
" - " " 4 " " 1 " " 3 "


Operaciones de conversin
3.4 BTD Convertir nmero BCD a entero doble
Lista de instrucciones (AWL) para S7-300 y S7-400
46 Manual de referencia, 05/2010, A5E02790285-01
3.4 BTD Convertir nmero BCD a entero doble
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - - - - -

Ejemplo

AWL Explicacin
L MD10 //Cargar el nmero BCD en el ACU 1.
BTD //Convertir el nmero BCD en nmero entero, almacenar el resultado en el
//ACU 1.
T MD20 //Transferir el resultado (en formato de entero doble) a MD20.

BTD
Convertir de BCD a entero
"+157821"
31... ...16 15... ...0
" + " " 0 " " 1 " " 5 "
MD10
"+157821"
MD20
1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 1 1 1 0
" 7 " " 8 " " 2 " " 1 "
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 1 0 0 0 0 1 0 1 1 0


Operaciones de conversin
3.5 ITD Convertir entero en entero doble
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 47
3.5 ITD Convertir entero en entero doble
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - - - - -
Ejemplo

AWL Explicacin
L MW12 //Cargar el entero (16 bits) en el ACU 1-L.
ITD //Convertir el entero de 16 bits en un entero de 32 bits, almacenar el
//resultado en el ACU 1.
T MD20 //Transferir el resultado (entero doble) a MD20.
Ejemplo MW12 = "-10" (entero de 16 bits)

Contenido ACU1-H ACU1-L
Bit 31 . . . . . . . . . . 16 15 . . . . . . . . . . 0
antes de ejecutar ITD XXXX XXXX XXXX XXXX 1111 1111 1111 0110
despus de ejecutar ITD 1111 1111 1111 1111 1111 1111 1111 0110
(X = 0 o 1, los bits no son necesarios para la conversin)

Operaciones de conversin
3.6 DTB Convertir entero doble en BCD
Lista de instrucciones (AWL) para S7-300 y S7-400
48 Manual de referencia, 05/2010, A5E02790285-01
3.6 DTB Convertir entero doble en BCD
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - x x - - - -

Ejemplo

AWL Explicacin
L MD10 //Cargar el entero (32 bits) en el ACU 1.
DTB //Convertir el entero (32 bits) en un nmero BCD, almacenar el resultado
//en el ACU 1.
T MD20 //Transferir el resultado (nmero BCD) a MD20.

DTB
Convertir de entero a BCD
"-701" Entero
31... ...16 15... ...0
MD10
"-701" BCD
MD20
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 0 1 0 1 1 1 1 1 1
" - " " 0 " " 0 " " 0 " " 0 " " 7 " " 0 " " 1 "
0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0


Operaciones de conversin
3.7 DTR Convertir entero doble en nmero en coma flotante (32 bits, IEEE 754)
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 49
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - - - - -

Ejemplo

AWL Explicacin
L MD10 //Cargar el entero (32 bits) en el ACU 1.
DTR //Convertir el entero (32 bits) en un nmero en coma flotante
//(32 bits, IEEE- FP), almacenar el resultado en el ACU 1.
T MD20 //Transferir el resultado (nmero BCD) a MD20.

DTR
Convertir entero doble (32-bits) en nmero de
coma flotante (32-bits)
"+500" Entero
31 ...0
MD10
"+500" IEEE-FP
MD20
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 1 0 0 0 0 0 0 0
1 bit
Signo de la mantisa
Exponente, 8 bits
0 1 0 1 1 1 1 1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
30... 22...
Mantisa, 23 bits


Operaciones de conversin
3.8 INVI Complemento a uno de un entero
Lista de instrucciones (AWL) para S7-300 y S7-400
50 Manual de referencia, 05/2010, A5E02790285-01
3.8 INVI Complemento a uno de un entero
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - - - - -

Ejemplo

AWL Explicacin
L EW8 //Cargar el valor en el ACU1-L.
INVI //Formar el complemento a uno (16 bits).
T MW10 //Transferir el resultado a MW10.

Contenido ACU1-L
Bit 15 . . . . . . . . . . 0
antes de ejecutar INVI 0110 0011 1010 1110
despus de ejecutar INVI 1001 1100 0101 0001

Operaciones de conversin
3.9 INVD Complemento a uno de un entero doble
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 51
3.9 INVD Complemento a uno de un entero doble
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - - - - -

Ejemplo

AWL Explicacin
L ED8 //Cargar el valor en el ACU 1.
INVD //Formar el complemento a uno (32 bits).
T MD10 //Transferir el resultado a MD10.

Contenido ACU1-H ACU1-L
Bit 31 . . . . . . . . . . 16 15 . . . . . . . . . . 0
antes de ejecutar INVD 0110 1111 1000 1100 0110 0011 1010 1110
despus de ejecutar INVD 1001 0000 0111 0011 1001 1100 0101 0001

Operaciones de conversin
3.10 NEGI Complemento a dos de un entero
Lista de instrucciones (AWL) para S7-300 y S7-400
52 Manual de referencia, 05/2010, A5E02790285-01
3.10 NEGI Complemento a dos de un entero
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - x x x x - - - -

Calcular los bits de la palabra de estado A1 A0 OV OS
Resultado = 0 0 0 0 -
-32768 <= Resultado <= -1 0 1 0 -
32767 >= Resultado >= 1 1 0 0 -
Resultado = 2768 0 1 1 1
Ejemplo

AWL Explicacin
L EW8 //Cargar el valor en el ACU1-L.
NEGI //Formar el complemento a dos (16 bits).
T MW10 //Transferir el resultado a MW10.

Contenido ACU1-L
Bit 15 . . . . . . . . . . 0
antes de ejecutar NEGI 0101 1101 0011 1000
despus de ejecutar NEGI 1010 0010 1100 1000

Operaciones de conversin
3.11 NEGD Complemento a dos de un entero doble
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 53
3.11 NEGD Complemento a dos de un entero doble
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - x x x x - - - -

Calcular los bits de la palabra de estado A1 A0 OV OS
Resultado = 0 0 0 0 -
-2.147.483.647 <= Resultado <= -1 0 1 0 -
2.147.483.647 >= Resultado >= 1 1 0 0 -
Resultado = -2 147 483 648 0 1 1 1

Ejemplo

AWL Explicacin
L ED8 //Cargar el valor en el ACU 1.
NEGD //Formar el complemento a dos (32 bits).
T MD10 //Transferir el resultado a MD10.

Contenido ACU1-H ACU1-L
Bit 31 . . . . . . . . . . 16 15 . . . . . . . . . . 0
antes de ejecutar NEGD 0101 1111 0110 0100 0101 1101 0011 1000
despus de ejecutar NEGD 1010 0000 1001 1011 1010 0010 1100 1000

Operaciones de conversin
3.12 NEGR Invertir un nmero en coma flotante (32 bits, IEEE 754)
Lista de instrucciones (AWL) para S7-300 y S7-400
54 Manual de referencia, 05/2010, A5E02790285-01
3.12 NEGR Invertir un nmero en coma flotante (32 bits, IEEE 754)
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - - - - -

Ejemplo

AWL Explicacin
L ED8 //Cargar el valor en el ACU 1 (ejemplo: ED8 = 1.5E+02).
NEGR //Invertir nmero en coma flotante (32 bits, IEEE 754), almacenar el
//resultado //en el ACU 1.
T MD10 //Transferir el resultado a MD10 (ejemplo: resultado = - 1.5E+02).

Operaciones de conversin
3.13 TAW Cambiar el orden de los bytes en el ACU 1-L (16 bits)
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 55
3.13 TAW Cambiar el orden de los bytes en el ACU 1-L (16 bits)
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - - - - -

Ejemplo

AWL Explicacin
L MW10 //Cargar el valor de MW10 en el ACU 1.
TAW //Invertir el orden de los bytes en el ACU1-L.
T MW20 //Transferir el resultado a MW20.

Contenido ACU 1-H-H ACU 1-H-L ACU 1-L-H ACU 1-L-L
antes de ejecutar la operacin TAW valor A valor B valor C valor D
despus de ejecutar la operacin TAW valor A valor B valor D valor C

Operaciones de conversin
3.14 TAD Invertir el orden de los bytes en el ACU 1 (32 bits)
Lista de instrucciones (AWL) para S7-300 y S7-400
56 Manual de referencia, 05/2010, A5E02790285-01
3.14 TAD Invertir el orden de los bytes en el ACU 1 (32 bits)
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - - - - -

Ejemplo

AWL Explicacin
L MD10 //Cargar el valor de MD10 en el ACU 1.
TAD //Invertir el orden de los bytes en el ACU 1.
T MD20 //Transferir el resultado a MD20.

Contenido ACU 1-H-H ACU 1-H-L ACU 1-L-H ACU 1-L-L
antes de ejecutar la operacin TAD valor A valor B valor C valor D
despus de ejecutar la operacin TAD valor D valor C valor B valor A

Operaciones de conversin
3.15 RND Redondear un nmero en coma flotante a entero
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 57
3.15 RND Redondear un nmero en coma flotante a entero
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - x x - - - -

Ejemplo

AWL Explicacin
L MD10 //Cargar el nmero en coma flotante (32 bits, IEEE 754) en el ACU1-L.
RND //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.
T MD20 //Transferir el resultado (entero de 32 bits) a MD20.

Valor antes de la conversin Valor despus de la conversin
MD10 = "100.5" => RND => MD20 = "+100"
MD10 = "-100.5" => RND => MD20 = "-100"

Operaciones de conversin
3.16 TRUNC Truncar
Lista de instrucciones (AWL) para S7-300 y S7-400
58 Manual de referencia, 05/2010, A5E02790285-01
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - x x - - - -

Ejemplo

AWL Explicacin
L MD10 //Cargar el nmero en coma flotante (32 bits, IEEE 754) en el ACU1-L.
TRUNC //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.
T MD20 //Transferir el resultado (entero de 32 bits) a MD20.

Valor antes de la conversin Valor despus de la conversin
MD10 = "100.5" => TRUNC => MD20 = "+100"
MD10 = "-100.5" => TRUNC => MD20 = "-101"

Operaciones de conversin
3.17 RND+ Redondear un nmero real al prximo entero superior
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 59
3.17 RND+ Redondear un nmero real al prximo entero superior
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - x x - - - -
Ejemplo

AWL Explicacin
L MD10 //Cargar el nmero en coma flotante (32 bits, IEEE 754) en el ACU1-L.
RND+ //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.
T MD20 //Transferir el resultado (entero de 32 bits) a MD20.

Valor antes de la conversin Valor despus de la conversin
MD10 = "100.5" => RND+ => MD20 = "+101"
MD10 = "-100.5" => RND + => MD20 = "-100"

Operaciones de conversin
3.18 RND- Redondear un nmero real al prximo entero inferior
Lista de instrucciones (AWL) para S7-300 y S7-400
60 Manual de referencia, 05/2010, A5E02790285-01
3.18 RND- Redondear un nmero real al prximo entero inferior
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - x x - - - -

Ejemplo

AWL Explicacin
L MD10 //Cargar el nmero en coma flotante (32 bits, IEEE 754) en el ACU1-L.
RND- //Convertir el nmero en coma flotante (32 bits, IEEE 754) en entero
//(32 bits) y redondear el resultado. Almacenar el resultado en el ACU1.
T MD20 //Transferir el resultado (entero de 32 bits) a MD20.

Valor antes de la conversin Valor despus de la conversin
MD10 = "100.5" => RND- => MD20 = "+100"
MD10 = "-100.5" => RND- => MD20 = "-101"


Lista de instrucciones (AWL) para S7-300 y S7-400
Manual de referencia, 05/2010, A5E02790285-01 61
4 Operaciones de contaje
4.1 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


Operaciones de contaje
4.2 FR Habilitar contador
Lista de instrucciones (AWL) para S7-300 y S7-400
62 Manual de referencia, 05/2010, A5E02790285-01
4.2 FR Habilitar contador
Formato
FR <contador>

Operando Tipo de
datos
Area de
memoria
Descripcin
<contador> COUNTER Z 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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - 0 - - 0

Ejemplo

AWL Explicacin
U E 2.0 //Consultar el estado de seal en la entrada E 2.0.
FR Z3 //Habilitar el contador Z3 si el RLO cambia de "0" a "1".

Operaciones de contaje
4.3 L Cargar valor actual del contador en ACU 1 en forma de entero
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 63
4.3 L Cargar valor actual del contador en ACU 1 en forma de entero
Formato
L <contador>

Operando Tipo de
datos
Area de
memoria
Descripcin
<contador> COUNTER Z 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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - - - - -

Ejemplo

AWL Explicacin
L Z3 //Cargar el valor de contaje del contador Z3 en formato binario en el
//ACU1-L.

Contenido del
ACU1-L despus
de la instruccin
de carga L Z3
Valor de contaje (0 a 999) en cdigo binario
L Z3
Valor de contaje (0 a 999) en cdigo binario
Palabra de
contaje del
contador Z3
en la memoria
Todos "0"
2
0
2
1
2
2
2
3
2
4
2
5
2
6
2
7
2
8
2
9
2
10
2
11
2
12
2
13
2
14
2
15
2
0
2
1
2
2
2
3
2
4
2
5
2
6
2
7
2
8
2
9
2
10
2
11
2
12
2
13
2
14
2
15

Operaciones de contaje
4.4 LC Cargar valor actual del contador en ACU 1 como nmero BCD
Lista de instrucciones (AWL) para S7-300 y S7-400
64 Manual de referencia, 05/2010, A5E02790285-01
4.4 LC Cargar valor actual del contador en ACU 1 como nmero BCD
Formato
LC <contador>

Operando Tipo de
datos
Area de memoria Descripcin
<contador> COUNTER Z 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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - - - - -

Operaciones de contaje
4.4 LC Cargar valor actual del contador en ACU 1 como nmero BCD
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 65
Ejemplo

AWL Explicacin
LC Z3 //Cargar el valor de contaje del contador Z3 en formato BCD en ACU1-L.

Contenido del
ACU1-L despus
de la instruccin
de carga LC Z3
Valor de contaje (0 a 999) en cdigo binario
LC Z3
Valor de contaje en formato BCD
Palabra de
contaje del
contador Z3
en la memoria
2
0
2
1
2
2
2
3
2
4
2
5
2
6
2
7
2
8
2
9
2
10
2
11
2
12
2
13
2
14
2
15
2
0
2
1
2
2
2
3
2
4
2
5
2
6
2
7
2
8
2
9
2
10
2
11
2
12
2
13
2
14
2
15
0 0 0 0
10
1
Decenas 10
0
Unidades 10
2
Centenas

Operaciones de contaje
4.5 R Desactivar contador
Lista de instrucciones (AWL) para S7-300 y S7-400
66 Manual de referencia, 05/2010, A5E02790285-01
4.5 R Desactivar contador
Formato
R <contador>

Operando Tipo de
datos
Area de
memoria
Descripcin
<contador> COUNTER Z 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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - 0 - - 0

Ejemplo

AWL Explicacin
U E 2.3 //Consultar el estado de seal en la entrada E 2.3.
R Z3 //Poner el contador Z3 al valor "0" si el RLO cambia de "0" a "1".

Operaciones de contaje
4.6 S Poner contador al valor inicial
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 67
4.6 S Poner contador al valor inicial
Formato
S <contador>

Operando Tipo de
datos
Area de
memoria
Descripcin
<contador> COUNTER Z 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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - 0 - - 0
Ejemplo

AWL Explicacin
U E 2.3 //Consultar el estado de seal de la entrada E 2.3.
L C#3 //Cargar el valor de contaje 3 en el ACU1-L.
S Z1 //Poner el contador Z1 al valor de contaje si el RLO cambia de "0" a "1".


Operaciones de contaje
4.7 ZV Incrementar contador
Lista de instrucciones (AWL) para S7-300 y S7-400
68 Manual de referencia, 05/2010, A5E02790285-01
4.7 ZV Incrementar contador
Formato
ZV <contador>

Operando Tipo de
datos
Area de
memoria
Descripcin
<contador> COUNTER Z 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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - 0 - - 0

Ejemplo

AWL Explicacin
U E 2.1 //Consultar el estado de seal en la entrada E 2.1.
ZV Z3 //Incrementar en 1 el valor del contador Z3 si el RLO cambia de "0" a "1".

Operaciones de contaje
4.8 ZR Decrementar contador
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 69
4.8 ZR Decrementar contador
Formato
ZR <contador>

Operando Tipo de
datos
Area de
memoria
Descripcin
<contador> COUNTER Z 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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - 0 - - 0

Ejemplo

AWL Explicacin
L C#14 //Valor preajustado del contador.
U E 0.1 //Contador preajustado tras detectar un flanco positivo en la entrada
//E 0.1.
S Z1 //Cargar el contador Z1 con el preajuste, si ste est habilitado.
U E 0.0 //Decrementar en "1" cada vez que se d un flanco positivo en E 0.0.
ZR Z1 //Decrementar en "1" el contador Z1 si el RLO cambia de "0" a "1"
//(en funcin de la entrada E 0.0).
UN Z1 //Deteccin de cero mediante el bit Z1.
= A 0.0 //A 0.0 es 1 si el valor del contador Z1 es "0".

Operaciones de contaje
4.8 ZR Decrementar contador
Lista de instrucciones (AWL) para S7-300 y S7-400
70 Manual de referencia, 05/2010, A5E02790285-01


Lista de instrucciones (AWL) para S7-300 y S7-400
Manual de referencia, 05/2010, A5E02790285-01 71
5 Operaciones con los bloques de datos
5.1 Lista de operaciones con bloques
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 Abrir bloque de datos
TDB 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

Operaciones con los bloques de datos
5.2 AUF Abrir bloque de datos
Lista de instrucciones (AWL) para S7-300 y S7-400
72 Manual de referencia, 05/2010, A5E02790285-01
5.2 AUF Abrir bloque de datos
Formato
AUF <bloque de datos>

Operando Tipo del bloque de datos Direccin fuente
<bloque de datos> DB, DI 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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - - - - -

Ejemplo

AWL Explicacin
AUF DB10 //Abrir el bloque de datos DB10 como bloque de datos global.
L DBW35 //Cargar en ACU1-L la palabra de datos DBW35 del bloque de datos abierto.
T MW22 //Transferir el contenido del ACU1-L a la palabra de marcas MW22.
AUF DI20 //Abrir el bloque de datos DB20 como bloque de datos de instancia.
L DIB12 //Cargar en el ACU1-L-L el byte de datos DIB12 del bloque de datos de
//instancia abierto.
T DBB37 //Transferir el contenido del ACU1-L-L al byte de datos DBB37 del bloque
//de datos global abierto.

Operaciones con los bloques de datos
5.3 TDB Intercambiar bloque de datos global y bloque de datos de instancia
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 73
5.3 TDB Intercambiar bloque de datos global y bloque de datos de
instancia
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - - - - -

5.4 L DBLG Cargar la longitud del DB global en el ACU 1
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - - - - -
Ejemplo

AWL Explicacin
AUF DB10 //Abrir el bloque de datos DB10 como bloque de datos global.
L DBLG //Cargar la longitud del bloque de datos global (longitud de DB10).
L MD10 //Valor para comparar si el bloque de datos es suficientemente largo.
<D
SPB ERRO //Saltar a meta ERRO si la longitud es menor que el valor en MD10.

Operaciones con los bloques de datos
5.5 L DBNO Cargar nmero del bloque de datos global en ACU 1
Lista de instrucciones (AWL) para S7-300 y S7-400
74 Manual de referencia, 05/2010, A5E02790285-01
5.5 L DBNO Cargar nmero del bloque de datos global en ACU 1
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - - - - -

5.6 L DILG Cargar longitud del bloque de datos de instancia en ACU 1
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 A1 A0 OV OS OR STA RLO /ER
Se escribe: - - - - - - - - -
Ejemplo

AWL Explicacin
AUF DI20 //Abrir el bloque de datos DB20 como bloque de datos de instancia.
L DILG //Cargar la longitud del bloque de datos de instancia (longitud de DB20).
L MW10 //Valor para comparar si el bloque de datos es suficientemente largo.
<I
SPB ERRO //Saltar a meta ERRO si la longitud es menor que el valor en MW10.

Operaciones con los bloques de datos
5.7 L DINO Cargar nmero del bloque de datos de instancia en ACU 1
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 75
5.7 L DINO Cargar nmero del bloque de datos de instancia en ACU 1
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - - - - -

Operaciones con los bloques de datos
5.7 L DINO Cargar nmero del bloque de datos de instancia en ACU 1
Lista de instrucciones (AWL) para S7-300 y S7-400
76 Manual de referencia, 05/2010, A5E02790285-01


Lista de instrucciones (AWL) para S7-300 y S7-400
Manual de referencia, 05/2010, A5E02790285-01 77
6 Operaciones de salto
6.1 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
Operaciones de salto
6.1 Lista de operaciones de salto
Lista de instrucciones (AWL) para S7-300 y S7-400
78 Manual de referencia, 05/2010, A5E02790285-01

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

Operaciones de salto
6.2 SPA Salto incondicionado
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 79
6.2 SPA Salto incondicionado
Formato
SPA <meta>

Operando Descripcin
<meta> 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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - - - - -

Ejemplo

AWL Explicacin
U E 1.0
U E 1.2
SPB DELE //Si el RLO es 1 saltar a la meta DELE.
L MB10
INC 1
T MB10
SPA FORW //Salto incondicionado a la meta FORW.
DELE: L 0
T MB10
FORW: U E 2.1 //La ejecucin del programa contina aqu despus de haber saltado a la
//meta FORW.

Operaciones de salto
6.3 SPL Saltar utilizando una lista de metas
Lista de instrucciones (AWL) para S7-300 y S7-400
80 Manual de referencia, 05/2010, A5E02790285-01
6.3 SPL Saltar utilizando una lista de metas
Formato
SPL <meta>

Operando Descripcin
<meta > 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.

Operaciones de salto
6.3 SPL Saltar utilizando una lista de metas
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 81
Palabra de estado

RB A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - - - - -

Ejemplo

AWL Explicacin
L MB0 //Cargar el nmero de la meta del salto en el ACU1-L-L.
SPL LSTX //Meta del salto si el ACU1-L-L es > 3.
SPA SEG0 //Meta del salto si ACU1-L-L = 0.
SPA SEG1 //Meta del salto si ACU1-L-L = 1.
SPA COMM //Meta del salto si ACU1-L-L = 2.
SPA SEG3 //Meta del salto si ACU1-L-L = 3.
LSTX: SPA COMM
SEG0: * //Instruccin permitida.
*
SPA COMM
SEG1: * //Instruccin permitida.
*
SPA COMM
SEG3: * //Instruccin permitida.
*
SPA COMM
COMM: *
*

Operaciones de salto
6.4 SPB Saltar si RLO = 1
Lista de instrucciones (AWL) para S7-300 y S7-400
82 Manual de referencia, 05/2010, A5E02790285-01
6.4 SPB Saltar si RLO = 1
Formato
SPB <meta>

Operando Descripcin
<meta > 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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - 0 1 1 0

Ejemplo

AWL Explicacin
U E 1.0
U E 1.2
SPB JOVR //Saltar a la meta JOVR si RLO = 1
L EW8 //La ejecucin del programa contina aqu en caso de que no se ejecute
//el salto.
T MW22
JOVR: U E 2.1 //La ejecucin del programa contina aqu despus de haber saltado a la
//meta JOVR.

Operaciones de salto
6.5 SPBN Saltar si RLO = 0
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 83
6.5 SPBN Saltar si RLO = 0
Formato
SPBN <meta>

Operando Descripcin
<meta > 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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - 0 1 1 0

Ejemplo

AWL Explicacin
U E 1.0
U E 1.2
SPBN JOVR //Saltar, si el RLO = 0, a la meta JOVR.
L EW8 //La ejecucin del programa contina aqu en caso de no ejecutarse el
//salto.
T MW22
JOVR: U E 2.1 //La ejecucin del programa contina aqu despus de haber saltado a la
//meta JOVR.

Operaciones de salto
6.6 SPBB Saltar si RLO = 1 y salvaguardar RLO en RB
Lista de instrucciones (AWL) para S7-300 y S7-400
84 Manual de referencia, 05/2010, A5E02790285-01
6.6 SPBB Saltar si RLO = 1 y salvaguardar RLO en RB
Formato
SPBB <meta>

Operando Descripcin
<meta> 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 A1 A0 OV OS OR STA RLO /ER
se escribe: x - - - - 0 1 1 0

Ejemplo

AWL Explicacin
U E 1.0
U E 1.2
SPBB JOVR //Si el RLO = 1, saltar a la meta JOVR. Copiar el contenido del bit RLO
//en el bit RB.
L EW8 //La ejecucin del programa contina aqu en caso de que no se ejecute
//el salto.
T MW22
JOVR: U E 2.1 //La ejecucin del programa contina aqu despus de haber saltado a la
//meta JOVR.

Operaciones de salto
6.7 SPBNB Saltar si RLO = 0 y salvar RLO en RB
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 85
6.7 SPBNB Saltar si RLO = 0 y salvar RLO en RB
Formato
SPBNB <meta>

Operando Descripcin
<meta > 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 A1 A0 OV OS OR STA RLO /ER
se escribe: x - - - - 0 1 1 0

Ejemplo

AWL Explicacin
U E 1.0
U E 1.2
SPBNB JOVR //Si RLO = 0, saltar a la meta JOVR; copiar el contenido del bit RLO en
//el bit RB.
L EW //La ejecucin del programa contina aqu en caso de no ejecutarse el
//salto.
T MW22
JOVR: U E 2.1 //La ejecucin del programa contina aqu despus de haber saltado a la
//meta JOVR.

Operaciones de salto
6.8 SPBI Saltar si RB = 1
Lista de instrucciones (AWL) para S7-300 y S7-400
86 Manual de referencia, 05/2010, A5E02790285-01
6.8 SPBI Saltar si RB = 1
Formato
SPBI <meta>

Operando Descripcin
<meta> 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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - 0 1 - 0

Operaciones de salto
6.9 SPBIN Saltar si RB = 0
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 87
6.9 SPBIN Saltar si RB = 0
Formato
SPBIN <meta>

Operando Descripcin
<meta> 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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - 0 1 - 0

Operaciones de salto
6.10 SPO Saltar si OV = 1
Lista de instrucciones (AWL) para S7-300 y S7-400
88 Manual de referencia, 05/2010, A5E02790285-01
6.10 SPO Saltar si OV = 1
Formato
SPO <meta>

Operando Descripcin
<meta > 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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - - - - -

Ejemplo

AWL Explicacin
L MW10
L 3
*I //Multiplicar el contenido de MW10 por "3".
SPO OVER //Saltar si el resultado excede
//el margen mximo (OV = 1).
T MW10 //La ejecucin del programa contina aqu en caso de no ejecutarse el
//salto.
U M 4.0
R M 4.0
SPA NEXT
OVER: UN M 4.0 //La ejecucin del programa contina aqu despus de haber saltado a la
//meta OVER.
S M 4.0
NEXT: NOP 0 //La ejecucin del programa contina aqu despus de haber saltado a la
//meta NEXT.

Operaciones de salto
6.11 SPS Saltar si OS = 1
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 89
6.11 SPS Saltar si OS = 1
Formato
SPS <meta>

Operando Descripcin
<meta > 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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - 0 - - - -

Operaciones de salto
6.11 SPS Saltar si OS = 1
Lista de instrucciones (AWL) para S7-300 y S7-400
90 Manual de referencia, 05/2010, A5E02790285-01
Ejemplo

AWL Explicacin
L EW10
L MW12
*I
L DBW25
+I
L MW14
-I
SPS OVER //Saltar si se produce desbordamiento en una de las 3 operaciones,
//OS = 1, (vase la nota).
T MW16 //La ejecucin del programa contina aqu en caso de no ejecutarse el
//salto.
U M 4.0
R M 4.0
SPA NEXT
OVER: UN M 4.0 //La ejecucin del programa contina aqu despus de haber saltado a la
//meta OVER.
S M 4.0
NEXT: NOP 0 //La ejecucin del programa contina aqu despus de haber saltado a la
//meta 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.

Operaciones de salto
6.12 SPZ Saltar si el resultado = 0
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 91
6.12 SPZ Saltar si el resultado = 0
Formato
SPZ <meta>

Operando Descripcin
<meta> 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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - - - - -

Ejemplo

AWL Explicacin
L MW10
SRW 1
SPZ ZERO //Saltar a la meta ZERO si el bit desplazado es 0.
L MW2 //La ejecucin del programa contina aqu en caso de no ejecutarse el
//salto.
INC 1
T MW2
SPA NEXT
ZERO: L MW4 //La ejecucin del programa contina aqu despus de haber saltado a la
//meta ZERO.
INC 1
T MW4
NEXT: NOP 0 //La ejecucin del programa contina aqu despus de haber saltado a la
//meta NEXT.

Operaciones de salto
6.13 SPN Saltar si resultado <> 0
Lista de instrucciones (AWL) para S7-300 y S7-400
92 Manual de referencia, 05/2010, A5E02790285-01
6.13 SPN Saltar si resultado <> 0
Formato
SPN <meta>

Operando Descripcin
<meta > 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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - - - - -

Ejemplo

AWL Explicacin
L EW8
L MW12
XOW
SPN NOZE //Saltar si el contenido del ACU1-L no es cero.
UN M 4.0 //La ejecucin del programa contina aqu en caso de no ejecutarse el
//salto.
S M 4.0
SPA NEXT
NOZE: UN M 4.1 //La ejecucin del programa contina aqu despus de haber saltado a la
//meta NOZE.
S M 4.1
NEXT: NOP 0 //La ejecucin del programa contina aqu despus de haber saltado a la
//meta NEXT.

Operaciones de salto
6.14 SPP Saltar si el resultado > 0
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 93
6.14 SPP Saltar si el resultado > 0
Formato
SPP <meta>

Operando Descripcin
<meta> 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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - - - - -

Ejemplo

AWL Explicacin
L EW8
L MW12
-I //Restar el contenido de MW12 del contenido de EW8.
SPP POS //Saltar si el resultado > 0 (es decir, si el contenido de ACU 1 > 0).
UN M 4.0 //La ejecucin del programa contina aqu en caso de no ejecutarse el
//salto.
S M 4.0
SPA NEXT
POS: UN M 4.1 //La ejecucin del programa contina aqu despus de haber saltado a la
//meta POS.
S M 4.1
NEXT: NOP 0 //La ejecucin del programa contina aqu despus de haber saltado a la
//meta NEXT.

Operaciones de salto
6.15 SPM Saltar si resultado < 0
Lista de instrucciones (AWL) para S7-300 y S7-400
94 Manual de referencia, 05/2010, A5E02790285-01
6.15 SPM Saltar si resultado < 0
Formato
SPM <meta>

Operando Descripcin
<meta> 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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - - - - -

Ejemplo

AWL Explicacin
L EW8
L MW12
-I //Restar el contenido de MW12 del contenido de EW8.
SPM NEG //Saltar si el resultado < 0 (es decir, si el contenido de ACU 1 < 0).
UN M 4.0 //La ejecucin del programa contina aqu en caso de no ejecutarse el
//salto.
S M 4.0
SPA NEXT
NEG: UN M 4.1 //La ejecucin del programa contina aqu despus haber saltado a la
//meta NEG.
S M 4.1
NEXT: NOP 0 //La ejecucin del programa contina aqu despus de haber saltado a la
//meta NEXT.

Operaciones de salto
6.16 SPPZ Saltar si el resultado >= 0
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 95
6.16 SPPZ Saltar si el resultado >= 0
Formato
SPPZ <meta>

Operando Descripcin
<meta> 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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - - - - -

Ejemplo

AWL Explicacin
L EW8
L MW12
-I //Restar el contenido de MW12 del contenido de EW8.
SPPZ REG0 //Saltar si el resultado >= 0 (es decir, si el contenido de
//ACU 1 >= 0).
UN M 4.0 //La ejecucin del programa contina aqu en caso de no ejecutarse el
//salto.
S M 4.0
SPA NEXT
REG0: UN M 4.1 //La ejecucin del programa contina aqu despus de haber saltado a la
//meta REG0.
S M 4.1
NEXT: NOP 0 //La ejecucin del programa contina aqu despus de haber saltado a la
//meta NEXT.
Operaciones de salto
6.17 SPMZ Saltar si el resultado <= 0
Lista de instrucciones (AWL) para S7-300 y S7-400
96 Manual de referencia, 05/2010, A5E02790285-01

6.17 SPMZ Saltar si el resultado <= 0
Formato
SPMZ <meta>

Operando Descripcin
<meta> 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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - - - - -

Ejemplo

AWL Explicacin
L EW8
L MW12
-I //Restar el contenido de MW12 del contenido de EW8.
SPMZ RGE0 //Saltar si el resultado <= 0 (es decir, si el contenido de
//ACU 1 <= 0).
UN M 4.0 //La ejecucin del programa contina aqu en caso de no ejecutarse el
//salto.
S M 4.0
SPA NEXT
RGE0: UN M 4.1 //La ejecucin del programa contina aqu despus de haber saltado a la
//meta RGE0.
S M 4.1
NEXT: NOP 0 //La ejecucin del programa contina aqu despus de haber saltado a la
//meta NEXT.
Operaciones de salto
6.18 SPU Saltar si el resultado no es vlido
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 97

6.18 SPU Saltar si el resultado no es vlido
Formato
SPU <meta>

Operando Descripcin
<meta> 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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - - - - -

Operaciones de salto
6.18 SPU Saltar si el resultado no es vlido
Lista de instrucciones (AWL) para S7-300 y S7-400
98 Manual de referencia, 05/2010, A5E02790285-01
Ejemplo

AWL Explicacin
L MD10
L ED2
/D //Dividir el contenido de MD10 por el contenido de ED2.
SPU ERRO //Saltar si hay una divisin por cero (es decir, ED2 = "0").
T MD14 //La ejecucin del programa contina aqu en caso de no ejecutarse el
//salto.
U M 4.0
R M 4.0
SPA NEXT
ERRO: UN M 4.0 //La ejecucin del programa contina aqu despus de haber saltado a la
//meta ERRO.
S M 4.0
NEXT: NOP 0 //La ejecucin del programa contina aqu despus de haber saltado a la
//meta NEXT.

Operaciones de salto
6.19 LOOP Bucle
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 99
6.19 LOOP Bucle
Formato
LOOP <meta>

Operando Descripcin
<meta> 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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - - - - -

Ejemplo de clculo de la facultad de 5 (5!)

AWL Explicacin
L L#1 //Cargar la constante de entero (32 bits) en el ACU 1.
T MD20 //Transferir el contenido del ACU 1 a MD20 (Inicializacin).
L 5 //Cargar el nmero de ciclos de bucles en el ACU1-L.
NEXT: T MW10 //Meta = inicio del bucle Transferir el ACU1-L al contador de bucles.
L MD20
* D //Multiplicar el contenido actual de MD20 por el contenido actual de
//MB10.
T MD20 //Transferir el resultado de la multiplicacin a MD20.
L MW10 //Cargar el contenido del contador de bucles en el ACU 1.
LOOP NEXT //Decrementar el contenido del ACU 1 y saltar a la meta NEXT,
//si el ACU1-L > 0.
L MW24 //La ejecucin del programa contina aqu despus del fin del bucle.
L 200
>I

Operaciones de salto
6.19 LOOP Bucle
Lista de instrucciones (AWL) para S7-300 y S7-400
100 Manual de referencia, 05/2010, A5E02790285-01

Lista de instrucciones (AWL) para S7-300 y S7-400
Manual de referencia, 05/2010, A5E02790285-01 101
7 Aritmtica de enteros
7.1 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

Aritmtica de enteros
7.2 Evaluar bits de la palabra de estado en operaciones en coma fija
Lista de instrucciones (AWL) para S7-300 y S7-400
102 Manual de referencia, 05/2010, A5E02790285-01
7.2 Evaluar bits de la palabra de estado en operaciones en coma fija
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 A1 A0 OV OS
0 (cero) 0 0 0 *
enteros: 32 768 < =resultado < 0 (nmero negativo)
enteros dobles: 2 147 483 648 <=resultado < 0 (nmero negativo)
0 1 0 *
enteros: 32 767 > =resultado > 0 (nmero positivo)
enteros dobles: 2 147 483 647 > = resultado > 0 (nmero positivo)
1 0 0 *
* El bit OS no se ve influido por el resultado de la operacin.

Margen no vlido A1 A0 OV OS
Desbordamiento negativo en la suma
enteros: resultado = 65536
enteros dobles: resultado = 4 294 967 296
0 0 1 1
Desbordamiento negativo en la multiplicacin
enteros: resultado < 32 768 (nmero negativo)
enteros dobles: resultado < 2 147 483 648 (nmero negativo)
0 1 1 1
Desbordamiento positivo en la suma, resta
enteros: resultado > 32 767 (nmero positivo)
enteros dobles: resultado > 2 147 483 647 (nmero positivo)
0 1 1 1
Desbordamiento positivo en la multiplicacin, divisin
enteros: resultado > 32 767 (nmero positivo)
enteros dobles: resultado > 2 147 483 647 (nmero positivo)
1 0 1 1
Desbordamiento negativo en la suma, resta
enteros: resultado < 32 768 (nmero negativo)
enteros dobles: resultado < 2 147 483 648 (nmero negativo)
1 0 1 1
Divisin por cero 1 1 1 1

Operacin A1 A0 OV OS
+D: resultado = -4 294 967 296 0 0 1 1
/D o MOD: divisin por cero 1 1 1 1

Aritmtica de enteros
7.3 +I Sumar ACU 1 y 2 como entero
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 103
7.3 +I Sumar ACU 1 y 2 como entero
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - x x x x - - - -

Configuracin de los bits de la palabra de estado A1 A0 OV OS
Suma = 0 0 0 0 -
-32768 <= Suma < 0 0 1 0 -
32767 >= Suma > 0 1 0 0 -
Suma = -65536 0 0 1 1
65534 >= Suma > 32767 0 1 1 1
-65535 <= Suma < -32768 1 0 1 1

Ejemplo

AWL Explicacin
L EW10 //El valor de EW10 se carga en el ACU1-L.
L MW14 //Cargar el contenido del ACU1-L en el ACU2-L. Cargar el valor de MW14
//en el ACU1-L.
+I //Sumar ACU2-L y ACU1-L, almacenar el resultado en el ACU1-L.
T DB1.DBW25 //El contenido del ACU1-L (resultado) se transfiere del DB1 a DBW25.

Aritmtica de enteros
7.4 -I Restar ACU 1 de ACU 2 como entero
Lista de instrucciones (AWL) para S7-300 y S7-400
104 Manual de referencia, 05/2010, A5E02790285-01
7.4 -I Restar ACU 1 de ACU 2 como entero
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - x x x x - - - -

Configuracin de los bits de la palabra de estado A1 A0 OV OS
Diferencia = 0 0 0 0 -
-32768 <= Diferencia < 0 0 1 0 -
32767 >= Diferencia > 0 1 0 0 -
65535 >= Diferencia > 32767 0 1 1 1
-65535 <= Diferencia < -32768 1 0 1 1
Ejemplo

AWL Explicacin
L EW10 //El valor de EW10 se carga en el ACU1-L.
L MW14 //Cargar el contenido del ACU1-L en el ACU2-L. Cargar el valor de MW14
//en el ACU1-L.
-I //Restar ACU1-L de ACU2-L, almacenar el resultado en el ACU1-L.
T DB1.DBW25 //El contenido del ACU1-L (resultado) se transfiere del DB1 a DBW25.


Aritmtica de enteros
7.5 *I Multiplicar ACU 1 por ACU 2 como entero
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 105
7.5 *I Multiplicar ACU 1 por ACU 2 como entero
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - x x x x - - - -

Configuracin de los bits de la palabra de estado A1 A0 OV OS
Resultado = 0 0 0 0 -
-32768 <= Resultado < 0 0 1 0 -
32767 >= Resultado > 0 1 0 0 -
1.073.741.824 >= Resultado > 32767 1 0 1 1
-1.073.709.056 <= Resultado < -32768 0 1 1 1

Ejemplo

AWL Explicacin
L EW10 //El valor de EW10 se carga en el ACU1-L.
L MW14 //Cargar el contenido del ACU1-L en el ACU 2-L. Cargar el valor de MW14
//en el ACU1-L.
*I //Multiplicar el ACU2-L por el ACU1-L, almacenar el resultado en el
//ACU 1.
T DB1.DBD25 //El contenido del ACU 1 (resultado) se transfiere del DB1 a DBD25.

Aritmtica de enteros
7.6 /I Dividir ACU 2 por ACU 1 como entero
Lista de instrucciones (AWL) para S7-300 y S7-400
106 Manual de referencia, 05/2010, A5E02790285-01
7.6 /I Dividir ACU 2 por ACU 1 como entero
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - x x x x - - - -

Configuracin de los bits de la palabra de estado A1 A0 OV OS
Cociente = 0 0 0 0 -
-32768 <= Cociente < 0 0 1 0 -
32767 >= Cociente > 0 1 0 0 -
Cociente = 32768 1 0 1 1
Divisin por cero 1 1 1 1

Ejemplo

AWL Explicacin
L EW10 //Cargar el valor de EW10 en el ACU1-L.
L MW14 //Cargar el contenido del ACU1-L en el ACU2-L. Cargar el valor de MW14
//en el ACU1-L.
/I //Dividir ACU2-L por ACU1-L, almacenar el resultado en el ACU 1: ACU1-L:
//Cociente, ACU1-H: resto de la divisin
T MD20 //El contenido del ACU 1 (resultado) se transfiere a MD20.

Aritmtica de enteros
7.6 /I Dividir ACU 2 por ACU 1 como entero
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 107
Ejemplo de divisin con cifras: 13 / 4
Contenido del ACU2-L antes de la operacin (EW10): "13"
Contenido del ACU1-L antes de la operacin (MW14): "4"
Operacin /I (ACU2-L / ACU1-L): "13/4"
Contenido del ACU1-L despus de la operacin (cociente): "3"
Contenido del ACU1-H despus de la operacin (resto de la divisin): "1"
Aritmtica de enteros
7.7 + Sumar constante entera o entera doble
Lista de instrucciones (AWL) para S7-300 y S7-400
108 Manual de referencia, 05/2010, A5E02790285-01
7.7 + Sumar constante entera o entera doble
Formato
+ <constante entera>

Operando Tipo de datos Descripcin
<constante entera> Constante entera (16 bits) o
entera doble (32 bits)
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - - - - -

Ejemplo 1

AWL Explicacin
L EW10 //Cargar el valor de EW10 en el ACU1-L.
L MW14 //Cargar el contenido del ACU1-L en el ACU2-L. Cargar el valor de MW14
//en el ACU1-L.
+I //Sumar el ACU2-L y el ACU1-L, almacenar el resultado en el ACU1-L.
+ 25 //Sumar el ACU1-L y 25, almacenar el resultado en el ACU1-L.
T DB1.DBW25 //Transferir el contenido de ACU1-L (resultado) del DB 1 a DBW25.

Ejemplo 2

AWL Explicacin
L EW12
L EW14
+ 100 //Sumar el ACU1-L y 100, almacenar el resultado en el ACU 1-L.
>I //Si el ACU 2 > ACU 1, o si EW 12 > (EW14 + 100),
SPB NEXT //saltar a la meta NEXT.

Aritmtica de enteros
7.7 + Sumar constante entera o entera doble
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 109
Ejemplo 3

AWL Explicacin
L MD20
L MD24
+D //Sumar ACU 1 y ACU 2, almacenar el resultado en el ACU 1.
+ L#-200 //Sumar ACU1 y -200, almacenar el resultado en el ACU 1.
T MD28

Aritmtica de enteros
7.8 +D Sumar ACU 1 y 2 como entero doble
Lista de instrucciones (AWL) para S7-300 y S7-400
110 Manual de referencia, 05/2010, A5E02790285-01
7.8 +D Sumar ACU 1 y 2 como entero doble
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - x x x x - - - -

Configuracin de los bits de la palabra de estado A1 A0 OV OS
Suma = 0 0 0 0 -
-2.147.483.648 <= Suma < 0 0 1 0 -
2.147.483.647 >= Suma > 0 1 0 0 -
Suma = -4.294.967.296 0 0 1 1
4.294.967.294 >= Suma > 2.147.483.647 0 1 1 1
-4.294.967.295 <= Suma < -2.147.483.648 1 0 1 1

Ejemplo

AWL Explicacin
L ED10 //El valor de ED10 se carga en el ACU 1.
L MD14 //Cargar el contenido del ACU 1 en el ACU 2. Cargar el valor de MD14
//en el ACU 1.
+D //Sumar ACU 2 y ACU 1, almacenar el resultado en el ACU 1.
T DB1.DBD25 //El contenido del ACU 1 (resultado) se transfiere del DB1 a DBD25.


Aritmtica de enteros
7.9 -D Restar ACU 1 de ACU 2 como entero doble
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 111
7.9 -D Restar ACU 1 de ACU 2 como entero doble
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - x x x x - - - -

Configuracin de los bits de la palabra de estado A1 A0 OV OS
Diferencia = 0 0 0 0 -
-2.147.483.648 <= Diferencia < 0 0 1 0 -
2.147.483.647 >= Diferencia > 0 1 0 0 -
4.294.967.295 >= Diferencia > 2.147.483.647 0 1 1 1
-4.294.967.295 <= Diferencia < -2.147.483.648 1 0 1 1

Ejemplo

AWL Explicacin
L ED10 //El valor de ED10 se carga en el ACU 1.
L MD14 //Cargar el contenido del ACU 1 en el ACU 2. Cargar el valor de MD14
//en el ACU 1.
-D //Restar ACU 2 de ACU 1, almacenar el resultado en el ACU 1.
T DB1.DBD25 //El contenido del ACU 1 (resultado) se transfiere del DB1 a DBD25.

Aritmtica de enteros
7.10 *D Multiplicar ACU 1 por ACU 2 como entero doble
Lista de instrucciones (AWL) para S7-300 y S7-400
112 Manual de referencia, 05/2010, A5E02790285-01
7.10 *D Multiplicar ACU 1 por ACU 2 como entero doble
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - x x x x - - - -

Configuracin de los bits de la palabra de estado A1 A0 OV OS
Resultado = 0 0 0 0 -
-2.147.483.648 <= Resultado < 0 0 1 0 -
2.147.483.647 >= Resultado > 0 1 0 0 -
Resultado > 2.147.483.647 1 0 1 1
Resultado < -2.147.483.648 0 1 1 1

Ejemplo

AWL Explicacin
L ED10 //El valor de ED10 se carga en el ACU 1.
L MD14 //Cargar el contenido del ACU 1 en el ACU 2. Cargar el valor de MD14 en
//el ACU 1.
*D //Multiplicar ACU 2 por ACU 1, almacenar el resultado en el ACU 1.
T DB1.DBD25 //El contenido del ACU 1 (resultado) se transfiere del DB1 a DBD25.

Aritmtica de enteros
7.11 /D Dividir ACU 2 por ACU 1 como entero doble
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 113
7.11 /D Dividir ACU 2 por ACU 1 como entero doble
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - x x x x - - - -

Configuracin de los bits de la palabra de estado A1 A0 OV OS
Cociente = 0 0 0 0 -
-2147483648 <= Cociente < 0 0 1 0 -
2147483647 >= Cociente > 0 1 0 0 -
Cociente = 2147483648 1 0 1 1
Divisin por cero 1 1 1 1

Ejemplo

AWL Explicacin
L ED10 //El valor de ED10 se carga en el ACU 1.
L MD14 //Cargar el contenido del ACU 1 en el ACU 2. Cargar el valor de MD14 en
//el ACU 1.
/D //Dividir ACU 2 por ACU 1, almacenar el resultado (cociente) en el ACU 1.
T MD20 //El contenido del ACU 1 (resultado) se transfiere a MD20.

Ejemplo: 13 / 4
Contenido del ACU 2 antes de la operacin (ED10): "13"
Contenido del ACU 1 antes de la operacin (MD14): "4"
Operacin /D (ACU 2 / ACU 1): "13/4"
Contenido del ACU 1 despus de la operacin (cociente): "3"
Aritmtica de enteros
7.12 MOD Resto de la divisin de enteros dobles
Lista de instrucciones (AWL) para S7-300 y S7-400
114 Manual de referencia, 05/2010, A5E02790285-01
7.12 MOD Resto de la divisin de enteros dobles
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - x x x x - - - -

Configuracin de los bits de la palabra de estado A1 A0 OV OS
Resto = 0 0 0 0 -
-2147483648 <= Resto < 0 0 1 0 -
2147483647 >= Resto > 0 1 0 0 -
Divisin por cero 1 1 1 1

Ejemplo

AWL Explicacin
L ED10 //El valor de ED10 se carga en el ACU 1.
L MD14 //Cargar el contenido del ACU 1 en el ACU 2. Cargar el valor de MD14 en
//el ACU 1.
MOD //Dividir ACU 2 por ACU 1, almacenar el resultado (resto de la divisin)
//en el ACU 1.
T MD20 //El contenido del ACU 1 (resultado) se transfiere a MD20.

Ejemplo: 13 / 4
Contenido del ACU 2 antes de la operacin (ED10): "13"
Contenido del ACU 1 antes de la operacin (MD14): "4"
Operacin /D (ACU 2 / ACU 1): "13/4"
Contenido del ACU 1 despus de la operacin (resto de la divisin): "1"

Lista de instrucciones (AWL) para S7-300 y S7-400
Manual de referencia, 05/2010, A5E02790285-01 115
8 Aritmtica en coma flotante
8.1 Lista de operaciones aritmticas con nmeros en coma flotante
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)

Aritmtica en coma flotante
8.2 Evaluar los bits de la palabra de estado en operaciones en coma flotante
Lista de instrucciones (AWL) para S7-300 y S7-400
116 Manual de referencia, 05/2010, A5E02790285-01
8.2 Evaluar los bits de la palabra de estado en operaciones en coma
flotante
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 A1 A0 OV OS
+0, -0 (Cero) 0 0 0 *
-3.402823E+38 < Resultado < -1.175494E-38
(nmero negativo)
0 1 0 *
+1.175494E-38 < Resultado < +3.402823E+38
(nmero positivo)
1 0 0 *
* El bit OS no es afectado por el resultado de la operacin.

Margen no vlido A1 A0 OV OS
Desbordamiento negativo
-1.175494E-38 < Resultado < -1.401298E-45 (nmero negativo)
0 0 1 1
Desbordamiento negativo
+1.401298E-45 < Resultado < +1.175494E-38 (nmero positivo)
0 0 1 1
Desbordamiento
Resultado < -3.402823E+38 (nmero negativo)
0 1 1 1
Desbordamiento
Resultado > 3.402823E+38 (nmero positivo)
1 0 1 1
Nmero en coma flotante no vlido o operacin no permitida
(valor de entrada fuera del margen vlido de valores)
1 1 1 1

Aritmtica en coma flotante
8.3 Operaciones bsicas
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 117
8.3 Operaciones bsicas
8.3.1 +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 A1 A0 OV OS Observacin
+qNaN 1 1 1 1
+infinito 1 0 1 1 Desbordamiento por exceso
+normalizado 1 0 0 -
+desnormalizado 0 0 1 1 Desbordamiento por defecto
+cero 0 0 0 -
-cero 0 0 0 -
-desnormalizado 0 0 1 1 Desbordamiento por defecto
-normalizado 0 1 0 -
-infinito 0 1 1 1 Desbordamiento por exceso
-qNaN 1 1 1 1
Palabra de estado

RB A1 A0 OV OS OR STA RLO /ER
Se escribe: - x x x x - - - -
Aritmtica en coma flotante
8.3 Operaciones bsicas
Lista de instrucciones (AWL) para S7-300 y S7-400
118 Manual de referencia, 05/2010, A5E02790285-01
Ejemplo

AWL Explicacin
AUF DB10
L ED10 //El valor de ED10 se carga en el ACU 1.
L MD14 //Cargar el contenido del ACU 1 en el ACU 2. Cargar el valor de MD14 en el
//ACU 1.
+R //Sumar ACU 2 y ACU 1, almacenar el resultado en el ACU 1.
T DBD25 //El contenido del ACU 1 (= resultado) se transfiere a DBD25 en DB10.

Aritmtica en coma flotante
8.3 Operaciones bsicas
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 119
8.3.2 -R Restar ACU 1 de ACU 2 como nmero en coma flotante (32 bits)
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 A1 A0 OV OS Observacin
+qNaN 1 1 1 1
+infinito 1 0 1 1 Desbordamiento por exceso
+normalizado 1 0 0 -
+desnormalizado 0 0 1 1 Desbordamiento por defecto
+cero 0 0 0 -
-cero 0 0 0 -
-desnormalizado 0 0 1 1 Desbordamiento por defecto
-normalizado 0 1 0 -
-infinito 0 1 1 1 Desbordamiento por exceso
-qNaN 1 1 1 1

Palabra de estado

RB A1 A0 OV OS OR STA RLO /ER
se escribe: - x x x x - - - -

Ejemplo

AWL Explicacin
AUF DB10
L ED10 //El valor de ED10 se carga en el ACU 1.
L MD14 //Cargar el contenido del ACU 1 en el ACU 2. Cargar el valor de MD14 en el
//ACU 1.
-R //Restar ACU 2 de ACU 1, almacenar el resultado en el ACU 1.
T DBD25 //El contenido del ACU 1 (= resultado) se transfiere a DBD25 en DB10.

Aritmtica en coma flotante
8.3 Operaciones bsicas
Lista de instrucciones (AWL) para S7-300 y S7-400
120 Manual de referencia, 05/2010, A5E02790285-01
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 A1 A0 OV OS Observacin
+qNaN 1 1 1 1
+infinito 1 0 1 1 Desbordamiento por exceso
+normalizado 1 0 0 -
+desnormalizado 0 0 1 1 Desbordamiento por defecto
+cero 0 0 0 -
-cero 0 0 0 -
-desnormalizado 0 0 1 1 Desbordamiento por defecto
-normalizado 0 1 0 -
-infinito 0 1 1 1 Desbordamiento por exceso
-qNaN 1 1 1 1

Palabra de estado

RB A1 A0 OV OS OR STA RLO /ER
se escribe: - x x x x - - - -

Ejemplo

AWL Explicacin
AUF DB10
L ED10 //El valor de ED10 se carga en el ACU 1.
L MD14 //Cargar el contenido del ACU 1 en el ACU 2. Cargar el valor de MD14 en
//el ACU 1.
*R //Multiplicar ACU 2 por ACU 1, almacenar el resultado en el ACU 1.
T DBD25 //El contenido del ACU 1 (= resultado) se transfiere a DBB25 en DB10.

Aritmtica en coma flotante
8.3 Operaciones bsicas
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 121
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 A1 A0 OV OS Observacin
+qNaN 1 1 1 1
+infinito 1 0 1 1 Desbordamiento por exceso
+normalizado 1 0 0 -
+desnormalizado 0 0 1 1 Desbordamiento por defecto
+cero 0 0 0 -
-cero 0 0 0 -
-desnormalizado 0 0 1 1 Desbordamiento por defecto
-normalizado 0 1 0 -
-infinito 0 1 1 1 Desbordamiento por exceso
-qNaN 1 1 1 1

Palabra de estado

RB A1 A0 OV OS OR STA RLO /ER
se escribe: - x x x x - - - -

Ejemplo

AWL Explicacin
AUF DB10
L ED10 //El valor de ED10 se carga en el ACU 1.
L MD14 //Cargar el contenido del ACU 1 en el ACU 2. Cargar el valor de MD14 en el
//ACU 1.
/R //Dividir ACU 2 por ACU 1, almacenar el resultado en el ACU 1.
T DBD20 //El contenido del ACU 1 (= resultado) se transfiere a DBD20 en DB10.

Aritmtica en coma flotante
8.3 Operaciones bsicas
Lista de instrucciones (AWL) para S7-300 y S7-400
122 Manual de referencia, 05/2010, A5E02790285-01
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - - - - -

Ejemplo

AWL Explicacin
L ED8 //Cargar el valor en el ACU 1 (ejemplo: ED8 = -1.5E+02).
ABS //Calcular el valor absoluto, almacenar el resultado en el ACU 1.
T MD10 //Transferir el resultado a MD10 (ejemplo: resultado = 1.5E+02).

Aritmtica en coma flotante
8.4 Operaciones ampliadas
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 123
8.4 Operaciones ampliadas
8.4.1 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 A1 A0 OV OS Observacin
+qNaN 1 1 1 1
+infinito 1 0 1 1 Desbordamiento
+normalizado 1 0 0 -
+desnormalizado 0 0 1 1 Desbordamiento negativo
+cero 0 0 0 -
-qNaN 1 1 1 1

Ejemplo

AWL Explicacin
AUF DB17 //Abrir bloque de datos DB17.
L DBD0 //El valor de la doble palabra de datos DBD0 se carga en el ACU 1.
//(Este valor debe tener formato en coma flotante.)
SQR //Calcular el cuadrado del nmero en coma flotante (32-bits, IEEE 754)
//en el ACU 1. Depositar el resultado en el ACU 1.
UN OV //Consultar si el estado de seal del bit OV es "0".
SPB OK //Si en la operacin SQR no se produjo ningn error, saltar a la marca
//OK.
BEA //Fin de bloque incondicionado, si en la operacin SQR se produjo un
//error.
OK: T DBD4 //Transferir el resultado del ACU 1 a la doble palabra de datos DBD4.

Aritmtica en coma flotante
8.4 Operaciones ampliadas
Lista de instrucciones (AWL) para S7-300 y S7-400
124 Manual de referencia, 05/2010, A5E02790285-01
8.4.2 SQRT Calcular la raz cuadrada de un nmero en coma flotante (32 bits)
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 A1 A0 OV OS Observacin
+qNaN 1 1 1 1
+infinito 1 0 1 1 Desbordamiento por exceso
+normalizado 1 0 0 -
+desnormalizado 0 0 1 1 Desbordamiento por defecto
+cero 0 0 0 -
-cero 0 0 0 -
-qNaN 1 1 1 1

Ejemplo

AWL Explicacin
L MD10 //El valor de la doble palabra de marcas MD10 se carga en el ACU 1.
//(Este valor debe tener formato en coma flotante.)
SQRT //Calcular la raz cuadrada del nmero en coma flotante
//(32-bits, IEEE 754) en el ACU 1. Depositar el resultado en el ACU 1.
UN OV //Consultar si el estado de seal del bit OV es "0".
SPB OK //Si en la operacin SQRT no se produjo ningn error, saltar a la marca
//OK.
BEA //Fin de bloque incondicionado, si en la operacin SQRT se produjo un
//error.
OK: T MD20 //Transferir el resultado del ACU 1 a la doble palabra de marcas MD20.

Aritmtica en coma flotante
8.4 Operaciones ampliadas
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 125
8.4.3 EXP Calcular el exponente de un nmero en coma flotante (32 bits)
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 A1 A0 OV OS Observacin
+qNaN 1 1 1 1
+infinito 1 0 1 1 Desbordamiento por exceso
+normalizado 1 0 0 -
+desnormalizado 0 0 1 1 Desbordamiento por defecto
+cero 0 0 0 -
-qNaN 1 1 1 1

Ejemplo

AWL Explicacin
L MD10 //El valor de la doble palabra de marcas MD 10 se carga en el ACU 1.
//(Este valor debe tener formato en coma flotante.)
EXP //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.
UN OV //Consultar si el estado de seal del bit OV es "0".
SPB OK //Si en la operacin EXP no se produjo ningn error, saltar a la marca
//OK.
BEA //Fin de bloque incondicionado, si en la operacin EXP se produjo un
//error.
OK: T MD20 //Transferir el resultado del ACU 1 a la doble palabra de marcas MD20.

Aritmtica en coma flotante
8.4 Operaciones ampliadas
Lista de instrucciones (AWL) para S7-300 y S7-400
126 Manual de referencia, 05/2010, A5E02790285-01
8.4.4 LN Calcular el logaritmo natural de un nmero en coma flotante (32 bits)
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 A1 A0 OV OS Observacin
+qNaN 1 1 1 1
+infinito 1 0 1 1 Desbordamiento por exceso
+normalizado 1 0 0 -
+desnormalizado 0 0 1 1 Desbordamiento por defecto
+cero 0 0 0 -
-cero 0 0 0 -
-desnormalizado 0 0 1 1 Desbordamiento por defecto
-normalizado 0 1 0 -
-infinito 0 1 1 1 Desbordamiento por exceso
-qNaN 1 1 1 1

Ejemplo

AWL Explicacin
L MD10 //El valor de la doble palabra de marcas MD 10 se carga en el ACU 1.
//(Este valor debe tener formato en coma flotante.)
LN //Calcular el logaritmo natural del nmero en coma flotante
//(32 bits, IEEE 754) en el ACU 1. Depositar el resultado en el ACU 1.
UN OV //Consultar si el estado de seal del bit OV es "0".
SPB OK //Si en la operacin LN no se produjo ningn error, saltar a la marca
//OK.
BEA //Fin de bloque incondicionado, si en la operacin LN se produjo un
//error.
OK: T MD20 //Transferir el resultado del ACU 1 a la doble palabra de marcas MD20.

Aritmtica en coma flotante
8.4 Operaciones ampliadas
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 127
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 A1 A0 OV OS Observacin
+qNaN 1 1 1 1
+normalizado 1 0 0 -
+desnormalizado 0 0 1 1 Desbordamiento por exceso
+cero 0 0 0 -
+infinito 1 0 1 1
-cero 0 0 0 -
-desnormalizado 0 0 1 1 Desbordamiento por defecto
-normalizado 0 1 0 -
-qNaN 1 1 1 1

Ejemplo

AWL Explicacin
L MD10 //El valor de la doble palabra de marcas MD 10 se carga en el ACU 1.
//(Este valor debe tener formato en coma flotante.)
SIN //Calcular el seno del nmero en coma flotante (de 32 bits, IEEE 754) en
//el ACU 1. Depositar el resultado en el ACU 1.
T MD20 //Transferir el resultado del ACU 1 a la doble palabra de marcas MD20.

Aritmtica en coma flotante
8.4 Operaciones ampliadas
Lista de instrucciones (AWL) para S7-300 y S7-400
128 Manual de referencia, 05/2010, A5E02790285-01
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 A1 A0 OV OS Observacin
+qNaN 1 1 1 1
+normalizado 1 0 0 -
+desnormalizado 0 0 1 1 Desbordamiento por exceso
+cero 0 0 0 -
-cero 0 0 0 -
-desnormalizado 0 0 1 1 Desbordamiento por defecto
-normalizado 0 1 0 -
-qNaN 1 1 1 1

Ejemplo

AWL Explicacin
L MD10 //El valor de la doble palabra de marcas MD 10 se carga en el ACU 1.
//(Este valor debe tener formato en coma flotante.)
COS //Calcular el coseno del nmero en coma flotante (de 32 bits, IEEE 754)
//en el ACU 1. Depositar el resultado en el ACU 1.
T MD20 //Transferir el resultado del ACU 1 a la doble palabra de marcas MD20.

8.4.7 TAN Calcular la tangente de ngulos como nmeros en coma flotante (32 bits)
Formato
TAN
Aritmtica en coma flotante
8.4 Operaciones ampliadas
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 129
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 A1 A0 OV OS Observacin
+qNaN 1 1 1 1
+infinito 1 0 1 1 Desbordamiento por exceso
+normalizado 1 0 0 -
+desnormalizado 0 0 1 1 Desbordamiento por defecto
+cero 0 0 0 -
-cero 0 0 0 -
-desnormalizado 0 0 1 1 Desbordamiento por defecto
-normalizado 0 1 0 -
-infinito 0 1 1 1 Desbordamiento por exceso
-qNaN 1 1 1 1

Ejemplo

AWL Explicacin
L MD10 //El valor de la doble palabra de marcas MD 10 se carga en el ACU 1.
//(Este valor debe tener formato en coma flotante.)
TAN //Calcular la tangente del nmero en coma flotante (de 32 bits,
//IEEE 754) en el ACU 1. Depositar el resultado en el ACU 1.
UN OV //Consultar si el estado de seal del bit OV es "0".
SPB OK //Si en la operacin TAN no se produjon ningn error, saltar a la marca
//OK.
BEA //Fin de bloque incondicionado, si en la operacin TAN se produjo un
//error.
OK: T MD20 //Transferir el resultado del ACU 1 a la doble palabra de marcas MD20.

8.4.8 ASIN Calcular el arcoseno de un nmero en coma flotante (32 bits)
Formato
ASIN
Aritmtica en coma flotante
8.4 Operaciones ampliadas
Lista de instrucciones (AWL) para S7-300 y S7-400
130 Manual de referencia, 05/2010, A5E02790285-01
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:

- / 2 <= arcoseno (ACU 1) <= + / 2, siendo = 3,14159...

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 A1 A0 OV OS Observacin
+qNaN 1 1 1 1
+normalizado 1 0 0 -
+desnormalizado 0 0 1 1 Desbordamiento por exceso
+cero 0 0 0 -
-cero 0 0 0 -
-desnormalizado 0 0 1 1 Desbordamiento por defecto
-normalizado 0 1 0 -
-qNaN 1 1 1 1

Ejemplo

AWL Explicacin
L MD10 //El valor de la doble palabra de marcas MD 10 se carga en el ACU 1.
//(Este valor debe tener formato en coma flotante.)
ASIN //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.
UN OV //Consultar si el estado de seal del bit OV es "0".
SPB OK //Si en la operacin ASIN no se produjo ningn error, saltar a la marca
//OK.
BEA //Fin de bloque incondicionado, si en la operacin ASIN se produjo un
//error.
OK: T MD20 //Transferir el resultado del ACU 1 a la doble palabra de marcas MD20.

8.4.9 ACOS Calcular el arcocoseno de un nmero en coma flotante (32 bits)
Formato
ACOS
Aritmtica en coma flotante
8.4 Operaciones ampliadas
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 131
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:

0 <= arcocoseno (ACU 1) <= , siendo = 3,14159...

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 A1 A0 OV OS Observacin
+qNaN 1 1 1 1
+normalizado 1 0 0 -
+desnormalizado 0 0 1 1 Desbordamiento por exceso
+cero 0 0 0 -
-cero 0 0 0 -
-desnormalizado 0 0 1 1 Desbordamiento por defecto
-normalizado 0 1 0 -
-qNaN 1 1 1 1

Ejemplo

AWL Explicacin
L MD10 //El valor de la doble palabra de marcas MD 10 se carga en el ACU 1.
//(Este valor debe tener formato en coma flotante.)
ACOS //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.
UN OV //Consultar si el estado de seal del bit OV es "0".
SPB OK //Si en la operacin ACOS no se produjo nign error, saltar a la marca
//OK.
BEA //Fin de bloque incondicionado, si en la operacin ACOS se produjo un
//error.
OK: T MD20 //Transferir el resultado del ACU 1 a la doble palabra de marcas MD20.

8.4.10 ATAN Calcular la arcotangente de un nmero en coma flotante (32 bits)
Formato
ATAN
Aritmtica en coma flotante
8.4 Operaciones ampliadas
Lista de instrucciones (AWL) para S7-300 y S7-400
132 Manual de referencia, 05/2010, A5E02790285-01
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:

- / 2 <= arcotangente (ACU 1) <= + / 2, siendo = 3,14159...

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 A1 A0 OV OS Observacin
+qNaN 1 1 1 1
+normalizado 1 0 0 -
+desnormalizado 0 0 1 1 Desbordamiento por exceso
+cero 0 0 0 -
-cero 0 0 0 -
-desnormalizado 0 0 1 1 Desbordamiento por defecto
-normalizado 0 1 0 -
-qNaN 1 1 1 1

Ejemplo

AWL Explicacin
L MD10 //El valor de la doble palabra de marcas MD 10 se carga en el ACU 1.
//(Este valor debe tener formato en coma flotante.)
ATAN //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.
UN OV //Consultar si el estado de seal del bit OV es "0".
SPB OK //Si en la operacin ATAN no se produjo ningn error, saltar a la marca
//OK.
BEA //Fin de bloque incondicionado, si en la operacin ATAN se produjo un
//error.
OK: T MD20 //Transferir el resultado del ACU 1 a la doble palabra de marcas MD20.


Lista de instrucciones (AWL) para S7-300 y S7-400
Manual de referencia, 05/2010, A5E02790285-01 133
9 Operaciones de carga y transferencia
9.1 Lista de operaciones de cargar y transferencia
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 Cargar
L STW Cargar palabra de estado en ACU 1
LAR1 Cargar registro de direcciones 1 con contenido del ACU 1
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 Transferir
T STW Transferir ACU 1 a la palabra de estado
TAR Intercambiar registro de direcciones 1 y registro de direcciones 2
TAR1 Transferir registro de direcciones 1 a ACU 1
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)

Operaciones de carga y transferencia
9.2 L Cargar
Lista de instrucciones (AWL) para S7-300 y S7-400
134 Manual de referencia, 05/2010, A5E02790285-01
9.2 L Cargar
Formato
L <operando>

Operando Tipo de datos rea de memoria Direccin fuente
<operando> BYTE
WORD
DWORD
E, A, PE, M, L, D,
puntero, parmetro
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - - - - -
Ejemplo

AWL Explicacin
L EB10 //Cargar byte de entrada EB10 en el ACU1-L-L.
L MB120 //Cargar byte de marcas MB120 en el ACU1-L-L.
L DBB12 //Cargar byte de datos DBB12 en el ACU1-L-L.
L DIW15 //Cargar palabra de datos de instancia DIW15 en el ACU1-L.
L LD252 //Cargar doble palabra de datos locales LD252 en el ACU 1.
L P# E 8.7 //Cargar puntero en ACU1
L OTTO //Cargar parmetro "OTTO" en ACU1
L P# ANNA //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.
Operaciones de carga y transferencia
9.2 L Cargar
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 135
Contenido del ACU 1

Contenido ACU1-H-H ACU1-H-L ACU1-L-H ACU1-L-L
antes de ejecutar la operacin de carga XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
despus de ejecutar L MB10 (L <byte>) 00000000 00000000 00000000 <MB10>
despus de ejecutar L MW10
(L <palabra>)
00000000 00000000 <MB10> <MB11>
despus de ejecutar L MD10
(L <doble palabra>)
<MB10> <MB11> <MB12> <MB13>
despus de ejecutar L P# ANNA
(en el FB)
<86> <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.
despus de ejecutar L P# ANNA
(en la FC)
<una direccin interrea del dato que se transfiere a ANNA>
X = "1" o "0"

Operaciones de carga y transferencia
9.3 L STW Cargar palabra de estado en ACU 1
Lista de instrucciones (AWL) para S7-300 y S7-400
136 Manual de referencia, 05/2010, A5E02790285-01
9.3 L STW Cargar palabra de estado en ACU 1
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - - - - -
Ejemplo

AWL Explicacin
L STW //Cargar el contenido de la palabra de estado en el ACU 1.

El contenido del ACU 1 despus de ejecutar L STW es el siguiente:

Bit 31-9 8 7 6 5 4 3 2 1 0
Contenido: 0 RB A1 A0 OV OS OR STA RLO /ER

Operaciones de carga y transferencia
9.4 LAR1 Cargar registro de direcciones 1 con contenido del ACU 1
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 137
9.4 LAR1 Cargar registro de direcciones 1 con contenido del ACU 1
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - - - - -

Operaciones de carga y transferencia
9.5 LAR1 <D> Cargar registro de direcciones 1 con puntero (formato de 32 bits)
Lista de instrucciones (AWL) para S7-300 y S7-400
138 Manual de referencia, 05/2010, A5E02790285-01
9.5 LAR1 <D> Cargar registro de direcciones 1 con puntero
(formato de 32 bits)
Formato
LAR1 <D>

Operando Tipo de datos rea de memoria Direccin fuente
<D> DWORD
Constante de puntero
D, M, L 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 A1 A0 OV OS OR STA RLO /ER
Se escribe: - - - - - - - - -

Ejemplos: Direcciones directas

AWL Explicacin
LAR1 DBD 20 //Cargar AR 1 con el puntero en la doble palabra de datos DBD20.
LAR1 DID 30 //Cargar AR1 con el puntero en la doble palabra de instancia DID30.
LAR1 LD 180 //Cargar AR1 con el puntero en la doble palabra de datos locales LD180.
LAR1 MD 24 //Cargar AR1 con el puntero en la doble palabra de marcas MD24.
Ejemplo: Constante de puntero

AWL Explicacin
LAR1 P#M100.0 //Cargar AR 1 con una constante de puntero de 32 bits.

Operaciones de carga y transferencia
9.6 LAR1 AR2 Cargar registro de direcciones 1 con contenido del registro de direcciones 2
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 139
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - - - - -

9.7 LAR2 Cargar registro de direcciones 2 con contenido del ACU 1
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - - - - -

Operaciones de carga y transferencia
9.8 LAR2 <D> Cargar registro de direcciones 2 con puntero (formato de 32 bits)
Lista de instrucciones (AWL) para S7-300 y S7-400
140 Manual de referencia, 05/2010, A5E02790285-01
9.8 LAR2 <D> Cargar registro de direcciones 2 con puntero
(formato de 32 bits)
Formato
LAR2 <D>

Operando Tipo de datos rea de memoria Direccin fuente
<D> DWORD
Constante de puntero
D, M, L 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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - - - - -

Ejemplos: Direcciones directas

AWL Explicacin
LAR2 DBD 20 //Cargar AR 2 con el puntero en la doble palabra de datos DBD20.
LAR2 DID 30 //Cargar AR 2 con el puntero en la doble palabra de instancia DID30.
LAR2 LD 180 //Cargar AR 2 con el puntero en la doble palabra de datos locales LD180.
LAR2 MD 24 //Cargar AR 2 con el contenido de la doble palabra de marcas MD24
//direccionada directamente.
Ejemplo: Constante de puntero

AWL Explicacin
LAR2 P#M100.0 //Cargar AR 2 con una constante de puntero de 32 bits.

Operaciones de carga y transferencia
9.9 T Transferir
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 141
9.9 T Transferir
Formato
T <operando>

Operando Tipo de datos rea de memoria Direccin fuente
<operando> BYTE
WORD
DWORD
E, A, PA, M, L, D 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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - - - - -

Ejemplo

AWL Explicacin
T AB10 //Transferir el contenido del ACU1-L-L al byte de salida AB10.
T MW14 //Transferir el contenido del ACU1-L a la palabra de marcas MW14.
T DBD2 //Transferir el contenido del ACU 1 a la doble palabra de datos DBD2.

Operaciones de carga y transferencia
9.10 T STW Transferir ACU 1 a la palabra de estado
Lista de instrucciones (AWL) para S7-300 y S7-400
142 Manual de referencia, 05/2010, A5E02790285-01
9.10 T STW Transferir ACU 1 a la palabra de estado
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 A1 A0 OV OS OR STA RLO /ER
se escribe: x x x x x x x x x

Ejemplo

AWL Explicacin
T STW //Transferir los bits 0 a 8 del ACU 1 a la palabra de estado.

Los bits del ACU 1 contienen los siguientes bits de la palabra de estado:

Bit 31-9 8 7 6 5 4 3 2 1 0
Contenido: *) RB A1 A0 OV OS OR STA RLO /ER
*) bits que no se transfieren.

Operaciones de carga y transferencia
9.11 TAR Intercambiar registro de direcciones 1 y registro de direcciones 2
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 143
9.11 TAR Intercambiar registro de direcciones 1 y registro de
direcciones 2
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - - - - -

9.12 TAR1 Transferir registro de direcciones 1 a ACU 1
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - - - - -

Operaciones de carga y transferencia
9.13 TAR1 <D> Transferir registro de direcciones 1 a direccin de destino (puntero de 32 bits)
Lista de instrucciones (AWL) para S7-300 y S7-400
144 Manual de referencia, 05/2010, A5E02790285-01
9.13 TAR1 <D> Transferir registro de direcciones 1 a direccin de
destino (puntero de 32 bits)
Formato
TAR1 <D>

Operando Tipo de datos rea de memoria Direccin fuente
<D> DWORD D, M, L 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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - - - - -
Ejemplos

AWL Explicacin
TAR1 DBD20 //Transferir el contenido de AR 1 a la doble palabra de datos DBD20.
TAR1 DID30 //Transferir el contenido de AR 1 a la doble palabra de instancia DID30.
TAR1 LD18 //Transferir el contenido de AR 1 a la doble palabra de datos locales LD18.
TAR1 MD24 //Transferir el contenido de AR 1 a la doble palabra de marcas MD24.

Operaciones de carga y transferencia
9.14 TAR1 AR2 Transferir registro de direcciones 1 a registro de direcciones 2
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 145
9.14 TAR1 AR2 Transferir registro de direcciones 1 a registro de
direcciones 2
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - - - - -

9.15 TAR2 Transferir registro de direcciones 2 a ACU 1
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - - - - -

Operaciones de carga y transferencia
9.16 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
146 Manual de referencia, 05/2010, A5E02790285-01
9.16 TAR2 <D> Transferir registro de direcciones 2 a direccin de
destino (puntero de 32 bits)
Formato
TAR2 <D>

Operando Tipo de datos rea de memoria Direccin fuente
<D> DWORD D, M, L 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 A1 A0 OV OS OR STA RLO /ER
Se escribe: - - - - - - - - -
Ejemplos

AWL Explicacin
TAR2 DBD20 //Transferir el contenido de AR 2 a la doble palabra de datos DBD20.
TAR2 DID30 //Transferir el contenido de AR 2 a la doble palabra de instancia DID30.
TAR2 LD18 //Transferir el contenido de AR 2 a la doble palabra de datos locales LD18.
TAR2 MD24 //Transferir el contenido de AR 2 a la doble palabra de marcas MD24.


Lista de instrucciones (AWL) para S7-300 y S7-400
Manual de referencia, 05/2010, A5E02790285-01 147
10 Control de programa
10.1 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( Almacenar el RLO en pila MCR, inicio rea MCR
)MCR Fin rea MCR
MCRA Activar rea MCR
MCRD Desactivar rea MCR


Control de programa
10.2 BE Fin de bloque
Lista de instrucciones (AWL) para S7-300 y S7-400
148 Manual de referencia, 05/2010, A5E02790285-01
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - 0 0 1 - 0

Ejemplo

AWL Explicacin
U E 1.0
SPB NEXT //Saltar a la meta NEXT, si el RLO es 1 (E 1.0 = 1).
L EW4 //Continuar aqu si no se ejecuta el salto.
T EW10
U E 6.0
U E 6.1
S M
12.0

BE //Fin de bloque.
NEXT: NOP 0 //Continuar aqu si se ejecuta el salto.

Control de programa
10.3 BEB Fin de bloque condicionado
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 149
10.3 BEB Fin de bloque condicionado
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - x 0 1 1 0

Ejemplo

AWL Explicacin
U E 1.0 //Actualizar el RLO.
BEB //Finalizar el bloque si el RLO es 1.
L EW4 //Continuar aqu si la instruccin BEB no se ejecuta (RLO = 0).
T MW10

Control de programa
10.4 BEA Fin de bloque incondicionado
Lista de instrucciones (AWL) para S7-300 y S7-400
150 Manual de referencia, 05/2010, A5E02790285-01
10.4 BEA Fin de bloque incondicionado
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - 0 0 1 - 0

Ejemplo

AWL Explicacin
U E 1.0
SPB NEXT //Saltar a la meta NEXT, si el RLO es 1 (E 1.0 = 1).
L EW4 //Continuar aqu si no se ejecuta el salto.
T EW10
U E 6.0
U E 6.1
S M 12.0
BEA //Fin de bloque incondicionado.
NEXT: NOP 0 //Continuar aqu si se ejecuta el salto.

Control de programa
10.5 CALL Llamada
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 151
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.
Ejemplo: CALL FB1, DB1 CALL FILLVAT1, RECIPE1

Bloque lgico Tipo de bloque Sintaxis para la llamada
(direccin absoluta)
FC Funcin CALL FCn
SFC Funcin de sistema CALL SFCn
FB Bloque de funcin CALL FBn1,DBn2
SFB Bloque de funcin de sistema CALL SFBn1,DBn2


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.

Control de programa
10.5 CALL Llamada
Lista de instrucciones (AWL) para S7-300 y S7-400
152 Manual de referencia, 05/2010, A5E02790285-01
Transferir parmetros (utilcese para ello el editor incremental)
El bloque que efecta la llamada puede intercambiar parmetros con el bloque llamado a travs de la
lista de variables. La lista de variables se agrega automticamente al programa AWL en cuestin en
cuanto se introduzca correctamente una instruccin CALL.
Si se llama a un FB/SFB o a una FC/SFC, y la tabla de declaracin de variables del bloque que se ha
llamado tiene declaraciones del tipo IN, OUT e IN_OUT, dichas variables se aaden al programa del
bloque que efecta la llamada en forma de lista de parmetros formales.
Al llamar a las FC y SFC, a los parmetros formales se les tiene que asignar los parmetros actuales
del bloque lgico que efecta la llamada.
Al llamar a los FB y SFB slo tienen que indicarse los parmetros actuales que vayan a modificarse
con respecto a la ltima llamada, ya que los parmetros actuales se almacenan en el DB de instancia
despus de que se haya ejecutado el FB. Si el parmetro actual es un DB, se tiene que indicar
siempre la direccin absoluta y completa, p.ej. DB1,DBW2.
Los parmetros IN pueden indicarse en forma de constantes o de direcciones, ya sean stas
absolutas o simblicas. Los parmetros OUT e IN_OUT tienen que indicarse en forma de direcciones
absolutas o simblicas. Hay que asegurarse de que todas las direcciones y constantes sean
compatibles con los tipos de datos que se transfieren.
La operacin CALL almacena en la pila BSTACK la direccin de retorno (selector y direccin relativa),
los selectores de los dos bloques de datos que estn abiertos y el bit MA. Adems, la operacin
desactiva la dependencia respecto al MCR y crea el rea de datos locales del bloque a llamar.
Palabra de estado

RB A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - 0 0 1 - 0

Ejemplo 1: Asignar parmetros a la llamada de la funcin FC6

CALL FC6
Parmetros formales Parmetros actuales
NO OF TOOL := MW100
TIME OUT := MW110
FOUND := A 0.1
ERROR := A 100.0

Ejemplo 2: Llamar a una SFC sin parmetros

AWL Explicacin
CALL SFC43 //Llamar a la SFC43 para volver a arrancar la vigilancia de tiempo
//(sin parmetros).

Control de programa
10.5 CALL Llamada
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 153
Ejemplo 3: Llamar al FB99 con el bloque de datos de instancia DB1

CALL FB99,DB1
Parmetros formales Parmetros actuales
MAX_RPM := #RPM1_MAX
MIN_RPM := #RPM2
MAX_POWER := #POWER
MAX_TEMP := #TEMP

Ejemplo 4: Llamar al FB99 con el bloque de datos de instancia DB2

CALL FB99,DB2
Parmetros formales Parmetros actuales
MAX_RPM := #RPM3_MAX
MIN_RPM := #RPM2
MAX_POWER := #POWER1
MAX_TEMP := #TEMP


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.

Control de programa
10.6 Llamar a un FB
Lista de instrucciones (AWL) para S7-300 y S7-400
154 Manual de referencia, 05/2010, A5E02790285-01
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.
Transferir parmetros (para ello trabaje con el modo incremental)
El bloque invocante puede intercambiar parmetros con el bloque invocado mediante la tabla de
variables. Dicha tabla de variables se actualiza de forma automtica en su programa AWL al introducir
una instruccin CALL vlida.
Si llama un FB y la tabla de declaracin de variables del bloque invocado dispone de declaraciones
del tipo IN, OUT e IN_OUT, estas variables se actualizarn en el programa del bloque invocante como
tabla de parmetros formales.
Al llamar los FBs slo tiene que introducir los parmetros actuales que se hayan modificado respecto
a la ltima llamada, ya que los parmetros actuales se han guardado en el DB de instancia una vez
procesado el FB. Si el parmetro actual es un DB, se debe indicar siempre la direccin absoluta de
forma completa, p.ej. DB1, DBW2.
Los parmetros IN se pueden introducir como constantes o direcciones absolutas o simblicas. Los
parmetros OUT e IN_OUT tienen que introducirse como direcciones absolutas o simblicas. Vigile
que todas las direcciones y constantes sean compatibles con los tipos de datos que se vayan a
transferir.
La operacin CALL guarda la direccin de retorno (selector y direccin relativa), los selectores de los
dos bloques de datos abiertos y el bit MA en la pila BSTACK. Adems la operacin desactiva la
dependencia MCR y crea el rea de datos locales del bloque que debe ser llamado.
Palabra de estado

RB A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - 0 0 1 - 0

Control de programa
10.6 Llamar a un FB
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 155
Ejemplo 1: Llamar el FB99 con el bloque de datos de instancia DB1

CALL FB99,DB1
Parmetros formales Parmetros actuales
MAX_RPM := #RPM1_MAX
MIN_RPM := #RPM1
MAX_POWER := #POWER1
MAX_TEMP := #TEMP1
Ejemplo 2: Llamar el FB99 con el bloque de datos de instancia DB2

CALL FB99,DB2
Parmetros formales Parmetros actuales
MAX_RPM := #RPM2_MAX
MIN_RPM := #RPM2
MAX_POWER := #POWER2
MAX_TEMP := #TEMP2


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.

Control de programa
10.7 Llamar a una FC
Lista de instrucciones (AWL) para S7-300 y S7-400
156 Manual de referencia, 05/2010, A5E02790285-01
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.
Transferir parmetros (para ello trabaje con el modo incremental)
El bloque invocante puede intercambiar parmetros con el bloque invocado mediante la tabla de
variables. Dicha tabla de variables se actualiza de forma automtica en su programa AWL al introducir
una instruccin CALL vlida.
Si llama una FC y la tabla de declaracin de variables del bloque invocado dispone de declaraciones
del tipo IN, OUT e IN_OUT, estas variables se actualizarn en el programa del bloque invocante como
tabla de parmetros formales.
Al llamar las FCs tiene que asignar parmetros actuales del bloque lgico invocante a los parmetros
formales.
Los parmetros IN se pueden introducir como constantes o direcciones absolutas o simblicas. Los
parmetros OUT e IN_OUT tienen que introducirse como direcciones absolutas o simblicas. Vigile
que todas las direcciones y constantes sean compatibles con los tipos de datos que se vayan a
transferir.
La operacin CALL guarda la direccin de retorno (selector y direccin relativa), los selectores de los
dos bloques de datos abiertos y el bit MA en la pila BSTACK. Adems la operacin desactiva la
dependencia MCR y crea el rea de datos locales del bloque que debe ser llamado.
Palabra de estado

RB A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - 0 0 1 - 0

Control de programa
10.7 Llamar a una FC
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 157
Ejemplo: Asignar parmetros a la llamada de la funcin FC6

CALL FC6
Parmetros formales Parmetros actuales
NO OF TOOL := MW100
TIME OUT := MW110
FOUND := A 0.1
ERROR := A 100.0

Control de programa
10.8 Llamar a un SFB
Lista de instrucciones (AWL) para S7-300 y S7-400
158 Manual de referencia, 05/2010, A5E02790285-01
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.
Transferir parmetros (para ello trabaje con el modo incremental)
El bloque invocante puede intercambiar parmetros con el bloque invocado mediante la tabla de
variables. Dicha tabla de variables se actualiza de forma automtica en su programa AWL al introducir
una instruccin CALL vlida.
Si llama un SFB y la tabla de declaracin de variables del bloque invocado dispone de declaraciones
del tipo IN, OUT e IN_OUT, estas variables se actualizarn en el programa del bloque invocante como
tabla de parmetros formales.
Al llamar los SFBs slo tiene que introducir los parmetros actuales que se hayan modificado
respecto a la ltima llamada, ya que los parmetros actuales se han guardado en el DB de instancia
una vez procesado el SFB. Si el parmetro actual es un DB, se debe indicar siempre la direccin
absoluta de forma completa, p.ej. DB1, DBW2.
Los parmetros IN se pueden introducir como constantes o direcciones absolutas o simblicas. Los
parmetros OUT e IN_OUT tienen que introducirse como direcciones absolutas o simblicas. Vigile
que todas las direcciones y constantes sean compatibles con los tipos de datos que se vayan a
transferir.
La operacin CALL guarda la direccin de retorno (selector y direccin relativa), los selectores de los
dos bloques de datos abiertos y el bit MA en la pila BSTACK. Adems la operacin desactiva la
dependencia MCR y crea el rea de datos locales del bloque que debe ser llamado.
Palabra de estado

RB A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - 0 0 1 - 0
Control de programa
10.8 Llamar a un SFB
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 159
Ejemplo

CALL SFB4,DB4
Parmetros formales Parmetros actuales
IN: E0.1
PT: T#20s
Q: M0.0
ET: MW10


Nota
Toda llamada a un SFB tiene que disponer de un bloque de datos de instancia. En el ejemplo anterior
tienen que existir los bloques SFB4 y DB4 antes de la llamada.

Control de programa
10.9 Llamar a una SFC
Lista de instrucciones (AWL) para S7-300 y S7-400
160 Manual de referencia, 05/2010, A5E02790285-01
10.9 Llamar a una SFC
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.
Transferir parmetros (para ello trabaje con el modo incremental)
El bloque invocante puede intercambiar parmetros con el bloque invocado mediante la tabla de
variables. Dicha tabla de variables se actualiza de forma automtica en su programa AWL al introducir
una instruccin CALL vlida.
Si llama una SFC y la tabla de declaracin de variables del bloque invocado dispone de declaraciones
del tipo IN, OUT e IN_OUT, estas variables se actualizarn en el programa del bloque invocante como
tabla de parmetros formales.
Al llamar las SFCs tiene que asignar parmetros actuales del bloque lgico invocante a los
parmetros formales.
Los parmetros IN se pueden introducir como constantes o direcciones absolutas o simblicas. Los
parmetros OUT e IN_OUT tienen que introducirse como direcciones absolutas o simblicas. Vigile
que todas las direcciones y constantes sean compatibles con los tipos de datos que se vayan a
transferir.
La operacin CALL guarda la direccin de retorno (selector y direccin relativa), los selectores de los
dos bloques de datos abiertos y el bit MA en la pila BSTACK. Adems la operacin desactiva la
dependencia MCR y crea el rea de datos locales del bloque que debe ser llamado.
Palabra de estado

RB A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - 0 0 1 - 0

Ejemplo: Llamar a una SFC sin parmetros

AWL Explicacin
CALL SFC43 //Llama la SFC43 para arrancar de nuevo la supervisin del tiempo
//(sin parmetros).

Control de programa
10.10 Llamar a una multiinstancia
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 161
10.10 Llamar a una multiinstancia
Formato
CALL # Variablenname
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - 0 0 X X X


10.11 Llamar a un bloque de una librera
Se le ofrecen las libreras registradas en el Administrador SIMATIC.
De estas libreras puede seleccionar:
los bloques que estn integrados en el sistema operativo de su CPU (librera "Standard Library"),
los bloques que usted mismo haya depositado en libreras porque desea utilizarlos repetidas
veces.

Control de programa
10.12 CC Llamada condicionada
Lista de instrucciones (AWL) para S7-300 y S7-400
162 Manual de referencia, 05/2010, A5E02790285-01
10.12 CC Llamada condicionada
Formato
CC <identificacin del bloque lgico>
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - 0 0 1 1 0

Ejemplo

AWL Explicacin
U E 2.0 //Consultar el estado de seal en la entrada E 2.0.
CC FC6 //Llamar a la funcin FC6, si E 2.0 es 1.
U M3.0 //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.

Control de programa
10.13 UC Llamada incondicionada
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 163
10.13 UC Llamada incondicionada
Formato
UC <identificacin del bloque lgico>
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - 0 0 1 - 0

Ejemplo 1

AWL Explicacin
UC FC6 //Llamar a la funcin FC6 (sin parmetros).

Ejemplo 2

AWL Explicacin
UC SFC43 //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.

Control de programa
10.14 El MCR (Master Control Relay)
Lista de instrucciones (AWL) para S7-300 y S7-400
164 Manual de referencia, 05/2010, A5E02790285-01
10.14 El MCR (Master Control Relay)
Notas importantes sobre el uso de la funcin MCR

!
Atencin
Para eliminar la posibilidad de que haya peligro para las personas y/o las mquinas, no utilizar nunca
el MCR para sustituir a un Master Control Relay mecnico que est conectado permanentemente y
que sirva como dispositivo de emergencia.
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
= <bit> S <bit>, R <bit> T <byte>, T <palabra>
T <palabra doble>
0 ("OFF") Escribe "0".
(Imita a un rel que pasa al
estado de reposo en caso de
fallar la alimenta-cin.)
No escribe.
(Imita a un rel que
permanece en su estado
actual en caso de fallar la
alimentacin.)
Escribe "0".
(Imita a un compo-nente que
da el valor "0" en caso de
fallar la alimentacin.)
1 ("ON") Ejecucin normal. Ejecucin normal. Ejecucin normal.

MCR( - Inicio rea MCR / )MCR - Fin rea MCR
El MCR es controlado por una pila que tiene una anchura de un bit y una profundidad de ocho bits. El
MCR permanece conectado mientras las ocho entradas tengan el estado de seal "1". La operacin
MCR( copia el bit RLO en la pila MCR. La operacin )MCR borra la ltima entrada de la pila y pone la
posicin vacante a "1". Las operaciones MCR( y )MCR siempre deben utilizarse en pareja. Si hay ms
de ocho operaciones MCR( consecutivas, o se intenta ejecutar una operacin )MCR estando la pila
vaca, se provoca un mensaje de error MCRF.
Control de programa
10.14 El MCR (Master Control Relay)
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 165
MCRA - Activar rea MCR / MCRD - Desactivar rea MCR
Las operaciones MCRA y MCRD siempre deben utilizarse en pareja. Las instrucciones que estn
programadas entre MCRA y MCRD dependen del estado del bit MCR. Las operaciones que se
encuentran fuera de una serie MCRA-MCRD no dependen del estado del bit MCR.
La dependencia de las funciones (FCs) y de los bloques de funcin (FBs) con respecto al MCR tiene
que programarse dentro de las respectivas funciones/bloques. Utilcese a tal fin la operacin MCRA
en el bloque que se ha llamado.

Control de programa
10.15 Notas importantes sobre el uso de la funcin MCR
Lista de instrucciones (AWL) para S7-300 y S7-400
166 Manual de referencia, 05/2010, A5E02790285-01
10.15 Notas importantes sobre el uso de la funcin MCR

!
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.
Transferencia de parmetros
Calls en las que se transfieren parmetros.
KOP/FUP
Las ramas T y los conectores en KOP o FUP arrancan con RLO = 0.
Remedio
Active las rdenes mencionadas en funcin del MCR:
1 Desactive el Master Control Relay con el comando MCRD antes de la instruccin correspondiente o antes
del segmento involucrado.
2 Active nuevamente el Master Control Relay con el comanod MCRA despus de la instruccin
correspondiente o despus del segmento involucrado.

Control de programa
10.16 MCR( Almacenar el RLO en pila MCR, inicio rea MCR
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 167
10.16 MCR( Almacenar el RLO en pila MCR, inicio rea MCR
Notas importantes sobre el uso de la funcin 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.
Operaciones dependientes del estado del bit MCR

Estado de
seal del MCR
= <bit> S <bit>, R <bit> T <byte>, T <palabra>
T <palabra doble>
0 ("OFF") Escribe "0".
(Imita a un rel que pasa al
estado de reposo en caso de
fallar la alimenta-cin.)
No escribe.
(Imita a un rel que
permanece en su estado
actual en caso de fallar la
alimentacin.)
Escribe "0".
(Imita a un compo-nente que
da el valor "0" en caso de
fallar la alimentacin.)
1 ("ON") Ejecucin normal. Ejecucin normal. Ejecucin normal.

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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - 0 1 - 0

Control de programa
10.16 MCR( Almacenar el RLO en pila MCR, inicio rea MCR
Lista de instrucciones (AWL) para S7-300 y S7-400
168 Manual de referencia, 05/2010, A5E02790285-01
Ejemplo

AWL Explicacin
MCRA //Activar rea MCR.
U E 1.0
MCR( //Almacenar el RLO en la pila MCR, abrir un rea MCR. El MCR est "ON",
//si el RLO es 1 (E 1.0 = 1). El MCR est "OFF", si el RLO es 0
//(E 1.0 = 0).
U E 4.0
= A 8.0 //Si el MCR est "OFF", A 8.0 se pone a 0 sin considerar E 4.0.
L MW20
T AW10 //Si el MCR est "OFF", el valor "0" se transfiere a AW10.
)MCR //Finalizar el rea MCR.
MCRD //Desactivar rea MCR.
U E 1.1
= A 8.1 //Estas instrucciones estn fuera del rea MCR y no dependen del bit MCR.

Control de programa
10.17 )MCR Fin rea MCR
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 169
10.17 )MCR Fin rea MCR
Notas importantes sobre el uso de la funcin MCR
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - 0 1 - 0

Ejemplo

AWL Explicacin
MCRA //Activar rea MCR.
U E 1.0
MCR( //Almacenar el RLO en la pila MCR, abrir un rea MCR. El MCR est "ON",
//si el RLO es 1 (E 1.0 = 1). El MCR est "OFF", si el RLO es 0
//(E 1.0 = 0).
U E 4.0
= A 8.0 //Si el MCR est "OFF", A 8.0 se pone a "0" sin considerar E 4.0.
L MW20
T AW10 //Si el MCR est "OFF", se transfiere "0" a AW10.
)MCR //Finalizar el rea MCR.
MCRD //Desactivar rea MCR.
U E 1.1
= A 8.1 //Estas instrucciones estn fuera del rea MCR y no dependen del bit MCR.

Control de programa
10.18 MCRA Activar rea MCR
Lista de instrucciones (AWL) para S7-300 y S7-400
170 Manual de referencia, 05/2010, A5E02790285-01
10.18 MCRA Activar rea MCR
Notas importantes sobre el uso de la funcin MCR
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - - - - -

Ejemplo

AWL Explicacin
MCRA //Activar rea MCR.
U E 1.0
MCR( //Almacenar el RLO en la pila MCR, abrir un rea MCR. El MCR est "ON",
//si el RLO es 1 (E 1.0 = 1). El MCR est "OFF", si el RLO es 0
//(E 1.0 = 0).
U E 4.0
= A 8.0 //Si el MCR est "OFF", A 8.0 se pone a "0" sin considerar E 4.0.
L MW20
T AW10 //Si el MCR est "OFF", se transfiere "0" a AW10.
)MCR //Finalizar el rea MCR.
MCRD //Desactivar rea MCR.
U E 1.1
= A 8.1 //Estas instrucciones estn fuera del rea MCR y no dependen del bit MCR.

Control de programa
10.19 MCRD Desactivar rea MCR
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 171
10.19 MCRD Desactivar rea MCR
Notas importantes sobre el uso de la funcin MCR
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - - - - -

Ejemplo

AWL Explicacin
MCRA //Activar rea MCR.
U E 1.0
MCR( //Almacenar el RLO en la pila MCR, abrir un rea MCR. El MCR est "ON",
//si el RLO es 1 (E 1.0 = 1). El MCR est "OFF", si el RLO es 0
//(E 1.0 = 0).
U E 4.0
= A 8.0 //Si el MCR est "OFF", A 8.0 se pone a "0" sin considerar E 4.0.
L MW20
T AW10 //Si el MCR est "OFF", se transfiere "0" a AW10.
)MCR //Finalizar el rea MCR.
MCRD //Desactivar rea MCR.
U E 1.1
= A 8.1 //Estas instrucciones estn fuera del rea MCR y no dependen del bit MCR.

Control de programa
10.19 MCRD Desactivar rea MCR
Lista de instrucciones (AWL) para S7-300 y S7-400
172 Manual de referencia, 05/2010, A5E02790285-01


Lista de instrucciones (AWL) para S7-300 y S7-400
Manual de referencia, 05/2010, A5E02790285-01 173
11 Operaciones de desplazamiento y rotacin
11.1 Operaciones de desplazamiento
11.1.1 Lista de operaciones de desplazamiento
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)


Operaciones de desplazamiento y rotacin
11.1 Operaciones de desplazamiento
Lista de instrucciones (AWL) para S7-300 y S7-400
174 Manual de referencia, 05/2010, A5E02790285-01
11.1.2 SSI Desplazar signo de nmero entero a la derecha (16 bits)
Formato
SSI
SSI <nmero>

Operando Tipo de datos Descripcin
<nmero> Entero, sin signo 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 A1 A0 OV OS OR STA RLO /ER
se escribe: - x x x - - - - -
Ejemplos

Contenido ACU1-H ACU1-L
Bit 31 . . . . . . . . . . 16 15 . . . . . . . . . . 0
antes de ejecutar SSD 6 0101 1111 0110 0100 1001 1101 0011 1011
despus de ejecutar SSD 6 0101 1111 0110 0100 1111 1110 0111 0100

Operaciones de desplazamiento y rotacin
11.1 Operaciones de desplazamiento
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 175
Ejemplo 1

AWL Explicacin
L MW4 //Cargar el valor en el ACU 1.
SSI 6 //Desplazar los bits en el ACU 1 con el signo correcto 6 posiciones a la
//derecha.
T MW8 //Transferir el resultado a MW8.

Ejemplo 2

AWL Explicacin
L +3 //Cargar el valor +3 en el ACU 1.
L MW20 //Cargar el contenido del ACU 1 en el ACU 2. Cargar el valor de MW20 en
//el ACU 1.
SSI //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.
SPP NEXT //Saltar a la meta NEXT, si el ltimo bit desplazado (A1) es 1.


Operaciones de desplazamiento y rotacin
11.1 Operaciones de desplazamiento
Lista de instrucciones (AWL) para S7-300 y S7-400
176 Manual de referencia, 05/2010, A5E02790285-01
11.1.3 SSD Desplazar signo de nmero entero a la derecha (32 bits)
Formato
SSD
SSD <nmero>

Operando Tipo de datos Descripcin
<nmero> Entero, sin signo 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 A1 A0 OV OS OR STA RLO /ER
se escribe: - x x x - - - - -

Operaciones de desplazamiento y rotacin
11.1 Operaciones de desplazamiento
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 177
Ejemplos

Contenido ACU1-H ACU1-L
Bit 31 . . . . . . . . . . 16 15 . . . . . . . . . . 0
antes de ejecutar SSD 7 1000 1111 0110 0100 0101 1101 0011 1011
despus de ejecutar SSD 7 1111 1111 0001 1110 1100 1000 1011 1010
Ejemplo 1

AWL Explicacin
L MD4 //Cargar el valor en el ACU 1.
SSD 7 //Desplazar los bits en el ACU 1 con el signo correcto, 7 posiciones a la
//derecha.
T MD8 //Transferir el resultado a MD8.
Ejemplo 2

AWL Explicacin
L +3 //Cargar el valor +3 en el ACU 1.
L MD20 //Cargar el contenido del ACU 1 en el ACU 2. Cargar el valor de MD20 en
//el ACU 1.
SSD //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.
SPP NEXT //Saltar a la meta NEXT, si el ltimo bit desplazado (A1) es 1.

Operaciones de desplazamiento y rotacin
11.1 Operaciones de desplazamiento
Lista de instrucciones (AWL) para S7-300 y S7-400
178 Manual de referencia, 05/2010, A5E02790285-01
11.1.4 SLW Desplazar palabra a la izquierda (16 bits)
Formato
SLW
SLW <nmero>

Operando Tipo de datos Descripcin
<nmero> Entero, sin signo 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 A1 A0 OV OS OR STA RLO /ER
se escribe: - x x x - - - - -
Operaciones de desplazamiento y rotacin
11.1 Operaciones de desplazamiento
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 179
Ejemplos

Contenido ACU1-H ACU1-L
Bit 31 . . . . . . . . . . 16 15 . . . . . . . . . . 0
antes de ejecutar SLW 5 0101 1111 0110 0100 0101 1101 0011 1011
despus de ejecutar SLW 5 1111 0110 0100 0101 1101 0011 1011 0101

Ejemplo 1

AWL Explicacin
L MW4 //Cargar el valor en el ACU 1.
SLW 5 //Desplazar los bits en el ACU 1, 5 posiciones a la izquierda.
T MW8 //Transferir el resultado a MW8.

Ejemplo 2

AWL Explicacin
L +3 //Cargar el valor +3 en el ACU 1.
L MW20 //Cargar el contenido del ACU 1 en el ACU 2. Cargar el valor de MW20 en
//el ACU 1.
SLW //El nmero de desplazamiento es el valor del ACU2-L-L. => Desplazar
//los bits en el ACU 1-L, 3 posiciones a la izquierda.
SPP NEXT //Saltar a la meta NEXT, si el ltimo bit desplazado (A1) es 1.

Operaciones de desplazamiento y rotacin
11.1 Operaciones de desplazamiento
Lista de instrucciones (AWL) para S7-300 y S7-400
180 Manual de referencia, 05/2010, A5E02790285-01
11.1.5 SRW Desplazar palabra a la derecha (16 bits)
Formato
SRW
SRW <nmero>

Operando Tipo de datos Descripcin
<nmero> Entero, sin signo 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 A1 A0 OV OS OR STA RLO /ER
se escribe: - x x x - - - - -

Operaciones de desplazamiento y rotacin
11.1 Operaciones de desplazamiento
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 181
Ejemplos

Contenido ACU1-H ACU1-L
Bit 31 . . . . . . . . . . 16 15 . . . . . . . . . . 0
antes de ejecutar SRW 6 0101 1111 0110 0100 0101 1101 0011 1011
despus de ejecutar SRW 6 1111 0110 0100 0101 1101 0011 1011 0101

Ejemplo 1

AWL Explicacin
L MW4 //Cargar el valor en el ACU 1.
SRW 6 //Desplazar los bits en el ACU 1, 6 posiciones a la derecha.
T MW8 //Transferir el resultado a MW8.

Ejemplo 2

AWL Explicacin
L +3 //Cargar el valor +3 en el ACU 1.
L MW20 //Cargar el contenido del ACU 1 en el ACU 2. Cargar el valor de MW20 en
//el ACU 1.
SRW //El nmero de desplazamiento es el valor del ACU2-L-L. => Desplazar
//los bits en el ACU 1-L, 3 posiciones a la derecha.
SPP NEXT //Saltar a la meta NEXT, si el ltimo bit desplazado (A1) es 1.

Operaciones de desplazamiento y rotacin
11.1 Operaciones de desplazamiento
Lista de instrucciones (AWL) para S7-300 y S7-400
182 Manual de referencia, 05/2010, A5E02790285-01
11.1.6 SLD Desplazar doble palabra a la izquierda (32 bits)
Formato
SLD
SLD <nmero>

Operando Tipo de datos Descripcin
<nmero> Entero, sin signo 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 A1 A0 OV OS OR STA RLO /ER
se escribe: - x x x - - - - -

Operaciones de desplazamiento y rotacin
11.1 Operaciones de desplazamiento
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 183
Ejemplos

Contenido ACU1-H ACU1-L
Bit 31 . . . . . . . . . . 16 15 . . . . . . . . . . 0
ACU 1 antes de ejecutar SLD 5 0101 1111 0110 0100 0101 1101 0011 1011
ACU 1 despus de ejecutar SLD 5 1111 0110 0100 0101 1101 0011 1011 0101

Ejemplo 1

AWL Explicacin
L MD4 //Cargar el valor en el ACU 1.
SLD 5 //Desplazar los bits en el ACU 1, 5 posiciones a la izquierda.
T MD8 //Transferir el resultado a MD8.

Ejemplo 2

AWL Explicacin
L +3 //Cargar el valor +3 en el ACU 1.
L MD20 //Cargar el contenido del ACU 1 en el ACU 2. Cargar el valor de MD20 en
//el ACU 1.
SLD //El nmero de desplazamiento es el valor del ACU2-L-L. => Desplazar
//los bits en el ACU 1, 3 posiciones a la izquierda.
SPP NEXT //Saltar a la meta NEXT, si el ltimo bit desplazado (A1) es 1.

Operaciones de desplazamiento y rotacin
11.1 Operaciones de desplazamiento
Lista de instrucciones (AWL) para S7-300 y S7-400
184 Manual de referencia, 05/2010, A5E02790285-01
11.1.7 SRD Desplazar doble palabra a la derecha (32 bits)
Formato
SRD
SRD <nmero>

Operando Tipo de datos Descripcin
<nmero> Entero, sin signo 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 A1 A0 OV OS OR STA RLO /ER
se escribe: - x x x - - - - -

Operaciones de desplazamiento y rotacin
11.1 Operaciones de desplazamiento
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 185
Ejemplos

Contenido ACU1-H ACU1-L
Bit 31 . . . . . . . . . . 16 15 . . . . . . . . . . 0
antes de ejecutar SRD 7 0101 1111 0110 0100 0101 1101 0011 1011
despus de ejecutar SRD 7 1111 0110 0100 0101 1101 0011 1011 0101

Ejemplo 1

AWL Explicacin
L MD4 //Cargar el valor en el ACU 1.
SRD 7 //Desplazar los bits en el ACU 1, 7 posiciones a la derecha.
T MD8 //Transferir el resultado a MD8.

Ejemplo 2

AWL Explicacin
L +3 //Cargar el valor +3 en el ACU 1.
L MD20 //Cargar el contenido del ACU 1 en el ACU 2. Cargar el valor de MD20 en
//el ACU 1.
SRD //El nmero de desplazamiento es el valor del ACU2-L-L. => Desplazar
//los bits en el ACU 1, 3 posiciones a la derecha.
SPP NEXT //Saltar a la meta NEXT, si el ltimo bit desplazado (A1) es 1.

Operaciones de desplazamiento y rotacin
11.2 Operaciones de rotacin
Lista de instrucciones (AWL) para S7-300 y S7-400
186 Manual de referencia, 05/2010, A5E02790285-01
11.2 Operaciones de rotacin
11.2.1 Lista de 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)
Operaciones de desplazamiento y rotacin
11.2 Operaciones de rotacin
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 187
11.2.2 RLD Rotar doble palabra a la izquierda (32 bits)
Formato
RLD
RLD <nmero>

Operando Tipo de datos Descripcin
<nmero> Entero, sin signo 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 A1 A0 OV OS OR STA RLO /ER
se escribe: - x x x - - - - -

Operaciones de desplazamiento y rotacin
11.2 Operaciones de rotacin
Lista de instrucciones (AWL) para S7-300 y S7-400
188 Manual de referencia, 05/2010, A5E02790285-01
Ejemplos

Contenido ACU1-H ACU1-L
Bit 31 . . . . . . . . . . 16 15 . . . . . . . . . . 0
antes de ejecutar RLD 4 0101 1111 0110 0100 0101 1101 0011 1011
despus de ejecutar RLD 4 1111 0110 0100 0101 1101 0011 1011 0101

Ejemplo 1

AWL Explicacin
L MD2 //Cargar el valor en el ACU 1.
RLD 4 //Rotar los bits en el ACU 1, 4 posiciones a la izquierda.
T MD8 //Transferir el resultado a MD8.

Ejemplo 2

AWL Explicacin
L +3 //Cargar el valor +3 en el ACU 1.
L MD20 //Cargar el contenido del ACU 1 en el ACU 2. Cargar el valor de MD20 en
//el ACU 1.
RLD //El nmero de rotacin es el valor del ACU2-L-L. => Rotar los bits en el
//ACU 1, 3 posiciones a la izquierda.
SPP NEXT //Saltar a la meta NEXT, si el ltimo bit rotado (A1) es 1.

Operaciones de desplazamiento y rotacin
11.2 Operaciones de rotacin
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 189
11.2.3 RRD Rotar doble palabra a la derecha (32 bits)
Formato
RRD
RRD <nmero>

Operando Tipo de datos Descripcin
<nmero> Entero, sin signo 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 A1 A0 OV OS OR STA RLO /ER
se escribe: - x x x - - - - -
Ejemplos

Contenido ACU1-H ACU1-L
Bit 31 . . . . . . . . . . 16 15 . . . . . . . . . . 0
antes de ejecutar RRD 4 0101 1111 0110 0100 0101 1101 0011 1011
despus de ejecutar RRD 4 1111 0110 0100 0101 1101 0011 1011 0101
Operaciones de desplazamiento y rotacin
11.2 Operaciones de rotacin
Lista de instrucciones (AWL) para S7-300 y S7-400
190 Manual de referencia, 05/2010, A5E02790285-01
Ejemplo 1

AWL Explicacin
L MD2 //Cargar el valor en el ACU 1.
RRD 4 //Desplazar los bits en el ACU 1, 4 posiciones a la derecha.
T MD8 //Transferir el resultado a MD8.
Ejemplo 2

AWL Explicacin
L +3 //Cargar el valor +3 en el ACU 1.
L MD20 //Cargar el contenido del ACU 1 en el ACU 2. Cargar el valor de MD20 en
//el ACU 1.
RRD //El nmero de rotacin es el valor del ACU2-L-L. => Rotar los bits en el
//ACU 1, 3 posiciones a la derecha.
SPP NEXT //Saltar a la meta NEXT, si el ltimo bit rotado (A1) es 1.

Operaciones de desplazamiento y rotacin
11.2 Operaciones de rotacin
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 191
11.2.4 RLDA Rotar ACU 1 a la izquierda va A1 (32 bits)
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - x 0 0 - - - - -
Ejemplos

Contenido BI1 ACU1-H ACU1-L
Bit 31 . . . . . . . . . . 16 15 . . . . . . . . . . 0
Antes de ejecutar RLDA X 0101 1111 0110 0100 0101 1101 0011 1011
Despus de ejecutar RLDA 0 1011 1110 1100 1000 1011 1010 0111 011X
(X = 0 1, estado de seal antiguo de A1)


AWL Explicacin
L MD2 //Cargar el valor de MD2 en el ACU 1.
RLDA //Rotar los bits en el ACU 1 una posicin a la izquierda va A1.
SPP NEXT //Saltar a la meta NEXT, si el ltimo bit rotado (A1) es 1.

Operaciones de desplazamiento y rotacin
11.2 Operaciones de rotacin
Lista de instrucciones (AWL) para S7-300 y S7-400
192 Manual de referencia, 05/2010, A5E02790285-01
11.2.5 RRDA Rotar ACU 1 a la derecha va A1 (32 bits)
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 A1 A0 OV OS OR STA RLO /ER
se escribe: - x 0 0 - - - - -
Ejemplos

Contenido BI1 ACU1-H ACU1-L
Bit 31 . . . . . . . . . . 16 15 . . . . . . . . . . 0
Antes de ejecutar RRDA X 0101 1111 0110 0100 0101 1101 0011 1011
Despus de ejecutar RRDA 1 X010 1111 1011 0010 0010 1110 1001 1101

(X = 0 1, estado de seal antiguo de A1)


AWL Explicacin
L MD2 //Cargar el valor deMD2 en el ACU 1.
RRDA //Rotar los bits en el ACU 1 una posicin a la derecha va A1.
SPP NEXT //Saltar a la meta NEXT, si el ltimo bit rotado (A1) es 1.


Lista de instrucciones (AWL) para S7-300 y S7-400
Manual de referencia, 05/2010, A5E02790285-01 193
12 Operaciones de temporizacin
12.1 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 Cargar valor actual del temporizador en ACU 1 como entero
LC Cargar el valor actual de temporizacin en ACU 1 como nmero BCD
R 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


Operaciones de temporizacin
12.2 Area de memoria y componentes de un temporizador
Lista de instrucciones (AWL) para S7-300 y S7-400
194 Manual de referencia, 05/2010, A5E02790285-01
12.2 Area de memoria y componentes de un temporizador
Area de memoria
Los temporizadores tienen un rea reservada en la memoria de la CPU. Esta rea de memoria
reserva una palabra de 16 bits para cada operando de temporizador. La 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
S5T#aH_bM_cS_dMS
- 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.
El valor de temporizacin mximo que puede introducirse es de 9 900 segundos 2H_46M_30S.
Operaciones de temporizacin
12.2 Area de memoria y componentes de un temporizador
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 195
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 Base di tiempo en cdigo binario
10 ms 00
100 ms 01
1 s 10
10 s 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 Margen
0,01 segundos 10MS a 9S_990MS
0,1 segundos 100MS a 1M_39S_900MS
1 segundo 1S a 16M_39S
10 segundos 10S a 2H_46M_30S

Configuracin binaria en ACU1
Cuando se dispara un temporizador, se utiliza el contenido del ACU1 como valor de temporizacin.
Los bits 0 a 11 del ACU1-L contienen el valor de temporizacin en formato decimal codificado en
binario (formato BCD: cada grupo de cuatro bits contiene el cdigo binario de un valor decimal).
Los bits 12 a 13 contienen la base de tiempo en cdigo binario.
La figura muestra el contenido del ACU1-L una vez cargado el valor 127 con una base de tiempo de 1
segundo.
x x 1 0
15... ...8 7... ...0
0 0 0 1 0 0 1 0 0 1 1 1
1 2 7
Valor de temporizacin
en BCD (0 a 999)
Base de tiempo
1 segundo
Irrelevante: Estos bits se ignoran al arrancar el temporizador

Operaciones de temporizacin
12.2 Area de memoria y componentes de un temporizador
Lista de instrucciones (AWL) para S7-300 y S7-400
196 Manual de referencia, 05/2010, A5E02790285-01
Elegir el temporizador apropiado
El resumen breve de los cinco tipos de temporizadores sirve de ayuda para la eleccin del
temporizador que se adapte mejor a sus necesidades.
t
t
t
t
t
E 0.0
A 4.0 S_IMPULS
A 4.0 S_VIMP
A 4.0 S_EVERZ
A 4.0 S_SEVERZ
A 4.0 S_AVERZ


Temporizadores Descripcin
S_IMPULS
Temporizador de impulso
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.
S_VIMP
Temporizador de impulso
prolongado
La seal de salida permanece a 1 durante el tiempo programado,
independientemente del tiempo en que la seal de entrada est a 1.
S_EVERZ
Temporizador de retardo a
la conexin
La seal de salida es 1 solamente si ha finalizado el tiempo programado y la
seal de entrada sigue siendo 1.
S_SEVERZ
Temporizador de retardo a
la conexin con memoria
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.
S_AVERZ
Temporizador de retardo a
la desconexin
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.

Operaciones de temporizacin
12.3 FR Habilitar temporizador
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 197
12.3 FR Habilitar temporizador
Formato
FR <temporizador>

Operando Tipo de
datos
Area de
memoria
Descripcin
<temporizador> TIMER T 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 A1 A0 OV OS OR STA RLO /ER
se escribe: - - - - - 0 - - 0

Operaciones de temporizacin
12.3 FR Habilitar temporizador
Lista de instrucciones (AWL) para S7-300 y S7-400
198 Manual de referencia, 05/2010, A5E02790285-01
Ejemplo

AWL Explicacin
U E 2.0
FR T1 //Habilitar el temporizador T1.
U E 2.1
L S5T#10s //Ajustar una preseleccin de 10 segundos en el ACU 1.
SI T1 //Arrancar el temporizador T1 como impulso.
U E 2.2
R T1 //Poner el temporizador T1 a 0.
U T1 //Consultar el estado de seal del temporizador T1.
= A 4.0
L T1 //Cargar el valor de temporizacin actual del temporizador T1 como nmero
//binario.
T MW10

RLO en la entrada de
habilitacin
RLO en la entrada de
arranque
RLO en la entrada de
desactivacin
Reaccin del temporizador
t = duracin de tiempo programada
Consultar el estado de
senal en la salida de
temporizacin. Cargar
temporizador: L, LC
E 2.0
E 2.1
E 2.2
A 4.0
3 1
t t
2

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

Operaciones de temporizacin
12.4 L Cargar valor actual del temporizador en ACU 1 como entero
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 199
12.4 L Cargar valor actual del temporizador en ACU 1 como entero
Formato
L <temporizador>

Operando Tipo de
datos
Area de
memoria
Descripcin
<temporizador> TIMER T Nmero del temporizador; el rea vara segn
la CPU utilizada
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: - - - - - - - - -
Operaciones de temporizacin
12.4 L Cargar valor actual del temporizador en ACU 1 como entero
Lista de instrucciones (AWL) para S7-300 y S7-400
200 Manual de referencia, 05/2010, A5E02790285-01
Ejemplo

AWL Explicacin
L T1 //Cargar el ACU1-L con el valor de temporizacin actual del temporizador
//T1 en cdigo binario.

2
0
2
1
2
2
2
3
2
4
2
5
2
6
2
7
2
8
2
9
2
10
2
11
2
12
2
13
2
14
2
15
Valor de temporizacin (0 a 999)
en cdigo binario
Base di tiempo
00 = 10 ms
01 = 100 ms
10 = 1 s
11 = 10 s
L T1
Valor de temporizacin (0 a 999) en cdigo binario
Palabra de
temporizacin
en la memoria
para el tempo-
rizador T1
Contenido del
ACU 1-L
despus de la
instruccin
L T1
Todos "0"
2
0
2
1
2
2
2
3
2
4
2
5
2
6
2
7
2
8
2
9
2
10
2
11
2
12
2
13
2
14
2
15




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.

Operaciones de temporizacin
12.5 LC Cargar el valor actual de temporizacin en ACU 1 como nmero BCD
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 201
12.5 LC Cargar el valor actual de temporizacin en ACU 1 como nmero
BCD
Formato
LC <temporizador>

Operando Tipo de
datos
Area de
memoria
Descripcin
<temporizador> TIMER T Nmero del temporizador; el rea vara segn
la CPU utilizada
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: - - - - - - - - -
Operaciones de temporizacin
12.5 LC Cargar el valor actual de temporizacin en ACU 1 como nmero BCD
Lista de instrucciones (AWL) para S7-300 y S7-400
202 Manual de referencia, 05/2010, A5E02790285-01
Ejemplo

AWL Explicacin
LC T1 //Cargar ACU1-L con la base de tiempo y el valor de temporizacin actual
//del temporizador T1 en formato BCD en el ACU1-L.

2
0
2
1
2
2
2
3
2
4
2
5
2
6
2
7
2
8
2
9
2
10
2
11
2
12
2
13
2
14
2
15
Valor de temporizacin (0 a 999)
en cdigo binario
Base di tiempo
00 = 10 ms
01 = 100 ms
10 = 1 s
11 = 10 s
LC T1
De binario a BCD
Valor de temporizacin en formato BCD
Palabra de
temporizacin
en la memoria
para el tempo-
rizador T1
Contenido del
ACU 1-L
despus de la
instruccin
LC T1
0 0 0 0
2
0
2
1
2
2
2
3
2
4
2
5
2
6
2
7
2
8
2
9
2
10
2
11
2
12
2
13
2
14
2
15
10
1
Decenas 10
0
Unidades 10
2
Centenas
Base di tiempo
00 = 10 ms
01 = 100 ms
10 = 1 s
11 = 10 s


Operaciones de temporizacin
12.6 R Desactivar temporizador
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 203
12.6 R Desactivar temporizador
Formato
R <temporizador>

Operando Tipo de
datos
Area de
memoria
Descripcin
<temporizador> TIMER T Nmero del temporizador; el rea vara segn
la CPU utilizada

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: - - - - - 0 - - 0
Ejemplo

AWL Explicacin
U E 2.1
R T1 //Consultar el estado de seal en la entrada E 2.1. Si el RLO cambia de
//"0" a "1", desactivar el temporizador T1.

Operaciones de temporizacin
12.7 SI Temporizador como impulso
Lista de instrucciones (AWL) para S7-300 y S7-400
204 Manual de referencia, 05/2010, A5E02790285-01
12.7 SI Temporizador como impulso
Formato
SI <temporizador>

Operando Tipo de
datos
Area de
memoria
Descripcin
<temporizador> TIMER T Nmero del temporizador; el rea vara segn
la CPU utilizada

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: - - - - - 0 - - 0
Operaciones de temporizacin
12.7 SI Temporizador como impulso
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 205
Ejemplo

AWL Explicacin
U E 2.0
FR T1 //Habilitar el temporizador T1.
U E 2.1
L S5T#10s //Ajustar una preseleccin de 10 segundos en el ACU 1.
SI T1 //Arrancar el temporizador T1 como impulso.
U E 2.2
R T1 //Poner el temporizador T1 a 0.
U T1 //Consultar el estado de seal del temporizador T1.
= A 4.0
L T1 //Cargar el valor de temporizacin actual del temporizador T1 como nmero
//binario.
T MW10
LC T1 //Cargar el valor de temporizacin actual del temporizador T1 en formato
//BCD.
T MW12

E 2.0
E 2.1
E 2.2
A 4.0


t = duracin de tiempo programada
t
Habilitar
Arrancar
Poner a 0
Temporizador
Salida
Cargar
temporizador: L, LC


Operaciones de temporizacin
12.8 SV Temporizador como impulso prolongado
Lista de instrucciones (AWL) para S7-300 y S7-400
206 Manual de referencia, 05/2010, A5E02790285-01
12.8 SV Temporizador como impulso prolongado
Formato
SV <temporizador>

Operando Tipo de
datos
Area de
memoria
Descripcin
<temporizador> TIMER T Nmero del temporizador; el rea vara segn
la CPU utilizada

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: - - - - - 0 - - 0
Operaciones de temporizacin
12.8 SV Temporizador como impulso prolongado
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 207
Ejemplo

AWL Explicacin
U E 2.0
FR T1 //Habilitar el temporizador T1.
U E 2.1
L S5T#10s //Ajustar una preseleccin de 10 segundos en el ACU 1.
SV T1 //Arrancar el temporizador T1 como impulso prolongado.
U E 2.2
R T1 //Poner el temporizador T1 a 0.
U T1 //Consultar el estado de seal del temporizador T1.
= A 4.0
L T1 //Cargar el valor de temporizacin actual del temporizador T1 como nmero
//binario.
T MW10
LC T1 //Cargar el valor de temporizacin actual del temporizador T1 en formato
//BCD.
T MW12

t = duracin de tiempo programada
E 2.0
E 2.1
E 2.2
A 4.0

t
Habilitar
Arrancar
Poner a 0
Temporizador
Salida
Cargar
temporizador: L, LC


Operaciones de temporizacin
12.9 SE Temporizador como retardo a la conexin
Lista de instrucciones (AWL) para S7-300 y S7-400
208 Manual de referencia, 05/2010, A5E02790285-01
12.9 SE Temporizador como retardo a la conexin
Formato
SE <temporizador>

Operando Tipo de
datos
Area de
memoria
Descripcin
<temporizador> TIMER T Nmero del temporizador; el rea vara segn
la CPU utilizada
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: - - - - - 0 - - 0
Operaciones de temporizacin
12.9 SE Temporizador como retardo a la conexin
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 209
Ejemplo

AWL Explicacin
U E 2.0
FR T1 //Habilitar el temporizador T1.
U E 2.1
L S5T#10s //Ajustar una preseleccin de 10 segundos en el ACU 1.
SE T1 //Arrancar el temporizador T1 como retardo a la conexin.
U E 2.2
R T1 //Poner el temporizador T1 a 0.
U T1 //Consultar el estado de seal del temporizador T1.
= A 4.0
L T1 //Cargar el valor de temporizacin actual del temporizador T1 como nmero
//binario.
T MW10
LC T1 //Cargar el valor de temporizacin actual del temporizador T1 en formato
//BCD.
T MW12

E 2.0
E 2.1
E 2.2


t = duracin de tiempo programada


t t
A 4.0
Habilitar
Arrancar
Poner a 0
Temporizador
Salida
Cargar
temporizador: L, LC


Operaciones de temporizacin
12.10 SS Temporizador como retardo a la conexin con memoria
Lista de instrucciones (AWL) para S7-300 y S7-400
210 Manual de referencia, 05/2010, A5E02790285-01
12.10 SS Temporizador como retardo a la conexin con memoria
Formato
SS <temporizador>

Operando Tipo de
datos
Area de
memoria
Descripcin
<temporizador> TIMER T Nmero del temporizador; el rea vara segn
la CPU utilizada

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: - - - - - 0 - - 0
Operaciones de temporizacin
12.10 SS Temporizador como retardo a la conexin con memoria
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 211
Ejemplo

AWL Explicacin
U E 2.0
FR T1 //Habilitar el temporizador T1.
U E 2.1
L S5T#10s //Ajustar una preseleccin de 10 segundos en el ACU 1.
SS T1 //Arrancar el temporizador T1 como retardo a la conexin con memoria.
U E 2.2
R T1 //Poner el temporizador T1 a 0.
U T1 //Consultar el estado de seal del temporizador T1.
= A 4.0
L T1 //Cargar el valor de temporizacin actual del temporizador T1 como nmero
//binario.
T MW10
LC T1 //Cargar el valor de temporizacin actual del temporizador T1 en formato
//BCD.
T MW12

E 2.0
E 2.1
E 2.2
t = duracin de tiempo programada
A 4.0
t
Arrancar
Habilitar
Poner a 0
Temporizador
Salida
Cargar
temporizador: L, LC



Operaciones de temporizacin
12.11 SA Temporizador como retardo a la desconexin
Lista de instrucciones (AWL) para S7-300 y S7-400
212 Manual de referencia, 05/2010, A5E02790285-01
12.11 SA Temporizador como retardo a la desconexin
Formato
SA <temporizador>

Operando Tipo de
datos
Area de
memoria
Descripcin
<temporizador> TIMER T Nmero del temporizador; el rea vara segn
la CPU utilizada

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: - - - - - 0 - - 0
Operaciones de temporizacin
12.11 SA Temporizador como retardo a la desconexin
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 213
Ejemplo

AWL Explicacin
U E 2.0
FR T1 //Habilitar el temporizador T1.
U E 2.1
L S5T#10s //Ajustar una preseleccin de 10 segundos en el ACU 1.
SA T1 //Arrancar el temporizador T1 como retardo a la desconexin.
U E 2.2
R T1 //Poner el temporizador T1 a 0.
U T1 //Consultar el estado de seal del temporizador T1.
= A 4.0
L T1 //Cargar el valor de temporizacin actual del temporizador T1 como nmero
//binario.
T MW10
LC T1 //Cargar el valor de temporizacin actual del temporizador T1 en formato
//BCD.
T MW12

t = duracin de tiempo programada
E 2.0
E 2.1
E 2.2
A 4.0



t
t
Habilitar
Arrancar
Poner a 0
Temporizador
Salida
Cargar
temporizador: L, LC

Operaciones de temporizacin
12.11 SA Temporizador como retardo a la desconexin
Lista de instrucciones (AWL) para S7-300 y S7-400
214 Manual de referencia, 05/2010, A5E02790285-01


Lista de instrucciones (AWL) para S7-300 y S7-400
Manual de referencia, 05/2010, A5E02790285-01 215
13 Operaciones lgicas con palabras
13.1 Lista de operaciones lgicas con palabras
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)



Operaciones lgicas con palabras
13.2 UW Y con palabra (16 bits)
Lista de instrucciones (AWL) para S7-300 y S7-400
216 Manual de referencia, 05/2010, A5E02790285-01
13.2 UW Y con palabra (16 bits)
Formato
UW
UW <constante>

Operando Tipo de datos Descripcin
<constante> WORD,
constante (16 bits)
Configuracin binaria a combinar por medio de Y
con el ACU1-L.
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: - x 0 0 - - - - -

Operaciones lgicas con palabras
13.2 UW Y con palabra (16 bits)
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 217
Ejemplos

Bit 15 . . . . . . . . . 0
ACU1-L antes de ejecutar UW 0101 1001 0011 1011
ACU2-L constante (16 bits) 1111 0110 1011 0101
Resultado (ACU1-L) despus de ejecutar UW 0101 0000 0011 0001

Ejemplo 1

AWL Explicacin
L EW20 //Cargar el contenido de EW20 en el ACU1-L.
L EW22 //Cargar el contenido del ACU 1 en el ACU 2. Cargar el contenido de EW22
//en el ACU 1-L.
UW //Combinar los bits del ACU1-L con los bits del ACU2-L realizando una
//operacin Y lgica, almacenar el resultado en el ACU1-L.
T MW 8 //Transferir el resultado a MW8.

Ejemplo 2

AWL Explicacin
L EW20 //Cargar el contenido de EW20 en el ACU1-L.
UW W#16#0FF
F
//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.
SPP NEXT //Saltar a la meta NEXT si el resultado es diferente de cero (A1 = 1).

Operaciones lgicas con palabras
13.3 OW O con palabra (16 bits)
Lista de instrucciones (AWL) para S7-300 y S7-400
218 Manual de referencia, 05/2010, A5E02790285-01
13.3 OW O con palabra (16 bits)
Formato
OW
OW <constante>

Operando Tipo de datos Descripcin
<constante> WORD,
constante (16 bits)
Configuracin binaria a combinar con el ACU1-L
realizando una operacin O lgica.

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: - x 0 0 - - - - -

Operaciones lgicas con palabras
13.3 OW O con palabra (16 bits)
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 219
Ejemplos

Bit 15 . . . . . . . . . 0
ACU1-L antes de ejecutar OW 0101 0101 0011 1011
ACU2-L constante (16 bits) 1111 0110 1011 0101
Resultado (ACU1-L) despus de ejecutar OW 1111 0111 1011 1111

Ejemplo 1

AWL Explicacin
L EW20 //Cargar el contenido de EW20 en el ACU1-L.
L EW22 //Cargar el contenido del ACU 1 en el ACU 2. Cargar el contenido de EW22
//en el ACU 1-L.
OW //Combinar los bits del ACU1-L con los bits del ACU2-L realizando una
//operacin O lgica, almacenar el resultado en el ACU1-L.
T MW8 //Transferir el resultado a MW 8.

Ejemplo 2

AWL Explicacin
L EW20 //Cargar el contenido de EW20 en el ACU1-L.
OW W#16#0FF
F
//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.
SPP NEXT //Saltar a la meta NEXT si el resultado es diferente de cero (A1 = 1).

Operaciones lgicas con palabras
13.4 XOW O-exclusiva con palabra (16 bits)
Lista de instrucciones (AWL) para S7-300 y S7-400
220 Manual de referencia, 05/2010, A5E02790285-01
13.4 XOW O-exclusiva con palabra (16 bits)
Formato
XOW
XOW <constante>

Operando Tipo de datos Descripcin
<constante> WORD,
constante (16 bits
Configuracin binaria a combinar lgicamente
con el ACU1-L realizando una operacin O-
exclusiva.

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: - x 0 0 - - - - -

Operaciones lgicas con palabras
13.4 XOW O-exclusiva con palabra (16 bits)
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 221
Ejemplos

Bit 15 . . . . . . . . . 0
ACU 1 antes de ejecutar XOW 0101 0101 0011 1011
ACU2-L constante (16 bits): 1111 0110 1011 0101
Resultado (ACU 1) despus de ejecutar XOW 1010 0011 1000 1110

Ejemplo 1

AWL Explicacin
L EW20 //Cargar el contenido de EW20 en el ACU1-L.
L EW22 //Cargar el contenido del ACU 1 en el ACU 2. Cargar el contenido de ED24
//en el ACU 1-L.
XOW //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.
T MW8 //Transferir el resultado a MW8.

Ejemplo 2

AWL Explicacin
L EW20 //Cargar el contenido de EW20 en el ACU1-L.
XOW 16#0FFF //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.
SPP NEXT //Saltar a la meta NEXT si el resultado es diferente de cero (A1 = 1).


Operaciones lgicas con palabras
13.5 UD Y con doble palabra (32 bits)
Lista de instrucciones (AWL) para S7-300 y S7-400
222 Manual de referencia, 05/2010, A5E02790285-01
13.5 UD Y con doble palabra (32 bits)
Formato
UD
UD <constante>

Operando Tipo de datos Descripcin
<constante> DWORD,
constante (32 bits)
Configuracin binaria a combinar lgicamente por
medio de Y con el ACU 1.

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: - x 0 0 - - - - -

Operaciones lgicas con palabras
13.5 UD Y con doble palabra (32 bits)
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 223
Ejemplos

Bit 31 . . . . . . . . . . . . . . . . . 0
ACU 1 antes de ejecutar UD 0101 0000 1111 1100 1000 1001 0011 1011
ACU 2 constante (32 bits) 1111 0011 1000 0101 0111 0110 1011 0101
Resultado (ACU 1) despus de ejecutarUD 0101 0000 1000 0100 0000 0000 0011 0001

Ejemplo 1

AWL Explicacin
L ED20 //Cargar el contenido de ED20 en el ACU 1.
L ED24 //Cargar el contenido del ACU 1 en el ACU 2. Cargar el contenido de ED24
//en el ACU 1.
UD //Combinar los bits del ACU 1 con los bits del ACU 2 realizando una
//operacin Y lgica, almacenar el resultado en el ACU 1.
T MD8 //Transferir el resultado a MD8.

Ejemplo 2

AWL Explicacin
L ED 20 //Cargar el contenido de ED20 en el ACU 1.
UD DW#16#0F
FF_EF21
//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.
JP NEXT //Saltar a la meta NEXT si el resultado es diferente de cero (A1 = 1).

Operaciones lgicas con palabras
13.6 OD O con doble palabra (32 bits)
Lista de instrucciones (AWL) para S7-300 y S7-400
224 Manual de referencia, 05/2010, A5E02790285-01
13.6 OD O con doble palabra (32 bits)
Formato
OD
OD <constante>

Operando Tipo de datos Descripcin
<constante> DWORD,
constante (32 bits)
Configuracin binaria a combinar con el
ACU 1realizando una O lgica.

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: - x 0 0 - - - - -

Operaciones lgicas con palabras
13.6 OD O con doble palabra (32 bits)
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 225
Ejemplos

Bit 31 . . . . . . . . . . . . . . . . . 0
ACU 1 antes de ejecutar OD 0101 0000 1111 1100 1000 0101 0011 1011
ACU 2 constante (32 bits) 1111 0011 1000 0101 0111 0110 1011 0101
Resultado (ACU 1) despus de ejecutar
OD
1111 0011 1111 1101 1111 0111 1011 1111

Ejemplo 1

AWL Explicacin
L ED20 //Cargar el contenido de ED20 en el ACU 1.
L ED24 //Cargar el contenido de ACU 1 en el ACU 2. Cargar el contenido de ED24
//en el ACU 1.
OD //Combinar los bits del ACU 1 con los bits del ACU 2 realizando una
//operacin O lgica, almacenar el resultado en el ACU 1.
T MD8 //Transferir el resultado a MD8.

Ejemplo 2

AWL Explicacin
L ED20 //Cargar el contenido de ED20 en el ACU 1.
OD DW#16#0F
FF_EF21
//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.
SPP NEXT //Saltar a la meta NEXT si el resultado es diferente de cero (A1 = 1).

Operaciones lgicas con palabras
13.7 XOD O-exclusiva con doble palabra (32 bits)
Lista de instrucciones (AWL) para S7-300 y S7-400
226 Manual de referencia, 05/2010, A5E02790285-01
13.7 XOD O-exclusiva con doble palabra (32 bits)
Formato
XOD
XOD <constante>

Operando Tipo de datos Descripcin
<constante> DWORD,
constante (32 bits)
Configuracin binaria a combinar lgicamente
con el ACU 1 realizando una operacin O-
exclusiva

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 uno-
de 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: - x 0 0 - - - - -
Operaciones lgicas con palabras
13.7 XOD O-exclusiva con doble palabra (32 bits)
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 227
Ejemplos

Bit 31 . . . . . . . . . . . . . . . . . 0
ACU 1 antes de ejecutar XOD 0101 0000 1111 1100 1000 0101 0011 1011
ACU 2 constante (32 bits) 1111 0011 1000 0101 0111 0110 1011 0101
Resultado (ACU 1) despus de ejecuta
XOD
1010 0011 0111 1001 1111 0011 1000 1110

Ejemplo 1

AWL Explicacin
L ED20 //Cargar el contenido de ED20 en el ACU 1.
L ED24 //Cargar el contenido de ACU 1 en el ACU 2. Cargar el contenido de ED24
//en el ACU 1.
XOD //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.
T MD8 //Transferir el resultado a MD8.

Ejemplo 2

AWL Explicacin
L ED20 //Cargar el contenido de ED20 en el ACU 1.
XOD DW#16#0F
FF_EF21
//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.
SPP NEXT //Saltar a la meta NEXT si el resultado es diferente de cero (A1 = 1).

Operaciones lgicas con palabras
13.7 XOD O-exclusiva con doble palabra (32 bits)
Lista de instrucciones (AWL) para S7-300 y S7-400
228 Manual de referencia, 05/2010, A5E02790285-01


Lista de instrucciones (AWL) para S7-300 y S7-400
Manual de referencia, 05/2010, A5E02790285-01 229
14 Operaciones con acumuladores
14.1 Lista de operaciones con acumuladores
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 Introducir pila de ACU
LEAVE Salir de la pila de ACU
INC 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


Operaciones con acumuladores
14.2 TAK Intercambiar ACU 1 y ACU 2
Lista de instrucciones (AWL) para S7-300 y S7-400
230 Manual de referencia, 05/2010, A5E02790285-01
14.2 TAK Intercambiar ACU 1 y ACU 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: - - - - - - - - -

Ejemplo: Restar el valor menor del valor mayor

AWL Explicacin
L MW10 //Cargar el contenido de MW10 en ACU1-L.
L MW12 //Cargar el contenido de ACU1-L en ACU2-L.
//Cargar el contenido de MW12 en ACU1-L.
>I //Comprobar si ACU2-L (MW10) es mayor que ACU1-L (MW12).
SPB NEXT //Salta a la meta NEXT, si el ACU 2 (MW10) es mayor que el ACU 1 (MW12).
TAK //Intercambiar los contenidos de ACU 1 y ACU 2.
NEXT: -I //Restar el contenido de ACU1-L del contenido de ACU2-L.
T MW14 //Transferir el resultado (= valor mayor menos el valor menor) a MW14.

Contenidos de ACU 1 y ACU 2

Contenidos ACU 1 ACU 2
Antes de ejecutar la operacin TAK <MW12> <MW10>
Despus de ejecutar la operacin TAK <MW10> <MW12>

Operaciones con acumuladores
14.3 PUSH CPU con dos acumuladores
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 231
14.3 PUSH CPU con dos acumuladores
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 Explicacin
L MW10 //Cargar el contenido de MW10 en el ACU 1.
PUSH //Copiar el contenido completo del ACU 1 al ACU 2.

Contenidos de ACU 1 y ACU 2

Contenidos ACU 1 ACU 2
Antes de ejecutar la operacin PUSH <MW10> <X>
Despus de ejecutar la operacin PUSH <MW10> <MW10>

Operaciones con acumuladores
14.4 PUSH CPU con cuatro acumuladores
Lista de instrucciones (AWL) para S7-300 y S7-400
232 Manual de referencia, 05/2010, A5E02790285-01
14.4 PUSH CPU con cuatro acumuladores
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 Explicacin
L MW10 //Cargar el contenido del MW10 en el ACU 1.
PUSH //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.

Contenidos de ACU 1 hasta ACU 4

Contenidos ACU 1 ACU 2 ACU 3 ACU 4
Antes de ejecutar la operacin PUSH Valor A Valor B Valor C Valor D
Despus de ejecutar la operacin PUSH Valor A Valor A Valor B Valor C

Operaciones con acumuladores
14.5 POP CPU con dos acumuladores
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 233
14.5 POP CPU con dos acumuladores
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 Explicacin
// MD10 //Transferir el contenido del ACU 1 (= valor A) a MD10.
POP //Copiar el contenido completo del ACU 2 al ACU 1.
T MD14 //Transferir el contenido del ACU 1 (= valor B) a MD14.

Contenidos de ACU 1 y ACU 2

Contenidos ACU 1 ACU 2
Antes de ejecutar la operacin POP Valor A Valor B
Despus de ejecutar la operacin POP Valor B Valor B

Operaciones con acumuladores
14.6 POP CPU con cuatro acumuladores
Lista de instrucciones (AWL) para S7-300 y S7-400
234 Manual de referencia, 05/2010, A5E02790285-01
14.6 POP CPU con cuatro acumuladores
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 Explicacin
// MD10 //Transferir el contenido del ACU 1 (= valor A) a MD10.
POP //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.
T MD14 //Transferir el contenido del ACU 1 (= valor B) a MD14.

Contenidos de ACU 1 hasta ACU 4

Contenidos ACU 1 ACU 2 ACU 3 ACU 4
Avant excution de l'opration POP Valor A Valor B Valor C Valor D
Despus de ejecutar la operacin POP Valor B Valor C Valor D Valor D

Operaciones con acumuladores
14.7 ENT Introducir pila de ACU
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 235
14.7 ENT Introducir pila de ACU
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 Explicacin
// DBD0 //Cargar el valor de la palabra doble de datos DBD0 en el ACU 1. (Este
//valor debe tener formato en coma flotante.)
L DBD4 //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.)
+R //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.
L DBD8 //Copiar el valor del ACU 1 al ACU 2. Cargar el valor de la palabra doble
//de datos DBD8 en el ACU 1.
ENT //Copiar el contenido del ACU 3 al ACU 4. Copiar el contenido del ACU 2
//(resultado parcial) al ACU 3.
L DBD12 //Cargar el valor de la palabra doble de datos DBD12 en el ACU 1.
-R //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.
/R //Dividir el contenido del ACU 2 (DBD0 + DBD4) por el contenido del ACU 1
//(DBD8 - DBD12) y almacenar el resultado en el ACU 1.
T DBD16 //Transferir el resultado (ACU 1) a la palabra doble de datos DBD16

14.8 LEAVE Salir de la pila de ACU
Formato
LEAVE
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.
Operaciones con acumuladores
14.9 INC Incrementar ACU 1-L-L
Lista de instrucciones (AWL) para S7-300 y S7-400
236 Manual de referencia, 05/2010, A5E02790285-01
14.9 INC Incrementar ACU 1-L-L
Formato
INC <entero de 8 bits>

Operando Tipo de datos Descripcin
<entero de 8 bits> Constante
(entero de 8 bits)
Constante a sumar; margen de 0 hasta 255
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 Explicacin
L MB22 //Cargar el valor de MB22.
INC 1 //Incrementar en 1 ACU 1 (MB 22), almacenar el resultado en ACU1-L-L.
T MB22 //Transferir el contenido de ACU1-L-L (resultado) de vuelta al MB22.

Operaciones con acumuladores
14.10 DEC Decrementar ACU 1-L-L
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 237
14.10 DEC Decrementar ACU 1-L-L
Formato
DEC <entero de 8 bits>

Operando Tipo de datos Descripcin
<entero de 8 bits> Constante
(entero de 8 bits)
Constante a restar; margen de 0 hasta 255

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 Explicacin
L MB250 //Cargar el valor de MB250.
DEC 1 //Decrementar en 1 el ACU1-L-L, almacenar el resultado en ACU1-L-L.
T MB250 //Transferir el contenido de ACU1-L- L (resultado) de vuelta a MB250.

Operaciones con acumuladores
14.11 +AR1 Sumar el ACU 1 al registro de direcciones 1
Lista de instrucciones (AWL) para S7-300 y S7-400
238 Manual de referencia, 05/2010, A5E02790285-01
14.11 +AR1 Sumar el ACU 1 al registro de direcciones 1
Formatos
+AR1
+AR1 <P#Byte.Bit>

Operando Tipo de datos Descripcin
<P#Byte.Bit> Constante de puntero Direccin que se suma a AR 1.

Descripcin de la operacin
+AR1 (Sumar a AR1) suma el desplazamiento que se haya indicado en la instruccin o en el ACU 1-
L, 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 Explicacin
L +300 //Cargar el valor en el ACU1-L.
+AR1 //Sumar el ACU1-L (entero) a AR 1.

Ejemplo 2

AWL Explicacin
+AR1 P#300.0 //Sumar el desplazamiento 300.0 a AR 1.

Operaciones con acumuladores
14.12 +AR2 Sumar el ACU1 al registro de direcciones 2
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 239
14.12 +AR2 Sumar el ACU1 al registro de direcciones 2
Formatos
+AR2
+AR2 <P#Byte.Bit>

Operando Tipo de datos Descripcin
<P#Byte.Bit> Constante de puntero Direccin que se suma a AR 2.

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 Explicacin
L +300 //Cargar el valor en el ACU1-L.
+AR2 //Sumar el ACU1-L (entero) a AR 2.

Ejemplo 2

AWL Explicacin
+AR2 P#300.0 //Sumar el desplazamiento 300.0 a AR 2.

Operaciones con acumuladores
14.13 BLD Estructuracin de imagen (operacin nula)
Lista de instrucciones (AWL) para S7-300 y S7-400
240 Manual de referencia, 05/2010, A5E02790285-01
14.13 BLD Estructuracin de imagen (operacin nula)
Formato
BLD <nmero>

Operando Descripcin
<nmero> Nmero de identificacin de la operacin BLD; margen de 0 hasta 255

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

Operaciones con acumuladores
14.14 NOP 0 Operacin nula 0
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 241
14.14 NOP 0 Operacin nula 0
Formato
NOP 0
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: - - - - - - - - -

14.15 NOP 1 Operacin nula 1
Formato
NOP 1
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: - - - - - - - - -

Operaciones con acumuladores
14.15 NOP 1 Operacin nula 1
Lista de instrucciones (AWL) para S7-300 y S7-400
242 Manual de referencia, 05/2010, A5E02790285-01



Lista de instrucciones (AWL) para S7-300 y S7-400
Manual de referencia, 05/2010, A5E02790285-01 243
A Sinopsis de las operaciones AWL
A.1 Operaciones AWL ordenadas segn la nemotcnica alemana
(SIMATIC)

Nemo-
tcnica
alemana
Nemo-
tcnica
inglesa
Catlogo de elementos
del programa
Descripcin
= = Operaciones lgicas con bits Asignar
) ) Operaciones lgicas con bits Cerrar parntesis
*D *D Funcin en coma fija Multiplicar ACU 1 por ACU 2 como entero doble
*I *I Funcin en coma fija Multiplicar ACU 1 por ACU 2 como entero
*R *R Funcin en coma flotante Multiplicar ACU 1 por ACU 2 como nmero de coma flotante
(32 bits)
/D /D Funcin en coma fija Dividir ACU 2 por ACU 1 como entero doble
/I /I Funcin en coma fija Dividir ACU 2 por ACU 1 como entero
/R /R Funcin en coma flotante Dividir ACU 2 por ACU 1 como nmero de coma flotante (32 bits)
? D ? D Comparador Comparar enteros dobles ==, <>, >, <, >=, <=
? I ? I Comparador Comparar enteros ==, <>, >, <, >=, <=
? R ? R Comparador Comparar nmeros en coma flotante (32 bits) ==, <>, >, <, >=, <=
+ + Funcin en coma fija Sumar constante entera o entera doble
+AR1 +AR1 Acumulador Sumar el ACU 1 al registro de direcciones 1
+AR2 +AR2 Acumulador Sumar el ACU1 al registro de direcciones 2
+D +D Funcin en coma fija Sumar ACU 1 y 2 como entero doble
+I +I Funcin en coma fija Sumar ACU 1 y 2 como entero
+R +R Funcin en coma flotante Sumar ACU 1 y 2 como nmero de coma flotante (32 bits)
ABS ABS Funcin en coma flotante Valor absoluto de un nmero de coma flotante (32 bits, IEEE 754)
ACOS ACOS Funcin en coma flotante Calcular el arcocoseno de un nmero de coma flotante (32 bits)
ASIN ASIN Funcin en coma flotante Calcular el arcoseno de un nmero de coma flotante (32 bits)
ATAN ATAN Funcin en coma flotante Calcular la arcotangente de un nmero de coma flotante (32 bits)
AUF OPN Bloque de datos Abrir bloque de datos
BE BE Control del programa Fin de bloque
BEA BEU Control del programa Fin de bloque incondicionado
BEB BEC Control del programa Fin de bloque condicionado
BLD BLD Acumulador Estructuracin de imagen (operacin nula)
BTD BTD Convertidor Convertir nmero BCD a entero doble
BTI BTI Convertidor Convertir BCD a entero
CALL CALL Control del programa Llamada
CALL CALL Control del programa Llamar a una multiinstancia
Sinopsis de las operaciones AWL
A.1 Operaciones AWL ordenadas segn la nemotcnica alemana (SIMATIC)Operaciones con acumuladores
Lista de instrucciones (AWL) para S7-300 y S7-400
244 Manual de referencia, 05/2010, A5E02790285-01
Nemo-
tcnica
alemana
Nemo-
tcnica
inglesa
Catlogo de elementos
del programa
Descripcin
CALL CALL Control del programa Llamar a un bloque de una librera
CC CC Control del programa Llamada condicionada
CLR CLR Operaciones lgicas con bits Desactivar RLO (=0)
COS COS Funcin en coma flotante Calcular el coseno de ngulos como nmeros de coma flotante
(32 bits)
D D Funcin en coma fija Restar ACU 1 de ACU 2 como entero doble
DEC DEC Acumulador Decrementar ACU 1-L-L
DTB DTB Convertidor Convertir entero doble en BCD
DTR DTR Convertidor Convertir entero doble en nmero en coma flotante (32 bits, IEEE
754)
ENT ENT Acumulador Introducir pila de ACU
EXP EXP Funcin en coma flotante Calcular el exponente de un nmero de coma flotante (32 bits)
FN FN Operaciones lgicas con bits Flanco negativo
FP FP Operaciones lgicas con bits Flanco positivo
FR FR Contadores Habilitar contador (Frei, FR Z 0 zu Z 255)
FR FR Temporizadores Habilitar temporizador
I I Funcin en coma fija Restar ACU 1 de ACU 2 como entero
INC INC Acumulador Incrementar ACU 1-L-L
INVD INVD Convertidor Complemento a uno de un entero doble
INVI INVI Convertidor Complemento a uno de un entero
ITB ITB Convertidor Convertir entero en BCD
ITD ITD Convertidor Convertir entero en entero doble
L L Cargar/Transferir Cargar
L STW L STW Cargar/Transferir Cargar palabra de estado en ACU 1
L L Temporizadores 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)
L L Contadores 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)
L DBLG L DBLG Bloque de datos Cargar la longitud del DB global en el ACU 1
L DBNO L DBNO Bloque de datos Cargar nmero del bloque de datos global en ACU 1
L DILG L DILG Bloque de datos Cargar longitud del bloque de datos de instancia en ACU 1
L DINO L DINO Bloque de datos Cargar nmero del bloque de datos de instancia en ACU 1
LAR1 LAR1 Cargar/Transferir Cargar registro de direcciones 1 con contenido del ACU 1
LAR1 LAR1 Cargar/Transferir Cargar registro de direcciones 1 con puntero (formato de 32 bits)
LAR1 LAR1 Cargar/Transferir Cargar registro de direcciones 1 con contenido del registro de
direcciones 2
LAR2 LAR2 Cargar/Transferir Cargar registro de direcciones 2 con contenido del ACU 1
LAR2 LAR2 Cargar/Transferir Cargar registro de direcciones 2 con puntero (formato de 32 bits)
LC LC Contadores 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)
Sinopsis de las operaciones AWL
A.1 Operaciones AWL ordenadas segn la nemotcnica alemana (SIMATIC)Operaciones con acumuladores
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 245
Nemo-
tcnica
alemana
Nemo-
tcnica
inglesa
Catlogo de elementos
del programa
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)
LEAVE LEAVE Acumulador Salir de la pila de ACU
LN LN Funcin en coma flotante Calcular el logaritmo natural de un nmero de coma flotante
(32 bits)
LOOP LOOP Saltos Bucle
MCR( MCR( Control del programa Almacenar el RLO en pila MCR, inicio rea MCR
)MCR )MCR Control del programa Fin rea MCR
MCRA MCRA Control del programa Activar rea MCR
MCRD MCRD Control del programa Desactivar rea MCR
MOD MOD Funcin en coma fija Resto de la divisin de enteros dobles
NEGD NEGD Convertidor Complemento a dos de un entero doble
NEGI NEGI Convertidor Complemento a dos de un entero
NEGR NEGR Convertidor Invertir un nmero en coma flotante (32 bits, IEEE 754)
NOP 0 NOP 0 Acumulador Operacin nula 0
NOP 1 NOP 1 Acumulador Operacin nula 1
NOT NOT Operaciones lgicas con bits Negar el RLO
O O Operaciones lgicas con bits O
O( O( Operaciones lgicas con bits O con abrir parntesis
OD OD Bits Operaciones lgicas con
palabras
O con doble palabra (32 bits)
ON ON Operaciones lgicas con bits O-No
ON( ON( Operaciones lgicas con bits O-No con abrir parntesis
OW OW Bits Operaciones lgicas con
palabras
O con palabra (16 bits)
POP POP Acumulador CPU con dos acumuladores
POP POP Acumulador CPU con cuatro acumuladores
PUSH PUSH Acumulador CPU con dos acumuladores
PUSH PUSH Acumulador CPU con cuatro acumuladores
R R Operaciones lgicas con bits Desactivar
R R Contadores Desactivar contador (el valor de temporizacin actual puede ser un
nmero comprendido en el margen de 0 a 255, p. ej.: R Z 15)
R R Temporizadores Desactivar temporizador (el temporizador actual puede ser un
nmero comprendido en el margen de 0 a 255, p. ej.: R T 32)
R R Funcin en coma flotante Restar ACU 1 de ACU 2 como nmero de coma flotante (32 bits)
RLD RLD Desplazar/Rotar Rotar doble palabra a la izquierda (32 bits)
RLDA RLDA Desplazar/Rotar Rotar ACU 1 a la izquierda va A1 (32 bits)
RND RND Convertidor Redondear un nmero en coma flotante a entero
RND RND Convertidor Redondear un nmero real al prximo entero inferior
RND+ RND+ Convertidor Redondear un nmero real al prximo entero superior
RRD RRD Desplazar/Rotar Rotar doble palabra a la derecha (32 bits)
Sinopsis de las operaciones AWL
A.1 Operaciones AWL ordenadas segn la nemotcnica alemana (SIMATIC)Operaciones con acumuladores
Lista de instrucciones (AWL) para S7-300 y S7-400
246 Manual de referencia, 05/2010, A5E02790285-01
Nemo-
tcnica
alemana
Nemo-
tcnica
inglesa
Catlogo de elementos
del programa
Descripcin
RRDA RRDA Desplazar/Rotar Rotar ACU 1 a la derecha va A1 (32 bits)
S S Operaciones lgicas con bits Activar
S S Contadores 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)
SA SF Temporizadores Temporizador como retardo a la desconexin
SAVE SAVE Operaciones lgicas con bits Memorizar el RLO en el registro RB
SE SD Temporizadores Temporizador como retardo a la conexin
SET SET Operaciones lgicas con bits Activar
SI SP Temporizadores Temporizador como impulso
SIN SIN Funcin en coma flotante Calcular el seno de ngulos como nmeros de coma flotante
(32 bits)
SLD SLD Desplazar/Rotar Desplazar doble palabra a la izquierda (32 bits)
SLW SLW Desplazar/Rotar Desplazar palabra a la izquierda (16 bits)
SPA JU Saltos Salto incondicionado
SPB JC Saltos Saltar si RLO = 1
SPBB JCB Saltos Saltar si RLO = 1 y salvaguardar RLO en RB
SPBI JBI Saltos Saltar si RB = 1
SPBIN JNBI Saltos Saltar si RB = 0
SPBN JCN Saltos Saltar si RLO = 0
SPBNB JNB Saltos Saltar si RLO = 0 y salvar RLO en RB
SPL JL Saltos Saltar utilizando una lista de metas
SPM JM Saltos Saltar si resultado < 0
SPMZ JMZ Saltos Saltar si el resultado <= 0
SPN JN Saltos Saltar si resultado <> 0
SPO JO Saltos Saltar si OV = 1
SPP JP Saltos Saltar si el resultado > 0
SPPZ JPZ Saltos Saltar si el resultado >= 0
SPS JOS Saltos Saltar si OS = 1
SPU JUO Saltos Saltar si el resultado no es vlido
SPZ JZ Saltos Saltar si el resultado = 0
SQR SQR Funcin en coma flotante Calcular el cuadrado de un nmero de coma flotante (32 bits)
SQRT SQRT Funcin en coma flotante Calcular la raz cuadrada de un nmero de coma flotante (32 bits)
SRD SRD Desplazar/Rotar Desplazar doble palabra a la derecha (32 bits)
SRW SRW Desplazar/Rotar Desplazar palabra a la derecha (16 bits)
SS SS Temporizadores Temporizador como retardo a la conexin con memoria
SSD SSD Desplazar/Rotar Desplazar signo de nmero entero a la derecha (32 bits)
SSI SSI Desplazar/Rotar Desplazar signo de nmero entero a la derecha (16 bits)
SV SE Temporizadores Temporizador como impulso prolongado
T T Cargar/Transferir Transferir
T STW T STW Cargar/Transferir Transferir ACU 1 a la palabra de estado
TAD CAD Convertidor Invertir el orden de los bytes en el ACU 1 (32 bits)
Sinopsis de las operaciones AWL
A.1 Operaciones AWL ordenadas segn la nemotcnica alemana (SIMATIC)Operaciones con acumuladores
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 247
Nemo-
tcnica
alemana
Nemo-
tcnica
inglesa
Catlogo de elementos
del programa
Descripcin
TAK TAK Acumulador Intercambiar ACU 1 y ACU 2
TAN TAN Funcin en coma flotante Calcular la tangente de ngulos como nmeros de coma flotante
(32 bits)
TAR CAR Cargar/Transferir Intercambiar registro de direcciones 1 y registro de direcciones 2
TAR1 TAR1 Cargar/Transferir Transferir registro de direcciones 1 a ACU 1
TAR1 TAR1 Cargar/Transferir Transferir registro de direcciones 1 a direccin de destino (puntero
de 32 bits)
TAR1 TAR1 Cargar/Transferir Transferir registro de direcciones 1 a registro de direcciones 2
TAR2 TAR2 Cargar/Transferir Transferir registro de direcciones 2 a ACU 1
TAR2 TAR2 Cargar/Transferir Transferir registro de direcciones 2 a direccin de destino (puntero
de 32 bits)
TAW CAW Convertidor Cambiar el orden de los bytes en el ACU 1-L (16 bits)
TDB CDB Bloque de datos Intercambiar bloque de datos global y bloque de datos de instancia
TRUNC TRUNC Convertidor Truncar
U A Operaciones lgicas con bits Y
U( A( Operaciones lgicas con bits Y con abrir parntesis
UC UC Control del programa Llamada incondicionada
UD AD Bits Operaciones lgicas con
palabras
Y con doble palabra (32 bits)
UN AN Operaciones lgicas con bits Y-No
UN( AN( Operaciones lgicas con bits Y-No con abrir parntesis
UW AW Bits Operaciones lgicas con
palabras
Y con palabra (16 bits)
X X Operaciones lgicas con bits O-exclusiva
X( X( Operaciones lgicas con bits O-exclusiva con abrir parntesis
XN XN Operaciones lgicas con bits O-exclusiva-NO
XN( XN( Operaciones lgicas con bits O-exclusiva-NO con abrir parntesis
XOD XOD Bits Operaciones lgicas con
palabras
O-exclusiva con doble palabra (32 bits)
XOW XOW Bits Operaciones lgicas con
palabras
O-exclusiva con palabra (16 bits)
ZR CD Contadores Decrementar contador
ZV CU Contadores Incrementar contador

Sinopsis de las operaciones AWL
A.2 Operaciones AWL ordenadas segn la nemotcnica inglesa (internacional)Operaciones con acumuladores
Lista de instrucciones (AWL) para S7-300 y S7-400
248 Manual de referencia, 05/2010, A5E02790285-01
A.2 Operaciones AWL ordenadas segn la nemotcnica inglesa
(internacional)

Nemo-
tcnica
inglesa
Nemo-
tcnica
alemana
Catlogo de elementos
del programa
Descripcin
= = Operaciones lgicas con bits Asignar
) ) Operaciones lgicas con bits Cerrar parntesis
+ + Funcin en coma fija Sumar constante entera o entera doble
*D *D Funcin en coma fija Multiplicar ACU 1 por ACU 2 como entero doble
*I *I Funcin en coma fija Multiplicar ACU 1 por ACU 2 como entero
*R *R Funcin en coma flotante Multiplicar ACU 1 por ACU 2 como nmero de coma flotante
(32 bits)
/D /D Funcin en coma fija Dividir ACU 2 por ACU 1 como entero doble
/I /I Funcin en coma fija Dividir ACU 2 por ACU 1 como entero
/R /R Funcin en coma flotante Dividir ACU 2 por ACU 1 como nmero de coma flotante (32 bits)
? D ? D Comparador Comparar enteros dobles ==, <>, >, <, >=, <=
? I ? I Comparador Comparar enteros ==, <>, >, <, >=, <=
? R ? R Comparador Comparar nmeros en coma flotante (32 bits) ==, <>, >, <, >=, <=
+AR1 +AR1 Acumulador Sumar el ACU 1 al registro de direcciones 1
+AR2 +AR2 Acumulador Sumar el ACU1 al registro de direcciones 2
+D +D Funcin en coma fija Sumar ACU 1 y 2 como entero doble
+I +I Funcin en coma fija Sumar ACU 1 y 2 como entero
+R +R Funcin en coma flotante Sumar ACU 1 y 2 como nmero de coma flotante (32 bits)
A U Operaciones lgicas con bits Y
A( U( Operaciones lgicas con bits Y con abrir parntesis
ABS ABS Funcin en coma flotante Valor absoluto de un nmero de coma flotante (32 bits, IEEE 754)
ACOS ACOS Funcin en coma flotante Calcular el arcocoseno de un nmero de coma flotante (32 bits)
AD UD Bits Operaciones lgicas con
palabras
Y con doble palabra (32 bits)
AN UN Operaciones lgicas con bits Y-No
AN( UN( Operaciones lgicas con bits Y-No con abrir parntesis
ASIN ASIN Funcin en coma flotante Calcular el arcoseno de un nmero de coma flotante (32 bits)
ATAN ATAN Funcin en coma flotante Calcular la arcotangente de un nmero de coma flotante (32 bits)
AW UW Bits Operaciones lgicas con
palabras
Y con palabra (16 bits)
BE BE Control del programa Fin de bloque
BEC BEB Control del programa Fin de bloque condicionado
BEU BEA Control del programa Fin de bloque incondicionado
BLD BLD Acumulador Estructuracin de imagen (operacin nula)
BTD BTD Convertidor Convertir nmero BCD a entero doble
BTI BTI Convertidor Convertir BCD a entero
CAD TAD Convertidor Invertir el orden de los bytes en el ACU 1 (32 bits)
Sinopsis de las operaciones AWL
A.2 Operaciones AWL ordenadas segn la nemotcnica inglesa (internacional)Operaciones con acumuladores
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 249
Nemo-
tcnica
inglesa
Nemo-
tcnica
alemana
Catlogo de elementos
del programa
Descripcin
CALL CALL Control del programa Llamada
CALL CALL Control del programa Llamar a una multiinstancia
CALL CALL Control del programa Llamar a un bloque de una librera
CAR TAR Cargar/Transferir Intercambiar registro de direcciones 1 y registro de direcciones 2
CAW TAW Convertidor Cambiar el orden de los bytes en el ACU 1-L (16 bits)
CC CC Control del programa Llamada condicionada
CD ZR Contadores Decrementar contador
CDB TDB Bloque de datos Intercambiar bloque de datos global y bloque de datos de
instancia
CLR CLR Operaciones lgicas con bits Desactivar RLO (=0)
COS COS Funcin en coma flotante Calcular el coseno de ngulos como nmeros de coma flotante
(32 bits)
CU ZV Contadores Incrementar contador
D D Funcin en coma fija Restar ACU 1 de ACU 2 como entero doble
DEC DEC Acumulador Decrementar ACU 1-L-L
DTB DTB Convertidor Convertir entero doble en BCD
DTR DTR Convertidor Convertir entero doble en nmero en coma flotante (32 bits, IEEE
754)
ENT ENT Acumulador Introducir pila de ACU
EXP EXP Funcin en coma flotante Calcular el exponente de un nmero de coma flotante (32 bits)
FN FN Operaciones lgicas con bits Flanco negativo
FP FP Operaciones lgicas con bits Flanco positivo
FR FR Contadores Habilitar contador (Frei, FR Z 0 zu Z 255)
FR FR Temporizadores Habilitar temporizador
I I Funcin en coma fija Restar ACU 1 de ACU 2 como entero
INC INC Acumulador Incrementar ACU 1-L-L
INVD INVD Convertidor Complemento a uno de un entero doble
INVI INVI Convertidor Complemento a uno de un entero
ITB ITB Convertidor Convertir entero en BCD
ITD ITD Convertidor Convertir entero en entero doble
JBI SPBI Saltos Saltar si RB = 1
JC SPB Saltos Saltar si RLO = 1
JCB SPBB Saltos Saltar si RLO = 1 y salvaguardar RLO en RB
JCN SPBN Saltos Saltar si RLO = 0
JL SPL Saltos Saltar utilizando una lista de metas
JM SPM Saltos Saltar si resultado < 0
JMZ SPMZ Saltos Saltar si el resultado <= 0
JN SPN Saltos Saltar si resultado <> 0
JNB SPBNB Saltos Saltar si RLO = 0 y salvar RLO en RB
JNBI SPBIN Saltos Saltar si RB = 0
JO SPO Saltos Saltar si OV = 1
Sinopsis de las operaciones AWL
A.2 Operaciones AWL ordenadas segn la nemotcnica inglesa (internacional)Operaciones con acumuladores
Lista de instrucciones (AWL) para S7-300 y S7-400
250 Manual de referencia, 05/2010, A5E02790285-01
Nemo-
tcnica
inglesa
Nemo-
tcnica
alemana
Catlogo de elementos
del programa
Descripcin
JOS SPS Saltos Saltar si OS = 1
JP SPP Saltos Saltar si el resultado > 0
JPZ SPPZ Saltos Saltar si el resultado >= 0
JU SPA Saltos Salto incondicionado
JUO SPU Saltos Saltar si el resultado no es vlido
JZ SPZ Saltos Saltar si el resultado = 0
L L Cargar/Transferir Cargar
L STW L STW Cargar/Transferir Cargar palabra de estado en ACU 1
L L Temporizadores 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)
L L Contadores 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)
L DBLG L DBLG Bloque de datos Cargar la longitud del DB global en el ACU 1
L DBNO L DBNO Bloque de datos Cargar nmero del bloque de datos global en ACU 1
L DILG L DILG Bloque de datos Cargar longitud del bloque de datos de instancia en ACU 1
L DINO L DINO Bloque de datos Cargar nmero del bloque de datos de instancia en ACU 1
LAR1 LAR1 Cargar/Transferir Cargar registro de direcciones 1 con contenido del ACU 1
LAR1 LAR1 Cargar/Transferir Cargar registro de direcciones 1 con puntero (formato de 32 bits)
LAR1 LAR1 Cargar/Transferir Cargar registro de direcciones 1 con contenido del registro de
direcciones 2
LAR2 LAR2 Cargar/Transferir Cargar registro de direcciones 2 con contenido del ACU 1
LAR2 LAR2 Cargar/Transferir Cargar registro de direcciones 2 con puntero (formato de 32 bits)
LC LC Contadores 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)
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)
LEAVE LEAVE Acumulador Salir de la pila de ACU
LN LN Funcin en coma flotante Calcular el logaritmo natural de un nmero de coma flotante
(32 bits)
LOOP LOOP Saltos Bucle
MCR( MCR( Control del programa Almacenar el RLO en pila MCR, inicio rea MCR
)MCR )MCR Control del programa Fin rea MCR
MCRA MCRA Control del programa Activar rea MCR
MCRD MCRD Control del programa Desactivar rea MCR
MOD MOD Funcin en coma fija Resto de la divisin de enteros dobles
NEGD NEGD Convertidor Complemento a dos de un entero doble
NEGI NEGI Convertidor Complemento a dos de un entero
NEGR NEGR Convertidor Invertir un nmero en coma flotante (32 bits, IEEE 754)
NOP 0 NOP 0 Acumulador Operacin nula 0
Sinopsis de las operaciones AWL
A.2 Operaciones AWL ordenadas segn la nemotcnica inglesa (internacional)Operaciones con acumuladores
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 251
Nemo-
tcnica
inglesa
Nemo-
tcnica
alemana
Catlogo de elementos
del programa
Descripcin
NOP 1 NOP 1 Acumulador Operacin nula 1
NOT NOT Operaciones lgicas con bits Negar el RLO
O O Operaciones lgicas con bits O
O( O( Operaciones lgicas con bits O con abrir parntesis
OD OD Bits Operaciones lgicas con
palabras
O con doble palabra (32 bits)
ON ON Operaciones lgicas con bits O-No
ON( ON( Operaciones lgicas con bits O-No con abrir parntesis
OPN AUF Bloque de datos Abrir bloque de datos
OW OW Bits Operaciones lgicas con
palabras
O con palabra (16 bits)
POP POP Acumulador CPU con dos acumuladores
POP POP Acumulador CPU con cuatro acumuladores
PUSH PUSH Acumulador CPU con dos acumuladores
PUSH PUSH Acumulador CPU con cuatro acumuladores
R R Operaciones lgicas con bits Desactivar
R R Contadores Desactivar contador (el valor de temporizacin actual puede ser
un nmero comprendido en el margen de 0 a 255, p. ej.: R Z 15)
R R Temporizadores Desactivar temporizador (el temporizador actual puede ser un
nmero comprendido en el margen de 0 a 255, p. ej.: R T 32)
R R Funcin en coma flotante Restar ACU 1 de ACU 2 como nmero de coma flotante (32 bits)
RLD RLD Desplazar/Rotar Rotar doble palabra a la izquierda (32 bits)
RLDA RLDA Desplazar/Rotar Rotar ACU 1 a la izquierda va A1 (32 bits)
RND RND Convertidor Redondear un nmero en coma flotante a entero
RND RND Convertidor Redondear un nmero real al prximo entero inferior
RND+ RND+ Convertidor Redondear un nmero real al prximo entero superior
RRD RRD Desplazar/Rotar Rotar doble palabra a la derecha (32 bits)
RRDA RRDA Desplazar/Rotar Rotar ACU 1 a la derecha va A1 (32 bits)
S S Operaciones lgicas con bits Activar
S S Contadores 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)
SAVE SAVE Operaciones lgicas con bits Memorizar el RLO en el registro RB
SD SE Temporizadores Temporizador como retardo a la conexin
SE SV Temporizadores Temporizador como impulso prolongado
SET SET Operaciones lgicas con bits Activar
SF SA Temporizadores Temporizador como retardo a la desconexin
SIN SIN Funcin en coma flotante Calcular el seno de ngulos como nmeros de coma flotante
(32 bits)
SLD SLD Desplazar/Rotar Desplazar doble palabra a la izquierda (32 bits)
SLW SLW Desplazar/Rotar Desplazar palabra a la izquierda (16 bits)
SP SI Temporizadores Temporizador como impulso
SQR SQR Funcin en coma flotante Calcular el cuadrado de un nmero de coma flotante (32 bits)
Sinopsis de las operaciones AWL
A.2 Operaciones AWL ordenadas segn la nemotcnica inglesa (internacional)Operaciones con acumuladores
Lista de instrucciones (AWL) para S7-300 y S7-400
252 Manual de referencia, 05/2010, A5E02790285-01
Nemo-
tcnica
inglesa
Nemo-
tcnica
alemana
Catlogo de elementos
del programa
Descripcin
SQRT SQRT Funcin en coma flotante Calcular la raz cuadrada de un nmero de coma flotante (32 bits)
SRD SRD Desplazar/Rotar Desplazar doble palabra a la derecha (32 bits)
SRW SRW Desplazar/Rotar Desplazar palabra a la derecha (16 bits)
SS SS Temporizadores Temporizador como retardo a la conexin con memoria
SSD SSD Desplazar/Rotar Desplazar signo de nmero entero a la derecha (32 bits)
SSI SSI Desplazar/Rotar Desplazar signo de nmero entero a la derecha (16 bits)
T T Cargar/Transferir Transferir
T STW T STW Cargar/Transferir Transferir ACU 1 a la palabra de estado
TAK TAK Acumulador Intercambiar ACU 1 y ACU 2
TAN TAN Funcin en coma flotante Calcular la tangente de ngulos como nmeros de coma flotante
(32 bits)
TAR1 TAR1 Cargar/Transferir Transferir registro de direcciones 1 a ACU 1
TAR1 TAR1 Cargar/Transferir Transferir registro de direcciones 1 a direccin de destino
(puntero de 32 bits)
TAR1 TAR1 Cargar/Transferir Transferir registro de direcciones 1 a registro de direcciones 2
TAR2 TAR2 Cargar/Transferir Transferir registro de direcciones 2 a ACU 1
TAR2 TAR2 Cargar/Transferir Transferir registro de direcciones 2 a direccin de destino
(puntero de 32 bits)
TRUNC TRUNC Convertidor Truncar
UC UC Control del programa Llamada incondicionada
X X Operaciones lgicas con bits O-exclusiva
X( X( Operaciones lgicas con bits O-exclusiva con abrir parntesis
XN XN Operaciones lgicas con bits O-exclusiva-NO
XN( XN( Operaciones lgicas con bits O-exclusiva-NO con abrir parntesis
XOD XOD Bits Operaciones lgicas con
palabras
O-exclusiva con doble palabra (32 bits)
XOW XOW Bits Operaciones lgicas con
palabras
O-exclusiva con palabra (16 bits)



Lista de instrucciones (AWL) para S7-300 y S7-400
Manual de referencia, 05/2010, A5E02790285-01 253
B Ejemplos de programacin
B.1 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
UW Lgica de palabras Y con palabra
OW Lgica de palabras O con palabra
ZV, ZR Contadores Decrementar contador, Incrementar contador
S, R Operaciones lgicas con bits Activar, Desactivar
NOT Operaciones lgicas con bits Negar RLO
FP Operaciones lgicas con bits Flanco positivo
+I Funcin en coma fija Sumar ACU 1 y ACU 2 como entero
/I Funcin en coma fija Dividir ACU 2 por ACU 1 como entero
*I Funcin en coma fija Multiplicar ACU 1 y ACU 2 como entero
>=I, <=I Comparadores Comparar enteros
U, UN Operaciones lgicas con bits Y, Y no
O, ON Operaciones lgicas con bits O, O no
= Operaciones lgicas con bits Asignar
INC Acumuladores Incrementar ACU 1
BE, BEB Control del programa Fin de bloque, Fin de bloque condicionado
L, T Carga/Transferencia Cargar, Transferir
SV Temporizadores Arrancar temporizador como impulso prolongado

Ejemplos de programacin
B.2 Ejemplos: Operaciones lgicas con bits
Lista de instrucciones (AWL) para S7-300 y S7-400
254 Manual de referencia, 05/2010, A5E02790285-01
B.2 Ejemplos: Operaciones lgicas con bits
Ejemplo 1: Controlar una cinta transportadora
La figura muestra una cinta transportadora que se pone en marcha elctricamente. Al principio de la
cinta (es decir, en el extremo izquierdo) se encuentran dos pulsadores: S1 para MARCHA (start) y S2
para PARO (stop). Al final de la cinta, es decir, en el extremo derecho se encuentran otros dos
pulsadores: S3 para MARCHA y S4 para PARO. La cinta puede ponerse en marcha o pararse desde
cualesquiera de ambos extremos. Asimismo, el sensor S5 detiene la cinta cuando un paquete alcanza
el final de la cinta.
MOTOR_ON
S1
S2
O Marcha
O Paro
S3
S4
Sensor S5
O Marcha
O Paro

Programacin absoluta y simblica
Se puede escribir un programa que controle la cinta transportadora usando valores absolutos o
smbolos para representar los distintos componentes del sistema de transporte.
Los smbolos los define el usuario en la tabla de smbolos (v. la Ayuda en pantalla de STEP 7).

Componente del
sistema
Direccin absoluta Smbolo Tabla de smbolos
Pulsador de marcha E 1.1 S1 E 1.1 S1
Pulsador de paro E 1.2 S2 E 1.2 S2
Pulsador de marcha E 1.3 S3 E 1.3 S3
Pulsador de paro E 1.4 S4 E 1.4 S4
Sensor E 1.5 S5 E 1.5 S5
Motor A 4.0 MOTOR_ON A 4.0 MOTOR_ON

Ejemplos de programacin
B.2 Ejemplos: Operaciones lgicas con bits
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 255
Programacin absoluta Programacin simblica
O E 1.1
O E 1.3
S A 4.0
O E 1.2
O E 1.4
ON E 1.5
R A 4.0
O S1
O S3
S MOTOR_ON
O S2
O S4
ON S5
R MOTOR_ON

Operacin AWL para controlar una cinta transportadora

AWL Explicacin
O E 1.1 //Accionando cualquiera de los pulsadores start arranca el motor.
O E 1.3
S A 4.0
O E 1.2 //Accionando cualquiera de los pulsadores stop o abriendo el contacto
//normalmente cerrado al final de la cinta separa el motor.
O E 1.4
ON E 1.5
R A 4.0

Ejemplo 2: Detectar el sentido de marcha de una cinta transportadora
La figura muestra una cinta transportadora equipada con dos barreras pticas (BO1 y BO2)
concebidas para detectar el sentido de marcha de la cinta transportadora. Cada barrera ptica
funciona igual que un contacto normalmente abierto.
BO1 BO2 A 4.1 A 4.0

Ejemplos de programacin
B.2 Ejemplos: Operaciones lgicas con bits
Lista de instrucciones (AWL) para S7-300 y S7-400
256 Manual de referencia, 05/2010, A5E02790285-01
Programacin absoluta y simblica
Se puede escribir un programa que controle la cinta transportadora usando valores absolutos o
smbolos para representar los distintos componentes del sistema de transporte.
Los smbolos los define el usuario en la tabla de smbolos (v. la Ayuda en pantalla de STEP 7).

Componente del sistema Direccin absoluta Smbolo Tabla de smbolos
Barrera ptica 1 E 0.0 BO1 E 0.0 BO1
Barrera ptica 2 E 0.1 BO2 E 0.1 BO2
Indicador de movimiento a la derecha A 4.0 DER A 4.0 DER
Indicador de movimiento a la izquierda A 4.1 IZQ A 4.1 IZQ
Marca de impulso 1 M 0.0 MI1 M 0.0 MI1
Marca de impulso 2 M 0.1 MI2 M 0.1 MI2

Programacin absoluta Programacin simblica
U E 0.0
FP M 0.0
UN E 0.1
S A 4.1
U E 0.1
FP M 0.1
UN E 0.0
S A 4.0
UN E 0.0
UN E 0.1
R A 4.0
R A 4.1
U BO1
FP MI1
UN MI 2
S IZQ
U BO1
FP MI 2
UN BO1
S DER
UN BO1
UN BO2
R DER
R IZQ
Operacin AWL para detectar el sentido de marcha de una cinta transportadora

AWL Explicacin
U E 0.0 //Si el estado de seal cambia de 0 a 1 (flanco positivo) en la entrada E 0.0
//y, al mismo tiempo, el estado de seal de la entrada E 0.1 es 0, significa
//que el paquete que transporta la cinta se est moviendo a la izquierda.
FP M 0.0
UN E 0.1
S A 4.1
U E 0.1 //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 M 0.1
UN E 0.0
S A 4.0
UN E 0.0 //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 E 0.1
R A 4.0
R A 4.1

Ejemplos de programacin
B.3 Ejemplo: Operaciones de temporizacin
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 257
B.3 Ejemplo: Operaciones de temporizacin
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.
Operacin AWL para generar un impulso de reloj (relacin impulso-pausa 1:1)

AWL Explicacin
UN T1 //Si se ha vencido el tiempo T1,
L S5T#250ms //cargar el valor de temporizacin 250 ms en T1
SV T1 //y arrancar T1 como temporizador de impulso prolongado.
NOT //Negar (invertir) el resultado lgico.
BEB //Finalizar el bloque actual cuando el tiempo transcurra.
L MB100 //Si se ha terminado el tiempo, cargar el contenido del byte de marcas
//MB100,
INC 1 //incrementar su contenido en "1" y
T MB100 //transferir el resultado al byte de marcas MB100.

Consulta del estado de seal
La consulta del estado de seal del temporizador T1 da el resultado lgico.
0
1
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):
0
1
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 ...
Ejemplos de programacin
B.3 Ejemplo: Operaciones de temporizacin
Lista de instrucciones (AWL) para S7-300 y S7-400
258 Manual de referencia, 05/2010, A5E02790285-01
Programar una frecuencia determinada
Con los bits de los bytes de marca MB100 se consiguen las frecuencias siguientes:

MB100 Frecuencia en hertzios Duracin
M 100.0 2.0 0.5 s (250 ms on / 250 ms off)
M 100.1 1.0 1 s (0.5 s on / 0.5 s off)
M 100.2 0.5 2 s (1 s on / 1 s off)
M 100.3 0.25 4 s (2 s on / 2 s off)
M 100.4 0.125 8 s (4 s on / 4 s off)
M 100.5 0.0625 16 s (8 s on / 8 s off)
M 100.6 0.03125 32 s (16 s on / 16 s off)
M 100.7 0.015625 64 s (32 s on / 32 s off)
Operacin AWL

AWL Explicacin
U M10.0 //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.
U M100.1
= A 4.0
Estados de seal de los bits del byte de marcas MB101

Ciclo Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Valor en ms
0 0 0 0 0 0 0 0 0 250
1 0 0 0 0 0 0 0 1 250
2 0 0 0 0 0 0 1 0 250
3 0 0 0 0 0 0 1 1 250
4 0 0 0 0 0 1 0 0 250
5 0 0 0 0 0 1 0 1 250
6 0 0 0 0 0 1 1 0 250
7 0 0 0 0 0 1 1 1 250
8 0 0 0 0 1 0 0 0 250
9 0 0 0 0 1 0 0 1 250
10 0 0 0 0 1 0 1 0 250
11 0 0 0 0 1 0 1 1 250
12 0 0 0 0 1 1 0 0 250
Ejemplos de programacin
B.3 Ejemplo: Operaciones de temporizacin
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 259
Estado de seal del bit 1 de MB101 (M 101.1)
Frecuencia = 1/T = 1/1 s = 1 Hz
M 101.1
250 ms 0.5 s 0.75 s 1 s 1.25 s 1.5 s
T
Tiempo
0
1
0


Ejemplos de programacin
B.4 Ejemplo: Operaciones de contaje y comparacin
Lista de instrucciones (AWL) para S7-300 y S7-400
260 Manual de referencia, 05/2010, A5E02790285-01
B.4 Ejemplo: Operaciones de contaje y comparacin
Area de almacenamiento con contador y comparador
La figura muestra un sistema con dos cintas transportadoras y un rea de almacenamiento temporal
colocada entre ambas. La cinta transportadora 1 transporta paquetes al rea de almacenamiento.
Una barrera ptica situada al final de la cinta 1 junto al rea de almacenamiento determina cuntos
paquetes se transportan a dicha rea. La cinta transportadora 2 transporta paquetes desde el rea de
almacenamiento a una plataforma de carga donde llegan camiones y los recogen para suministrarlos
a los clientes. Una barrera ptica situada al final de la cinta transportadora 2 junto al rea de
almacenamiento determina cuntos paquetes abandonan el rea de almacenamiento para ser
transportados a la plataforma de carga. Un panel indicador con cinco lmparas seala el nivel del
rea de almacenamiento temporal.
Panel indicador
Area de alma-
cenamiento
vaca
(A 12.0) (A 12.1)
Area de alma-
cenamiento
al 50%
Area de alma-
cenamiento
no vaca
(A 15.2)
Area de alma-
cenamiento
al 90%
(A15.3)
Area de alma-
cenamiento
llena
(A15.4)
Almacena-
miento
temporal
para 100
paquetes
Entrada de paquetes Salida de paquetes
Cinta transportadora 2 Cinta transportadora 1
Barriera ptica 1 Barriera ptica 2
E 12.0 E 12.1

Ejemplos de programacin
B.4 Ejemplo: Operaciones de contaje y comparacin
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 261
Operacin AWL para activar las lmparas del panel indicador

AWL Explicacin
U E 0.0 //Cada impulso generado por la barrera ptica 1
ZV Z1 //aumenta el valor del contador Z1 en una unidad, contando as el nmero de
//paquetes transportados al rea de almacenamiento.
//
U E 0.1 //Cada impulso generado por la barrera ptica 2
ZR Z1 //disminuye el valor del contador Z1 en una unidad, contando as los paquetes
//que salen del rea de almacenamiento.
//
UN Z1 //Si el valor de contaje es 0,
= A 4.0 //se enciende la lmpara indicadora "Area de almacenamiento vaca".
//
U Z1 //Si el valor de contaje no es 0,
= A 4.1 //se enciende la lmpara indicadora "Area de almacenamiento no vaca".
//
L 50
L Z1
<=I //Si el valor de contaje es menor o igual a 50,
= A 4.2 //se enciende la lmpara indicadora "Area de almacenamiento al 50%".
//
L 90
>=I //Si el valor de contaje es mayor o igual a 90,
= A 4.3 //se enciende la lmpara indicadora "Area de almacenamiento al 90%".
//
L Z1
L 100
>=I //Si el valor de contaje es mayor o igual a 100,
= A 4.4 //se enciende la lmpara indicadora "Area de almacenamiento llena". (Tambin
//se puede utilizar la salida A 4.4 para bloquear la cinta transportadora 1).

Ejemplos de programacin
B.5 Ejemplo: Operaciones de aritmtca con enteros
Lista de instrucciones (AWL) para S7-300 y S7-400
262 Manual de referencia, 05/2010, A5E02790285-01
B.5 Ejemplo: Operaciones de aritmtca con enteros
Resolver un Problema aritmtico
El programa de ejemplo siguiente muestra cmo obtener con tres operaciones aritmticas para
enteros el mismo resultado que la ecuacin:
MD4 = ((EW0 + DBW3) x 15) / MW2
Operacin AWL

AWL Explicacin
L EW0 //Cargar el valor de la palabra de entrada EW0 en el ACU 1.
L DB5.DBW3 //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.
+I E 0.1 //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.
L +15 //Cargar el valor constante +15 en el ACU 1. El antiguo contenido del
//ACU 1 se desplaza al ACU 2.
*I //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.
L MW2 //Cargar el valor de la palabra de marcas MW2 en el ACU 1. El antiguo
//contenido del ACU 1 se desplaza al ACU 2.
/I //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.
T MD4 //Transferir el resultado final a la palabra doble de marcas MD4. El
//contenido de ambos acumuladores permanece inalterado.

Ejemplos de programacin
B.6 Ejemplo: Operaciones lgicas con palabras
Automation License Manager
Manual de referencia, 05/2010, A5E02790285-01 263
B.6 Ejemplo: Operaciones lgicas con palabras
Calentar una caldera
El operador de la caldera conecta la caldera accionando el pulsador de marcha. El operador puede
graduar un tiempo de calentamiento utilizando los preselectores mecnicos. El valor fijado por el
operador indica los segundos en formato decimal codificado en binario (BCD).
Caldera
Calor
A 4.0
Preselectores para graduar dgitos BCD
1 0 0 1 0 0 0 1 X X X X 0 0 0 1
EW0
4 4 4
Pulsador de marcha E 0.7
7....
EB1 EB0 Bytes
Bits 7... ...0 ...0


Componente del sistema Direccin absoluta
Pulsador de marcha E 0.7
Preselector digital para unidades E 1.0 a E 1.3
Preselector digital para decenas E 1.4 a E 1.7
Preselector digital para centenas E 0.0 a E 0.3
Comienzo del proceso de calentamiento A 4.0
Operacin AWL

AWL Explicacin
U T1 //Si el temporizador est en marcha,
= A 4.0 //poner en marcha la calefaccin.
BEB //Si el temporizador est en marcha, finalizar aqu el procesamiento. Esto
//impide que el temporizador T1 vuelva a arrancar al accionar el pulsador.
L EW0
UW W#16#0FFF //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.
OW W#16#2000 //Asignar la base de tiempo en segundos en los bits 12 y 13 de la palabra
//baja del ACU 1.
U E 0.7
SV T1 //Arrancar el temporizador T1 como temporizador de impulso prolongado
//cuando se accione el pulsador.

Ejemplos de programacin
B.6 Ejemplo: Operaciones lgicas con palabras
Lista de instrucciones (AWL) para S7-300 y S7-400
264 Manual de referencia, 05/2010, A5E02790285-01


Lista de instrucciones (AWL) para S7-300 y S7-400
Manual de referencia, 05/2010, A5E02790285-01 265
C 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.

Transferencia de parmetros
B.6 Ejemplo: Operaciones lgicas con palabras
Lista de instrucciones (AWL) para S7-300 y S7-400
266 Manual de referencia, 05/2010, A5E02790285-01


Lista de instrucciones (AWL) para S7-300 y S7-400
Manual de referencia, 05/2010, A5E02790285-01 267
ndice
)
) 25
)MCR 177
*
*D 116
*I 109
*R 126
/
/D 117
/I 110, 111
/R 127
?
? 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
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
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
ndice

Lista de instrucciones (AWL) para S7-300 y S7-400
268 Manual de referencia, 05/2010, A5E02790285-01
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
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
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
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
ndice
Lista de instrucciones (AWL) para S7-300 y S7-400
Manual de referencia, 05/2010, A5E02790285-01 269
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
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
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
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
ndice

Lista de instrucciones (AWL) para S7-300 y S7-400
270 Manual de referencia, 05/2010, A5E02790285-01
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
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
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
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
ndice
Lista de instrucciones (AWL) para S7-300 y S7-400
Manual de referencia, 05/2010, A5E02790285-01 271
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
X
X 19
X( 24
XN 20
XN( 25
XOD 230, 231
XOW 224, 225
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
Z
ZR 73
ZV 72

ndice

Lista de instrucciones (AWL) para S7-300 y S7-400
272 Manual de referencia, 05/2010, A5E02790285-01

También podría gustarte