Академический Документы
Профессиональный Документы
Культура Документы
1 2 3 4 5 6 7 8 9 10 11 12 13 14
Operaciones de comparacin Operaciones de conversin Operaciones de contaje Operaciones con los bloques de datos Operaciones de salto Aritmtica de enteros Aritmtica en coma flotante Operaciones de carga y transferencia Control de programa Operaciones de desplazamiento y rotacin Operaciones de temporizacin Operaciones lgicas con palabras Operaciones con acumuladores
Anexos Sinopsis de las operaciones AWL Ejemplos de programacin Edicin 08/2000 A5E00068878-02 Indice alfabtico
A B
Peligro
significa que, si no se adoptan las medidas preventivas adecuadas, se producir la muerte, lesiones corporales graves o daos materiales considerables.
Precaucin
significa que, si no se adoptan las medidas preventivas adecuadas, puede producirse la muerte, lesiones corporales graves o daos materiales considerables.
Cuidado
significa que, si no se adoptan las medidas preventivas adecuadas, pueden producirse lesiones corporales o daos materiales leves.
Nota
Se trata de una informacin importante, sobre el producto o sobre una parte determinada del manual, sobre la que se desa llamar particularmente la atencin.
Personal cualificado
La puesta en funcionamiento y el servicio del equipo slo deben ser llevados a cabo conforme a lo descrito en este manual. Slo est autorizado a intervenir en este equipo el personal cualificado. En el sentido del manual se trata de personas que disponen de los conocimientos tcnicos necesarios para poner en funcionamiento, conectar a tierra y marcar los aparatos, sistemas y circuitos de acuerdo con las normas estndar de seguridad.
Uso conforme
Considere lo siguiente:
Precaucin
Este equipo slo se podr utilizar para los casos de aplicacin previstos en el catlogo y en la descripcin tcnica, y slo en unin de los equipos y componentes de proveniencia tercera recomendados y homologados por Siemens.
Marcas registradas
SIMATIC, SIMATIC NET y SIMATIC HMI son marcas registradas por SIEMENS AG. Los restantes nombres y designaciones contenidos en el presente impreso pueden ser marcas registradas cuya utilizacin por terceros para sus fines puede violar los derechos de los propietarios.
Exencin de responsabilidad
Hemos probado el contenido de esta publicacin con la concordancia descrita para el hardware y el software. Sin embargo, es posible que se den algunas desviaciones que nos impiden tomar garanta completa de esta concordancia. El contenido de esta publicacin est sometido a revisiones regularmente y en caso necesario se incluyen las correcciones en la siguiente edicin. Agradecemos sugerencias.
Siemens AG Bereich Automatisierungs- und Antriebstechnik Geschaeftsgebiet Industrie-Automatisierungsysteme Postfach 4848, D- 90327 Nuernberg
Siemens Aktiengesellschaft
A5E00068878
Indicaciones importantes
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 pro-gramables. Adems es necesario estar familiarizado con el uso de ordenadores o equipos similares a un PC (p. ej. unidades de programacin) que funcionen en el entorno Windows 95/98/2000 o Windows NT.
iii
Indicaciones importantes
Requisitos
Para entender correctamente el presente manual de AWL se requieren conocimientos tericos acerca de los programas S7, que se pueden consultar en la Ayuda en pantalla de STEP 7. Como que los paquetes acerca de los lenguajes de programacin se basan en el software estndar de STEP 7, debera conocerse ya mnimamente el uso del software y su documentacin. Este manual forma parte del paquete de documentacin "STEP 7 Informacin de referencia. La tabla siguiente da una visin de conjunto de la documentacin de STEP 7:
Manuales Informacin bsica de STEP 7 compuesta por: STEP 7 V5.1: Introduccin y ejercicios prcticos Programar con STEP 7 V5.1 Configurar el hardware y la comunicacin con STEP 7 V5.1 De S5 a S7, Gua para facilitar la transicin 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' . 6ES7810-4CA05-8DR0 Tema Referencia
Nociones bsicas para el 6ES7810-4CA05-8DA0 personal tcnico. Describe cmo realizar soluciones de control con el software STEP 7 para los sistemas S7-300/400.
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
Tema
Referencia
Nociones bsicas para disear Componente del programas y configurar el paquete de software hardware con STEP 7. Disponible STEP 7 en forma de Ayuda en pantalla. Informacin de referencia sensible al contexto 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
iv
Indicaciones importantes
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.
Indicaciones importantes
Singapur
SIMATIC Hotline
lunes a viernes 7:00 a 17:00 Hora: +49 (180) 5050-223 techsupport@ ad.siemens.de +1:00
El personal que atiende las hotlines SIMATIC habla por regla general alemn e ingls; el de la hotline para cuestiones relacionadas con las autorizaciones tambin habla espaol, francs e italiano.
vi
Indicaciones importantes
en Internet bajo http://www.ad.siemens.de/simatic-cs va Bulletin Board System (BBS) en Nuremberg (SIMATIC Customer Support Mailbox) marcando el nmero +49 (911) 895-7100.
Para acceder al mailbox utilice un mdem de hasta V.34 (28,8 kbit/s), ajustando sus parmetros como sigue: 8, N, 1, ANSI, o bien acceda por RDSI (x.75, 64 kbits). Consulte la persona de contacto para Automation & Drives de su localidad en nuestra base de datos:
-
vii
Indicaciones importantes
viii
Contenido
Operaciones lgicas con bits 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.20 1.21 1.22 1.23 1.24
1-1
Lista de operaciones lgicas con bits............................................................ 1-1 U Y ............................................................................................................ 1-3 UN Y-No.................................................................................................... 1-4 O O ........................................................................................................... 1-5 ON O-No ................................................................................................... 1-6 X O-exclusiva ............................................................................................ 1-7 XN O-exclusiva-NO ................................................................................... 1-8 O Y antes de O.......................................................................................... 1-9 U( Y con abrir parntesis ..........................................................................1-10 UN( Y-No con abrir parntesis ..................................................................1-11 O( O con abrir parntesis..........................................................................1-12 ON( O-No con abrir parntesis..................................................................1-12 X( O-exclusiva con abrir parntesis...........................................................1-13 XN( O-exclusiva-NO con abrir parntesis..................................................1-13 ) Cerrar parntesis....................................................................................1-14 Asignar ........................................................................................................1-15 R Desactivar.............................................................................................1-16 S Activar...................................................................................................1-17 NOT Negar el RLO ...................................................................................1-18 SET Activar el RLO (=1) ...........................................................................1-18 CLR Desactivar RLO (=0) .........................................................................1-19 SAVE Memorizar el RLO en el registro RB...............................................1-20 FN Flanco negativo...................................................................................1-21 FP Flanco positivo ....................................................................................1-23 2-1
Lista de operaciones de comparacin ........................................................... 2-1 ? I Comparar enteros ................................................................................. 2-2 ? D Comparar enteros dobles .................................................................... 2-3 ? R Comparar nmeros en coma flotante (32 bits) ..................................... 2-4 3-1
Operaciones de conversin 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.15
Lista de operaciones de conversin .............................................................. 3-1 BTI Convertir BCD a entero ....................................................................... 3-2 ITB Convertir entero en BCD ..................................................................... 3-3 BTD Convertir nmero BCD a entero doble................................................ 3-4 ITD Convertir entero en entero doble ......................................................... 3-5 DTB Convertir entero doble en BCD .......................................................... 3-6 DTR Convertir entero doble en nmero en coma flotante (32 bits, IEEE-FP)......................................................................................... 3-7 INVI Complemento a uno de un entero ...................................................... 3-8 INVD Complemento a uno de un entero doble ........................................... 3-9 NEGI Complemento a dos de un entero....................................................3-10 NEGD Complemento a dos de un entero doble.........................................3-11 NEGR Invertir un nmero en coma flotante (32 bits, IEEE-FP) .................3-12 TAW Cambiar el orden de los bytes en el ACU 1-L (16 bits)......................3-13 TAD Invertir el orden de los bytes en el ACU 1 (32 bits) ............................3-14 RND Redondear un nmero en coma flotante a entero .............................3-15
ix
Contenido
TRUNC Truncar........................................................................................3-16 RND+ Redondear un nmero real al prximo entero superior ...................3-17 RND- Redondear un nmero real al prximo entero inferior ......................3-18 4-1
Operaciones de contaje 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8
Lista de operaciones de contaje.................................................................... 4-1 FR Habilitar contador ................................................................................. 4-2 L Cargar valor actual del contador en ACU 1 en forma de entero ............... 4-3 LC Cargar valor actual del contador en ACU 1 como nmero BCD ............ 4-4 R Desactivar contador ............................................................................... 4-5 S Poner contador al valor inicial ................................................................. 4-6 ZV Incrementar contador ........................................................................... 4-7 ZR Decrementar contador.......................................................................... 4-8 5-1
Operaciones con los bloques de datos 5.1 5.2 5.3 5.4 5.5 5.6 5.7
Lista de operaciones con bloques ................................................................. 5-1 AUF Abrir bloque de datos........................................................................ 5-2 TDB Intercambiar bloque de datos global y bloque de datos de instancia... 5-3 L DBLG Cargar la longitud del DB global en el ACU 1................................ 5-3 L DBNO Cargar nmero del bloque de datos global en ACU 1..................... 5-4 L DILG Cargar longitud del bloque de datos de instancia en ACU 1 ........... 5-4 L DINO Cargar nmero del bloque de datos de instancia en ACU 1 ........... 5-5 6-1
Operaciones de salto 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 6.10 6.11 6.12 6.13 6.14 6.15 6.16 6.17 6.18 6.19
Lista de operaciones de salto........................................................................ 6-1 SPA Salto incondicionado.......................................................................... 6-3 SPL Saltar utilizando una lista de metas .................................................... 6-4 SPB Saltar si RLO = 1 ............................................................................... 6-5 SPBN Saltar si RLO = 0 ......................................................................... 6-6 SPBB Saltar si RLO = 1 y salvaguardar RLO en RB................................... 6-7 SPBNB Saltar si RLO = 0 y salvar RLO en RB........................................... 6-8 SPBI Saltar si RB = 1................................................................................. 6-9 SPBIN Saltar si RB = 0 .............................................................................. 6-9 SPO Saltar si OV = 1 ................................................................................6-10 SPS Saltar si OS = 1 ................................................................................6-11 SPZ Saltar si el resultado = 0....................................................................6-12 SPN Saltar si resultado <> 0 .....................................................................6-13 SPP Saltar si el resultado > 0 ...................................................................6-14 SPM Saltar si resultado < 0.......................................................................6-15 SPPZ Saltar si el resultado >= 0 ...............................................................6-16 SPMZ Saltar si el resultado <= 0...............................................................6-17 SPU Saltar si el resultado no es vlido......................................................6-18 LOOP Bucle .............................................................................................6-19 7-1
Aritmtica de enteros 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 7.10 7.11 7.12
Lista de operaciones aritmticas con enteros................................................ 7-1 Evaluar bits de la palabra de estado en operaciones en coma fija................. 7-2 +I Sumar ACU 1 y 2 como entero............................................................... 7-3 -I Restar ACU 1 de ACU 2 como entero ..................................................... 7-4 *I Multiplicar ACU 1 por ACU 2 como entero .............................................. 7-5 /I Dividir ACU 2 por ACU 1 como entero..................................................... 7-6 + Sumar constante entera o entera doble................................................... 7-7 +D Sumar ACU 1 y 2 como entero doble.................................................... 7-8 -D Restar ACU 1 de ACU 2 como entero doble .......................................... 7-9 *D Multiplicar ACU 1 por ACU 2 como entero doble ..................................7-10 /D Dividir ACU 2 por ACU 1 como entero doble.........................................7-11 MOD Resto de la divisin de enteros dobles .............................................7-12
Contenido
Aritmtica en coma flotante 8.1 8.2 8.3 8.3.1 8.3.2 8.3.3 8.3.4 8.3.5 8.4 8.4.1 8.4.2 8.4.3 8.4.4 8.4.5 8.4.6 8.4.7 8.4.8 8.4.9 8.4.10
8-1
Lista de operaciones aritmticas con nmeros en coma flotante ................... 8-1 Evaluar los bits de la palabra de estado en operaciones en coma flotante .... 8-2 Operaciones bsicas .................................................................................... 8-3 +R Sumar ACU 1 y 2 como nmero en coma flotante (32 bits)................... 8-3 -R Restar ACU 1 de ACU 2 como nmero en coma flotante (32 bits) ......... 8-4 *R Multiplicar ACU 1 por ACU 2 como nmero en coma flotante (32 bits)... 8-5 /R Dividir ACU 2 por ACU 1 como nmero en coma flotante (32 bits) ......... 8-6 ABS Valor absoluto de un nmero en coma flotante (32 bits, IEEE-FP)..... 8-7 Operaciones ampliadas ................................................................................ 8-8 SQR Calcular el cuadrado de un nmero en coma flotante (32 bits)........... 8-8 SQRT Calcular la raz cuadrada de un nmero en coma flotante (32 bits) .. 8-9 EXP Calcular el exponente de un nmero en coma flotante (32 bits)........ 8-10 LN Calcular el logaritmo natural de un nmero en coma flotante (32 bits) ...................................................................................................... 8-11 SIN Calcular el seno de ngulos como nmeros en coma flotante (32 bits) ...................................................................................................... 8-12 COS Calcular el coseno de ngulos como nmeros en coma flotante (32 bits) ...................................................................................................... 8-13 TAN Calcular la tangente de ngulos como nmeros en coma flotante (32 bits) ...................................................................................................... 8-14 ASIN Calcular el arcoseno de un nmero en coma flotante (32 bits) ........ 8-15 ACOS Calcular el arcocoseno de un nmero en coma flotante (32 bits) ... 8-16 ATAN Calcular la arcotangente de un nmero en coma flotante (32 bits) ...................................................................................................... 8-17 9-1
Operaciones de carga y transferencia 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 9.10 9.11 9.12 9.13 9.14 9.15 9.16
Lista de operaciones de cargar y transferencia ............................................. 9-1 L Cargar .................................................................................................... 9-2 L STW Cargar palabra de estado en ACU 1............................................... 9-4 LAR1 Cargar registro de direcciones 1 con contenido del ACU 1 ............... 9-5 LAR1 <D> Cargar registro de direcciones 1 con puntero (formato de 32 bits)....................................................................................... 9-5 LAR1 AR2 Cargar registro de direcciones 1 con contenido del registro de direcciones 2 ......................................................................... 9-6 LAR2 Cargar registro de direcciones 2 con contenido del ACU 1 ............... 9-6 LAR2 <D> Cargar registro de direcciones 2 con puntero (formato de 32 bits)....................................................................................... 9-7 T Transferir................................................................................................ 9-8 T STW Transferir ACU 1 a la palabra de estado......................................... 9-9 TAR Intercambiar registro de direcciones 1 y registro de direcciones 2 .....9-10 TAR1 Transferir registro de direcciones 1 a ACU 1 ...................................9-10 TAR1 <D> Transferir registro de direcciones 1 a direccin de destino (puntero de 32 bits).....................................................................9-11 TAR1 AR2 Transferir registro de direcciones 1 a registro de direcciones 2 ..........................................................................................9-12 TAR2 Transferir registro de direcciones 2 a ACU 1 ...................................9-12 TAR2 <D> Transferir registro de direcciones 2 a direccin de destino (puntero de 32 bits).....................................................................9-13
xi
Contenido
10
Control de programa 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 10.10 10.11 10.12 10.13 10.14 10.15 10.16 10.17 10.18 10.19
10-1
Lista de operaciones de control del programa ..............................................10-1 BE Fin de bloque ......................................................................................10-2 BEB Fin de bloque condicionado ..............................................................10-3 BEA Fin de bloque incondicionado............................................................10-4 CALL Llamada..........................................................................................10-5 Llamar a un FB............................................................................................10-8 Llamar a una FC........................................................................................10-10 Llamar a un SFB........................................................................................10-11 Llamar a una SFC .....................................................................................10-13 Llamar a una multiinstancia .......................................................................10-14 Llamar a un bloque de una librera.............................................................10-14 CC Llamada condicionada ......................................................................10-15 UC Llamada incondicionada ...................................................................10-16 El MCR (Master Control Relay)..................................................................10-17 Notas importantes sobre el uso de la funcin MCR ....................................10-19 MCR( Almacenar el RLO en pila MCR, inicio rea MCR..........................10-20 )MCR Fin rea MCR ...............................................................................10-21 MCRA Activar rea MCR ........................................................................10-22 MCRD Desactivar rea MCR ..................................................................10-23 11-1
11
Operaciones de desplazamiento y rotacin 11.1 11.1.1 11.1.2 11.1.3 11.1.4 11.1.5 11.1.6 11.1.7 11.2 11.2.1 11.2.2 11.2.3 11.2.4 11.2.5
Operaciones de desplazamiento..................................................................11-1 Lista de operaciones de desplazamiento .................................................... 11-1 SSI Desplazar signo de nmero entero a la derecha (16 bits) ................. 11-2 SSD Desplazar signo de nmero entero a la derecha (32 bits)................. 11-3 SLW Desplazar palabra a la izquierda (16 bits) ........................................ 11-4 SRW Desplazar palabra a la derecha (16 bits) ......................................... 11-6 SLD Desplazar doble palabra a la izquierda (32 bits) .............................. 11-7 SRD Desplazar doble palabra a la derecha (32 bits) ................................ 11-8 Operaciones de rotacin............................................................................11-10 Lista de operaciones de rotacin .............................................................. 11-10 RLD Rotar doble palabra a la izquierda (32 bits) .................................... 11-10 RRD Rotar doble palabra a la derecha (32 bits) ..................................... 11-11 RLDA Rotar ACU 1 a la izquierda va A1 (32 bits) .................................. 11-13 RRDA Rotar ACU 1 a la derecha va A1 (32 bits) ................................... 11-14 12-1
12
Operaciones de temporizacin 12.1 12.2 12.3 12.4 12.5 12.6 12.7 12.8 12.9 12.10 12.11
Lista de operaciones de temporizacin ........................................................12-1 Area de memoria y componentes de un temporizador..................................12-1 FR Habilitar temporizador .........................................................................12-5 L Cargar valor actual del temporizador en ACU 1 como entero ................12-7 LC Cargar el valor actual de temporizacin en ACU 1 como nmero BCD ......................................................................................12-9 R Desactivar temporizador......................................................................12-10 SI Temporizador como impulso...............................................................12-10 SV Temporizador como impulso prolongado ...........................................12-12 SE Temporizador como retardo a la conexin.........................................12-14 SS Temporizador como retardo a la conexin con memoria....................12-16 SA Temporizador como retardo a la desconexin ...................................12-18 13-1
13
Operaciones lgicas con palabras 13.1 13.2 13.3 13.4 13.5 13.6 13.7
Lista de operaciones lgicas con palabras ...................................................13-1 UW Y con palabra (16 bits) .......................................................................13-2 OW O con palabra (16 bits).......................................................................13-3 XOW O-exclusiva con palabra (16 bits).....................................................13-4 UD Y con doble palabra (32 bits) ..............................................................13-5 OD O con doble palabra (32 bits)..............................................................13-6 XOD O-exclusiva con doble palabra (32 bits) ............................................13-7
Lista de instrucciones (AWL) para S7-300 y S7-400 A5E00068878-02
xii
Contenido
14
Operaciones con acumuladores 14.1 14.2 14.3 14.4 14.5 14.6 14.7 14.8 14.9 14.10 14.11 14.12 14.13 14.14 14.15
14-1
Lista de operaciones con acumuladores ......................................................14-1 TAK Intercambiar ACU 1 y ACU 2.............................................................14-2 PUSH CPU con dos acumuladores ...........................................................14-3 PUSH CPU con cuatro acumuladores.......................................................14-4 POP CPU con dos acumuladores .............................................................14-5 POP CPU con cuatro acumuladores .........................................................14-6 ENT Introducir pila de ACU.......................................................................14-7 LEAVE Salir de la pila de ACU..................................................................14-7 INC Incrementar ACU 1-L-L ......................................................................14-8 DEC Decrementar ACU 1-L-L ...................................................................14-9 AR1 Sumar el ACU 1 al registro de direcciones 1....................................14-10 AR2 Sumar el ACU1 al registro de direcciones 2.....................................14-11 BLD Estructuracin de imagen (operacin nula)......................................14-12 NOP 0 Operacin nula 0 .........................................................................14-13 NOP 1 Operacin nula 1 .........................................................................14-13 A-1
Operaciones AWL ordenadas segn la nemotcnica alemana (SIMATIC)..... A-1 Operaciones AWL ordenadas segn la nemotcnica inglesa (internacional) . A-7 B-1
Lista de ejemplos de programacin............................................................... B-1 Ejemplos: Operaciones lgicas con bits ........................................................ B-2 Ejemplo: Operaciones de temporizacin ....................................................... B-5 Ejemplo: Operaciones de contaje y comparacin .......................................... B-8 Ejemplo: Operaciones de aritmtca con enteros ........................................... B-9 Ejemplo: Operaciones lgicas con palabras................................................ B-10 Indice-1
Indice alfabtico
xiii
Contenido
xiv
1.1
Descripcin
Las operaciones lgicas con bits operan con dos dgitos, 1 y 0. Estos dos dgitos consituyen la base de un sistema numrico denominado sistema binario. Los dos dgitos 1 y 0 se denominan dgitos binarios o bits. En el mbito de los contactos y bobinas, un 1 significa activado (conductor) y un 0 significa desactivado (no conductor). Las operaciones lgicas con bits interpretan los estados de seal 1 y 0, y los combinan de acuerdo con la lgica de Boole. Estas combinaciones producen un 1 un 0 como resultado y se denominan resultado lgico (RLO). Las operaciones lgicas con bits permiten ejecutar las ms diversas funciones. Las operaciones bsicas para las operaciones lgicas con bits son: U UN O ON X XN Y Y-No O O-No O-exclusiva O-exclusiva-No
Las siguientes operaciones permiten ejecutar una cadena lgica encerrada entre parntesis: U( UN( O( ON( X( XN( ) Y con abrir parntesis Y-No con abrir parntesis O con abrir parntesis O-No con abrir parntesis O-exclusiva con abrir parntesis O-exclusiva-NO con abrir parntesis Cerrar parntesis
1-1
Para terminar una cadena lgica se puede utilizar una de las tres operaciones: = R S Asignar Desactivar Activar
Las operaciones siguientes permiten modificar el resultado lgico (RLO): NOT SET CLR SAVE Negar el RLO Activar el RLO (=1) Desactivar RLO (=0) Memorizar el RLO en el registro RB
Otras operaciones detectan cambios en el resultado lgico y reaccionan correspondientemente: FN FP Flanco negativo Flanco positivo
1-2
1.2
Formato
U <bit>
Operando
<bit>
Tipo de datos
BOOL
Area de memoria
E, A, M, L, D, T, Z
Descripcin de la operacin
U consulta el bit direccionado para saber si tiene el estado de seal "1", y combina el resultado de la consulta con el RLO realizando una Y lgica. Utilizando la operacin Y tambin se puede consultar directamente la palabra de estado. A tal fin, emplense los siguientes operandos: ==0, <>0, >0, <0, >=0, <=0, UO, RB, OS, OV.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
x
STA
x
RLO
x
/ER
1
Ejemplo
3URJUDPD$:/ (VTXHPDGHFRQH[LRQHVGHUHOp
%DUUDGHDOLPHQWDFLyQ
(
((VWDGRGHVHxDO
(
((VWDGRGHVHxDO
$
$(VWDGRGHVHxDO
,QGLFDXQFRQWDFWRFHUUDGR
1-3
1.3
UN
Y-No
Formato
UN <bit>
Operando
<bit>
Tipo de datos
BOOL
Area de memoria
E, A, M, L, D, T, Z
Descripcin de la operacin
UN consulta el bit direccionado para saber si tiene el estado de seal "0" y combina el resultado de la consulta con el RLO realizando una Y lgica. Con la operacin Y-No tambin se puede consultar directamente la palabra de estado. A tal fin, emplense los siguientes operandos: ==0, <>0, >0, <0, >=0, <=0, UO, RB, OS, OV.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
x
STA
x
RLO
x
/ER
1
Ejemplo
3URJUDPD$:/ (VTXHPDGHFRQH[LRQHVGHUHOp
(
&RQWDFWR QRUPDODELHUWR
$
%RELQD
1-4
1.4
Formato
O <bit>
Operando
<Bit>
Tipo de datos
BOOL
Area de memoria
E, A, M, L, D, T, Z
Descripcin de la operacin
O consulta el bit direccionado para saber si tiene el estado de seal "1", y combina el resultado de la consulta con el RLO realizando una O lgica.
Con la operacin O tambin se puede consultar directamente la palabra de estado. A tal fin, emplense los siguientes operandos: ==0, <>0, >0, <0, >=0, <=0, UO, RB, OS, OV.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
0
STA
x
RLO
x
/ER
1
Ejemplo
3URJUDPD$:/ (VTXHPDFRQH[LRQHVGHUHOp
(
(
$
$(VWDGRGHVHxDO
%RELQD
,QGLFDXQFRQWDFWRFHUUDGR
1-5
1.5
ON
O-No
Formato
ON <bit>
Operando
<bit>
Tipo de datos
BOOL
Area de memoria
E, A, M, L, D, T, Z
Descripcin de la operacin
ON consulta el bit direccionado para saber si tiene el estado de seal "0", y combina el resultado de la consulta con el RLO realizando una O lgica. Con la operacin O-No tambin se puede consultar directamente la palabra de estado. A tal fin, emplense los siguientes operandos: ==0, <>0, >0, <0, >=0, <=0, UO, RB, OS, OV.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
0
STA
x
RLO
x
/ER
1
Ejemplo
3URJUDPD$:/ (VTXHPDGHFRQH[LRQHVGHUHOp
%DUUDGHDOLPHQWDFLyQ &RQWDFWR 2 ( ( (VWDGRGHVHxDO QRUPDOP DELHUWR &RQWDFWR QRUPDOP FHUUDGR $ (VWDGRGHVHxDO
$
%RELQD
1-6
1.6
O-exclusiva
Formato
X <bit>
Operando
<bit>
Tipo de datos
BOOL
Area de memoria
E, A, M, L, D, T, Z
Descripcin de la operacin
X consulta el bit direccionado para saber si su estado de seal es "1", y combina el resultado de la consulta con el RLO realizando una operacin lgica O-exclusiva. La funcin O-exclusiva se puede utilizar varias veces consecutivas. Entonces el resultado lgico comn ser "1" si un nmero impar de los operandos consultados da un "1" como resultado. Aplicando la operacin O-exclusiva tambin se puede consultar directamente la palabra de estado. A tal fin, emplense los siguientes operandos: ==0, <>0, >0, <0, >=0, <=0, UO, RB, OS, OV.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
0
STA
x
RLO
x
/ER
1
Ejemplo
3URJUDPD$:/ (VTXHPDGHFRQH[LRQHVGHUHOp
%DUUDGHDOLPHQWDFLyQ
(
&RQWDFWR(
(
&RQWDFWR(
$
$ %RELQD
1-7
1.7
XN
O-exclusiva-NO
Formato
XN <bit>
Operando
<bit>
Tipo de datos
BOOL
Area de memoria
E, A, M, L, D, T, Z
Descripcin de la operacin
XN consulta el bit direccionado para saber si tiene el estado de seal "0", y combina el resultado de la consulta con el RLO realizando una operacin lgica O-exclusiva. Aplicando la operacin O-exclusiva-NO tambin se puede consultar directamente la palabra de estado. A tal fin, emplense los siguientes operandos: ==0, <>0, >0, <0, >=0, <=0, UO, RB, OS, OV.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
0
STA
x
RLO
x
/ER
1
Ejemplo
3URJUDPD$:/ (VTXHPDGHFRQH[LRQHVGHUHOp
%DUUDGHDOLPHQWDFLyQ
(
&RQWDFWR(
;1
(
&RQWDFWR(
$
$ %RELQD
1-8
1.8
Y antes de O
Formato
O
Descripcin de la operacin
La operacin O realiza una O lgica de combinaciones Y siguiendo la regla Y antes de O.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
x
STA
1
RLO
-
/ER
x
Ejemplo
3URJUDPD$:/ (VTXHPDGHFRQH[LRQHVGHUHOp
%DUUDGHDOLPHQWDFLyQ
8 8
( 0
0 (
(
0
$
$ %RELQD
1-9
1.9
U(
Formato
U(
Descripcin de la operacin
U( (Y con abrir parntesis) almacena en la pila de parntesis los bits RLO y OR y un identificador de la operacin. La pila de parntesis puede contener un mximo de 7 entradas.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
0
STA
1
RLO
-
/ER
0
Ejemplo
3URJUDPD$:/ (VTXHPDGHFRQH[LRQHVGHUHOp
%DUUDGHDOLPHQWDFLyQ
0
0
$
$ %RELQD
1-10
1.10
UN(
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
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
0
STA
1
RLO
-
/ER
0
1-11
1.11
O(
Formato
O(
Descripcin de la operacin
O( (O con abrir parntesis) almacena en la pila de parntesis los bits RLO y OR y el identificador de la operacin. La pila de parntesis puede contener un mximo de 7 entradas.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
0
STA
1
RLO
-
/ER
0
1.12
ON(
Formato
ON(
Descripcin de la operacin
ON( (O-No con abrir parntesis) almacena en la pila de parntesis los bits RLO y OR y un identificador de la operacin. La pila de parntesis puede contener un mximo de 7 entradas.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
0
STA
1
RLO
-
/ER
0
1-12
1.13
X(
Formato
X(
Descripcin de la operacin
X( (O-exclusiva con abrir parntesis) almacena en la pila de parntesis los bits RLO y OR y un identificador de la operacin. La pila de parntesis puede contener un mximo de 7 entradas.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
0
STA
1
RLO
-
/ER
0
1.14
XN(
Formato
XN(
Descripcin de la operacin
XN( (O-exclusiva-NO con abrir parntesis) almacena en la pila de parntesis los bits RLO y OR y un identificador de la operacin. La pila de parntesis puede contener un mximo de 7 entradas.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
0
STA
1
RLO
-
/ER
0
1-13
1.15
Cerrar parntesis
Formato
)
Descripcin de la operacin
) (Cerrar parntesis) borra una entrada de la pila de parntesis, restablece el bit OR, combina el RLO que hay en la entrada de pila con el RLO actual conforme al identificador de la operacin y asigna el resultado al RLO. Si el identificador de la operacin es Y o Y-No tambin se tiene en cuenta el bit OR. Operaciones para abrir parntesis: U( UN( O( ON( X( XN( Y con abrir parntesis Y-No con abrir parntesis O con abrir parntesis O-No con abrir parntesis O-exclusiva con abrir parntesis O-exclusiva-NO con abrir parntesis
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
x
STA
1
RLO
x
/ER
1
Ejemplo
3URJUDPD$:/
0
0
$
$ %RELQD
1-14
1.16
Asignar
Formato
= <bit>
Operando
<bit>
Tipo de datos
BOOL
Area de memoria
E, A, M, L, D, T, Z
Descripcin de la operacin
= <bit> escribe el RLO en el bit direccionado si el Master Control Relay est conectado (MCR = 1). Si el MCR es 0, en el bit direccionado se escribe el valor "0" en vez del RLO.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
0
STA
x
RLO
-
/ER
0
Ejemplo
3URJUDPD$:/
( $
'LDJUDPDVGHOHVWDGRGHVH
DO
1-15
1.17
Desactivar
Formato
R <bit>
Operando
<bit>
Tipo de datos
BOOL
Area de memoria
E, A, M, L, D
Descripcin de la operacin
R (Desactivar bit) escribe el valor "0" en el bit direccionado si el RLO es 1 y si el Master Control Relay (MCR = 1) est conectado. Si el MCR es 0, el bit direccionado no vara.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
0
STA
x
RLO
-
/ER
0
Ejemplo
3URJUDPD$:/
8 6 8 5 ( $ ( $ ( &RQWDFWRDELHUWR $ (
(VTXHPDGHFRQH[LRQHVGHUHOp
%DUUDGHDOLPHQWDFLyQ
'LDJUDPDVGHOHVWDGRGHVHxDO
( ( $ $ %RELQDV &RQWDFWRFHUUDGR
1-16
1.18
Activar
Formato
S <bit>
Operando
<bit>
Tipo de datos
BOOL
Area de memoria
E, A, M, L, D
Descripcin de la operacin
S (Activar bit) escribe el valor "1" en el bit direccionado si el RLO es 1 y si el Master Control Relay (MCR = 1) est conectado. Si el MCR es 0, el bit direccionado no vara.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
0
STA
x
RLO
-
/ER
0
Ejemplo
3URJUDPD$:/
8 6 8 5 ( $ ( $ ( &RQWDFWRDELHUWR $ (
(VTXHPDGHFRQH[LRQHVGHUHOp
%DUUDGHDOLPHQWDFLyQ
'LDJUDPDVGHOHVWDGRGHVHxDO
( ( $ $ %RELQDV &RQWDFWRFHUUDGR
1-17
1.19
NOT
Negar el RLO
Formato
NOT
Descripcin de la operacin
NOT niega el RLO.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
1
RLO
x
/ER
-
1.20
SET
Formato
SET
Descripcin de la operacin
SET pone el RLO al estado de seal "1".
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
0
STA
1
RLO
1
/ER
0
Ejemplo
3URJUDPD$:/
6(7 0 0 0 &/5
(VWDGRGHVHxDO
5HVXOWDGROyJLFR5/2
0 0
1-18
1.21
Formato
CLR
CLR
Descripcin de la operacin
CLR pone el RLO al estado de seal "0".
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
0
STA
0
RLO
0
/ER
0
Ejemplo
3URJUDPD$:/
6(7 0 0 0 &/5
(VWDGRGHVHxDO
5HVXOWDGROyJLFR5/2
0 0
1-19
1.22
SAVE
Formato
SAVE
Descripcin de la operacin
SAVE almacena el RLO (resultado lgico) en el bit RB (bit de resultado binario). El bit de primera consulta /ER no se pone a 0. Por esta razn, en el caso de una operacin lgica Y (AND) se combinar tambin el estado del bit RB en el siguiente segmento. No se recomienda utilizar SAVE y consultar directamente despus el bit RB en el mismo bloque o en bloques subordinados, ya que el bit RB puede ser modificado entretanto por muchas operaciones. Resulta conveniente usar SAVE antes de salir de un bloque, ya que as la salida ENO (bit RB) se pone al valor del bit RLO, lo que permite tratar a continuacin los errores del bloque.
Palabra de estado
RB
se escribe: x
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
1-20
1.23
FN
Flanco negativo
Formato
FN <bit>
Operando
<bit>
Tipo de datos
BOOL
Descripcin de la operacin
FN <bit> (Flanco negativo) detecta un flanco negativo si el RLO cambia de "1" a "0", y lo indica con RLO = 1. El estado de seal del bit RLO se compara durante cada ciclo del programa con el estado de seal del bit RLO del ciclo anterior para determinar los cambios de estado. Para poder ejecutar la comparacin hay que almacenar el estado del bit RLO anterior en la direccin de la marca de flancos (<bit>). Si el estado de seal actual del bit RLO es distinto que el estado anterior ("1") (deteccin de un flanco negativo), tras ejecutarse esta operacin el bit RLO ser "1".
Nota Esta operacin no conviene ejecutarla si el bit que se est vigilando se encuentra en la imagen del proceso, ya que los datos locales de un bloque slo son vlidos mientras se ejecuta dicho bloque.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
0
STA
x
RLO
x
/ER
1
1-21
Definicin
)ODQFRSRVLWLYR 5/2 )ODQFRQHJDWLYR
7LHPSR
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.
3URJUDPD$:/
'LDJUDPDVGHOHVWDGRGHVHxDO
(
(
)1
0
0
$
$
GHFLFORGHO2%
1-22
1.24
FP
Flanco positivo
Formato
FP <bit>
Operando
<bit>
Tipo de datos
BOOL
Descripcin de la operacin
FP <bit> (Flanco positivo) detecta un flanco positivo si el RLO cambia de "0" a "1", y lo indica con RLO = 1. El estado de seal del bit RLO se compara durante cada ciclo del programa con el estado de seal del bit RLO del ciclo anterior para determinar los cambios de estado. Para poder ejecutar la comparacin hay que almacenar el estado del bit RLO anterior en la direccin de la marca de flancos (<bit>). Si el estado de seal actual del bit RLO es distinto que el estado anterior ("0") (deteccin de un flanco positivo), tras ejecutarse esta operacin el bit RLO ser "1".
Nota Esta operacin no conviene ejecutarla si el bit que se est vigilando se encuentra en la imagen del proceso, ya que los datos locales de un bloque slo son vlidos durante la ejecucin del bloque.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
0
STA
x
RLO
x
/ER
1
1-23
Definition
Flanco positivo RLO Flanco negativo
1
0 Tiempo
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.
3URJUDPD$:/
'LDJUDPDVGHOHVWDGRGHVHxDO
(
(
)3
0
0
$
$
GHFLFORGHO2%
1-24
Operaciones de comparacin
2.1
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 ACU 2 ACU 2 ACU 2 ACU 2 ACU 2 es igual al ACU 1 es diferente al ACU 1 es mayor que ACU 1 es menor que ACU 1 es mayor que o igual al ACU 1 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
2-1
Operaciones de comparacin
2.2
?I
Comparar enteros
Formato
==I, <>I, >I, <I, >=I, <=I
Descripcin de la operacin
Las operaciones Comparar enteros (de 16 bits) comparan el contenido del ACU2-L con el contenido del ACU1-L. Los contenidos de ACU2-L y ACU1-L se evalan como enteros (de 16 bits). El RLO y los bits relevantes de la palabra de estado indican el resultado de la comparacin. RLO = 1 indica que el resultado de la comparacin es verdadero. RLO = 0 indica que el resultado de la comparacin es falso. Los bits A1 y A0 de la palabra de estado indican la relacin "menor que", "igual que" o "mayor que".
Palabra de estado
RB
se escribe: -
A1
x
A0
x
OV
0
OS
-
OR
0
STA
x
RLO
x
/ER
1
Ejemplo
AWL L L >I = MW10 EW24 M 2.0 Explicacin Cargar el contenido de MW10 (entero de 16 bits). Cargar el contenido de EW24 (entero de 16 bits). Comparar si el ACU2-L (MW10) es mayor (>) que el ACU1-L (EW24). RLO = 1, si MW10 > EW24.
2-2
Operaciones de comparacin
2.3
?D
Formato
==D, <>D, >D, <D, >=D, <=D
Descripcin de la operacin
Las operaciones Comparar enteros dobles comparan el contenido del ACU 2 con el contenido del ACU 1. Los contenidos del ACU 2 y del ACU 1 se evalan como enteros (de 32 bits). El RLO y los bits relevantes de la palabra de estado indican el resultado de la comparacin. RLO = 1 indica que el resultado de la comparacin es verdadero. RLO = 0 indica que el resultado de la comparacin es falso. Los bits A1 y A0 de la palabra de estado indican la relacin "menor que", "igual" o "mayor que".
Palabra de estado
RB
se escribe: -
A1
x
A0
x
OV
0
OS
-
OR
0
STA
x
RLO
x
/ER
1
Ejemplo
AWL L L >D = MD10 ED24 M 2.0 Explicacin Cargar el contenido de MD10 (entero de 32 bits). Cargar el contenido de ED24 (entero de 32 bits). Comparar si el ACU 2 (MD10) es mayor (>) que el ACU RLO = 1, si MD10 > ED24.
1 (ED24).
2-3
Operaciones de comparacin
2.4
?R
Formato
==R, <>R, >R, <R, >=R, <=R
Descripcin de la operacin
Las operaciones Comparar nmeros en coma flotante (32 bits, IEEE-FP) comparan el contenido del ACU 2 con el contenido del ACU 1. Los contenidos del ACU 1 y del ACU 2 se evalan como nmeros en coma flotante (32 bits, IEEE-FP). El RLO y los bits relevantes de la palabra de estado indican el resultado de la comparacin. RLO = 1 indica que el resultado de la comparacin es verdadero. RLO = 0 indica que el resultado de la comparacin es falso. Los bits A1 y A0 de la palabra de estado indican la relacin "menor que", "igual que" o "mayor que".
Palabra de estado
RB
se escribe: -
A1
x
A0
x
OV
x
OS
x
OR
0
STA
x
RLO
x
/ER
1
Ejemplo
AWL L L >R = MD10 1.359E+02 M 2.0 Explicacin Cargar el contenido de MD10 (nmero real). Cargar la constante 1.359E+02. Comparar si el ACU 2 (MD10) es mayor (>) que el ACU 1 (1.359E+02). RLO = 1, si MD10 > 1.359E+02.
2-4
Operaciones de conversin
3.1
Descripcin
Las siguientes operaciones se utilizan para convertir nmeros decimales codificados en binario y enteros a otros tipos de nmeros: BTI ITB BTD ITD DTB DTR Convertir BCD a entero Convertir entero en BCD Convertir nmero BCD a entero doble Convertir entero en entero doble Convertir entero doble en BCD Convertir entero doble en nmero en coma flotante (32 bits, IEEE-FP)
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-FP)
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-FP 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 RNDRedondear un nmero real al prximo entero inferior
3-1
Operaciones de conversin
3.2
BTI
Formato
BTI
Descripcin de la operacin
BTI (Conversin de un nmero BCD de tres dgitos en un nmero entero) evala el contenido del ACU1-L en formato de nmero decimal codificado en binario (BCD) de tres dgitos y convierte ese nmero en un entero (de 16 bits). El resultado se almacena en el ACU1-L. El ACU1-H y el ACU 2 no se alteran. Nmero BCD en el ACU1-L: valores admisibles de "-999" a "+999". Los bits 0 a 11 indican el valor del nmero BCD, y el bit 15 el signo del mismo (0 = positivo, 1 = negativo). Los bits 12 a 14 no se utilizan al efectuar la conversin. Si un dgito (una tetrada de 4 bits en el formato BCD) del nmero BCD est dentro del margen invlido de 10 a 15 se producir un error BCDF al intentar efectuar la conversin. En este caso, el autmata programable cambia generalmente al estado operativo STOP. No obstante, utilizando el OB121 se puede programar una reaccin diferente a este error sncrono.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
Ejemplo
AWL L BTI T MW10 Explicacin Cargar el nmero BCD en el ACU1-L. Convertir el nmero BCD en nmero entero, almacenar el resultado en el ACU1-L. Transferir el resultado (entero de 16 bits) a MW20.
MW20
"9" ...8
0 0 1
"1" 7...
0 0 0 1 0
"5" ...0
1 0 1
"+915" BCD
BTI
MW20
0 0 0 0 0
"+915" Entero
3-2
Operaciones de conversin
3.3
ITB
Formato
ITB
Descripcin de la operacin
ITB (Conversin de un entero de 16 bits en nmero de formato BCD) evala el contenido del ACU1- L como nmero entero (16 bits) y convierte ese nmero en el correspondiente nmero decimal codificado en binario de tres dgitos (BCD). El resultado se almacena en el ACU1-L. Los bits 0 a 11 indican el valor del nmero BCD; los bits 12 a 15 indican el signo del mismo (0000 = positivo, 1111 = negativo). ACU1-H y ACU 2 no se alteran. El nmero BCD puede tener un valor dentro del margen entre "-999" y "+999". Si el nmero se encuentra fuera del margen admisible, los bits OV y OS de la palabra de estado se ponen a "1".
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
x
OS
x
OR
-
STA
-
RLO
-
/ER
-
Ejemplo
AWL L ITB T MW10 Explicacin Cargar el entero en el ACU1-L. Convertir el entero (16 bits) en nmero BCD, almacenar el resultado en el ACU1-L. Transferir el resultado (nmero BCD) a MW20.
MW20
15... MW10
1 1 1 1 1 1 1
...8
0
7...
0 1 1 0 0 0 1
...0
1
"-413" Entero
ITB
MW20
1 1 1 1
"-413" BCD
"-"
"4"
"1"
"3"
3-3
Operaciones de conversin
3.4
BTD
Formato
BTD
Descripcin de la operacin
BTD (Conversin de un nmero BCD de siete dgitos en un nmero entero doble) evala el contenido del ACU 1 en formato de nmero decimal codificado en binario (BCD) de siete dgitos y convierte ese nmero en un entero doble (32 bits). El resultado se almacena en el ACU 1. El ACU 2 no se altera. Nmero BCD en el ACU 1: valores admisibles de "-9,999,999" a "+9,999,999". Los bits 0 a 27 indican el valor del nmero BCD, y el bit 31 indica el signo del mismo (0 = positivo, 1 = negativo). Los bits 28 a 30 no se utilizan en la conversin. Si una cifra decimal (una tetrada de 4 bits en la representacin BCD) est dentro del margen invlido de 10 a 15 se producir un error BCDF al intentar efectuar la conversin. En este caso, el autmata programable cambia generalmente al estado operativo STOP. No obstante, utilizando el OB121 se puede programar una reaccin diferente a este error sncrono.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
Ejemplo
AWL L BTD T MD10 Explicacin Cargar el nmero BCD en el ACU 1. Convertir el nmero BCD en nmero entero, almacenar el resultado en el ACU 1. Transferir el resultado (en formato de entero doble) a MD20.
MD20
"0"
"1"
"5"
"7"
"8"
"2"
...16 15...
0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 1 1 1 0 0 0 0 0 1 0 0 0 0 1
BTD
MD20
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 1 0 0 0 0 1 1 1 1 1 0 1
"+157821"
3-4
Operaciones de conversin
3.5
ITD
Formato
ITD
Descripcin de la operacin
ITD (Convertir un entero en un entero doble) evala el contenido del ACU1-L como entero de 16 bits y convierte este nmero en entero de 32 bits. El resultado se almacena en el ACU 1. El ACU 2 no se altera.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
Ejemplo
AWL L ITD T MW12 Explicacin Cargar el entero (16 bits) en el ACU 1-L. Convertir el entero de 16 bits en un entero de 32 resultado en el ACU 1. Transferir el resultado (entero doble) a MD20. bits, almacenar el
MD20
ACU1-H
31 . . . XXXX 1111 .. XXXX 1111 .. XXXX 1111 . . . 16 XXXX 1111
ACU1-L
15 . . . 1111 1111 .. 1111 1111 .. 1111 1111 ...0 0110 0110
3-5
Operaciones de conversin
3.6
DTB
Formato
DTB
Descripcin de la operacin
DTB (Conversin de un entero doble en el correspondiente nmero con formato BCD) evala el contenido del ACU 1 como entero (de 32 bits) y convierte ese nmero en el correspondiente decimal codificado en binario de siete dgitos. El resultado se almacena en el ACU 1. Los bits 0 a 27 indican el valor del nmero BCD. Los bits 28 a 31 indican el signo del nmero BCD (0000 = positivo, 1111 = negativo). El ACU 2 no se altera. El nmero BCD puede estar dentro del margen de valores entre "-9,999,999" y "+9,999,999". Si el nmero se encuentra fuera del margen admisible los bits OV y OS de la palabra de estado se ponen a "1".
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
x
OS
x
OR
-
STA
-
RLO
-
/ER
-
Ejemplo
AWL L DTB T MD10 Explicacin Cargar el entero (32 bits) en el ACU 1. Convertir el entero (32 bits) en un nmero BCD, almacenar el resultado en el ACU 1. Transferir el resultado (nmero BCD) a MD20.
MD20
31... MD10
...16 15...
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 0 0 0 0 1 1
DTB
MD20
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1
"-"
"0"
"0"
"0"
"0"
"7"
"0"
3-6
Operaciones de conversin
3.7
DTR Convertir entero doble en nmero en coma flotante (32 bits, IEEE-FP)
Formato
DTR
Descripcin de la operacin
DTR (Convertir entero de 32 bits en un nmero en coma flotante de 32 bits, IEEE-FP) 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-FP). 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-FP). El resultado se almacena en el ACU 1.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
Ejemplo
AWL L DTR T MD10 Explicacin Cargar el entero (32 bits) en el ACU 1. Convertir el entero (32 bits) en un nmero en coma flotante (32 IEEE- FP), almacenar el resultado en el ACU 1. Transferir el resultado (nmero BCD) a MD20. bits,
MD20
MD10
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 0 0
DTR
MD20
Convertir entero doble (32-bits) en nmero de coma flotante (32-bits) 31 30... 22...
0 1 0 0 0 0 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3-7
Operaciones de conversin
3.8
INVI
Formato
INVI
Descripcin de la operacin
INVI (Complemento a uno de entero de 16 bits) calcula el complemento a uno de un valor de 16 bits en el ACU 1-L; al realizar esta operacin se invierten todos los bits, es decir, los ceros se sustituyen por unos, y viceversa. El resultado se almacena en el ACU1-L.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
Ejemplo
AWL L INVI T EW8 MW10 Explicacin Cargar el valor en el ACU1-L. Formar el complemento a uno (16 Transferir el resultado a MW10. bits).
Contenido
Bit antes de ejecutar INVI despus de ejecutar INVI
ACU1-L
15 . . . 0110 1001 .. 0011 1100 .. 1010 0101 ...0 1110 0001
3-8
Operaciones de conversin
3.9
INVD
Formato
INVD
Descripcin de la operacin
INVD (Complemento a 1 de un entero doble) calcula el complemento a uno de un valor de 32 bits en el ACU 1; al realizar esta operacin se invierten todos los bits, es decir, los ceros se sustituyen por unos, y viceversa. El resultado se almacena en el ACU 1.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
Ejemplo
AWL L INVD T ED8 MD10 Explicacin Cargar el valor en el ACU 1. Formar el complemento a uno (32 Transferir el resultado a MD10. bits).
Contenido
Bit antes de ejecutar INVD despus de ejecutar INVD
ACU1-H
31 . . . 0110 1001 .. 1111 0000 .. 1000 0111 . . . 16 1100 0011
ACU1-L
15 . . . 0110 1001 .. 0011 1100 .. 1010 0101 ...0 1110 0001
3-9
Operaciones de conversin
3.10
NEGI
Formato
NEGI
Descripcin de la operacin
NEGI (Complemento a dos de un entero) calcula el complemento a dos de un valor de 16 bits en el ACU1-L; al realizar esta operacin se invierten todos los bits, es decir, los ceros se sustituyen por unos, y viceversa. Seguidamente se suma un "1". El resultado se almacena en el ACU1-L. La operacin Complemento a dos de un entero equivale a una multiplicacin por "-1". Una vez ejecutada la operacin se activan los bits A1, A0, OS y OV de la palabra de estado.
Palabra de estado
RB
se escribe: -
A1
x
A0
x
OV
x
OS
x
OR
-
STA
-
RLO
-
/ER
-
A1
0 0 1 0
A0
0 1 0 1
OV
0 0 0 1
OS
1
Ejemplo
AWL L NEGI T EW8 MW10 Explicacin Cargar el valor en el ACU1-L. Formar el complemento a dos (16 Transferir el resultado a MW10. bits).
Contenido
Bit antes de ejecutar NEGI despus de ejecutar NEGI
ACU1-L
15 . . . 0101 1010 .. 1101 0010 .. 0011 1100 ...0 1000 1000
3-10
Operaciones de conversin
3.11
NEGD
Formato
NEGD
Descripcin de la operacin
NEGD (Complemento a dos de un entero doble) calcula el complemento a dos de un valor de 32 bits en el ACU 1; al realizar esta operacin se invierten todos los bits, es decir, los ceros se sustituyen por unos, y viceversa. Seguidamente se suma un "1". El resultado se almacena en el ACU 1. La operacin Complemento a dos de un entero doble equivale a una multiplicacin por "-1". Una vez ejecutada la operacin se activan los bits A1, A0, OS y OV de la palabra de estado.
Palabra de estado
RB
se escribe: -
A1
x
A0
x
OV
x
OS
x
OR
-
STA
-
RLO
-
/ER
-
A1
0 0 1 0
A0
0 1 0 1
OV
0 0 0 1
OS
1
Ejemplo
AWL L NEGD T ED8 MD10 Explicacin Cargar el valor en el ACU 1. Formar el complemento a dos (32 Transferir el resultado a MD10. bits).
Contenido
Bit antes de ejecutar NEGD despus de ejecutar NEGD
ACU1-H
31 . . . 0101 1010 .. 1111 0000 .. 0110 1001 . . . 16 0100 1011
ACU1-L
15 . . . 0101 1010 .. 1101 0010 .. 0011 1100 ...0 1000 1000
3-11
Operaciones de conversin
3.12
Formato
NEGR
Descripcin de la operacin
NEGR (Invertir un nmero en coma flotante de 32 bits, IEEE-FP) invierte el nmero en coma flotante (32 bits, IEEE- FP) en el ACU 1. La operacin invierte el estado del bit 31 en el ACU 1 (signo de la mantisa). El resultado se almacena en el ACU 1.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
Ejemplo
AWL L NEGR T ED8 Explicacin Cargar el valor en el ACU 1 (ejemplo: ED8 = 1.5E+02). Invertir nmero en coma flotante (32 bits, IEEE-FP), almacenar el resultado en el ACU 1. Transferir el resultado a MD10 (ejemplo: resultado = - 1.5E+02).
MD10
3-12
Operaciones de conversin
3.13
TAW
Formato
TAW
Descripcin de la operacin
TAW invierte el orden de los bytes en el ACU1-L. El resultado se almacena en el ACU1-L. El ACU1-H y el ACU 2 no se alteran. El contenido de ACU1-L-H se desplaza a: ACU1-L-L. El contenido de ACU1-L-L se desplaza a: ACU1-L-H.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
Ejemplo
AWL L TAW T MW10 MW20 Explicacin Cargar el valor de MW10 en el ACU 1. Invertir el orden de los bytes en el ACU1-L. Transferir el resultado a MW20.
Contenido
antes de ejecutar la operacin TAW despus de ejecutar la operacin TAW
ACU 1-H-H
valor A valor A
ACU 1-H-L
valor B valor B
ACU 1-L-H
valor C valor D
ACU 1-L-L
valor D valor C
3-13
Operaciones de conversin
3.14
TAD
Formato
TAD
Descripcin de la operacin
TAD invierte el orden de los bytes en el ACU 1. El resultado se almacena en el ACU 1. El ACU 2 no se altera.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
Ejemplo
AWL L TAD T MD10 MD20 Explicacin Cargar el valor de MD10 en el ACU 1. Invertir el orden de los bytes en el ACU Transferir el resultado a MD20. 1.
Contenido
antes de ejecutar la operacin TAD despus de ejecutar la operacin TAD
ACU 1-H-H
valor A valor D
ACU 1-H-L
valor B valor C
ACU 1-L-H
valor C valor B
ACU 1-L-L
valor D valor A
3-14
Operaciones de conversin
3.15
RND
Formato
RND
Descripcin de la operacin
RND (Conversin de un nmero en coma flotante (32 bits, IEEE-FP) en un entero de 32 bits) evala el contenido del ACU 1 como nmero en coma flotante (32 bits, IEEE-FP); la operacin convierte a continuacin el nmero en coma flotante (32 bits, IEEE- FP) en el correspondiente nmero entero (32 bits), y redondea el resultado al nmero entero ms prximo. Si la fraccin del nmero convertido se encuentra exactamente en medio de un resultado par y de un resultado impar, la operacin redondea al resultado par. Si el nmero est fuera del margen admisible, los bits OV y OS de la palabra de estado se ponen a "1". Si se produce un error (una NaN o un nmero en coma flotante que no se pueda representar como entero de 32 bits), no se ejecuta la conversin y se seala un desbordamiento.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
x
OS
x
OR
-
STA
-
RLO
-
/ER
-
Ejemplo
AWL L RND MD10 Explicacin Cargar el nmero en coma flotante (32 bits, IEEE-FP) en el ACU1-L. Convertir el nmero en coma flotante (32 bits, IEEE-FP) en entero de 32 bits y redondear el resultado. Almacenar el resultado en el ACU1. Transferir el resultado (entero de 32 bits) a MD20.
MD20
3-15
Operaciones de conversin
3.16
TRUNC
Truncar
Formato
TRUNC
Descripcin de la operacin
TRUNC (Conversin de un nmero en coma flotante (32 bits, IEEE-FP) en un entero de 32 bits) evala el contenido del ACU 1 como nmero en coma flotante (32 bits, IEEE-FP); la operacin convierte a continuacin el nmero en coma flotante (32 bits, IEEE-FP) en entero (32 bits). El resultado es la parte entera del nmero en coma flotante convertido (modo de redondeo IEEE 'Round to Zero'). Si el nmero est fuera del margen admisible, los bits OV y OS de la palabra de estado se ponen a "1". El resultado se almacena en el ACU 1. Si se produce un error (una NaN o un nmero en coma flotante que no se pueda representar como entero de 32 bits), no se ejecuta la conversin y se seala un desbordamiento.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
x
OS
x
OR
-
STA
-
RLO
-
/ER
-
Ejemplo
AWL L TRUNC MD10 Explicacin Cargar el nmero en coma flotante (32 bits, IEEE-FP) en el ACU1-L. Convertir el nmero en coma flotante (32 bits, IEEE-FP) en entero de 32 bits y redondear el resultado. Almacenar el resultado en el ACU1. Transferir el resultado (entero de 32 bits) a MD20.
MD20
3-16
Operaciones de conversin
3.17
Formato
RND+
Descripcin de la operacin
RND+ (Conversin de un nmero en coma flotante (32 bits, IEEE-FP) en un entero de 32 bits) evala el contenido del ACU 1 como nmero en coma flotante (32 bits, IEEE-FP); la operacin convierte a continuacin el nmero en coma flotante (32 bits, IEEE-FP) en entero (32 bits) y redondea el resultado al prximo nmero entero que sea mayor o igual al nmero en coma flotante convertido (modo de redondeo IEEE "Round to +infinity"). Si el nmero est fuera del margen admisible, los bits OV y OS de la palabra de estado se ponen a "1". El resultado se almacena en el ACU 1. Si se produce un error (una NaN o un nmero en coma flotante que no se pueda representar como entero de 32 bits), no se ejecuta la conversin y se seala un desbordamiento.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
x
OS
x
OR
-
STA
-
RLO
-
/ER
-
Ejemplo
AWL L RND+ MD10 Explicacin Cargar el nmero en coma flotante (32 bits, IEEE-FP) en el ACU1-L. Convertir el nmero en coma flotante (32 bits, IEEE-FP) en entero de 32 bits y redondear el resultado. Almacenar el resultado en el ACU1. Transferir el resultado (entero de 32 bits) a MD20.
MD20
3-17
Operaciones de conversin
3.18
RND-
Formato
RND-
Descripcin de la operacin
RND- (Conversin de un nmero en coma flotante (32 bits, IEEE-FP) en un entero de 32 bits) evala el contenido del ACU 1 como nmero en coma flotante (32 bits, IEEE-FP); la operacin convierte a continuacin el nmero en coma flotante (32 bits, IEEE-FP) en entero (32 bits) y redondea el resultado al prximo nmero entero que sea menor o igual al nmero en coma flotante convertido (modo de redondeo IEEE "Round to +infinity"). Si el nmero est fuera del margen admisible, los bits OV y OS de la palabra de estado se ponen a "1". El resultado se almacena en el ACU 1. Si se produce un error (una NaN o un nmero en coma flotante que no se pueda representar como entero de 32 bits), no se ejecuta la conversin y se seala un desbordamiento.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
x
OS
x
OR
-
STA
-
RLO
-
/ER
-
Ejemplo
AWL L RNDMD10 Explicacin Cargar el nmero en coma flotante (32 bits, IEEE-FP) en el ACU1-L. Convertir el nmero en coma flotante (32 bits, IEEE-FP) en entero (32 bits) y redondear el resultado. Almacenar el resultado en el ACU1. Transferir el resultado (entero de 32 bits) a MD20.
MD20
3-18
Operaciones de contaje
4.1
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 S Desactivar contador Poner contador al valor inicial
4-1
Operaciones de contaje
4.2
FR
Habilitar contador
Formato
FR <contador>
Operando
<contador>
Tipo de datos
COUNTER
Area de memoria
Z
Descripcin
Contador; el rea vara segn la CPU utilizada.
Descripcin de la operacin
Si el RLO cambia de "0" a "1", la operacin FR <contador> borra la marca de flancos que el contador direccionado pone en incrementar / decrementar contador. No es necesario habilitar un contador para activarlo ni para ejecutar la funcin normal de contaje. Es decir, aunque el RLO sea constantemente 1 en las instrucciones Poner contador al valor inicial, Incrementar contador o Decrementar contador, despus de la habilitacin se vuelven a ejecutar estas operaciones.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
0
STA
-
RLO
-
/ER
0
Ejemplo
AWL U FR E 2.0 Z3 Explicacin Consultar el estado de seal en la entrada E 2.0. Habilitar el contador Z3 si el RLO cambia de "0" a "1".
4-2
Operaciones de contaje
4.3
Formato
L <contador>
Operando
<contador>
Tipo de datos
COUNTER
Area de memoria
Z
Descripcin
Contador; el rea vara segn la CPU utilizada.
Descripcin de la operacin
L <contador> carga el valor de contaje del contador direccionado en forma de nmero entero en ACU1-L, despus de que se haya almacenado el contenido del ACU 1 en el ACU 2.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
Ejemplo
AWL L Z3 Explicacin Cargar el valor de contaje del contador Z3 en formato binario en el ACU1-L.
15
14
13
12
11
10
Z3
11
10
4-3
Operaciones de contaje
4.4
Formato
LC <contador>
Operando
<contador>
Tipo de datos
COUNTER
Area de memoria
Z
Descripcin
Contador; el rea vara segn la CPU utilizada.
Descripcin de la operacin
LC <contador> carga el valor de contaje del contador direccionado en formato BCD en el ACU 1, despus de que se haya almacenado el contenido del ACU 1 en el ACU 2.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
Ejemplo
AWL LC Z3 Explicacin Cargar el valor de contaje del contador Z3 en formato BCD en ACU1-L.
15
14
13
12
11
10
LC
Z3
0 2
15
0 2
14
0 2
13
0 2
12
11
2
2
10
2
1
2
0
10 Centenas
10 Decenas
10 Unidades
4-4
Operaciones de contaje
4.5
Desactivar contador
Formato
R <contador>
Operando
<contador>
Tipo de datos
COUNTER
Area de memoria
Z
Descripcin
Contador a desactivar; el rea vara segn la CPU utilizada.
Descripcin de la operacin
R <contador> carga el valor de contaje "0" en el contador direccionado, si el RLO es 1.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
0
STA
-
RLO
-
/ER
0
Ejemplo
AWL U R E 2.3 Z3 Explicacin Consultar el estado de seal en la entrada E 2.3. Poner el contador Z3 al valor "0" si el RLO cambia de "0" a "1".
4-5
Operaciones de contaje
4.6
Formato
S <contador>
Operando
<contador>
Tipo de datos
COUNTER
Area de memoria
Z
Descripcin
Contador a predeterminar; el rea vara segn la CPU utilizada.
Descripcin de la operacin
S <contador> carga el valor de contaje del ACU1-L en el contador direccionado, si el RLO cambia de "0" a "1". El valor de contaje en el ACU 1 tiene que estar en formato BCD y tener un valor entre "0" y 999.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
0
STA
-
RLO
-
/ER
0
Ejemplo
AWL U L S E 2.3 C#3 Z1 Explicacin Consultar el estado de seal de la entrada E 2.3. Cargar el valor de contaje 3 en el ACU1-L. Poner el contador Z1 al valor de contaje si el RLO cambia de "0" a "1".
4-6
Operaciones de contaje
4.7
ZV
Incrementar contador
Formato
ZV <contador>
Operando
<contador>
Tipo de datos
COUNTER
Area de memoria
Z
Descripcin
Contador; el rea vara segn la CPU utilizada.
Descripcin de la operacin
ZV <contador> incrementa en "1" el valor de contaje del contador direccionado si el RLO cambia de "0" a "1" y el valor de contaje es menor que "999". Cuando el valor de contaje llegue al valor lmite superior "999" dejar de incrementarse; los cambios posteriores del RLO no tendrn efecto alguno. El bit de desbordamiento (OV) no se activa.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
0
STA
-
RLO
-
/ER
0
Ejemplo
AWL U ZV E 2.1 Z3 Explicacin Consultar el estado de seal en la entrada E 2.1. Incrementar en 1 el valor del contador Z3 si el RLO cambia de "0" a "1".
4-7
Operaciones de contaje
4.8
ZR
Decrementar contador
Formato
ZR <contador>
Operando
<contador>
Tipo de datos
COUNTER
Area de memoria
Z
Descripcin
Contador; el rea vara segn la CPU utilizada.
Descripcin de la operacin
ZR <contador> decrementa en "1" el valor de contaje del contador direccionado si el RLO cambia de "0" a "1" y el valor de contaje es mayor que "0". Cuando el valor de contaje llega al valor lmite inferior "0" deja de decrementarse; los cambios posteriores del RLO no tendrn efecto alguno, ya que el contador no opera con valores negativos.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
0
STA
-
RLO
-
/ER
0
Ejemplo
AWL L U S U ZR UN = C#14 E 0.1 Z1 E 0.0 Z1 Z1 A 0.0 Explicacin Valor preajustado del contador. Contador preajustado tras detectar un flanco positivo en la entrada E 0.1. Cargar el contador Z1 con el preajuste, si ste est habilitado. Decrementar en "1" cada vez que se d un flanco positivo en E 0.0. Decrementar en "1" el contador Z1 si el RLO cambia de "0" a "1" (en funcin de la entrada E 0.0). Deteccin de cero mediante el bit Z1. A 0.0 es 1 si el valor del contador Z1 es "0".
4-8
5.1
Descripcin
La operacin AUF (Abrir bloque de datos) sirve para abrir un bloque de datos global o un bloque de datos de instancia. En el programa pueden estar abiertos simultneamente un bloque de datos global y un bloque de instancia. Se dispone de las operaciones con bloques siguientes: AUF TDB Abrir bloque de datos Intercambiar bloque de datos global y bloque de datos de instancia
L DBLG Cargar la longitud del DB global en el ACU 1 L DBNO Cargar nmero del bloque de datos global en ACU 1 L DILG L DINO Cargar longitud del bloque de datos de instancia en ACU 1 Cargar nmero del bloque de datos de instancia en ACU 1
5-1
5.2
AUF
Formato
AUF <bloque de datos>
Operando
<bloque de datos>
Direccin fuente
De 1 a 65.535
Descripcin de la operacin
AUF <bloque de datos> abre un bloque de datos como bloque de datos global o como bloque de datos de instancia. Pueden estar abiertos simultneamente un bloque de datos global y un bloque de datos de instancia, respectivamente.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
Ejemplo
AWL AUF L T AUF L T DB10 DBW35 MW22 DI20 DIB12 DBB37 Explicacin Abrir el bloque de datos DB10 como bloque de datos global. Cargar en ACU1-L la palabra de datos DBW35 del bloque de datos abierto. Transferir el contenido del ACU1-L a la palabra de marcas MW22. Abrir el bloque de datos DB20 como bloque de datos de instancia. Cargar en el ACU1-L-L el byte de datos DIB12 del bloque de datos de instancia abierto. Transferir el contenido del ACU1-L-L al byte de datos DBB37 del bloque de datos global abierto.
5-2
5.3
Formato
TDB
Descripcin de la operacin
TDB intercambia los registros de los bloques de datos. Al efectuarse la permutacin, un bloque de datos global en un bloque de datos de instancia, y viceversa.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
5.4
L DBLG
Formato
L DBLG
Descripcin de la operacin
L DBLG (Cargar la longitud del bloque de datos global) carga la longitud del bloque de datos global en el ACU 1, despus de que se haya almacenado el contenido del ACU 1 en el ACU 2.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
Ejemplo
AWL AUF L L <D SPB DB10 DBLG MD10 ERRO Explicacin Abrir el bloque de datos DB10 como bloque de datos global. Cargar la longitud del bloque de datos global (longitud de DB10). Valor para comparar si el bloque de datos es suficientemente largo. Saltar a meta ERRO si la longitud es menor que el valor en MD10.
5-3
5.5
Formato
L DBNO
Descripcin de la operacin
L DBNO (Cargar el nmero del bloque de datos global) carga en el ACU1 el nmero del bloque de datos global que est abierto, despus de que se haya almacenado el contenido del ACU 1 en el ACU 2.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
5.6
L DILG 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
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
Ejemplo
AWL AUF L L <I SPB DI20 DILG MW10 ERRO Explicacin Abrir el bloque de datos DB20 como bloque de datos de instancia. Cargar la longitud del bloque de datos de instancia (longitud de DB20). Valor para comparar si el bloque de datos es suficientemente largo. Saltar a meta ERRO si la longitud es menor que el valor en MW10.
5-4
5.7
L DINO 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
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
5-5
5-6
Operaciones de salto
6.1
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 SPL Salto incondicionado 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 SPBN SPBB Saltar si RLO = 1 Saltar si RLO = 0 Saltar si RLO = 1 y salvaguardar RLO en RB
6-1
Operaciones de salto
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 SPBI Salto incondicionado Saltar si RB = 1
Las siguientes operaciones de salto interrumpen el desarrollo del programa en funcin del resultado de una operacin anterior: SPZ SPN SPP SPM Saltar si el resultado = 0 Saltar si resultado <> 0 Saltar si el resultado > 0 Saltar si resultado < 0
SPPZ Saltar si el resultado >= 0 SPMZ Saltar si el resultado <= 0 SPU Saltar si el resultado no es vlido
6-2
Operaciones de salto
6.2
SPA
Salto incondicionado
Formato
SPA <meta>
Descripcin de la operacin
SPA <meta> interrumpe la ejecucin lineal del programa y salta a la meta que se haya indicado, independientemente de cul sea el contenido de la palabra de estado. La ejecucin lineal del programa contina en la meta del salto, que est sealada por una marca. Se puede saltar tanto hacia adelante como hacia atrs. Los saltos slo pueden ser ejecutados dentro de un bloque; esto implica que tanto la instruccin del salto como su meta tienen que encontrarse dentro del mismo bloque. La meta del salto slo puede estar representada una sola vez dentro de este bloque. La distancia mxima del salto es de 32768 +32767 palabras del cdigo de programa. El nmero mximo efectivo de las instrucciones que se pueden saltar depende de cul sea la combinacin de las instrucciones dentro del programa (instrucciones de una, dos o tres palabras).
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
Ejemplo
AWL U U SPB L INC T SPA L T U E 1.0 E 1.2 DELE MB10 1 MB10 FORW 0 MB10 E 2.1 Explicacin
DELE: FORW:
La ejecucin del programa contina aqu despus de haber saltado a la meta FORW.
6-3
Operaciones de salto
6.3
SPL
Formato
SPL <meta>
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.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
Ejemplo
AWL L SPL SPA SPA SPA SPA SPA * * SPA * * SPA * * SPA * * MB0 LSTX SEG0 SEG1 COMM SEG3 COMM Explicacin Cargar el nmero de la meta del salto en el ACU1-L-L. Meta del salto si el ACU1-L-L es > 3. Meta del salto si ACU1-L-L = 0. Meta del salto si ACU1-L-L = 1. Meta del salto si ACU1-L-L = 2. Meta del salto si ACU1-L-L = 3. Instruccin permitida. COMM Instruccin permitida. COMM Instruccin permitida. COMM
LSTX: SEG0:
SEG1:
SEG3:
COMM:
6-4
Operaciones de salto
6.4
SPB
Saltar si RLO = 1
Formato
SPB <meta>
Descripcin de la operacin
Si el RLO es 1, la operacin SPB <meta> interrumpe la ejecucin lineal del programa y salta a la meta que se haya indicado. La ejecucin lineal del programa contina en la meta del salto, que est sealada por una marca. Se puede saltar tanto hacia adelante como hacia atrs. Los saltos slo pueden ser ejecutados dentro de un bloque; esto implica que tanto la instruccin del salto como su meta tienen que encontrarse dentro del mismo bloque. La meta del salto slo puede estar representada una sola vez dentro de este bloque. La distancia mxima del salto es de - 32768 +32767 palabras del cdigo de programa. El nmero mximo efectivo de las instrucciones que se pueden saltar depende de cul sea la combinacin de las instrucciones dentro del programa (instrucciones de una, dos o tres palabras). Si el RLO es 0 no se ejecuta el salto. El RLO se pone a "1" y la ejecucin del programa contina con la instruccin siguiente.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
0
STA
1
RLO
1
/ER
0
Ejemplo
AWL U U SPB L T U E 1.0 E 1.2 JOVR EW8 MW22 E 2.1 Explicacin
Saltar a la meta JOVR si RLO = 1 La ejecucin del programa contina aqu en caso de que no se ejecute el salto. La ejecucin del programa contina aqu despus de haber saltado a la meta JOVR.
JOVR:
6-5
Operaciones de salto
6.5
SPBN
Saltar si RLO = 0
Formato
SPBN <meta>
Descripcin de la operacin
Si el RLO es 0, la operacin SPBN <meta> interrumpe la ejecucin lineal del programa y salta a la meta que se haya indicado. La ejecucin lineal del programa contina en la meta del salto, que est sealada por una marca. Se puede saltar tanto hacia adelante como hacia atrs. Los saltos slo pueden ser ejecutados dentro de un bloque; esto implica que tanto la instruccin del salto como su meta tienen que encontrarse dentro del mismo bloque. La meta del salto slo puede estar representada una sola vez dentro de este bloque. La distancia mxima del salto es de - 32768 +32767 palabras del cdigo de programa. El nmero mximo efectivo de las instrucciones que se pueden saltar depende de cul sea la combinacin de las instrucciones dentro del programa (instrucciones de una, dos o tres palabras). Si el RLO es 1 no se ejecuta el salto. La ejecucin del programa contina con la instruccin siguiente.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
0
STA
1
RLO
1
/ER
0
Ejemplo
AWL U U SPBN L T U E 1.0 E 1.2 JOVR EW8 MW22 E 2.1 Explicacin
Saltar, si el RLO = 0, a la meta JOVR. La ejecucin del programa contina aqu en caso de no ejecutarse el salto. La ejecucin del programa contina aqu despus de haber saltado a la meta JOVR.
JOVR:
6-6
Operaciones de salto
6.6
SPBB
Formato
SPBB <meta>
Descripcin de la operacin
Si el RLO es 1, la operacin SPBB <meta> interrumpe la ejecucin lineal del programa y salta a la meta que se haya indicado. La ejecucin lineal del programa contina en la meta del salto, que est sealada por una marca. Se puede saltar tanto hacia adelante como hacia atrs. Los saltos slo pueden ser ejecutados dentro de un bloque; esto implica que tanto la instruccin del salto como su meta tienen que encontrarse dentro del mismo bloque. La meta del salto slo puede estar representada una sola vez dentro de este bloque. La distancia mxima del salto es de - 32768 +32767 palabras del cdigo de programa. El nmero mximo efectivo de las instrucciones que se pueden saltar depende de cul sea la combinacin de las instrucciones dentro del programa (instrucciones de una, dos o tres palabras). Si el RLO es 0 no se ejecuta el salto. El RLO se pone a "1" y la ejecucin del programa contina con la instruccin siguiente. Independientemente de cul sea el RLO, al ejecutarse la operacin SPBB <meta> se copia el RLO en el RB.
Palabra de estado
RB
se escribe: x
A1
-
A0
-
OV
-
OS
-
OR
0
STA
1
RLO
1
/ER
0
Ejemplo
AWL U U SPBB L T U E 1.0 E 1.2 JOVR EW8 MW22 E 2.1 Explicacin
Si el RLO = 1, saltar a la meta JOVR. Copiar el contenido del bit RLO en el bit RB. La ejecucin del programa contina aqu en caso de que no se ejecute el salto. La ejecucin del programa contina aqu despus de haber saltado a la meta JOVR.
JOVR:
6-7
Operaciones de salto
6.7
SPBNB
Formato
SPBNB <meta>
Descripcin de la operacin
Si el RLO es 0, la operacin SPBNB <meta> interrumpe la ejecucin lineal del programa y salta a la meta que se haya indicado. La ejecucin lineal del programa contina en la meta del salto, que est sealada por una marca. Se puede saltar tanto hacia adelante como hacia atrs. Los saltos slo pueden ser ejecutados dentro de un bloque; esto implica que tanto la instruccin del salto como su meta tienen que encontrarse dentro del mismo bloque. La meta del salto slo puede estar representada una sola vez dentro de este bloque. La distancia mxima del salto es de - 32768 +32767 palabras del cdigo de programa. El nmero mximo efectivo de las instrucciones que se pueden saltar depende de cul sea la combinacin de las instrucciones dentro del programa (instrucciones de una, dos o tres palabras). Si el RLO es 1 no se ejecuta la operacin; el RLO se pone a "1" y la ejecucin del programa contina con la instruccin siguiente. Independientemente de cul sea el RLO, al realizarse la operacin SPBNB <meta > el RLO se copia automticamente en el RB.
Palabra de estado
RB
se escribe: x
A1
-
A0
-
OV
-
OS
-
OR
0
STA
1
RLO
1
/ER
0
Ejemplo
AWL U U SPBNB L T U E 1.0 E 1.2 JOVR EW MW22 E 2.1 Explicacin
Si RLO = 0, saltar a la meta JOVR; copiar el contenido del bit RLO en el bit RB. La ejecucin del programa contina aqu en caso de no ejecutarse el salto. La ejecucin del programa contina aqu despus de haber saltado a la meta JOVR.
JOVR:
6-8
Operaciones de salto
6.8
SPBI
Saltar si RB = 1
Formato
SPBI <meta>
Descripcin de la operacin
Si el bit RB de la palabra de estado es 1, la operacin SPBI <meta> interrumpe la ejecucin lineal del programa y salta a la meta que se haya indicado. La ejecucin lineal del programa contina en la meta del salto, que est sealada por una marca. Se puede saltar tanto hacia adelante como hacia atrs. Los saltos slo pueden ser ejecutados dentro de un bloque; esto implica que tanto la instruccin del salto como su meta tienen que encontrarse dentro del mismo bloque. La meta del salto slo puede estar representada una sola vez dentro de este bloque. La distancia mxima del salto es de - 32768 +32767 palabras del cdigo de programa. El nmero mximo efectivo de las instrucciones que se pueden saltar depende de cul sea la combinacin de las instrucciones dentro del programa (instrucciones de una, dos o tres palabras).
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
0
STA
1
RLO
-
/ER
0
6.9
SPBIN
Saltar si RB = 0
Formato
SPBIN <meta>
Descripcin de la operacin
Si el bit RB de la palabra de estado es 0, la operacin SPBIN <meta> interrumpe la ejecucin lineal del programa y salta a la meta que se haya indicado. La ejecucin lineal del programa contina en la meta del salto, que est sealada por una marca. Se puede saltar tanto hacia adelante como hacia atrs. Los saltos slo pueden ser ejecutados dentro de un bloque; esto implica que tanto la instruccin del salto como su meta tienen que encontrarse dentro del mismo bloque. La meta del salto slo puede estar representada una sola vez dentro de este bloque. La distancia mxima del salto es de - 32768 +32767 palabras del cdigo de programa. El nmero mximo efectivo de las instrucciones que se pueden saltar depende de cul sea la combinacin de las instrucciones dentro del programa (instrucciones de una, dos o tres palabras).
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
0
STA
1
RLO
-
/ER
0
6-9
Operaciones de salto
6.10
SPO
Saltar si OV = 1
Formato
SPO <meta>
Descripcin de la operacin
Si el bit OV de la palabra de estado es 1, la operacin SPO <meta> interrumpe la ejecucin lineal del programa y salta a la meta que se haya indicado. La ejecucin lineal del programa contina en la meta del salto, que est sealada por una marca. Se puede saltar tanto hacia adelante como hacia atrs. Los saltos slo pueden ser ejecutados dentro de un bloque; esto implica que tanto la instruccin del salto como su meta tienen que encontrarse dentro del mismo bloque. La meta del salto slo puede estar representada una sola vez dentro de este bloque. La distancia mxima del salto es de - 32768 +32767 palabras del cdigo de programa. El nmero mximo efectivo de las instrucciones que se pueden saltar depende de cul sea la combinacin de las instrucciones dentro del programa (instrucciones de una, dos o tres palabras). Si se trata de una operacin aritmtica compuesta hay que asegurarse de que despus de cada una de las operaciones aritmticas no se produzca ningn desbordamiento, a fin de garantizar que cada resultado parcial quede dentro del margen admisible; de lo contrario habr que utilizar la operacin SPS.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
Ejemplo
AWL L L *I SPO T U R SPA UN S NOP 0 MW10 3 OVER MW10 M 4.0 M 4.0 NEXT M 4.0 M 4.0 La ejecucin del programa contina aqu despus de haber saltado a la meta NEXT. Multiplicar el contenido de MW10 por "3". Saltar si el resultado excede el margen mximo (OV = 1). La ejecucin del programa contina aqu en caso de no ejecutarse el salto. Explicacin
OVER:
La ejecucin del programa contina aqu despus de haber saltado a la meta OVER.
NEXT:
6-10
Operaciones de salto
6.11
SPS
Saltar si OS = 1
Formato
SPS <meta>
Descripcin de la operacin
Si el bit OS de la palabra de estado es 1, la operacin SPS <meta> interrumpe la ejecucin lineal del programa y salta a la meta que se haya indicado. La ejecucin lineal del programa contina en la meta del salto, que est sealada por una marca. Se puede saltar tanto hacia adelante como hacia atrs. Los saltos slo pueden ser ejecutados dentro de un bloque; esto implica que tanto la instruccin del salto como su meta tienen que encontrarse dentro del mismo bloque. La meta del salto slo puede estar representada una sola vez dentro de este bloque. La distancia mxima del salto es de - 32768 +32767 palabras del cdigo de programa. El nmero mximo efectivo de las instrucciones que se pueden saltar depende de cul sea la combinacin de las instrucciones dentro del programa (instrucciones de una, dos o tres palabras).
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
0
OR
-
STA
-
RLO
-
/ER
-
Ejemplo
AWL L L *I L +I L -I SPS T U R SPA UN S NOP 0 EW10 MW12 DBW25 MW14 OVER MW16 M 4.0 M 4.0 NEXT M 4.0 M 4.0 La ejecucin del programa contina aqu despus de haber saltado a la meta NEXT. Saltar si se produce desbordamiento en una de las 3 operaciones, OS = 1, (vase la nota). La ejecucin del programa contina aqu en caso de no ejecutarse el salto. Explicacin
OVER:
La ejecucin del programa contina aqu despus de haber saltado a la meta OVER.
NEXT:
Nota En este caso no debe emplearse la operacin SPO. La operacin SPO slo consultara la operacin precedente -I en caso de un desbordamiento.
6-11
Operaciones de salto
6.12
SPZ
Saltar si el resultado = 0
Formato
SPZ <meta>
Descripcin de la operacin
Si los bits de la palabra de estado A1 = 0 y A0 = 0, la operacin SPZ <meta> interrumpe la ejecucin lineal del programa y salta a la meta que se haya indicado. La ejecucin lineal del programa contina en la meta del salto, que est sealada por una marca. Se puede saltar tanto hacia adelante como hacia atrs. Los saltos slo pueden ser ejecutados dentro de un bloque; esto implica que tanto la instruccin del salto como su meta tienen que encontrarse dentro del mismo bloque. La meta del salto slo puede estar representada una sola vez dentro de este bloque. La distancia mxima del salto es de - 32768 +32767 palabras del cdigo de programa. El nmero mximo efectivo de las instrucciones que se pueden saltar depende de cul sea la combinacin de las instrucciones dentro del programa (instrucciones de una, dos o tres palabras).
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
Ejemplo
AWL L SRW SPZ L INC T SPA L INC T NOP 0 MW10 1 ZERO MW2 1 MW2 NEXT MW4 1 MW4 La ejecucin del programa contina aqu despus de haber saltado a la meta NEXT. Explicacin
Saltar a la meta ZERO si el bit desplazado es 0. La ejecucin del programa contina aqu en caso de no ejecutarse el salto.
ZERO:
La ejecucin del programa contina aqu despus de haber saltado a la meta ZERO.
NEXT:
6-12
Operaciones de salto
6.13
SPN
Formato
SPN <meta>
Descripcin de la operacin
Si el resultado indicado por los bits A1 y A0 de la palabra de estado es mayor o menor que cero (A1 = 0/A0 = 1 A1 = 1/A0 = 0), la operacin SPN <meta> (Saltar si el resultado <> 0) interrumpe la ejecucin lineal del programa y salta a la meta que se haya indicado. La ejecucin lineal del programa contina en la meta del salto, que est sealada por una marca. Se puede saltar tanto hacia adelante como hacia atrs. Los saltos slo pueden ser ejecutados dentro de un bloque; esto implica que tanto la instruccin del salto como su meta tienen que encontrarse dentro del mismo bloque. La meta del salto slo puede estar representada una sola vez dentro de este bloque. La distancia mxima del salto es de - 32768 +32767 palabras del cdigo de programa. El nmero mximo efectivo de las instrucciones que se pueden saltar depende de cul sea la combinacin de las instrucciones dentro del programa (instrucciones de una, dos o tres palabras).
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
Ejemplo
AWL L L XOW SPN UN S SPA UN S NOP 0 EW8 MW12 NOZE M 4.0 M 4.0 NEXT M 4.1 M 4.1 La ejecucin del programa contina aqu despus de haber saltado a la meta NEXT. Saltar si el contenido del ACU1-L no es cero. La ejecucin del programa contina aqu en caso de no ejecutarse el salto. Explicacin
NOZE:
La ejecucin del programa contina aqu despus de haber saltado a la meta NOZE.
NEXT:
6-13
Operaciones de salto
6.14
SPP
Formato
SPP <meta>
Descripcin de la operacin
Si los bits de la palabra de estado A1 = 1 y A0 = 0, la operacin SPP <meta> interrumpe la ejecucin lineal del programa y salta a la meta que se haya indicado. La ejecucin lineal del programa contina en la meta del salto, que est sealada por una marca. Se puede saltar tanto hacia adelante como hacia atrs. Los saltos slo pueden ser ejecutados dentro de un bloque; esto implica que tanto la instruccin del salto como su meta tienen que encontrarse dentro del mismo bloque. La meta del salto slo puede estar representada una sola vez dentro de este bloque. La distancia mxima del salto es de - 32768 +32767 palabras del cdigo de programa. El nmero mximo efectivo de las instrucciones que se pueden saltar depende de cul sea la combinacin de las instrucciones dentro del programa (instrucciones de una, dos o tres palabras).
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
Ejemplo
AWL L L -I SPP UN S SPA UN S NOP 0 EW8 MW12 POS M 4.0 M 4.0 NEXT M 4.1 M 4.1 La ejecucin del programa contina aqu despus de haber saltado a la meta NEXT. Restar el contenido de MW12 del contenido de EW8. Saltar si el resultado > 0 (es decir, si el contenido de ACU 1 > 0). La ejecucin del programa contina aqu en caso de no ejecutarse el salto. Explicacin
POS:
La ejecucin del programa contina aqu despus de haber saltado a la meta POS.
NEXT:
6-14
Operaciones de salto
6.15
SPM
Formato
SPM <meta>
Descripcin de la operacin
Si los bits de la palabra de estado A1 = 0 y A0 = 1, la operacin SPM <meta> interrumpe la ejecucin lineal del programa y salta a la meta que se haya indicado. La ejecucin lineal del programa contina en la meta del salto, que est sealada por una marca. Se puede saltar tanto hacia adelante como hacia atrs. Los saltos slo pueden ser ejecutados dentro de un bloque; esto implica que tanto la instruccin del salto como su meta tienen que encontrarse dentro del mismo bloque. La meta del salto slo puede estar representada una sola vez dentro de este bloque. La distancia mxima del salto es de - 32768 +32767 palabras del cdigo de programa. El nmero mximo efectivo de las instrucciones que se pueden saltar depende de cul sea la combinacin de las instrucciones dentro del programa (instrucciones de una, dos o tres palabras).
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
Ejemplo
AWL L L -I SPM UN S SPA UN S NOP 0 EW8 MW12 NEG M 4.0 M 4.0 NEXT M 4.1 M 4.1 La ejecucin del programa contina aqu despus de haber saltado a la meta NEXT. Restar el contenido de MW12 del contenido de EW8. Saltar si el resultado < 0 (es decir, si el contenido de ACU 1 < 0). La ejecucin del programa contina aqu en caso de no ejecutarse el salto. Explicacin
NEG:
La ejecucin del programa contina aqu despus haber saltado a la meta NEG.
NEXT:
6-15
Operaciones de salto
6.16
SPPZ
Formato
SPPZ <meta>
Descripcin de la operacin
Si el resultado indicado por los bits A1 y A0 de la palabra de estado es mayor o igual que cero (A1 = 0/A0 = 0 A1 = 1/A0 = 0), la operacin SPPZ <meta> (Saltar si el resultado >=0) interrumpe la ejecucin lineal del programa y salta a la meta que se haya indicado. La ejecucin lineal del programa contina en la meta del salto, que est sealada por una marca. Se puede saltar tanto hacia adelante como hacia atrs. Los saltos slo pueden ser ejecutados dentro de un bloque; esto implica que tanto la instruccin del salto como su meta tienen que encontrarse dentro del mismo bloque. La meta del salto slo puede estar representada una sola vez dentro de este bloque. La distancia mxima del salto es de - 32768 +32767 palabras del cdigo de programa. El nmero mximo efectivo de las instrucciones que se pueden saltar depende de cul sea la combinacin de las instrucciones dentro del programa (instrucciones de una, dos o tres palabras).
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
Ejemplo
AWL L L -I SPPZ UN S SPA UN S NOP 0 EW8 MW12 REG0 M 4.0 M 4.0 NEXT M 4.1 M 4.1 La ejecucin del programa contina aqu despus de haber saltado a la meta NEXT. Restar el contenido de MW12 del contenido de EW8. Saltar si el resultado >= 0 (es decir, si el contenido de ACU 1 >= 0). La ejecucin del programa contina aqu en caso de no ejecutarse el salto. Explicacin
REG0:
La ejecucin del programa contina aqu despus de haber saltado a la meta REG0.
NEXT:
6-16
Operaciones de salto
6.17
SPMZ
Formato
SPMZ <meta>
Descripcin de la operacin
Si el resultado indicado por los bits A1 y A0 de la palabra de estado es menor o igual que cero (A1 = 0/A0 = 0 A1 = 0/A0 = 1), la operacin SPMZ <meta> (Saltar si el resultado <=0) interrumpe la ejecucin lineal del programa y salta a la meta que se haya indicado. La ejecucin lineal del programa contina en la meta del salto, que est sealada por una marca. Se puede saltar tanto hacia adelante como hacia atrs. Los saltos slo pueden ser ejecutados dentro de un bloque; esto implica que tanto la instruccin del salto como su meta tienen que encontrarse dentro del mismo bloque. La meta del salto slo puede estar representada una sola vez dentro de este bloque. La distancia mxima del salto es de - 32768 +32767 palabras del cdigo de programa. El nmero mximo efectivo de las instrucciones que se pueden saltar depende de cul sea la combinacin de las instrucciones dentro del programa (instrucciones de una, dos o tres palabras).
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
Ejemplo
AWL L L -I SPMZ UN S SPA UN S NOP 0 EW8 MW12 RGE0 M 4.0 M 4.0 NEXT M 4.1 M 4.1 La ejecucin del programa contina aqu despus de haber saltado a la meta NEXT. Restar el contenido de MW12 del contenido de EW8. Saltar si el resultado <= 0 (es decir, si el contenido de ACU 1 <= 0). La ejecucin del programa contina aqu en caso de no ejecutarse el salto. Explicacin
RGE0:
La ejecucin del programa contina aqu despus de haber saltado a la meta RGE0.
NEXT:
6-17
Operaciones de salto
6.18
SPU
Formato
SPU <meta>
Descripcin de la operacin
Si los bits de la palabra de estado A1 = 1 y A0 = 1, la operacin SPU <meta> interrumpe la ejecucin lineal del programa y salta a la meta que se haya indicado. La ejecucin lineal del programa contina en la meta del salto, que est sealada por una marca. Se puede saltar tanto hacia adelante como hacia atrs. Los saltos slo pueden ser ejecutados dentro de un bloque; esto implica que tanto la instruccin del salto como su meta tienen que encontrarse dentro del mismo bloque. La meta del salto slo puede estar representada una sola vez dentro de este bloque. La distancia mxima del salto es de - 32768 +32767 palabras del cdigo de programa. El nmero mximo efectivo de las instrucciones que se pueden saltar depende de cul sea la combinacin de las instrucciones dentro del programa (instrucciones de una, dos o tres palabras). Los bits de la palabra de estado A1 y A0 se ponen a 1 en los siguientes casos: al dividir por cero, o al utilizar operaciones no permitidas, o cuando una comparacin de nmeros en coma flotante da un resultado"invlido", es decir, al utilizar un formato invlido.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
Ejemplo
AWL L L /D SPU T U R SPA UN S NOP 0 MD10 ED2 ERRO MD14 M 4.0 M 4.0 NEXT M 4.0 M 4.0 La ejecucin del programa contina aqu despus de haber saltado a la meta NEXT. Dividir el contenido de MD10 por el contenido de ED2. Saltar si hay una divisin por cero (es decir, ED2 = "0"). La ejecucin del programa contina aqu en caso de no ejecutarse el salto. Explicacin
ERRO:
La ejecucin del programa contina aqu despus de haber saltado a la meta ERRO.
NEXT:
6-18
Operaciones de salto
6.19
LOOP
Bucle
Formato
LOOP <meta>
Descripcin de la operacin
LOOP <meta> (Decrementar el ACU1-L y saltar, si el ACU1-L <> 0) simplifica la programacin de bucles. El contador de bucles es un entero (de 16 bits) sin signo y se encuentra en el ACU1-L. La instruccin salta a la meta que se haya indicado indicado. El salto se ejecuta mientras el contenido del ACU1-L sea diferente de "0". El desarrollo lineal del programa contina en la meta del salto, que est sealada por una marca. Se puede saltar tanto hacia adelante como hacia atrs. Los saltos slo pueden ser ejecutados dentro de un bloque; esto implica que tanto la instruccin del salto como su meta tienen que encontrarse dentro del mismo bloque. La meta del salto slo puede estar representada una sola vez dentro de este bloque. La distancia mxima del salto es de - 32768 +32767 palabras del cdigo de programa. El nmero mximo efectivo de las instrucciones que se pueden saltar depende de cul sea la combinacin de las instrucciones dentro del programa (instrucciones de una, dos o tres palabras).
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
NEXT:
6-19
Operaciones de salto
6-20
Aritmtica de enteros
7.1
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 -I /I *I + +D -D *D /D Sumar ACU 1 y 2 como entero Restar ACU 1 de ACU 2 como entero Dividir ACU 2 por ACU 1 como entero Multiplicar ACU 1 por ACU 2 como entero Sumar constante entera o entera doble Sumar ACU 1 y 2 como entero doble Restar ACU 1 de ACU 2 como entero doble Multiplicar ACU 1 por ACU 2 como entero doble Dividir ACU 2 por ACU 1 como entero doble
7-1
Aritmtica de enteros
7.2
Descripcin
Las operaciones aritmticas bsicas influyen sobre los siguientes bits de la palabra de datos: A1 y A0 OV OS
Las tablas siguientes muestran el estado de seal de los bits de la palabra de estado para los resultados de las operaciones con nmeros en coma fija (16 bit, 32 bit):
Margen vlido
0 (cero) enteros: 32 768 < =resultado < 0 (nmero negativo) enteros dobles: 2 147 483 648 <=resultado < 0 (nmero negativo) enteros: 32 767 > =resultado > 0 (nmero positivo) enteros dobles: 2 147 483 647 > = resultado > 0 (nmero positivo)
A1
0 0 1
A0
0 1 0
OV
0 0 0
OS
* * *
A1
0
A0
0
OV
1
OS
1
Operacin
+D: resultado = -4 294 967 296 /D o MOD: divisin por cero
A1
0 1
A0
0 1
OV
1 1
OS
1 1
7-2
Aritmtica de enteros
7.3
+I
Formato
+I
Descripcin de la operacin
+I (Sumar enteros) suma el contenido del ACU1-L al contenido del ACU2-L y almacena el resultado en el ACU1-L. Los contenidos del ACU1-L y ACU2-L se evalan como enteros (de 16 bits). La operacin se ejecuta sin tener en cuenta ni afectar al RLO. Una vez realizada la operacin se activan los bits de la palabra de estado A1, A0, OS y OV. En caso de un desbordamiento, ya sea por defecto o por exceso, el resultado de la operacin no es un entero doble (de 32 bits), sino un entero (de 16 bits). En las CPU con dos acumuladores, el contenido del ACU 2 queda inalterado. En las CPU con cuatro acumuladores, se copian los contenidos del ACU 3 al ACU 2 y del ACU 4 al ACU 3. El contenido del ACU 4 queda inalterado.
Palabra de estado
RB
se escribe: -
A1
x
A0
x
OV
x
OS
x
OR
-
STA
-
RLO
-
/ER
-
A1
0 0 1 0 0 1
A0
0 1 0 0 1 0
OV
0 0 0 1 1 1
OS
1 1 1
Ejemplo
AWL L L +I T EW10 MW14 Explicacin El valor de EW10 se carga en el ACU1-L. Cargar el contenido del ACU1-L en el ACU2-L. Cargar el valor de MW14 en el ACU1-L. Sumar ACU2-L y ACU1-L, almacenar el resultado en el ACU1-L. El contenido del ACU1-L (resultado) se transfiere del DB1 a DBW25.
DB1.DBW25
7-3
Aritmtica de enteros
7.4
-I
Formato
-I
Descripcin de la operacin
-I (Restar enteros) resta el contenido del ACU1-L del contenido del ACU2-L y almacena el resultado en el ACU1-L. Los contenidos del ACU1-L y ACU2-L se evalan como enteros (de 16 bits). La operacin se ejecuta sin tener en cuenta ni afectar al RLO. Una vez realizada la operacin se activan los bits de la palabra de estado A1, A0, OS y OV. En caso de producirse un desbordamiento, ya sea por exceso o por defecto, el resultado de la operacin no es un entero doble (de 32 bits), sino un entero (de 16 bits). En las CPU con dos acumuladores, el contenido del ACU 2 queda inalterado. En las CPU con cuatro acumuladores, se copian los contenidos del ACU 3 al ACU 2 y del ACU 4 al ACU 3. El contenido del ACU 4 queda inalterado.
Palabra de estado
RB
se escribe: -
A1
x
A0
x
OV
x
OS
x
OR
-
STA
-
RLO
-
/ER
-
A1
0 0 1 0 1
A0
0 1 0 1 0
OV
0 0 0 1 1
OS
1 1
Ejemplo
AWL L L -I T EW10 MW14 Explicacin El valor de EW10 se carga en el ACU1-L. Cargar el contenido del ACU1-L en el ACU2-L. Cargar el valor de MW14 en el ACU1-L. Restar ACU1-L de ACU2-L, almacenar el resultado en el ACU1-L. El contenido del ACU1-L (resultado) se transfiere del DB1 a DBW25.
DB1.DBW25
7-4
Aritmtica de enteros
7.5
*I
Formato
*I
Descripcin de la operacin
*I (Multiplicar enteros) multiplica el contenido del ACU2-L por el contenido del ACU1-L. Los contenidos del ACU1-L y ACU2-L se evalan como enteros (16 bits). El resultado se almacena como entero doble (32 bits) en el ACU 1. Si los bits de la palabra de estado OV 1 = 1 y OS = 1, el resultado queda fuera del margen vlido para un entero (de 16 bits). La operacin se ejecuta sin tener en cuenta ni afectar al RLO. Una vez realizada la operacin se activan los bits de la palabra de estado A1, A0, OS y OV. En las CPU con dos acumuladores, el contenido del ACU 2 queda inalterado. En las CPU con cuatro acumuladores, se copian los contenidos del ACU 3 al ACU 2 y del ACU 4 al ACU 3. El contenido del ACU 4 queda inalterado.
Palabra de estado
RB
se escribe: -
A1
x
A0
x
OV
x
OS
x
OR
-
STA
-
RLO
-
/ER
-
A1
A0
OV
OS
Resultado = 0 -32768 <= Resultado < 0 32767 >= Resultado > 0 1.073.741.824 >= Resultado > 32767 -1.073.709.056 <= Resultado < -32768
Ejemplo
AWL L L *I T EW10 MW14 Explicacin El valor de EW10 se carga en el ACU1-L. Cargar el contenido del ACU1-L en el ACU 2-L. Cargar el valor de MW14 en el ACU1-L. Multiplicar el ACU2-L por el ACU1-L, almacenar el resultado en el ACU El contenido del ACU 1 (resultado) se transfiere del DB1 a DBD25.
1.
DB1.DBD25
7-5
Aritmtica de enteros
7.6
/I
Formato
/I
Descripcin de la operacin
/I (Dividir enteros) divide el contenido del ACU2-L por el contenido del ACU1-L. Los contenidos de ACU1-L y ACU2-L se evalan como enteros (de 16 bits). El resultado se almacena en el ACU 1 y contiene dos enteros (de 16 bits), el cociente y el resto de la divisin. El cociente se almacena en el ACU1-L y el resto de la divisin en el ACU1-H. La operacin se ejecuta sin tener en cuenta ni afectar al RLO. Una vez realizada la operacin se activan los bits de la palabra de estado A1, A0, OS y OV. En las CPU con dos acumuladores, el contenido del ACU 2 queda inalterado. En las CPU con cuatro acumuladores, se copian los contenidos del ACU 3 al ACU 2 y del ACU 4 al ACU 3. El contenido del ACU 4 queda inalterado.
Palabra de estado
RB
se escribe: -
A1
x
A0
x
OV
x
OS
x
OR
-
STA
-
RLO
-
/ER
-
A1
0 0 1 1 1
A0
0 1 0 0 1
OV
0 0 0 1 1
OS
1 1
Ejemplo
AWL L L /I T MD20 EW10 MW14 Explicacin Cargar el valor de EW10 en el ACU1-L. Cargar el contenido del ACU1-L en el ACU2-L. Cargar el valor de MW14 en el ACU1-L. Dividir ACU2-L por ACU1-L, almacenar el resultado en el ACU 1: ACU1-L: Cociente, ACU1-H: resto de la divisin El contenido del ACU 1 (resultado) se transfiere a MD20.
7-6
Aritmtica de enteros
7.7
Formato
+ <constante entera>
Operando
<constante entera>
Tipo de datos
Constante entera (16 bits) o entera doble (32 bits)
Descripcin
Constante a sumar
Descripcin de la operacin
+ <constante entera> suma la constante entera al contenido del ACU 1 y almacena el resultado en el ACU 1. La operacin se ejecuta sin tener en cuenta ni afectar a los bits de la palabra de estado. 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. + <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. En las CPU con dos acumuladores, los contenidos del ACU 2 y del ACU1-H quedan inalterados. En las CPU con cuatro acumuladores, se copian los contenidos del ACU 3 al ACU 2 y del ACU 4 al ACU 3. Los contenidos del ACU 4 y del ACU1-H quedan inalterados. + <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. En las CPU con dos acumuladores, el contenido del ACU 2 queda inalterado. En las CPU con cuatro acumuladores, se copian los contenidos del ACU 3 al ACU 2 y del ACU 4 al ACU 3. El contenido del ACU 4 queda inalterado.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
7-7
Aritmtica de enteros
Ejemplo 1
AWL L L +I + T EW10 MW14 Explicacin Cargar el valor de EW10 en el ACU1-L. Cargar el contenido del ACU1-L en el ACU2-L. Cargar el valor de MW14 en el ACU1-L. Sumar el ACU2-L y el ACU1-L, almacenar el resultado en el ACU1-L. Sumar el ACU1-L y 25, almacenar el resultado en el ACU1-L. Transferir el contenido de ACU1-L (resultado) del DB 1 a DBW25.
25 DB1.DBW25
Ejemplo 2
AWL L L + >I SPB Explicacin EW12 EW14 100 NEXT
Sumar el ACU1-L y 100, almacenar el resultado en el ACU 1-L. Si el ACU 2 > ACU 1, o si EW 12 > (EW14 + 100), saltar a la meta NEXT.
Ejemplo 3
AWL L L +D + T Explicacin MD20 MD24 L#-200 MD28 Sumar ACU 1 y ACU 2, almacenar el resultado en el ACU 1. Sumar ACU1 y -200, almacenar el resultado en el ACU 1.
7.8
+D
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.
7-8
Aritmtica de enteros
Palabra de estado
RB
se escribe: -
A1
x
A0
x
OV
x
OS
x
OR
-
STA
-
RLO
-
/ER
-
A1
0 0 1 0 0 1
A0
0 1 0 0 1 0
OV
0 0 0 1 1 1
OS
1 1 1
Ejemplo
AWL L L +D T ED10 MD14 Explicacin El valor de ED10 se carga en el ACU 1. Cargar el contenido del ACU 1 en el ACU 2. Cargar el valor de MD14 en el ACU 1. Sumar ACU 2 y ACU 1, almacenar el resultado en el ACU 1. El contenido del ACU 1 (resultado) se transfiere del DB1 a DBD25.
DB1.DBD25
7.9
-D
Formato
-D
Descripcin de la operacin
-D (Restar enteros dobles) resta el contenido del ACU 1 del contenido del ACU 2 y almacena el resultado en el ACU 1. Los contenidos de ACU 1 y ACU 2 se evalan como enteros dobles, es decir, de 32 bits. La operacin se ejecuta sin tener en cuenta ni afectar al RLO. Una vez realizada la operacin se activan los bits de la palabra de estado A1, A0, OS y OV. En las CPU con dos acumuladores, el contenido del ACU 2 queda inalterado. En las CPU con cuatro acumuladores, se copian los contenidos del ACU 3 al ACU 2 y del ACU 4 al ACU 3. El contenido del ACU 4 queda inalterado.
Palabra de estado
RB
se escribe: -
A1
x
A0
x
OV
x
OS
x
OR
-
STA
-
RLO
-
/ER
-
A1
0 0 1 0 1
A0
0 1 0 1 0
OV
0 0 0 1 1
OS
1 1
7-9
Aritmtica de enteros
Ejemplo
AWL L L -D T ED10 MD14 Explicacin El valor de ED10 se carga en el ACU 1. Cargar el contenido del ACU 1 en el ACU 2. Cargar el valor de MD14 en el ACU 1. Restar ACU 2 de ACU 1, almacenar el resultado en el ACU 1. El contenido del ACU 1 (resultado) se transfiere del DB1 a DBD25.
DB1.DBD25
7.10
*D
Formato
*D
Descripcin de la operacin
*D (Multiplicar enteros dobles) multiplica el contenido del ACU 1 por el contenido del
ACU 2. Los contenidos de ACU 1 y ACU 2 se evalan como enteros dobles, es decir, como enteros de 32 bits. El resultado se almacena como entero doble en el ACU 1. Si los bits de la palabra de estado OV1 = 1 y OS = 1, el resultado queda fuera del margen de un entero doble. La operacin se ejecuta sin tener en cuenta ni afectar al RLO. Una vez realizada la operacin se activan los bits de la palabra de estado A1, A0, OS y OV. En las CPU con dos acumuladores, el contenido del ACU 2 queda inalterado. En las CPU con cuatro acumuladores, se copian los contenidos del ACU 3 al ACU 2 y del ACU 4 al ACU 3. El contenido del ACU 4 queda inalterado.
Palabra de estado
RB
se escribe: -
A1
x
A0
x
OV
x
OS
x
OR
-
STA
-
RLO
-
/ER
-
A1
0 0 1 1 0
A0
0 1 0 0 1
OV
0 0 0 1 1
OS
1 1
Ejemplo
AWL L L *D T ED10 MD14 Explicacin El valor de ED10 se carga en el ACU 1. Cargar el contenido del ACU 1 en el ACU 2. Cargar el valor de MD14 en el ACU 1. Multiplicar ACU 2 por ACU 1, almacenar el resultado en el ACU 1. El contenido del ACU 1 (resultado) se transfiere del DB1 a DBD25.
DB1.DBD25
7-10
Aritmtica de enteros
7.11
/D
Formato
/D
Descripcin de la operacin
/D (Dividir enteros dobles) divide el contenido del ACU 2 por el contenido del ACU 1. Los contenidos de ACU 1 y ACU 2 se evalan como enteros dobles, es decir, como enteros de 32 bits. El resultado se almacena en el ACU 1. El resultado contiene slo el cociente, pero no el resto de la divisin (el resto de la divisin se obtiene realizando la operacin MOD). La operacin se realiza sin tener en cuenta ni afectar al RLO. Una vez realizada la operacin se activan los bits de la palabra de estado A1, A0, OS y OV. En las CPU con dos acumuladores, el contenido del ACU 2 queda inalterado. En las CPU con cuatro acumuladores, se copian los contenidos del ACU 3 al ACU 2 y del ACU 4 al ACU 3. El contenido del ACU 4 queda inalterado.
Palabra de estado
RB
se escribe: -
A1
x
A0
x
OV
x
OS
x
OR
-
STA
-
RLO
-
/ER
-
A1
0 0 1 1 1
A0
0 1 0 0 1
OV
0 0 0 1 1
OS
1 1
Ejemplo
AWL L L /D T ED10 MD14 Explicacin El valor de ED10 se carga en el ACU 1. Cargar el contenido del ACU 1 en el ACU 2. Cargar el valor de MD14 en el ACU 1. Dividir ACU 2 por ACU 1, almacenar el resultado (cociente) en el ACU El contenido del ACU 1 (resultado) se transfiere a MD20.
1.
MD20
Ejemplo: 13 / 4
Contenido del ACU 2 antes de la operacin (ED10): Contenido del ACU 1 antes de la operacin (MD14): Operacin /D (ACU 2 / ACU 1): Contenido del ACU 1 despus de la operacin (cociente): "13" "4" "13/4" "3"
7-11
Aritmtica de enteros
7.12
MOD
Formato
MOD
Descripcin de la operacin
MOD (Resto de divisin de enteros dobles) divide el contenido del ACU 2 por el contenido del ACU 1. Los contenidos de ACU 1 y ACU 2 se evalan como enteros dobles, es decir, como enteros de 32 bits. El resultado se almacena en el ACU 1. El resultado slo contiene el resto de la divisin, pero no el cociente (el cociente se obtiene realizando la operacin /D). La operacin se realiza sin tener en cuenta ni afectar al RLO. Una vez realizada la operacin se activan los bits de la palabra de estado A1, A0, OS y OV. En las CPU con dos acumuladores, el contenido del ACU 2 queda inalterado. En las CPU con cuatro acumuladores, se copian los contenidos del ACU 3 al ACU 2 y del ACU 4 al ACU 3. El contenido del ACU 4 queda inalterado.
Palabra de estado
RB
se escribe: -
A1
x
A0
x
OV
x
OS
x
OR
-
STA
-
RLO
-
/ER
-
A1
0 0 1 1
A0
0 1 0 1
OV
0 0 0 1
OS
1
Ejemplo
AWL L L MOD T MD20 ED10 MD14 Explicacin El valor de ED10 se carga en el ACU 1. Cargar el contenido del ACU 1 en el ACU 2. Cargar el valor de MD14 en el ACU 1. Dividir ACU 2 por ACU 1, almacenar el resultado (resto de la divisin) en el ACU 1. El contenido del ACU 1 (resultado) se transfiere a MD20.
Ejemplo: 13 / 4
Contenido del ACU 2 antes de la operacin (ED10): Contenido del ACU 1 antes de la operacin (MD14): Operacin /D (ACU 2 / ACU 1): Contenido del ACU 1 despus de la operacin (resto de la divisin): "13" "4" "13/4" "1"
7-12
8.1
Descripcin
Las operaciones aritmticas combinan el resultado de los ACUs 1 y 2. El resultado se deposita en el ACU 1. El contenido del ACU 2 permanece inalterado. En las CPU con 4 acumuladores se copia a continuacin el contenido del ACU 3 en el ACU 2, y el contenido del ACU 4 en el ACU 3. El antiguo contenido del ACU 4 no vara. Los nmeros de 32 bits IEEE en coma flotante pertenecen al Tipo de dato 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 *R /R Restar ACU 1 de ACU 2 como nmero de coma flotante (32 bits) Multiplicar ACU 1 por ACU 2 como nmero de coma flotante (32 bits) 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-FP): ABS Valor absoluto de un nmero de coma flotante (32 bits, IEEE-FP)
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)
8-1
8.2
Descripcin
Las operaciones aritmticas bsicas afectan a los siguientes bits de la palabra de estado: A1 y A0 OV OS
Las tablas siguientes muestran el estado de seal de los bits de la palabra de estado para los resultados de operaciones con nmeros en coma flotante (32 bits):
Margen vlido
+0, -0 (Cero) -3.402823E+38 < Resultado < -1.175494E-38 (nmero negativo) +1.175494E-38 < Resultado < +3.402823E+38 (nmero positivo)
A1
0 0 1
A0
0 1 0
OV
0 0 0
OS
* * *
A1
0
A0
0
OV
1
OS
1
8-2
8.3
8.3.1
Operaciones bsicas
+R Sumar ACU 1 y 2 como nmero en coma flotante (32 bits)
Formato
+R
Descripcin de la operacin
+R (Sumar nmeros en coma flotante de 32 bits, IEEE-FP) 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-FP). La operacin se ejecuta sin tener en cuenta ni afectar al RLO. Una vez realizada la operacin se activan los bits A1, A0, OS y OV de la palabra de estado. En las CPU con dos acumuladores, el contenido del ACU 2 queda inalterado. En las CPU con cuatro acumuladores, se copian los contenidos del ACU 3 al ACU 2 y del ACU 4 al ACU3. El contenido del ACU 4 queda inalterado.
Resultado
El resultado en el ACU 1 es
+qNaN +infinito +normalizado +desnormalizado +cero -cero -desnormalizado -normalizado -infinito -qNaN
A1
1 1 1 0 0 0 0 0 0 1
A0
1 0 0 0 0 0 0 1 1 1
OV
1 1 0 1 0 0 1 0 1 1
OS
1 1 1 1 1 1
Observacin
Desbordamiento por exceso Desbordamiento por defecto
Palabra de estado
RB
se escribe: -
A1
x
A0
x
OV
x
OS
x
OR
-
STA
-
RLO
-
/ER
-
Ejemplo
AWL AUF L L +R T Explicacin DB10 ED10 MD14 El valor de ED10 se carga en el ACU 1. Cargar el contenido del ACU 1 en el ACU 2. Cargar el valor de MD14 en el ACU 1. Sumar ACU 2 y ACU 1, almacenar el resultado en el ACU 1. El contenido del ACU 1 (= resultado) se transfiere a DBD25 en DB10.
DBD25
8-3
8.3.2
-R
Formato
-R
Descripcin de la operacin
-R (Restar nmeros en coma flotante de 32 bits, IEEE-FP) resta el contenido del ACU 1 del contenido del ACU 2 y almacena el resultado en el ACU 1. Los contenidos de ACU 1 y ACU 2 se evalan como nmeros en coma flotante (32 bits, IEEE-FP). El resultado se almacena en el ACU 1. La operacin se ejecuta sin tener en cuenta ni afectar al RLO. Una vez realizada la operacin se activan los bits A1, A0, OS y OV de la palabra de estado. En las CPU con dos acumuladores, el contenido del ACU 2 queda inalterado. En las CPU con cuatro acumuladores, se copian los contenidos del ACU 3 al ACU 2 y del ACU 4 al ACU3. El contenido del ACU 4 queda inalterado.
Resultado
El resultado en el ACU 1 es
+qNaN +infinito +normalizado +desnormalizado +cero -cero -desnormalizado -normalizado -infinito -qNaN
A1
1 1 1 0 0 0 0 0 0 1
A0
1 0 0 0 0 0 0 1 1 1
OV
1 1 0 1 0 0 1 0 1 1
OS
1 1 1 1 1 1
Observacin
Desbordamiento por exceso Desbordamiento por defecto
Palabra de estado
RB
se escribe: -
A1
x
A0
x
OV
x
OS
x
OR
-
STA
-
RLO
-
/ER
-
Ejemplo
AWL AUF L L -R T Explicacin DB10 ED10 MD14 El valor de ED10 se carga en el ACU 1. Cargar el contenido del ACU 1 en el ACU 2. Cargar el valor de MD14 en el ACU 1. Restar ACU 2 de ACU 1, almacenar el resultado en el ACU 1. El contenido del ACU 1 (= resultado) se transfiere a DBD25 en DB10.
DBD25
8-4
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-FP) 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-FP). El resultado se almacena en formato de nmero en coma flotante (32 bits, IEEE-FP) en el ACU 1. La operacin se ejecuta sin tener en cuenta ni afectar al RLO. Una vez realizada la operacin se activan los bits A1, A0, OS y OV de la palabra de estado. En las CPU con dos acumuladores, el contenido del ACU 2 queda inalterado. En las CPU con cuatro acumuladores, se copian los contenidos del ACU 3 al ACU 2 y del ACU 4 al ACU 3. El contenido del ACU 4 queda inalterado.
Resultado
El resultado en el ACU 1 es
+qNaN +infinito +normalizado +desnormalizado +cero -cero -desnormalizado -normalizado -infinito -qNaN
A1
1 1 1 0 0 0 0 0 0 1
A0
1 0 0 0 0 0 0 1 1 1
OV
1 1 0 1 0 0 1 0 1 1
OS
1 1 1 1 1 1
Observacin
Desbordamiento por exceso Desbordamiento por defecto
Palabra de estado
RB
se escribe: -
A1
x
A0
x
OV
x
OS
x
OR
-
STA
-
RLO
-
/ER
-
Ejemplo
AWL AUF L L *R T Explicacin DB10 ED10 MD14 El valor de ED10 se carga en el ACU 1. Cargar el contenido del ACU 1 en el ACU 2. Cargar el valor de MD14 en el ACU 1. Multiplicar ACU 2 por ACU 1, almacenar el resultado en el ACU 1. El contenido del ACU 1 (= resultado) se transfiere a DBB25 en DB10.
DBD25
8-5
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-FP) 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-FP). La operacin se ejecuta sin tener en cuenta ni afectar al RLO. Una vez realizada la operacin se activan los bits A1, A0, OS y OV de la palabra de estado. En las CPU con dos acumuladores, el contenido del ACU 2 queda inalterado. En las CPU con cuatro acumuladores, se copian los contenidos del ACU 3 al ACU 2 y del ACU 4 al ACU3. El contenido del ACU 4 queda inalterado.
Resultado
El resultado en el ACU 1 es
+qNaN +infinito +normalizado +desnormalizado +cero -cero -desnormalizado -normalizado -infinito -qNaN
A1
1 1 1 0 0 0 0 0 0 1
A0
1 0 0 0 0 0 0 1 1 1
OV
1 1 0 1 0 0 1 0 1 1
OS
1 1 1 1 1 1
Observacin
Desbordamiento por exceso Desbordamiento por defecto
Palabra de estado
RB
se escribe: -
A1
x
A0
x
OV
x
OS
x
OR
-
STA
-
RLO
-
/ER
-
Ejemplo
AWL AUF L L /R T Explicacin DB10 ED10 MD14 El valor de ED10 se carga en el ACU 1. Cargar el contenido del ACU 1 en el ACU 2. Cargar el valor de MD14 en el ACU 1. Dividir ACU 2 por ACU 1, almacenar el resultado en el ACU 1. El contenido del ACU 1 (= resultado) se transfiere a DBD20 en DB10.
DBD20
8-6
8.3.5
Formato
ABS
Descripcin de la operacin
ABS (Valor absoluto de un nmero en coma flotante de 32 bits, IEEE-FP) calcula el valor absoluto de un nmero en coma flotante (32bits, IEEE-FP) en el ACU 1. El resultado se almacena en el ACU 1. La operacin se ejecuta sin tener en cuenta ni afectar los bits de la palabra de estado.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
Ejemplo
AWL L ABS T ED8 MD10 Explicacin Cargar el valor en el ACU 1 (ejemplo: ED8 = -1.5E+02). Calcular el valor absoluto, almacenar el resultado en el ACU 1. Transferir el resultado a MD10 (ejemplo: resultado = 1.5E+02).
8-7
8.4
8.4.1
Operaciones ampliadas
SQR Calcular el cuadrado de un nmero en coma flotante (32 bits)
Formato
SQR
Descripcin de la operacin
SQR (Calcular el cuadrado de un nmero en coma flotante de 32 bits, IEEE-FP) calcula el cuadrado de un nmero en coma flotante (de 32 bits, IEEE-FP) en el ACU 1. El resultado se almacena en el ACU 1. La operacin afecta a los bits A1, A0, OV y OS de la palabra de estado. Los contenidos del ACU 2 (y en las CPU con cuatro acumuladores tambin los contenidos del ACU 3 y ACU 4) permanecen inalterados.
Resultado
El resultado en el ACU 1 es
+qNaN +infinito +normalizado +desnormalizado +cero -qNaN
A1
1 1 1 0 0 1
A0
1 0 0 0 0 1
OV
1 1 0 1 0 1
OS
1 1 1 1
Observacin
Desbordamiento Desbordamiento negativo
Ejemplo
AWL AUF L SQR UN SPB OK: T OV OK DBD4 DB17 DBD0 Explicacin Abrir bloque de datos DB17. El valor de la doble palabra de datos DBD0 se carga en el ACU 1. (Este valor debe tener formato en coma flotante.) Calcular el cuadrado del nmero en coma flotante (32-bits, IEEE-FP) en el ACU 1. Depositar el resultado en el ACU 1. Consultar si el estado de seal del bit OV es "0". Si en la operacin SQR no se produjo ningn error, saltar a la marca OK. (Aqu se reacciona a un error que se haya producido.) Transferir el resultado del ACU 1 a la doble palabra de datos DBD4.
8-8
8.4.2
Formato
SQRT
Descripcin de la operacin
SQRT (Calcular la raz cuadrada de un nmero en coma flotante de 32 bits, IEEE-FP) calcula la raz cuadrada de un nmero en coma flotante (de 32 bits, IEEE-FP) en el ACU 1. El resultado se almacena en el ACU 1. El valor de entrada debe ser mayor o igual que cero; el resultado es entonces positivo. nica excepcin: la raz cuadrada de -0 es -0. La operacin afecta a los bits A1, A0, OV y OS de la palabra de estado. Los contenidos del ACU 2 (y en las CPU con cuatro acumuladores tambin los contenidos del ACU 3 y del ACU 4) quedan inalterados.
Resultado
El resultado en el ACU 1 es
+qNaN +infinito +normalizado +desnormalizado +cero -cero -qNaN
A1
1 1 1 0 0 0 1
A0
1 0 0 0 0 0 1
OV
1 1 0 1 0 0 1
OS
1 1 1 1
Observacin
Desbordamiento por exceso Desbordamiento por defecto
Ejemplo
AWL L SQRT UN SPB OK: T OV OK MD20 MD10 Explicacin El valor de la doble palabra de marcas MD10 se carga en el ACU 1. (Este valor debe tener formato en coma flotante.) Calcular la raz cuadrada del nmero en coma flotante (32-bits, IEEE-FP) en el ACU 1. Depositar el resultado en el ACU 1. Consultar si el estado de seal del bit OV es "0". Si en la operacin SQRT no se produjo ningn error, saltar a la marca OK. (Aqu se reacciona a un error que se haya producido.) Transferir el resultado del ACU 1 a la doble palabra de marcas MD20.
8-9
8.4.3
EXP
Formato
EXP
Descripcin de la operacin
EXP (Calcular el exponente de un nmero en coma flotante de 32 bits, IEEE-FP) calcula el exponente (valor exponencial con base e) de un nmero en coma flotante (de 32 bits, IEEEFP) en el ACU 1. El resultado se almacena en el ACU 1. La operacin afecta a los bits A1, A0, OV y OS de la palabra de estado. Los contenidos del ACU 2 (y en las CPU con cuatro acumuladores tambin los contenidos del ACU 3 y del ACU 4) quedan inalterados.
Resultado
El resultado en el ACU 1 es
+qNaN +infinito +normalizado +desnormalizado +cero -qNaN
A1
1 1 1 0 0 1
A0
1 0 0 0 0 1
OV
1 1 0 1 0 1
OS
1 1 1 1
Observacin
Desbordamiento por exceso Desbordamiento por defecto
Ejemplo
AWL L EXP UN SPB OK: T OV OK MD20 MD10 Explicacin El valor de la doble palabra de marcas MD 10 se carga en el ACU 1. (Este valor debe tener formato en coma flotante.) Calcular el exponente de un nmero en coma flotante (de 32 bits, IEEE-FP) con base e en el ACU 1. Depositar el resultado en el ACU 1. Consultar si el estado de seal del bit OV es "0". Si en la operacin EXP no se produjo ningn error, saltar a la marca OK. (Aqu se reacciona a un error que se haya producido.) Transferir el resultado del ACU 1 a la doble palabra de marcas MD20.
8-10
8.4.4
Formato
LN
Descripcin de la operacin
LN (Calcular el logaritmo natural de un nmero en coma flotante de 32 bits, IEEE-FP) calcula el logaritmo natural (logaritmo con base e) de un nmero en coma flotante (de 32 bits, IEEE-FP) en el ACU 1. El resultado se almacena en el ACU 1. El valor de entrada debe ser mayor que cero. La operacin afecta a los bits A1, A0, OV y OS de la palabra de estado. Los contenidos del ACU 2 (y en las CPU con cuatro acumuladores tambin los contenidos del ACU 3 y del ACU 4) quedan inalterados.
Resultado
El resultado en el ACU 1 es
+qNaN +infinito +normalizado +desnormalizado +cero -cero -desnormalizado -normalizado -infinito -qNaN
A1
1 1 1 0 0 0 0 0 0 1
A0
1 0 0 0 0 0 0 1 1 1
OV
1 1 0 1 0 0 1 0 1 1
OS
1 1 1 1 1 1
Observacin
Desbordamiento por exceso Desbordamiento por defecto
Ejemplo
AWL L LN UN SPB OK: T OV OK MD20 MD10 Explicacin El valor de la doble palabra de marcas MD 10 se carga en el ACU 1. (Este valor debe tener formato en coma flotante.) Calcular el logaritmo natural del nmero en coma flotante (32 bits, IEEEFP) en el ACU 1. Depositar el resultado en el ACU 1. Consultar si el estado de seal del bit OV es "0". Si en la operacin LN no se produjo ningn error, saltar a la marca OK. (Aqu se reacciona a un error que se haya producido.) Transferir el resultado del ACU 1 a la doble palabra de marcas MD20.
8-11
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-FP) calcula el seno de un ngulo indicado en radianes. El ngulo debe estar representado en el ACU 1 en formato de nmero en coma flotante. El resultado se almacena en el ACU 1. La operacin afecta a los bits A1, A0, OV y OS de la palabra de estado. Los contenidos del ACU 2 (y en las CPU con cuatro acumuladores tambin los contenidos del ACU 3 y del ACU 4) quedan inalterados.
Resultado
El resultado en el ACU 1 es
+qNaN +normalizado +desnormalizado +cero -cero -desnormalizado -normalizado -qNaN
A1
1 1 0 0 0 0 0 1
A0
1 0 0 0 0 0 1 1
OV
1 0 1 0 0 1 0 1
OS
1 1 1 1
Observacin
Ejemplo
AWL L SIN T MD20 MD10 Explicacin El valor de la doble palabra de marcas MD 10 se carga en el ACU 1. (Este valor debe tener formato en coma flotante.) Calcular el seno del nmero en coma flotante (de 32 bits, IEEE-FP) en el ACU 1. Depositar el resultado en el ACU 1. Transferir el resultado del ACU 1 a la doble palabra de marcas MD20.
8-12
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-FP) calcula el coseno de un ngulo indicado en radianes. El ngulo debe estar representado en el ACU 1 en formato de nmero en coma flotante. El resultado se almacena en el ACU 1. La operacin afecta a los bits A1, A0, OV y OS de la palabra de estado. Los contenidos del ACU 2 (y en las CPU con cuatro acumuladores tambin los contenidos del ACU 3 y del ACU 4) quedan inalterados.
Resultado
El resultado en el ACU 1 es
+qNaN +normalizado +desnormalizado +cero -cero -desnormalizado -normalizado -qNaN
A1
1 1 0 0 0 0 0 1
A0
1 0 0 0 0 0 1 1
OV
1 0 1 0 0 1 0 1
OS
1 1 1 1
Observacin
Ejemplo
AWL L COS T MD20 MD10 Explicacin El valor de la doble palabra de marcas MD 10 se carga en el ACU 1. (Este valor debe tener formato en coma flotante.) Calcular el coseno del nmero en coma flotante (de 32 bits, IEEE-FP) en el ACU 1. Depositar el resultado en el ACU 1. Transferir el resultado del ACU 1 a la doble palabra de marcas MD20.
8-13
8.4.7
TAN Calcular la tangente de ngulos como nmeros en coma flotante (32 bits)
Formato
TAN
Descripcin de la operacin
TAN (Calcular la tangente de ngulos como nmeros en coma flotante de 32 bits, IEEE-FP) calcula la tangente de un ngulo indicado en radianes. El ngulo debe estar representado en el ACU 1 en formato de nmero de como flotante. El resultado se almacena en el ACU 1. La operacin afecta a los bits A1, A0, OV y OS de la palabra de estado. Los contenidos del ACU 2 (y en las CPU con cuatro acumuladores tambin los contenidos del ACU 3 y del ACU 4) quedan inalterados.
Resultado
El resultado en el ACU 1 es
+qNaN +infinito +normalizado +desnormalizado +cero -cero -desnormalizado -normalizado -infinito -qNaN
A1
1 1 1 0 0 0 0 0 0 1
A0
1 0 0 0 0 0 0 1 1 1
OV
1 1 0 1 0 0 1 0 1 1
OS
1 1 1 1 1 1
Observacin
Desbordamiento por exceso Desbordamiento por defecto
Ejemplo
AWL L TAN UN SPB OK: T OV OK MD20 MD10 Explicacin El valor de la doble palabra de marcas MD 10 se carga en el ACU 1. (Este valor debe tener formato en coma flotante.) Calcular la tangente del nmero en coma flotante (de 32 bits, IEEE-FP) en el ACU 1. Depositar el resultado en el ACU 1. Consultar si el estado de seal del bit OV es "0". Si en la operacin TAN no se produjon ningn error, saltar a la marca OK. (Aqu se reacciona a un error que se haya producido.) Transferir el resultado del ACU 1 a la doble palabra de marcas MD20.
8-14
8.4.8
ASIN
Formato
ASIN
Descripcin de la operacin
ASIN (Calcular el arcoseno de un nmero en coma flotante de 32 bits, IEEE-FP) 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
+qNaN +normalizado +desnormalizado +cero -cero -desnormalizado -normalizado -qNaN
A1
1 1 0 0 0 0 0 1
A0
1 0 0 0 0 0 1 1
OV
1 0 1 0 0 1 0 1
OS
1 1 1 1
Observacin
Ejemplo
AWL L ASIN UN SPB OK: T OV OK MD20 MD10 Explicacin El valor de la doble palabra de marcas MD 10 se carga en el ACU 1. (Este valor debe tener formato en coma flotante.) Calcular el arcoseno de un nmero en coma flotante (de 32 bits, IEEE-FP) en el ACU 1. Depositar el resultado en el ACU 1. Consultar si el estado de seal del bit OV es "0". Si en la operacin ASIN no se produjo ningn error, saltar a la marca OK. (Aqu se reacciona a un error que se haya producido.) Transferir el resultado del ACU 1 a la doble palabra de marcas MD20.
8-15
8.4.9
Formato
ACOS
Descripcin de la operacin
ACOS (Calcular el arcocoseno de un nmero en coma flotante de 32 bits, IEEE-FP) 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
+qNaN +normalizado +desnormalizado +cero -cero -desnormalizado -normalizado -qNaN
A1
1 1 0 0 0 0 0 1
A0
1 0 0 0 0 0 1 1
OV
1 0 1 0 0 1 0 1
OS
1 1 1 1
Observacin
Ejemplo
AWL L ACOS UN SPB OK: T OV OK MD20 MD10 Explicacin El valor de la doble palabra de marcas MD 10 se carga en el ACU 1. (Este valor debe tener formato en coma flotante.) Calcular el arcocoseno de un nmero en coma flotante (de 32 bits, IEEEFP) en el ACU 1. Depositar el resultado en el ACU 1. Consultar si el estado de seal del bit OV es "0". Si en la operacin ACOS no se produjo nign error, saltar a la marca OK. (Aqu reacciona a un error que se haya producido.) Transferir el resultado del ACU 1 a la doble palabra de marcas MD20.
8-16
8.4.10
Formato
ATAN
Descripcin de la operacin
ATAN (Calcular la arcotangente de un nmero en coma flotante de 32 bits, IEEE-FP) 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
+qNaN +normalizado +desnormalizado +cero -cero -desnormalizado -normalizado -qNaN
A1
1 1 0 0 0 0 0 1
A0
1 0 0 0 0 0 1 1
OV
1 0 1 0 0 1 0 1
OS
1 1 1 1
Observacin
Ejemplo
AWL L ATAN UN SPB OK: T OV OK MD20 MD10 Explicacin El valor de la doble palabra de marcas MD 10 se carga en el ACU 1. (Este valor debe tener formato en coma flotante.) Calcular la arcotangente de un nmero en coma flotante (de 32 bits, IEEEFP) en el ACU 1. Depositar el resultado en el ACU 1. Consultar si el estado de seal del bit OV es "0". Si en la operacin ATAN no se produjo ningn error, saltar a la marca OK. (Aqu reacciona a un error que se haya producido.) Transferir el resultado del ACU 1 a la doble palabra de marcas MD20.
8-17
8-18
9.1
Descripcin
Las operaciones de carga (L) y transferencia (T) permiten programar un intercambio de informacin entre mdulos de E/S y reas de memoria, o bien entre reas de memoria. La CPU ejecuta estas operaciones en cada ciclo como operaciones incondicionales, es decir, independientemente del resultado lgico de la operacin. Se dispone de las operaciones de cargar y transferencia siguientes: L L STW LAR1 Cargar Cargar palabra de estado en ACU 1 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
Transferir Transferir ACU 1 a la palabra de estado Intercambiar registro de direcciones 1 y registro de direcciones 2 Transferir registro de direcciones 1 a ACU 1
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
9-1
9.2
Cargar
Formato
L <operando>
Operando
<operando>
Tipo de datos
BYTE WORD DWORD
Area de memoria
E, A, PE, M, L, D, puntero, parmetro
Direccin fuente
0...65535 0...65534 0...65532
Descripcin de la operacin
L <operando> carga en el ACU 1 el contenido del byte, de la palabra o de la doble palabra direccionado, despus de haberse almacenado el anterior contenido del ACU 1 en el ACU 2 y de haber puesto el ACU 1 a "0".
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
Ejemplo
AWL L L L L L L L L EB10 MB120 DBB12 DIW15 LD252 P# E 8.7 OTTO P# ANNA Explicacin Cargar byte de entrada EB10 en el ACU1-L-L. Cargar byte de marcas MB120 en el ACU1-L-L. Cargar byte de datos DBB12 en el ACU1-L-L. Cargar palabra de datos de instancia DIW15 en el ACU1-L. Cargar doble palabra de datos locales LD252 en el ACU 1. Cargar puntero en ACU1 Cargar parmetro "OTTO" en ACU1 Cargar puntero en el parmetro indicado en el ACU1 (Este comando carga el offset de direcciones relativo del parmetro indicado. Para calcular en FBs aptos para multiinstancia el offset absoluto en el bloque de datos de instancia, se tiene que sumar a este valor el contenido del registro AR2.
9-2
ACU1-H-H
XXXXXXXX 00000000
ACU1-H-L
XXXXXXXX 00000000 00000000
ACU1-L-H
XXXXXXXX 00000000 <MB10>
ACU1-L-L
XXXXXXXX <MB10> <MB11>
<Offset del bit de ANNA relativo al inicio del FB> Para calcular en FBs aptos para multiinstancia el offset absoluto en el bloque de datos de instancia, se tiene que sumar a este valor el contenido del registro AR2.
<una direccin interrea del dato que se transfiere a ANNA> X = "1" o "0"
9-3
9.3
L STW
Formato
L STW
Descripcin de la operacin
L STW (Operacin L con el operando STW) carga el ACU 1 con el contenido de la palabra de estado. La operacin se ejecuta sin tener en cuenta ni afectar a los bits de la palabra de estado.
Nota En el caso de las CPUs de la serie S7-300, los bits de la palabra de estado /ER, STA y OR no se cargan mediante la instruccin L STW. Tan slo los bits 1, 4, 5, 6, 7 y 8 se cargan en los bits de la palabra baja contenida en el ACU 1.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
Ejemplo
AWL L STW Explicacin Cargar el contenido de la palabra de estado en el ACU 1.
7
A1
6
A0
5
OV
4
OS
3
OR
2
STA
1
RLO
0
/ER
Contenido: 0
9-4
9.4
Formato
LAR1
Descripcin de la operacin
LAR1 carga el registro de direcciones AR 1 con el contenido del ACU 1 (puntero de 32 bits). ACU 1 y ACU 2 no se alteran. La operacin se ejecuta sin tener en cuenta ni afectar a los bits de la palabra de estado
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
9.5
Formato
LAR1 <D>
Operando
<D>
Tipo de datos
DWORD Constante de puntero
Area de memoria
D, M, L
Direccin fuente
0...65532
Descripcin de la operacin
LAR1 <D> carga el registro de direcciones AR 1 con el contenido de la doble palabra <D> direccionada o de una constante de puntero. ACU 1 y ACU 2 no se alteran. La operacin se ejecuta sin tener en cuenta ni afectar a los bits de la palabra de estado.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
9-5
9.6
LAR1 AR2 Cargar registro de direcciones 1 con contenido del registro de direcciones 2
Formato
LAR1 AR2
Descripcin de la operacin
LAR1 AR2 (Operacin LAR1 con el operando AR2) carga el registro de direcciones AR 1 con el contenido del registro de direcciones 2. ACU 1 y ACU 2 no se alteran. La operacin se ejecuta sin tener en cuenta ni afectar a los bits de la palabra de estado.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
9.7
Formato
LAR2
Descripcin de la operacin
LAR2 carga el registro de direcciones AR 2 con el contenido del ACU 1 (puntero de 32 bits). ACU 1 y ACU 2 no se alteran. La operacin se ejecuta sin tener en cuenta ni afectar a los bits de la palabra de estado.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
9-6
9.8
Formato
LAR2 <D>
Operando
<D>
Tipo de datos
DWORD Constante de puntero
Area de memoria
D, M, L
Direccin fuente
0...65532
Descripcin de la operacin
LAR2 <D> carga el registro de direcciones AR 2 con el contenido de la doble palabra <D> direccionada o de una constante de puntero. ACU 1 y ACU 2 no se alteran. La operacin se ejecuta sin tener en cuenta ni afectar a los bits de la palabra de estado.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
P#M100.0
9-7
9.9
Transferir
Formato
T <operando>
Operando
<operando>
Tipo de datos
BYTE WORD DWORD
Area de memoria
E, A, PA, M, L, D
Direccin fuente
0...65535 0...65534 0...65532
Descripcin de la operacin
T <operando> transfiere (copia) el contenido del ACU 1 a la direccin de destino si est conectado el Master Control Relay (MCR = 1). Si el MCR es 0, en la direccin de destino se escribe el valor "0". El nmero de bytes que se copia del ACU 1 depender del tamao indicado en la direccin de destino. El ACU 1 tambin almacena los datos despus de la operacin de transferencia. La operacin de transferencia a un rea de periferia directa (rea de memoria PA) tambin transfiere el contenido del ACU 1 "0" (si el MCR es 0) a la direccin correspondiente en la imagen del proceso de las salidas (rea de memoria A). La operacin se ejecuta sin tener en cuenta ni afectar a los bits de la palabra de estado.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
Ejemplo
AWL T T T AB10 MW14 DBD2 Explicacin Transferir el contenido del ACU1-L-L al byte de salida AB10. Transferir el contenido del ACU1-L a la palabra de marcas MW14. Transferir el contenido del ACU 1 a la doble palabra de datos DBD2.
9-8
9.10
T STW
Formato
T STW
Descripcin de la operacin
T STW (Operacin T con el operando STW) transfiere los bits 0 a 8 del ACU 1 a la palabra de estado. La operacin se ejecuta si tener en cuenta los bits de la palabra de estado.
Palabra de estado
RB
se escribe: x
A1
x
A0
x
OV
x
OS
x
OR
x
STA
x
RLO
x
/ER
x
Ejemplo
AWL T STW Explicacin Transferir los bits 0 a 8 del ACU 1 a la palabra de estado.
9-9
Operaciones de temporizacin
12.5
Formato
LC <temporizador>
Operando
<temporizador>
Tipo de datos
TIMER
Area de memoria
T
Descripcin
Nmero del temporizador; el rea vara segn la CPU utilizada
Descripcin de la operacin
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
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
Ejemplo
AWL LC T1 Explicacin Cargar ACU1-L con la base de tiempo y el valor de temporizacin actual del temporizador T1 en formato BCD en el ACU1-L.
15
14
13
12
11
10
0 2
15
0 2
14
0 2
13
0 2
12
11
2
2
10
2
1
2
0
10 Centenas
10 Decenas
10 Unidades
12-9
Operaciones de temporizacin
12.6
Desactivar temporizador
Formato
R <temporizador>
Operando
<temporizador>
Tipo de datos
TIMER
Area de memoria
T
Descripcin
Nmero del temporizador; el rea vara segn la CPU utilizada
Descripcin de la operacin
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
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
0
STA
-
RLO
-
/ER
0
Ejemplo
AWL U R Explicacin E 2.1 T1 Consultar el estado de seal en la entrada E a "1", desactivar el temporizador T1. 2.1. Si el RLO cambia de "0"
12.7
SI
Formato
SI <temporizador>
Operando
<temporizador>
Tipo de datos
TIMER
Area de memoria
T
Descripcin
Nmero del temporizador; el rea vara segn la CPU utilizada
Descripcin de la operacin
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.
12-10
Operaciones de temporizacin
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
0
STA
-
RLO
-
/ER
0
Ejemplo
AWL U FR U L SI U R U = L T LC T Explicacin E 2.0 T1 E 2.1 S5T#10s T1 E 2.2 T1 T1 A 4.0 T1 MW10 T1 MW12 Habilitar el temporizador T1. Ajustar una preseleccin de 10 segundos en el ACU 1. Arrancar el temporizador T1 como impulso. Poner el temporizador T1 a 0. Consultar el estado de seal del temporizador T1. Cargar el valor de temporizacin actual del temporizador T1 como nmero binario. Cargar el valor de temporizacin actual del temporizador T1 en formato BCD.
+DELOLWDU
(
$UUDQFDU (
3RQHUD
(
12-11
Operaciones de temporizacin
12.8
SV
Formato
SV <temporizador>
Operando
<temporizador>
Tipo de datos
TIMER
Area de memoria
T
Descripcin
Nmero del temporizador; el rea vara segn la CPU utilizada
Descripcin de la operacin
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.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
0
STA
-
RLO
-
/ER
0
Ejemplo
AWL U FR U L SV U R U = L T LC T Explicacin E 2.0 T1 E 2.1 S5T#10s T1 E 2.2 T1 T1 A 4.0 T1 MW10 T1 MW12 Habilitar el temporizador T1. Ajustar una preseleccin de 10 segundos en el ACU 1. Arrancar el temporizador T1 como impulso prolongado. Poner el temporizador T1 a 0. Consultar el estado de seal del temporizador T1. Cargar el valor de temporizacin actual del temporizador T1 como nmero binario. Cargar el valor de temporizacin actual del temporizador T1 en formato BCD.
12-12
Operaciones de temporizacin
+DELOLWDU
(
$UUDQFDU
(
3RQHUD
(
7HPSRUL]DGRU
W
6DOLGD
$
12-13
Operaciones de temporizacin
12.9
SE
Formato
SE <temporizador>
Operando
<temporizador>
Tipo de datos
TIMER
Area de memoria
T
Descripcin
Nmero del temporizador; el rea vara segn la CPU utilizada
Descripcin de la operacin
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.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
0
STA
-
RLO
-
/ER
0
Ejemplo
AWL U FR U L SE U R U = L T LC T Explicacin E 2.0 T1 E 2.1 S5T#10s T1 E 2.2 T1 T1 A 4.0 T1 MW10 T1 MW12 Habilitar el temporizador T1. Ajustar una preseleccin de 10 segundos en el ACU 1. Arrancar el temporizador T1 como retardo a la conexin. Poner el temporizador T1 a 0. Consultar el estado de seal del temporizador T1. Cargar el valor de temporizacin actual del temporizador T1 como nmero binario. Cargar el valor de temporizacin actual del temporizador T1 en formato BCD.
12-14
Operaciones de temporizacin
+DELOLWDU
(
$UUDQFDU
(
3RQHUD
(
7HPSRUL]DGRU W
6DOLGD
$
12-15
Operaciones de temporizacin
12.10 SS
Formato
SS <temporizador>
Operando
<temporizador>
Tipo de datos
TIMER
Area de memoria
T
Descripcin
Nmero del temporizador; el rea vara segn la CPU utilizada
Descripcin de la operacin
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.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
0
STA
-
RLO
-
/ER
0
Ejemplo
AWL U FR U L SS U R U = L T LC T Explicacin E 2.0 T1 E 2.1 S5T#10s T1 E 2.2 T1 T1 A 4.0 T1 MW10 T1 MW12 Habilitar el temporizador T1. Ajustar una preseleccin de 10 segundos en el ACU 1. Arrancar el temporizador T1 como retardo a la conexin con memoria. Poner el temporizador T1 a 0. Consultar el estado de seal del temporizador T1. Cargar el valor de temporizacin actual del temporizador T1 como nmero binario. Cargar el valor de temporizacin actual del temporizador T1 en formato BCD.
12-16
Operaciones de temporizacin
+DELOLWDU
(
$UUDQFDU
(
3RQHUD
(
7HPSRUL]DGRU
W
6DOLGD $
&DUJDU WHPSRUL]DGRU//&
GXUDFLyQGHWLHPSRSURJUDPDGD
12-17
Operaciones de temporizacin
12.11 SA
Formato
SA <temporizador>
Operando
<temporizador>
Tipo de datos
TIMER
Descripcin de la operacin
SA <temporizador> arranca el temporizador direccionado si el RLO cambia de "1" a "0". El intervalo programado transcurre mientras el RLO sea 0. Si el RLO cambia a "1" antes de que haya transcurrido el intervalo programado, el temporizador se para. Para esta instruccin Arrancar temporizador tienen que estar almacenados el valor de temporizacin y la base de tiempo en formato BCD en el ACU1-L.
Palabra de estado
RB
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
0
STA
-
RLO
-
/ER
0
Ejemplo
AWL U FR U L SA U R U = L T LC T Explicacin E 2.0 T1 E 2.1 S5T#10s T1 E 2.2 T1 T1 A 4.0 T1 MW10 T1 MW12 Habilitar el temporizador T1. Ajustar una preseleccin de 10 segundos en el ACU 1. Arrancar el temporizador T1 como retardo a la desconexin. Poner el temporizador T1 a 0. Consultar el estado de seal del temporizador T1. Cargar el valor de temporizacin actual del temporizador T1 como nm. binario. Cargar el valor de temporizacin actual del temporizador T1 en formato BCD.
+DELOLWDU
(
$UUDQFDU
(
3RQHUD
(
7HPSRUL]DGRU
W
6DOLGD
$
&DUJDU WHPSRUL]DGRU//&
GXUDFLyQGHWLHPSRSURJUDPDGD
12-18
13.1
Descripcin
Las operaciones lgicas con palabras combinan pares de palabras (16 bits) o palabras dobles (32 bits) bit por bit de acuerdo con la lgica de Boole. Cada palabra o palabra doble debe encontrarse en uno de ambos acumuladores. En las operaciones con palabras se combina el contenido de la palabra baja del ACU 2 con el contenido de la palabra baja del ACU 1. El resultado lgico se almacena en la palabra baja del ACU 1, sobreescribiendo el antiguo contenido. En las operaciones con palabras dobles se combina el contenido del ACU 2 con el contenido del ACU 1. El resultado lgico se almacena en el ACU 1, sobreescribiendo el antiguo contenido. Si el resultado lgico es 0, el bit A1 de la palabra de estado se pone a 0. Si el resultado no es igual a 0, el bit A1 se pone a 1. Los bits A0 y OV de la palabra de estado se ponen en ambos casos a 0. Se dispone de las operaciones lgicas con palabras siguientes: UW Y con palabra (16 bits) OW O con palabra (16 bits) XOW O-exclusiva con palabra (16 bits) UD OD Y con doble palabra (32 bits) O con doble palabra (32 bits)
13-1
13.2
UW
Formato
UW UW <constante>
Operando
<constante>
Tipo de datos
WORD, constante (16 bits)
Descripcin
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
se escribe: -
A1
x
A0
0
OV
0
OS
-
OR
-
STA
-
RLO
-
/ER
-
Ejemplos
Bit
ACU1-L antes de ejecutar UW ACU2-L constante (16 bits) Resultado (ACU1-L) despus de ejecutar UW
15 . .
0101 1111 0101
..
1001 0110 0000
..
0011 1011 0011
...0
1011 0101 0001
Ejemplo 1
AWL L L UW T MW 8 EW20 EW22 Explicacin Cargar el contenido de EW20 en el ACU1-L. Cargar el contenido del ACU 1 en el ACU 2. Cargar el contenido de EW22 en el ACU 1-L. Combinar los bits del ACU1-L con los bits del ACU2-L realizando una operacin Y lgica, almacenar el resultado en el ACU1-L. Transferir el resultado a MW8.
Ejemplo 2
AWL L UW Explicacin EW20 Cargar el contenido de EW20 en el ACU1-L. W#16#0FFF 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. NEXT Saltar a la meta NEXT si el resultado es diferente de cero (A1 = 1).
SPP
13-2
13.3
OW
Formato
OW OW <constante>
Operando
<constante>
Tipo de datos
WORD, constante (16 bits)
Descripcin
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
se escribe: -
A1
x
A0
0
OV
0
OS
-
OR
-
STA
-
RLO
-
/ER
-
Ejemplos
Bit
ACU1-L antes de ejecutar OW ACU2-L constante (16 bits) Resultado (ACU1-L) despus de ejecutar OW
15 . .
0101 1111 1111
..
0101 0110 0111
..
0011 1011 1011
...0
1011 0101 1111
Ejemplo 1
AWL L L OW T MW8 EW20 EW22 Explicacin Cargar el contenido de EW20 en el ACU1-L. Cargar el contenido del ACU 1 en el ACU 2. Cargar el contenido de EW22 en el ACU 1-L. Combinar los bits del ACU1-L con los bits del ACU2-L realizando una operacin O lgica, almacenar el resultado en el ACU1-L. Transferir el resultado a MW 8.
Ejemplo 2
AWL L OW Explicacin EW20 Cargar el contenido de EW20 en el ACU1-L. W#16#0FFF 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. NEXT Saltar a la meta NEXT si el resultado es diferente de cero (A1 = 1).
SPP
13-3
13.4
XOW
Formato
XOW XOW <constante>
Operando
<constante>
Tipo de datos
WORD, constante (16 bits
Descripcin
Configuracin binaria a combinar lgicamente con el ACU1-L realizando una operacin Oexclusiva.
Descripcin de la operacin
XOW (O-exclusiva con palabra) combina el contenido del ACU1-L con el ACU2-L o una constante (de 16 bits) bit por bit realizando una operacin lgica O-exclusiva. Si uno -y solamente uno- de los bits correspondientes de ambas palabras a combinar es "1", el bit respectivo de la palabra resultante tambin es "1". El resultado se almacena en el ACU1-L. El ACU1-H y el ACU 2 (y en las CPU con cuatro acumuladores, el ACU 3 y el ACU 4) no se alteran. El bit de la palabra de estado A1 se activa como resultado de la operacin (A1 = 1, si el resultado es diferente de cero). Los bits A0 y OV de la palabra de estado se ponen a "0". XOW: combina el ACU1-L con el ACU2-L. XOW <constante>: combina el ACU1-L con una constante (16 bits).
Palabra de estado
RB
se escribe: -
A1
x
A0
0
OV
0
OS
-
OR
-
STA
-
RLO
-
/ER
-
Ejemplos
Bit
ACU 1 antes de ejecutar XOW ACU2-L constante (16 bits): Resultado (ACU 1) despus de ejecutar XOW
15 . .
0101 1111 1010
..
0101 0110 0011
..
0011 1011 1000
...0
1011 0101 1110
Ejemplo 1
AWL L L XOW T MW8 EW20 EW22 Explicacin Cargar el contenido de EW20 en el ACU1-L. Cargar el contenido del ACU 1 en el ACU 2. Cargar el contenido de ED24 en el ACU 1-L. Combinar lgicamente los bits del ACU1-L con los bits del ACU2-L realizando una operacin O-exclusiva, almacenar el resultado en el ACU1-L. Transferir el resultado a MW8.
Ejemplo 2
AWL L XOW EW20 16#0FFF Explicacin Cargar el contenido de EW20 en el ACU1-L. Combinar lgicamente los bits del ACU1-L con la configuracin binaria de la constante (de 16 bits) (0000_1111_1111_1111) realizando una operacin O-exclusiva, almacenar el resultado en el ACU1-L. Saltar a la meta NEXT si el resultado es diferente de cero (A1 = 1).
SPP
NEXT
13-4
13.5
UD
Formato
UD UD <constante>
Operando
<constante>
Tipo de datos
DWORD, constante (32 bits)
Descripcin
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
se escribe: -
A1
x
A0
0
OV
0
OS
-
OR
-
STA
-
RLO
-
/ER
-
Ejemplos
Bit
ACU 1 antes de ejecutar UD ACU 2 constante (32 bits)
31 . .
0101 1111
..
0000 0011 0000
..
1111 1000 1000
..
1100 0101 0100
..
1000 0111 0000
..
1001 0110 0000
..
0011 1011 0011
...0
1011 0101 0001
Ejemplo 1
AWL L L UD T MD8 ED20 ED24 Explicacin Cargar el contenido de ED20 en el ACU 1. Cargar el contenido del ACU 1 en el ACU 2. Cargar el contenido de ED24 en el ACU 1. Combinar los bits del ACU 1 con los bits del ACU 2 realizando una operacin Y lgica, almacenar el resultado en el ACU 1. Transferir el resultado a MD8.
Ejemplo 2
AWL L UD Explicacin ED 20 Cargar el contenido de ED20 en el ACU 1. DW#16#0FF 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 F_EF21 operacin Y lgica, almacenar el resultado en el ACU 1. NEXT Saltar a la meta NEXT si el resultado es diferente de cero (A1 = 1).
JP
13-5
13.6
OD
Formato
OD OD <constante>
Operando
<constante>
Tipo de datos
DWORD, constante (32 bits)
Descripcin
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
se escribe: -
A1
x
A0
0
OV
0
OS
-
OR
-
STA
-
RLO
-
/ER
-
Ejemplos
Bit
ACU 1 antes de ejecutar OD ACU 2 constante (32 bits)
31 . .
0101 1111
..
0000 0011 0011
..
1111 1000 1111
..
1100 0101 1101
..
1000 0111 1111
..
0101 0110 0111
..
0011 1011 1011
...0
1011 0101 1111
Ejemplo 1
AWL L L OD T MD8 ED20 ED24 Explicacin Cargar el contenido de ED20 en el ACU 1. Cargar el contenido de ACU 1 en el ACU 2. Cargar el contenido de ED24 en el ACU 1. Combinar los bits del ACU 1 con los bits del ACU 2 realizando una operacin O lgica, almacenar el resultado en el ACU 1. Transferir el resultado a MD8.
Ejemplo 2
AWL L OD Explicacin ED20 Cargar el contenido de ED20 en el ACU 1. DW#16#0FF 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 F_EF21 operacin O lgica, almacenar el resultado en el ACU 1. NEXT Saltar a la meta NEXT si el resultado es diferente de cero (A1 = 1).
SPP
13-6
13.7
XOD
Formato
XOD XOD <constante>
Operando
<constante>
Tipo de datos
DWORD, constante (32 bits)
Descripcin
Configuracin binaria a combinar lgicamente con el ACU 1 realizando una operacin Oexclusiva
Descripcin de la operacin
XOD (O-exclusiva con doble palabra) combina el contenido del ACU 1 con ACU 2 con una constante (32 bits) bit por bit realizando una operacin lgica O-exclusiva. Si uno -y solamente 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
se escribe: -
A1
x
A0
0
OV
0
OS
-
OR
-
STA
-
RLO
-
/ER
-
Ejemplos
Bit
ACU 1 antes de ejecutar XOD ACU 2 constante (32 bits) Resultado (ACU 1) despus de ejecuta XOD
31 . .
0101 1111 1010
..
0000 0011 0011
..
1111 1000 0111
..
1100 0101 1001
..
1000 0111 1111
..
0101 0110 0011
..
0011 1011 1000
...0
1011 0101 1110
Ejemplo 1
AWL L L XOD T MD8 ED20 ED24 Explicacin Cargar el contenido de ED20 en el ACU 1. Cargar el contenido de ACU 1 en el ACU 2. Cargar el contenido de ED24 en el ACU 1. Combinar lgicamente los bits del ACU 1 con los bits del ACU 2 realizando una operacin O-exclusiva, almacenar el resultado en el ACU Transferir el resultado a MD8.
1.
Ejemplo 2
AWL L XOD ED20 DW#16#0FF F _EF21 NEXT Explicacin Cargar el contenido de ED20 en el ACU 1. Combinar lgicamente los bits del ACU 1 con la configuracin binaria de la constante (32 bits) (0000_1111_1111_1111_1111_1110_0010_0001) realizando una operacin O-exclusiva, almacenar el resultado en el ACU 1. Saltar a la meta NEXT si el resultado es diferente de cero (A1 = 1).
SPP
13-7
13-8
14.1
Descripcin
Para operar con el contenido de uno o varios acumuladores o registros de direcciones se dispone de las siguientes operaciones: TAK Intercambiar ACU 1 y ACU 2
PUSH CPU con dos acumuladores PUSH CPU con cuatro acumuladores POP POP ENT CPU con dos acumuladores CPU con cuatro acumuladores Introducir pila de ACU
LEAVE Salir de la pila de ACU INC DEC +AR1 +AR2 BLD Incrementar ACU 1-L-L Decrementar ACU 1-L-L Sumar el ACU 1 al registro de direcciones 1 Sumar el ACU1 al registro de direcciones 2 Estructuracin de imagen (operacin nula)
14-1
14.2
TAK
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
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
NEXT
MW14
ACU 1
<MW12> <MW10>
ACU 2
<MW10> <MW12>
14-2
14.3
PUSH
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
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
Ejemplo
AWL L PUSH MW10 Explicacin Cargar el contenido de MW10 en el ACU 1. Copiar el contenido completo del ACU 1 al ACU 2.
ACU 1
<MW10> <MW10>
ACU 2
<X> <MW10>
14-3
14.4
PUSH
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
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
Ejemplo
AWL L PUSH MW10 Explicacin Cargar el contenido del MW10 en el ACU 1. Copiar el contenido completo del ACU 1 al ACU 2, el contenido del ACU 2 al ACU 3 y el contenido del ACU 3 al ACU 4.
ACU 1
Valor A Valor A
ACU 2
Valor B Valor A
ACU 3
Valor C Valor B
ACU 4
Valor D Valor C
14-4
14.5
POP
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
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
Ejemplo
AWL T POP T MD10 MD14 Explicacin Transferir el contenido del ACU 1 (= valor A) a MD10. Copiar el contenido completo del ACU 2 al ACU 1. Transferir el contenido del ACU 1 (= valor B) a MD14.
ACU 1
Valor A Valor B
ACU 2
Valor B Valor B
14-5
14.6
POP
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
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
Ejemplo
AWL T POP T MD10 Explicacin Transferir el contenido del ACU 1 (= valor A) a MD10. Copiar el contenido del ACU 2 al ACU1, el contenido del ACU 3 al ACU 2 y el contenido del ACU 4 al ACU 3. Transferir el contenido del ACU 1 (= valor B) a MD14.
MD14
ACU 1
Valor A Valor B
ACU 2
Valor B Valor C
ACU 3
Valor C Valor D
ACU 4
Valor D Valor D
14-6
14.7
ENT
Formato
ENT
Descripcin de la operacin
ENT (Introducir pila de ACU) copia el contenido del ACU 3 al ACU 4 y el contenido del ACU 2 al ACU 3. Sie se programa la operacin ENT directamente antes de una operacin de carga, se puede salvar con ello un resultado parcial en el ACU 3.
Ejemplo
AWL L L +R L ENT L -R DBD12 DBD8 DBD0 DBD4 Explicacin Cargar el valor de la palabra doble de datos DBD0 en el ACU 1. (Este valor debe tener formato en coma flotante.) Copiar el valor del ACU 1 al ACU 2. Cargar el valor de la palabra doble de datos DBD4 en el ACU 1. (Este valor debe tener formato en coma flotante.) Sumar los contenidos del ACU 1 y el ACU 2 como nmeros en coma flotante (32 bits, IEEE-FP) y almacenar el resultado en el ACU 1. Copiar el valor del ACU 1 al ACU 2. Cargar el valor de la palabra doble de datos DBD8 en el ACU 1. Copiar el contenido del ACU 3 al ACU 4. Copiar el contenido del ACU 2 (resultado parcial) al ACU 3. Cargar el valor de la palabra doble de datos DBD12 en el ACU 1. Restar el contenido del ACU 1 del contenido del ACU 2 y almacenar el resultado en el ACU 1. Copiar el contenido del ACU 3 en el ACU 2 y el contenido del ACU 4 al ACU 3. Dividir el contenido del ACU 2 (DBD0 + DBD4) por el contenido del ACU 1 (DBD8 - DBD12) y almacenar el resultado en el ACU 1. Transferir el resultado (ACU 1) a la palabra doble de datos DBD16
/R T DBD16
14.8
LEAVE
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.
14-7
14.9
INC
Formato
INC <entero de 8 bits>
Operando
<entero de 8 bits>
Tipo de datos
Constante (entero de 8 bits)
Descripcin
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
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
Ejemplo
AWL L INC T MB22 1 MB22 Explicacin Cargar el valor de MB22. Incrementar en 1 ACU 1 (MB 22), almacenar el resultado en ACU1-L-L. Transferir el contenido de ACU1-L-L (resultado) de vuelta al MB22.
14-8
14.10 DEC
Formato
Tipo de datos
Constante (entero de 8 bits)
Descripcin
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
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
Ejemplo
AWL L DEC T MB250 1 MB250 Explicacin Cargar el valor de MB250. Decrementar en 1 el ACU1-L-L, almacenar el resultado en ACU1-L-L. Transferir el contenido de ACU1-L- L (resultado) de vuelta a MB250.
14-9
14.11 AR1
Formatos
+AR1
+AR1 <P#Byte.Bit>
Operando
<P#Byte.Bit>
Tipo de datos
Constante de puntero
Descripcin
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
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
Ejemplo 1
AWL L +AR1 +300 Explicacin Cargar el valor en el ACU1-L. Sumar el ACU1-L (entero) a AR 1.
Ejemplo 2
AWL +AR1 P#300.0 Explicacin Sumar el desplazamiento 300.0 a AR 1.
14-10
14.12 AR2
Formatos
+AR2
+AR2 <P#Byte.Bit>
Operando
<P#Byte.Bit>
Tipo de datos
Constante de puntero
Descripcin
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
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
Ejemplo 1
AWL L +AR2 +300 Explicacin Cargar el valor en el ACU1-L. Sumar el ACU1-L (entero) a AR 2.
Ejemplo 2
AWL +AR2 P#300.0 Explicacin Sumar el desplazamiento 300.0 a AR 2.
14-11
14.13 BLD
Formato
BLD <nmero>
Operando
<nmero>
Descripcin
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
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
14-12
14.14 NOP 0
Formato
NOP 0
Operacin nula 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
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
14.15 NOP 1
Formato
NOP 1
Operacin nula 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
se escribe: -
A1
-
A0
-
OV
-
OS
-
OR
-
STA
-
RLO
-
/ER
-
14-13
14-14
A.1
Nemotcnica alemana
= ) + *D *I *R /D /I /R ?D ?I ?R
Descripcin
Asignar Cerrar parntesis Sumar constante entera o entera doble Multiplicar ACU 1 por ACU 2 como entero doble Multiplicar ACU 1 por ACU 2 como entero Multiplicar ACU 1 por ACU 2 como nmero de coma flotante (32 bits) Dividir ACU 2 por ACU 1 como entero doble Dividir ACU 2 por ACU 1 como entero Dividir ACU 2 por ACU 1 como nmero de coma flotante (32 bits) Comparar enteros dobles ==, <>, >, <, >=, <= Comparar enteros ==, <>, >, <, >=, <= Comparar nmeros en coma flotante (32 bits) ==, <>, >, <, >=, <= Sumar el ACU 1 al registro de direcciones 1 Sumar el ACU1 al registro de direcciones 2 Sumar ACU 1 y 2 como entero doble Sumar ACU 1 y 2 como entero Sumar ACU 1 y 2 como nmero de coma flotante (32 bits) Valor absoluto de un nmero de coma flotante (32 bits, IEEE-FP) Calcular el arcocoseno de un nmero de coma flotante (32 bits) Calcular el arcoseno de un nmero de coma flotante (32 bits)
+AR1 +AR2 +D +I +R
+AR1 +AR2 +D +I +R
Acumulador Acumulador Funcin en coma fija Funcin en coma fija Funcin en coma flotante
ABS
ABS
ACOS
ACOS
ASIN
ASIN
A-1
Nemotcnica alemana
ATAN AUF BE BEA BEB BLD BTD BTI CALL CALL CALL CC CLR COS D DEC DTB DTR
Nemotcnica inglesa
ATAN OPN BE BEU BEC BLD BTD BTI CALL CALL CALL CC CLR COS D DEC DTB DTR
Descripcin
Calcular la arcotangente de un nmero de coma flotante (32 bits) Abrir bloque de datos Fin de bloque Fin de bloque incondicionado Fin de bloque condicionado Estructuracin de imagen (operacin nula) Convertir nmero BCD a entero doble Convertir BCD a entero Llamada Llamar a una multiinstancia Llamar a un bloque de una librera Llamada condicionada Desactivar RLO (=0) Calcular el coseno de ngulos como nmeros de coma flotante (32 bits) Restar ACU 1 de ACU 2 como entero doble Decrementar ACU 1-L-L Convertir entero doble en BCD Convertir entero doble en nmero en coma flotante (32 bits, IEEE-FP) Introducir pila de ACU Calcular el exponente de un nmero de coma flotante (32 bits) Flanco negativo Flanco positivo Habilitar contador (Frei, FR Z 0 zu Z 255) Habilitar temporizador Restar ACU 1 de ACU 2 como entero Incrementar ACU 1-L-L Complemento a uno de un entero doble Complemento a uno de un entero Convertir entero en BCD Convertir entero en entero doble Cargar Cargar palabra de estado en ACU 1 Cargar valor actual del temporizador en ACU 1 como entero (el valor de temporizacin actual puede ser un valor comprendido en el margen de 0 a 255, p. ej., L T 32)
ENT EXP
ENT EXP
Operaciones lgicas con bits Operaciones lgicas con bits Contadores Temporizadores Funcin en coma fija Acumulador Convertidor Convertidor Convertidor Convertidor Cargar/Transferir Cargar/Transferir Temporizadores
A-2
Nemotcnica alemana
L
Nemotcnica inglesa
L
Descripcin
Cargar valor actual del contador en ACU 1 como nmero BCD (el valor de contaje actual puede ser un valor comprendido en el margen de 0 a 255, p. ej., L Z 15) Cargar la longitud del DB global en el ACU 1 Cargar nmero del bloque de datos global en ACU 1 Cargar longitud del bloque de datos de instancia en ACU 1 Cargar nmero del bloque de datos de instancia en ACU 1 Cargar registro de direcciones 1 con contenido del ACU 1 Cargar registro de direcciones 1 con puntero (formato de 32 bits) Cargar registro de direcciones 1 con contenido del registro de direcciones 2 Cargar registro de direcciones 2 con contenido del ACU 1 Cargar registro de direcciones 2 con puntero (formato de 32 bits) Cargar valor actual del contador en ACU 1 como nmero BCD (el valor de contaje actual pueder ser un nmero comprendido en el margen de 0 a 255, p. ej. LC T 32) Cargar el valor actual de temporizacin en ACU 1 como nmero BCD (el valor de temporizacin actual puede ser un nmero comprendido en el margen de 0 a 255, p. ej.: LC T 32) Salir de la pila de ACU Calcular el logaritmo natural de un nmero de coma flotante (32 bits) Bucle Almacenar el RLO en pila MCR, inicio rea MCR Fin rea MCR Activar rea MCR Desactivar rea MCR Resto de la divisin de enteros dobles Complemento a dos de un entero doble Complemento a dos de un entero Invertir un nmero en coma flotante (32 bits, IEEE-FP) Operacin nula 0 Operacin nula 1 Negar el RLO O
Bloque de datos Bloque de datos Bloque de datos Bloque de datos Cargar/Transferir Cargar/Transferir Cargar/Transferir Cargar/Transferir Cargar/Transferir Contadores
LC
LC
Temporizadores
LEAVE LN LOOP MCR( )MCR MCRA MCRD MOD NEGD NEGI NEGR NOP 0 NOP 1 NOT O
LEAVE LN LOOP MCR( )MCR MCRA MCRD MOD NEGD NEGI NEGR NOP 0 NOP 1 NOT O
Acumulador Funcin en coma flotante Saltos Control del programa Control del programa Control del programa Control del programa Funcin en coma fija Convertidor Convertidor Convertidor Acumulador Acumulador Operaciones lgicas con bits Operaciones lgicas con bits
A-3
Nemotcnica alemana
O( OD ON ON( OW POP POP PUSH PUSH R R
Nemotcnica inglesa
O( OD ON ON( OW POP POP PUSH PUSH R R
Descripcin
O con abrir parntesis O con doble palabra (32 bits) O-No O-No con abrir parntesis O con palabra (16 bits) CPU con dos acumuladores CPU con cuatro acumuladores CPU con dos acumuladores CPU con cuatro acumuladores Desactivar Desactivar contador (el valor de temporizacin actual puede ser un nmero comprendido en el margen de 0 a 255, p. ej.: R Z 15) Desactivar temporizador (el temporizador actual puede ser un nmero comprendido en el margen de 0 a 255, p. ej.: R T 32) Restar ACU 1 de ACU 2 como nmero de coma flotante Rotar doble palabra a la izquierda (32 bits) Rotar ACU 1 a la izquierda va A1 (32 bits) Redondear un nmero en coma flotante a entero Redondear un nmero real al prximo entero inferior Redondear un nmero real al prximo entero superior Rotar doble palabra a la derecha (32 bits) Rotar ACU 1 a la derecha va A1 (32 bits) Activar Poner contador al valor inicial (el contador actual puede ser un nmero comprendido en el margen de 0 a 255, p. ej.: S Z 15) Temporizador como retardo a la desconexin Memorizar el RLO en el registro RB
Temporizadores
Funcin en coma flotante Desplazar/Rotar Desplazar/Rotar Convertidor Convertidor Convertidor Desplazar/Rotar Desplazar/Rotar Operaciones lgicas con bits Contadores
SA SAVE
SF SAVE
A-4
Ejemplos de programacin
B-7
Ejemplos de programacin
B.4
Entrada de paquetes
E 12.0
E 12.1
Salida de paquetes
Cinta transportadora 2
Cada impulso generado por la barrera fotoelctrica 1 aumenta el valor del contador Z1 en una unidad, contando as el nmero de paquetes transportados al rea de almacenamiento. Cada impulso generado por la barrera fotoelctrica 2 disminuye el valor del contador Z1 en una unidad, contando as los paquetes que salen del rea de almacenamiento. Si el valor de contaje es 0, se enciende la lmpara indicadora "Area de almacenamiento vaca". Si el valor de contaje no es 0, se enciende la lmpara indicadora "Area de almacenamiento no vaca". Si el valor de contaje es menor o igual a 50, se enciende la lmpara indicadora "Area de almacenamiento al 50% .
Si el valor de contaje es mayor o igual a 90, se enciende la lmpara indicadora "Area de almacenamiento al 90%". Si el valor de contaje es mayor o igual a 100, se enciende la lmpara indicadora "Area de almacenamiento llena". (Tambin se puede utilizar la salida A 4.4 para bloquear la cinta transportadora 1).
B-8
Ejemplos de programacin
B.5
Operacin AWL
AWL L L +I Explicacin EW0 DB5.DBW3 E 0.1
L *I
+15
L /I
MW2
MD4
Cargar el valor de la palabra de entrada EW0 en el ACU 1. Cargar el valor de la palabra de datos global DBW3 del DB5 en el ACU 1. El antiguo contenido del ACU 1 se desplaza al ACU 2. Sumar el contenido de las palabras bajas de los ACUs 1 y 2. El resultado se deposita en la palabra baja del ACU 1. El contenido del ACU 2 y la palabra alta del ACU 1 permanecen inalterados. Cargar el valor constante +15 en el ACU 1. El antiguo contenido del ACU 1 se desplaza al ACU 2. Multiplicar el contenido de la palabra baja del ACU 2 por el contenido de la palabra baja del ACU 1. El resultado se deposita en el ACU 1. El contenido del ACU 2 permanece inalterado. Cargar el valor de la palabra de marcas MW2 en el ACU 1. El antiguo contenido del ACU 1 se desplaza al ACU 2. Dividir el contenido de la palabra baja del ACU 2 por el contenido de la palabra baja del ACU 1. El resultado se deposita en el ACU 1. El contenido del ACU 2 permanece inalterado. Transferir el resultado final a la palabra doble de marcas MD4. El contenido de ambos acumuladores permanece inalterado.
B-9
Ejemplos de programacin
B.6
Caldera
EB0
EB1
Direccin absoluta
E 0.7 E 1.0 a E 1.3 E 1.4 a E 1.7 E 0.0 a E 0.3 A 4.0
Operacin AWL
AWL U = BEB Explicacin T1 A 4.0
Si el temporizador est en marcha, poner en marcha la calefaccin. Si el temporizador est en marcha, finalizar aqu el procesamiento. Esto impide que el temporizador T1 vuelva a arrancar al accionar el pulsador. Enmascarar los bits de entrada E 0.4 a E 0.7 (es decir, volverlos a poner a 0). Este valor de temporizacin en segundos se encuentra en la palabra baja del ACU 1 en formato decimal codificado en binario. Asignar la base de tiempo en segundos en los bits 12 y 13 de la palabra baja del ACU 1. Arrancar el temporizador T1 como temporizador de impulso prolongado cuando se accione el pulsador. Finalizar el segmento de programa.
L UW
EW0 W#16#0FFF
OW U SV BE
W#16#2000 E 0.7 T1
B-10
Indice alfabtico
) ................................................................... 1-14 )MCR.............................................................10-21 *D................................................................... 7-10 *I ..................................................................... 7-5 *R..................................................................... 8-5 /D ................................................................... 7-11 /I ..................................................................... 7-6 /R ..................................................................... 8-6 ? D ................................................................... 2-3 ? I..................................................................... 2-2 ? R ................................................................... 2-4 + ..................................................................... 7-8 +AR1 .............................................................14-10 +AR2 .............................................................14-11 +D .................................................................... 7-8 +I ..................................................................... 7-3 +R .................................................................... 8-3 = ................................................................... 1-15 Abrir bloque de datos ........................................ 5-2 ABS.................................................................. 8-7 ACOS............................................................. 8-16 Activar ............................................................ 1-17 Activar el RLO (=1) ......................................... 1-18 Aplicaciones prcticas....................................... B-1 Area de memoria ......................................4-1, 12-1 Asignar ........................................................... 1-15 ASIN............................................................... 8-15 ATAN.............................................................. 8-17 AUF.................................................................. 5-2 Base di tiempo ................................................ 12-2 BE .................................................................. 10-2 BEA................................................................ 10-4 BEB................................................................ 10-3 BLD ...............................................................14-12 BTD.................................................................. 3-4 BTI ................................................................... 3-2 Bucle .............................................................. 6-19 Calcular la raz cuadrada de un nmero de coma flotante (32 bits) ............................................ 8-9 Calcular el arcocoseno de un nmero de coma flotante (32 bits) .......................................... 8-16 Calcular el arcoseno de un nmero de coma flotante (32 bits) .......................................... 8-15 Calcular el coseno de ngulos como nmeros de coma flotante (32 bits) ............................ 8-13 Calcular el cuadrado de un nmero de coma flotante (32 bits) ............................................ 8-8
Lista de instrucciones (AWL) para S7-300 y S7-400 A5E00068878-02
Calcular el logaritmo natural de un nmero de coma flotante (32 bits)............................. 8-11 Calcular el seno de ngulos como nmeros de coma flotante (32 bits)............................. 8-12 Calcular la arcotangente de un nmero de coma flotante (32 bits)............................. 8-17 Calcular la tangente de ngulos como nmeros de coma flotante (32 bits) .............. 8-14 CALL .............................................10-5, 10-6, 10-7 Cambiar el orden de los bytes en el ACU 1-L (16 bits)....................................................... 3-13 Cargar .............................................................. 9-2 Cargar el valor actual de temporizacin en ACU 1 como nmero BCD ...................... 12-9 Cargar la longitud del DB global en el ACU 1 ..... 5-3 Cargar longitud del bloque de datos de instancia en ACU 1 ................................... 5-4 Cargar nmero del bloque de datos de instancia en ACU 1 ................................... 5-5 Cargar nmero del bloque de datos global en ACU 1 ................................... 5-4 Cargar palabra de estado en ACU 1 .................. 9-4 Cargar registro de direcciones 1 con contenido del ACU 1 ............................... 9-5 Cargar registro de direcciones 1 con contenido del registro de direcciones 2 .... 9-6 Cargar registro de direcciones 2 con contenido del ACU 1 ............................... 9-6 Cargar registro de direcciones 2 con puntero (formato de 32 bits)........................................ 9-7 Cargar valor actual del contador en ACU 1 como nmero BCD ........................................ 4-4 Cargar valor actual del contador en ACU 1 en forma de entero ........................................ 4-3 Cargar valor actual del temporizador en ACU 1 como entero ................................................ 12-7 CC ................................................................ 10-15 Cerrar parntesis ............................................ 1-14 CLR ................................................................ 1-19 Comparar enteros (== <> > < >= <=) ................. 2-2 Comparar enteros dobles (== <> > < >= <=) ...... 2-3 Comparar nmeros en coma flotante (32 bits) (== <> > < >= <=) .......................................... 2-4 Complemento a dos de un entero .................... 3-10 Complemento a dos de un entero doble ........... 3-11 Complemento a uno de un entero ...................... 3-8 Complemento a uno de un entero doble............. 3-9
Indice-1
Indice alfabtico
Componentes de un temporizador ................... 12-1 Configuracin binaria en el contador.................. 4-1 Convertir BCD a entero ..................................... 3-2 Convertir entero doble en BCD .......................... 3-6 Convertir entero doble en nmero en coma flotante (32 bits IEEE-FP) ..................... 3-7 Convertir entero en BCD ................................... 3-3 Convertir entero en entero doble........................ 3-5 Convertir nmero BCD a entero doble ............... 3-4 COS ............................................................... 8-13 DEC ............................................................... 14-9 Decrementar ACU 1-L-L.................................. 14-9 Decrementar contador....................................... 4-8 Desactivar ...................................................... 1-16 Desactivar contador .......................................... 4-5 Desactivar RLO (=0) ....................................... 1-19 Desactivar temporizador.................................12-10 Desplazar doble palabra a la derecha (32 bits). 11-8 Desplazar doble palabra a la izquierda (32 bits) 11-7 Desplazar palabra a la derecha (16 bits) .......... 11-6 Desplazar palabra a la izquierda (16 bits) ........ 11-4 Desplazar signo de nmero entero a la derecha (16 bits)....................................................... 11-2 Desplazar signo de nmero entero doble a la derecha (32 bits)................................... 11-3 Dividir ACU 2 por ACU 1 como entero ............... 7-6 Dividir ACU 2 por ACU 1 como entero doble .... 7-11 Dividir ACU 2 por ACU 1 como nmero de coma flotante (32 bits) .............................. 8-6 DTB.................................................................. 3-6 DTR.................................................................. 3-7 Ejemplo Operaciones de aritmtca con enteros ........... B-9 Operaciones de contaje y comparacin.......... B-8 Operaciones de temporizacin....................... B-5 Operaciones lgicas con palabras ............... B-10 Ejemplos Operaciones lgicas con bits ......................... B-2 Ejemplos de programacin ................................ B-1 ENT................................................................ 14-7 Estructuracin de imagen (operacin nula) .....14-12 Evaluar bits de la palabra de estado en operaciones en coma fija ............................... 7-2 Evaluar los bits de la palabra de estado (operaciones de coma flotante)...................... 8-2 EXP Calcular el exponente de un nmero de coma flotante (32 bits) ............................ 8-10 Fin de bloque .................................................. 10-2 Fin de bloque condicionado............................. 10-3 Fin de bloque incondicionado .......................... 10-4 Flanco negativo ......................................1-21, 1-22 Flanco positivo................................................ 1-23 FN .................................................................. 1-21 FP .................................................................. 1-23 FR ................................................... 4-2, 12-5, 12-6 Habilitar contador.............................................. 4-2 Habilitar temporizador ..................................... 12-5
INC ................................................................. 14-8 Incrementar ACU 1-L-L.................................... 14-8 Incrementar contador ........................................ 4-7 Intercambiar ACU 1 y ACU 2 ........................... 14-2 Intercambiar bloque de datos global y bloque de datos de instancia.......................... 5-3 Intercambiar registro de direcciones 1 y registro de direcciones 2 .............................. 9-10 Introducir pila de ACU...................................... 14-7 INVD................................................................. 3-9 Invertir el orden de los bytes en el ACU 1 (32 bits)...................................................... 3-14 Invertir un nmero en coma flotante (32 bits IEEE-FP)......................................... 3-12 INVI .................................................................. 3-8 ITB.................................................................... 3-3 ITD ................................................................... 3-5 L .............................................................. 4-3, 9-2 L DBLG............................................................. 5-3 L DBNO ............................................................ 5-4 L DILG .............................................................. 5-4 L DINO ............................................................. 5-5 L STW .............................................................. 9-4 LAR1 ................................................................ 9-5 LAR1 <D> Cargar registro de direcciones 1 con puntero (formato de 32 bits)..................... 9-5 LAR1 AR2......................................................... 9-6 LAR2 ................................................................ 9-6 LAR2 <D> ......................................................... 9-7 LC............................................................ 4-4, 12-9 LEAVE............................................................ 14-7 Lista de ejemplos de programacin....................B-1 Lista de operaciones aritmticas con enteros ..... 7-1 Lista de operaciones aritmticas con nmeros en coma flotante.............................. 8-1 Lista de operaciones con bloques ...................... 5-1 Lista de operaciones de acumuladores ............ 14-1 Lista de operaciones de cargar y transferencia... 9-1 Lista de operaciones de comparacin ................ 2-1 Lista de operaciones de contaje......................... 4-1 Lista de operaciones de control del programa .. 10-1 Lista de operaciones de conversin ................... 3-1 Lista de operaciones de desplazamiento.......... 11-1 Lista de operaciones de rotacin.................... 11-10 Lista de operaciones de salto ............................ 6-1 Lista de operaciones de temporizacin ............ 12-1 Lista de operaciones lgicas con bits ................. 1-1 Lista de operaciones lgicas con palabras ....... 13-1 Llamada.........................................10-5, 10-6, 10-7 Llamada a un FB............................................. 10-9 Llamada a un SFB......................................... 10-12 Llamada a una FC......................................... 10-10 Llamada a una SFC....................................... 10-13 Llamada condicionada................................... 10-15 Llamada incondicionada ................................ 10-16 Llamar a un bloque de una librera ................. 10-14 Llamar a un FB................................................ 10-8
Lista de instrucciones (AWL) para S7-300 y S7-400 A5E00068878-02
Indice-2
Indice alfabtico
Llamar a un SFB ............................................10-11 Llamar a una FC ............................................10-10 Llamar a una multiinstancia ............................10-14 Llamar a una SFC..........................................10-13 LN .................................................................. 8-11 LOOP ............................................................. 6-19 MCR..............................10-20, 10-21, 10-22, 10-23 MCR(.............................................................10-20 MCRA............................................................10-22 MCRD ...........................................................10-23 Memorizar el RLO en el registro RB................. 1-20 MOD............................................................... 7-12 Multiplicar ACU 1 por ACU 2 como entero doble................................................ 7-10 Multiplicar ACU 1 por ACU 2 como de coma flotante (32 bits) ................................... 8-5 Multiplicar ACU 1 por ACU 2 como entero ......... 7-5 Negar el RLO.................................................. 1-18 NEGD............................................................. 3-11 NEGI .............................................................. 3-10 NEGR............................................................. 3-12 Nemotcnica alemana/SIMATIC........................ A-1 Nemotcnica inglesa ......................................... A-7 NOP 0 ...........................................................14-13 NOP 1 ...........................................................14-13 NOT ............................................................... 1-18 Notas importantes sobre el uso de la funcin MCR...........................................10-19 O ...............................................................1-5, 1-9 O con abrir parntesis ..................................... 1-12 O con doble palabra (32 bits)........................... 13-6 O con palabra (16 bits) .................................... 13-3 O(................................................................... 1-12 OD ................................................................. 13-6 O-exclusiva....................................................... 1-7 O-exclusiva con abrir parntesis...................... 1-13 O-exclusiva con doble palabra (32 bits) ........... 13-7 O-exclusiva con palabra (16 bits)..................... 13-4 O-exclusiva-NO ................................................ 1-8 O-exclusiva-NO con abrir parntesis................ 1-13 ON ................................................................... 1-6 ON( ................................................................ 1-12 O-No ................................................................ 1-6 O-No con abrir parntesis................................ 1-12 Operacin nula 0............................................14-13 Operacin nula 1............................................14-13 Operaciones AWL ordenadas segn la nemotcnica alemana (SIMATIC)............... A-1 Operaciones AWL ordenadas segn la nemotcnica inglesa (internacional)............ A-7 OW................................................................. 13-3 Poner contador al valor inicial............................ 4-6 POP .......................................................14-5, 14-6 CPU con cuatro acumuladores .................... 14-6 CPU con dos acumuladores ........................ 14-5 PUSH .....................................................14-3, 14-4 CPU con cuatro acumuladores .................... 14-4
Lista de instrucciones (AWL) para S7-300 y S7-400 A5E00068878-02
CPU con dos acumuladores......................... 14-3 R ..................................................1-16, 4-5, 12-10 Redondear nmero real al prximo entero inferior .............................................. 3-18 Redondear un nmero en coma flotante a entero....................................................... 3-15 Redondear un nmero real al prximo entero superior ............................................ 3-17 Restar ACU 1 de ACU 2 como entero ................ 7-4 Restar ACU 1 de ACU 2 como entero doble ....... 7-9 Restar ACU 1 de ACU 2 como nmero de coma flotante (32 bits)............................... 8-4 Resto de la divisin de enteros dobles ............. 7-12 RLD ....................................................11-10, 11-11 RLDA............................................................ 11-13 RND................................................................ 3-15 RND- .............................................................. 3-18 RND+.............................................................. 3-17 Roar ACU 1 a la derecha va A1 (32 bits) ....... 11-14 Rotar ACU 1 a la izquierda va A1 (32 bits) .... 11-13 Rotar doble palabra a la derecha (32 bits) ...... 11-11 Rotar doble palabra a la izquierda (32 bits) .... 11-10 RRD....................................................11-11, 11-12 RRDA ........................................................... 11-14 S ............................................................ 1-17, 4-6 SA ................................................................ 12-18 Salir de la pila de ACU..................................... 14-7 Saltar si el resultado <= 0 ................................ 6-17 Saltar si el resultado = 0 .................................. 6-12 Saltar si el resultado > 0 .................................. 6-14 Saltar si el resultado >= 0 ................................ 6-16 Saltar si el resultado no es vlido..................... 6-18 Saltar si OS = 1............................................... 6-11 Saltar si OV = 1............................................... 6-10 Saltar si RB = 0 ................................................. 6-9 Saltar si RB = 1 ................................................. 6-9 Saltar si resultado < 0...................................... 6-15 Saltar si resultado <> 0.................................... 6-13 Saltar si RLO = 0............................................... 6-6 Saltar si RLO = 0 y salvar RLO en RB................ 6-8 Saltar si RLO = 1............................................... 6-5 Saltar si RLO = 1 y salvaguardar RLO en RB ..... 6-7 Saltar utilizando una lista de metas .................... 6-4 Salto incondicionado ......................................... 6-3 SAVE.............................................................. 1-20 SE ................................................................ 12-14 SET ................................................................ 1-18 SI .......................................................12-10, 12-11 SIN ................................................................. 8-12 SLD ................................................................ 11-7 SLW ...................................................... 11-4, 11-5 SPA .................................................................. 6-3 SPB .................................................................. 6-5 SPBB................................................................ 6-7 SPBI ................................................................. 6-9 SPBIN............................................................... 6-9 SPBN................................................................ 6-6
Indice-3
Indice alfabtico
SPBNB ............................................................. 6-8 SPL .................................................................. 6-4 SPM ............................................................... 6-15 SPMZ ............................................................. 6-17 SPN................................................................ 6-13 SPO ............................................................... 6-10 SPP................................................................ 6-14 SPPZ.............................................................. 6-16 SPS................................................................ 6-11 SPU................................................................ 6-18 SPZ ................................................................ 6-12 SQR ................................................................. 8-8 SQRT ............................................................... 8-9 SRD .......................................................11-8, 11-9 SRW............................................................... 11-6 SS .................................................................12-16 SSD........................................................11-3, 11-4 SSI ................................................................. 11-2 Sumar ACU 1 y 2 como entero .......................... 7-3 Sumar ACU 1 y 2 como entero doble................. 7-8 Sumar ACU 1 y 2 como nmero de coma flotante (32 bits) ................................... 8-3 Sumar constante entera o entera doble.............. 7-7 Sumar el ACU 1 al registro de direcciones 1 ...14-10 Sumar el ACU1 al registro de direcciones 2 ....14-11 SV .................................................................12-12 T ..................................................................... 9-8 T STW .............................................................. 9-9 TAD................................................................ 3-14 TAK ................................................................ 14-2 TAN................................................................ 8-14 TAR................................................................ 9-10 TAR1 .............................................................. 9-10 TAR1 <D> ...................................................... 9-11 TAR1 AR2 ...................................................... 9-12 TAR2 .............................................................. 9-12 TAR2 <D> ...................................................... 9-13 TAW ............................................................... 3-13 TDB.................................................................. 5-3 Temporizador como impulso...........................12-10 Temporizador como impulso prolongado.........12-12 Temporizador como retardo a la conexin.......12-14
Temporizador como retardo a la conexin con memoria............................... 12-16 Temporizador como retardo a la desconexin .......................................... 12-18 Transferir .......................................................... 9-8 Transferir ACU 1 a la palabra de estado............. 9-9 Transferir registro de direcciones 1 a ACU 1 .... 9-10 Transferir registro de direcciones 1 a direccin de destino (puntero de 32 bits) ...... 9-11 Transferir registro de direcciones 1 a registro de direcciones 2 .............................. 9-12 Transferir registro de direcciones 2 a ACU 1 .... 9-12 Transferir registro de direcciones 2 a direccin de destino (puntero de 32 bits) ...... 9-13 TRUNC ........................................................... 3-16 Truncar ........................................................... 3-16 U ..................................................................... 1-3 U( ................................................................... 1-10 UC ................................................................ 10-16 UD .................................................................. 13-5 UN .................................................................... 1-4 UN(................................................................. 1-11 UW ................................................................. 13-2 Valor absoluto de un nmero de coma flotante (32 bits IEEE-FP)........................................... 8-7 Valor de contaje ................................................ 4-1 Valor de temporizacin .......... 12-1, 12-2, 12-3, 12-4 X ..................................................................... 1-7 X( ................................................................... 1-13 XN .................................................................... 1-8 XN( ................................................................. 1-13 XOD ............................................................... 13-7 XOW............................................................... 13-4 Y ..................................................................... 1-3 Y antes de O ..................................................... 1-9 Y con abrir parntesis...................................... 1-10 Y con doble palabra (32 bits) ........................... 13-5 Y con palabra (16 bits)..................................... 13-2 Y-No ................................................................. 1-4 Y-No con abrir parntesis ................................ 1-11 ZR .................................................................... 4-8 ZV..................................................................... 4-7
Indice-4
Industria del automvil Industria qumica Industria elctrica Industria alimentaria Control e instrumentacin Industria mecnica Industria petroqumica
Industria farmacutica Industria del plstico Industria papelera Industria textil Transportes
Otros....................................................
Observaciones/sugerencias
Observaciones/sugerencias Sus observaciones y sugerencias nos permiten mejorar la calidad y utilidad de nuestra documentacin. Por ello le rogamos que rellene el presente formulario y lo enve a Siemens.
Responda por favor a las siguientes preguntas dando una puntuacin comprendida entre 1 = muy
bien y 5 = muy mal
1. Corresponde el contenido del manual a sus exigencias ? 2. Resulta fcil localizar las informaciones requeridas ? 3. Es comprensible el texto ? 4. Corresponde el nivel de los detalles tcnicos a sus exigencias ? 5. Qu opina de la calidad de las ilustraciones y tablas ?
o o o o o
En las lneas siguientes puede exponer los problemas concretos que se le hayan planteado al manejar el manual: .............................................................................................................................................. .............................................................................................................................................. .............................................................................................................................................. .............................................................................................................................................. .............................................................................................................................................. .............................................................................................................................................. .............................................................................................................................................. .............................................................................................................................................. .............................................................................................................................................. .............................................................................................................................................. ..............................................................................................................................................