Documentos de Académico
Documentos de Profesional
Documentos de Cultura
AWL Siemens
AWL Siemens
Prolgo,
ndice
SIMATIC
Lista de instrucciones (AWL)
para S7-300 y S7-400
Manual de referencia
Operaciones de comparacin
Operaciones de conversin
Operaciones de contaje
Operaciones de salto
Aritmtica de enteros
Operaciones de carga y
transferencia
Control de programa
10
Operaciones de
desplazamiento y rotacin
11
Operaciones de temporizacin
12
13
Operaciones con
acumuladores
14
Ejemplos de programacin
Transferencia de parmetros
ndice alfabtico
Edicin 03/2006
A5E00706962-01
Consignas de seguridad
Este manual contiene las informaciones necesarias para la seguridad personal as como para la
prevencin de daos materiales. Las informaciones para su seguridad personal estn resaltadas con
un tringulo de advertencia; las informaciones para evitar nicamente daos materiales no llevan dicho
tringulo. De acuerdo al grado de peligro las consignas se representan, de mayor a menor peligro,
como sigue:
Peligro
Advertencia
Precaucin
Significa que, si no se adoptan las medidas preventivas adecuadas se producir la muerte, o bien
lesiones corporales graves.
Significa que, si no se adoptan las medidas preventivas adecuadas puede producirse la muerte o
bien lesiones corporales graves.
Con tringulo de advertencia significa que si no se adoptan las medidas preventivas adecuadas,
pueden producirse lesiones corporales.
Precaucin
Sin tringulo de advertencia significa que si no se adoptan las medidas preventivas adecuadas,
pueden producirse daos materiales.
Atencin
Significa que puede producirse un resultado o estado no deseado si no se respeta la consigna de
seguridad correspondiente.
Si se dan varios niveles de peligro se usa siempre la consigna de seguridad ms estricta en cada caso.
Si en una consigna de seguridad con tringulo de advertencia se alarma de posibles daos personales,
la misma consigna puede contener tambin una advertencia sobre posibles daos materiales.
Personal cualificado
El equipo/sistema correspondiente slo deber instalarse y operarse respetando lo especificado en
este documento. 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:
Advertencia
El equipo o los componentes del sistema slo se podrn utilizar para los casos de aplicacin
previstos en el catlogo y en la descripcin tcnica, y slo asociado a los equipos y componentes de
Siemens y de tercera que han sido recomendados y homologados por Siemens.
El funcionamiento correcto y seguro del producto presupone un transporte, un almacenamiento, una
instalacin y un montaje conforme a las prcticas de la buena ingeniera, as como un manejo y un
mantenimiento rigurosos.
Marcas registradas
Todos los nombres marcados con son marcas registradas de Siemens AG. Los restantes nombres y
designaciones contenidos en el presente documento pueden ser marcas registradas cuya utilizacin
por terceros para sus propios fines puede violar los derechos de sus titulares.
Exencin de responsabilidad
Hemos comprobado la concordancia del contenido de esta publicacin con el hardware y el software
descritos. Sin embargo, como es imposible excluir desviaciones, no podemos hacernos responsable de
la plena concordancia. El contenido de esta publicacin se revisa peridicamente; si es necesario, las
posibles correcciones se incluyen en la siguiente edicin.
Siemens AG
Automation and Drives
Postfach 4848,
90437 NRNBERG
ALEMANIA
A5E00706962-01
03/2006
Prolgo
Objetivo del manual
Este manual le servir de ayuda al crear programas de usuario con el lenguaje de
pogramacin AWL.
Describe los elementos del lenguaje de programacin AWL, as como su sintaxis y sus
funciones.
Nociones bsicas
Este manual est dirigido a programadores de programas S7, operadores y personal de
mantenimiento que dispongan de conocimientos bsicos sobre los autmatas programables.
Adems es necesario estar familiarizado con el uso de ordenadores o equipos similares a
un PC (p. ej. unidades de programacin) bajo los sistemas operativos MS Windows 2000
Professional, MS Windows XP Professional o MS Windows Server 2003.
iii
Prolgo
Requisitos
Para entender correctamente el presente manual de AWL se requieren conocimientos
tericos acerca de los programas S7, que se pueden consultar en la Ayuda en pantalla de
STEP 7. Como que los paquetes acerca de los lenguajes de programacin se basan en el
software estndar de STEP 7, debera conocerse ya mnimamente el uso del software y su
documentacin.
Este manual forma parte del paquete de documentacin "STEP 7 Informacin de
referencia.
La tabla siguiente da una visin de conjunto de la documentacin de STEP 7:
Manuales
Tema
Referencia
Ayudas en pantalla
Tema
Referencia
Ayuda de STEP 7
iv
A5E00706962-01
Prolgo
Ayuda en pantalla
Como complemento al manual puede recurrir a la Ayuda en pantalla integrada en el
software.
A la Ayuda que est integrada en el software se accede de distinta manera:
La Ayuda sensible al contexto ofrece informacin sobre el contexto actual, p. ej. sobre el
cuadro de dilogo que est abierto o sobre la ventana activa. Para acceder a esta ayuda
pulse el botn de comando Ayuda o bien la tecla F1.
El men Ayuda ofrece varios comandos de men: Temas de Ayuda abre el ndice de la
Ayuda de STEP 7.
A travs de "Glosario" se accede al glosario para todas las aplicaciones de STEP 7.
Este manual es un extracto de la Ayuda de AWL. Debido a que la estructura del manual se
corresponde a grandes rasgos con la de la Ayuda en pantalla puede alternar la lectura del
manual con la de la Ayuda en pantalla.
Asistencia adicional
Si tiene preguntas relacionadas con el uso de los productos descritos en el manual a las que
no encuentre respuesta, dirjase a la sucursal o al representante ms prximo de Siemens,
en donde le pondrn en contacto con el especialista.
Encontrar a su persona de contacto en la pgina de Internet:
http://www.siemens.com/automation/partner
Encontrar una gua sobre el conjunto de la informacin tcnica correspondiente a los
distintos productos y sistemas SIMATIC en la pgina de Internet:
http://www.siemens.com/simatic-tech-doku-portal
Encontrar el catlogo y el sistema de pedidos on-line en:
http://mall.automation.siemens.com/
http://www.sitrain.com
Prolgo
Technical Support
Podr acceder al Technical Support de todos los productos de A&D
a travs del formulario de Internet para el Support Request
http://www.siemens.com/automation/support-request
Telfono: + 49 180 5050 222
Fax:
vi
A5E00706962-01
ndice
1
Operaciones de comparacin
2.1
2.2
2.3
2.4
3.8
3.9
3.10
3.11
3.12
3.13
2-1
Operaciones de conversin
3.1
3.2
3.3
3.4
3.5
3.6
3.7
1-1
3-1
vii
ndice
3.14
3.15
3.16
3.17
3.18
4
Operaciones de contaje
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
viii
5-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
4-1
6-1
ndice
Aritmtica de enteros
7.1
7.2
7.3
7.4
7.5
7.6
7.7
7.8
7.9
7.10
7.11
7.12
8.4.3
8.4.4
8.4.5
8.4.6
8.4.7
8.4.8
8.4.9
8.4.10
9
9.6
9.7
9.8
9.9
9.10
8-1
7-1
9-1
ix
ndice
9.11
9.12
9.13
9.14
9.15
9.16
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
11
10-1
11-1
ndice
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
13
14
13-1
12-1
14-1
xi
ndice
Ejemplos de programacin
B.1
B.2
B.3
B.4
B.5
B.6
B-1
Transferencia de parmetros
ndice alfabtico
xii
A-1
C-1
ndice alfabtico-1
1.1
Descripcin
Las operaciones lgicas con bits operan con dos dgitos, 1 y 0. Estos dos dgitos consituyen la
base de un sistema numrico denominado sistema binario. Los dos dgitos 1 y 0 se
denominan dgitos binarios o bits. En el mbito de los contactos y bobinas, un 1 significa
activado (conductor) y un 0 significa desactivado (no conductor).
Las operaciones lgicas con bits interpretan los estados de seal 1 y 0, y los combinan de
acuerdo con la lgica de Boole. Estas combinaciones producen un 1 un 0 como resultado y
se denominan resultado lgico (RLO). Las operaciones lgicas con bits permiten ejecutar las
ms diversas funciones.
Las operaciones bsicas para las operaciones lgicas con bits son:
U
UN
Y-No
ON
O-No
O-exclusiva
XN
O-exclusiva-No
Las siguientes operaciones permiten ejecutar una cadena lgica encerrada entre parntesis:
U(
UN(
O(
ON(
X(
XN(
Cerrar parntesis
Para terminar una cadena lgica se puede utilizar una de las tres operaciones:
=
Asignar
Desactivar
Activar
Negar el RLO
1-1
SET
CLR
SAVE
1-2
FN
Flanco negativo
FP
Flanco positivo
1.2
Formato
U <bit>
Operando
Tipo de datos
Area de memoria
<bit>
BOOL
E, A, M, L, D, T, Z
Descripcin de la operacin
U consulta el bit direccionado para saber si tiene el estado de seal "1", y combina el resultado
de la consulta con el RLO realizando una Y lgica.
Consultar el estado de los bits de la palabra de estado:
Utilizando la operacin Y tambin se puede consultar directamente la palabra de estado. A tal
fin, emplense los siguientes operandos: ==0, <>0, >0, <0, >=0, <=0, UO, RB, OS, OV.
Palabra de estado
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
Programa AWL
E 1.0
Contacto
normal. abierto
E 1.1
Contacto
normal. abierto
A 4.0
Bobina
1-3
1.3
UN
Y-No
Formato
UN <bit>
Operando
Tipo de datos
Area de memoria
<bit>
BOOL
E, A, M, L, D, T, Z
Descripcin de la operacin
UN consulta el bit direccionado para saber si tiene el estado de seal "0" y combina el
resultado de la consulta con el RLO realizando una Y lgica.
Consultar el estado de los bits de la palabra de estado:
Con la operacin Y-No tambin se puede consultar directamente la palabra de estado. A tal
fin, emplense los siguientes operandos: ==0, <>0, >0, <0, >=0, <=0, UO, RB, OS, OV.
Palabra de estado
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
Programa AWL
1-4
E 1.0
E 1.0
Estado de seal 0
UN
E 1.1
E 1.1
Estado de seal 1
A 4.0
A 4.0
Estado de seal 0
Contacto
normal. abierto
Contacto normal.
cerrado
Bobina
1.4
Formato
O <bit>
Operando
Tipo de datos
Area de memoria
<Bit>
BOOL
E, A, M, L, D, T, Z
Descripcin de la operacin
O consulta el bit direccionado para saber si tiene el estado de seal "1", y combina el
resultado de la consulta con el RLO realizando una O lgica.
Consultar el estado de los bits de la palabra de estado:
Con la operacin O tambin se puede consultar directamente la palabra de estado. A tal fin,
emplense los siguientes operandos: ==0, <>0, >0, <0, >=0, <=0, UO, RB, OS, OV.
Palabra de estado
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
Programa AWL
E 1.0
E 1.1
A 4.0
Bobina
1-5
1.5
ON
O-No
Formato
ON <bit>
Operando
Tipo de datos
Area de memoria
<bit>
BOOL
E, A, M, L, D, T, Z
Descripcin de la operacin
ON consulta el bit direccionado para saber si tiene el estado de seal "0", y combina el
resultado de la consulta con el RLO realizando una O lgica.
Consultar el estado de los bits de la palabra de estado:
Con la operacin O-No tambin se puede consultar directamente la palabra de estado. A tal
fin, emplense los siguientes operandos: ==0, <>0, >0, <0, >=0, <=0, UO, RB, OS, OV.
Palabra de estado
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
Programa AWL
1-6
Contacto
normalm.
abierto
E 1.0
E 1.0
Estado de seal 0
ON
E 1.1
E 1.1
Estado de seal 1
Contacto
normalm.
cerrado
A 4.0
A 4.0
Estado de seal 1
Bobina
1.6
O-exclusiva
Formato
X <bit>
Operando
Tipo de datos
Area de memoria
<bit>
BOOL
E, A, M, L, D, T, Z
Descripcin de la operacin
X consulta el bit direccionado para saber si su estado de seal es "1", y combina el resultado
de la consulta con el RLO realizando una operacin lgica O-exclusiva.
La funcin O-exclusiva se puede utilizar varias veces consecutivas. Entonces el resultado
lgico comn ser "1" si un nmero impar de los operandos consultados da un "1" como
resultado.
Consultar el estado de los bits de la palabra de estado:
Aplicando la operacin O-exclusiva tambin se puede consultar directamente la palabra de
estado. A tal fin, emplense los siguientes operandos: ==0, <>0, >0, <0, >=0, <=0, UO, RB,
OS, OV.
Palabra de estado
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
Programa AWL
E 1.0
Contacto E 1.0
E 1.1
Contacto E 1.1
A 4.0
A 4.0
Bobina
1-7
1.7
XN
O-exclusiva-NO
Formato
XN <bit>
Operando
Tipo de datos
Area de memoria
<bit>
BOOL
E, A, M, L, D, T, Z
Descripcin de la operacin
XN consulta el bit direccionado para saber si tiene el estado de seal "0", y combina el
resultado de la consulta con el RLO realizando una operacin lgica O-exclusiva.
Consultar el estado de los bits de la palabra de estado:
Aplicando la operacin O-exclusiva-NO tambin se puede consultar directamente la palabra
de estado. A tal fin, emplense los siguientes operandos: ==0, <>0, >0, <0, >=0, <=0, UO, RB,
OS, OV.
Palabra de estado
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
Programa AWL
1-8
E 1.0
Contacto E 1.0
XN
E 1.1
Contacto E 1.1
A 4.0
A 4.0
Bobina
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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
Programa AWL
E 0.0
M 10.0
O
U
E 0.2
M 0.3
M 10.1
E 0.0
E 0.2
M 10.0
M 0.3
M 10.1
A 4.0
A 4.0
Bobina
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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
Programa AWL
1-10
U(
O
O
)
E 0.0
M 10.0
E 0.0
U(
O
O
)
E 0.2
M 10.3
E 0.2
M 10.1
A 4.0
M 10.0
M 10.3
M 10.1
A 4.0
Bobina
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
se escribe:
1.11
O(
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
1-11
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
se escribe:
1.13
X(
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
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
se escribe:
1-12
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
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( Y con abrir parntesis
UN(
Palabra de estado
se escribe:
1-14
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
Programa AWL
U(
O
O
)
E 0.0
M 10.0
E 0.0
U(
O
O
)
E 0.2
M 10.3
E 0.2
M 10.1
M 10.1
A 4.0
M 10.0
M 10.3
A 4.0
Bobina
1-15
1.16
Asignar
Formato
= <bit>
Operando
Tipo de datos
Area de memoria
<bit>
BOOL
E, A, M, L, D, T, Z
Descripcin de la operacin
= <bit> escribe el RLO en el bit direccionado si el Master Control Relay est conectado (MCR
= 1). Si el MCR es 0, en el bit direccionado se escribe el valor "0" en vez del RLO.
Palabra de estado
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
Programa AWL
U
=
E 1.0
A 4.0
1-16
E 1.0
1
0
A 4.0
1
0
A 4.0
Bobina
1.17
Desactivar
Formato
R <bit>
Operando
Tipo de datos
Area de memoria
<bit>
BOOL
E, A, M, L, D
Descripcin de la operacin
R (Desactivar bit) escribe el valor "0" en el bit direccionado si el RLO es 1 y si el Master Control
Relay (MCR = 1) est conectado. Si el MCR es 0, el bit direccionado no vara.
Palabra de estado
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
Programa AWL
U
S
U
R
E 1.0
A 4.0
E 1.1
A 4.0
A 4.0
E 1.1
1
0
1
0
1
0
Contacto cerrado
A 4.0
Bobinas
1-17
1.18
Activar
Formato
S <bit>
Operando
Tipo de datos
Area de memoria
<bit>
BOOL
E, A, M, L, D
Descripcin de la operacin
S (Activar bit) escribe el valor "1" en el bit direccionado si el RLO es 1 y si el Master Control
Relay (MCR = 1) est conectado. Si el MCR es 0, el bit direccionado no vara.
Palabra de estado
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
Programa AWL
U
S
U
R
E 1.0
A 4.0
E 1.1
A 4.0
A 4.0
E 1.1
1-18
1
0
1
0
1
0
Contacto cerrado
A 4.0
Bobinas
1.19
NOT
Negar el RLO
Formato
NOT
Descripcin de la operacin
NOT niega el RLO.
Palabra de estado
se escribe:
1.20
SET
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Formato
SET
Descripcin de la operacin
SET pone el RLO al estado de seal "1".
Palabra de estado
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
Programa AWL
Estado de seal
SET
= M 10.0
= M 15.1
= M 16.0
1
0
CLR
= M 10.1
= M 10.2
1-19
1.21
CLR
Formato
CLR
Descripcin de la operacin
CLR pone el RLO al estado de seal "0".
Palabra de estado
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
Programa AWL
Estado de seal
SET
= M 10.0
= M 15.1
= M 16.0
1
0
CLR
1-20
= M 10.1
= M 10.2
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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
1-21
1.23
FN
Flanco negativo
Formato
FN <bit>
Operando
Tipo de datos
Area de
memoria
Descripcin
<bit>
BOOL
E, A, M, L, D
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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Definicin
Flanco positivo
RLO
Flanco negativo
1
0
1-22
Tiempo
Ejemplo
Si el autmata programable detecta un flanco negativo en el contacto E 1.0, activa la salida
A 4.0 para un ciclo del OB1.
Programa AWL
E 1.0
E 1.0
1
0
FN
M 1.0
M 1.0
1
0
A 4.0
A 4.0
1
0
1-23
1.24
FP
Flanco positivo
Formato
FP <bit>
Operando
Tipo de datos
Area de memoria
Descripcin
<bit>
BOOL
E, A, M, L, D
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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Definition
Flanco positivo
Flanco negativo
RLO
1
0
1-24
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.
Programa AWL
E 1.0
E 1.0
1
0
FP
M 1.0
M 1.0
1
0
A 4.0
A 4.0
1
0
1-25
1-26
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
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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
RLO si
RLO si
RLO si
ACU 2 = ACU 1
==I
<>I
>I
<I
>=I
<=I
Ejemplo
AWL
L
L
>I
=
2-2
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.
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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
RLO si
RLO si
RLO si
ACU 2 = ACU 1
==D
<>D
>D
<D
>=D
<=D
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 1 (ED24).
//RLO = 1, si MD10 > 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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
RLO si
RLO si
RLO si
ACU 2 = ACU 1
==R
<>R
>R
<R
>=R
<=R
Ejemplo
AWL
L
L
>R
=
2-4
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.
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
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
TRUNC Truncar
RND+ Redondear un nmero real al prximo entero superior
RND-
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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
L
BTI
T
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.
MW10
MW20
"+"
"9"
15...
MW10
...8
0
"5"
7...
0
...0
0
"+915" BCD
"+915" Entero
BTI
MW20
3-2
"1"
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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
L
ITB
MW10
MW20
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.
15...
MW10
...8
7...
0
...0
1
"-413" Entero
"-413" BCD
ITB
MW20
"-"
"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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
L
BTD
T
MD10
MD20
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.
"+"
31...
MD10
BTD
MD20
"0"
"1"
"5"
"7"
...16 15...
"8"
"2"
"1"
...0
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
"+157821"
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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
L
ITD
MW12
MD20
Explicacin
//Cargar el entero (16 bits) en el ACU 1-L.
//Convertir el entero de 16 bits en un entero de 32 bits, almacenar el resultado
en el ACU 1.
//Transferir el resultado (entero doble) a MD20.
ACU1-H
ACU1-L
Bit
31 . . . . .
..
...0
1111
1111
0110
1111
1111
1111
0110
1111
..
1111
. . . 16 15 . . . . .
1111
1111
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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
L
DTB
MD10
MD20
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.
31...
MD10
...0
"-701" Entero
DTB
MD20
...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
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"
"1"
"-701" BCD
3-6
Operaciones de conversin
3.7
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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
L
DTR
MD10
MD20
MD10
DTR
MD20
Explicacin
//Cargar el entero (32 bits) en el ACU 1.
//Convertir el entero (32 bits) en un nmero en coma flotante (32 bits, IEEEFP), almacenar el resultado en el ACU 1.
//Transferir el resultado (nmero BCD) a MD20.
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
"+500" Entero
...0
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
Exponente, 8 bits
1 bit
Signo de la mantisa
Mantisa, 23 bits
"+500" IEEE-FP
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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
L
INVI
T
3-8
EW8
MW10
Explicacin
//Cargar el valor en el ACU1-L.
//Formar el complemento a uno (16 bits).
//Transferir el resultado a MW10.
Contenido
ACU1-L
Bit
15 . . .
..
..
...0
0110
0011
1010
1110
1001
1100
0101
0001
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
se escribe:
RB
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 bits).
//Transferir el resultado a MD10.
Contenido
ACU1-H
Bit
31 . . . . .
..
. . . 16 15 . . . . .
..
...0
0110
1111
1000
1100
0110
0011
1010
1110
1001
0000
0111
0011
1001
1100
0101
0001
ACU1-L
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
A1
A0
OV
OS
OR
STA
RLO
/ER
A1
A0
OV
OS
Resultado = 0
Resultado = 2768
se escribe:
Ejemplo
AWL
L
NEGI
T
3-10
EW8
MW10
Explicacin
//Cargar el valor en el ACU1-L.
//Formar el complemento a dos (16 bits).
//Transferir el resultado a MW10.
Contenido
ACU1-L
Bit
15 . . .
..
..
...0
0101
1101
0011
1000
1010
0010
1100
1000
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
A1
A0
OV
OS
OR
STA
RLO
/ER
A1
A0
OV
OS
Resultado = 0
se escribe:
Ejemplo
AWL
L
NEGD
T
ED8
MD10
Explicacin
//Cargar el valor en el ACU 1.
//Formar el complemento a dos (32 bits).
//Transferir el resultado a MD10.
Contenido
ACU1-H
Bit
31 . . . . .
..
. . . 16 15 . . . . .
..
...0
0101
1111
0110
0100
0101
1101
0011
1000
1010
0000
1001
1011
1010
0010
1100
1000
ACU1-L
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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
L
NEGR
ED8
MD10
3-12
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).
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
se escribe:
RB
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
ACU 1-H-H
ACU 1-H-L
ACU 1-L-H
ACU 1-L-L
valor A
valor B
valor C
valor D
valor A
valor B
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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
L
TAD
T
3-14
MD10
MD20
Explicacin
//Cargar el valor de MD10 en el ACU 1.
//Invertir el orden de los bytes en el ACU 1.
//Transferir el resultado a MD20.
Contenido
ACU 1-H-H
ACU 1-H-L
ACU 1-L-H
ACU 1-L-L
valor A
valor B
valor C
valor D
valor D
valor C
valor B
valor A
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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
L
RND
MD10
MD20
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.
Valor despus de la
conversin
MD10 = "100.5"
MD20 = "+100"
MD10 = "-100.5"
MD20 = "-100"
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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
L
TRUNC
MD10
MD20
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.
3-16
Valor despus de la
conversin
MD10 = "100.5"
MD20 = "+100"
MD10 = "-100.5"
MD20 = "-101"
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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
L
RND+
MD10
MD20
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.
Valor despus de la
conversin
MD10 = "100.5"
MD20 = "+101"
MD10 = "-100.5"
MD20 = "-100"
3-17
Operaciones de conversin
3.18
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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
L
RND-
MD10
MD20
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.
3-18
Valor despus de la
conversin
MD10 = "100.5"
MD20 = "+100"
MD10 = "-100.5"
MD20 = "-101"
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
Desactivar contador
ZV Incrementar contador
ZR Decrementar contador
4-1
Operaciones de contaje
4.2
FR
Habilitar contador
Formato
FR <contador>
Operando
Tipo de
datos
Area de
memoria
Descripcin
<contador>
COUNTER
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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
U
FR
4-2
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".
Operaciones de contaje
4.3
Formato
L <contador>
Operando
Tipo de
datos
Area de
memoria
Descripcin
<contador>
COUNTER
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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
L
Z3
Palabra de
contaje del
contador Z3
en la memoria
Explicacin
//Cargar el valor de contaje del contador Z3 en formato binario en el ACU1-L.
15
14
13
12
11
10
Contenido del
ACU1-L despus
de la instruccin
15
14
13
12
2
2
2
2
de carga L Z3
11
Todos "0"
10
Z3
4-3
Operaciones de contaje
4.4
Formato
LC <contador>
Operando
Tipo de
datos
Area de
memoria
Descripcin
<contador>
COUNTER
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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
LC
Z3
Palabra de
contaje del
contador Z3
en la memoria
Explicacin
//Cargar el valor de contaje del contador Z3 en formato BCD en ACU1-L.
15
14
13
12
11
10
LC
Contenido del
ACU1-L despus
de la instruccin
de carga LC Z3
0
2
15
0
2
14
0
2
13
Z3
0
2
12
11
2
2
10
10 Centenas
2
1
10 Decenas
10 Unidades
4-4
Operaciones de contaje
4.5
Desactivar contador
Formato
R <contador>
Operando
Tipo de
datos
Area de
memoria
Descripcin
<contador>
COUNTER
Descripcin de la operacin
R <contador> carga el valor de contaje "0" en el contador direccionado, si el RLO es 1.
Palabra de estado
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
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
Tipo de
datos
Area de
memoria
Descripcin
<contador>
COUNTER
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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
U
L
S
4-6
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".
Operaciones de contaje
4.7
ZV
Incrementar contador
Formato
ZV <contador>
Operando
Tipo de
datos
Area de
memoria
Descripcin
<contador>
COUNTER
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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
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
Tipo de
datos
Area de
memoria
Descripcin
<contador>
COUNTER
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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
L
U
S
U
ZR
C#14
E 0.1
Z1
E 0.0
Z1
UN
=
Z1
A 0.0
4-8
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".
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
L DINO
5-1
5.2
AUF
Formato
AUF <bloque de datos>
Operando
Direccin fuente
<bloque de datos>
DB, DI
De 1 a 65.535
Descripcin de la operacin
AUF <bloque de datos> abre un bloque de datos como bloque de datos global o como
bloque de datos de instancia. Pueden estar abiertos simultneamente un bloque de datos
global y un bloque de datos de instancia, respectivamente.
Palabra de estado
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
AUF
L
T
AUF
L
DB10
DBW35
MW22
DI20
DIB12
DBB37
5-2
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.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
se escribe:
5.4
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
AUF
L
L
<D
SPB
DB10
DBLG
MD10
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.
ERRO
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
se escribe:
5.6
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
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
Se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
AUF
L
L
<I
SPB
5-4
DI20
DILG
MW10
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.
ERRO
5.7
Formato
L DINO
Descripcin de la operacin
L DINO (Cargar nmero del bloque de datos de instancia) carga en el ACU 1 el nmero del
bloque de datos de instancia que est abierto, despus de que se haya almacenado el
contenido del ACU 1 en el ACU 2.
Palabra de estado
se escribe:
RB
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
Salto incondicionado
SPL
Las siguientes operaciones de salto interrumpen el desarrollo del programa dependiendo del
resultado lgico (RLO) dado en la instruccin anterior:
SPB
Saltar si RLO = 1
SPBN
Saltar si RLO = 0
SPBB
SPA
Salto incondicionado
SPBI
Saltar si RB = 1
SPBIN Saltar si RB = 0
SPO
Saltar si OV = 1
SPS
Saltar si OS = 1
6-1
Operaciones de salto
Las siguientes operaciones de salto interrumpen el desarrollo del programa en funcin del
resultado de una operacin anterior:
SPZ
Saltar si el resultado = 0
SPN
SPP
SPM
6-2
Operaciones de salto
6.2
SPA
Salto incondicionado
Formato
SPA <meta>
Operando
Descripcin
<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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
DELE:
FORW:
Explicacin
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
//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>
Operando
Descripcin
<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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
LSTX:
SEG0:
SEG1:
SEG3:
COMM:
6-4
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
Operaciones de salto
6.4
SPB
Saltar si RLO = 1
Formato
SPB <meta>
Operando
Descripcin
<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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
JOVR:
Explicacin
U
U
SPB
L
E 1.0
E 1.2
JOVR
EW8
T
U
MW22
E 2.1
6-5
Operaciones de salto
6.5
SPBN
Saltar si RLO = 0
Formato
SPBN <meta>
Operando
Descripcin
<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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
JOVR:
6-6
Explicacin
U
U
SPBN
L
T
U
E 1.0
E 1.2
JOVR
EW8
MW22
E 2.1
Operaciones de salto
6.6
SPBB
Formato
SPBB <meta>
Operando
Descripcin
<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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
JOVR:
Explicacin
U
U
SPBB
E 1.0
E 1.2
JOVR
EW8
T
U
MW22
E 2.1
//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.
6-7
Operaciones de salto
6.7
SPBNB
Formato
SPBNB <meta>
Operando
Descripcin
<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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
JOVR:
6-8
Explicacin
U
U
SPBNB
E 1.0
E 1.2
JOVR
L
T
U
EW
MW22
E 2.1
//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.
Operaciones de salto
6.8
SPBI
Saltar si RB = 1
Formato
SPBI <meta>
Operando
Descripcin
<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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
6-9
Operaciones de salto
6.9
SPBIN
Saltar si RB = 0
Formato
SPBIN <meta>
Operando
Descripcin
<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
se escribe:
6-10
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Operaciones de salto
6.10
SPO
Saltar si OV = 1
Formato
SPO <meta>
Operando
Descripcin
<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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
Explicacin
L
L
*I
SPO
MW10
3
OVER
OVER:
T
U
R
SPA
UN
MW10
M 4.0
M 4.0
NEXT
M 4.0
S
NOP 0
M 4.0
NEXT:
//La ejecucin del programa contina aqu despus de haber saltado a la meta
OVER.
//La ejecucin del programa contina aqu despus de haber saltado a la meta
NEXT.
6-11
Operaciones de salto
6.11
SPS
Saltar si OS = 1
Formato
SPS <meta>
Operando
Descripcin
<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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
Explicacin
L
L
*I
L
+I
L
-I
SPS
EW10
MW12
OVER
OVER:
T
U
R
SPA
UN
MW16
M 4.0
M 4.0
NEXT
M 4.0
S
NOP 0
M 4.0
NEXT:
DBW25
MW14
//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.
//La ejecucin del programa contina aqu despus de haber saltado a la meta
OVER.
//La ejecucin del programa contina aqu despus de haber saltado a la meta
NEXT.
Nota
En este caso no debe emplearse la operacin SPO. La operacin SPO slo consultara la
operacin precedente -I en caso de un desbordamiento.
6-12
Operaciones de salto
6.12
SPZ
Saltar si el resultado = 0
Formato
SPZ <meta>
Operando
Descripcin
<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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
Explicacin
ZERO:
L
SRW
SPZ
L
INC
T
SPA
L
MW10
1
ZERO
MW2
1
MW2
NEXT
MW4
1
MW4
NEXT:
INC
T
NOP 0
//La ejecucin del programa contina aqu despus de haber saltado a la meta
ZERO.
//La ejecucin del programa contina aqu despus de haber saltado a la meta
NEXT.
6-13
Operaciones de salto
6.13
SPN
Formato
SPN <meta>
Operando
Descripcin
<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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
Explicacin
NOZE:
L
L
XOW
SPN
UN
S
SPA
UN
NEXT:
S
NOP 0
6-14
EW8
MW12
NOZE
M 4.0
M 4.0
NEXT
M 4.1
//La ejecucin del programa contina aqu despus de haber saltado a la meta
NOZE.
M 4.1
//La ejecucin del programa contina aqu despus de haber saltado a la meta
NEXT.
Operaciones de salto
6.14
SPP
Formato
SPP <meta>
Operando
Descripcin
<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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
Explicacin
POS:
L
L
-I
SPP
UN
S
SPA
UN
NEXT:
S
NOP 0
EW8
MW12
POS
M 4.0
M 4.0
NEXT
M 4.1
//La ejecucin del programa contina aqu despus de haber saltado a la meta
POS.
M 4.1
//La ejecucin del programa contina aqu despus de haber saltado a la meta
NEXT.
6-15
Operaciones de salto
6.15
SPM
Formato
SPM <meta>
Operando
Descripcin
<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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
Explicacin
NEG:
L
L
-I
SPM
UN
S
SPA
UN
NEXT:
S
NOP 0
6-16
EW8
MW12
NEG
M 4.0
M 4.0
NEXT
M 4.1
//La ejecucin del programa contina aqu despus haber saltado a la meta
NEG.
M 4.1
//La ejecucin del programa contina aqu despus de haber saltado a la meta
NEXT.
Operaciones de salto
6.16
SPPZ
Formato
SPPZ <meta>
Operando
Descripcin
<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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
Explicacin
REG0:
L
L
-I
SPPZ
UN
S
SPA
UN
NEXT:
S
NOP 0
EW8
MW12
REG0
M 4.0
M 4.0
NEXT
M 4.1
//La ejecucin del programa contina aqu despus de haber saltado a la meta
REG0.
M 4.1
//La ejecucin del programa contina aqu despus de haber saltado a la meta
NEXT.
6-17
Operaciones de salto
6.17
SPMZ
Formato
SPMZ <meta>
Operando
Descripcin
<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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
Explicacin
RGE0:
L
L
-I
SPMZ
UN
S
SPA
UN
NEXT:
S
NOP 0
6-18
EW8
MW12
RGE0
M 4.0
M 4.0
NEXT
M 4.1
//La ejecucin del programa contina aqu despus de haber saltado a la meta
RGE0.
M 4.1
//La ejecucin del programa contina aqu despus de haber saltado a la meta
NEXT.
Operaciones de salto
6.18
SPU
Formato
SPU <meta>
Operando
Descripcin
<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:
Palabra de estado
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
Explicacin
ERRO:
L
L
/D
SPU
T
U
R
SPA
UN
NEXT:
S
NOP 0
MD10
ED2
ERRO
MD14
M 4.0
M 4.0
NEXT
M 4.0
//La ejecucin del programa contina aqu despus de haber saltado a la meta
ERRO.
M 4.0
//La ejecucin del programa contina aqu despus de haber saltado a la meta
NEXT.
6-19
Operaciones de salto
6.19
LOOP
Bucle
Formato
LOOP <meta>
Operando
Descripcin
<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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
NEXT:
6-20
L
T
L
T
L
*
T
L
LOOP
L#1
MD20
5
MW10
MD20
D
MD20
MW10
NEXT
L
L
>I
MW24
200
Explicacin
//Cargar la constante de entero (32 bits) en el ACU 1.
//Transferir el contenido del ACU 1 a MD20 (Inicializacin).
//Cargar el nmero de ciclos de bucles en el ACU1-L.
//Meta = inicio del bucle / Transferir el ACU1-L al contador de bucles.
//Multiplicar el contenido actual de MD20 por el contenido actual de MB10.
//Transferir el resultado de la multiplicacin a MD20.
//Cargar el contenido del contador de bucles en el ACU 1.
//Decrementar el contenido del ACU 1 y saltar a la meta NEXT, si el ACU1-L
> 0.
//La ejecucin del programa contina aqu despus del fin del bucle.
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
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
A1
A0
OV
OS
0 (cero)
Margen no vlido
A1
A0
OV
OS
Operacin
A1
A0
OV
OS
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
A1
A0
OV
OS
OR
STA
RLO
/ER
A1
A0
OV
OS
Suma = 0
Suma = -65536
se escribe:
Ejemplo
AWL
L
L
EW10
MW14
+I
T
DB1.DBW25
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.
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
A1
A0
OV
OS
OR
STA
RLO
/ER
A1
A0
OV
OS
Diferencia = 0
se escribe:
Ejemplo
AWL
L
L
EW10
MW14
-I
T
DB1.DBW25
7-4
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.
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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
A1
A0
OV
OS
Ejemplo
AWL
L
L
EW10
MW14
*I
T
DB1.DBD25
Explicacin
//El valor de EW10 se carga en el ACU1-L.
//Cargar el contenido del ACU1-L en el ACU 2-L. Cargar el valor de MW14 en el
ACU1-L.
//Multiplicar el ACU2-L por el ACU1-L, almacenar el resultado en el ACU 1.
//El contenido del ACU 1 (resultado) se transfiere del DB1 a DBD25.
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
A1
A0
OV
OS
OR
STA
RLO
/ER
A1
A0
OV
OS
Cociente = 0
se escribe:
Cociente = 32768
Divisin por cero
Ejemplo
AWL
L
L
EW10
MW14
/I
T
MD20
Explicacin
//Cargar el valor de EW10 en el ACU1-L.
//Cargar el contenido del ACU1-L en el ACU2-L. Cargar el valor de MW14 en el
ACU1-L.
//Dividir ACU2-L por ACU1-L, almacenar el resultado en el ACU 1: ACU1-L:
Cociente, ACU1-H: resto de la divisin
//El contenido del ACU 1 (resultado) se transfiere a MD20.
"13"
"4"
"13/4"
"3"
7-6
Aritmtica de enteros
7.7
Formato
+ <constante entera>
Operando
Tipo de datos
Descripcin
<constante entera>
Constante a sumar
Descripcin de la operacin
+ <constante entera> suma la constante entera al contenido del ACU 1 y almacena el
resultado en el ACU 1. La operacin se ejecuta sin tener en cuenta ni afectar a los bits de la
palabra de estado.
+ <constante entera de 16 bits> suma una constante entera (de 16 bits; dentro del margen
de -32768 a +32767) al contenido del ACU 1-L y almacena el resultado en el ACU 1-L.
+ <constante entera de 32 bits> suma una constante entera doble (dentro del margen de
-2.147.483.648 a 2.147.483.647) al contenido del ACU 1 y almacena el resultado en el ACU 1.
Palabra de estado
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
7-7
Aritmtica de enteros
Ejemplo 1
AWL
L
L
EW10
MW14
+I
+
T
25
DB1.DBW25
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.
Ejemplo 2
AWL
L
L
+
>I
SPB
Explicacin
EW12
EW14
100
NEXT
Ejemplo 3
AWL
L
L
+D
+
T
7-8
Explicacin
MD20
MD24
L#-200
MD28
Aritmtica de enteros
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.
Palabra de estado
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
A1
A0
OV
OS
Suma = 0
Suma = -4.294.967.296
se escribe:
Ejemplo
AWL
L
L
+D
T
ED10
MD14
DB1.DBD25
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.
7-9
Aritmtica de enteros
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
A1
A0
OV
OS
OR
STA
RLO
/ER
A1
A0
OV
OS
Diferencia = 0
se escribe:
Ejemplo
AWL
L
L
-D
T
7-10
ED10
MD14
DB1.DBD25
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.
Aritmtica de enteros
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
A1
A0
OV
OS
OR
STA
RLO
/ER
A1
A0
OV
OS
Resultado = 0
se escribe:
Ejemplo
AWL
L
L
*D
T
ED10
MD14
DB1.DBD25
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.
7-11
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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
A1
A0
OV
OS
Cociente = 2147483648
Ejemplo
AWL
L
L
/D
T
ED10
MD14
MD20
Explicacin
//El valor de ED10 se carga en el ACU 1.
//Cargar el contenido del ACU 1 en el ACU 2. Cargar el valor de MD14 en el ACU 1.
//Dividir ACU 2 por ACU 1, almacenar el resultado (cociente) en el ACU 1.
//El contenido del ACU 1 (resultado) se transfiere a MD20.
Ejemplo: 13 / 4
7-12
"13"
"4"
"13/4"
"3"
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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
A1
A0
OV
OS
Ejemplo
AWL
L
L
MOD
ED10
MD14
MD20
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):
"13"
"4"
"13/4"
"1"
7-13
Aritmtica de enteros
7-14
8.1
Descripcin
Las operaciones aritmticas combinan el resultado de los ACUs 1 y 2. El resultado se
deposita en el ACU 1. El contenido del ACU 2 permanece inalterado.
En las CPU con 4 acumuladores se copia a continuacin el contenido del ACU 3 en el ACU 2,
y el contenido del ACU 4 en el ACU 3. El antiguo contenido del ACU 4 no vara.
Los nmeros de 32 bits IEEE en coma flotante pertenecen al tipo de datos denominado
REAL. Las operaciones aritmticas con nmeros en coma flotante sirven para ejecutar las
siguientes operaciones aritmticas con dos nmeros en coma flotante IEEE de 32 bits:
*R
Multiplicar ACU 1 por ACU 2 como nmero de coma flotante (32 bits)
/R
Dividir ACU 2 por ACU 1 como nmero de coma flotante (32 bits)
Con las operaciones aritmticas de nmeros en coma flotante se pueden ejecutar las
siguientes funciones con un nmero en coma flotante (32 bit, IEEE-FP):
ABS
COS Calcular el coseno de ngulos como nmeros de coma flotante (32 bits)
TAN
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
A1
A0
OV
OS
+0, -0 (Cero)
A1
A0
OV
OS
Desbordamiento negativo
8-2
8.3
Operaciones bsicas
8.3.1
+R
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.
Consulte tambin Evaluar los bits de la palabra de estado.
Resultado
El resultado en el ACU 1 es
A1
A0
OV
OS
+qNaN
+infinito
+normalizado
+desnormalizado
+cero
-cero
-desnormalizado
-normalizado
-infinito
-qNaN
Observacin
Desbordamiento por exceso
Desbordamiento por defecto
8-3
Palabra de estado
Se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
AUF
L
L
+R
T
8-4
Explicacin
DB10
ED10
MD14
DBD25
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.
Consulte tambin Evaluar los bits de la palabra de estado.
Resultado
El resultado en el ACU 1 es
A1
A0
OV
OS
+qNaN
+infinito
+normalizado
+desnormalizado
+cero
-cero
-desnormalizado
-normalizado
-infinito
-qNaN
Observacin
Desbordamiento por exceso
Desbordamiento por defecto
8-5
Palabra de estado
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
AUF
L
L
-R
T
8-6
Explicacin
DB10
ED10
MD14
DBD25
8.3.3
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.
Consulte tambin Evaluar los bits de la palabra de estado.
Resultado
El resultado en el ACU 1 es
A1
A0
OV
OS
+qNaN
+infinito
+normalizado
+desnormalizado
+cero
-cero
-desnormalizado
-normalizado
-infinito
-qNaN
Observacin
Desbordamiento por exceso
Desbordamiento por defecto
8-7
Palabra de estado
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
AUF
L
L
*R
T
8-8
Explicacin
DB10
ED10
MD14
DBD25
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.
Consulte tambin Evaluar los bits de la palabra de estado.
Resultado
El resultado en el ACU 1 es
A1
A0
OV
OS
+qNaN
+infinito
+normalizado
+desnormalizado
+cero
-cero
-desnormalizado
-normalizado
-infinito
-qNaN
Observacin
Desbordamiento por exceso
Desbordamiento por defecto
Palabra de estado
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
AUF
L
L
/R
T
Explicacin
DB10
ED10
MD14
DBD20
8-9
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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
L
ABS
T
8-10
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.4
Operaciones ampliadas
8.4.1
SQR
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.
Consulte tambin Evaluar los bits de la palabra de estado.
Resultado
El resultado en el ACU 1 es
A1
A0
OV
OS
+qNaN
+infinito
+normalizado
+desnormalizado
+cero
-qNaN
Observacin
Desbordamiento
Desbordamiento negativo
Ejemplo
AWL
AUF
L
DB17
DBD0
SQR
BEA
OK:
UN
SPB
OV
OK
DBD4
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.
//Fin de bloque incondicionado, si en la operacin SQR se produjo un error.
//Transferir el resultado del ACU 1 a la doble palabra de datos DBD4.
8-11
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.
Consulte tambin Evaluar los bits de la palabra de estado.
Resultado
El resultado en el ACU 1 es
A1
A0
OV
OS
+qNaN
+infinito
+normalizado
+desnormalizado
+cero
-cero
-qNaN
Observacin
Desbordamiento por exceso
Desbordamiento por defecto
Ejemplo
AWL
L
MD10
SQRT
BEA
OK:
8-12
UN
SPB
OV
OK
MD20
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.
//Fin de bloque incondicionado, si en la operacin SQRT se produjo un error.
//Transferir el resultado del ACU 1 a la doble palabra de marcas MD20.
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,
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 del ACU 4) quedan inalterados.
Consulte tambin Evaluar los bits de la palabra de estado.
Resultado
El resultado en el ACU 1 es
A1
A0
OV
OS
+qNaN
+infinito
+normalizado
+desnormalizado
+cero
-qNaN
Observacin
Desbordamiento por exceso
Desbordamiento por defecto
Ejemplo
AWL
L
MD10
EXP
BEA
OK:
UN
SPB
OV
OK
MD20
Explicacin
//El valor de la doble palabra de marcas MD 10 se carga en el ACU 1. (Este
valor debe tener formato en coma flotante.)
//Calcular el 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.
//Fin de bloque incondicionado, si en la operacin EXP se produjo un error.
//Transferir el resultado del ACU 1 a la doble palabra de marcas MD20.
8-13
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.
Consulte tambin Evaluar los bits de la palabra de estado.
Resultado
El resultado en el ACU 1 es
A1
A0
OV
OS
+qNaN
+infinito
+normalizado
+desnormalizado
+cero
-cero
-desnormalizado
-normalizado
-infinito
-qNaN
Observacin
Desbordamiento por exceso
Desbordamiento por defecto
Ejemplo
AWL
L
MD10
LN
BEA
OK:
8-14
UN
SPB
OV
OK
MD20
Explicacin
//El valor de la doble palabra de marcas MD 10 se carga en el ACU 1. (Este
valor debe tener formato en coma flotante.)
//Calcular el logaritmo natural 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 LN no se produjo ningn error, saltar a la marca OK.
//Fin de bloque incondicionado, si en la operacin LN se produjo un error.
//Transferir el resultado del ACU 1 a la doble palabra de marcas MD20.
8.4.5
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.
Consulte tambin Evaluar los bits de la palabra de estado.
Resultado
El resultado en el ACU 1 es
A1
A0
OV
OS
+qNaN
+normalizado
+desnormalizado
+cero
-cero
-desnormalizado
-normalizado
-qNaN
Observacin
Ejemplo
AWL
L
MD10
SIN
T
MD20
Explicacin
//El valor de la doble palabra de marcas MD 10 se carga en el ACU 1. (Este valor
debe tener formato en coma flotante.)
//Calcular el seno del nmero en coma flotante (de 32 bits, IEEE-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-15
8.4.6
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.
Consulte tambin Evaluar los bits de la palabra de estado.
Resultado
El resultado en el ACU 1 es
A1
A0
OV
OS
+qNaN
+normalizado
+desnormalizado
+cero
-cero
-desnormalizado
-normalizado
-qNaN
Observacin
Ejemplo
AWL
L
MD10
COS
T
8-16
MD20
Explicacin
//El valor de la doble palabra de marcas MD 10 se carga en el ACU 1. (Este valor
debe tener formato en coma flotante.)
//Calcular el coseno del nmero en coma flotante (de 32 bits, IEEE-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.4.7
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.
Consulte tambin Evaluar los bits de la palabra de estado.
Resultado
El resultado en el ACU 1 es
A1
A0
OV
OS
+qNaN
+infinito
+normalizado
+desnormalizado
+cero
-cero
-desnormalizado
-normalizado
-infinito
-qNaN
Observacin
Desbordamiento por exceso
Desbordamiento por defecto
Ejemplo
AWL
L
MD10
TAN
BEA
OK:
UN
SPB
OV
OK
MD20
Explicacin
//El valor de la doble palabra de marcas MD 10 se carga en el ACU 1. (Este
valor debe tener formato en coma flotante.)
//Calcular 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.
//Fin de bloque incondicionado, si en la operacin TAN se produjo un error.
//Transferir el resultado del ACU 1 a la doble palabra de marcas MD20.
8-17
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:
Resultado
El resultado en el ACU 1 es
A1
A0
OV
OS
+qNaN
+normalizado
+desnormalizado
+cero
-cero
-desnormalizado
-normalizado
-qNaN
Observacin
Ejemplo
AWL
L
MD10
ASIN
BEA
OK:
8-18
UN
SPB
OV
OK
MD20
Explicacin
//El valor de la doble palabra de marcas MD 10 se carga en el ACU 1. (Este
valor debe tener formato en coma flotante.)
//Calcular el 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.
//Fin de bloque incondicionado, si en la operacin ASIN se produjo un error.
//Transferir el resultado del ACU 1 a la doble palabra de marcas MD20.
8.4.9
Formato
ACOS
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:
Resultado
El resultado en el ACU 1 es
A1
A0
OV
OS
+qNaN
+normalizado
+desnormalizado
+cero
-cero
-desnormalizado
-normalizado
-qNaN
Observacin
Ejemplo
AWL
L
MD10
ACOS
BEA
OK:
UN
SPB
OV
OK
MD20
Explicacin
//El valor de la doble palabra de marcas MD 10 se carga en el ACU 1. (Este
valor debe tener formato en coma flotante.)
//Calcular el arcocoseno 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 ACOS no se produjo nign error, saltar a la marca OK.
//Fin de bloque incondicionado, si en la operacin ACOS se produjo un error.
//Transferir el resultado del ACU 1 a la doble palabra de marcas MD20.
8-19
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:
Resultado
El resultado en el ACU 1 es
A1
A0
OV
OS
+qNaN
+normalizado
+desnormalizado
+cero
-cero
-desnormalizado
-normalizado
-qNaN
Observacin
Ejemplo
AWL
L
MD10
ATAN
BEA
OK:
8-20
UN
SPB
OV
OK
MD20
Explicacin
//El valor de la doble palabra de marcas MD 10 se carga en el ACU 1. (Este
valor debe tener formato en coma flotante.)
//Calcular la arcotangente 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 ATAN no se produjo ningn error, saltar a la marca OK.
//Fin de bloque incondicionado, si en la operacin ATAN se produjo un error.
//Transferir el resultado del ACU 1 a la doble palabra de marcas MD20.
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 Cargar
L STW
LAR1
TAR
TAR1
9-1
9.2
Cargar
Formato
L <operando>
Operando
Tipo de datos
Area de memoria
Direccin fuente
<operando>
BYTE
E, A, PE, M, L, D,
puntero, parmetro
0...65535
WORD
0...65534
0...65532
DWORD
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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
L
L
L
L
L
L
L
L
9-2
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.
ACU1-H-H
ACU1-H-L
ACU1-L-H
ACU1-L-L
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
00000000
00000000
00000000
<MB10>
00000000
00000000
<MB10>
<MB11>
<MB10>
<MB11>
<MB12>
<MB13>
<86>
(L <palabra>)
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
se escribe:
RB
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.
31-9
Contenido: 0
9-4
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
9-5
9.5
Formato
LAR1 <D>
Operando
Tipo de datos
Area de memoria
Direccin fuente
<D>
DWORD
D, M, L
0...65532
Constante de puntero
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
Se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
DBD 20
DID 30
LD 180
MD 24
Explicacin
//Cargar AR 1 con el puntero en la doble palabra de datos DBD20.
//Cargar AR1 con el puntero en la doble palabra de instancia DID30.
//Cargar AR1 con el puntero en la doble palabra de datos locales LD180.
//Cargar AR1 con el puntero en la doble palabra de marcas MD24.
9-6
P#M100.0
Explicacin
//Cargar AR 1 con una constante de puntero de 32 bits.
9.6
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
se escribe:
9.7
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
9-7
9.8
Formato
LAR2 <D>
Operando
Tipo de datos
Area de memoria
Direccin fuente
<D>
DWORD
D, M, L
0...65532
Constante de puntero
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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
DBD 20
DID 30
LD 180
MD 24
Explicacin
//Cargar AR 2 con el puntero en la
//Cargar AR 2 con el puntero en la
//Cargar AR 2 con el puntero en la
//Cargar AR 2 con el contenido de la
directamente.
doble
doble
doble
doble
palabra
palabra
palabra
palabra
de datos DBD20.
de instancia DID30.
de datos locales LD180.
de marcas MD24 direccionada
9-8
P#M100.0
Explicacin
//Cargar AR 2 con una constante de puntero de 32 bits.
9.9
Transferir
Formato
T <operando>
Operando
Tipo de datos
Area de memoria
Direccin fuente
<operando>
BYTE
E, A, PA, M, L, D
0...65535
WORD
0...65534
DWORD
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
se escribe:
RB
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-9
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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
T
STW
Explicacin
//Transferir los bits 0 a 8 del ACU 1 a la palabra de estado.
Los bits del ACU 1 contienen los siguientes bits de la palabra de estado:
Bit
31-9
Contenido: *)
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
9-10
9.11
Formato
TAR
Descripcin de la operacin
TAR (Intercambiar registros de direcciones) intercambia los contenidos de los registros de
direcciones AR 1 y AR 2. La operacin se ejecuta sin tener en cuenta ni afectar a los bits de la
palabra de estado.
El contenido del registro de direcciones AR 1 se desplaza al registro de direcciones AR 2, y
el contenido del registro de direcciones AR 2 se desplaza al registro de direcciones AR 1.
Palabra de estado
se escribe:
9.12
TAR1
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Formato
TAR1
Descripcin de la operacin
TAR1 transfiere el contenido de AR 1 al ACU 1 (puntero de 32 bits). El contenido del ACU 1
fue almacenado anteriormente en el ACU 2. La operacin se ejecuta sin tener en cuenta ni
afectar a los bits de la palabra de estado.
Palabra de estado
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
9-11
9.13
Formato
TAR1 <D>
Operando
Tipo de datos
Area de memoria
Direccin fuente
<D>
DWORD
D, M, L
0...65532
Descripcin de la operacin
TAR1 <D> transfiere el contenido del registro de direcciones AR 1 a la doble palabra <D>
direccionada. Las reas de destino posibles son: dobles palabras de marcas (MD), dobles
palabras de datos locales (LD), dobles palabras de datos (DBD) y dobles palabras de
instancia (DID).
ACU 1 y ACU 2 no se alteran. La operacin se ejecuta sin tener en cuenta ni afectar a los bits
de la palabra de estado.
Palabra de estado
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplos
AWL
TAR1
TAR1
TAR1
TAR1
9-12
DBD20
DID30
LD18
MD24
Explicacin
//Transferir
//Transferir
//Transferir
//Transferir
el
el
el
el
contenido
contenido
contenido
contenido
de
de
de
de
AR
AR
AR
AR
1
1
1
1
a
a
a
a
la
la
la
la
doble
doble
doble
doble
palabra
palabra
palabra
palabra
de
de
de
de
datos DBD20.
instancia DID30.
datos locales LD18.
marcas MD24.
9.14
Formato
TAR1 AR2
Descripcin de la operacin
TAR1 AR2 (Operacin TAR1 con el operando AR2) transfiere el contenido del registro de
direcciones AR 1 al registro de direcciones AR 2.
ACU 1 y ACU 2 no se alteran. La operacin se ejecuta sin tener en cuenta ni afectar a los bits
de la palabra de estado.
Palabra de estado
se escribe:
9.15
TAR2
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Formato
TAR2
Descripcin de la operacin
TAR2 transfiere el contenido del registro de direcciones AR 2 al ACU 1 (puntero de 32 bits).
La operacin se ejecuta sin tener en cuenta ni afectar a los bits de la palabra de estado.
Palabra de estado
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
9-13
9.16
Formato
TAR2 <D>
Operando
Tipo de datos
Area de memoria
Direccin fuente
<D>
DWORD
D, M, L
0...65532
Descripcin de la operacin
TAR2 <D> transfiere el contenido del registro de direcciones AR 2 a la doble palabra <D>
direccionada. Las reas de destino posibles son: dobles palabras de marcas (MD), dobles
palabras de datos locales (LD), dobles palabras de datos (DBD) y dobles palabras de
instancia (DID).
ACU 1 y ACU 2 no se alteran. La operacin se ejecuta sin tener en cuenta ni afectar a los bits
de la palabra de estado.
Palabra de estado
Se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplos
AWL
TAR2
TAR2
TAR2
TAR2
9-14
DBD20
DID30
LD18
MD24
Explicacin
//Transferir
//Transferir
//Transferir
//Transferir
el
el
el
el
contenido
contenido
contenido
contenido
de
de
de
de
AR
AR
AR
AR
2
2
2
2
a
a
a
a
la
la
la
la
doble
doble
doble
doble
palabra
palabra
palabra
palabra
de
de
de
de
datos DBD20.
instancia DID30.
datos locales LD18.
marcas MD24.
10
Control de programa
10.1
Descripcin
Se dispone de las operaciones de control del programa siguientes:
BE
Fin de bloque
BEB
BEA
CALL Llamada
CC
Llamada condicionada
UC
Llamada incondicionada
Llamar a un FB
Llamar a una FC
Llamar a un SFB
Llamar a una SFC
Llamar a una multiinstancia
Llamar a un bloque de una librera
El MCR (Master Control Relay)
Notas importantes sobre el uso de la funcin MCR
MCR(
)MCR
MCRA
MCRD
10-1
Control de programa
10.2
BE
Fin de bloque
Formato
BE
Descripcin de la operacin
BE (Fin de bloque) interrumpe la ejecucin del programa en el bloque actual y salta al bloque
que el bloque actual ha llamado. La ejecucin del programa contina con la primera
instruccin despus de haberse efectuado la llamada al bloque. Se libera el rea de datos
locales actual, y el anterior rea de datos locales se convierte en el rea actual. Los bloques
de datos que estaban abiertos en el momento de llamar al bloque se vuelven a abrir.
Adicionalmente se restablece la dependencia del bloque que efecta la llamada con respecto
al MCR y el RLO se transfiere desde el bloque actual al bloque que efecta la llamada. Para
que se realice la operacin BE no hay que cumplir ningn tipo de condiciones previas. Si se
omite (se salta) la operacin BE, la ejecucin actual del programa no termina, sino que
contina en la meta del salto, dentro del bloque.
La operacin BE de S7 no es idntica a la del software de S5. Con el hardware de S7, la
operacin BE cumple la misma funcin que la operacin BEA.
Palabra de estado
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
Explicacin
U
SPB
L
T
U
U
S
NEXT:
10-2
BE
NOP 0
E 1.0
NEXT
EW4
EW10
E 6.0
E 6.1
M
12.0
1).
//Fin de bloque.
//Continuar aqu si se ejecuta el salto.
Control de programa
10.3
BEB
Formato
BEB
Descripcin de la operacin
Si el RLO es 1, la operacin BEB (Fin de bloque condicionado) interrumpe la ejecucin del
programa en el bloque actual y salta al bloque que el bloque actual ha llamado. La ejecucin
del programa contina con la primera instruccin despus de ejecutar la llamada al bloque. Se
libera el rea de datos locales actual, y el anterior rea de datos locales se convierte en el
rea actual. Los bloques de datos que estaban abiertos en el momento de llamar al bloque se
vuelven a abrir. Se restablece la dependencia del bloque que efecta la llamada con respecto
al MCR.
El RLO (= 1) es transferido desde el bloque que se ha terminado de ejecutar al bloque que ha
efectuado la llamada. Si el RLO es 0, la operacin BEB no se ejecuta. El RLO se pone
entonces a "1" y la ejecucin del programa contina en la instruccin siguiente.
Palabra de estado
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
U
BEB
L
T
E 1.0
EW4
MW10
Explicacin
//Actualizar el RLO.
//Finalizar el bloque si el RLO es 1.
//Continuar aqu si la instruccin BEB no se ejecuta (RLO = 0).
10-3
Control de programa
10.4
BEA
Formato
BEA
Descripcin de la operacin
BEA (Fin de bloque incondicionado) interrumpe la ejecucin del programa en el bloque actual
y salta al bloque que el bloque actual ha llamado. La ejecucin del programa contina con la
primera instruccin despus de ejecutar la llamada al bloque. Se libera el rea de datos
locales actual, y el anterior rea de datos locales se convierte en el rea actual. Los bloques
de datos que estaban abiertos en el momento de llamar al bloque se vuelven a abrir.
Adicionalmente se restablece la dependencia del bloque que efecta la llamada con respecto
al MCR y el RLO se transfiere desde el bloque actual al bloque que efecta la llamada. Para
que se realice la operacin BEA no se tienen que cumplir previamente condiciones de ningn
tipo. Si se omite (se salta) la operacin BEA, la ejecucin del programa actual no finaliza,
sino que contina en la meta del salto, dentro del bloque.
Palabra de estado
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
NEXT:
10-4
U
SPB
L
T
U
U
S
BEA
NOP 0
Explicacin
E 1.0
NEXT
//Saltar a la meta NEXT, si el RLO es 1 (E 1.0
EW4
//Continuar aqu si no se ejecuta el salto.
EW10
E 6.0
E 6.1
M 12.0
//Fin de bloque incondicionado.
//Continuar aqu si se ejecuta el salto.
1).
Control de programa
10.5
CALL
Llamada
Formato
CALL <identificacin del bloque lgico>
Descripcin de la operacin
CALL <identificacin del bloque lgico> sirve para llamar tanto a funciones (FC) y a
bloques de funcin (FB), como para llamar a funciones de sistema (SFC) y a bloques de
funcin del sistema (SFB) suministrados por Siemens. La operacin CALL llama a la FC/SFC
o al FB/SFB que se indica como operando, independientemente de cul seal el RLO y de
condiciones de cualquier otro tipo. Cuando se utiliza CALL para llamar a un FB o a un SFB hay
que asignar un bloque de datos de instancia al FB/SFB. Tras editar el bloque llamado el
programa contina la ejecucin con el programa del bloque que efecta la llamada. La
identificacin del bloque lgico puede indicarse tanto de forma absoluta como simblica. El
contenido de los registros se vuelven a restaurar despus de ejecutar la llamada al SFB/a la
SFC.
Tipo de bloque
FC
Funcin
CALL FCn
SFC
Funcin de sistema
CALL SFCn
FB
Bloque de funcin
CALL FBn1,DBn2
SFB
CALL SFBn1,DBn2
Nota
Si se est utilizando el editor de AWL, los datos de la tabla anterior, n, n1 n2, deben indicar
bloques vlidos que ya existan. Si se quieren emplear nombres simblicos hay que definirlos
previamente.
10-5
Control de programa
Palabra de estado
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
FC6
Parmetros formales
NO OF TOOL
TIME OUT
FOUND
ERROR
Parmetros actuales
:= MW100
:= MW110
:= A 0.1
:= A 100.0
SFC43
Explicacin
//Llamar a la SFC43 para volver a arrancar la vigilancia de tiempo (sin
parmetros).
FB99,DB1
Parmetros formales
MAX_RPM
MIN_RPM
MAX_POWER
MAX_TEMP
Parmetros actuales
:= #RPM1_MAX
:= #RPM2
:= #POWER
:= #TEMP
FB99,DB2
Parmetros formales
MAX_RPM
MIN_RPM
MAX_POWER
MAX_TEMP
Parmetros actuales
:= #RPM3_MAX
:= #RPM2
:= #POWER1
:= #TEMP
Nota
Antes de llamar a un FB o a un SFB tiene que existir ya el correspondiente DB de instancia.
En el ejemplo anterior, los bloques DB1 y DB2 tienen que estar creados ya antes llamar al
FB99.
10-6
Control de programa
10.6
Llamar a un FB
Formato
CALL FB n1, DB n1
Descripcin
Esta operacin permite llamar bloques de funcin creados por el usuario (FBs). La operacin
CALL llama el FB indicado como operando, independientemente del RLO o de cualquier otra
condicin. Si llama un FB con la operacin CALL, tendr que asignarle un bloque de datos de
instancia. Una vez procesado el bloque invocado, el programa del bloque invocante seguir
procesndose. La identificacin del bloque lgico puee indicarse de forma absoluta o
simblica.
Palabra de estado
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
10-7
Control de programa
FB99,DB1
Parmetros formales
MAX_RPM
MIN_RPM
MAX_POWER
MAX_TEMP
Parmetros actuales
:= #RPM1_MAX
:= #RPM1
:= #POWER1
:= #TEMP1
FB99,DB2
Parmetros formales
MAX_RPM
MIN_RPM
MAX_POWER
MAX_TEMP
Parmetros actuales
:= #RPM2_MAX
:= #RPM2
:= #POWER2
:= #TEMP2
Nota
Toda llamada a un FB tiene que disponer de un bloque de datos de instancia. En el ejemplo
anterior tienen que existir los bloques DB1 y DB2 antes de la llamada.
10-8
Control de programa
10.7
Llamar a una FC
Formato
CALL FC n
Nota
Si trabaja con el editor de AWL, la indicacin (n) tendr que refererirse a bloques vlidos ya
existentes. Los nombres simblicos tambin se debern haber definido previamente.
Descripcin
Esta operacin permite llamar funciones (FCs). La operacin CALL llama la FC indicada como
operando, independientemente del RLO o de cualquier otra condicin. Una vez procesado el
bloque invocado, el programa del bloque invocante seguir procesndose. La identificacin
del bloque lgico puee indicarse de forma absoluta o simblica.
Palabra de estado
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
FC6
Parmetros formales
NO OF TOOL
TIME OUT
FOUND
ERROR
Parmetros actuales
:= MW100
:= MW110
:= A 0.1
:= A 100.0
10-9
Control de programa
10.8
Llamar a un SFB
Formato
CALL SFB n1, DB n2
Descripcin
Esta operacin permite llamar bloques de funcin del sistema (SFBs) suministrados por
Siemens. La operacin CALL llama el SFB indicado como operando, independientemente del
RLO o de cualquier otra condicin. Si llama un SFB con la operacin CALL, tendr que
asignarle un bloque de datos de instancia. Una vez procesado el bloque invocado, el
programa del bloque invocante seguir procesndose. La identificacin del bloque lgico
puee indicarse de forma absoluta o simblica.
10-10
Control de programa
Palabra de estado
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
CALL
SFB4,DB4
Parmetros formales
IN:
PT:
Q:
ET:
Parmetros actuales
E0.1
T#20s
M0.0
MW10
Nota
Toda llamada a un SFB tiene que disponer de un bloque de datos de instancia. En el ejemplo
anterior tienen que existir los bloques SFB4 y DB4 antes de la llamada.
10-11
Control de programa
10.9
Formato
CALL SFC n
Nota
Si trabaja con el editor de AWL, la indicacin (n) tendr que refererirse a bloques vlidos ya
existentes. Los nombres simblicos tambin se debern haber definido previamente.
Descripcin
Esta operacin permite llamar funciones estndar creadas por el usuario (SFCs). La
operacin CALL llama la SFC indicada como operando, independientemente del RLO o de
cualquier otra condicin. Una vez procesado el bloque invocado, el programa del bloque
invocante seguir procesndose. La identificacin del bloque lgico puee indicarse de forma
absoluta o simblica.
Palabra de estado
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
10-12
SFC43
Explicacin
//Llama la SFC43 para arrancar de nuevo la supervisin del tiempo (sin
parmetros).
Control de programa
10.10
Formato
CALL # Variablenname
Descripcin
Una multiinstancia se genera al declarar una variable esttica del tipo de datos de un bloque
de funcin. Slo las multiinstancias ya declaradas se listarn en el catlogo de elementos de
programa.
Palabra de estado
se escribe:
10.11
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
los bloques que estn integrados en el sistema operativo de su CPU (librera "Standard
Library"),
los bloques que usted mismo haya depositado en libreras porque desea utilizarlos
repetidas veces.
10-13
Control de programa
10.12
CC
Llamada condicionada
Formato
CC <identificacin del bloque lgico>
Descripcin de la operacin
CC <identificacin del bloque lgico> (Llamada condicionada) llama a un bloque lgico del
tipo FC o SFC sin parmetros cuando el RLO es 1. La operacin CC es prcticamente igual
que la operacin CALL, con la diferencia de que aqu no se pueden transferir parmetros. La
operacin almacena en la pila BSTACK la direccin de retorno (selector y direccin relativa),
los selectores de los dos bloques de datos actuales y el bit MA; desactiva la dependencia con
respecto al MCR; crea el rea de datos locales del bloque a llamar y empieza a ejecutar el
bloque lgico que se ha llamado. La identificacin del bloque lgico puede indicarse tanto de
forma absoluta como simblica.
Palabra de estado
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo 1
AWL
U
CC
U
E 2.0
FC6
M3.0
Explicacin
//Consultar el estado de seal en la entrada E 2.0.
//Llamar a la funcin FC6, si E 2.0 es 1.
//Se ejecuta: tras regresar de la funcin llamada, si E
inmediatamente despus de la instruccin U E 2.0,
2.0 = 1,
si E 2.0 =
0.
Ejemplo 2
AWL
U
CC
E 2.0
SFC43
Explicacin
//Consultar el estado de seal en la entrada E 2.0.
//Llamar a la funcin de sistema SFC43 (sin parmetros), si E 2.0 es1.
Nota
Si se utiliza la operacin CALL para llamar a un bloque de funcin (FB) o a un bloque de
funcin de sistema (SFB), en la instruccin hay que especificar un bloque de datos de
instancia (n. de DB). Los bloques de datos no se pueden asignar en el operando de la
instruccin.
Dependiendo de cul sea el segmento con el que se est trabajando, durante la compilacin
del lenguaje de programacin Esquema de contactos al lenguaje de programacin Lista de
instrucciones "KOP/AWL: Programar bloques" genera en parte la operacin UC y en parte la
operacin CC. Por ello, se recomienda utilizar por regla general la instruccin CALL, con el fin
de que no se produzcan errores en los programas que el usuario haya creado.
10-14
Control de programa
10.13
UC
Llamada incondicionada
Formato
UC <identificacin del bloque lgico>
Descripcin de la operacin
UC <identificacin del bloque lgico> (Llamada incondicionada) llama a un bloque lgico
del tipo FC o SFC. La operacin UC es prcticamente igual a la operacin CALL, con la
diferencia de que no se pueden transmitir parmetros. La operacin almacena en la pila
BSTACK la direccin de retorno (selector y direccin relativa), los selectores de los dos
bloques de datos actuales y el bit MA; desactiva la dependencia con respecto al MCR, crea el
rea de datos locales del bloque a llamar y empieza a ejecutar el bloque lgico que se ha
llamado.
Palabra de estado
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo 1
AWL
UC
FC6
Explicacin
//Llamar a la funcin FC6 (sin parmetros).
Ejemplo 2
AWL
UC
SFC43
Explicacin
//Llamar a la funcin de sistema SFC43 (sin parmetros).
Nota
Si se utiliza la operacin CALL para llamar a un bloque de funcin (FB) o a un bloque de
funcin de sistema (SFB), en la instruccin hay que especificar un bloque de datos de
instancia (n. de DB). Los bloques de datos no se pueden asignar en el operando de la
instruccin.
Segn cul sea el segmento con el que se trabaja, "KOP/AWL: Programar bloques" genera,
durante la compilacin del lenguaje de programacin Esquema de contactos al lenguaje de
programacin Lista de instrucciones, en parte la operacin UC y en parte la operacin CC.
Por lo general, utilice la operacin CALL para que no se produzcan errores en los programas
que usted haya creado.
10-15
Control de programa
10.14
Atencin
Para eliminar la posibilidad de que haya peligro para las personas y/o las mquinas, no utilizar
nunca el MCR para sustituir a un Master Control Relay mecnico que est conectado
permanentemente y que sirva como dispositivo de emergencia.
Descripcin
El Master Control Relay (MCR) se utiliza en los esquemas de rels para activar y desactivar el
flujo de seales. Dependen del MCR las operaciones que son activadas por las siguientes
operaciones lgicas con bits y de transferencia:
= <bit>
S <bit>
R <bit>
T <byte>, T <palabra>, T <palabra doble>
La operacin T, que se utiliza con byte, palabra o palabra doble, escribe un "0" en la memoria
si el MCR es "0". Las operaciones S y R no cambian el valor ya existente. La operacin =
escribe un "0" en el bit direccionado.
Operaciones que dependen del MCR y su reaccin ante el estado de seal de MCR
Estado de
seal del
MCR
= <bit>
S <bit>, R <bit>
T <byte>, T <palabra>
T <palabra doble>
0 ("OFF")
Escribe "0".
No escribe.
Escribe "0".
1 ("ON")
10-16
(Imita a un compo-nente
que da el valor "0" en caso
de fallar la alimentacin.)
Ejecucin normal.
Ejecucin normal.
Ejecucin normal.
Control de programa
10-17
Control de programa
10.15
Si est desconectado el MCR, en la parte del programa que se encuentra entre MCR( y )MCR todas
las asignaciones (T, =) escribirn el valor 0.
Transferencia de parmetros
KOP/FUP
Remedio
2. Active nuevamente el Master Control Relay con el comanod MCRA despus de la instruccin
correspondiente o despus del segmento involucrado
10-18
Control de programa
10.16
MCR(
Formato
MCR(
Descripcin de la operacin
MCR( (Abrir un rea MCR) almacena el RLO en la pila MCR y abre un rea MCR. Area MCR
= instrucciones entre la operacin MCR( y la correspondiente operacin )MCR. Las
operaciones MCR( y )MCR siempre tienen que utilizarse en pareja.
Si el RLO es 1, el MCR est "conectado". Las instrucciones que dependen del MCR dentro de
esta rea MCR se ejecutan de forma normal.
Si el RLO es 0, el MCR est "desconectado". Las instrucciones que dependen del MCR dentro
de esta rea MCR se ejecutan conforme a la tabla siguiente.
1 ("ON")
= <bit>
S <bit>, R <bit>
T <byte>, T <palabra>
T <palabra doble>
Escribe "0".
No escribe.
Escribe "0".
(Imita a un compo-nente
que da el valor "0" en caso
de fallar la alimentacin.)
Ejecucin normal.
Ejecucin normal.
Ejecucin normal.
10-19
Control de programa
Palabra de estado
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
MCRA
U
MCR(
U
=
L
T
)MCR
MCRD
U
=
10-20
Explicacin
//Activar rea MCR.
E 1.0
//Almacenar el RLO en la pila MCR, abrir un rea MCR. El MCR est "ON", si el
RLO es 1 (E 1.0 = 1). El MCR est "OFF", si el RLO es 0 (E 1.0 = 0).
E 4.0
A 8.0
MW20
AW10
E 1.1
A 8.1
4.0.
Control de programa
10.17
)MCR
Formato
)MCR
Descripcin de la operacin
)MCR (Finalizar un rea MCR) borra una entrada de la pila MCR y finaliza un rea MCR. La
ltima entrada de la pila MCR queda libre y se pone a "1". Las operaciones MCR( y )MCR
siempre deben utilizarse en pareja. Si se ejecuta la operacin )MCR estando la pila vaca se
provoca un error de pila MCR (MCRF).
Palabra de estado
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
MCRA
U
MCR(
U
=
L
T
)MCR
MCRD
U
=
Explicacin
//Activar rea MCR.
E 1.0
//Almacenar el RLO en la pila MCR, abrir un rea MCR. El MCR est "ON", si el
RLO es 1 (E 1.0 = 1). El MCR est "OFF", si el RLO es 0 (E 1.0 = 0).
E 4.0
A 8.0
MW20
AW10
E 1.1
A 8.1
4.0.
10-21
Control de programa
10.18
MCRA
Formato
MCRA
Descripcin de la operacin
MCRA (Activar el Master Control Relay) conecta la dependencia con respecto al MCR para
las instrucciones que siguen a esta operacin. Las operaciones MCRA (Activar el Master
Control Relay) y MCRD (Desactivar el Master Control Relay) siempre deben utilizarse en
pareja. Las instrucciones que estn programadas entre MCRA y MCRD dependen del estado
de seal del bit MCR.
La operacin se ejecuta sin tener en cuenta ni afectar a los bits de la palabra de estado
Palabra de estado
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
MCRA
U
MCR(
U
=
L
T
)MCR
MCRD
U
=
10-22
Explicacin
//Activar rea MCR.
E 1.0
//Almacenar el RLO en la pila MCR, abrir un rea MCR. El MCR est "ON", si el
RLO es 1 (E 1.0 = 1). El MCR est "OFF", si el RLO es 0 (E 1.0 = 0).
E 4.0
A 8.0
MW20
AW10
E 1.1
A 8.1
4.0.
Control de programa
10.19
MCRD
Formato
MCRD
Descripcin de la operacin
MCRD (Desactivar el Master Control Relay) desconecta la dependencia MCR para las
instrucciones que siguen a esta operacin. Las operaciones MCRD (Desactivar el Master
Control Relay) y MCRA (Activar el Master Control Relay) siempre deben utilizarse en pareja.
Las instrucciones que estn programadas entre MCRA y MCRD dependen del estado de
seal del bit MCR.
La operacin se ejecuta sin tener en cuenta ni afectar a los bits de la palabra de estado
Palabra de estado
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
MCRA
U
MCR(
U
=
L
T
)MCR
MCRD
U
=
Explicacin
//Activar rea MCR.
E 1.0
//Almacenar el RLO en la pila MCR, abrir un rea MCR. El MCR est "ON", si el
RLO es 1 (E 1.0 = 1). El MCR est "OFF", si el RLO es 0 (E 1.0 = 0).
E 4.0
A 8.0
MW20
AW10
E 1.1
A 8.1
4.0.
10-23
Control de programa
10-24
11
11.1
Operaciones de desplazamiento
11.1.1
Descripcin
Las operaciones de desplazamiento sirven para desplazar el contenido de la palabra baja del
ACU 1 o de todo el acumulador bit por bit a la izquierda o a la derecha (v. Registros de la
CPU). Un desplazamiento a la izquierda en n bits multiplica el contenido del acumulador por
2 n , mientras que un desplazamiento a la derecha en n bits divide el contenido del acumulador
por 2 n . Desplazando, por ejemplo, el equivalente binario del valor decimal 3 tres bits a la
izquierda, en el acumulador resulta el equivalente binario del valor decimal 24. Desplazando
el equivalente binario del valor decimal 16 dos bits a la derecha, resulta el equivalente
binario del valor decimal 4 en el acumulador.
El nmero que sigue a la operacin de desplazamiento o bien el valor depositado en el byte
bajo de la palabra baja del ACU 2 indica el nmero de bits desplazados, es decir, el nmero de
posiciones en que se desplaza a la izquierda o derecha. Las posiciones que quedan vacantes
como consecuencia de la operacin de desplazamiento se rellenan con ceros o con el estado
de seal del bit que indica el signo (0 = positivo y 1 = negativo). El ltimo bit desplazado se
carga en el bit A1 de la palabra de estado. Los bits A0 y OV de la palabra de estado se ponen
a 0. Para evaluar el bit A1 se utilizan las operaciones de salto.
Las operaciones de desplazamiento son absolutas, es decir, que su ejecucin no depende de
ninguna condicin especial. Adems no afectan al resultado lgico.
Se dispone de las operaciones de desplazamiento siguientes:
SSI
SSD
SRD
11-1
11.1.2
SSI
Formato
SSI
SSI <nmero>
Operando
Tipo de datos
Descripcin
<nmero>
Descripcin de la operacin
SSI (Desplazar signo de nmero entero a la derecha) slo desplaza el contenido del ACU1-L
bit por bit a la derecha. En las posiciones de bit que quedan libres por el desplazamiento se
escribe el estado de seal del bit de signo (bit 15). El ltimo bit desplazado se carga en el bit
A1 de la palabra de estado. El nmero de las posiciones de bit a desplazar viene indicado por
el operando <nmero> o por un valor en el ACU2-L-L.
SSI <nmero>: El operando <nmero> indica el nmero de desplazamiento. Se admiten
valores entre 0 y 15. Los bits A0 y OV de la palabra de estado se ponen a "0", si <nmero> es
mayor que cero. Si <nmero> es igual a "0", la operacin de rotacin se procesa igual que
una operacin NOP.
SSI: El nmero de desplazamiento viene indicado por el valor en el ACU2-L-L. Se admiten
valores entre 0 y 255. Un nmero de desplazamiento > 16 siempre provoca el mismo
resultado: (ACU 1 = 16#0000, A1 = 0 ACU 1 = 16#FFFF, A1 = 1. Si el nmero de
desplazamiento > 0, los bits A0 y OV de la palabra de estado se ponen a "0". Si el nmero de
desplazamiento es "0", la operacin de desplazamiento se procesa igual que una operacin
NOP.
Palabra de estado
se escribe:
11-2
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplos
Contenido
ACU1-H
Bit
31 . . . . .
ACU1-L
..
. . . 16 15 . . . . .
..
...0
0101
1111
0110
0100
1001
1101
0011
1011
0101
1111
0110
0100
1111
1110
0111
0100
Ejemplo 1
AWL
L
SSI
T
MW4
6
MW8
Explicacin
//Cargar el valor en el ACU 1.
//Desplazar los bits en el ACU 1 con el signo correcto 6 posiciones a la derecha.
//Transferir el resultado a MW8.
Ejemplo 2
AWL
L
L
SSI
+3
MW20
SPP
NEXT
Explicacin
//Cargar el valor +3 en el ACU 1.
//Cargar el contenido del ACU 1 en el ACU 2. Cargar el valor de MW20 en el ACU 1.
//El nmero de desplazamiento es el valor del ACU2-L-L. => Desplazar los bits
en el ACU 1-L con el signo correcto, 3 posiciones a la derecha, poner las
posiciones libres al estado de seal del bit de signo.
//Saltar a la meta NEXT, si el ltimo bit desplazado (A1) es 1.
11-3
11.1.3
SSD
Formato
SSD
SSD <nmero>
Operando
Tipo de datos
Descripcin
<nmero>
Descripcin de la operacin
SSD (Desplazar signo de nmero entero de 32 bits a la derecha) desplaza el contenido
completo del ACU 1 bit por bit a la derecha. En las posiciones de bit que quedan libres por el
desplazamiento se escribe el estado de seal del bit de signo. El ltimo bit desplazado se
carga en el bit A1 de la palabra de estado. El nmero de las posiciones de bit a desplazar
viene indicado por el operando <nmero> o por un valor en el ACU2-L-L.
SSD <nmero>: El operando <nmero> indica el nmero de desplazamiento. Se admiten
valores entre 0 y 32. Los bits A0 y OV de la palabra de estado se ponen a "0" si <nmero> es
mayor que cero. Si <nmero> es igual a "0", la operacin de rotacin se procesa igual que una
operacin NOP.
SSD: El nmero de desplazamiento viene indicado por el valor en el ACU2-L-L. Se admiten
valores entre 0 y 255. Un nmero de desplazamiento > 32 siempre provoca el mismo
resultado: ACU 1 = 32#00000000, A1 = 0 ACU 1 = 32#FFFFFFFF, A1 = 1. Si el nmero de
desplazamiento > 0, los bits A0 y OV de la palabra de estado se ponen a "0". Si el nmero de
desplazamiento es "0", la operacin de desplazamiento se procesa igual que una operacin
NOP.
Palabra de estado
se escribe:
11-4
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplos
Contenido
ACU1-H
Bit
31 . . . . .
ACU1-L
..
. . . 16 15 . . . . .
..
...0
1000
1111
0110
0100
0101
1101
0011
1011
1111
1111
0001
1110
1100
1000
1011
1010
Ejemplo 1
AWL
L
SSD
MD4
7
MD8
Explicacin
//Cargar el valor en el ACU 1.
//Desplazar los bits en el ACU 1 con el signo correcto, 7 posiciones a la
derecha.
//Transferir el resultado a MD8.
Ejemplo 2
AWL
L
L
SSD
+3
MD20
SPP
NEXT
Explicacin
//Cargar el valor +3 en el ACU 1.
//Cargar el contenido del ACU 1 en el ACU 2. Cargar el valor de MD20 en el ACU 1.
//El nmero de desplazamiento es el valor del ACU2-L-L. => Desplazar los bits
en el ACU 1 con el signo correcto, 3 posiciones a la derecha, poner las
posiciones libres al estado de seal del bit de signo.
//Saltar a la meta NEXT, si el ltimo bit desplazado (A1) es 1.
11-5
11.1.4
SLW
Formato
SLW
SLW <nmero>
Operando
Tipo de datos
Descripcin
<nmero>
Descripcin de la operacin
SLW (Desplazar palabra a la izquierda) slo desplaza el contenido del ACU1-L bit por bit a la
izquierda. En las posiciones de bit que quedan libres por el desplazamiento se escriben ceros.
El ltimo bit desplazado se carga en el bit A1 de la palabra de estado. El nmero de las
posiciones de bit a desplazar viene indicado por el operando <nmero> o por un valor en el
ACU2-L-L.
SLW <nmero>: El operando <nmero> indica el nmero de desplazamiento. Se admiten
valores entre 0 y 15. Los bits A0 y OV de la palabra de estado se ponen a "0" si <nmero> es
mayor que cero. Si <nmero> es igual a "0" la operacin de rotacin se procesa igual que una
operacin NOP.
SLW: El nmero de desplazamiento viene indicado por el valor en el ACU2-L-L. Un nmero
de desplazamiento > 16 siempre provoca el mismo resultado: ACU 1-L = 0, A1 = 0, A0 = 0, OV
= 0. Si 0 < nmero de desplazamiento <= 16, los bits A0 y OV de la palabra de estado se
ponen a "0". Si el nmero de desplazamiento es "0", la operacin de desplazamiento se
procesa igual que una operacin NOP.
Palabra de estado
se escribe:
11-6
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplos
Contenido
ACU1-H
Bit
31 . . . . .
ACU1-L
..
. . . 16 15 . . . . .
..
...0
0101
1111
0110
0100
0101
1101
0011
1011
1111
0110
0100
0101
1101
0011
1011
0101
Ejemplo 1
AWL
L
SLW
T
MW4
5
MW8
Explicacin
//Cargar el valor en el ACU 1.
//Desplazar los bits en el ACU 1, 5 posiciones a la izquierda.
//Transferir el resultado a MW8.
Ejemplo 2
AWL
L
L
SLW
+3
MW20
SPP
NEXT
Explicacin
//Cargar el valor +3 en el ACU 1.
//Cargar el contenido del ACU 1 en el ACU 2. Cargar el valor de MW20 en el ACU 1.
//El nmero de desplazamiento es el valor del ACU2-L-L. => Desplazar los bits
en el ACU 1-L, 3 posiciones a la izquierda.
//Saltar a la meta NEXT, si el ltimo bit desplazado (A1) es 1.
11-7
11.1.5
SRW
Formato
SRW
SRW <nmero>
Operando
Tipo de datos
Descripcin
<nmero>
Descripcin de la operacin
SRW (Desplazar palabra a la derecha) slo desplaza el contenido del ACU1-L bit por bit a la
derecha. En las posiciones de bit que quedan libres por el desplazamiento se escriben ceros.
El ltimo bit desplazado se carga en el bit A1 de la palabra de estado. El nmero de las
posiciones de bit a desplazar viene indicado por el operando <nmero> o por un valor en el
ACU2-L-L.
SRW <nmero>: El operando <nmero> indica el nmero de desplazamiento. Se admiten
valores entre 0 y 15. Los bits A0 y OV de la palabra de estado se ponen a "0", si <nmero> es
mayor que cero. Si <nmero> es igual a "0", la operacin de rotacin se procesa igual que una
operacin NOP.
SRW: El nmero de desplazamiento viene indicado por el valor en el ACU2-L-L. Se admiten
valores entre 0 y 255. Un nmero de desplazamiento > 16 siempre provoca el mismo
resultado: ACU 1-L = 0, A1 = 0, A0 = 0, OV = 0. Si 0 < nmero de desplazamiento <= 16, los
bits A0 y OV de la palabra de estado se ponen a "0". Si el nmero de desplazamiento es "0", la
operacin de desplazamiento se procesa igual que una operacin NOP.
Palabra de estado
se escribe:
11-8
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplos
Contenido
ACU1-H
ACU1-L
Bit
31 . . . . .
..
. . . 16 15 . . . . .
..
...0
0101
1111
0110
0100
0101
1101
0011
1011
1111
0110
0100
0101
1101
0011
1011
0101
Ejemplo 1
AWL
L
SRW
T
MW4
6
MW8
Explicacin
//Cargar el valor en el ACU 1.
//Desplazar los bits en el ACU 1, 6 posiciones a la derecha.
//Transferir el resultado a MW8.
Ejemplo 2
AWL
L
L
SRW
+3
MW20
SPP
NEXT
Explicacin
//Cargar el valor +3 en el ACU 1.
//Cargar el contenido del ACU 1 en el ACU 2. Cargar el valor de MW20 en el ACU 1.
//El nmero de desplazamiento es el valor del ACU2-L-L. => Desplazar los bits
en el ACU 1-L, 3 posiciones a la derecha.
//Saltar a la meta NEXT, si el ltimo bit desplazado (A1) es 1.
11-9
11.1.6
SLD
Formato
SLD
SLD <nmero>
Operando
Tipo de datos
Descripcin
<nmero>
Descripcin de la operacin
SLD (Desplazar doble palabra a la izquierda) desplaza el contenido completo del ACU 1 bit
por bit a la izquierda. En las posiciones de bit que quedan libres por el desplazamiento se
escriben ceros. El ltimo bit desplazado se carga en el bit A1 de la palabra de estado. El
nmero de las posiciones de bit a desplazar viene indicado por el operando <nmero> o por
un valor en el ACU2-L-L.
SLD <nmero>: El operando <nmero> indica el nmero de desplazamiento. Se admiten
valores entre 0 y 32. Los bits A0 y OV de la palabra de estado se ponen a "0", si <nmero> es
mayor que cero. Si <nmero> es igual a "0", la operacin de rotacin de procesa igual que una
operacin NOP.
SLD: El nmero de desplazamiento viene indicado por el valor en el ACU2-L-L. Se admiten
valores entre 0 y 255. Un nmero de desplazamiento > 32 siempre provoca el mismo
resultado: ACU 1 = 0, A1 = 0, A0 = 0. Si 0 < nmero de desplazamiento <= 32, los bits A0 y OV
de la palabra de estado se ponen a "0". Si el nmero de desplazamiento es "0", la operacin
de desplazamiento se procesa igual que una operacin NOP.
Palabra de estado
se escribe:
11-10
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplos
Contenido
ACU1-H
ACU1-L
Bit
31 . . .
..
..
. . . 16
15 . . .
..
..
...0
0101
1111
0110
0100
0101
1101
0011
1011
1111
0110
0100
0101
1101
0011
1011
0101
Ejemplo 1
AWL
L
SLD
T
MD4
5
MD8
Explicacin
//Cargar el valor en el ACU 1.
//Desplazar los bits en el ACU 1, 5 posiciones a la izquierda.
//Transferir el resultado a MD8.
Ejemplo 2
AWL
L
L
SLD
+3
MD20
SPP
NEXT
Explicacin
//Cargar el valor +3 en el ACU 1.
//Cargar el contenido del ACU 1 en el ACU 2. Cargar el valor de MD20 en el ACU 1.
//El nmero de desplazamiento es el valor del ACU2-L-L. => Desplazar los bits
en el ACU 1, 3 posiciones a la izquierda.
//Saltar a la meta NEXT, si el ltimo bit desplazado (A1) es 1.
11-11
11.1.7
SRD
Formato
SRD
SRD <nmero>
Operando
Tipo de datos
Descripcin
<nmero>
Descripcin de la operacin
SRD (Desplazar doble palabra a la derecha) desplaza el contenido completo del ACU 1 bit por
bit a la derecha. En las posiciones de bit que quedan libres por el desplazamiento se escriben
ceros. El ltimo bit desplazado se carga en el bit A1 de la palabra de estado. El nmero de las
posiciones de bit a desplazar viene indicado por el operando <nmero> o por un valor en el
ACU2-L-L.
SRD <nmero>: El operando <nmero> indica el nmero de desplazamiento. Se admiten
valores entre 0 y 32. Los bits A0 y OV de la palabra de estado se ponen a "0" si <nmero> es
mayor que cero. Si <nmero> es igual a "0" la operacin de rotacin se procesa igual que una
operacin NOP.
SRD: El nmero de desplazamiento viene indicado por el valor en el ACU2-L-L. Se admiten
valores entre 0 y 255. Un nmero de desplazamiento > 32 siempre provoca el mismo
resultado: ACU 1 = 0, A1 = 0, A0 = 0, OV = 0. Si 0 < nmero de desplazamiento <= 32, los bits
A0 y OV de la palabra de estado se ponen a "0". Si el nmero de desplazamiento es "0", la
operacin de desplazamiento se procesa igual que una operacin NOP.
Palabra de estado
se escribe:
11-12
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplos
Contenido
ACU1-H
ACU1-L
Bit
31 . . . . .
..
. . . 16 15 . . . . .
..
...0
0101
1111
0110
0100
0101
1101
0011
1011
1111
0110
0100
0101
1101
0011
1011
0101
Ejemplo 1
AWL
L
SRD
T
MD4
7
MD8
Explicacin
//Cargar el valor en el ACU 1.
//Desplazar los bits en el ACU 1, 7 posiciones a la derecha.
//Transferir el resultado a MD8.
Ejemplo 2
AWL
L
L
SRD
+3
MD20
SPP
NEXT
Explicacin
//Cargar el valor +3 en el ACU 1.
//Cargar el contenido del ACU 1 en el ACU 2. Cargar el valor de MD20 en el ACU 1.
//El nmero de desplazamiento es el valor del ACU2-L-L. => Desplazar los bits
en el ACU 1, 3 posiciones a la derecha.
//Saltar a la meta NEXT, si el ltimo bit desplazado (A1) es 1.
11-13
11.2
Operaciones de rotacin
11.2.1
Descripcin
Las operaciones de rotacin hacen circular todo el contenido del ACU 1 bit por bit a la
izquierda o a la derecha (v. Registros de la CPU). Las operaciones de rotacin activan
funciones similares a las funciones de desplazamiento. Sin embargo, las posiciones vacantes
se rellenan con los estados de seal de los bits que se desplazan fuera del acumulador.
El nmero que sigue a la operacin de desplazamiento, o bien un valor del byte bajo de la
palabra baja del ACU 2 indica el nmero de bits que se rotarn.
Dependiendo de la operacin, la rotacin tendr lugar a travs del bit de la palabra de estado.
El bit de estado A0 se pone a 0.
Se dispone de las siguientes operaciones de rotacin:
RLD
11-14
11.2.2
RLD
Formato
RLD
RLD <nmero>
Operando
Tipo de datos
Descripcin
<nmero>
Descripcin de la operacin
RLD (Rotar doble palabra a la izquierda) rota el contenido completo del ACU 1 bit por bit a la
izquierda. En las posiciones de bit que quedan libres por la rotacin se escriben los estados
de seal de los bits que se desplazan fuera del ACU 1. El ltimo bit rotado se carga en el bit
A1 de la palabra de estado. El nmero de las posiciones de bit a rotar viene indicado por el
operando <nmero> o un valor en el ACU2-L-L.
RLD <nmero>: El operando <nmero> indica el nmero de rotacin. Se admiten valores
entre 0 y 32. Los bits A0 y OV de la palabra de estado se ponen a "0" si <nmero> es mayor
que 0. Si <nmero> es igual a "0", la operacin de rotacin se procesa igual que una
operacin NOP.
RLD: El nmero de rotacin viene indicado por el valor en el ACU2-L-L. Se admiten valores
entre 0 y 255. Los bits A0 y OV de la palabra de estado se ponen a "0" si el contenido del
ACU2-L-L es mayor que cero. Si el nmero de rotacin es "0" la operacin de rotacin se
procesa igual que una operacin NOP.
Palabra de estado
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
11-15
Ejemplos
Contenido
ACU1-H
Bit
31 . . . . .
ACU1-L
..
. . . 16 15 . . . . .
..
...0
0101
1111
0110
0100
0101
1101
0011
1011
1111
0110
0100
0101
1101
0011
1011
0101
Ejemplo 1
AWL
L
RLD
T
MD2
4
MD8
Explicacin
//Cargar el valor en el ACU 1.
//Rotar los bits en el ACU 1, 4 posiciones a la izquierda.
//Transferir el resultado a MD8.
Ejemplo 2
AWL
L
L
RLD
+3
MD20
SPP
NEXT
11-16
Explicacin
//Cargar el valor +3 en el ACU 1.
//Cargar el contenido del ACU 1 en el ACU 2. Cargar el valor de MD20 en el ACU 1.
//El nmero de rotacin es el valor del ACU2-L-L. => Rotar los bits en el ACU 1,
3 posiciones a la izquierda.
//Saltar a la meta NEXT, si el ltimo bit rotado (A1) es 1.
11.2.3
RRD
Formato
RRD
RRD <nmero>
Operando
Tipo de datos
Descripcin
<nmero>
Descripcin de la operacin
RRD (Rotar doble palabra a la derecha) rota el contenido completo del ACU 1 bit por bit a la
derecha. En las posiciones de bit que quedan libres por la rotacin se escriben los estados de
seal de los bits que se rotan fuera del ACU 1. El ltimo bit rotado se carga en el bit A1 de la
palabra de estado. El nmero de las posiciones de bit a rotar viene indicado por el operando
<nmero> o por un valor en el ACU2-L-L.
RRD <nmero>: El operando <nmero> indica el nmero de rotacin. Se admiten valores
entre 0 y 32. Los bits A0 y OV de la palabra de estado se ponen a "0" si <nmero> es mayor
que cero. Si <nmero> es igual a cero la operacin de rotacin se procesa igual que una
operacin NOP.
RRD: El nmero de rotacin viene indicado por el valor en el ACU2-L-L. Se admiten valores
entre 0 y 255. Los bits A0 y OV de la palabra de estado se ponen a "0" si el contenido del
AKKU2-L-L es mayor que cero. Si el nmero de rotacin es "0", la operacin de rotacin se
procesa igual que una operacin NOP.
Palabra de estado
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
11-17
Ejemplos
Contenido
ACU1-H
Bit
31 . . . . .
ACU1-L
..
. . . 16 15 . . . . .
..
...0
0101
1111
0110
0100
0101
1101
0011
1011
1111
0110
0100
0101
1101
0011
1011
0101
Ejemplo 1
AWL
L
RRD
T
MD2
4
MD8
Explicacin
//Cargar el valor en el ACU 1.
//Desplazar los bits en el ACU 1, 4 posiciones a la derecha.
//Transferir el resultado a MD8.
Ejemplo 2
AWL
L
L
RRD
+3
MD20
SPP
NEXT
11-18
Explicacin
//Cargar el valor +3 en el ACU 1.
//Cargar el contenido del ACU 1 en el ACU 2. Cargar el valor de MD20 en el ACU 1.
//El nmero de rotacin es el valor del ACU2-L-L. => Rotar los bits en el ACU 1,
3 posiciones a la derecha.
//Saltar a la meta NEXT, si el ltimo bit rotado (A1) es 1.
11.2.4
RLDA
Formato
RLDA
Descripcin de la operacin
RLDA (Rotar doble palabra a la izquierda va A1) rota el contenido completo del ACU 1 una
posicin de bit a la izquierda mediante el cdigo de condicin A1. Los bits A0 y OV de la
palabra de estado se ponen a "0".
Palabra de estado
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplos
Contenido
BI1
Bit
ACU1-H
31 . . . . .
ACU1-L
..
. . . 16 15 . . . . .
..
...0
0101
1111
0110
0100
0101
1101
0011
1011
1011
1110
1100
1000
1011
1010
0111
011X
AWL
L
RLDA
SPP
MD2
NEXT
Explicacin
//Cargar el valor de MD2 en el ACU 1.
//Rotar los bits en el ACU 1 una posicin a la izquierda va A1.
//Saltar a la meta NEXT, si el ltimo bit rotado (A1) es 1.
11-19
11.2.5
RRDA
Formato
RRDA
Descripcin de la operacin
RRDA (Rotar doble palabra a la derecha va A1) rota el contenido completo del ACU 1 una
posicin de bit a la derecha mediante el cdigo de condicin A1. Los bits A0 y OV de la
palabra de estado se ponen a "0".
Palabra de estado
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplos
Contenido
BI1
Bit
ACU1-H
ACU1-L
31 . . . . .
..
. . . 16 15 . . . . .
..
...0
0101
1111
0110
0100
0101
1101
0011
1011
X010
1111
1011
0010
0010
1110
1001
1101
AWL
L
RRDA
SPP
11-20
MD2
NEXT
Explicacin
//Cargar el valor deMD2 en el ACU 1.
//Rotar los bits en el ACU 1 una posicin a la derecha va A1.
//Saltar a la meta NEXT, si el ltimo bit rotado (A1) es 1.
12
Operaciones de temporizacin
12.1
Descripcin
Bajo Area de memoria y componentes de un temporizador encontrar informacin sobre
cmo ajustar y seleccionar los temporizadores.
Se dispone de las operaciones de temporizacin siguientes:
FR
Habilitar temporizador
LC
Desactivar temporizador
SI
SV
SE
SS
SA
12-1
Operaciones de temporizacin
12.2
Area de memoria
Los temporizadores tienen un rea reservada en la memoria de la CPU. Esta rea de
memoria reserva una palabra de 16 bits para cada operando de temporizador. La
programacin con AWL asiste 256 temporizadores. Consulte los datos tcnicos de la CPU
para saber de cuntas palabras de temporizacin dispone sta.
Las siguientes funciones tienen acceso al rea de memoria de temporizadores:
Operaciones de temporizacin
Actualizacin por reloj de palabras de temporizacin. Esta funcin de la CPU en el estado
RUN decrementa en una unidad un valor de temporizacin dado en el intervalo indicado
por la base de tiempo hasta alcanzar el valor 0.
Valor de temporizacin
Los bits 0 a 9 de la palabra de temporizacin contienen el valor de temporizacin en cdigo
binario. Este valor indica un nmero de unidades. La actualizacin decrementa el valor de
temporizacin en una unidad y en el intervalo indicado por la base de tiempo hasta alcanzar el
valor 0. El valor de temporizacin se puede cargar en los formatos binario, hexadecimal o
decimal codificado en binario (BCD). El rea de temporizacin va de 0 a 9 990 segundos. Para
cargar un valor de temporizacin redefinido, se observarn las siguientes reglas sintcticas.
El valor de temporizacin se puede cargar en cualesquiera de los siguientes formatos:
w#16#txyz
siendo: t= la base de tiempo (es decir, intervalo de tiempo o resolucin)
xyz = el valor de temporizacin en formato BCD
S5T#aH_bM_cS_dMS
siendo: H (horas), M (minutos), S (segundos), MS (milisegundos);
a, b, c, d los define el usuario
La base de tiempo se selecciona automticamente y el valor de temporizacin se redondea al prximo
nmero inferior con esa base de tiempo.
El valor de temporizacin mximo que puede introducirse es de 9 900 segundos
2H_46M_30S.
12-2
Operaciones de temporizacin
Base de tiempo
Los bits 12 y 13 de la palabra de temporizacin contienen la base de tiempo en cdigo binario.
La base de tiempo define el intervalo en que se decrementa en una unidad el valor de
temporizacin. La base de tiempo ms pequea es 10 ms, la ms grande 10 s.
Base di tiempo
10 ms
00
100 ms
01
1s
10
10 s
11
Los valores no deben exceder 2H_46M_30S. Los valores con un margen o una resolucin
demasiado grandes se redondean. El formato general para el tipo de datos S5TIME tiene los
siguientes valores lmite:
Resolucin
Margen
0,01 segundos
10MS
0,1 segundos
100MS a 1M_39S_900MS
1 segundo
1S
a 16M_39S
10 segundos
10S
a 2H_46M_30S
a 9S_990MS
15...
x x
0 0
...8 7...
1 0 0
1
Base de tiempo
1 segundo
0 0
...0
1
Valor de temporizacin
en BCD (0 a 999)
12-3
Operaciones de temporizacin
A 4.0 S_IMPULS
t
A 4.0 S_VIMP
t
A 4.0 S_EVERZ
t
A 4.0 S_SEVERZ
t
A 4.0 S_AVERZ
t
Temporizadores
Descripcin
S_IMPULS
Temporizador de impulso
S_VIMP
Temporizador de impulso
prolongado
S_EVERZ
La seal de salida es 1 solamente si ha finalizado el tiempo programado y la seal
Temporizador de retardo a la de entrada sigue siendo 1.
conexin
S_SEVERZ
La seal de salida cambia de 0 a 1 solamente si ha finalizado el tiempo
Temporizador de retardo a la programado, independientemente del tiempo en que la seal de salida est a 1.
conexin con memoria
S_AVERZ
La seal de salida es 1 cuando la seal de entrada es 1 o cuando el temporizador
Temporizador de retardo a la est en marcha. El temporizador arranca cuando la seal de entrada cambia de 1
desconexin
a 0.
12-4
Operaciones de temporizacin
12.3
FR
Habilitar temporizador
Formato
FR <temporizador>
Operando
Tipo de
datos
Area de
memoria
Descripcin
<temporizador>
TIMER
Descripcin de la operacin
FR <temporizador> borra la marca de flancos que se utiliza para arrancar el temporizador
direccionado, si el RLO cambia de "0" a "1". Si el bit RLO cambia de "0" a "1" antes de una
operacin Habilitar temporizador (FR) se habilita un temporizador.
La operacin Habilitar temporizador no es necesaria efectuar el arranque normal de un
temporizador; slo se utiliza para volver a arrancar un temporizador que est en
funcionamiento. Ello slo es posible si la operacin de arranque se sigue procesando con el
RLO = 1.
Palabra de estado
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
U
FR
U
L
SI
U
R
U
=
L
E 2.0
T1
E 2.1
S5T#10s
T1
E 2.2
T1
T1
A 4.0
T1
Explicacin
MW10
12-5
Operaciones de temporizacin
RLO en la entrada de
habilitacin
RLO en la entrada de
arranque
RLO en la entrada de
desactivacin
E 2.0
E 2.1
E 2.2
A 4.0
(1) Si el RLO en la entrada de habilitacin cambia de "0" a "1"; durante el funcionamiento del
temporizador, ste volver a arrancarse. El temporizador programado es el temporizador
actual para el nuevo arranque. Si el RLO en la entrada de habilitacin cambia de "1" a "0",
esto no tiene influencia.
(2) Si el RLO en la entrada de habilitacin cambia de "0" a "1", y el temporizador no est en
funcionamiento, mientras hay un RLO de "1" en la entrada de arranque, el temporizador se
arranca con el valor de temporizacin programado.
(3) Si el RLO en la entrada de habilitacin cambia de "0" a "1"; mientras hay un RLO de "0" en
la entrada de arranque, esto no tiene influencia sobre el temporizador.
12-6
Operaciones de temporizacin
12.4
Formato
L <temporizador>
Operando
Tipo de
datos
Area de
memoria
Descripcin
<temporizador>
TIMER
Descripcin de la operacin
L <temporizador> carga en el ACU1-L el valor de temporizacin actual de la palabra de
temporizacin sin base de tiempo como entero binario, despus de que se haya cargado el
contenido del ACU 1 en el ACU 2.
Palabra de estado
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
L
T1
Explicacin
//Cargar el ACU1-L con el valor de temporizacin actual del temporizador T1
en cdigo binario.
12-7
Operaciones de temporizacin
Palabra de
temporizacin
en la memoria
para el temporizador T1
Contenido del
ACU 1-L
despus de la
instruccin
L T1
15
14
13
12
11
10
Base di tiempo
00 = 10 ms
01 = 100 ms
10 = 1 s
11 = 10 s
15
14
13
12
Todos "0"
11
10
T1
Nota
L <temporizador> slo carga el cdigo binario del valor de temporizacin actual en el ACU
1-L, pero no la base de tiempo. El valor de temporizacin que se carga es el valor inicial del
tiempo menos el tiempo que ha transcurrido desde el arranque de la funcin de
temporizacin.
12-8
Operaciones de temporizacin
12.5
Formato
LC <temporizador>
Operando
Tipo de
datos
Area de
memoria
Descripcin
<temporizador>
TIMER
Descripcin de la operacin
LC <temporizador> carga en el ACU 1 el valor de temporizacin actual y la base de tiempo
de la palabra de temporizacin direccionada como nmero en formato decimal codificado en
binario (BCD), despus de que se haya cargado el contenido del ACU 1 en el ACU 2.
Palabra de estado
se escribe:
RB
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.
12-9
Operaciones de temporizacin
Palabra de
temporizacin
en la memoria
para el temporizador T1
Contenido del
ACU 1-L
despus de la
instruccin
LC T1
15
14
13
12
11
10
Base di tiempo
00 = 10 ms
01 = 100 ms
10 = 1 s
11 = 10 s
0
2
15
0
2
14
0
2
13
Base di tiempo
00 = 10 ms
01 = 100 ms
10 = 1 s
11 = 10 s
12-10
0
2
12
11
2
2
10
10 Centenas
2
1
10 Decenas
10 Unidades
Operaciones de temporizacin
12.6
Desactivar temporizador
Formato
R <temporizador>
Operando
Tipo de
datos
Area de
memoria
Descripcin
<temporizador>
TIMER
Descripcin de la operacin
R <temporizador> finaliza la funcin de temporizacin actual y borra el valor de
temporizacin y la base de tiempo de la palabra de temporizacin direccionada, si el RLO
cambia de "0" a "1".
Palabra de estado
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
U
R
Explicacin
E 2.1
T1
12-11
Operaciones de temporizacin
12.7
SI
Formato
SI <temporizador>
Operando
Tipo de
datos
Area de
memoria
Descripcin
<temporizador>
TIMER
Descripcin de la operacin
SI <temporizador> arranca el temporizador direccionado si el RLO cambia de "0" a "1". El
intervalo programado transcurre mientras el RLO sea 1. Si el RLO cambia a "0" antes de que
haya transcurrido el intervalo programado, el temporizador se para. Para esta operacin
(Arrancar temporizador) tienen que estar almacenados el valor de temporizacin y la base de
tiempo en formato BCD en el ACU1-L.
Consulte tambin Area de memoria y componentes de un temporizador.
Palabra de estado
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
U
FR
U
L
SI
U
R
U
=
L
E 2.0
T1
E 2.1
S5T#10s
T1
E 2.2
T1
T1
A 4.0
T1
T
LC
T
MW10
T1
MW12
12-12
Explicacin
//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.
Operaciones de temporizacin
Habilitar
E 2.0
Arrancar
E 2.1
Poner a 0
E 2.2
Temporizador
t
Salida
A 4.0
Cargar
temporizador: L, LC
t = duracin de tiempo programada
12-13
Operaciones de temporizacin
12.8
SV
Formato
SV <temporizador>
Operando
Tipo de
datos
Area de
memoria
Descripcin
<temporizador>
TIMER
Descripcin de la operacin
SV <temporizador> arranca el temporizador direccionado si el RLO cambia de "0" a "1". El
intervalo programado transcurre aunque el RLO cambie mientras tanto a "0". Si el RLO
cambia de "0" a "1" antes de que haya transcurrido el intervalo programado, se vuelve a
arrancar el intervalo programado. Para que se ejecute esta orden de arrancar el temporizador
tienen que estar almacenados en el ACU1-L el valor de temporizacin y la base de tiempo en
formato BCD.
Consulte tambin Area de memoria y componentes de un temporizador.
Palabra de estado
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
U
FR
U
L
SV
U
R
U
=
L
E 2.0
T1
E 2.1
S5T#10s
T1
E 2.2
T1
T1
A 4.0
T1
T
LC
T
MW10
T1
MW12
12-14
Explicacin
//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.
Operaciones de temporizacin
Habilitar
E 2.0
Arrancar
E 2.1
Poner a 0
E 2.2
Temporizador
t
Salida
A 4.0
Cargar
temporizador: L, LC
12-15
Operaciones de temporizacin
12.9
SE
Formato
SE <temporizador>
Operando
Tipo de
datos
Area de
memoria
Descripcin
<temporizador>
TIMER
Descripcin de la operacin
SE <temporizador> arranca el temporizador direccionado si el RLO cambia de "0" a "1". El
intervalo programado transcurre mientras el RLO sea 1. Si el RLO cambia a "0" antes de
haber transcurrido el intervalo programado, el temporizador se detiene. Para que se realice
esta orden de arrancar el temporizador tienen que estar almacenados en el ACU1-L el valor
de temporizacin y la base de tiempo en formato BCD.
Consulte tambin Area de memoria y componentes de un temporizador.
Palabra de estado
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
U
FR
U
L
SE
U
R
U
=
L
E 2.0
T1
E 2.1
S5T#10s
T1
E 2.2
T1
T1
A 4.0
T1
T
LC
T
MW10
T1
MW12
12-16
Explicacin
//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.
Operaciones de temporizacin
Habilitar
E 2.0
Arrancar
E 2.1
Poner a 0
E 2.2
Temporizador
t
Salida
A 4.0
Cargar
temporizador: L, LC
12-17
Operaciones de temporizacin
12.10
Formato
SS <temporizador>
Operando
Tipo de
datos
Area de
memoria
Descripcin
<temporizador>
TIMER
Descripcin de la operacin
SS <temporizador> (Arrancar temporizador como retardo a la conexin con memoria) arranca
el temporizador direccionado si el RLO cambia de "0" a "1". El intervalo programado
transcurre aunque el RLO cambie mientras tanto a "0". Si el RLO cambia de "0" a "1" antes de
que haya transcurrido el intervalo programado, se vuelve a arrancar el intervalo programado.
Para que se ejecute esta operacin de arrancar el temporizador tienen que estar
almacenados en el ACU1-L el valor de temporizacin y la base de tiempo en formato BCD.
Consulte tambin Area de memoria y componentes de un temporizador.
Palabra de estado
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
U
FR
U
L
SS
U
R
U
=
L
E 2.0
T1
E 2.1
S5T#10s
T1
E 2.2
T1
T1
A 4.0
T1
T
LC
T
MW10
T1
MW12
12-18
Explicacin
//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.
Operaciones de temporizacin
Habilitar
E 2.0
Arrancar
E 2.1
Poner a 0
E 2.2
Temporizador
t
Salida
A 4.0
Cargar
temporizador: L, LC
12-19
Operaciones de temporizacin
12.11
SA
Formato
SA <temporizador>
Operando
Tipo de
datos
Area de
memoria
Descripcin
<temporizador>
TIMER
Descripcin de la operacin
SA <temporizador> arranca el temporizador direccionado si el RLO cambia de "1" a "0". El
intervalo programado transcurre mientras el RLO sea 0. Si el RLO cambia a "1" antes de que
haya transcurrido el intervalo programado, el temporizador se para. Para esta instruccin
Arrancar temporizador tienen que estar almacenados el valor de temporizacin y la base de
tiempo en formato BCD en el ACU1-L.
Consulte tambin Area de memoria y componentes de un temporizador.
Palabra de estado
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
U
FR
U
L
SA
U
R
U
=
L
E 2.0
T1
E 2.1
S5T#10s
T1
E 2.2
T1
T1
A 4.0
T1
T
LC
T
MW10
T1
MW12
12-20
Explicacin
//Habilitar el temporizador T1.
//Ajustar una preseleccin de 10 segundos en el ACU 1.
//Arrancar el temporizador T1 como retardo a la desconexin.
//Poner el temporizador T1 a 0.
//Consultar el estado de seal del temporizador T1.
//Cargar el valor de temporizacin actual del temporizador T1 como nmero
binario.
//Cargar el valor de temporizacin actual del temporizador T1 en formato BCD.
Operaciones de temporizacin
Habilitar
E 2.0
Arrancar
E 2.1
Poner a 0
E 2.2
Temporizador
t
Salida
A 4.0
Cargar
temporizador: L, LC
12-21
Operaciones de temporizacin
12-22
13
13.1
Descripcin
Las operaciones lgicas con palabras combinan pares de palabras (16 bits) o palabras dobles
(32 bits) bit por bit de acuerdo con la lgica de Boole. Cada palabra o palabra doble debe
encontrarse en uno de ambos acumuladores.
En las operaciones con palabras se combina el contenido de la palabra baja del ACU 2 con el
contenido de la palabra baja del ACU 1. El resultado lgico se almacena en la palabra baja del
ACU 1, sobreescribiendo el antiguo contenido.
En las operaciones con palabras dobles se combina el contenido del ACU 2 con el contenido
del ACU 1. El resultado lgico se almacena en el ACU 1, sobreescribiendo el antiguo
contenido.
Si el resultado lgico es 0, el bit A1 de la palabra de estado se pone a 0. Si el resultado no
es igual a 0, el bit A1 se pone a 1. Los bits A0 y OV de la palabra de estado se ponen en
ambos casos a 0.
Se dispone de las operaciones lgicas con palabras siguientes:
UW
OW
OD
13-1
13.2
UW
Formato
UW
UW <constante>
Operando
<constante>
Tipo de datos
Descripcin
WORD,
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
se escribe:
13-2
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplos
Bit
15 . .
..
..
...0
0101
1001
0011
1011
1111
0110
1011
0101
0101
0000
0011
0001
Ejemplo 1
AWL
L
L
EW20
EW22
UW
T
MW 8
Explicacin
//Cargar el contenido de EW20 en el ACU1-L.
//Cargar el contenido del ACU 1 en el ACU 2. Cargar el contenido de EW22 en
el ACU 1-L.
//Combinar los bits del ACU1-L con los bits del ACU2-L realizando una operacin
Y lgica, almacenar el resultado en el ACU1-L.
//Transferir el resultado a MW8.
Ejemplo 2
AWL
L
UW
SPP
EW20
W#16#0FF
F
NEXT
Explicacin
//Cargar el contenido de EW20 en el ACU1-L.
//Combinar los bits del ACU1-L con la configuracin binaria de la constante
(de 16 bits) (0000_1111_1111_1111) realizando una operacin Y lgica,
almacenar el resultado en el ACU1-L.
//Saltar a la meta NEXT si el resultado es diferente de cero (A1 = 1).
13-3
13.3
OW
Formato
OW
OW <constante>
Operando
<constante>
Tipo de datos
Descripcin
WORD,
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
se escribe:
13-4
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplos
Bit
15 . .
..
..
...0
0101
0101
0011
1011
1111
0110
1011
0101
1111
0111
1011
1111
Ejemplo 1
AWL
L
L
EW20
EW22
OW
T
MW8
Explicacin
//Cargar el contenido de EW20 en el ACU1-L.
//Cargar el contenido del ACU 1 en el ACU 2. Cargar el contenido de EW22 en
el ACU 1-L.
//Combinar los bits del ACU1-L con los bits del ACU2-L realizando una operacin
O lgica, almacenar el resultado en el ACU1-L.
//Transferir el resultado a MW 8.
Ejemplo 2
AWL
L
OW
EW20
W#16#0FFF
SPP
NEXT
Explicacin
//Cargar el contenido de EW20 en el ACU1-L.
//Combinar los bits del ACU1-L con la configuracin binaria de la constante
(16 bits) (0000_1111_1111_1111) realizando una operacin O lgica, almacenar
el resultado en el ACU1- L.
//Saltar a la meta NEXT si el resultado es diferente de cero (A1 = 1).
13-5
13.4
XOW
Formato
XOW
XOW <constante>
Operando
<constante>
Tipo de datos
Descripcin
WORD,
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
se escribe:
13-6
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplos
Bit
15 . .
..
..
...0
0101
0101
0011
1011
1111
0110
1011
0101
1010
0011
1000
1110
Ejemplo 1
AWL
L
L
EW20
EW22
XOW
T
MW8
Explicacin
//Cargar el contenido de EW20 en el ACU1-L.
//Cargar el contenido del ACU 1 en el ACU 2. Cargar el contenido de 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
SPP
NEXT
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).
13-7
13.5
UD
Formato
UD
UD <constante>
Operando
<constante>
Tipo de datos
Descripcin
DWORD,
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
se escribe:
13-8
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplos
Bit
31 . .
..
..
..
..
..
..
...0
0101
0000
1111
1100
1000
1001
0011
1011
1111
0011
1000
0101
0111
0110
1011
0101
0101
0000
1000
0100
0000
0000
0011
0001
Ejemplo 1
AWL
L
L
ED20
ED24
UD
T
MD8
Explicacin
//Cargar el contenido de ED20 en el ACU 1.
//Cargar el contenido del ACU 1 en el ACU 2. Cargar el contenido de ED24
en el ACU 1.
//Combinar los bits del ACU 1 con los bits del ACU 2 realizando una
operacin Y lgica, almacenar el resultado en el ACU 1.
//Transferir el resultado a MD8.
Ejemplo 2
AWL
L
UD
JP
Explicacin
ED 20
//Cargar el contenido de ED20 en el ACU 1.
DW#16#0FFF_EF21 //Combinar los bits del ACU 1 con la configuracin binaria de la
constante (32 bits) (0000_1111_1111_1111_1110_1111_0010_0001)
realizando una operacin Y lgica, almacenar el resultado en el ACU 1.
NEXT
//Saltar a la meta NEXT si el resultado es diferente de cero (A1 = 1).
13-9
13.6
OD
Formato
OD
OD <constante>
Operando
Tipo de datos
Descripcin
<constante>
DWORD,
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
se escribe:
13-10
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplos
Bit
31 . .
..
..
..
..
..
..
...0
0101
0000
1111
1100
1000
0101
0011
1011
1111
0011
1000
0101
0111
0110
1011
0101
1111
0011
1111
1101
1111
0111
1011
1111
Ejemplo 1
AWL
L
L
ED20
ED24
OD
T
MD8
Explicacin
//Cargar el contenido de ED20 en
//Cargar el contenido de ACU 1 en
ACU 1.
//Combinar los bits del ACU 1 con
O lgica, almacenar el resultado
//Transferir el resultado a MD8.
el ACU 1.
el ACU 2. Cargar el contenido de ED24 en el
los bits del ACU 2 realizando una operacin
en el ACU 1.
Ejemplo 2
AWL
L
OD
SPP
ED20
DW#16#0F
FF_EF21
NEXT
Explicacin
//Cargar el contenido de ED20 en el ACU 1.
//Combinar los bits del ACU 1 con la configuracin binaria de la constante
(32 bits) (0000_1111_1111_1111_1110_1111_0010_0001) por realizando una
operacin O lgica, almacenar el resultado en el ACU 1.
//Saltar a la meta NEXT si el resultado es diferente de cero (A1 = 1).
13-11
13.7
XOD
Formato
XOD
XOD <constante>
Operando
<constante>
Tipo de datos
Descripcin
DWORD,
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".
Palabra de estado
se escribe:
13-12
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplos
Bit
31 . .
..
..
..
..
..
..
...0
0101
0000
1111
1100
1000
0101
0011
1011
1111
0011
1000
0101
0111
0110
1011
0101
0011
0111
1001
1111
0011
1000
1110
Ejemplo 1
AWL
L
L
ED20
ED24
XOD
MD8
Explicacin
//Cargar el contenido de ED20 en el ACU 1.
//Cargar el contenido de ACU 1 en el ACU 2. Cargar el contenido de ED24
en el ACU 1.
//Combinar lgicamente los bits del ACU 1 con los bits del ACU 2
realizando una operacin O-exclusiva, almacenar el resultado en el
ACU 1.
//Transferir el resultado a MD8.
Ejemplo 2
AWL
L
XOD
SPP
Explicacin
ED20
//Cargar el contenido de ED20 en el ACU 1.
DW#16#0FFF_EF21 //Combinar lgicamente los bits del ACU 1 con la configuracin binaria
de la constante (32 bits) (0000_1111_1111_1111_1111_1110_0010_0001)
realizando una operacin O-exclusiva, almacenar el resultado en el
ACU 1.
NEXT
//Saltar a la meta NEXT si el resultado es diferente de cero (A1 = 1).
13-13
13-14
14
14.1
Descripcin
Para operar con el contenido de uno o varios acumuladores o registros de direcciones se
dispone de las siguientes operaciones:
TAK
POP
ENT
DEC
+AR1
+AR2
BLD
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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
NEXT:
MW10
MW12
>I
SPB
TAK
-I
T
NEXT
MW14
Explicacin
//Cargar el contenido de MW10 en ACU1-L.
//Cargar el contenido de ACU1-L en ACU2-L.
Cargar el contenido de MW12 en ACU1-L.
//Comprobar si ACU2-L (MW10) es mayor que ACU1-L (MW12).
//Salta a la meta NEXT, si el ACU 2 (MW10) es mayor que el ACU 1 (MW12).
//Intercambiar los contenidos de ACU 1 y ACU 2.
//Restar el contenido de ACU1-L del contenido de ACU2-L.
//Transferir el resultado (= valor mayor menos el valor menor) a MW14.
14-2
Contenidos
ACU 1
ACU 2
<MW12>
<MW10>
<MW10>
<MW12>
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
se escribe:
RB
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
ACU 2
<MW10>
<X>
<MW10>
<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
se escribe:
RB
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.
14-4
Contenidos
ACU 1
ACU 2
ACU 3
ACU 4
Valor A
Valor B
Valor C
Valor D
Valor A
Valor A
Valor B
Valor C
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
se escribe:
RB
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
ACU 2
Valor A
Valor B
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
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
T
POP
MD10
MD14
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.
ACU 1
14-6
ACU 2
ACU 3
ACU 4
Valor A
Valor B
Valor C
Valor D
Valor B
Valor C
Valor D
Valor D
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
DBD0
DBD4
+R
L
DBD8
ENT
L
-R
DBD12
/R
T
DBD16
14.8
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
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
Tipo de datos
Descripcin
<entero de 8 bits>
Constante
(entero de 8 bits)
Descripcin de la operacin
INC <entero de 8 bits> (Incrementar ACU1-L-L) suma el nmero entero (8 bits) al contenido
del ACU1-L-L y almacena el resultado en ACU1-L-L. ACU1-L-H, ACU1-H y ACU 2 no se
alteran. La operacin se ejecuta sin considerar ni afectar a los bits de la palabra de estado.
Nota
Esta operacion no sirve para las operaciones aritmticas de 16 32 bits, puesto que no se
transfiere nada desde el byte bajo de la palabra baja del ACU 1 al byte alto de la palabra baja
del ACU 1. Para las operaciones aritmticas de 16 32 bits hay que utilizar la operacin +I o
+D, respectivamente.
Palabra de estado
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
Ejemplo
AWL
L
INC
T
14-8
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.10
DEC
Formato
DEC <entero de 8 bits>
Operando
Tipo de datos
Descripcin
<entero de 8 bits>
Constante
(entero de 8 bits)
Descripcin de la operacin
DEC <entero de 8 bits> (Decrementar ACU1-L-L) resta el nmero entero (8 bits) del
contenido del ACU1-L-L y almacena el resultado en ACU1-L-L. ACU1-L-H, ACU1-H y ACU 2
no se alteran. La operacin se ejecuta sin considerar ni afectar a los bits de la palabra de
estado.
Nota
Esta operacion no sirve para las operaciones aritmticas de 16 32 bits, puesto que no se
transfiere nada desde el byte bajo de la palabra baja del ACU 1 al byte alto de la palabra baja
del ACU 1. Para las operaciones aritmticas de 16 32 bits hay que utilizar la operacin +I o
+D, respectivamente.
Palabra de estado
se escribe:
RB
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
Tipo de datos
Descripcin
<P#Byte.Bit>
Constante de puntero
Descripcin de la operacin
+AR1 (Sumar a AR1) suma el desplazamiento que se haya indicado en la instruccin o en el
ACU 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
se escribe:
RB
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
14-10
P#300.0
Explicacin
//Sumar el desplazamiento 300.0 a AR 1.
14.12
+AR2
Formatos
+AR2
+AR2 <P#Byte.Bit>
Operando
Tipo de datos
Descripcin
<P#Byte.Bit>
Constante de puntero
Descripcin de la operacin
+AR2 (Sumar a AR2) suma el desplazamiento que se haya indicado en la instruccin o en el
ACU1-L, al contenido de AR2. El entero (16 bits) es ampliado primero con el signo correcto a
24 bits, y luego se suma a los 24 bits menos significativos de AR 2 (parte de la direccin
relativa en AR2). La parte de la identificacin de rea en AR2 (bits 24, 25 y 26) no se altera. La
operacin se ejecuta sin considerar ni afectar a los bits de la palabra de estado.
+AR2: El entero (16 bits) a sumar al contenido de AR2 lo indica el valor del AKU1-L. Est
permitido utilizar valores entre -32768 y +32767.
+AR2 <P#Byte.Bit>: El desplazamiento a sumarse es indicado por el operando
<P#Byte.Bit> .
Palabra de estado
se escribe:
RB
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
Descripcin
<nmero>
Descripcin de la operacin
BLD <nmero> (Estructuracin de imagen; operacin nula) no ejecuta ninguna funcin y
tampoco afecta a los bits de la palabra de estado. La operacin sirve de ayuda a la unidad de
programacin (PG) para estructurar la imagen de forma grfica, la cual se genera de forma
automtica cuando se visualiza un programa KOP o FUP en AWL. El operando <nmero> es
el nmero de identificacin de la operacin BLD y es generado por la unidad de programacin.
Palabra de estado
se escribe:
14.14
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
NOP 0
Operacin nula 0
Formato
NOP 0
Descripcin de la operacin
NOP 0 (Operacin NOP con el operando "0") no ejecuta ninguna funcin y tampoco afecta a
los bits de la palabra de estado. El cdigo de operacin contiene una configuracin binaria con
16 ceros. La operacin slo tiene importancia para la unidad de programacin (PG) cuando se
visualiza un programa.
Palabra de estado
se escribe:
14-12
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
14.15
NOP 1
Operacin nula 1
Formato
NOP 1
Descripcin de la operacin
NOP 1 (Operacin NOP con el operando "1") no ejecuta ninguna funcin y tampoco afecta a
los bits de la palabra de estado. El cdigo de operacin contiene una configuracin binaria con
16 unos. La operacin slo tiene importancia para la unidad de programacin (PG) cuando se
visualiza un programa.
Palabra de estado
se escribe:
RB
A1
A0
OV
OS
OR
STA
RLO
/ER
14-13
14-14
A.1
NemoNemotcnica tcnica
alemana inglesa
Catlogo de elementos
del programa
Descripcin
Asignar
Cerrar parntesis
*D
*D
*I
*I
*R
*R
/D
/D
/I
/I
/R
/R
?D
?D
Comparador
?I
?I
Comparador
?R
?R
Comparador
Comparar nmeros en coma flotante (32 bits) ==, <>, >, <,
>=, <=
+AR1
+AR1
Acumulador
+AR2
+AR2
Acumulador
+D
+D
+I
+I
+R
+R
ABS
ABS
ACOS
ACOS
ASIN
ASIN
ATAN
ATAN
AUF
OPN
Bloque de datos
BE
BE
Fin de bloque
BEA
BEU
A-1
NemoNemotcnica tcnica
alemana inglesa
Catlogo de elementos
del programa
Descripcin
BEB
BEC
BLD
BLD
Acumulador
BTD
BTD
Convertidor
BTI
BTI
Convertidor
CALL
CALL
Llamada
CALL
CALL
CALL
CALL
CC
CC
Llamada condicionada
CLR
CLR
COS
COS
DEC
DEC
Acumulador
DTB
DTB
Convertidor
DTR
DTR
Convertidor
ENT
ENT
Acumulador
EXP
EXP
FN
FN
Flanco negativo
FP
FP
Flanco positivo
FR
FR
Contadores
FR
FR
Temporizadores
Habilitar temporizador
INC
INC
Acumulador
INVD
INVD
Convertidor
INVI
INVI
Convertidor
ITB
ITB
Convertidor
ITD
ITD
Convertidor
Cargar/Transferir
Cargar
L STW
L STW
Cargar/Transferir
Temporizadores
Contadores
L DBLG
L DBLG
Bloque de datos
L DBNO
L DBNO
Bloque de datos
L DILG
L DILG
Bloque de datos
L DINO
L DINO
Bloque de datos
LAR1
LAR1
Cargar/Transferir
A-2
NemoNemotcnica tcnica
alemana inglesa
Catlogo de elementos
del programa
Descripcin
LAR1
LAR1
Cargar/Transferir
LAR1
LAR1
Cargar/Transferir
LAR2
LAR2
Cargar/Transferir
LAR2
LAR2
Cargar/Transferir
LC
LC
Contadores
LC
LC
Temporizadores
LEAVE
LEAVE
Acumulador
LN
LN
LOOP
LOOP
Saltos
Bucle
MCR(
MCR(
)MCR
)MCR
MCRA
MCRA
MCRD
MCRD
MOD
MOD
NEGD
NEGD
Convertidor
NEGI
NEGI
Convertidor
NEGR
NEGR
Convertidor
NOP 0
NOP 0
Acumulador
Operacin nula 0
NOP 1
NOP 1
Acumulador
Operacin nula 1
NOT
NOT
Negar el RLO
O(
O(
OD
OD
ON
ON
O-No
ON(
ON(
OW
OW
POP
POP
Acumulador
POP
POP
Acumulador
PUSH
PUSH
Acumulador
PUSH
PUSH
Acumulador
Desactivar
A-3
NemoNemotcnica tcnica
alemana inglesa
Catlogo de elementos
del programa
Descripcin
Contadores
Temporizadores
RLD
RLD
Desplazar/Rotar
RLDA
RLDA
Desplazar/Rotar
RND
RND
Convertidor
RND
RND
Convertidor
RND+
RND+
Convertidor
RRD
RRD
Desplazar/Rotar
RRDA
RRDA
Desplazar/Rotar
Activar
Contadores
SA
SF
Temporizadores
SAVE
SAVE
SE
SD
Temporizadores
SET
SET
Activar
SI
SP
Temporizadores
SIN
SIN
SLD
SLD
Desplazar/Rotar
SLW
SLW
Desplazar/Rotar
SPA
JU
Saltos
Salto incondicionado
SPB
JC
Saltos
Saltar si RLO = 1
SPBB
JCB
Saltos
SPBI
JBI
Saltos
Saltar si RB = 1
SPBIN
JNBI
Saltos
Saltar si RB = 0
SPBN
JCN
Saltos
Saltar si RLO = 0
SPBNB
JNB
Saltos
SPL
JL
Saltos
SPM
JM
Saltos
SPMZ
JMZ
Saltos
SPN
JN
Saltos
SPO
JO
Saltos
Saltar si OV = 1
SPP
JP
Saltos
SPPZ
JPZ
Saltos
SPS
JOS
Saltos
Saltar si OS = 1
A-4
NemoNemotcnica tcnica
alemana inglesa
Catlogo de elementos
del programa
Descripcin
SPU
Saltos
JUO
SPZ
JZ
Saltos
Saltar si el resultado = 0
SQR
SQR
SQRT
SQRT
SRD
SRD
Desplazar/Rotar
SRW
SRW
Desplazar/Rotar
SS
SS
Temporizadores
SSD
SSD
Desplazar/Rotar
SSI
SSI
Desplazar/Rotar
SV
SE
Temporizadores
Cargar/Transferir
Transferir
T STW
T STW
Cargar/Transferir
TAD
CAD
Convertidor
TAK
TAK
Acumulador
TAN
TAN
TAR
CAR
Cargar/Transferir
TAR1
TAR1
Cargar/Transferir
TAR1
TAR1
Cargar/Transferir
TAR1
TAR1
Cargar/Transferir
TAR2
TAR2
Cargar/Transferir
TAR2
TAR2
Cargar/Transferir
TAW
CAW
Convertidor
TDB
CDB
Bloque de datos
TRUNC
TRUNC
Convertidor
Truncar
U(
A(
UC
UC
Llamada incondicionada
UD
AD
UN
AN
Y-No
UN(
AN(
UW
AW
O-exclusiva
X(
X(
A-5
NemoNemotcnica tcnica
alemana inglesa
Catlogo de elementos
del programa
Descripcin
XN
O-exclusiva-NO
XN
XN(
XN(
XOD
XOD
XOW
XOW
ZR
CD
Contadores
Decrementar contador
ZV
CU
Contadores
Incrementar contador
A-6
A.2
Descripcin
Asignar
Cerrar parntesis
*D
*D
*I
*I
*R
*R
/D
/D
/I
/I
/R
/R
?D
?D
Comparador
?I
?I
Comparador
?R
?R
Comparador
Comparar nmeros en coma flotante (32 bits) ==, <>, >, <,
>=, <=
+AR1
+AR1
Acumulador
+AR2
+AR2
Acumulador
+D
+D
+I
+I
+R
+R
A(
U(
ABS
ABS
ACOS
ACOS
AD
UD
AN
UN
Y-No
AN(
UN(
ASIN
ASIN
ATAN
ATAN
AW
UW
BE
BE
Fin de bloque
BEC
BEB
BEU
BEA
A-7
Descripcin
BLD
BLD
Acumulador
BTD
BTD
Convertidor
BTI
BTI
Convertidor
CAD
TAD
Convertidor
CALL
CALL
Llamada
CALL
CALL
CALL
CALL
CAR
TAR
Cargar/Transferir
CAW
TAW
Convertidor
CC
CC
Llamada condicionada
CD
ZR
Contadores
Decrementar contador
CDB
TDB
Bloque de datos
CLR
CLR
COS
COS
CU
ZV
Contadores
Incrementar contador
DEC
DEC
Acumulador
DTB
DTB
Convertidor
DTR
DTR
Convertidor
ENT
ENT
Acumulador
EXP
EXP
FN
FN
Flanco negativo
FP
FP
Flanco positivo
FR
FR
Contadores
FR
FR
Temporizadores
Habilitar temporizador
INC
INC
Acumulador
INVD
INVD
Convertidor
INVI
INVI
Convertidor
ITB
ITB
Convertidor
ITD
ITD
Convertidor
JBI
SPBI
Saltos
Saltar si RB = 1
JC
SPB
Saltos
Saltar si RLO = 1
JCB
SPBB
Saltos
JCN
SPBN
Saltos
Saltar si RLO = 0
JL
SPL
Saltos
JM
SPM
Saltos
A-8
Descripcin
JMZ
SPMZ
Saltos
JN
SPN
Saltos
JNB
SPBNB
Saltos
JNBI
SPBIN
Saltos
Saltar si RB = 0
JO
SPO
Saltos
Saltar si OV = 1
JOS
SPS
Saltos
Saltar si OS = 1
JP
SPP
Saltos
JPZ
SPPZ
Saltos
JU
SPA
Saltos
Salto incondicionado
JUO
SPU
Saltos
JZ
SPZ
Saltos
Saltar si el resultado = 0
Cargar/Transferir
Cargar
L STW
L STW
Cargar/Transferir
Temporizadores
Contadores
L DBLG
L DBLG
Bloque de datos
L DBNO
L DBNO
Bloque de datos
L DILG
L DILG
Bloque de datos
L DINO
L DINO
Bloque de datos
LAR1
LAR1
Cargar/Transferir
LAR1
LAR1
Cargar/Transferir
LAR1
LAR1
Cargar/Transferir
LAR2
LAR2
Cargar/Transferir
LAR2
LAR2
Cargar/Transferir
LC
LC
Contadores
LC
LC
Temporizadores
LEAVE
LEAVE
Acumulador
LN
LN
LOOP
LOOP
Saltos
Bucle
MCR(
MCR(
)MCR
)MCR
A-9
Descripcin
MCRA
MCRA
MCRD
MCRD
MOD
MOD
NEGD
NEGD
Convertidor
NEGI
NEGI
Convertidor
NEGR
NEGR
Convertidor
NOP 0
NOP 0
Acumulador
Operacin nula 0
NOP 1
NOP 1
Acumulador
Operacin nula 1
NOT
NOT
Negar el RLO
O(
O(
OD
OD
ON
ON
O-No
ON(
ON(
OPN
AUF
Bloque de datos
OW
OW
POP
POP
Acumulador
POP
POP
Acumulador
PUSH
PUSH
Acumulador
PUSH
PUSH
Acumulador
Desactivar
Contadores
Temporizadores
RLD
RLD
Desplazar/Rotar
RLDA
RLDA
Desplazar/Rotar
RND
RND
Convertidor
RND
RND
Convertidor
RND+
RND+
Convertidor
RRD
RRD
Desplazar/Rotar
RRDA
RRDA
Desplazar/Rotar
Activar
Contadores
SAVE
SAVE
A-10
Descripcin
SD
SE
Temporizadores
SE
SV
Temporizadores
SET
SET
Activar
SF
SA
Temporizadores
SIN
SIN
SLD
SLD
Desplazar/Rotar
SLW
SLW
Desplazar/Rotar
SP
SI
Temporizadores
SQR
SQR
SQRT
SQRT
SRD
SRD
Desplazar/Rotar
SRW
SRW
Desplazar/Rotar
SS
SS
Temporizadores
SSD
SSD
Desplazar/Rotar
SSI
SSI
Desplazar/Rotar
Cargar/Transferir
Transferir
T STW
T STW
Cargar/Transferir
TAK
TAK
Acumulador
TAN
TAN
TAR1
TAR1
Cargar/Transferir
TAR1
TAR1
Cargar/Transferir
TAR1
TAR1
Cargar/Transferir
TAR2
TAR2
Cargar/Transferir
TAR2
TAR2
Cargar/Transferir
TRUNC
TRUNC
Convertidor
Truncar
UC
UC
Llamada incondicionada
O-exclusiva
X(
X(
XN
XN
O-exclusiva-NO
XN(
XN(
XOD
XOD
XOW
XOW
A-11
A-12
Ejemplos de programacin
B.1
Aplicaciones prcticas
Todas las instrucciones AWL activan una operacin determinada. Combinando estas
operaciones en un programa se puede llevar a cabo una gran variedad de tareas de
automatizacin. Este captulo contiene los siguientes ejemplos:
Controlar una cinta transportadora usando operaciones lgicas con bits
Detectar el sentido de marcha de una cinta transportadora usando operaciones lgicas
con bits
Generar un impulso de reloj usando operaciones de temporizacin
Supervisin del depsito usando operaciones de contaje y de comparacin
Resolver un problema usando operaciones aritmticas con enteros
Ajustar el tiempo de calentamiento de una caldera
Operaciones utilizadas
Nemotcnica
alemana
Operacin
Descripcin
UW
Lgica de palabras
Y con palabra
OW
Lgica de palabras
O con palabra
ZV, ZR
Contadores
S, R
Activar, Desactivar
NOT
Negar RLO
FP
Flanco positivo
+I
/I
*I
>=I, <=I
Comparadores
Comparar enteros
U, UN
Y, Y no
O, ON
O, O no
Asignar
INC
Acumuladores
Incrementar ACU 1
BE, BEB
L, T
Carga/Transferencia
Cargar, Transferir
SV
Temporizadores
B-1
Ejemplos de programacin
B.2
Sensor S5
S1
S2
MOTOR_ON
O Marcha
O Paro
S3
S4
O Marcha
O Paro
Smbolo
Tabla de smbolos
Pulsador de marcha
E 1.1
S1
E 1.1
S1
Pulsador de paro
E 1.2
S2
E 1.2
S2
Pulsador de marcha
E 1.3
S3
E 1.3
S3
Pulsador de paro
E 1.4
S4
E 1.4
S4
Sensor
E 1.5
S5
E 1.5
S5
Motor
A 4.0
MOTOR_ON
A 4.0
MOTOR_ON
Programacin absoluta
Programacin simblica
E 1.1
S1
E 1.3
S3
A 4.0
MOTOR_ON
E 1.2
S2
E 1.4
S4
ON E 1.5
ON S5
B-2
A 4.0
MOTOR_ON
Ejemplos de programacin
E
E
A
E
O
ON
R
E 1.4
E 1.5
A 4.0
Explicacin
//Accionando cualquiera de los pulsadores start arranca el motor.
1.1
1.3
4.0
1.2
A 4.0
BO2
BO1
A 4.1
B-3
Ejemplos de programacin
Direccin absoluta
Smbolo
Tabla de smbolos
Barrera ptica 1
E 0.0
BO1
E 0.0
BO1
Barrera ptica 2
E 0.1
BO2
E 0.1
BO2
Indicador de movimiento a la
derecha
A 4.0
DER
A 4.0
DER
Indicador de movimiento a la
izquierda
A 4.1
IZQ
A 4.1
IZQ
Marca de impulso 1
M 0.0
MI1
M 0.0
MI1
Marca de impulso 2
M 0.1
MI2
M 0.1
MI2
Programacin absoluta
Programacin simblica
E 0.0
BO1
FP
M 0.0
FP
MI1
UN
E 0.1
UN
MI 2
A 4.1
IZQ
E 0.1
BO1
FP
M 0.1
FP
MI 2
UN
E 0.0
UN
BO1
A 4.0
DER
UN
E 0.0
UN
BO1
UN
E 0.1
UN
BO2
A 4.0
DER
A 4.1
IZQ
E 0.0
FP
UN
S
U
M
E
A
E
0.0
0.1
4.1
0.1
FP
UN
S
UN
M
E
A
E
0.1
0.0
4.0
0.0
UN
R
R
E 0.1
A 4.0
A 4.1
B-4
Explicacin
//Si el estado de seal cambia de 0 a 1 (flanco positivo) en la entrada E 0.0
y, al mismo tiempo, el estado de seal de la entrada E 0.1 es 0, significa que
el paquete que transporta la cinta se est moviendo a la izquierda.
//Si ninguna de las barreras pticas est interrumpida, significa que no hay
ningn paquete entre las barreras. El puntero del sentido de transporte se
desconecta.
Ejemplos de programacin
B.3
Reloj
Para generar una seal que se repita peridicamente se puede utilizar un reloj o un rel
intermitente. Los relojes se suelen utilizar en sistemas de sealizacin que controlan la
intermitencia de lmparas indicadoras.
En el S7-300 se puede implementar la funcin Reloj usando un procesamiento temporizado
en bloques de organizacin especiales. El ejemplo siguiente de un programa AWL muestra el
uso de funciones temporizadas para generar un reloj.
T1
S5T#250ms
T1
MB100
1
MB100
Explicacin
//Si se ha vencido el tiempo T1,
//cargar el valor de temporizacin 250 ms en T1
//y arrancar T1 como temporizador de impulso prolongado.
//Negar (invertir) el resultado lgico.
//Finalizar el bloque actual cuando el tiempo transcurra.
//Si se ha terminado el tiempo, cargar el contenido del byte de marcas MB100,
//incrementar su contenido en "1" y
//transferir el resultado al byte de marcas MB100.
1
0
250 ms
El temporizador vuelve a arrancar tan pronto como haya transcurrido el tiempo programado.
Por este motivo, la consulta efectuada por la instruccin UN T1 produce el estado de seal 1
slo brevemente.
La figura muestra el aspecto de un bit RLO negado (invertido):
1
0
250 ms
Cada 250 ms el bit RLO negado es 0. En este caso la operacin BEB no finaliza el bloque,
sino que se incrementa en 1 el contenido del byte de marcas MB100.
El contenido del byte de marcas MB100 cambia cada 250 de la forma siguiente:
0 -> 1 -> 2 -> 3 -> ... -> 254 -> 255 -> 0 -> 1 ...
B-5
Ejemplos de programacin
Frecuencia en hertzios
Duracin
M 100.0
2.0
0.5 s
M 100.1
1.0
1s
M 100.2
0.5
2s
(1 s on / 1 s off)
M 100.3
0.25
4s
(2 s on / 2 s off)
M 100.4
0.125
8s
(4 s on / 4 s off)
M 100.5
0.0625
16 s
(8 s on / 8 s off)
M 100.6
0.03125
32 s
(16 s on / 16 s off)
M 100.7
0.015625
64 s
(32 s on / 32 s off)
Operacin AWL
AWL
U
M10.0
U
=
M100.1
A 4.0
Explicacin
//M10.0 = 1, cuando se produce un fallo. La lmpara indicadora de fallos luce
intermitentemente a una frecuencia de 1 Hz cuando ocurre un fallo.
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Valor en ms
250
250
250
250
250
250
250
250
250
250
10
250
11
250
12
250
B-6
Ejemplos de programacin
T
M 101.1
1
0
Tiempo
0
B-7
Ejemplos de programacin
B.4
Panel indicador
Area de almacenamiento
vaca
Area de almacenamiento
no vaca
Area de almacenamiento
al 50%
Area de almacenamiento
al 90%
Area de almacenamiento
llena
(A 12.0)
(A 12.1)
(A 15.2)
(A15.3)
(A15.4)
Entrada de paquetes
E 12.0
Almacenamiento
temporal
para 100
paquetes
E 12.1
Salida de paquetes
Cinta transportadora 1
Barriera ptica 1
B-8
Cinta transportadora 2
Barriera ptica 2
Ejemplos de programacin
E 0.0
Z1
U
ZR
E 0.1
Z1
UN
=
Z1
A 4.0
U
=
Z1
A 4.1
L
L
<=I
=
50
Z1
L
>=I
=
90
L
L
>=I
=
Z1
100
A 4.2
A 4.3
A 4.4
Explicacin
//Cada impulso generado por la barrera ptica 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 ptica 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".
//
B-9
Ejemplos de programacin
B.5
Operacin AWL
AWL
L
L
EW0
DB5.DBW3
+I
E 0.1
+15
*I
MW2
/I
B-10
MD4
Explicacin
//Cargar el valor de la palabra de entrada EW0 en el ACU 1.
//Cargar el valor de la palabra de datos global DBW3 del DB5 en el ACU 1. El
antiguo contenido del ACU 1 se desplaza al ACU 2.
//Sumar el contenido de las palabras bajas de los ACUs 1 y 2. El resultado se
deposita en la palabra baja del ACU 1. El contenido del ACU 2 y la palabra alta
del ACU 1 permanecen inalterados.
//Cargar el valor constante +15 en el ACU 1. El antiguo contenido del ACU 1
se desplaza al ACU 2.
//Multiplicar el contenido de la palabra baja del ACU 2 por el contenido de
la palabra baja del ACU 1. El resultado se deposita en el ACU 1. El contenido
del ACU 2 permanece inalterado.
//Cargar el valor de la palabra de marcas MW2 en el ACU 1. El antiguo contenido
del ACU 1 se desplaza al ACU 2.
//Dividir el contenido de la palabra baja del ACU 2 por el contenido de la palabra
baja del ACU 1. El resultado se deposita en el ACU 1. El contenido del ACU 2
permanece inalterado.
//Transferir el resultado final a la palabra doble de marcas MD4. El contenido
de ambos acumuladores permanece inalterado.
Ejemplos de programacin
B.6
Caldera
4
Calor
A 4.0
7....
...0
XXXX
0001
7...
...0
1001
EB0
0001
EB1
Bits
EW0
Bytes
Direccin absoluta
Pulsador de marcha
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
T1
A 4.0
L
UW
EW0
W#16#0FFF
OW
W#16#2000
U
SV
E 0.7
T1
Explicacin
//Si el temporizador est en marcha,
//poner en marcha la calefaccin.
//Si el temporizador est en marcha, finalizar aqu el procesamiento. Esto
impide que el temporizador T1 vuelva a arrancar al accionar el pulsador.
//Enmascarar los bits de entrada E 0.4 a E 0.7 (es decir, volverlos a poner
a 0). Este valor de temporizacin en segundos se encuentra en la palabra baja
del ACU 1 en formato decimal codificado en binario.
//Asignar la base de tiempo en segundos en los bits 12 y 13 de la palabra baja
del ACU 1.
//Arrancar el temporizador T1 como temporizador de impulso prolongado cuando
se accione el pulsador.
B-11
Ejemplos de programacin
B-12
Transferencia de parmetros
Los parmetros de un bloque se entregan o transfieren en forma de valores. En el caso de los
bloques de funcin (FB), el bloque llamado utiliza una copia del valor del parmetro actual
(real) que se encuentra en el DB de instancia. En el caso de las funciones (FC), la pila de
datos locales contiene una copia del valor actual (real). Antes de la llamada se copian los
valores INPUT en el DB de instancia, o en la pila LSTACK, segn el caso. Despus de la
llamada se copian los valores OUTPUT en las variables. Dentro del bloque llamado se opera
solamente con una copia. Las instrucciones AWL necesarias se encuentran en el bloque que
efecta la llamada y quedan ocultos para el usuario.
Nota
Cuando en una funcin se utilizan marcas, entradas, salidas o entradas y salidas de la
periferia como operandos actuales, stas reciben otro tratamiento que los dems
operandos. La actualizacin no se lleva a cabo a travs de la pila LSTACK sino
directamente.
Atencin
Vigile que al programar el bloque llamado tambin se escriban los parmetros declarados como
OUTPUT, de lo contrario los valores emitidos sern arbitrarios. En el caso de los bloques de funcin
se obtiene del DB de instancia el valor memorizado en la ltima llamada, mientras que en el caso de
las funciones se obtiene aquel valor que se encuentre casualmente en la pila de datos locales
(LSTACK).
Tenga en cuenta los puntos siguientes:
Si programa un salto dentro del bloque, tenga cuidado de no saltarse ninguna parte en la que se
escriban parmetros OUTPUT. No se olvide del BEB y del efecto que tienen las instrucciones
MCR.
C-1
Transferencia de parmetros
C-2
ndice alfabtico
)
) ...................................................................... 1-14
)MCR ............................................................... 10-21
*
*D ...................................................................... 7-11
*I ........................................................................ 7-5
*R ........................................................................ 8-7
/
/D ...................................................................... 7-12
/I ........................................................................ 7-6
/R ........................................................................ 8-9
?
? D....................................................................... 2-3
? I ........................................................................ 2-2
? R....................................................................... 2-4
+
+ ........................................................................7-8
+AR1 ............................................................... 14-10
+AR2 ............................................................... 14-11
+D........................................................................ 7-9
+I ........................................................................ 7-3
+R................................................................. 8-3, 8-4
=
= ...................................................................... 1-16
A
Abrir bloque de datos .......................................... 5-2
ABS ................................................................... 8-10
ACOS ................................................................ 8-19
Activar ............................................................... 1-18
Activar rea MCR ............................................ 10-22
Activar el RLO (=1) ............................................ 1-19
Almacenar RLO en pila MCR
inicio rea MCR ........................................... 10-19
Aplicaciones prcticas ........................................ B-1
Area de memoria ........................................ 4-1, 12-2
Area MCR........................................................ 10-22
Asignar .............................................................. 1-16
ASIN .................................................................. 8-18
ATAN................................................................. 8-20
AUF ..................................................................... 5-2
B
Base di tiempo...................................................12-3
BE ..................................................................... 10-2
BEA ................................................................... 10-4
BEB ................................................................... 10-3
BLD ................................................................. 14-12
BTD ..................................................................... 3-4
BTI....................................................................... 3-2
Bucle .................................................................6-20
C
Calcular la raz cuadrada de un nmero
de coma flotante (32 bits) .............................. 8-12
Calcular el arcocoseno de un nmero
de coma flotante (32 bits) .............................. 8-19
Calcular el arcoseno de un nmero
de coma flotante (32 bits) .............................. 8-18
Calcular el coseno de ngulos como nmeros
de coma flotante (32 bits) .............................. 8-16
Calcular el cuadrado de un nmero
de coma flotante (32 bits) .............................. 8-11
Calcular el logaritmo natural de un nmero
de coma flotante (32 bits) .............................. 8-14
Calcular el seno de ngulos como nmeros
de coma flotante (32 bits) .............................. 8-15
Calcular la arcotangente de un nmero
de coma flotante (32 bits) .............................. 8-20
Calcular la tangente de ngulos como nmeros
de coma flotante (32 bits) .............................. 8-17
CALL ........................................................ 10-5, 10-6
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-7
ndice alfabtico-1
ndice alfabtico
D
-D ...................................................................... 7-10
DEC................................................................... 14-9
Decrementar ACU 1-L-L .................................... 14-9
Decrementar contador ......................................... 4-8
Desactivar.......................................................... 1-17
Desactivar rea MCR ...................................... 10-23
Desactivar contador............................................. 4-5
Desactivar RLO (=0).......................................... 1-20
Desactivar temporizador.................................. 12-11
Desplazar doble palabra a la derecha
(32 bits)........................................................ 11-12
Desplazar doble palabra a la izquierda
(32 bits)........................................................ 11-10
Desplazar palabra a la derecha (16 bits) ........... 11-8
Desplazar palabra a la izquierda (16 bits) ......... 11-6
Desplazar signo de nmero entero a la derecha
(16 bits).......................................................... 11-2
Desplazar signo de nmero entero doble a la
derecha (32 bits)............................................ 11-4
Dividir ACU 2 por ACU 1 como entero ................ 7-6
Dividir ACU 2 por ACU 1 como entero doble..... 7-12
Dividir ACU 2 por ACU 1 como nmero
de coma flotante (32 bits) ................................ 8-9
DTB ..................................................................... 3-6
DTR ..................................................................... 3-7
ndice alfabtico-2
E
Ejemplo
Operaciones de aritmtca con enteros.......... B-10
Operaciones de contaje y comparacin .......... B-8
Operaciones de temporizacin........................ B-5
Operaciones lgicas con bits........................... B-2
Operaciones lgicas con palabras ................ B-11
Ejemplos de programacin.................................. B-1
El MCR (Master Control Relay) ....................... 10-16
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-13
F
Fin rea MCR .................................................. 10-21
Fin de bloque..................................................... 10-2
Fin de bloque condicionado............................... 10-3
Fin de bloque incondicionado............................ 10-4
Flanco negativo ........................................ 1-22, 1-23
Flanco positivo .................................................. 1-24
FN ..................................................................... 1-22
FP...................................................................... 1-24
FR ............................................................. 4-2, 12-5
H
Habilitar contador ................................................ 4-2
Habilitar temporizador ....................................... 12-5
I
-I ........................................................................ 7-4
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-11
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
ndice alfabtico
L
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-6
LAR1 AR2............................................................ 9-7
LAR2 ................................................................... 9-7
LAR2 <D>............................................................ 9-8
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-14
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
Llamada a un FB ............................................... 10-8
Llamada a un SFB........................................... 10-11
Llamada a una FC ............................................. 10-9
Llamada a una SFC......................................... 10-12
Llamada condicionada..................................... 10-14
Llamada incondicionada .................................. 10-15
Llamar a un bloque de una librera .................. 10-13
Llamar a un FB .................................................. 10-7
Llamar a un SFB.............................................. 10-10
Llamar a una FC................................................ 10-9
Llamar a una multiinstancia ............................. 10-13
Llamar a una SFC .......................................... 10-12
LN...................................................................... 8-14
LOOP ................................................................ 6-20
M
MCR .................... 10-19, 10-20, 10-21, 10-22, 10-23
MCR( .................................................... 10-19, 10-20
MCRA.............................................................. 10-22
MCRD.............................................................. 10-23
Memorizar el RLO en el registro RB.................. 1-21
MOD .................................................................. 7-13
Multiplcar ACU 1 por ACU 2
como entero doble......................................... 7-11
Multiplicar ACU 1 por ACU 2 como
de coma flotante (32 bits) ................................ 8-7
Multiplicar ACU 1 por ACU 2 como entero .......... 7-5
N
Negar el RLO .................................................... 1-19
NEGD ................................................................ 3-11
NEGI ................................................................. 3-10
NEGR ................................................................3-12
Nemotcnica alemana/SIMATIC ......................... A-1
Nemotcnica inglesa ........................................... A-7
NOP 0.............................................................. 14-12
NOP 1.............................................................. 14-13
NOT................................................................... 1-19
Notas importantes sobre el uso
de la funcin MCR ....................................... 10-18
O
O ................................................................. 1-5, 1-9
O con abrir parntesis ....................................... 1-11
O con doble palabra (32 bits) .......................... 13-10
O con palabra (16 bits) ...................................... 13-4
O( ...................................................................... 1-11
OD........................................................ 13-10, 13-11
O-exclusiva.......................................................... 1-7
O-exclusiva con abrir parntesis ....................... 1-12
O-exclusiva con doble palabra (32 bits) .......... 13-12
O-exclusiva con palabra (16 bits) ...................... 13-6
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-12
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-4, 13-5
ndice alfabtico-3
ndice alfabtico
P
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
CPU con dos acumuladores .......................... 14-3
R
R .................................................... 1-17, 4-5, 12-11
-R ........................................................................ 8-5
-R ........................................................................8-6
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-10
Restar ACU 1 de ACU 2 como nmero
de coma flotante (32 bits) ................................ 8-5
Resto de la divisin de enteros dobles .............. 7-13
RLD ...................................................... 11-15, 11-16
RLDA ............................................................... 11-19
RND.................................................................. 3-15
RND- ................................................................. 3-18
RND- ................................................................ 3-18
RND- ................................................................ 3-18
RND- ................................................................ 3-18
RND+................................................................. 3-17
Roar ACU 1 a la derecha va A1 (32 bits) ....... 11-20
Rotar ACU 1 a la izquierda va A1 (32 bits) ..... 11-19
Rotar doble palabra a la derecha (32 bits) ...... 11-17
Rotar doble palabra a la izquierda (32 bits) ..... 11-15
RRD...................................................... 11-17, 11-18
RRDA .............................................................. 11-20
S
S ............................................................... 1-18, 4-6
SA.................................................................... 12-20
Salir de la pila de ACU ...................................... 14-7
Saltar si el resultado <= 0 .................................. 6-18
Saltar si el resultado = 0 .................................... 6-13
Saltar si el resultado > 0 .................................... 6-15
Saltar si el resultado >= 0 .................................. 6-17
Saltar si el resultado no es vlido ...................... 6-19
Saltar si OS = 1 ................................................. 6-12
Saltar si OV = 1 ................................................. 6-11
Saltar si RB = 0 ................................................. 6-10
Saltar si RB = 1 ................................................... 6-9
Saltar si resultado < 0........................................ 6-16
Saltar si resultado <> 0...................................... 6-14
Saltar si RLO = 0 ................................................. 6-6
Saltar si RLO = 0 y salvar RLO en RB................. 6-8
Saltar si RLO = 1 ................................................. 6-5
ndice alfabtico-4
T
T ........................................................................ 9-9
T STW ............................................................... 9-10
TAD ................................................................... 3-14
TAK ................................................................... 14-2
TAN ................................................................... 8-17
TAR ................................................................... 9-11
TAR1 ................................................................. 9-11
TAR1 <D> ......................................................... 9-12
TAR1 AR2 ......................................................... 9-13
TAR2 ................................................................. 9-13
TAR2 <D> ......................................................... 9-14
TAW .................................................................. 3-13
TDB ..................................................................... 5-3
Temporizador como impulso ........................... 12-12
Temporizador como impulso prolongado ........ 12-14
Temporizador como retardo a la conexin ...... 12-16
ndice alfabtico
U
U ........................................................................ 1-3
U( ...................................................................... 1-10
UC ................................................................... 10-15
UD ............................................................ 13-8, 13-9
UN ....................................................................... 1-4
UN( .................................................................... 1-11
UW ........................................................... 13-2, 13-3
V
Valor absoluto de un nmero de coma flotante
(32 bits - IEEE-FP) ........................................ 8-10
Valor de contaje .................................................. 4-1
Valor de temporizacin................... 12-2, 12-3, 12-4
X
X ........................................................................ 1-7
X( ...................................................................... 1-12
XN ....................................................................... 1-8
XN( .................................................................... 1-13
XOD ..................................................... 13-12, 13-13
XOW......................................................... 13-6, 13-7
Y
Y ........................................................................ 1-3
Y antes de O ....................................................... 1-9
Y con abrir parntesis ....................................... 1-10
Y con doble palabra (32 bits)............................. 13-8
Y con palabra (16 bits) ...................................... 13-2
Y-No .................................................................... 1-4
Y-No con abrir parntesis.................................. 1-11
Z
ZR ....................................................................... 4-8
ZV........................................................................ 4-7
ndice alfabtico-5
ndice alfabtico
ndice alfabtico-6