Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
SIMATIC S7
Lista de instrucciones (AWL)
para S7-300 y S7-400
Manual de referencia
Direccionamiento
Operaciones de temporizacin
Operaciones de contaje
Operaciones
de carga y transferencia
6ES7810-4CA04-8DR0
10/98
C79000-G7078 C565
Edicin 01
10
Operaciones de comparacin
11
Operaciones de conversin
12
13
Operaciones
de desplazamiento y rotacin
14
15
Operaciones de salto
16
Operaciones
de control del programa
17
Anexos
Glosario, Indice alfabtico
Consignas de
seguridad para el
usuario
Este manual contiene las informaciones necesarias para la seguridad personal as como para la prevencin de daos materiales. Las informaciones estn puestas de relieve mediante seales de precaucin. Las seales que figuran a continuacin representan distintos grados de peligro:
Peligro
Significa que, si no se adoptan las medidas preventivas adecuadas, se producir la muerte,
lesiones corporales graves o daos materiales considerables.
Precaucin
Significa que, si no se adoptan las medidas preventivas adecuadas, puede producirse la muerte,
lesiones corporales graves o daos materiales considerables.
Cuidado
Significa que, si no se adoptan las medidas preventivas adecuadas, pueden producirse lesiones corporales o daos materiales.
Nota
Se trata de una informacin importante, sobre el producto o sobre una parte determinada del manual,
sobre la que se desea llamar particularmente la atencin.
Personal cualificado
La puesta en funcionamiento y el servicio del equipo slo deben ser llevados a cabo conforme con
este manual.
Slo est autorizado a intervenir en este equipo el personal cualificado. En el sentido del manual se
trata de personas que disponen de los conocimientos tcnicos necesarios para poner en funcionamiento, conectar a tierra y marcar los aparatos, sistemas y circuitos de acuerdo con las normas estndar de seguridad.
Uso conforme
Considere lo siguiente:
Precaucin
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 en unin de los equipos y componentes de proveniencia tercera 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 una operacin y
un mantenimiento rigurosos.
Marca registrada
SIMATIC, SIMATIC HMI y SIMATIC NET son marcas registradas por SIEMENS AG.
Los restantes nombres y designaciones contenidos en el presente impreso pueden ser marcas registradas cuya utilizacin por terceros para sus fines pueden violar los derechos de los proprietarios.
Exencin de responsabilidad
Hemos probado el contenido de esta publicacin con la concordancia descrita para el hardware y el software. Sin embargo, es posible
que se den algunas desviaciones que nos impiden tomar garanta
completa de esta concordancia. El contenido de esta publicacin
est sometido a revisiones regularmente y en caso necesario se
incluyen las correcciones en la siguiente edicin. Agradecemos
sugerencias.
Siemens AG
Bereich Automatisierungs- und Antriebstechnik
Geschaeftsgebiet Industrie-Automatisierungssysteme
Postfach 4848, D-90327 Nuernberg
E Siemens AG 1998
Sujeto a cambios sin previo aviso.
Siemens Aktiengesellschaft
C79000-G7078-C565
Prlogo
Finalidad del
manual
Destinatarios
Ambito de validez
El presente manual rige para el software de programacin STEP 7 a partir de la versin 5.0.
Cumplimiento de
la normativa
IEC 1131-3
AWL sigue los principios del lenguaje Lista de Instrucciones (en ingls Instruction List) observados en la norma DIN EN-61131-3 (int. IEC 1131-3), si bien existen diferencias esenciales en lo que se refiere a las operaciones. La tabla sobre cumplimiento de normas que encontrar en el archivo NORM.TAB de STEP 7 contiene
informacin ms detallada sobre el cumplimiento de las normas.
iii
Prlogo
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.
Manuales
Finalidad
S STEP 7 V5.0:
Introduccin y ejercicios prcticos
Referencia
6ES7810-4CA04-8DA0
6ES7810-4CA04-8DR0
Ayudas en pantalla
Finalidad
Referencia
Ayuda de STEP 7
Cmo acceder
a las Ayudas
en pantalla
iv
Las referencias de documentacin adicional se indican a travs de ndices de bibliografa escritos entre barras /.../. Con estos nmeros se puede localizar el ttulo exacto de
la documentacin correspondiente en el ndice bibliogrfico
Prlogo
Servicios online
SIMATIC de
asistencia directa
al cliente
Ayudas
adicionales
Si tiene ms preguntas, dirjase a su interlocutor de Siemens de la sucursal o concesionario correspondiente. La direccin la encontrar, p. ej., en los catlogos y en
Compuserve (go autforum).
Adems tambin dispone de nuestra SIMATIC Basis Hotline:
S en Nuremberg, Alemania
de lunes a viernes de 07:00 a 17:00 (hora local),
n de tel.: +49 (911) 8957000
o la EMail: simatic.support@nbgm.siemens.de
S en Singapur
de lunes a viernes de 08:30 a 17:30 (hora local), n de tel.: +65 7407000
o la EMail: simatic@singet.com.sg
Con la tarjeta SIMATIC podr ponerse en contacto a cualquier hora y desde
cualquier lugar con SIMATIC Premium Hotline (n de tel.: +49 (911) 895-7777).
Cursos sobre
productos
SIMATIC
Prlogo
Comentarios del
usuario acerca del
manual y la Ayuda
en pantalla
vi
Para poderle ofrecer a Usted y a los futuros usuarios de STEP 7 una documentacin
inmejorable, necesitamos su colaboracin. Si desea hacer sugerencias que afecten al
presente manual o a la Ayuda en pantalla, rellene el formulario de respuesta que se
encuentra al final de este manual y envelo a la direccin indicada en el mismo. Le
agradeceramos asimismo que nos comunicara la opinin que le merece el manual.
Contenido
Prlogo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
iii
1-1
2-1
2.1
Estructura de la instruccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-2
2.2
2-10
Direccionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-1
3.1
Direccionamiento inmediato . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-2
3.2
Direccionamiento directo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-2
3.3
3-3
3.4
Registro de direcciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-6
3.5
3-7
3.6
3-11
4-1
4.1
Resumen breve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-2
4.2
ENT y LEAVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-3
4.3
Incrementar y Decrementar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-6
4.4
4-7
5-1
5.1
5-2
5.2
5-6
5.3
5-10
5.4
5-14
5.5
5-16
5.6
5-20
5.7
5-21
5.8
5-24
5.9
5-26
vii
Contenido
Operaciones de temporizacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6-1
6.1
Resumen breve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6-2
6.2
6-3
6.3
6-5
6.4
Ejemplos de temporizadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6-7
6.5
6-17
6-18
Operaciones de contaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-1
7.1
Resumen breve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-2
7.2
7-3
7.3
7-5
7.4
7-6
7.5
7-7
7.6
Ejemplo de un contador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-8
7.7
7-10
8-1
8.1
Resumen breve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8-2
8.2
Cargar y transferir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8-3
8.3
8-6
8.4
8-7
8.5
8-9
8.6
8-11
8.7
8-12
9-1
9.1
Operaciones aritmticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9-2
9.2
9-6
10-1
10.1
Operaciones aritmticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10-2
10.2
10-6
10.3
10-7
10.4
10-9
10.5
10.6
10.7
6.6
7
10
viii
Contenido
11
12
13
14
15
16
Operaciones de comparacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11-1
11.1
Resumen breve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11-2
11.2
11-3
11.3
11-5
Operaciones de conversin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12-1
12.1
12-2
12.2
12-8
12.3
12.4
13-1
13.1
Resumen breve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13-2
13.2
13-3
13.3
13-6
14-1
14.1
Operaciones de desplazamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14-2
14.2
Operaciones de rotacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14-6
15-1
15.1
15-2
15.2
15-2
15.3
15-3
Operaciones de salto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16-1
16.1
Resumen breve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16-2
16.2
16-3
16.3
16-4
16.4
16-5
16-6
Bucle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16-8
17-1
17.1
17-2
17.2
17-3
17.3
17-7
17.4
17.5
17.6
16.5
16.6
17
ix
Contenido
A-1
A-2
A-12
Ejemplos de programacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B-1
B.1
Resumen breve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B-2
B.2
B-3
B.3
Operaciones de temporizacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B-7
B.4
B-10
B.5
B-12
B.6
B-14
C-1
Bibliografa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
D-1
A.2
B
Glosario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Glosario-1
Indice alfabtico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Indice-1
Qu significa
AWL?
AWL es la abreviatura alemana de Anweisungsliste que significa Lista de Instrucciones. AWL es un lenguaje de programacin STEP 7 que se utiliza para crear el
rea de instrucciones de los bloques lgicos. La sintaxis de las instrucciones se parece al lenguaje ensamblador: A los comandos u operaciones les siguen los operandos.
El lenguaje de
programacin
AWL
El paquete de
programacin
El paquete de programacin AWL es una unidad integrada dentro del software estndar de STEP 7. Con este paquete, y una vez que haya instalado su software
STEP 7, dispondr de todas las funciones de edicin, compilacin y de test que se
requieren para programar con AWL.
Bsicamente existen dos formas de usar el lenguaje AWL para crear un programa de
usuario:
S Con un editor incremental; ste ofrece una cmoda solucin para introducir la
estructura de los datos locales de cada bloque mediante editores de tablas.
1-1
1-2
Indice del
captulo
Apartado
Tema
2.1
Estructura de la instruccin
2.2
Pgina
2-2
2-10
2-1
2.1
Estructura de la instruccin
Componentes de
una instruccin
Las instrucciones pueden pertenecer segn su estructura a uno de los dos grupos
principales siguientes (v. tambin fig. 2-1):
S Instrucciones compuestas slo por una operacin (por ejemplo, NOT, v. apt. 5.9).
S Instrucciones compuestas por una operacin y un operando (v. tablas 2-1 a 2-5 y
tabla 2-9).
Figura 2-1
Operando de una
instruccin
Operacin + operando
S una direccin de la palabra de estado del autmata programable (p. ej. U UO,
v. tabla 2-2).
S una funcin (FC), un bloque de funcin (FB), una funcin de sistema integrada
(SFC) o un bloque de funcin de sistema integrado (SFB) y el nmero de la funcin o del bloque de funcin (v. tabla 2-5).
S un identificador del operando y una direccin del rea de memoria indicada por
el identificador (p. ej. U E 1.0 o U E [AR1,P#4.3], v. tabla 2-9).
Las tablas 2-1 a 2-9 muestran diferentes instrucciones compuestas cada una por una
operacin y un operando.
2-2
Valores constantes
La tabla 2-1 muestra cmo utilizar una constante como operando de una instruccin.
Tabla 2-1
Operacin
Operando
Descripcin
Descr
pc n
= CONSTANTE
Direcciones de la
palabra de estado
+27
END
Operacin
Operando
Direccin de
la palabra
de estado
Descripcin
BIE
UO
2-3
Nombres
simblicos
La tabla 2-3 muestra cmo utilizar un nombre simblico como operando de una
instruccin. Si quiere usar los nombres simblicos en las instrucciones AWL tiene
que haberlos declarado antes. Esta declaracin puede ser global o local. Si los quiere
usar de modo global tiene que declararlos en la tabla de smbolos; para emplearlos
de modo local hay que declararlos en el bloque para el que sern vlidos.
Tabla 2-3
Operacin
Operando
Descripcin
Descr
pc n
Smbolo
Bloque de datos y
direccin del
bloque de datos
MOTOR_ON
RPM
La tabla 2-4 muestra cmo utilizar un bloque de datos y una direccin del bloque
como operando de una instruccin
Tabla 2-4
Operandos que indican un bloque de datos o una direccin dentro del bloque
Instruccin
Operacin
Operando
Bloque de datos
y direccin
2-4
DB4.DBD10
DB10.DBX4.3
Descripcin
Cargar en el ACU 1 la palabra doble de datos
DBD10 del bloque de datos DB4.
Efectuar una combinacin Y con el bit de datos
DBX4.3 del bloque de datos DB10.
La tabla 2-5 muestra cmo utilizar una funcin (FC), un bloque de funcin (FB),
una funcin de sistema integrada (SFC), un bloque de funcin de sistema integrado
(SFB) y el nmero de la funcin o del bloque de funcin como operando de una
operacin.
Tabla 2-5
Operacin
Operando
Descripcin
Descr
pc n
Identificador del
operando
CALL
FB10, DB 10
CALL
SFC43
2-5
Tabla 2-6
Tipo de
direccionamiento
Directo
Directo
Tabla 2-7
Direccin del
operando
10
[MD2]
[DID4]
[AR1, P#4.3]
[AR2, P#53.0]
Identificador de un operando que indica el rea de memoria pero no el tamao del objeto
Tipo de
direccionamiento
Operacin
Directo
AUF
DB
Directo
SI
AUF
DB
[LW2]
[MW44]
Tabla 2-8
Identificador de un operando que indica el tamao del objeto pero no el rea de memoria
Operacin
Tipo de
direccionamiento
Indirecto del registro,
interrea
Tabla 2-9
Direccin del
operando
[AR1, P#4.3]
[AR1, P#100.0]
Operacin
2-6
Operando
Identificador del
operando
Direccin
del rea de
memoria o
registro
1.0
[MD2]
Descripcin
Utilizar una
palabra o palabra
doble como objeto
Operacin: L MD10
Identificador del operando
Figura 2-2
15
0|15
MW10
MB10
MW12
MB11
MB12
MSB
LSB
MW11
16|15
MD10
31
Figura 2-3
Las reas de
memoria y sus
funciones
MB13
La mayora de los operandos de AWL acceden a reas de memoria. En la tabla siguiente se muestran los tipos de reas de memoria con sus funciones respectivas.
2-7
Tabla 2-10
Nombre del
rea
Funcin
Abr.
Imagen del
proceso de las
entradas
Entrada
Byte de entrada
Palabra de entrada
Palabra doble de entrada
E
EB
EW
ED
Imagen del
proceso de las
salidas
Salida
Byte de salida
Palabra de salida
Palabra doble de salida
A
AB
AW
AD
Marcas
Marcas
Byte de marcas
Palabra de marcas
Palabra doble de marcas
M
MB
MW
MD
E/S: entradas
externas
PEB
PEW
PED
E/S: salidas
externas
Temporizadores
Temporizador (T)
Contadores
Contador (Z)
Bloque de datos
DBX
DBB
DBW
DBD
DIX
DIB
DIW
DID
Datos locales
2-8
L
LB
LW
LD
La tabla 2-11 muestra una lista de los mrgenes de direccionamiento de las diferentes reas de memoria. Para saber el rea de direccionamiento de la CPU utilizada,
consultar los datos correspondientes de la CPU. La funcin de las reas de memoria
se explica en la tabla 2-10.
Tabla 2-11
Abrev.
Margen de direccionamiento
i t
Entrada
Byte de entrada
Palabra de entrada
Palabra doble de entrada
E
EB
EW
ED
0.0 a 65 535.7
0 a 65 535
0 a 65 534
0 a 65 532
Salida
Byte de salida
Palabra de salida
Palabra doble de salida
A
AB
AW
AD
0.0 a 65 535.7
0 a 65 535
0 a 65 534
0 a 65 532
Marcas
Marcas
Byte de marcas
Palabra de marcas
Palabra doble de marcas
M
MB
MW
MD
0.0 a 65 535.7
0 a 65 535
0 a 65 534
0 a 65 532
E/S:
entradas externas
PEB
PEW
PED
0 a 65 535
0 a 65 534
0 a 65 532
E/S:
salidas externas
PAB
PAW
PAD
0 a 65 535
0 a 65 534
0 a 65 532
Temporizador
Temporizador
0 a 255
Contador
Contador
0 a 255
Bloque de datos
0.0 a 65 535.7
0 a 65 535
0 a 65 534
0 a 65 532
Bit de datos
Byte de datos
Palabra de datos
Palabra doble de datos
DIX
DIB
DIW
DID
0.0 a 65 535.7
0 a 65 535
0 a 65 534
0 a 65 532
L
LB
LW
LD
0.0 a 65 535.7
0 a 65 535
0 a 65 534
0 a 65 532
Bit de datos
Byte de datos
Palabra de datos
Palabra doble de datos
Bloque de datos abierto con la instruccin
AUF DI:
Datos locales
2-9
2.2
Acumuladores
Los dos acumuladores (ACU 1 y ACU 2) de 32 bits son registros universales que se
utilizan para procesar bytes, palabras y palabras dobles. En los acumuladores se
pueden cargar constantes o valores de la memoria como operandos y ejecutar con
ellos operaciones lgicas (combinaciones). Tambin es posible transferir el resultado
de una operacin desde el ACU 1 a una direccin u operando. La figura 2-4 muestra
las reas de un acumulador.
La gestin de los acumuladores funciona como el mecanismo de pila (STACK):
24
23
Byte alto
16
15
8 7
Byte alto
Byte bajo
Palabra alta
0
Byte bajo
Palabra baja
ACU (1 2)
Figura 2-4
Areas de un acumulador
Pila de parntesis
La pila de parntesis es un rea de memoria, de un byte, utilizado por las operaciones de parntesis, U(, O(, X(, UN(, ON(, XN(. Estas operaciones almacenan el resultado lgico actual (RLO) en la pila de parntesis e inician una nueva cadena lgica.
Esta pila puede almacenar hasta siete registros. Un registro de la pila de parntesis
consta de los bits RLO, BR y OR de la palabra de estado, as como de un cdigo de
funcin que indica cul de las operaciones lgicas va a ser ejecutada (U, UN, O,
ON, X o XN).
La operacin ) cierra una expresin entre parntesis y ejecuta las funciones siguientes:
2-10
La figura 2-5 muestra la estructura de un registro de la pila de parntesis; a continuacin se explican los distintos bits que componen el byte de la pila de parntesis.
Figura 2-5
27
26
25
24
23
22
21
20
BR
RLO
OR Cdigo de funcin
El byte de la pila de parntesis contiene los siguientes bits (v. fig. 2-5):
Funciones de la operacin
Cdigo de
funcin 2
Cdigo de
funcin 1
Cdigo de funcin 0
U(
UN(
O(
ON(
X(
XN(
2-11
7
Registro 7 de la pila
Registro 6 de la pila
Registro 5 de la pila
Registro 4 de la pila
Registro 3 de la pila
Registro 2 de la pila
Registro 1 de la pila
Puntero de la pila
Figura 2-6
Palabra de estado
Direcciones
ascendientes
La palabra de estado contiene bits a los que se puede acceder con el operando de
operaciones lgicas con bits y con palabras. La figura 2-7 muestra la estructura de la
palabra de estado. Los prrafos que siguen a la figura explican el significado de los
bits 0 a 8.
215...
Figura 2-7
Primera consulta
...29
28
27
26
25
RB
A1
A0
OV
24
OS
23
22
OR
STA
21
20
RLO /ER
2-12
Resultado lgico
Estado de seal
en la entrada (E)
o salida (A)
Programa
AWL
Resultado
de la
consulta
Bit
RLO
Bit /ER
0
Explicacin
Bit /ER = 0 significa que la prxima operacin
da inicio a una nueva cadena lgica.
El resultado de la primera consulta est
almacenado en el bit RLO. El bit /ER se pone
a 1.
U E 1.0
UN E 1.1
= A 4.0
Figura 2-8
Bit de estado
El bit de estado almacena el valor del bit direccionado. El estado de una operacin
lgica que tiene acceso de lectura a la memoria (U, UN, O, ON, X, XN) siempre es
igual al valor del bit que est consultando dicha operacin (el bit con el que est
ejecutando la combinacin). El estado de una operacin lgica que tiene acceso de
escritura a la memoria (S, R, =) siempre es igual al valor del bit donde la operacin
est escribiendo, o bien, si no tiene lugar ningn acceso de escritura, es igual al valor del bit direccionado. El bit de estado no es relevante en relacin con operaciones
lgicas que no acceden a la memoria. Dichas operaciones ponen el bit de estado a
1 (STA = 1). El bit de estado no es consultado por ninguna operacin sino que
solamente es interpretado durante el test del programa (estado del programa).
2-13
Bit OR
El bit OR (O) se requiere al realizar una combinacin Y antes de O con una operacin O. Una combinacin Y puede contener las siguientes operaciones: U, UN, U(,
UN(, ), y NOT. El bit OR indica a estas operaciones que una combinacin Y que ha
sido ejecutada previamente ha dado el valor 1, adelantado as el resultado de la
operacin O. Todas las restantes instrucciones que procesan bits ponen el bit OR a
0 (v. apt. 5.4).
Bit OV
Bit OS
El bit de desbordamiento memorizado (OS) se activa junto con el bit de desbordamiento (bit OV) cuando se produce un error. Puesto que el bit OS permanece a 1
(activado) incluso despus de haberse eliminado el error, almacena el estado del bit
OV e indica si se ha producido un error en una de las operaciones ejecutadas previamente. Las operaciones siguientes desactivan el bit OS, es decir, lo ponen a 0:
SPS (salto si OS = 1), as como las operaciones de llamadas de bloques y de fin de
bloque.
A1 y A0
A1
A0
Explicacin
Resultado = 0
Resultado < 0
Resultado > 0
Tabla 2-14
2-14
A1
A0
Explicacin
Tabla 2-15
A1
A0
Tabla 2-16
Explicacin
A1
A0
Acumulador 2 = Acumulador 1
Tabla 2-17
Explicacin
A1
A0
Explicacin
Tabla 2-18
A1
A0
Explicacin
Resultado = 0
Resultado <> 0
2-15
Bit RB
2-16
Direccionamiento
Indice del
captulo
Apartado
Tema
Pgina
3.1
Direccionamiento inmediato
3-2
3.2
Direccionamiento directo
3-2
3.3
3-3
3.4
Registro de direcciones
3-6
3.5
3-7
3.6
3-11
3-1
Direccionamiento
3.1
Direccionamiento inmediato
Descripcin
Ejemplos
3.2
Direccionamiento inmediato
Descripcin
Ejemplo
S
Poner el RLO a 1.
OW W#16#A320
O con palabras.
L 27
L ABCD
L B#(100,12)
L C#0100
Direccionamiento directo
Descripcin
Ejemplos
3-2
Direccionamiento directo
Ejemplo
Descripcin
U E 0.0
S L 20.0
= M 115.4
L EB 0
L MW 64
T DBD 12
Direccionamiento
3.3
Descripcin
S Una palabra doble que contiene la direccin exacta de un valor del rea de memoria, indicada por el identificador.
El operando indica la direccin del valor o del nmero de forma indirecta, es decir,
utilizando el puntero. Esta palabra o palabra doble puede encontrarse en una de las
siguientes reas:
S Marca
(M)
S Bloque de datos
(DB)
(DI)
S Datos locales
(L).
Utilizacin de la
sintaxis correcta
Si utiliza un operando indirecto por memoria que est almacenado en el rea de memoria del bloque de datos, deber abrir primero el bloque de datos, utilizando a tal
efecto la operacin Abrir bloque de datos. Luego podr utilizar la palabra de datos o
la palabra doble de datos como operando indirecto, segn se muestra en el ejemplo
siguiente:
AUF DB10
L EB [DBD20]
Ejemplos
Tabla 3-3 Direccionamiento indirecto por memoria
Ejemplo
Descripcin
U E [MD 2]
U E [ana]
Ejecutar una combinacin Y con el bit de entrada cuya direccin exacta se encuentra en la palabra doble
de marcas MD2 o en la direccin denominada Ana en la tabla de smbolos, como referencia a MD2.
= DIB [DBD2]
Asignar el bit RLO al bit de datos de instancia cuya direccin exacta se encuentra en la palabra doble de
datos DBD2.
L EB [DID 4]
Cargar en el ACU 1 el byte de entrada cuya direccin exacta se encuentra en la palabra doble de datos de
instancia DID4.
AUF DB [LW2] Abrir el bloque de datos cuyo nmero se encuentra en la palabra de datos local LW2.
O A [LD 3]
u
O A [juan]
Ejecutar una combinacin O con el bit de salida cuya direccin exacta se encuentra en la palabra doble
de datos locales 3 o en la direccin denominada Juan en la tabla de smbolos, como referencia a LD3.
3-3
Direccionamiento
Formato
del puntero
15..
nnnn
..8
nnnn
7..
nnnn
..0
nnnn
Figura 3-1
Los dos ejemplos siguientes muestran cmo utilizar el puntero en formato de palabra:
AWL
Explicacin
L +5
T MW2
AUF DB[MW2]
AWL
Explicacin
AUF DB10
L +20
T DBW10
U T[DBW10]
31..
..24 23..
0000 0000 0000 0
..16 15..
bbb bbbb
..8
bbbb
7..
bbbb b
..0
xxx
Bits 3 a 18 (bbbb bbbb bbbb bbbb): nmero (margen de 0 a 65.535) del byte
direccionado
Bits 0 a 2 (xxx): nmero (margen de 0 a 7) del bit direccionado
Figura 3-2
3-4
Direccionamiento
Nota
Antes de acceder a un byte, a una palabra o a una palabra doble hay que asegurarse
de que el nmero de bit del puntero sea 0.
Los dos ejemplos siguientes muestran cmo utilizar el puntero en formato de palabra doble:
AWL
Explicacin
P#8.7
MD2
E [MD2]
A [MD2]
Cargar 2#0000 0000 0000 0000 0000 0000 0100 0111 (valor
binario) en ACU 1.
Almacenar la direccin exacta 8.7 en la palabra doble de
marcas MD2.
El autmata consulta el bit de entrada E 8.7 y asigna su
estado de seal a la salida A 8.7.
La direccin exacta 8.7 se encuentra en la palabra doble de
marcas MD2.
AWL
Explicacin
P#8.0
MD2
Cargar 2#0000 0000 0000 0000 0000 0000 0100 0000 (valor
binario) en ACU 1.
Almacenar la direccin exacta 8 en la palabra doble de
marcas MD2.
L
T
EB [MD2]
MW [MD2]
3-5
Direccionamiento
3.4
Registro de direcciones
Descripcin
Registros de
direcciones 1 y 2
Punteros
Los punteros se emplean para el direccionamiento indirecto por registro (v. apts. 3.5
y 3.6). Se dispone de los dos tipos siguientes:
S Intrarea: sirven para acceder intrarea a bits, bytes, palabras y palabras dobles
en las reas de memoria P, E, A, M, DBX, DIX y L.
S Interrea: sirven para acceder interrea a bits, bytes, palabras y palabras dobles
en las reas de memoria P, E, A, M, DBX, DIX y L.
3-6
Direccionamiento
3.5
Descripcin
En el direccionamiento indirecto por registro e intrarea, el operando indica la direccin del valor que va a procesar la operacin. El operando se compone de dos
partes:
S Un identificador (p. ej. LD para palabra doble de datos locales, v. tabla 2-6)
S Un registro de direcciones y un puntero para indicar el byte y el bit. El byte y el
bit indican un desplazamiento que, si se suma al contenido del registro, indica la
direccin exacta del valor que va a procesar la operacin.
El operando indica la direccin del valor indirectamente, a travs del registro de
direcciones ms el desplazamiento.
Una operacin que utiliza el direccionamiento indirecto por registro e intrarea no
modifica el valor del registro de direcciones.
Calcular la
direccin del
operando
El operando de una operacin indica el valor que ser procesado por la operacin.
En el direccionamiento indirecto por registro e intrarea, el operando indica
indirectamente la direccin del valor, a travs del registro de direcciones ms el
desplazamiento. En la figura 3-3 se muestra cmo calcular la direccin del operando
para la operacin Asignar (=) en la siguiente instruccin:
= A [AR1, P#1.1]
Byte
Bit
8.7
Byte 8, Bit 7
Desplazamiento P#:
1.1
Byte 1, Bit 1
Direccin:
Figura 3-3
3-7
Direccionamiento
Tabla 3-4
Ejemplos
Descripcin
U E [AR1, P#4.3]
L EB [AR1, P#100.0]
T LD [AR2, P#56.0]
Precaucin
Es posible que se sobrescriban los datos utilizados por el compilador.
Si utiliza el direccionamiento absoluto para acceder a datos locales temporales,
puede presentarse un conflicto entre los datos utilizados por el compilador y los
datos locales. Es posible que se sobreescriban entonces algunos de los datos
utilizados por el compilador. (El compilador utiliza datos locales por ejemplo para
transferir parmetros formales.) Los datos locales utilizados por el compilador estn
unidos a los datos simblicos que define el programador.
Si desea acceder a datos locales temporales, es recomendable utilizar el
direccionamiento simblico y no el direccionamiento absoluto.
3-8
Direccionamiento
Formato
del puntero
31..
..24 23..
0000 0000 0000 0
..16 15..
bbb
bbbb
..8
bbbb
7..
bbbb b
..0
xxx
Nota
Antes de acceder a un byte, a una palabra o a una palabra doble hay que asegurarse
de que el nmero de bit del puntero sea 0.
3-9
Direccionamiento
Los dos ejemplos siguientes muestran cmo utilizar el puntero en formato de palabra doble:
AWL
Explicacin
P#8.7
LAR1
E [AR1, P#0.0]
A [AR1, P#1.1]
AWL
Explicacin
P#8.0
LAR2
EB [AR2, P#2.0]
3-10
Direccionamiento
3.6
Descripcin
En el direccionamiento indirecto por registro e interrea, el operando indica la direccin del valor que va a procesar la operacin. El operando se compone de dos
partes:
Calcular la
direccin del
operando
El operando de una operacin indica el valor que ser procesado por la operacin.
En el direccionamiento indirecto por registro e interrea, el operando indica
indirectamente la direccin del valor, a travs del registro de direcciones ms el
desplazamiento. En la figura 3-5 se muestra cmo calcular la direccin del operando
para la operacin Asignar (=) en la siguiente instruccin:
= [AR1, P#1.1]
Byte
Bit
8.7
Byte 8, Bit 7
Desplazamiento P#:
1.1
Byte 1, Bit 1
Direccin:
Figura 3-5
3-11
Direccionamiento
Ejemplo
La tabla 3-5 muestra algunos ejemplos del direccionamiento indirecto por registro e
interrea. El operando debe contener un rea de identificacin adicional en los bits
24, 25 y 26 del puntero. La informacin direccionada se encuentra en el registro de
direcciones.
Tabla 3-5
Ejemplo
U [AR1, P#4.3]
= [AR2, P#0.0]
L B [AR1, P#100.0]
T D [AR2, P#56.0]
La tabla 3-6 lista el cdigo binario en los bits 24, 25 y 26 del puntero que identifica
este rea.
Identificador del rea para direccionamiento indirecto por registro e interrea
Tabla 3-6
000
001
010
(Marcas)
011
100
101
3-12
111
Direccionamiento
Formato
del puntero
31..
..24 23..
1000 0rrr
0000 0
..16 15..
bbb bbbb
..8
bbbb
3..
bbbb b
..0
xxx
Figura 3-6
Nota
Antes de acceder a un byte, a una palabra o a una palabra doble, hay que asegurarse
de que el nmero de bit del puntero sea 0.
No es posible acceder a datos locales mediante el direccionamiento indirecto por
registro e interrea.
3-13
Direccionamiento
Los dos ejemplos siguientes muestran cmo utilizar punteros en formato de palabra
doble:
AWL
Explicacin
P#E8.7
LAR1
P#A8.7
LAR2
[AR1, P#0.0]
[AR2, P#1.1]
AWL
Explicacin
P#E8.0
LAR2
P#M8.0
LAR1
B [AR2, P#2.0]
W [AR1, P#200.0]
3-14
Indice del
captulo
Pgina
Apartado
Tema
4.1
Resumen breve
4-2
4.2
ENT y LEAVE
4-3
4.3
Incrementar y Decrementar
4-6
4.4
4-7
4-1
4.1
Resumen breve
Para operar con el contenido de uno o varios acumuladores o registros de direcciones se dispone de las siguientes operaciones:
Nemotcnica
Operacin
Significado
TAK
PUSH
ENT
LEAVE
INC
Incrementar ACU 1
DEC
Decrementar ACU 1
+AR1, +AR2
+AR1 P#Byte.Bit,
+AR2 P#Byte.Bit
BLD
Operacin de visualizacin (operacin Esta operacin no ejecuta ninguna funcin ni vara el connula)
tenido del bit de estado. La operacin tiene importancia slo
para la unidad de programacin (PG), en el caso de visualizarse un programa. El operando <cifra> es el nmero de
identificacin de la operacin BLD, y lo establece la unidad
de programacin.
NOP 0
Operacin nula 0
NOP 1
Operacin nula 1
con dos
acumuladores
POP
con dos
acumuladores
PUSH
con cuatro
acumuladores
POP
con cuatro
acumuladores
4-2
4.2
ENT y LEAVE
Descripcin
Las operaciones ENT (entrar en pila ACU) y LEAVE (sacar de pila ACU) se
utilizan para ejecutar las siguientes funciones:
ENT
ENT
ACU 4
31
0
I
II
III
ACU 4
31
IV
0
V
ACU 3
0
VI
VII
0
IX
ACU 2
XI
Figura 4-1
XII
0
IX
ACU 1
XI
XII
ACU 1
0
XIV
XI
31
XII
31
XIII
ACU 2
0
VIII
31
VIII
31
IX
VII
ACU 3
31
V
VI
XV
XVI
31
XIII
0
XIV
XV
XVI
Operacin de copia del contenido del ACU 3 en el ACU 4 y del contenido del ACU 2 en el ACU 3 usando la
operacin ENT
4-3
LEAVE
ACU 4
31
0
I
II
ACU 4
LEAVE
31
III
0
I
IV
ACU 3
0
VI
VII
0
I
VIII
XI
XII
Figura 4-2
Ejemplo
IV
0
V
ACU 1
VI
VII
VIII
XV
XVI
ACU 1
31
0
XIV
III
31
XIII
II
ACU 2
31
X
IV
31
ACU 2
IX
III
ACU 3
31
V
II
XV
31
XVI
XIII
0
XIV
Operacin de copia del contenido del ACU 3 en el ACU 2 y del contenido del ACU 4 en el ACU 3 usando la
operacin LEAVE.
DBD16 =
DBD0 + DBD4
DBD8 DBD12
4-4
AWL
Explicacin
DBD0
DBD4
+R
L
DBD8
ENT
L
DBD12
R
/R
T
DBD16
4-5
4.3
Incrementar y Decrementar
Descripcin
S INC incrementa el contenido del byte bajo de la palabra baja del ACU 1 por la
constante de 8 bits indicada en la instruccin. El contenido ha de estar comprendido en el margen de 0 a 255.
S DEC decrementa el contenido del byte bajo de la palabra baja del ACU 1 por la
constante de 8 bits indicada en la instruccin. El contenido ha de estar comprendido en el margen de 0 a 255.
La CPU ejecuta las operaciones INC y DEC, independientemente del resultado lgico. Estas operaciones no afectan al RLO ni modifican los bits de estado).
Nota
Estas operaciones no sirven 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.
Ejemplo
AWL
Explicacin
M1:
4-6
L
T
L
INC
T
.
.
L
<=
SPB
1
MB10
MB10
1
MB10
B#16#5
I
M1
4.4
Descripcin
Las operaciones +AR1 y +AR2 sirven para sumar un valor al contenido del registro
de direcciones 1 (AR1) o al registro de direcciones 2 (AR2).
Tabla 4-1
Funcin
+AR1
+AR2
Operacin
+AR1
P#Byte.Bit:
(de 0.0 a 4 095.7)1
+AR2
P#Byte.Bit:
(de 0.0 a 4 095.7)1
1 Los bits 24, 25 y 26 del registro de direcciones no varan. Dichos bits indican el rea de memo-
ria.
Nota
El registro de direcciones AR2 se utiliza en el procesamiento de multiinstancias.
Por tanto, si programa el comando +AR2, deber salvar (guardar) antes el
contenido del AR2 y volver a cargarlo luego.
Ejemplos
AWL
Explicacin
L P#250.7
+AR1
TAR2 #SAVE_AR2
+AR2 P#126.7
.
.
L AR2 #SAVE_AR2
4-7
4-8
Indice del
captulo
Apartado
Tema
Pgina
5.1
5-2
5.2
5-6
5.3
5-10
5.4
5-14
5.5
5-16
5.6
5-20
5.7
5-21
5.8
5-24
5.9
5-26
5-1
5.1
Explicacin
Las operaciones bsicas para las operaciones lgicas con bits son:
S Si /ER = 0, el resultado de la consulta del estado de seal se almacena inalterado en el resultado lgico (comienzo de una cadena lgica).
S Si /ER = 1, el resultado de la consulta del estado de seal se combina conforme a la tabla de verdad de la operacin lgica (U, O, X) y se almacena en el
resultado lgico.
Tabla de verdad al
comienzo de una
cadena lgica
Operacin
Estado del
operando
Resultado en el RLO
UN
ON
XN
5-2
Y-NO
O-NO
O-exclusiva
O-exclusiva-NO
Tabla de verdad
dentro de una cadena lgica
En base a la siguiente tabla de verdad se puede determinar el resultado lgico a partir de la segunda operacin lgica con bits:
Clave
nemotcnica
Operacin
RLO antes de
ejecutar
Estado del
operando
Resultado
en el RLO
UN
ON
XN
Operandos de las
operaciones
bsicas ( U, UN, O,
ON, X, XN )
Y-NO
O-NO
O-exclusiva
O-exclusiva-NO
5-3
Tabla 5-1
Identificador
del operando
directo
E
A
0.0 a
65 535.7
[DBD]
[DID]
[LD]
[MD]
0a
65 532
0.0 a
65 535.7
[DBD]
[DID]
[LD]
[MD]
0a
65 532
0.0 a
65 535.7
[DBD]
[DID]
[LD]
[MD]
0a
65 532
DBX
DIX
L
Tabla 5-2
indirecto por
memoria
0.0 a
8 191.7
[AR2, P#byte.bit]
[AR1, P#byte.bit]
0.0 a
8 191.7
[AR2, P#byte.bit]
[AR1, P#byte.bit]
0.0 a
8 191.7
[AR2, P#byte.bit]
E, A, M, DBX, DIX o L
0.0 a 8 191.7
El rea de memoria est codificada en los bits puntero 24, 25 y 26 (v. apt. 3.6).
Tabla 5-3
Tabla 5-4
0 a 65 535
[DBW]
[DIW]
[LW]
[MW]
0 a 65 534
Nombre
simblico
Tabla 5-5
Operando
Area de memoria o
referencia a una direccin
5-4
[AR1, P#byte.bit]
1)
7 y 6: cdigos de condicin
(rea de memoria)
UO
7 y 6: cdigos de condicin
(rea de memoria)
RB
OV
5: desbordamiento (direccin)
OS
Modificacin de
los bits de la
palabra de
estado
Operacin
OR
STA
RLO
/ER
UN
U(
UN(
ON
O(
ON(
XN
X(
XN(
CLR
FN
FP
NOT
SAVE
SET
5-5
5.2
Introduccin
A las operaciones lgicas con bits tambin se les denomina operaciones de rel, debido a que, normalmente, dichas operaciones ejecutan secuencias de comandos que
cumplen la misma funcin que los circuitos de rel. En este apartado se explica
cmo simular los circuitos de rel ms usuales utilizando secuencias de comandos
AWL.
Contacto
normalmente
abierto
La figura 5-1 muestra la representacin de un circuito de rel con un contacto normalmente abierto. Mientras no se active el contacto, ste permanecer abierto. El
estado de seal del contacto abierto es 0 (desactivado). Si el contacto permanece
abierto, la corriente del conductor no puede pasar corriente a la bobina al final del
circuito. Si se activa el contacto (es decir, el estado de seal del contacto es 1), la
corriente fluye hasta la bobina.
Conductor
Contacto
normalmente
abierto
Bobina
Figura 5-1
E 1.1
A 4.0
5-6
Contacto
normalmente
cerrado
Conductor
Contacto
normalmente
cerrado
E 1.1
Bobina
Figura 5-2
A 4.0
Circulacin de
corriente en un
circuito en serie
La figura 5-3 muestra una lista de instrucciones que utiliza una operacin Y (U)
para programar dos contactos en serie cuyo estado normal es abierto. La salida A 4.0
slo tendr el estado 1 (y, por tanto, por la bobina pasar corriente) cuando los dos
contactos tengan el estado 1 (cerrados).
Programa AWL
Circuito de rels
U E 1.0
E 1.0
U E 1.1
E 1.1
= A 4.0
A 4.0
Figura 5-3
5-7
Circulacin de
corriente en un
circuito paralelo
La figura 5-4 muestra una lista de instrucciones que utiliza una operacin O (O)
para conectar en paralelo dos contactos abiertos.
La salida A 4.0 slo tendr el estado 1 (y, por tanto, por la bobina pasar corriente) cuando los dos contactos normalmente abiertos tengan el estado 1 (cerrados).
Programa AWL
Esquema de rels
Conductor
E 1.0
E 1.1
O E 1.0
O E 1.1
= A 4.0
Figura 5-4
O-exclusiva
A 4.0
Programa AWL
Esquema de rels
Barra de
alimentacin
X E 1.0
X E 1.1
= A 4.0
Contacto
E 1.0
Contacto
E 1.1
Bobina
A 4.0
Figura 5-5
5-8
UN, ON, XN
Programa
AWL
Circuito de rels
Barra
U E 1.0
E 1.0
Contacto abierto
UN E 1.1
E 1.1
Contacto cerrado
= A 4.0
A 4.0
Bobina
Programa
AWL
Circuito de rels
Barra
O E 1.0
E 1.0
Contacto abierto
ON E 1.1 E 1.1
Contacto cerrado
= A 4.0
A 4.0
Bobina
Programa
AWL
Circuito de rels
Barra
X E 1.0 E 1.0
Contacto abierto
XN E 1.1 E 1.1
Contacto cerrado
= A 4.0 A 4.0
Bobina
5-9
5.3
Descripcin
Las operaciones lgicas con bits se pueden aplicar para consultar el estado de los
bits A0, A1, RB, OV y OS de la palabra de estado. El estado de dichos bits lo pueden haber fijado antes las operaciones enumeradas en la tabla siguiente (tabla 5-6).
Tabla 5-6
5-10
Operacin
Apartado
9.1
Operaciones de comparacin
(Aritmtica con nmeros en coma
fija)
11.2
10.1
11.3
Operaciones de conversin
12.1, 12.2 y
12.4
Operaciones de desplazamiento y
rotacin
14.1 y 14.2
13.2
Parntesis
5.4
SAVE
5.9
Operaciones de salto
16.1
17.6
Operaciones de transferencia
T STW
8.3
Relacin entre un
resultado y 0
estado de seal de A1
estado de seal de A0
>0
<0
<>0
>=0
<=0
==0
UO
AWL
Explicacin
L +10 // LIMITE
INFERIOR
L MW30
<=I
L +100 // LIMITE
SUPERIOR
-I
U <=0
Se cumple la condicin <= 0 de acuerdo con la combinacin
bit a bit en A1 y A0? S da como resultado 1 y No da
como resultado 0 (v. tabla 5-7). Combinar este 1 0 con el
RLO de acuerdo con la tabla de verdad Y. Almacenar el resultado en el bit RLO.
= A 4.0
Escribir el valor del RLO en el estado de seal de la salida
A 4.0. La bobina en la salida A 4.0 lleva corriente (su estado
de seal es 1) si el valor de MW30 es mayor o igual a 10, o
menor o igual a 100.
5-11
Las operaciones lgicas con bits permiten al programa reaccionar incluso cuando el
resultado de una operacin aritmtica en coma flotante no sea admisible porque uno
de los nmeros en coma flotante no es vlido (no vlido, UO). La operacin consulta el estado de seal del bit A1 y A0 de la palabra de estado (v. tabla 5-7).
Desbordamiento y
resultado binario
AWL
Explicacin
L MW10
L MW20
+I
MW30
E 0.0
OV
A 4.0
Si el estado de seal
encuentra asimismo un
ocurrido en la ltima
de seal de la salida
de E0.0 es 1 y en el bit 0V se
1 (p.ej. debido a un desbordamiento
operacin aritmtica), poner el estado
A4.0 a 1; en otro caso, ponerlo a 0.
AWL
Explicacin
RB
A 4.0
5-12
Direccionar los
bits de la palabra
de estado
Las operaciones lgicas con bits evalan condiciones utilizando los operandos que
muestra la tabla 5-8.
Tabla 5-8
Area de memoria o
referencia a una direccin
7 y 6: bits de estado
(rea de memoria)
UO
7 y 6: bits de estado
(rea de memoria)
RB
OV
5: desbordamiento (direccin)
OS
5-13
5.4
Descripcin
Resultado lgico
La operacin que abre una expresin entre parntesis almacena el RLO de la operacin precedente en la pila de parntesis. A continuacin, el programa combina el
RLO almacenado con el resultado de las combinaciones lgicas ejecutadas dentro
del parntesis.
AWL
Explicacin
U(
O E 0.0
O M 10.0
)
U(
O E 0.2
O M 10.3
La operacin ) combina el RLO guardado en la pila de parntesis (v. arriba, paso 3) con el RLO actual, conforme a la tabla
de verdad de Y. Esta operacin utiliza la tabla de verdad de Y
porque el signo ) finaliza una expresin entre parntesis que
haba empezado por U. Esta combinacin forma un nuevo RLO.
U M 10.1
= A 4.0
Y antes de O
5-14
AWL
Explicacin
U E 0.0
U M 10.0
U E 0.2
La salida A 4.0 lleva corriente (su estado de seal es 1) cuando el resultado de uno
u otro de los pares de operaciones Y es 1 o cuando el resultado de la operacin O
normal con M 10.1 es 1.
5-15
5.5
Descripcin
Flanco ascendente
RLO
Flanco descendente
1
0
Figura 5-6
Reaccin ante un
flanco positivo
Tiempo
Representacin de los flancos positivo y negativo
La figura 5-7 muestra una lista de instrucciones que permite al programa reaccionar
ante un cambio de flanco positivo. En el prrafo que sigue a la figura se explica el
contenido de la misma.
Lista de instrucciones
U E 1.0
E 1.0
FP M 1.0
M 1.0
= A 4.0
A 4.0
1
0
1
0
1
0
1
5-16
Tabla 5-9
OB1,
ciclo n
Estado de seal de
la entrada en el ciclo precedente
Estado de
seal de la
entrada en el
ciclo actual
0
(valor
predeterminado)
No
No
No
No
No
No
No
No
No
No
No
No
La tabla 5-9 hace referencia al programa AWL expuesto en la figura 5-7. Generalmente, los cambios detectados por las operaciones FP y FN deben ser considerados
como cambios que se reflejan en el RLO y no en el estado de seal de los contactos.
Por ejemplo, una cadena lgica puede generar un RLO que no est directamente
relacionado con el estado de seal de un contacto.
Reaccin ante un
flanco negativo
La figura 5-8 muestra una lista de instrucciones que permite al programa reaccionar
ante cambios de flanco negativos. En el prrafo que sigue a la figura se explica el
contenido de la misma.
Lista de instrucciones
U E 1.0
E 1.0
FN M 1.0
M 1.0
= A 4.0
A 4.0
1
0
1
0
1
0
1
5-17
OB1,
ciclo n
Estado de seal de
la entrada en el ciclo precedente
Estado de
seal de la
entrada en el
ciclo actual
0
(valor por defecto)
No
No
No
No
No
No
No
No
No
No
No
No
No
No
La tabla 5-10 hace referencia al programa AWL expuesto en la figura 5-8. Generalmente, los cambios detectados por FP y FN deben ser considerados como cambios
que se reflejan en el RLO y no en el estado de seal de contactos. Por ejemplo, una
cadena lgica puede generar un RLO que no est directamente relacionado con el
estado de seal de un contacto.
Operando
direccionado
5-18
Tabla 5-11
Identificador
del operando 1)
E2)
A3)
M
DBX
DIX
L
0.0 a
65 535.7
indirecto por
memoria
[DBD]
[DID]
[LD]
[MD]
0a
65 532
[AR1, P#byte.bit]
[AR2, P#byte.bit]
0.0 a
8 191.7
1)
Cuidado
Falsificacin del resultado lgico almacenado.
Puede provocar daos materiales.
En caso de utilizar la operacin FP o FN en el programa, el bit de marcas empleado
como operando ser utilizado por FP o FN exclusivamente para sus propios fines de
almacenamiento. Por consiguiente, no conviene usar operaciones que puedan
modificar dicho bit. De lo contrario podra falsificarse el RLO almacenado. Esta
advertencia rige para todas las reas de memoria listadas en la tabla 5-11.
Tabla 5-12
Area de direccionamiento
[AR 1, P#byte.bit]
[AR 2, P#byte.bit]
0.0 a 8 191.7
Tabla 5-13
Operando
Nombre
simblico
5-19
5.6
Descripcin
Para terminar una cadena lgica se puede utilizar una de las tres operaciones AWL
siguientes. Cada una de estas operaciones puede afectar al bit que representa el fin
de dicha cadena.
Terminar una
cadena lgica
Al terminar una cadena lgica, el bit de primera consulta (bit /ER) se pone a 0. Si
el valor del bit /ER es 0, significa que la siguiente operacin del programa es la
primera de una nueva cadena lgica (v. apartado 2.2, primera consulta). (Las operaciones de salto condicional tambin ponen el bit /ER a 0, v. aptos 16.3 a 16.5).
Las cadenas lgicas que comenzaron con las operaciones U(, UN(, O(, etc. deben
terminar con la operacin ). Puesto que estas operaciones pueden utilizarse tambin
dentro de una cadena lgica, constituyen en este caso una interrupcin. Ello significa que se comienza una nueva cadena lgica antes de haber terminado la cadena
anterior. Para poder terminar correctamente la cadena lgica anterior una vez terminadas las operaciones ejecutables entre parntesis, se vuelve a restaurar el bit /ER
antiguo que se salv al abrir un parntesis. Por lo tanto, las partes del programa
puestas entre parntesis son una especie de clculo parcial. Una vez terminado
dicho clculo parcial se contina con la antigua cadena lgica.
5-20
5.7
Descripcin
Activar un bit
estticamente
Lista de instrucciones
U
S
U
R
Circuito de rels
E 1.0
A 4.0
E 1.1
A 4.0
Barra
E 1.0
Contacto
abierto
E 1.0
0
1
E 1.1
0
1
A 4.0
Figura 5-9
A 4.0
E 1.1
Contacto
cerrado
A 4.0
Bobina
5-21
Desactivar bits
Operando
direccionado
El operando direccionado por la operacin S puede ser un bit, mientras que el operando direccionado por la operacin R puede ser un bit, un nmero de temporizador
o un nmero de contador. Los operandos se pueden indicar de las siguientes formas:
S Identificador del operando y direccin del rea de memoria indicada por el identificador (v. tabla 5-14 a 5-16).
Identifica
Ident
f ca
dor del
operando
directo
E
A
0.0 a
65 535.7
[DBD]
[DID]
[LD]
[MD]
0a
65 532
0.0 a 255.7
[DBD]
[DID]
[LD]
[MD]
0a
65 532
[DBD]
[DID]
[LD]
[MD]
0a
65 532
DBX
DIX
L
5-22
0.0 a
65 535.7
indirecto por
memoria
0.0 a
8 191.7
0.0 a
8 191.7
0.0 a
8 191.7
Tabla 5-15
[AR1,P#byte.bit]
[AR2,P#byte.bit]
E, A, M, D, DBX, DIX o L
1)
0 a 65 535
0 a 65 534
La operacin S que pone a 1 un bit direccionado no sirve para temporizadores y contadores. Una operacin S utilizada con un contador pone el contador a un valor determinado. Los
temporizadores se arrancan con operaciones especiales (v. apts. 6.2, 6.3 y 7.2).
Tabla 5-17
Operando
Nombre
simblico
1)
0.0 a 8191.7
El rea de memoria est codificada en los bits puntero 24, 25 y 26 (v. apt. 3.6).
Tabla 5-16
1)
La operacin S no sirve para temporizadores. Los temporizadores se arrancan con operaciones especiales para cada tipo de temporizador (v. apts. 6.2 y 6.3).
5-23
5.8
Descripcin
Activar o
desactivar un bit
Lista de instrucciones
Circuito de rels
U E 1.0
= A 4.0
Barra
E 1.0
Esquema de los estados de seal
E 1.0
0
1
A 4.0
Figura 5-10
5-24
1
A 4.0
Bobina
0
Activacin y desactivacin dinmica de un bit
Operandos
S Identificador del operando y direccin del rea de memoria indicada por el identificador (v. tablas 5-18 y 5-19).
IdentificaIdent
f ca
dor del
operando
directo
E
A
0.0 a
65 535.7
[DBD]
[DID]
[LD]
[MD]
0a
65 532
0.0 a
65 535
[DBD]
[DID]
[LD]
[MD]
0a
65 532
0.0 a
65 535.7
[DBD]
[DID]
[LD]
[MD]
0a
65 532
DBX
DIX
L
Tabla 5-19
indirecto por
memoria
[AR1,P#byte.bit]
[AR2,P#byte.bit]
[AR1,P#byte.bit]
[AR2,P#byte.bit]
[AR1,P#byte.bit]
[AR2,P#byte.bit]
0.0 a
8 191.7
0.0 a
8 191.7
0.0 a
8 191.7
0.0 a 8 191.7
Tabla 5-20
Operando
Nombre
simblico
5-25
5.9
Descripcin
Las operaciones siguientes permiten modificar el resultado lgico (RLO) almacenado en el bit RLO de la palabra de estado del autmata programable (v. apt. 5.8):
Nemotcnica
Operacin
Significado
NOT
Negar RLO
SET
Activar RLO
CLR
Desactivar RLO
SAVE
Activar RLO
La operacin SET puede utilizarse en el programa para poner el RLO incondicionamente a 1. La figura 5-11 muestra cmo funciona la operacin SET en un programa.
Desactivar RLO
La operacin CLR puede utilizarse en el programa para poner el RLO incondicionalmente a 0. CLR pone a 0 tambin los bits /ER y STA. As se finaliza la cadena lgica. La figura 5-11 muestra cmo funciona la operacin CLR en un programa.
Salvar RLO
OR
STA
RLO
/ER
NOT
SET
CLR
SAVE
5-26
A1
A0
OV
OS
Lista de instrucciones
Estado de seal
= M 10.0
= M 15.1
= M 16.0
CLR
= M 10.1
= M 10.2
Figura 5-11
SET
5-27
5-28
Operaciones de temporizacin
Indice del
captulo
Apartado
Tema
Pgina
6.1
Resumen breve
6-2
6.2
6-3
6.3
6-5
6.4
Ejemplos de temporizadores
6-7
6.5
6-17
6.6
6-18
6-1
Operaciones de temporizacin
6.1
Resumen breve
Definicin
S Generar impulsos. Por ejemplo, el programa emite impulsos que hacen que se
encienda una lmpara y luzca intermitentemente..
S Medir tiempo. Por ejemplo, el programa puede determinar cunto tiempo se requiere para rellenar un recipiente.
Operaciones
disponibles
S R: Poner temporizador a 0
S FR: Habilitar un temporizador para su arranque
S Cargar un temporizador en uno de los formatos siguientes:
L: binario
LC: decimal codificado en binario
Habilitar
temporizador (FR)
Figura 6-1
6-2
Palabra de
temporizacin
Operaciones de temporizacin
6.2
Area de memoria
S Operaciones de temporizacin
S Actualizar palabras de temporizacin mediante un generador de impulsos de
reloj. Estando la CPU en RUN, esta funcin decrementa un valor de temporizacin dado en el intervalo dictado por la base de tiempo, hasta que el valor es
igual a 0.
Valor de
temporizacin
S L W#16#wxyz
siendo:
S L S5T#aH_bbM_ccS_dddMS
siendo:
6-3
Operaciones de temporizacin
Base de tiempo
10 ms
00
100 ms
01
1s
10
10 s
11
Resolucin
0,01 segundo
10MS a 9S_990MS
0,1 segundo
100MS a 1M_39S_900MS
1 segundo
1S a 16M_39S
10 segundos
Configuracin de
los bits del ACU 1
10S a 2HR_46M_30S
15...
x
...8
x
0
1
7...
0
...0
0
1
2
Base de tiempo
Valor de temporizacin en BCD (de 0 a 999)
1 segundo
Irrelevante: estos bits se ignoran cuando arranca el temporizador
Figura 6-2
6-4
Contenido de la palabra baja del ACU 1 con el valor de temp. 127 y una base de
tiempo de 1 s.
Operaciones de temporizacin
6.3
Descripcin
Tiempo de
arranque
Puesto que un temporizador cuenta atrs desde un valor preprogramado hasta llegar
a 0, hay que darle un tiempo de arranque. Cuando se arranca un temporizador en el
programa, la CPU busca el tiempo de arranque en el ACU 1. El margen de temporizacin va de 0 a 9990 segundos.
Ejemplo de
cmo arrancar un
temporizador
AWL
U
L
SI
E 2.1
S5T#00H02M23S00MS
T1
6-5
Operaciones de temporizacin
Borrar un
temporizador
Habilitar un
temporizador para
el rearranque
6-6
Operaciones de temporizacin
6.4
Ejemplos de temporizadores
Introduccin
La programacin con la lista de instrucciones ofrece cinco distintos tipos de temporizadores para poder resolver las ms diversas tareas de automatizacin. Cada uno
de los cinco ejemplos siguientes ilustra un temporizador distinto.
Temporizador
como impulso: SI
Las figuras 6-4 y 6-5 ilustran ejemplos de un temporizador que se arranca como
impulso. Los nmeros en casillas se refieren a las explicaciones que siguen a la
figura 6-4. Las figuras se refieren al programa AWL siguiente:
Explicacin
AWL
U
FR
U
L
SI
U
R
U
=
L
T
LC
T
E 2.0
T1
E 2.1
S5T#00H02M23S00MS
T1
E 2.2
T1
T1
A 4.0
T1
MW10
T1
MW12
RLO en entrada de
habilitacin
E 2.0
RLO en entrada de
arranque
E 2.1
RLO en entrada de
puesta a 0
Habilitar temporizador T 1.
Arrancar temporizador T 1 como impulso.
Poner temporizador T 1 a 0.
Consultar estado de seal del temporizador T 1.
Cargar temporizador T 1.
E 2.2
t
Cargar temporizador: L, LC
t = tiempo de arranque programado
Figura 6-4
6-7
Operaciones de temporizacin
Si el RLO cambia de 0 a 1 en la entrada de habilitacin cuando el temporizador est parado, y en la entrada de arranque an hay un RLO de 1, el
temporizador arrancar como impulso con el tiempo programado.
RLO en entrada de
habilitacin
E 2.0
RLO en entrada de
arranque
E 2.1
RLO en entrada de
puesta a 0
E 2.2
A 4.0
Cargar temporizador: L, LC
t = tiempo de arranque programado
Figura 6-5
6-8
Operaciones de temporizacin
Temporizador
como impulso
prolongado: SV
Las figuras 6-6 y 6-7 representan ejemplos de un temporizador que arranca como
impulso prolongado. A continuacin de la figura 6-6 se encuentran las explicaciones
correspondientes a los nmeros que aparecen en casillas. Las figuras ilustran el
programa AWL siguiente:
Explicacin
AWL
U
FR
U
L
SV
U
R
U
=
L
T
LC
T
E 2.0
T1
E 2.1
S5T#00H02M23S00MS
T1
E 2.2
T1
T1
A 4.0
T1
MW10
T1
MW12
RLO en entrada de
habilitacin
RLO en entrada de
arranque
Habilitar temporizador T 1.
Arrancar temporizador T 1 como impulso prolongado.
Poner temporizador T 1 a 0.
Consultar estado de seal del temporizador T 1.
Cargar temporizador T1 codificado en binario.
Cargar temporizador T1 en BCD.
E 2.0
E 2.1
RLO en entrada de
puesta a 0
E 2.2
Reaccin del
temporizador
Consulta del estado de
seal en la salida del A 4.0
temporizador
t
Cargar temporizador: L, LC
t = tiempo de arranque programado
Figura 6-6
6-9
Operaciones de temporizacin
La consulta del estado de seal en la salida A 4.0 da el resultado 1 mientras dure la operacin de temporizacin.
Si el RLO cambia de 0 a 1 en la entrada de habilitacin cuando el temporizador est parado, y en la entrada de arranque an hay un RLO de 1,
el temporizador arrancar como impulso con el tiempo programado.
RLO en entrada
de habilitacin
E 2.0
RLO en entrada
de arranque
E 2.1
RLO en entrada
de puesta a 0
E 2.2
Reaccin del
temporizador
Consulta del estado de
seal en la salida del
temporizador
A 4.0
Cargar temporizador: L, LC
Figura 6-7
6-10
Operaciones de temporizacin
Temporizador
como retardo a
la conexin: SE
Las figuras 6-8 y 6-9 representan ejemplos de un temporizador que arranca como
retardo a la conexin. Los nmeros que aparecen dentro de casillas hacen referencia
a las explicaciones que se exponen a continuacin de la figura 6-8. Las dos figuras
corresponden al siguiente programa AWL:
Explicacin
AWL
U
FR
U
L
SE
U
R
U
=
L
T
LC
T
E 2.0
T1
E 2.1
S5T#00H02M23S00MS
T1
E 2.2
T1
T1
A 4.0
T1
MW10
T1
MW12
RLO en entrada
de habilitacin
RLO en entrada
de arranque
RLO en entrada
de puesta a 0
Habilitar temporizador T 1.
Arrancar temporizador T 1 como retardo a la conexin.
Poner temporizador T 1 a 0.
Consultar estado de seal del temporizador T 1.
Cargar temporizador T 1.
E 2.0
E 2.1
E 2.2
Reaccin del
temporizador
Consulta del estado
de seal en la salida
A 4.0
del temporizador
Cargar temporizador: L, LC
6-11
Operaciones de temporizacin
Si el RLO cambia de 0 a 1 en la entrada de habilitacin y a continuacin sigue una operacin normal de temporizacin, el temporizador no se
ver afectado.
RLO en entrada
de habilitacin
E 2.0
RLO en entrada
de arranque
E 2.1
RLO en entrada
de puesta a 0
E 2.2
Reaccin del
temporizador
Consulta del estado
de seal en la salida
del temporizador
t
A 4.0
Cargar temporizador: L, LC
6-12
Operaciones de temporizacin
Temporizador
como retardo a
la conexin con
memoria: SS
Las figuras 6-10 y 6-11 ilustran ejemplos de un temporizador que arranca como
retardo a la conexin con memoria. Detrs de la figura 6-10 se encuentran las
explicaciones correspondientes a los nmeros que aparecen en casillas. Las figuras
ilustran el programa AWL siguiente:
AWL
U
FR
U
L
SS
U
R
U
=
L
T
LC
T
Explicacin
E 2.0
T 1
E 2.1
S5T#00H02M23S00MS
T 1
E 2.2
T 1
T 1
A 4.0
T 1
MW10
T 1
MW12
RLO en entrada
de habilitacin
E 2.0
RLO en entrada
de arranque
E 2.1
RLO en entrada
de puesta a 0
E 2.2
Habilitar temporizador T 1.
Cargar temporizador T 1.
Reaccin del
temporizador
Consulta del estado
de seal en la salida
A 4.0
del temporizador
t
Cargar temporizador: L, LC
6-13
Operaciones de temporizacin
RLO en entrada
de habilitacin
E 2.0
RLO en entrada
de arranque
E 2.1
RLO en entrada
de puesta a 0
E 2.2
Reaccin del
temporizador
Consulta del estado
de seal en la salida
del temporizador
A 4.0
Cargar temporizador: L, LC
6-14
Operaciones de temporizacin
Temporizador
como retardo a la
desconexin: SA
Las figuras 6-12 y 6-13 ilustran ejemplos de un temporizador que arranca como
retardo a la desconexin. Detrs de la figura 6-12 se encuentran las explicaciones
correspondientes a los nmeros que aparecen en casillas. Las figuras ilustran el
programa AWL siguiente:
AWL
U
FR
U
L
SA
U
R
U
=
L
T
LC
T
Explicacin
E 2.0
T 1
E 2.1
S5T#00H02M23S00MS
T 1
E 2.2
T 1
T 1
A 4.0
T 1
MW10
T 1
MW12
RLO en entrada
de habilitacin
E 2.0
RLO en entrada
de arranque
E 2.1
RLO en entrada
de puesta a 0
E 2.2
Habilitar temporizador T 1.
Cargar temporizador T 1.
Reaccin del
temporizador
Consulta del estado
de seal en la salida
del temporizador
t
A 4.0
Cargar temporizador: L, LC
6-15
Operaciones de temporizacin
E 2.0
E 2.1
E 2.2
t
A 4.0
Cargar temporizador: L, LC
6-16
Operaciones de temporizacin
6.5
0 a 65 535
Tabla 6-4
0 a 65 534
Operandos
Nombre
simblico
6-17
Operaciones de temporizacin
6.6
Seal de entrada
E 2.1
Seal de salida
(temporizador
como impulso)
A 4.0
Seal de salida
(temporizador
como impulso
prolongado)
A 4.0
Seal de salida
(temporizador
como retardo a la
conexin)
A 4.0
SI:
t
El tiempo mximo durante el cual la seal de salida
permanece a 1 es idntico al tiempo programado t. La seal
de salida permanece a 1 por un perodo ms breve si la
seal de entrada cambia a 0.
SV:
t
La seal de salida permanece a 1 durante el tiempo
programado, independientemente del tiempo en que la
seal de entrada est a 1.
SE:
t
La seal de salida cambia de 0 a 1 solamente si el tiempo
programado ha transcurrido y la seal de entrada an est a
1.
Seal de salida
A 4.0
(temporizador como
retardo a la conexin
con memoria)
SS:
Seal de salida
(temporizador
como retardo a la
desconexin)
SA:
Figura 6-14
6-18
A 4.0
t
La seal de salida cambia de 0 a 1 solamente si
el tiempo programado ha transcurrido, independientemente
del tiempo en que la seal de entrada est a 1.
t
La seal de salida cambia de 0 a 1 cuando la seal de
entrada cambia de 1 a 0. La seal de salida permanece
a 1 durante el tiempo programado. El temporizador arranca
cuando la seal de entrada cambia de 0 a 1.
Operaciones de contaje
Indice del
captulo
Apartado
Tema
Pgina
7.1
Resumen breve
7-2
7.2
7-3
7.3
7-5
7.4
7-6
7.5
7-7
7.6
Ejemplo de un contador
7-8
7.7
7-10
7-1
Operaciones de contaje
7.1
Resumen breve
Definicin
Operaciones
disponibles
Incrementar contador
(ZV)
Decrementar
contador (ZR)
Palabra de contaje
Figura 7-1
7-2
Operaciones de contaje
7.2
Descripcin
Valor de arranque
Ejemplo de
activacin de
un contador
AWL
Explicacin
U
L
E 2.3
C# 3
Z 1
Inicializar un contador
7-3
Operaciones de contaje
Borrar un contador
Habilitar un
contador para el
rearranque
Si el RLO de la operacin Desbloquear (FR) cambia de 0 a 1, entonces se desbloquea el contador. Este cambio del estado de seal ha de producirse para que
pueda habilitarse el contador. La CPU ejecuta la operacin FR solamente en los
flancos positivos.
No es necesario habilitar el contador ni para ponerlo a un valor determinado ni para
operaciones de contaje normales. La habilitacin se utiliza solamente para activar
un contador o para contar adelante o atrs sin necesidad de que se produzca un
flanco positivo (cambio de 0 a 1) delante de la instruccin de contaje correspondiente. La habilitacin slo puede efectuarse si el bit RLO delante de la operacin
correspondiente est a 1.
7-4
Operaciones de contaje
7.3
Incrementar
contador,
descripcin
AWL
Explicacin
U E 0.1
ZV Z1
Decrementar
contador,
descripcin
AWL
Explicacin
U E 0.2
ZR Z1
7-5
Operaciones de contaje
7.4
Descripcin
AWL
Explicacin
Z 1
15
Palabra de contaje
de Z 1 (binaria)
Figura 7-3
Valor de contaje
X X X X X X
15
Palabra baja de
ACU 1 (binaria)
10 9
10
0 0 0 0 0 0
El valor que se encuentra en el ACU 1 como resultado de la operacin L puede utilizarse para su posterior procesamiento. Sin embargo, no es posible transferir un valor
desde el acumulador a la palabra de contaje. Si se desea arrancar un contador con un
valor determinado hay que utilizar la operacin para inicializar el contador.
7-6
Operaciones de contaje
7.5
Descripcin
AWL
LC
Explicacin
Z 1
11 10 9
Valor de contaje
ACU 1 bajo
en BCD
15 14 13 12
0
11 10 9
0
102
(Centenas)
101
100
(Decenas)
(Unidades)
7-7
Operaciones de contaje
7.6
Ejemplo de un contador
La figura 7-5 representa ejemplos de contaje adelante, contaje atrs, inicializacin y
puesta a 0 de un contador, as como consulta del estado de seal de un contador y
carga de un valor de contaje. El ejemplo ilustra la secuencia de programa recomendada en el apartado 7.2. A continuacin de la figura 7-5 se explican los nmeros
representados en casillas. En la lista que le sigue a la figura 7-5 se explican los elementos del programa AWL.
E 2.0 Habilitar
E 2.1 Incrementar
contador
E 2.2 Decrementar
contador
E 2.3 Inicializar
E 2.4 Poner a 0
Reaccin del
contador
Consulta del
estado de
seal en la
salida A 4.0
MW10 Cargar
MW12
Figura 7-5
7-8
3
Operaciones de contaje
AWL
U
FR
U
ZV
U
ZR
U
L
S
U
R
U
=
L
T
LC
T
Si el RLO cambia de 0 a 1 en la entrada Decrementar, el contador decrementa. Un cambio de 1 a 0 en la entrada Decrementar no afecta al
contador.
Si el RLO cambia de 0 a 1 en la entrada Incrementar, el contador incrementa. Un cambio de 1 a 0 en la entrada Incrementar no afecta al
contador.
Explicacin
E 2.0
Z 1
E 2.1
Z 1
E 2.2
Z 1
E 2.3
C# 3
Z 1
E 2.4
Z 1
Z 1
A 4.0
Z 1
MW10
Z 1
MW12
Inicializar el contador Z 1.
Incrementar contador (incrementa en 1).
Decrementar contador (decrementa en 1).
Inicializar el contador Z 1.
Poner el contador Z a 0.
Consultar el estado de seal del contador Z 1.
Cargar contador Z 1 (codificado en binario).
Cargar contador Z 1 (en BCD).
7-9
Operaciones de contaje
7.7
0 a 65 535
7-10
0 a 65 534
Indice del
captulo
Apartado
Tema
8
Pgina
8.1
Resumen breve
8-2
8.2
Cargar y transferir
8-3
8.3
8-6
8.4
8-7
8.5
8-9
8.6
8-11
8.7
8-12
8-1
8.1
Resumen breve
Definicin
Intercambio de
informacin
S Entre las imgenes del proceso de las entradas y de las salidas y las reas de memoria siguientes:
Marcas
Temporizadores y contadores
Areas de datos
31
16 15
TRANSFERIR
Destino
ACU 1
8-2
8.2
Cargar y transferir
Descripcin
Las operaciones Cargar (L) y Transferir (T) sirven para transferir informacin a o
desde el ACU 1. La informacin puede tener el siguiente tamao:
Operando
Explicacin
..
L +5
B#(..,..)
L B#(1,10)
L B#(1,10,5,4)
L#
L L#+5
16#..
L B#16#EF
L W#16#FAFB
L DW#16#1FFE_1ABC
2#..
L 2#1111_0000_1111_0000
L 2#1111_0000_1111_0000
_1111_0000_1111_0000
..
L AB
L ABCD
C#..
L C#1000
S5TIME#
..
L S5TIME#2S
..
L 1.0E+5
P#..
L P#E1.0
L P##Start
L P#ANNA
D#
L D#1994-3-15
8-3
Tabla 8-1
Operando
Direccionamiento
directo e indirecto
Explicacin
T#
L T#0D_1H_1M_0S_0MS
TOD#
L TOD#1:10:3.3
8-4
EB
EW
ED
0 a 65 535
0 a 65 534
0 a 65 532
AB
AW
AD
0 a 65 535
0 a 65 534
0 a 65 532
PEB
PEW
PED
(slo L)
0 a 65 535
0 a 65 534
0 a 65 532
PAB
PAW
PAD
(slo T)
0 a 65 535
0 a 65 534
0 a 65 532
indirecto por
memoria
[DBD]
[DID]
[LD]
[MD]
0a
65 532
[DBD]
[DID]
[LD]
[MD]
0a
65 532
[AR 1, P#byte.bit]
0 a 8 191
[AR 2, P#byte.bit]
[AR 1, P#byte.bit]
0 a 8 191
[AR 2, P#byte.bit]
Tabla 8-2
IdentifiIdent
f
cador de
operando
Direccionamiento
indirecto e
interrea
MB
MW
MD
0 a 65 535
0 a 65 534
0 a 65 532
DBB
DBW
DBD
0 a 65 533
0 a 65 532
0 a 65 530
DIB
DIW
DID
0 a 65 535
0 a 65 534
0 a 65 532
LB
LW
LD
0 a 65 535
0 a 65 534
0 a 65 532
indirecto por
memoria
[DBD]
[DID]
[LD]
[MD]
0a
65 532
[DBD]
[DID]
[LD]
[MD]
0a
65 532
[AR 1, P#byte.bit]
0 a 8 191
[AR 2, P#byte.bit]
[AR 1, P#byte.bit]
0 a 8 191
[AR 2, P#byte.bit]
Las operaciones Cargar (L) y Transferir (T) pueden acceder a un byte (B), una
palabra (W) o una palabra doble (D) mediante direccionamiento indirecto por
registro e interrea (v. apt. 3.6).
Tabla 8-3
Identificador de operando 1)
B (byte), W (palabra), D (palabra doble)
1)
Byte, palabra o
palabra doble
como parmetro
Area de direccionamiento
[AR 1, P#byte.dir]
[AR2, P#byte.dir]
0 a 8 191
Las operaciones Cargar (L) y Transferir (T) tambin pueden utilizar como operando
un byte, una palabra o una palabra doble transferidos como parmetros.
Tabla 8-4
Operando
Nombre
simblico
8-5
8.3
Cargar la palabra
de estado
La operacin Cargar (L) puede utilizarse para cargar los bits 0 a 8 de la palabra de
estado (v. fig. 8-1) en el ACU 1. Los bits 9 a 31 del ACU 1 se ponen a 0. El
fragmento de programa debajo de la figura 8-1 muestra la instruccin
correspondiente.
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.
215...
...29
28
RB
Figura 8-1
27
A1
26
A0
25
OV
24
OS
23
22
21
20
OR
AWL
Explicacin
STW
Transferir la
palabra de estado
AWL
Explicacin
8-6
STW
8.4
Cargar un valor de
temporizacin
AWL
Explicacin
Cargar en la palabra baja del ACU 1 bajo el valor de temporizacin del temporizador T 1 en cdigo binario.
T 1
15
Palabra de
temporizacin
Palabra baja
del ACU 1
Figura 8-2
10 9
Tiempo
X X X X X X
15
10
0 0 0 0 0 0
8-7
Cargar un valor
de contaje
AWL
Explicacin
Z 1
Valor de contaje
15
Palabra de contaje
para Z 1
Figura 8-3
X X X X X X
15
Palabra baja de
ACU 1
10 9
10
0 0 0 0 0 0
8-8
8.5
Cargar un valor de
temporizacin en
formato BCD
AWL
LC
Explicacin
T 1
15 14 13 12 11 10 9
Tiempo
Palabra de
temporizacin
en BCD
15 14 13 12 11
Palabra baja de
ACU 1
0 0
102
101
100
Base de
tiempo (Centenas) (Decenas) (Unidades)
Figura 8-4
8-9
Cargar un valor
de contaje en
formato BCD
En la palabra de contaje se encuentra almacenado un valor en formato BCD. La siguiente operacin de carga (L) permite leer el valor de la palabra de contaje en formato BCD y cargarlo en la palabra baja del ACU 1:
LC <palabra de contaje>
Este tipo de carga se denomina carga directa de un valor de contaje en formato
BCD. El valor contenido en la palabra baja del ACU 1 como resultado de la operacin LC tiene el mismo formato que el que se necesita para inicializar un contador.
En la palabra de contaje se encuentra almacenado un valor en formato BCD. Puede
cargar dicho valor de contaje en la palabra baja del ACU 1 (formato BCD, v. figura 8-5). La operacin LC permite leer un valor de contaje en formato BCD).
AWL
LC
Explicacin
Z 1
15 14 13
Palabra de contaje de Z 1
12 11 10 9
X
Valor de contaje
codificacin BCD
15 14 13 12
Palabra baja de
ACU 1
11 10 9
0
102
(Centenas)
101
(Decenas)
100
(Unidades)
8-10
8.6
Descripcin
Las operaciones siguientes permiten a la CPU intercambiar informacin entre registros de direcciones o intercambiar el contenido de dos registros:
Operacin
Direccionamiento
inmediato
Significado
LAR1
LAR2
TAR1
TAR2
TAR
Intercambia el contenido de AR 1 y AR 2.
Las operaciones LAR 1 y LAR 2 pueden acceder a constantes de 32 bits. Este tipo
de direccionamiento se denomina direccionamiento inmediato (v. apt. 3.1). La
direccin inmediata se utiliza para cargar un puntero de 32 bits directamente en el
registro de direcciones (v. tabla 8-5).
LAR1
P#{rea}, byte{.bit}
Descripcin
LAR1
P#10.0
LAR2
P#0
LAR1
P##Start
8-11
Direccionamiento
directo
LAR1
{EN BLANCO}1) o AR 2
LAR2
{EN BLANCO}1)
TAR1
{EN BLANCO}2) o AR 2
TAR2
{EN BLANCO}2)
Identificador deloperando
y rea
DBD
DID
LD
MD
DBD
DID
LD
MD
0 a 65 532
0 a 65 532
8.7
8-12
DBLG
DILG
DBNO
DINO
Indice del
captulo
Apartado
Tema
Pgina
9.1
Operaciones aritmticas
9-2
9.2
9-6
9-1
9.1
Operaciones aritmticas
Descripcin
La tabla 9-1 muestra las operaciones AWL que permiten sumar, restar, multiplicar y
dividir enteros (16 bits) y enteros dobles (32 bits).
Tabla 9-1
Operacin
Relacin entre
operaciones
aritmticas y
acumuladores
9-2
Funcin
+I
16
-I
16
I
16
/I
16
+D
32
-D
32
D
32
/D
32
MOD
32
La descripcin de las funciones en la tabla 9-1 muestra cmo 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.
Combinar dos
nmeros enteros
(16 bits) en las
CPUs con 2 ACU
La operacin Sumar ACU 1 y 2 como enteros (+I) le ordena a la CPU que sume el
contenido de la palabra baja del ACU 1 y de la palabra baja del ACU 2, y que
almacene el resultado en la palabra baja del ACU 1. Esta operacin sobreescribe el
antiguo contenido del ACU 1. El antiguo contenido del ACU 2 y la palabra alta del
ACU 1 permanecen inalterados (v. fig. 9-1). Debajo de la figura 9-2 encontrar un
programa de ejemplo.
Contenido del acumulador antes
de la operacin aritmtica
ACU 2
31
ACU 2
16 15
IV
III
IV
ACU 1
31
+I
16 15
II
Figura 9-1
Suma de dos
nmeros enteros
(16 bits) en las
CPU con 4
acumuladores
III
ACU 1
II
III + I
La operacin Sumar ACU 1 y 2 como enteros (+I) le ordena a la CPU que sume el
contenido de la palabra baja del ACU 1 y de la palabra baja del ACU 2, y que almacene el resultado en la palabra baja del ACU 1. Esta operacin sobreescribe el antiguo contenido del ACU 1. A continuacin se copia el contenido del ACU 3 en el
ACU 2, y el contenido del ACU 4 en el ACU 3. El ACU 4 y la palabra alta del
ACU 1 no varan. (v. fig. 9-2).
ACCU 4
31
ACCU 4
16 15
VIII
VII
VIII
ACCU 3
31
VI
VIII
ACCU 2
IV
III
VI
ACCU 1
+I
16 15
II
Figura 9-2
VII
ACCU 2
16 15
31
VII
ACCU 3
16 15
31
ACCU 1
II
III + I
9-3
AWL
Explicacin
MW10
DBD12
+I
Resultado vlido
S A1 y A0
S OV
S OS
Tabla 9-2
Rango
el resultado de enteros (16 y 32 bits)
g vlido para
p
A1
A0
OV
OS
0 (cero)
Tabla 9-3
Resultado no
vlido
Estado de seal de los bits de la palabra de estado: Resultado fuera del margen
vlido
Rango
el resultado de enteros (16 y 32 bits)
g no vlido para
p
A0
OV
OS
16 bit: Resultado u
32 bit: Resultado u
9-4
Tabla 9-4
A1
A0
OV
OS
Tabla 9-5
Operacin
U,O,X,UN,ON,XN
Referencia al bit de la
palabra de estado o meta
>0, <0, <>0, >=0, <=0,
==0, UO, OV, OS
Bits evaluados de la
palabra de estado
(marcados con una X)
A1, A0, OV, OS
Captulo
5.3
SPO
<meta>
OV
16.4
SPS
<meta>
OS
16.4
SPU
<meta>
A1 y A0
16.5
SPZ
<meta>
A1 y A0
16.5
SPN
<meta>
A1 y A0
16.5
SPP
<meta>
A1 y A0
16.5
SPM
<meta>
A1 y A0
16.5
SPMZ
<meta>
A1 y A0
16.5
SPPZ
<meta>
A1 y A0
16.5
9-5
9.2
Sumar constantes
enteras (8, 16 y
32 bits)
Tabla 9-6
Operacin
La operacin Sumar constante entera se utiliza para sumar una constante entera al
contenido de la palabra baja del ACU 1. La tabla 9-6 muestra las tres posibilidades.
Estas operaciones no afectan a los bits de estado.
Funcin
Ejemplos
AWL
Explicacin
MW10
MW20
+I
-5
MW14
AWL
Explicacin
MD10
MD16
+D
L#-1
MD24
9-6
10
Indice del
captulo
Apartado
Tema
Pgina
10.1
Operacionesaritmticas
10-2
10.2
10-6
10.3
10-7
10.4
10-9
10.5
10-11
10.6
10-12
10.7
10-13
10-1
Descripcin
La tabla 10-1 muestra las operaciones AWL que se utilizan para sumar, restar,
multiplicar y dividir nmeros en coma flotante IEEE-FP de 32 bits. Puesto que los
nmeros en coma flotante IEEE-FP de 32 bits pertenecen al tipo de datos
denominado REAL la abreviatura nemotcnica de estas operaciones es R.
Tabla 10-1
Operacin
Relacin entre
operaciones
aritmticas y
acumuladores
10-2
+R
-R
R
/R
Representacin de
los resultados de
combinar dos
nmeros en coma
flotante en las
CPUs con 2 ACUs
La operacin Sumar ACU 1 y 2 como nmero en coma flotante (32 bits, IEEE-FP)
(+R) ordena a la CPU que sume el contenido del ACU 1 y 2 y que almacene el
resultado en el ACU 1. Esta operacin sobreescribe el antiguo contenido del ACU 1.
El antiguo contenido del ACU 2 permanece inalterado (v. fig. 10-1). Debajo de la
figura 10-2 se muestra un programa a modo de ejemplo.
ACU 2
ACU 2
31
16 15
II
II
ACU 1
31
ACU 1
+R
16 15
II + I
I
Figura 10-1
Todas las dems operaciones de aritmtica en coma flotante se rigen por el principio
arriba esquematizado.
Tabla 10-2
Operacin
Valores de entrada
ACU 1
ACU 2
Resultado
ACU 1
ACU 2
+R
-R
-a
*R
+R
FFFF
10-3
Representacin de
los resultados de
combinar dos
nmeros en coma
flotante en las
CPUs con 4 ACUs
La operacin sumar ACU 1 y ACU 2 como nmero en coma flotante (32 bits, IEEEFP) (+R) ordena a la CPU que sume el contenido de los ACUs 1 y 2, y que guarde el
resultado en el ACU 1. Esta operacin sobreescribe el antiguo contenido del ACU 1.
A continuacin se copia el contenido del ACU 3 en el ACU 2, y el contenido del
ACU 4 en el ACU 3 (v. fig. 10-2).
Contenido del acumulador
antes de la operacin
ACU 4
ACU 4
31
16 15
IV
IV
ACU 3
ACU 3
31
16 15
IV
III
ACU 2
31
ACU 2
16 15
II
II
ACU 1
31
+R
16 15
I
Figura 10-2
ACU 1
II + I
Suma de dos nmeros en coma flotante (IEEE-FP) en las CPUs con 4 ACUs
Todas las dems operaciones de la aritmtica en coma flotante se rigen por el principio arriba esquematizado.
Ejemplo
AWL
Explicacin
MD100
DBD4
+R
DBD16
10-4
Tabla 10-3
Margen vlido
vl do para resultados de enteros dobles (32
bits)
A0
OV
OS
+0, -0 (cero)
Tabla 10-4
Margen no vl
do para resultados de enteros dobles
vlido
(32 bits)
A0
OV
OS
Tabla 10-5
Operacin
U,O,X,UN,ON,XN
Referencia al bit de la
palabra estado o meta
>0, <0, <>0, >=0, <=0,
==0, UO, OV, OS
Bits de la palabra de
estado evaluados
(marcados con una X)
A1, A0, OV, OS
Apartado
5.3
SPO
<meta>
OV
16.4
SPS
<meta>
OS
16.4
SPU
<meta>
A1 y A0
16.4
SPZ
<meta>
A1 y A0
16.5
SPN
<meta>
A1 y A0
16.5
SPP
<meta>
A1 y A0
16.5
SPM
<meta>
A1 y A0
16.5
SPMZ
<meta>
A1 y A0
16.5
SPPZ
<meta>
A1 y A0
16.5
10-5
Descripcin
La operacin ABS (Valor absoluto de un nmero en coma flotante (32 bits, IEEEFP)) se utiliza para formar el valor absoluto de un nmero en coma flotante (32 bits
IEEE-FP) en el ACU 1. Un valor absoluto es un nmero no negativo de igual valor
numrico al nmero en coma flotante dado. Para un valor absoluto, el signo (+ o -)
no es relevante. Por ejemplo, 5 es el valor absoluto de +5 -5.
Ejemplo
AWL
Explicacin
L
L
DBD0
+12.3E+00
/R
T
MD20
NEGR
T MD24
ABS
T
MD28
10-6
Descripcin
En la tabla 10-6 se enumeran las operaciones AWL con las que puede aplicar operaciones aritmticas ampliadas con nmeros en coma flotante (32 bits, IEEE-FP).
Tabla 10-6
Relacin entre
operaciones
ampliadas y
acumuladores
Operacin
Funcin
SQRT
Calcula la raz cuadrada del nmero en coma flotante (32 bits, IEEE-FP) en el
ACU 1 y guarda el resultado de 32 bits en el ACU 1.
SQR
LN
Calcula el logaritmo natural del nmero en coma flotante (32 bits, IEEE-FP) en
el ACU 1 y guarda el resultado de 32 bits en el ACU 1.
EXP
Calcula el valor exponencial del nmero en coma flotante (32 bits, IEEE-FP)
con base e, y guarda el resultado de 32 bits en el ACU 1.
SIN
Calcula el seno del nmero en coma flotante (32 bits, IEEE-FP) en el ACU 1 y
guarda el resultado de 32 bits en el ACU 1.
COS
Calcula el coseno del nmero en coma flotante (32 bits, IEEE-FP) en el ACU 1
y guarda el resultado de 32 bits en el ACU 1.
TAN
ASIN
Calcula el arco seno del nmero en coma flotante (32 bits, IEEE-FP) en el ACU
1 y guarda el resultado de 32 bits en el ACU 1.
ACOS
Calcula el arco coseno del nmero en coma flotante (32 bits, IEEE-FP) en el
ACU 1 y guarda el resultado de 32 bits en el ACU 1.
ATAN
Calcula el arco tangente del nmero en coma flotante (32 bits, IEEE-FP) en el
ACU 1 y guarda el resultado de 32 bits en el ACU 1.
10-7
El efecto de las
operaciones
ampliadas sobre
los bits de la
palabra de estado
La CPU realiza las operaciones aritmticas enumeradas en la tabla 10-1 sin tener en
cuenta ni afectar al resultado lgico. Las operaciones de clculo ampliadas afectan a
los siguientes bits:
S A1 y A0
S OV
S OS
Las operaciones AWL de la tabla 10-7 se utilizan para evaluar estos bits (v. apt. 5.3
y Evaluar los bits de la palabra de estado en este captulo).
Tabla 10-7
Bits de la palabra
de estado evaluados
Apartado
U, O, X, UN, ON, XN
5.3
SPO
<meta>
OV
16.4
SPS
<meta>
OS
16.4
SPU
<meta>
A1 y A0
16.4
SPZ
<meta>
A1 y A0
16.5
SPN
<meta>
A1 y A0
16.5
SPP
<meta>
A1 y A0
16.5
SPM
<meta>
A1 y A0
16.5
SPMZ
<meta>
A1 y A0
16.5
SPPZ
<meta>
A1 y A0
16.5
Operacin
10-8
Descripcin
Ejemplo
Resultado en el ACU 1
A1
A0
OV
OS
+ qNaN
+ normalizado
+ cero
- qNaN
AWL
Explicacin
AUF DB17
L DBD0
SQR
UN OV
SPB OK
...
OK: T DBD4
10-9
Tabla 10-9
Ejemplo
A1
A0
OV
OS
+ qNaN
+ normalizado
+ cero
- cero
- qNaN
AWL
Explicacin
L MD10
SQRT
UN OV
SPB OK
...
OK: T MD20
10-10
Descripcin
Ejemplo
A1
A0
OV
OS
+ qNaN
+ normalizado
+ cero
- cero
- normalizado
- qNaN
AWL
Explicacin
L MD10
LN
UN OV
SPB OK
...
OK: T MD20
10-11
Descripcin
En la tabla 10-11 se muestra el efecto que tiene la operacin EXP sobre el estado de
seal de los bits A1, A0, OV y OS de la palabra de estado. El signo indica que
el bit correspondiente no resulta afectado.
Tabla 10-11
Ejemplo
A1
A0
OV
OS
+ qNaN
+ normalizado
+ cero
- qNaN
AWL
Explicacin
L MD10
EXP
UN OV
SPB OK
...
OK: T MD20
10-12
Las operaciones que se describen a continuacin sirven para calcular funciones trigonomtricas de ngulos que estn representados mediante nmeros en coma flotante (32 bits, IEEE-FP). El resultado de 32 bits se deposita en el ACU 1; los contenidos de los ACU 2, ACU 3 y ACU 4 no varan.
Operacin
Significado
SIN
ASIN
COS
ACOS
TAN
ATAN
En la tabla 10-12 se muestra el efecto que tienen las operaciones SIN, ASIN, COS,
ACOS y ATAN sobre el estado de seal de los bits A1, A0, OV y OS de la palabra
de estado. En la tabla 10-13 se muestra el efecto de la operacin TAN sobre dichos
bits. El signo indica que el bit correspondiente no resulta afectado.
Tabla 10-12
A1
A0
OV
OS
+ qNaN
+ normalizado
+ cero
- cero
- normalizado
- qNaN
10-13
Tabla 10-13
Ejemplo
A1
A0
OV
OS
+ qNaN
+ normalizado
+ cero
- cero
- normalizado
- qNaN
AWL
Explicacin
L MD10
SIN
T MD20
Ejemplo
AWL
Explicacin
L MD10
ASIN
UN OV
SPB OK
...
OK: T MD20
10-14
S A1 y A0
S OV
S OS
Valor vlido
Los guiones () que aparecen en las columnas de bits en la tabla significan que el bit
en cuestin no se ve afectado por el resultado de la operacin aritmtica.
Tabla 10-14
Margen vlido
vl do para resultados de enteros dobles
(32 bits)
A1
A0
OV
OS
+0, -0 (cero)
Tabla 10-15
Resultado no
vlido
Margen no vl
do para resultados de enteros
vlido
dobles (32 bits)
A0
OV
OS
Tabla 10-16
Valor de entrada
no vlido
en coma fl
flotante
t t (32 bit
bits))
A0
OV
OS
10-15
10-16
11
Operaciones de comparacin
Indice del
captulo
Apartado
Tema
Pgina
11.1
Resumen breve
11-2
11.2
11-3
11.3
11-5
11-1
Operaciones de comparacin
Criterios de comparacin
Criterio de
comparacin
es igual a
==I
==D
==R
no es igual a
<>I
<>D
<>R
es mayor que
>I
>D
>R
es menor que
11-2
Smbolo(s) de las
operaciones
<I
<D
<R
>=I
>=D
>=R
<=I
<=D
<=R
Operaciones de comparacin
Descripcin
Tabla 11-2
Las operaciones Comparar enteros comparan dos nmeros enteros de 16 bits y las
operaciones Comparar enteros dobles comparan enteros de 32 bits de acuerdo con
los criterios expuestos en la tabla 11-2. A continuacin de la tabla 11-3 encontrar
un programa de ejemplo.
Operaciones de comparacin (nmeros enteros, 16 y 32 bits)
Explicacin
Operacin
==I
El entero (16 bits) de la palabra baja del ACU 2 es igual al entero (16 bits) de la palabra baja del ACU 1.
==D
El entero doble (32 bits) del ACU 2 es igual al entero doble (32 bits) del ACU 1.
<>I
El entero (16 bits) de la palabra baja del ACU 2 no es igual al entero (16 bits) de la palabra baja del ACU 1.
<>D
El entero doble (32 bits) del ACU 2 no es igual al entero doble (32 bits) del ACU 1.
>I
El entero (16 bits) de la palabra baja del ACU 2 es mayor que el entero (16 bits) de la palabra baja del ACU 1.
>D
El entero doble (32 bits) del ACU 2 es mayor que el entero doble (32 bits) del ACU 1.
<I
El entero (16 bits) de la palabra baja del ACU 2 es menor que el entero (16 bits) de la palabra baja del ACU 1.
<D
El entero doble (32 bits) del ACU 2 es menor que el entero doble (32 bits) del ACU 1.
>=I
El entero (16 bits) de la palabra baja del ACU 2 es mayor o igual al entero (16 bits) de la palabra baja del
ACU 1.
El entero doble (32 bits) del ACU 2 es mayor o igual al entero doble (32 bits) del ACU 1.
>=D
<=I
<=D
El entero (16 bits) de la palabra baja del ACU 2 es menor o igual al entero (16 bits) de la palabra baja del
ACU 1.
El entero doble (32 bits) del ACU 2 es menor o igual al entero doble (32 bits) del ACU 1.
11-3
Operaciones de comparacin
Condicin
Ejemplo
Estado de seal de
A1 y A0:
A1
A0
U, O, X, UN, ON, XN
ACU2>ACU1
>0
ACU2<ACU1
<0
ACU2=ACU1
==0
ACU2<>ACU1
<>0
ACU2>=ACU1
>=0
ACU2<=ACU1
<=0
El programa de ejemplo siguiente muestra cmo funcionan las operaciones de comparacin de enteros (16 bits).
AWL
Explicacin
L MW10
EW0
==I
La salida A 4.0
A 4.0
>I
<I
A 4.2
11-4
Operaciones de comparacin
Descripcin
Operacin
Explicacin
==R
<>R
>R
<R
>=R
<=R
Condicin
A1
A0
OV
OS
==
no aplicable
<>
no aplicable
>
no aplicable
<
no aplicable
>=
no aplicable
<=
no aplicable
UO
11-5
Operaciones de comparacin
Operacin
U,O,X,UN,ON,XN
Ejemplo
Apartado
5.3
SPU
<meta>
16.4
SPZ
<meta>
16.5
SPN
<meta>
16.5
SPP
<meta>
16.5
SPM
<meta>
16.5
SPMZ
<meta>
16.5
SPPZ
<meta>
16.5
AWL
Explicacin
L MD24
+1.00E+00
>R
Comparar el valor del ACU 2 con el valor del ACU 1 para ver si
es mayor que el valor del ACU 1.
A 4.1
<R
=
A 4.2
La salida A 4.2 lleva corriente si MD24 es menor que 1.
11-6
12
Operaciones de conversin
Indice del
captulo
Apartado
Tema
Pgina
12.1
12-2
12.2
12-8
12.3
12-13
12.4
12-14
12-1
Operaciones de conversin
Descripcin
12-2
Operacin
Significado
BTI
Convertir de BCD a
entero de 16 bits
BTD
Convertir de BCD a
entero de 32 bits
ITB
Convertir de entero a
BCD
ITD
Convertir de entero a
entero de 32 bits
DTB
Convertir de entero
de 32 bits a BCD
DTR
Convertir de doble
entero a nmero en
coma flotante
Operaciones de conversin
Convertir de BCD
a entero (16 bits):
BTI
11 10 9
V
102
101
Centenas
100
Decenas
Unidades
AWL
Explicacin
MW10
BTI
MW20
15...
L MW10
MW10
BTI
T MW20
Figura 12-2
1
...8
7...
5
...0
+915 BCD
+915 entero
de BCD a entero
MW20
12-3
Operaciones de conversin
Convertir de BCD
a entero doble
(32 bits): BTD
31...
...16 15...
...0
VVVV
106
105
104
103
102
101
100
El siguiente programa de ejemplo contiene la operacin BTD. La figura 12-4 muestra cmo funciona esta operacin.
AWL
Explicacin
MD10
BTD
MD20
+
31...
L MD10
MD10
BTD
T MD20
Figura 12-4
12-4
...16 15...
...0
157821
de BCD a entero
MD20
+157821
Conversin de un nmero BCD en un entero doble (32 bits) con la operacin BTD
Operaciones de conversin
Convertir de
entero (16 bits)
a BCD: ITB
AWL
Explicacin
MW10
ITB
MW20
15...
L MW10
MW10
ITB
T MW20
7...
...0
1
-413 entero
-413 BCD
de entero a BCD
MW20
-
Figura 12-5
...8
12-5
Operaciones de conversin
Convertir de
entero (16 bits)
a entero doble
(32 bits) : ITD
AWL
Explicacin
MW10
ITD
T
MD20
15...
L MW10
MW10
...0
ITD
31...
T MD20
Figura 12-6
MD20
-10
entero
...0
0 1 1 0 -10
entero
Conversin de un entero de 16 bits en un entero doble (32 bits) con la operacin ITD
Convertir de
entero doble
(32 bits) a BCD :
DTB
AWL
Explicacin
MD10
DTB
T
MD20
31...
L MD10
MD10
...16 15...
DTB
T MD20
12-6
-701 entero
de entero a BCD
MD20
Figura 12-7
...0
-701
BCD
Conversin de un entero doble (32 bits) en un nmero BCD con la operacin DTB
Operaciones de conversin
Convertir de
entero doble
(32 bits) a nmero
en coma flotante
(32 bits, IEEE-FP) :
DTR
AWL
Explicacin
MD10
DTR
MD20
Transferir el resultado a la palabra doble de marcas MD20.
L MD10
MD10
DTR
31 30...
T MD20
+500
entero
MD20
...0
22...
0 1 0 0 0 0 1 1 1 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +500 IEEE
Exponente de 8 bits
Mantisa de 32 bits
1 bit
signo de la mantisa
Figura 12-8
Conversin de un entero doble (32 bits) en un nmero en coma flotante de 32 bits IEEE-FP con la operacin
DTR
La figura 12-13 al final del apartado 12.2 ofrece un esquema de las operaciones de
conversin que se pueden realizar.
12-7
Operaciones de conversin
Descripcin
Operacin
Significado
RND
Redondear a entero
RND+
Redondear al
Esta operacin redondea el nmero convertido al prximo
prximo entero doble entero inferior que sea menor o igual al nmero en coma
superior
flotante convertido.
RND-
Redondear al
Esta operacin redondea el nmero convertido al prximo
prximo entero doble entero superior que sea menor o igual al nmero
inferior
convertido.
TRUNC
Truncar
12-8
Operaciones de conversin
Redondear a
entero: RND
AWL
Explicacin
MD10
RND
MD20
31 30...
L MD10
MD10
0 100 0010 1
RND
T MD20
MD20
MD10
Figura 12-9
+100
entero
...0
22...
RND
T MD20
+100.5
IEEE
31 30...
L MD10
...0
22...
-100.5
IEEE
1001 1100
-100
entero
Conversin de un nmero en coma flotante de 32 bits IEEE-FP en un entero doble (32 bits) con la operacin
RND
12-9
Operaciones de conversin
Redondear al
prximo entero
doble superior
(32 bits): RND+
AWL
Explicacin
MD10
RND+
MD20
31 30...
L MD10
MD10
0 100 0010 1
RND+
MD20
L MD10
MD10
31 30...
RND+
Figura 12-10
12-10
+100.5
IEEE
T MD20
T MD20
...0
22...
1 100 0010 1
+101
entero
...0
22...
-100.5
IEEE
1001 1100
-100
entero
Conversin de un nmero en coma flotante de 32 bits IEEE-FP en un entero doble (32 bits) con la operacin
RND+
Operaciones de conversin
Redondear al
prximo entero
doble inferior
(32 bits): RND
AWL
Explicacin
MD10
RND-
MD20
31 30...
L MD10
MD10
0 100 0010 1
RNDT MD20
MD20
MD10
1 100 0010 1
Figura 12-11
+100
entero
...0
22...
-100.5
IEEE
RNDT MD20
+100.5
IEEE
31 30...
L MD10
...0
22...
MD20
1001 1011
-101
entero
Conversin de un nmero en coma flotante de 32 bits IEEE-FP en un entero doble (32 bits) con la operacin
RND-
12-11
Operaciones de conversin
Truncar: TRUNC
AWL
Explicacin
MD10
RND-
MD20
31 30...
L MD10
MD10
TRUNC
T MD20
MD20
MD10
Figura 12-12
...0
22...
1 100 0010 1
-100.5
IEEE
1001 1100
-100
entero
Conversin de un nmero en coma flotante de 32 bits IEEE-FP en un entero doble (32 bits) con la operacin
TRUNC
Resumen de las
operaciones de
conversin
BCD
3 pos.
BTI
ITB
7 pos.
Figura 12-13
Entero
16 bits
32 bits
BTD
DTB
12-12
+100
entero
TRUNC
T MD20
+100.5
IEEE
31 30...
L MD10
...0
22...
0 100 0010 1
Coma flotante
ITD
DTR
32 bits
IEEE
Operaciones de conversin
Descripcin
31...
L MD10
...16 15...
...0
MD10
MD20
TAW
T MD20
Figura 12-14
TAD
Inversin del orden de los bytes de la palabra baja del ACU 1 con la operacin TAW
La operacin TAD invierte el orden de los bytes de todo el ACU 1 (v. fig. 12-15).
31...
L MD10
...16 15...
...0
MD10
MD20
TAD
T MD20
Figura 12-15
Inversin del orden de los bytes del ACU 1 con la operacin TAD
12-13
Operaciones de conversin
12.4 Formar complementos de nmeros enteros y cambiar el signo de un nmero en coma flotante
Descripcin
Cuando se forma el complemento a uno de un nmero depositado en el acumulador se invierte el nmero bit por bit, es decir los ceros se convierten en unos y los
unos se convierten en ceros.
Cuando se forma el complemento a dos de un entero depositado en el acumulador tambin se invierte el nmero bit por bit, es decir, los ceros se convierten en uno y los unos
en ceros. Luego se suma un +1 al contenido del acumulador. Formar el complemento a
dos de un entero equivale a multiplicar el nmero por -1. Cuando se cambia el signo de
un nmero en coma flotante, se invierte el bit de signo.
Para formar complementos de nmeros enteros o para cambiar el signo de un nmero en coma flotante se utilizan las siguientes operaciones:
Nemotcnica
12-14
Operacin
Significado
INVI
Complemento a uno
de entero (16 bits)
INVD
Complemento a uno
de entero doble (32
bits)
NEGI
Complemento a dos
de entero (16 bits)
NEGD
Complemento a dos
de entero doble
(32 bits)
NEGR
Complemento a dos
de nmero en coma
flotante (32 bits,
IEEE-FP)
Operaciones de conversin
Programa AWL
L DBW30
INVI
T DBW32
L DBW30
INVI
T DBW32
Figura 12-16
Programa AWL
L DBW40
NEGI
T DBW42
L DBW40
23.864
Entero
-23.864
Entero
NEGI
T DBW42
Figura 12-17
12-15
Operaciones de conversin
31
28 27
2
24 23
0
20 19
0
16 15
0
12 11
0
8 7
0
4 3
0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Signo de la
mantisa: s
(1 bit)
Exponente: e
(8 bits)
Mantisa: f
(23 bits)
e = 27 + 21 = 130
1.f 2e-bias = 1,25 23 = 10,0
[1,25 2(130-127) = 1,25 23 = 10,0]
f = 2-2 = 0,25
Programa AWL
L DBD62
NEGR
T DBD66
L DBD62
0 1 0 0 0 0 01 0 0 1 0
NEGR
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
T DBD66 1 1 0 0 0 0 0 1 0 0 1 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
Figura 12-18
12-16
Indice del
captulo
Apartado
Tema
13
Pgina
13.1
Resumen breve
13-2
13.2
13-3
13.3
13-6
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.
Gestin de
acumuladores
Influencia sobre
los bits de la
palabra de estado
Operaciones
disponibles
Constantes como
operandos
Operacin
Significado
UW
Y con palabra
OW
O con palabra
XOW
UD
OD
XOD
Las operaciones UW, OW o XOW pueden utilizar una constante de 16 bits como
operando. Estas operaciones combinan el contenido de la palabra baja del ACU 1
con la constante de 16 bits.
Las operaciones UD, OD o XOD pueden utilizar una constante de 32 bits como operando.
13-2
Descripcin
Las operaciones Y con palabras (16 bits), O con palabras (16 bits) y O-exclusiva con
palabras (UW, OW, XOW) combinan pares de palabras (16 bits) bit por bit segn la
lgica de Boole.
Nemotcnica
UW
OW
XOW
Operacin
RLO antes de la
ejecucin
Operando
Resultado
en el RLO
Y con palabra
O con palabra
ACU 2
31
16 15
IV
III
ACU 2
0
ACU 1
31
II
16 15
I
Combinacin
UW, OW, XOW
IV
III
ACU 1
II
III c. I
c=combinado con
Figura 13-1
13-3
Ejemplo de la
operacin UW
AWL
Explicacin
L MW10
MW20
UW
15...
...8
7...
...0
MW10
MW20
Figura 13-2
Combinar
acumuladores y
constantes
Las operaciones UW, OW o XOW pueden utilizar una constante de 16 bits como
operando. Las operaciones combinan el contenido de la palabra baja del ACU 1 con
la constante de 16 bits indicada en la instruccin. El resultado de la combinacin se
almacena en la palabra baja del ACU 1. El ACU 2 y la palabra alta del ACU 1
permanecen inalterados (v. fig. 13-3).
Contenido del acumulador
despus de la operacin lgica
ACU 2
ACU 2
31
16 15
IV
III
ACU 1
31
II
16 15
I
Combinacin
UW2#, OW2#,
XOW2#
IV
III
ACU 1
II
I v. 2#
c=combinado con
Figura 13-3
13-4
Ejemplo de la
operacin UW con
una costante
AWL
Explicacin
L MW10
UW 2#1010_1010_0101_0101
MW24
15...
...8
7...
...0
MW10
Valor de la instruccin
UW
Figura 13-4
13-5
Descripcin
Las operaciones Y con palabra doble, O con palabra doble y O-exclusiva con
palabra doble (UW, OW XOD) combinan pares de palabras (32 bits) bit por bit
segn la lgica de Boole.
Nemotcnica
UD
OD
XOD
Operacin
RLO antes de la
ejecucin
Operando
Resultado
en el RLO
Palabra doble Y
Palabra doble O
ACU 1
31
16 15
II
I
ACU 2
Combinacin
IV
III
III v. I
c=combinado con
Figura 13-5
13-6
Ejemplo de la
operacin UD
AWL
Explicacin
L MD10
MD20
UD
31...
...16 15...
...0
MD10
MD20
MD24
Figura 13-6
Operacin UD
Combinar
acumuladores y
constantes
Las operaciones UD, OD o XOD pueden utilizar una constante de 32 bits como
operando. La operacin combina el contenido del ACU 1 con la constante de 32 bits
indicada en la instruccin. El resultado de la combinacin se almacena en la palabra
baja del ACU 1. El ACU 2 permanece inalterado (v. fig. 13-7).
Contenido del acumulador
antes de la operacin lgica
ACU 2
31
16 15
ACU 2
IV
0
Combinacin
III
ACU 1
31
16 15
II
I
IV
III
ACU 1
II v. DW#16# I v. DW#16#
c=combinado con
Figura 13-7
13-7
Ejemplo de la
operacin UD con
una constante
El siguiente programa de ejemplo contiene la operacin UD que realiza una combinacin lgica con la constante de 32 bits indicada en la instruccin. La figura 13-8
muestra cmo funciona esta operacin.
AWL
Explicacin
L MD10
UD DW16#AAAA_5555
MD24
31...
...16 15...
...0
MD10
Valor de la instruccin UD
MD24
Figura 13-8
13-8
Indice del
captulo
Apartado
Tema
14
Pgina
14.1
Operaciones de desplazamiento
14-2
14.2
Operaciones de rotacin
14-6
14-1
Operaciones de
desplazamiento:
Nmeros sin signo
Las operaciones siguientes desplazan el contenido de la palabra baja del ACU 1 bit
por bit a la izquierda o a la derecha:
Desplazar palabra
a la izquierda
(16 bits): SLW
AWL
Explicacin
MW10
SLW
6
Desplazar los bits de la palabra baja del ACU 1 seis
posiciones hacia la izquierda.
MW20
Transferir el contenido de la palabra baja del ACU 1 a la
palabra de marcas MW20.
14-2
15...
0
0 0
...8
7...
...0
1
6 posiciones
0
Estos 5 bits
se pierden
El ltimo bit desplazado se almacena
en el bit de la palabra de estado A1
Figura 14-1
Las posiciones
vacantes se
rellenan con
ceros
Desplazamiento de los bits de la palabra baja del ACU 1 seis bits a la izquierda
Desplazar palabra
a la derecha
(32 bits): SRD
El siguiente programa de ejemplo y la figura 14-2 muestran cmo funciona la operacin SRD. La tabla 14-1 muestra un resumen de todas las operaciones de desplazamiento.
AWL
Explicacin
+3
MD10
SRD 3
MD20
31...
...16 15...
...0
14-3
Operaciones de
desplazamiento:
Nmeros con
signo
Desplazar signo
entero (16 bits):
SSI
AWL
Explicacin
MW10
SSI
MW20
15...
1
1 0
14-4
7...
...0
4 posiciones
Signo
1
...8
Desplazamiento de los bits de la palabra baja del ACU 1 cuatro bits a la derecha con signo
Tabla 14-1
Operacin
1)
2)
3)
4)
5)
Sentido
Cmo se
rellenan las
posiciones
vacantes
Margen de
desplazamiento 1)
SLW n
izquierda
en la instruccin
n=0 a 15
SLW
izquierda
0 a 255 2)
SLD n
ACU 1
izquierda
en la instruccin
n=0 a 32
SLD
ACU 1
izquierda
0 a 255 3)
SRW n
derecha
en la instruccin
n=0 a 15
SRW
derecha
0 a 255 2)
SRD n
ACU 1
derecha
en la instruccin
n=0 a 32
SRD
ACU 1
derecha
0 a 255 3)
SSI n
derecha
en la instruccin
Bit de signo
n=0 a 15
SSI
derecha
Bit de signo
0 a 255 4)
SSD n
ACU 1
derecha
en la instruccin
Bit de signo
n=0 a 32
SSD
ACU 1
derecha
Bit de signo
0 a 255 5)
Si el nmero de bits desplazados o rotados es 0, la operacin se ejecuta como una operacin nula.
Para los nmeros mayores que 16 el resultado de la operacin de desplazamiento es W#16#0000 y A1 = 0.
Para los nmeros mayores que 32 el resultado de la operacin de desplazamiento es DW#16#0000_0000 y A1 = 0.
Para los nmeros mayores que 15 el resultado de la operacin de desplazamiento es W#16#0000 y A1 = 0 o W#16#FFFF
y A1 = 1, segn el signo (0 1).
Para los nmeros mayores que 31 el resultado de la operacin de desplazamiento es DW#16#0000_0000 (A1 = 0) o
DW#16#FFFF_FFFF (A1 = 1), segn el signo del nmero de bits a desplazar.
14-5
Descripcin
Las operaciones de rotacin hacen circular todo el contenido del ACU 1 bit por bit a
la izquierda o a la derecha. Las operaciones de rotacin activan funciones similares
a las funciones de desplazamiento descritas en el apartado 14.1. 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 A1 (v. apt. 2.2). El bit de estado A0 se pone a 0.
Las operaciones de rotacin disponibles son:
Sentido
RLD n
no
izquierda
en la instruccin
n=0 a 32
RLD
no
izquierda
0 a 255
RRD n
no
derecha
en la instruccin
0 a 32
RRD
no
derecha
0 a 255
RLDA
izquierda
1 (fija)
RRDA
derecha
1 (fija)
Operacin
14-6
Margen de
desplazamiento
Rotar palabra
doble a la
izquierda (32 bits):
RLD
La tabla 14-2 muestra una lista completa de las operaciones de rotacin. El siguiente
programa de ejemplo y la figura 14-4 muestran cmo funciona la operacin RLD.
AWL
Explicacin
MD10
RLD
T
MD20
31...
...16 15...
...0
111
Figura 14-4
Rotar palabra
doble a la derecha
(32 bits): RRD
El siguiente programa de ejemplo y la figura 14-5 muestran cmo funciona la operacin RRD.
AWL
Explicacin
+3
MD10
RRD
MD20
14-7
31...
...16 15...
...0
Figura 14-5
Rotar ACU 1 a la
izquierda va A1
(32 bits): RLDA
A1
X
31...
...16 15...
...0
Figura 14-6
Rotar ACU 1 a la
derecha va A1
(32 bits): RRDA
14-8
15
Indice del
captulo
Apartado
Tema
Pgina
15.1
15-2
15.2
15-2
15.3
15-3
15-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.
Formato de
direccionamiento
Las tablas 15-1 y 15-2 indican los operandos y las reas de operandos de la
operacin AUF.
Tabla 15-1
Area de
bloques de
datos
DB
DI
Tabla 15-2
0 a 65 535
1 a 65 534
DBpara
BLOCK_DB
DIpara
Descripcin
15-2
Descripcin
Las siguientes operaciones se utilizan para cargar la longitud o el nmero de un bloque de datos global o de un bloque de datos de instancia en el ACU 1:
AWL
Explicacin
AUF DB40
DBLG
+50
>=I
SPB ERR
U
=
E 0.0
M 1.0
BEA
15-3
AWL
Explicacin
L
DBNO
+190
<I
SPB ERR
DBNO
+250
>I
SPB ERR
SET
= M 1.0
BEA
15-4
FC10 contiene una reaccin para el caso de que el nmero del bloque abierto actualmente no se encuentre en el margen comprendido
entre 190 y 250.
16
Operaciones de salto
Indice del
captulo
Apartado
Tema
Pgina
16.1
Resumen breve
16-2
16.2
16-3
16.3
16-4
16.4
16-5
16.5
16-6
16.6
Bucle
16-8
16-1
Operaciones de salto
Operaciones
Las operaciones de salto descritas a continuacin as como la operacin LOOP 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. El operando de una operacin de salto o LOOP es una meta.
Operacin
Explicacin
Operaciones de sal
SPA
Salto incondicionado
SPL
Salto a meta
Operaciones de salto condicionado, en funcin del RLO
SPB
Salto si RLO = 1
SPBN
Salto si RLO = 0
SPBB
SPBNB
SPBI
Salto si RB = 1 (SPBI)
SPBIN
Salto si RB = 0
SPO
Salto si OV = 1
SPS
Salto si OS = 1
Operaciones de salto condicionado, en funcin del resultado depositado en A1 y A0
SPZ
Salto si resultado = 0
SPN
Salto si no es 0
SPP
SPM
Salto si es negativo
SPMZ
SPPZ
SPU
LOOP
16-2
Una meta puede ser un operando de una operacin de salto o servir de marca para la
meta de una operacin de salto. Se compone de 4 caracteres como mximo. El
primer carcter debe ser una letra, en tanto que los dems pueden ser letras o
nmeros (p. ej. PRT3). Si es una marca, la meta debe concluirse adems con dos
puntos. En este caso, la meta deber ir seguida de una instruccin (p. ej.
PRT3: NOP 0).
Operaciones de salto
Descripcin
Las operaciones SPA interrumpen el desarrollo normal del programa, haciendo que
el programa salte a una meta determinada (al operando de la operacin SPA). La
meta define el punto en que deber continuar el programa. El salto se efecta
independientemente de condiciones.
La operacin SPL es un distribuidor de saltos seguido de una serie de saltos incondicionados a metas determinadas (v. fig. 16-1). El acceso a la lista se encuentra en el
ACU 1.
Comienzo
(distribuidor de saltos)
=0
=1
=2
=3
MB100
SPL LIST
>3
Cargar destino:
0 = Salto a PRT0
1 = Salto a PRT1
2 = Salto a GEMP
3 = Salto a PRT3
> 3 = Salto a LIST
SPA PRT0
SPA PRT1
Seg. 0
Seg. 1
Distribuidor de saltos
Seg. 3
SPA GEMP
SPA PRT3
LIST:
SPA GEMP
PRT0:
Segmento 0
SPA GEMP
Programa
comn
PRT1:
Segmento 1
SPA GEMP
Fin
PRT3:
Segmento 3
GEMP:
Programa comn
Figura 16-1
Control del desarrollo del programa con la operacin Salto a meta (SPL)
16-3
Operaciones de salto
Descripcin
Las siguientes operaciones de salto interrumpen el desarrollo del programa dependiendo del resultado lgico (RLO) dado en la instruccin anterior:
S SPBNB: Salto si RLO = 0 con RB: El RLO se almacena en el bit RB de la palabra de estado.
Independientemente de que se ejecute el salto o no, se describen los siguientes bits
de la palabra de estado:
OR := 0
STA := 1
RLO := 1
/ER := 0
Comienzo
E 1.0 = 1
y E 1.1 = 1
?
No RLO=1
Segmento B
S
RLO=0
Borrar el contenido
de MB10.
S
RLO=0
E 1.0
E 1.1
SPBN GEMP
L
MB10
Seg. B
GEMP:
Programa
comn
Programa
comn
Fin
Figura 16-2
16-4
Control del desarrollo del programa con la operacin SPBN (Salto si RLO = 0)
Operaciones de salto
Las siguientes operaciones de salto interrumpen el desarrollo del programa en funcin del estado de seal de un determinado bit de la palabra estado (v. apt. 2.2).
S SPBI: Salto si RB = 1 o SPBIN: Salto si RB = 0
S SPO: Salto si OV = 1 o SPS: Salto si OS = 1.
Las operaciones Salto si RB = 1 (SPBI) y Salto si RB = 0 (SPBIN) ponen los bits
OR y /ER de la palabra de estado a 0 y el bit STA a 1. La operacin SPS pone
el bit OS a 0.
Comienzo
Desactivar bit
OS
SPS ODEL
ODEL:
Calcular
<MW10>=<MW12>+<MW14>-<MW16>
MW12
MW14
MW16
MW10
Desactivar bit
OS
Calcular.
Desbordamiento memorizado?
SPS PRTC*
Segmento C
No
SPPZ PRTB
Borrar
<MB10>
Resultado
<MW10> 0
+10
MW20
Seg. A
SPA GEMP
PRTB:
+17
MW30
No
Seg. B
Segmento A
Segmento B
<MW20> = 10
<MW30> = 17
SPA GEMP
PRTC:
MW10
Seg. C
GEMP:
Programa
comn
Programa
comn
Fin
Figura 16-3
16-5
Operaciones de salto
Descripcin
Las siguientes operaciones de salto interrumpen el desarrollo del programa en funcin del resultado de una operacin anterior:
A1 y A0 en la
palabra de estado
Estado de seal
16-6
=0
SPZ
<>0
SPN
>0
SPP
<0
SPM
>=0
SPPZ
<=0
SPMZ
UO (no admisible)
SPU
A1
A0
Operaciones de salto
Comienzo
Desactivar bit
OS
SPS ODEL
ODEL
Calcular
<MW10>=<MW12>+<MW14>-<MW16>
MW12
MW14
MW16
MW10
Desactivar bit OS
Calcular.
Rebase por
S
exceso memorizado?
SPS PRTC*
Segmento C
No
SPPZ PRTB
Borrar
<MB10>
S
Resultado
<MW10> >= 0
+10
MW20
Seg. A
SPA GEMP
PRTB:
+17
MW30
No
Seg. B
Segmento A
Segmento B
<MW20> = 10
<MW30> = 17
SPA GEMP
PRTC:
MW10
Seg. C
GEMP:
Programa comn
Programa
comn
Fin
Figura 16-4
Control del desarrollo del programa con la operacin SPPZ (Salto si resultado > = 0 )
16-7
Operaciones de salto
16.6 Bucle
Descripcin
La operacin LOOP (bucle) sirve para llamar varias veces un segmento del
programa (v. figura 16-5). La operacin LOOP decrementa la palabra baja del
ACU 1 en 1. Despus se comprueba el valor depositado en la palabra baja del
ACU 1. Si no es igual a 0, se ejecuta un salto a la meta indicada en la operacin
LOOP. En caso contrario, se ejecuta la siguiente operacin.
Asignar un
operando a
una meta
A la operacin LOOP se le asigna una meta para que conozca la posicin en la que
debe regresar al programa. El operando de la operacin LOOP del programa que se
aprecia en la figura 16-5 es la meta PROX. Dicha meta determina que la operacin
regrese a la instruccin T MB 10 del programa. En esta posicin se procesa el
segmento A del programa. La operacin LOOP regresa a la meta cuantas veces lo
haya indicado el usuario. Dicha informacin se indica en la palabra baja del ACU 1.
Una posibilidad de hacerlo consiste en activar un contador de bucles y cargarlo en el
acumulador.
Comienzo
L
Segmento A
PROX: T
+5
MB10
Inicializar
contador de
bucles
Seg. A
Decrementar el
contador de
bucles
L
MB10
PROXIMO LOOP
S
Contador de
bucles <>0?
No
Fin
Figura 16-5
16-8
Operaciones de salto
A una operacin LOOP se le asigna a travs del ACU 1 un valor que indica cuntas
veces se desea que LOOP llame a un determinado segmento del programa.
La operacin LOOP interpreta el contador de bucles como tipo de datos WORD.
En la tabla 16-2 se describen los dos formatos posibles de un contador de bucles.
Tabla 16-2
Cmo utilizar
eficientemente la
operacin LOOP
Valor
Tipo de datos
Area de memoria
Entero
1 a 65 535
(slo valor positivo)
WORD
E, A, M, D, L
Palabra
W#16#0001 a
W#16#FFFF
WORD
E, A, M, D, L
16-9
Operaciones de salto
16-10
Indice del
captulo
Apartado
Tema
17
Pgina
17.1
17-2
17.2
17-3
17.3
17-7
17.4
17-10
17.5
17-11
17.6
Finalizar bloques
17-16
17-1
Conceptos
Para llamar bloques parametrizables es importante conocer los conceptos Parmetro Formal y Parmetro Actual.
Un Parmetro formal es aquel parmetro cuyo nombre y tipo de datos queda determinado al crear el bloque parametrizable y que, por ejemplo, ha sido declarado INPUT o OUTPUT. Al llamar un bloque (p.ej.: CALL SFC 31) en el Editor Incremental, STEP 7 muestra automticamente la lista de parmetros formales.
A los parmetros formales habr que asignar luego parmetros actuales. Un parmetro actual es aquel parmetro con cuyo valor trabaja la funcin o el bloque de
funcin durante la ejecucin del programa de usuario.
En la siguiente figura se muestra la llamada del SFC 31 RY_TINT (consultar
alarma horaria) en la Lista de Instrucciones AWL.
Representacin AWL
CALL
SFC 31
OB_NR := 10
RET_VAL:= MW 22
STATUS := MW 100
Parmetro actual
Parmetro formal
17-2
Descripcin
Parmetros formales y
parmetros
actuales
Al llamar una funcin (FC) o un bloque de funcin (FB) tiene que asignar los
parmetros actuales correspondientes a los parmetros formales definidos al declarar
el bloque.
Especificar
parmetros
actuales
El parmetro actual que se indica al llamar un bloque de funcin tiene que ser del
mismo tipo de datos que el parmetro formal.
Al llamar las funciones, todos los parmetros formales tienen que tener asignados
parmetros actuales. Cuando efecte llamadas a bloques de funcin debe indicar
solamente aquellos parmetros actuales que tengan que modificarse con respecto a
la ltima llamada (despus de editar el FB los parmetros actuales quedan guardados en el DB de instancia).
Al llamar un bloque de funcin, la operacin CALL copia uno de los siguientes valores en el bloque de datos de instancia del bloque de funcin, dependiendo del tipo
de datos del parmetro actual y de la declaracin del parmetro formal (ON, OFF,
ON-OFF).
17-3
Llamar un FB con
un DB de instancia
y parmetros de
bloque
Ejemplos
AWL
Explicacin
CALL
FB40,DB41
ON1:=
E1.0
ON2:=
MW2
OFF1:= MD20
MD20
El siguiente ejemplo muestra la llamada del bloque de funcin FB50 a travs del
bloque de datos de instancia DB51. En este ejemplo, los parmetros formales pertenecen a los siguientes tipos de datos:
ON10: BOOL
OFF11: STRUCT
V1: BOOL
V2: INT
END_STRUCT
17-4
AWL
CALL
Explicacin
FB50,DB51
ON10:= E1.0
OFF11:= AKTPA11
AWL
Explicacin
OFF11.V1
OFF11.V2
Llamar
multiinstancias
AWL
Explicacin
FUNCTION_BLOCK FB 11
VAR
loc_inst : FB 10;
END_VAR
BEGIN
NETWORK
CALL #loc_inst (
in_bool := M
0.0);
Archivo fuente
Declaracin de la multiinstancia del tipo de datos FB 10
17-5
Llamar FC
con parmetros
de bloque
Ejemplo
El siguiente programa de ejemplo ilustra la llamada de la funcin FC80 con parmetros de bloque. En el ejemplo, los parmetros formales tienen los siguientes tipos de
datos:
INK1: BOOL
INK2: INT
OFF: WORD
AWL
Explicacin
CALL
FC80
INK1:= M 1.0
INK2:= EW2
OFF:=
AW4
Llamar una FC
que da un valor
de retorno
17-6
Puede crear una funcin que d un valor de retorno (RET_VAL). Si se desea crear
por ejemplo una operacin aritmtica con nmeros en coma flotante, entonces
puede utilizarse este valor de retorno como salida para el resultado de la funcin. Al
llamar despus esta funcin en el programa, se ha de proveer la salida RET_VAL
con una direccin de palabra doble de forma que sta pueda tomar el resultado de
32 bits de la operacin aritmtica.
Descripcin
S llamada condicionada (CC): Esta operacin llama a la funcin o bloque de funcin indicada como operando. La llamada slo se efecta si el resultado lgico
es 1.
Formato del
direccionamiento
Parte FB o
FC del
operando
FC
FB
0 a 65 535
Tabla 17-2
0 a 65 534
Operando
Nombre del
parmetro formal o
un nombre simblico
Los parmetros que sean del tipo BLOCK_FC o BLOCK_FB no se pueden utilizar
en funciones ni en bloques de funcin con la operacin CC.
Ejemplo
17-7
Asignacin de
parmetros
actuales
Tabla 17-3
BOOL (bit)
Entrada de un dato
global
M 100.0
Entrada simblica1
#OK_MERKER
E 0.0
A 0.0
DBX 3.0
BYTE (byte)
B#16#1F
MB 100
#TYP_BYTE
EB 0
AB 0
CHAR
DBB 1
#TYP_CHAR
WORD (palabra)
W#16#1F12
MW 100
#TYP_WORT
2#0001_1111_0001_0010
EW 0
C#32
AW 0
B#(5,25)
DBW 2
INT (entero)
27
#TYP_INT
25
S5TIME (temporizador S5)
S5T#10MS
#TYP_S5_TIME
D#19951224
#TYP_DATE
DW#16#FFFF_0F02
MD 100
2#0001_1111_0001_0010_0001_1
111_0001_0010
ED 0
B#(5,4,59,8)
DBD 4
L#170
#TYP_DWORT
AD 0
#TYP_DINT
L#-350
REAL
(nmero en coma flotante)
1.23
#TYP_REAL
T#20MS
#TYP_TIME
TIME_OF_DAY
(reloj CEI)
TOD#23:59:12.3
#TYP_TOD
17-8
Tabelle 17-3
DATE_AND_TIME
(fecha y hora CEI)
imposible
P#M0.0 BYTE20
Entrada de un dato
global
Entrada simblica1
#TYP_8_BYTE
20 bytes 2 ...
... desde marca 0.0 3
E 0.0
#TYP_ANYTYP
MB 5
(declaracin de arrays y
estructuras)
AW 2
(se puede usar cualquier
operando global de
STEP 7)
2
3
Requisito: Tratndose de datos globales debe determinar el nombre (= smbolo) en la tabla de smbolos globales para poder
usar ese smbolo como parmetro actual. Si se trata de datos locales debe determinar el nombre (= smbolo) en la tabla de
declaracin del bloque para poder usar ese smbolo como parmetro actual.
En los datos locales tiene que poner el signo # delante del smbolo.
Las indicaciones de las longitudes pueden ser tanto tipos de datos simples, p. ej. BOOL, BYTE, WORD o DWORD, como
compuestos, p. ej. DATE_AND_TIME.
Indique siempre una direccin de bit; en las indicaciones de la longitud indique siempre 0 (excepcin: BOOL).
Llamada
condicionada en
AWL
Para poder efectuar una llamada condicionada de una SFC en el lenguaje de programacin AWL puede usar, por ejemplo, la siguiente secuencia de instrucciones:
AWL
m001:
Explicacin
U
#OK_MERKER
SPBNB
m001
CALL SFC 28
OB_NR
:= 10
SDT
:= #OUT_UHRZEIT_DATUM
PERIOD := W#16#1201
RET_VAL := MW 200
U
BIE
=
M 202.3
Condicin de la llamada
Si no se cumple la condicin (RLO=0) se salta
la llamada de la SFC y se recupera el RLO en
el bit de estado RB.
17-9
Descripcin
El Master Control Relay (MCR) se utiliza en esquemas de rels para activar y desactivar el flujo de corriente. Un circuito desactivado corresponde a una secuencia de
instrucciones que escribe un cero en lugar del valor calculado, o bien a una secuencia de instrucciones que no modifica el valor de memoria existente. Las operaciones
activadas por las siguientes operaciones lgicas o de transferencia dependen del
MCR:
S =
S S
S R
S T (con bytes, palabras o palabras dobles)
La operacin T con bytes, palabras o palabras dobles y la operacin = escriben un 0
en la memoria si el MCR es 0. Las operaciones S y R no modifican el valor existente.
Tabla 17-4
Estado de
seal del
MCR
0
17-10
SoR
Escribe 0
No escribe
Escribe 0
(Imita un componente
que produce el valor 0
cuando se produce un
fallo de alimentacin)
Ejecucin normal
Ejecucin normal
Ejecucin normal
Resumen breve
Descripcin:
MCRA, MCRD
S MCRA:
S MCRD:
S MCR(:
S )MCR:
Peligro
No utilizar nunca la operacin MCR como paro de emergencia o como dispositivo
de seguridad del personal.
17-11
OB1
MCRA
FBx
FCy
MCRA
MCRD
CALL FBx
MCRA
MCRA
CALL FCy
MCRD
BEA
BEA
Figura 17-1
17-12
Descripcin:
MCR(, )MCR
Ejemplo
MCRA
U E 2.0
MCR(
O E 1.0
O E 1.1
= A 4.0
U E 1.2
U E 1.3
= A 4.1
)MCR
MCRD
Esquema de rels
Conductor
Contacto
MCR
E 1.0
E 2.0
E 1.2
E 1.3
A 4.0
A 4.1
Bobina MCR
Master Control Relay implementado con las operaciones MCR( y ) MCR
Figura 17-2
E 1.1
17-13
AWL
MCRA
U E 1.1
MCR (
U E 1.2
MCR (
U E 1.3
MCR (
Resultado
consulta
RLO
1
1
1
1
S M 1.0
)MCR
S M 1.1
)MCR
1
0
0
0
0
0
Este bit (M 1.0) permanece inalterado, independientemente de las cadenas lgicas anteriores, ya que el bit
MCR = 0
1
1
1
1
**
1
1
1
1
)MCR
MCRD
* Se genera el bit MCR del nivel ms bajo de anidamiento. Para formar este bit
MCR, la operacin MCR( combina el RLO actual con el bit MCR del nivel de
anidamiento actual, de acuerdo con la tabla de verdad Y.
** Cuando la operacin )MCR finaliza un nivel de anidamiento, la operacin
toma el bit MCR del siguiente nivel ms alto.
Figura 17-3
17-14
S Si est desconectado el MCR, en las partes del programa que se encuentran entre
MCR( y )MCR todas las asignaciones (T=) escribirn el valor 0.
Peligro
STOP del PLC o comportamiento no definido del tiempo de ejecucin.
Para calcular direcciones el compilador realiza accesos de escritura a los datos locales detrs de las variables temporales definidas en VAR_TEMP. Por este motivo las
siguientes secuencias de instrucciones conducen al PLC a STOP o producen un
comportamiento no definido del tiempo de ejecucin:
Accesos a parmetros formales
S Accesos a componentes de parmetros FC complejos del tipo STRUCT, UDT,
ARRAY, STRING
S Accesos a componentes de parmetros FB complejos del tipo STRUCT, UDT,
ARRAY, STRING del rea IN_OUT de un bloque de la versin 2.
S Accesos a parmetros de un FB de la versin de bloque 2, si su direccin es superior a 8180.0.
S Un acceso desde el FB de la versin de bloque 2 a un parmetro del tipo
BLOCK_DB abre el DB 0. Los siguientes accesos a datos conducen la CPU a
STOP. Con TIMER, COUNTER, BLOCK_FC, BLOCK_FB se utiliza siempre
T 0, Z 0. FC 0 FB 0.
Entrega de parmetros
17-15
Descripcin
La operacin Fin de bloque es una instruccin que finaliza la ejecucin de un bloque. Para finalizar un bloque se utiliza una de las siguientes operaciones:
S Fin de bloque condicionado (BEB): Esta operacin finaliza la ejecucin del bloque actual y devuelve el control al bloque que llam al que acaba de ser ejecutado. Cuando el programa encuentra una operacin BEB solamente finaliza el
bloque actual si el resultado lgico es 1 (RLO = 1). Si el RLO es 0, el programa no ejecuta la operacin Fin de bloque. El RLO se pone a 1 y la ejecucin del programa contina dentro del bloque actual.
17-16
Anexos
Ejemplos de programacin
Bibliografa
Q-2
Apartado
Tema
A.1
A.2
A
Pgina
A-2
A-12
A-1
A.1
Tabla A-1
Nemotcnica
SIMATIC
Indice alfabtico de las abreviaturas nemotcnicas alemanas y sus equivalentes internacionales (en ingls)
Nemotcnica
internacional
(ingls)
Descripcin
Pg. n
9-6
Asignar
5-24
Cerrar parntesis
5-14
+AR1
+AR1
4-7
+AR2
+AR2
4-7
+D
+D
15-2
-D
-D
15-2
*D
*D
15-2
/D
/D
15-2
==D
==D
Comparar enteros dobles (32 bits) >, <, >=, <=, ==, <>
11-3
+I
+I
15-2
-I
-I
15-2
*I
*I
15-2
/I
/I
15-2
==I
==I
Comparar enteros (16 bits) >, <, >=, <=, ==, <>
11-3
+R
+R
10-2
-R
-R
Restar ACU 1 de ACU 2 como nmero en coma flotante (32 bits, IEEE-FP)
10-2
*R
*R
Multiplicar ACU 1 por ACU 2 como nmero en coma flotante (32 bits, IEEE-FP)
10-2
/R
/R
Dividir ACU 2 entre ACU 1 como nmero en coma flotante (32 bits, IEEEFP)
10-2
==R
==R
Comparar nmeros en coma flotante >, <, >=, <=, ==, <>
11-5
ABS
ABS
10-6
ACOS
ACOS
10-7
ASIN
ASIN
10-7
ATAN
ATAN
10-7
AUF
OPN
15-2
BEA
BEU
17-16
BEB
BEC
17-16
BLD
BLD
4-2
BTD
BTD
12-4
BTI
BTI
12-2
A-2
Tabla A-1
Nemotcnica
SIMATIC
Indice alfabtico de las abreviaturas nemotcnicas alemanas y sus equivalentes internacionales (en ingls)
Nemotcnica
internacional
(ingls)
Descripcin
Pg. n
CALL
CALL
Llamada de bloque
17-3
CC
CC
llamada condicionada
17-7
CLR
CLR
Desactivar RLO (= 0)
5-26
COS
COS
10-7
DEC
DEC
Decrementar ACU 1
4-6
DTB
DTB
12-6
DTR
DTR
Convertir de entero doble (32 bits) a nmero en coma flotante (32 bits, IEEE-FP)
12-7
ENT
ENT
4-3
EXP
EXP
Valor exponencial de un nmero en coma flotante (32 bits, IEEEFP) con base
10-12
FN
FN
Flanco negativo
5-17
FP
FP
Flanco positivo
5-16
FR
FR
6-5
FR
FR
13-3
INC
INC
Incrementar ACU 1
4-6
INVD
INVD
12-14
INVI
INVI
12-14
ITB
ITB
12-5
ITD
ITD
12-6
Cargar
8-3
15-2
8-12
15-2
8-12
8-6
Cargar valor actual del temporizador en ACU 1 como entero (pudiendo tener el
temporizador actual un nmero comprendido entre 0 y 255, por ej.: L T 32)
8-7
Cargar valor actual del contador en ACU 1 como entero (pudiendo tener el
contador actual un nmero comprendido entre 0 y 255, por ej.: L Z 15)
8-8
LAR1
LAR1
8-11
LAR1
LAR1
8-11
LAR1
LAR1
8-11
LAR1
LAR1
Cargar entero doble (32 bits, LAR1 P#area byte.bit) en registro de direcciones
1
8-11
LAR2
LAR2
8-11
LAR2
LAR2
8-11
LAR2
LAR2
Cargar entero doble (32 bits, LAR2 P#area byte.bit) en registro de direcciones
2
8-11
A-3
Tabla A-1
Nemotcnica
SIMATIC
Indice alfabtico de las abreviaturas nemotcnicas alemanas y sus equivalentes internacionales (en ingls)
Nemotcnica
internacional
(ingls)
Descripcin
Pg. n
LC
LC
Cargar valor actual del contador en ACU 1 como nmero BCD (pudiendo
tener el contador actual un nmero comprendido entre 0 y 255, p. ej.: LC Z 15)
8-9
LC
LC
8-10
LEAVE
LEAVE
4-3
LN
LN
10-11
LOOP
LOOP
Bucle
16-8
MCR(
MCR(
17-11
)MCR
MCR)
17-11
MCRA
MCRA
17-11
MCRD
MCRD
17-11
MOD
MOD
15-5
NEGD
NEGD
12-14
NEGI
NEGI
12-14
NEGR
NEGR
12-14
NOP 0
NOP 0
Operacin nula 0
4-2
NOP 1
NOP 1
Operacin nula 1
4-2
NOT
NOT
Negar RLO
5-26
5-10
O(
O(
5-14
OD
OD
13-6
ON
ON
O-No
5-9
ON(
ON(
5-14
OW
OW
13-3
POP
POP
4-2
PUSH
PUSH
4-2
Desactivar
5-22
Desactivar contador (pudiendo tener el contador actual un nmero comprendido entre 0 y 255, p. ej. R Z 15)
6-5
13-4
RLD
RLD
20-6
RLDA
RLDA
14-6
RND
RND
Redondear a entero
12-9
RND+
RND+
12-10
RND-
RND-
12-11
RRD
RRD
20-8
RRDA
RRDA
20-6
A-4
Tabla A-1
Nemotcnica
SIMATIC
Indice alfabtico de las abreviaturas nemotcnicas alemanas y sus equivalentes internacionales (en ingls)
Nemotcnica
internacional
(ingls)
Descripcin
Pg. n
Activar
5-21
13-3
SA
SF
6-15
SAVE
SAVE
5-26
SE
SD
6-11
SET
SET
Activar RLO (= 1)
5-26
SI
SP
6-7
SIN
SIN
10-7
SLD
SLD
14-2
SLW
SLW
14-2
SPA
JU
salto incondicionado
16-3
SPB
JC
Salto si RLO = 1
16-4
SPBB
JCB
16-4
SPBI
JBI
Salto si RB = 1
16-4
SPBIN
JNBI
Salto si RB = 0
16-4
SPBN
JCN
Salto si RLO = 0
16-4
SPBNB
JNB
16-4
SPL
JL
Salto a meta
16-3
SPM
JM
16-6
SPMZ
JMZ
16-6
SPN
JN
Salto si resultado no es 0
16-6
SPO
JO
Salto si OV = 1
16-5
SPP
JP
16-6
SPPZ
JPZ
16-6
SPS
JOS
Salto si OS = 1
16-5
SPU
JUO
16-6
SPZ
JZ
Salto si resultado = 0
16-6
SQR
SQR
10-9
SQRT
SQRT
10-9
SRD
SRD
14-3
SRW
SRW
14-2
SS
SS
6-13
SSD
SSD
14-4
SSI
SSI
14-4
SV
SE
6-9
Transferir
8-3
8-6
A-5
Tabla A-1
Nemotcnica
SIMATIC
Indice alfabtico de las abreviaturas nemotcnicas alemanas y sus equivalentes internacionales (en ingls)
Nemotcnica
internacional
(ingls)
Descripcin
Pg. n
TAD
CAD
12-13
TAK
TAK
4-2
TAN
TAN
10-7
TAR
CAR
8-11
TAR1
TAR1
8-11
TAR1
TAR1
8-11
TAR1
TAR1
8-11
TAR2
TAR2
8-11
TAR2
TAR2
8-11
TAW
CAW
12-13
TDB
CDB
15-2
TRUNC
TRUNC
Truncar
12-12
5-10
U(
A(
5-14
UC
UC
llamada incondicionada
17-7
UD
AD
13-6
UN
AN
Y-No
5-9
UN(
AN(
5-14
UW
AW
13-3
O-exclusiva
5-10
X(
X(
5-14
XN
XN
O-exclusiva-NO
5-9
XN(
XN(
5-14
XOD
XOD
13-6
XOW
XOW
13-3
ZR
CD
Decrementar contador
13-5
ZV
CU
Incrementar contador
13-5
A-6
Indice alfabtico de las abreviaturas nemotcnicas internacionales (ingls) y sus equivalentes alemanes
Nemotcnica
internacional
Nemotcnica
SIMATIC
Descripcin
Pg.
n
9-6
Asignar
5-24
Cerrar parntesis
5-14
+AR1
+AR1
4-7
+AR2
+AR2
4-7
+D
+D
15-2
-D
-D
15-2
*D
*D
15-2
/D
/D
15-2
==D
==D
Comparar enteros dobles (32 bits) >, <, >=, <=, ==, <>
11-3
+I
+I
15-2
-I
-I
15-2
*I
*I
15-2
/I
/I
15-2
==I
==I
Comparar enteros (16 bits) >, <, >=, <=, ==, <>
11-3
+R
+R
10-2
-R
-R
Restar ACU 1 de ACU 2 como nmero en coma flotante (32 bits, IEEE-FP)
10-2
*R
*R
Multiplicar ACU 1 por ACU 2 como nmero en coma flotante (32 bits, IEEEFP)
10-2
/R
/R
Dividir ACU 2 entre ACU 1 como nmero en coma flotante (32 bits, IEEE-FP)
10-2
==R
==R
Comparar nmeros en coma flotante >, <, >=, <=, ==, <>
11-5
5-10
A(
U(
5-14
ABS
ABS
10-6
ACOS
ACOS
10-7
AD
UD
13-6
AN
UN
Y-No
5-9
AN(
UN(
5-14
ASIN
ASIN
10-7
ATAN
ATAN
10-7
AW
UW
13-3
BEC
BEB
17-16
BEU
BEA
17-16
BLD
BLD
4-2
A-7
Tabla A-2
Indice alfabtico de las abreviaturas nemotcnicas internacionales (ingls) y sus equivalentes alemanes
Nemotcnica
internacional
Nemotcnica
SIMATIC
Descripcin
Pg.
n
BTD
BTD
12-4
BTI
BTI
12-2
CAD
TAD
CALL
CALL
Llamada de bloque
17-3
CAR
TAR
8-11
CAW
TAW
CC
CC
17-7
CD
ZR
Decrementar contador
13-5
CDB
TDB
15-2
CLR
CLR
Desactivar RLO (= 0)
5-26
COS
COS
10-7
CU
ZV
Incrementar contador
13-5
DEC
DEC
Decrementar ACU 1
4-6
DTB
DTB
12-6
DTR
DTR
Convertir de entero doble (32 bits) a nmero en coma flotante (32 bits, IEEE-FP)
12-7
ENT
ENT
4-3
EXP
EXP
Valor exponencial de un nmero en coma flotante (32 bits, IEEEFP) con base e
FN
FN
Flanco negativo
5-17
FP
FP
Flanco positivo
5-16
FR
FR
6-5
FR
FR
13-3
INC
INC
Incrementar ACU 1
4-6
INVD
INVD
12-14
INVI
INVI
12-14
ITB
ITB
12-5
ITD
ITD
12-6
JBI
SPBI
Salto si RB = 1
16-4
JC
SPB
Salto si RLO = 1
16-4
JCB
SPBB
16-4
JCN
SPBN
Salto si RLO = 0
16-4
JL
SPL
Salto a meta
16-3
JM
SPM
16-6
JMZ
SPMZ
16-6
JN
SPN
Salto si resultado no es 0
16-6
JNB
SPBNB
16-4
JNBI
SPBIN
Salto si RB = 0
16-4
JO
SPO
Salto si OV = 1
16-5
JOS
SPS
Salto si OS = 1
16-5
A-8
12-13
12-13
10-12
Tabla A-2
Indice alfabtico de las abreviaturas nemotcnicas internacionales (ingls) y sus equivalentes alemanes
Nemotcnica
internacional
Nemotcnica
SIMATIC
Descripcin
Pg.
n
JP
SPP
Salto si es positivo
16-6
JPZ
SPPZ
16-6
JU
SPA
salto incondicionado
16-3
JUO
SPU
Salto si no es vlido
16-6
JZ
SPZ
Salto si resultado = 0
16-6
Cargar
8-3
8-12
8-12
8-12
15-2
8-6
Cargar valor actual del temporizador en ACU 1 como entero (pudiendo tener el
temporizador actual un nmero comprendido entre 0 y 255, por ej.: L T 32)
8-7
Cargar valor actual del contador en ACU 1 como entero (pudiendo tener el contador actual un nmero comprendido entre 0 y 255, por ej.: L Z 15)
8-8
LAR1
LAR1
8-11
LAR1
LAR1
8-11
LAR1
LAR1
8-11
LAR1
LAR1
Cargar entero doble (32 bits, LAR1 P#area byte.bit) en registro de direcciones 1
8-11
LAR2
LAR2
8-11
LAR2
LAR2
8-11
LAR2
LAR2
Cargar entero doble (32 bits, LAR2 P#area byte.bit) en registro de direcciones 2
8-11
LC
LC
Cargar valor actual del contador en ACU 1 como nmero BCD (pudiendo tener
el contador actual un nmero comprendido entre 0 y 255, p. ej.: LC Z 15)
8-9
LC
LC
8-10
4-3
LEAVE
LEAVE
LN
LN
LOOP
LOOP
Bucle
MCR(
MCR(
17-11
MCR)
)MCR
17-11
MCRA
MCRA
17-11
MCRD
MCRD
17-11
MOD
MOD
9-5
NEGD
NEGD
12-14
10-11
16-8
A-9
Tabla A-2
Indice alfabtico de las abreviaturas nemotcnicas internacionales (ingls) y sus equivalentes alemanes
Nemotcnica
internacional
Nemotcnica
SIMATIC
Descripcin
Pg.
n
NEGI
NEGI
12-14
NEGR
NEGR
12-14
NOP 0
NOP 0
Operacin nula 0
4-2
NOP 1
NOP 1
Operacin nula 1
4-2
NOT
NOT
Negar RLO
5-26
5-10
O(
O(
5-14
OD
OD
13-6
ON
ON
O-No
5-9
ON(
ON(
5-14
OPN
AUF
15-2
OW
OW
13-3
POP
POP
4-2
PUSH
PUSH
4-2
Desactivar
5-22
6-5
13-4
RLD
RLD
14-6
RLDA
RLDA
14-8
RND
RND
Redondear a entero
12-9
RND+
RND+
12-10
RND-
RND-
12-11
RRD
RRD
14-8
RRDA
RRDA
14-6
Activar
5-21
13-3
SAVE
SAVE
5-26
SD
SE
6-11
SE
SV
6-9
SET
SET
Activar RLO (= 1)
5-26
SF
SA
6-15
SP
SI
6-7
SIN
SIN
10-7
SLD
SLD
14-2
SLW
SLW
14-2
A-10
Tabla A-2
Indice alfabtico de las abreviaturas nemotcnicas internacionales (ingls) y sus equivalentes alemanes
Nemotcnica
internacional
Nemotcnica
SIMATIC
Descripcin
Pg.
n
SQR
SQR
10-9
SQRT
SQRT
10-9
SRD
SRD
14-3
SRW
SRW
14-2
SS
SS
6-13
SSD
SSD
14-4
SSI
SSI
14-4
Transferir
8-3
8-6
TAK
TAK
4-2
TAN
TAN
10-7
TAR1
TAR1
8-11
TAR1
TAR1
8-11
TAR1
TAR1
8-11
TAR2
TAR2
8-11
TAR2
TAR2
8-11
TRUNC
TRUNC
Truncar
UC
UC
17-7
O-exclusiva
5-10
X(
X(
5-14
XN
XN
O-exclusiva-NO
5-9
XN(
XN(
5-14
XOD
XOD
13-6
XOW
XOW
13-3
12-12
A-11
A.2
Tabla A-3
Nemotcnica
alemana
Pgina
n
AUF
15-2
Activar
5-21
MCRA
17-11
Activar RLO (= 1)
SET
5-26
POP
4-2
LEAVE
4-3
ENT
4-3
PUSH
4-2
Asignar
5-24
Bucle
LOOP
16-8
TAW
12-13
TAD
12-13
Cargar
8-3
LAR1
8-11
LAR1
8-11
LAR2
8-11
LAR1
8-11
LAR2
8-11
Cargar entero doble (32 bits, LAR1 P#area byte.bit) en registro de direcciones 1
LAR1
8-11
Cargar entero doble (32 bits, LAR2 P#area byte.bit) en registro de direcciones 2
LAR2
8-11
8-12
8-12
8-12
8-12,
8-6
LAR1
8-11
Cargar valor actual del contador en ACU 1 como entero (pudiendo tener el contador actual un
nmero comprendido entre 0 y 255, por ej.: L Z 15)
7-6
Cargar valor actual del contador en ACU 1 como nmero BCD (pudiendo tener el contador
actual un nmero comprendido entre 0 y 255, p. ej.: LC Z 15)
LC
8-9
Cargar valor actual del temporizador en ACU 1 como entero (pudiendo tener el temporizador
actual un nmero comprendido entre 0 y 255, por ej.: L T 32)
8-7
LC
8-10
A-12
Tabla A-3
Nemotcnica
alemana
Pgina
n
Cerrar parntesis
5-14
Comparar enteros (16 bits) >, <, >=, <=, ==, <>
==I
11-3
Comparar enteros dobles (32 bits) >, <, >=, <=, ==, <>
==D
11-3
Comparar nmeros en coma flotante >, <, >=, <=, ==, <>
==R
11-5
NEGI
12-14
NEGD
12-14
NEGR
12-14
INVI
12-14
INVD
12-14
BTI
12-2
BTD
12-4
ITB
12-5
ITD
12-6
DTB
12-6
Convertir de entero doble (32 bits) a nmero en coma flotante (32 bits, IEEE-FP)
DTR
12-7
Decrementar ACU 1
DEC
4-6
Decrementar contador
ZR
7-5
Desactivar
5-22
MCRD
17-11
Desactivar contador (pudiendo tener el contador actual un nmero comprendido entre 0 y 255,
p. ej. R Z 15)
6-5
Desactivar RLO (= 0)
CLR
5-26
7-4
FR
6-5
FR
7-3
SRW
14-2
SLW
14-2
SRD
14-3
SLD
14-2
SSI
14-4
SSD
14-4
/D
9-2
/I
9-2
Dividir ACU 2 entre ACU 1 como nmero en coma flotante (32 bits, IEEE-FP)
/R
10-2
BEB
17-16
BEA
17-16
Flanco negativo
FN
5-17
Flanco positivo
FP
5-16
A-13
Tabla A-3
Nemotcnica
alemana
Pgina
n
Incrementar ACU 1
INC
4-6
Incrementar contador
ZV
7-5
BLD
4-2
TAK
4-2
TDB
15-2
TAR
8-11
Llamada
CALL
17-3
Llamada condicionada
CC
17-7
Llamada incondicionada
UC
17-7
*I
9-2
*D
9-2
Multiplicar ACU 1 por ACU 2 como nmero en coma flotante (32 bits, IEEE-FP)
*R
10-2
Negar RLO
NOT
5-26
5-10
O(
5-14
OW
13-3
OD
13-6
O-exclusiva
5-10
X(
5-14
XOW
13-3
XOD
13-6
O-No
ON
5-9
ON(
5-14
O-exclusiva-NO
XN
5-9
XN(
5-14
Operacin nula 0
NOP 0
4-2
Operacin nula 1
NOP 1
4-2
Poner contador al valor de arranque (pudiendo tener el contador actual un nmero comprendido
entre 0 y 255, p. ej. : S Z 15)
7-3
Redondear a entero
RND
12-9
RND-
12-11
RND+
12-10
)MCR
17-11
-I
9-2
-D
9-2
Restar ACU 1 de ACU 2 como nmero en coma flotante (32 bits, IEEE-FP)
-R
10-2
MOD
9-5
RRDA
14-6
A-14
Tabla A-3
Nemotcnica
alemana
Pgina
n
RLDA
14-8
RRD
14-8
RLD
14-6
Salto a meta
SPL
16-3
salto incondicionado
SPA
16-3
SPM
16-6
SPP
16-6
Salto si resultado no es 0
SPN
16-6
SPU
16-6
Salto si OS = 1
SPS
16-5
Salto si OV = 1
SPO
16-5
Salto si RB = 0
SPBIN
16-4
Salto si RB = 1
SPBI
16-4
SPMZ
16-6
Salto si resultado = 0
SPZ
16-6
SPPZ
16-6
Salto si RLO = 0
SPBN
16-4
Salto si RLO = 1
SPB
16-4
SPBB
16-4
SPBNB
16-4
MCR(
17-11
SAVE
5-26
+AR1
4-7
+AR2
4-7
+I
9-2
+D
9-2
+R
10-2
9-6
SI
6-7
SV
6-9
SE
6-11
SS
6-13
SA
6-15
Transferir
8-3
8-6
TAR1
8-11
TAR1
8-11
TAR1
8-11
A-15
Tabla A-3
Nemotcnica
alemana
Pgina
n
TAR2
8-11
TAR2
8-11
Truncar
TRUNC
12-12
ABS
10-6
5-10
U(
5-14
UW
13-3
UD
13-6
Y-No
UN
5-9
UN(
5-14
ACOS
10-7
ASIN
10-7
ATAN
10-7
COS
10-7
EXP
10-12
LN
10-11
SIN
10-7
SQR
10-9
SQRT
10-9
TAN
10-7
A-16
Ejemplos de programacin
Apartado
Tema
Pgina
B.1
Resumen breve
B-2
B.2
B-3
B.3
Operaciones de temporizacin
B-7
B.4
B-10
B.5
B-12
B.6
B-14
B-1
Ejemplos de programacin
B.1
Resumen breve
Aplicaciones
prcticas
Cada una de las operaciones AWL descritas en este manual activa una determinada
funcin. Combinando estas operaciones en un programa se puede llevar a cabo una
gran variedad de tareas de automatizacin. En este captulo encontrar algunos
ejemplos prcticos de aplicacin de las operaciones AWL:
Operaciones
utilizadas
S U (Y) e UN (Y NO)
S = (Asignar)
S BE (Fin de bloque) y BEB (Fin de bloque condicionado)
S 16 bits, <=, >= (Comparar enteros)
S ZR (Decrementar contador) y ZV (Incrementar contador)
S FP (Flanco positivo)
S SV (Arrancar temporizador como impulso prolongado)
S INC (Incrementar ACU 1)
S Operaciones aritmticas con enteros (16 bits)
+I: Sumar ACU 1 y ACU 2 como entero
/I: Dividir ACU 2 por ACU 1 como entero
*I: Multiplicar ACU 1 y 2 como entero
S L (Cargar) y T (Transferir)
S NOT (Negar RLO)
S O (O) y ON (O No)
S S (Activar) y R (Desactivar)
S Y con palabra, O con palabra (Lgica de palabras)
B-2
Ejemplos de programacin
B.2
Controlar una
cinta
transportadora
La figura B-1 muestra una cinta transportadora que puede activarse elctricamente.
Al principio de la cinta se encuentran dos pulsadores: S1 para START y S2 para
STOP. Al final de la cinta se encuentran dos pulsadores ms: S3 para START y S4
para STOP. La cinta puede ponerse en marcha y detenerse desde ambos extremos.
Adems, el sensor S5 detiene la cinta cuando una pieza llega al final de la misma.
Programacin
simblica
Componente
Designacin
absoluta
Smbolo
Tabla de smbolos
Pulsador start
E 1.1
S1
E 1.1
S1
Pulsador stop
E 1.2
S2
E 1.2
S2
Pulsador start
E 1.3
S3
E 1.3
S3
Pulsador stop
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
Sensor S5
MOTOR_ON
Figura B-1
S1
S2
` Start
` Stop
S3
S4
` Start
` Stop
Sistemas de transporte
B-3
Ejemplos de programacin
Programacin absoluta
E 1.1
E 1.2
E 1.3
E 1.4
Sensor
E 1.5
Motor
A 4.0
Tabla B-3
AWL
O
O
S
O
O
ON
R
B-4
Designacin absoluta
S1
S3
MOTOR_ON
S2
S4
S5
MOTOR_ON
Programa absoluto
O
O
S
O
O
ON
R
E 1.1
E 1.3
A 4.0
E 1.2
E 1.4
E 1.5
A 4.0
Explicacin
E
E
A
E
E
E
A
1.1
1.3
4.0
1.2
1.4
1.5
4.0
Ejemplos de programacin
Detectar el sentido
de una cinta
transportadora
La figura B-2 muestra una cinta transportadora equipada con dos barreras fotoelctricas (BF 1 y BF 2). Las barreras fotoelctricas debern detectar en qu sentido se
mueve el paquete sobre la cinta. Cada una de las dos barreras fotoelctricas funciona igual que un contacto normalmente cerrado (v. apt. 5.1).
Programacin
simblica
Componente
A 4.0
Figura B-2
Designacin
absoluta
Smbolo
Tabla de smbolos
Barrera fotoelctrica 1
E 0.0
BF1
E 0.0
BF1
Barrera fotoelctrica 2
E 0.1
BF2
E 0.1
BF2
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
M 0.0
PBM1
M 0.0
PBM1
M 0.1
PBM2
M 0.1
PBM2
LS2
LS1
A 4.1
B-5
Ejemplos de programacin
Programacin absoluta
Barrera fotoelctrica 1
E 0.0
Barrera fotoelctrica 2
E 0.1
A 4.0
A 4.1
M 0.0
M 0.1
Tabla B-6
AWL
Designacin absoluta
BF 1
PBM1
BF2
IZQ
BF2
PBM2
BF1
DER
BF1
BF2
DER
IZQ
Programacin absoluta
U
FP
UN
S
U
FP
UN
S
UN
UN
R
R
E 0.0
M 0.0
E 0.1
A 4.1
E 0.1
M 0.1
E 0.0
A 4.0
E 0.0
E 0.1
A 4.0
A 4.1
Explicacin
U
FP
UN
S
E
M
E
A
0.0
0.0
0.1
4.1
U
FP
UN
S
E
M
E
A
0.1
0.1
0.0
4.0
UN
UN
R
R
E
E
A
A
0.0
0.1
4.0
4.1
B-6
Ejemplos de programacin
B.3
Operaciones de temporizacin
Generador de
impulsos de reloj
Para producir una seal que se repita peridicamente se utiliza un generador de impulsos de reloj o un rel de intermitencias. El empleo de generadores de impulsos de
reloj es habitual en los sistemas de sealizacin que controlan la intermitencia de las
lmparas de indicacin.
En caso de utilizar la S7-300, es posible implementar la funcin de generador de
impulsos de reloj utilizando un procesamiento controlado por tiempo en bloques de
organizacin especiales. El siguiente programa AWL de ejemplo muestra el empleo
de funciones de temporizacin para generar un impulso de reloj.
El ejemplo siguiente muestra cmo implementar un generador de impulsos utilizando un temporizador (factor de trabajo 1:1). La frecuencia se divide en los valores
listados en la tabla B-7.
AWL
UN
L
SV
Explicacin
T1
S5T#250ms
T1
NOT
BEB
L
MB100
INC 1
T
MB100
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
Figura B-3
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 B4 muestra la estructura del bit RLO negado (invertido).
1
0
250 ms
Figura B-4
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 ...
Lista de instrucciones (AWL) para S7-300 y S7-400
C79000-G7078-C565-01
B-7
Ejemplos de programacin
Obtener una
frecuencia
determinada
La tabla B-7 muestra las frecuencias que pueden obtenerse de cada uno de los bits
del byte de marcas MB100. El programa AWL que sigue a la tabla muestra cmo
emplear las frecuencias generadas.
Tabla B-7
Bits del
MB100
AWL
U
U
=
B-8
Duracin
M100.0
2,0
M100.1
1,0
M100.2
0,5
2 s (1 s on/1 s off
M100.3
0,25
4 s (2 s on/2 s off)
M100.4
0,125
8 s (4 s on/4 s off)
M100.5
0,0625
16 s (8 s on/8 s off)
M100.6
0,03125
M100.7
0,015625
Explicacin
M10.0
M100.1
A 4.0
Ejemplos de programacin
La tabla B-8 muestra una lista de los estados de seal de los bits del byte de marcas
MB100. La figura B-5 muestra el RLO del bit de marcas M100.1
Tabla B-8
T empo
Tiempo
en ms
250
250
250
250
250
250
250
250
250
250
10
250
11
250
12
250
Ciclo
T
M 100.1
1
0
Tiempo
0
Frecuencia + 1 + 1 + 1Hz
1s
T
Figura B-5
B-9
Ejemplos de programacin
B.4
Area de
almacenamiento
con contador y
comparador
Panel de indicadores
Area de
almacenamiento
vaca
(A 4.0)
Area de
almacenamiento
no vaca
(A 4.1)
E 0.0
Entrada
paquetes
Area de
almacenamiento
al 50%
(A 4.2)
Almacenamiento
temporal para
100 paquetes
Cinta transportadora 1
Barrera fotoelctrica 1
Figura B-6
B-10
Area de
almacenamiento
al 90%
(A 4.3)
E 0.1
Area de
almacenamiento
llena
(A 4.4)
Salida
paquetes
Cinta transportadora 2
Barrera fotoelctrica 2
Ejemplos de programacin
AWL
Explicacin
U
E 0.0
ZV Z1
U
ZR
E 0.1
Z1
UN
=
U
=
L
Z1
A 4.0
Z1
A 4.1
+50
L
<=I
=
L
>=I
=
L
L
>=I
=
Z1
A 4.2
+90
A 4.3
Z1
100
A 4.4
B-11
Ejemplos de programacin
B.5
El siguiente programa de ejemplo (slo para S7-300) muestra cmo utilizando tres
operaciones aritmticas de enteros y las operaciones Cargar y Transferir se obtiene
el mismo resultado que en la ecuacin siguiente:
MD4 +
STL
L
L
EW0
DB5.DBW3
+15
MW2
/I
B-12
15
Explicacin
+I
(EW0 ) DB5.DBW3)
MW2
MD4
Ejemplos de programacin
ACU 1
ACU2
EW0
(EW0)
(contenido antiguo)
DBW3
(DBW3)
+
(EW0) + (DBW3)
(EW0)
15
+I
+15
[(EW0) + (DBW3)] 15
MW2
/I
(EW0)
MD4
[(EW0) + (DBW3)] 15
(EW0 ) DBW3)
MW2
15
(EW0 ) DBW3)
15
(EW0 ) DBW3)
MW2
15
(EW0 ) DBW3)
15
MD4 +
Figura B-7
(EW0) + (DBW3)
MW2
/
(EW0) + (DBW3)
(EW0 ) DBW5)
MW2
15
B-13
Ejemplos de programacin
B.6
Componente
Pulsador de arranque
E 0.7
E 1.0 a E 1.3
E 1.4 a E 1.7
E 0.0 a E 0.3
Arranque de la calefaccin
A 4.0
Caldera
4
Calefaccin
A 4.0
7....
...0
XXXX
0001
EB0
7...
...0
1001
0001
Bits
EW0
EB1
Figura B-8
AWL
Explicacin
U
T1
=
A 4.0
BEB
L
UW
EW0
16#0FFF
OW
16#3000
U
SV
BE
E 0.7
T1
B-14
Definicin
Una palabra clave es una identificacin reservada que no puede ser utilizada como
identificacin general.
Para que una palabra clave pueda utilizarse como smbolo global tiene que ser identificada como punto de control de sistema (SKP).
Para que una palabra clave pueda utilizarse como smbolo local de bloque tiene que
identificarse con #.
Sinopsis
La tabla C-1 muestra las palabras clave reservadas que hay en STEP 7.
Tabla C-1
Palabras clave
Palabras clave
AB
BEGIN
AD
BIE
ANY
BLOCK_DB
AO
BLOCK_FB
AR1
BLOCK_FC
AR2
BLOCK_SDB
ARRAY
BOOL
AUTHOR
BYTE
AW
DATA_BLOCK
CALL
DATE
CHAR
DATE_AND_TIME
COUNTER
DB
DBB
DBD
DBLG
DBNO
DBW
DBX
DI
C-1
Tabla C-1
Palabras clave
Palabras clave
DIB
DID
DILG
DINO
DINT
DIW
DIX
DT
DWORD
FALSE
EB
FAMILY
ED
FB
END_Data_Block
FC
END_Function
FUNCTION
END_Function_Block
FUNCTION_BLOCK
END_Organization_Block
END_Struct
END_System_Function
IB
END_System_Function_Block
ID
END_Type
INT
END_VAR
IW
EW
KA
KNOW_HOW_PROTECT
LB
KP
LD
LW
C-2
NAME
MB
NETWORK
MD
NI
MW
NO
OB
PA
OF
PAB
ORGANIZATION_BLOCK
PAD
OS
PAW
OV
PE
Tabla C-1
Palabras clave
Palabras clave
PEB
PED
PEW
PI
PIB
PID
PIW
PQ
PQB
PQD
PQW
POINTER
READ_ONLY
QB
REAL
QD
RET_VAL
QW
S5T
S5TIME
TIME
SDB
TIME_OF_DAY
SFB
TIMER
SFC
TITLE
STANDARD
TOD
STRING
TRUE
STRUCT
TYPE
STW
SYSTEM_FUNCTION
SYSTEM_FUNCTION_BLOCK
UDT
VAR
UNLINKED
VAR_IN_OUT
UO
VAR_INPUT
VAR_OUTPUT
VAR_TEMP
VERSION
VOID
WORD
C-3
C-4
Bibliografa
/30/
/70/
/71/
/72/
D-1
Bibliografa
D-2
Glosario
A
A1 y A0
Los acumuladores (ACU) son registros de la CPU que sirven de memoria intermedia
al realizar operaciones de carga, transferencia, comparacin, clculo y conversin.
Administrador
SIMATIC
Area de memoria
En SIMATIC S7, una unidad central de procesamiento tiene tres reas de memoria:
S el rea de carga,
S el rea de trabajo y
S el rea de sistema.
Array
Un array es un tipo de datos compuestos que est constituido por elementos de datos
del mismo tipo. A su vez, estos elementos pueden ser simples o compuestos.
Glosario-1
Glosario
B
Bit de estado
Bit OR
El bit OR (O) se necesita para ejecutar una combinacin Y antes de una combinacin O. El bit OR indica a las operaciones O que una combinacin Y antes ejecutada ha suministrado el valor 1, con lo cual se anticipa el resultado de la combinacin O. El bit OR desactiva todas las dems operaciones que estn procesando bits
(v. apt. 5.4).
Bit OS
El bit de estado OS significa rebase por exceso, guardando. Los rebases por exceso se pueden producir, por ejemplo, tras ejecutar una funcin matemtica.
Bit OV
El bit de estado OV significa rebase por exceso. Los rebases por exceso se pueden
producir, por ejemplo, tras ejecutar una funcin matemtica.
Bit RB
El bit RB (resultado binario) es un enlace entre el procesamiento de bits y el procesamiento de palabras. Permite realizar eficazmente la interpretacin binaria del resultado de una operacin con palabras y su integracin en una cadena lgica binaria.
Bloque
de datos (DB)
Los bloques de datos (DB) son reas de datos localizadas dentro del programa de
usuario. Los bloques de datos contienen datos de usuario. Se distingue entre bloques
de datos globales, a los cuales pueden acceder todos los bloques lgicos, y bloques
de datos de instancia, los cuales estn asignados a una determinada llamada de FB.
A diferencia de todos los otros bloques, los bloques de datos no contienen instrucciones.
Bloque de datos
de instancia (DB)
Los bloques de datos de instancia guardan los parmetros formales y los datos estticos de los bloques de funcin. Pueden estar asignados a una llamada de FB o a una
jerarqua de llamada de bloques de funcin.
Bloque de datos
globales (DB)
Glosario-2
Glosario
Bloque
de funcin (FB)
Bloque de funcin
del sistema (SFB)
Un bloque de funcin del sistema (SFB) es un bloque de funcin (con memoria) que
est integrado dentro del sistema operativo de la CPU S7, y que se puede llamar,
como se llama a un bloque de funcin (FB), en el programa de usuario de STEP 7
cuando se necesite.
Bloque lgico
Dentro del mbito de SIMATIC S7 se entiende por bloque lgico aquel tipo de bloque que contiene una parte del programa de usuario STEP 7. A diferencia de los
bloques lgicos, los bloques de datos contienen exclusivamente datos. Hay cinco
tipos de bloques lgicos: bloques de organizacin (OB), bloques de funcin (FB),
funciones (FC), bloques de funcin del sistema (SFB) y funciones de sistema (SFC).
Los bloques se almacenan en la carpeta Bloques bajo Programa S7.
C
Cadena lgica
Parte de un programa de usuario que comienza con un bit /ER con un estado de seal de 0 y que termina cuando una operacin o evento pone el bit /ER a 0. Una
vez que la CPU haya ejecutado la primera operacin de la cadena, el estado de seal
del bit ser siempre 1. Determinadas operaciones, tales como las operaciones de
salida (p. ej.: S, R =) desactivan el bit /ER, es decir, lo ponen a 0. V. Primera
consulta.
Carpeta
CPU
La CPU (central processing unit) es una unidad central de procesamiento del sistema de automatizacin, que consta de unidad de control y de clculo, memoria,
sistema operativo e interfaces para las unidades de programacin.
Glosario-3
Glosario
D
Datos de
referencia
Los datos de referencia sirven para controlar el programa S7. En los datos de referencia estn englobados la lista de referencias cruzadas, el plano de ocupacin, la
estructura del programa de usuario, la lista de operandos no utilizados y la lista de
operandos sin smbolo.
Datos estticos
Los datos estticos son datos locales de un bloque de funcin; estos datos se guardan
en el bloque de datos de instancia, por lo que se conservan hasta que se vuelve a
ejecutar el bloque de funcin.
Declaracin
de variables
Diagrama de
funciones (FUP)
Direccionamiento
absoluto
Direccionamiento
directo
Direccionamiento
indirecto por
memoria
Direccionamiento
indirecto por
registro
Direccionamiento
inmediato
Direccionamiento
simblico
Glosario-4
En el direccionamiento simblico el operando a ejecutar se indica mediante un nombre simblico, tambin denominado smbolo (en lugar de utilizar una direccin,
como ocurre en el direccionamiento absoluto).
Glosario
E
Entrada
incremental
Equipo
Aparato que constituye una unidad homognea y que, como tal, puede ser conectada
a una o a varias subredes, por ejemplo: sistema de automatizacin, unidad de programacin, estacin de operador.
Esquema de
contactos (KOP)
F
Fuente
Una fuente (archivo de texto) es una parte de un programa que se crea con un editor
de texto o grfico, a partir de la cual se genera por compilacin el programa de
usuario S7 ejecutable o el cdigo de mquina para M7.
Las fuentes S7 se depositan en la carpeta Fuentes bajo Programa S7.
Fuente AWL
Funcin (FC)
De acuerdo con la norma IEC 11313, las funciones son bloques lgicos sin memoria. Una funcin ofrece la posibilidad de transferir parmetros dentro del programa
de usuario. Por esta razn, las funciones resultan idneas para programar funciones
complejas que se repitan con frecuencia, como, por ejemplo, los clculos. Importante: como las funciones no disponen de memoria, se deber continuar procesando
los valores calculados inmediatamente despus de haber llamado a la funcin.
Funcin de
sistema (SFC)
Una funcin de sistema (SFC) es una funcin (sin memoria) integrada dentro del
sistema operativo de la CPU S7 que se puede llamar, como se llama a una funcin
(FC), en el programa de usuario de STEP 7 cuando se necesite.
Glosario-5
Glosario
I
Identificacin
del operando
Instancia
Instruccin
J
Jerarqua
de llamadas
Los bloques se tienen que llamar antes de ser procesados. El orden y la profundidad
de anidado de estas llamadas dentro de un bloque de organizacin se llama jerarqua de llamadas.
L
Lista de instrucciones (AWL)
M
Master Control
Relay
Glosario-6
El Master Control Relay (MCR) se utiliza en los esquemas de contactos de rel para
activar y desactivar la circulacin de la corriente (lnea de corriente). Una lnea de
corriente desactivada corresponde a una secuencia de operacin que escribe el valor
cero en vez del valor calculado, o a una secuencia de operacin que no modifica el
valor de memoria existente.
Glosario
N
Nemotcnica
O
Operacin
Parte de una instruccin de STEP 7 que especifica lo que tiene que hacer el procesador.
Operando
Parte de una instruccin STEP 7 que especifica con qu debe hacer algo el procesador. El operando se puede direccionar tanto de modo simblico como absoluto.
P
Palabra clave
Palabra de estado
Parmetros
actuales
Parmetros
formales
Pila de parntesis
La pila de parntesis es una rea de memoria utilizada por las operaciones lgicas
de expresiones con parntesis U(, O(, X(, UN(, ON( y XN(. La profundidad mxima
de los anidamientos de operaciones lgicas con bits es de ocho.
Glosario-7
Glosario
Primera consulta
Programa
de usuario
Programa S7
Proyecto
Puntero
R
Registros de
direcciones
Los registros de direcciones forman parte del registro, incluido dentro del rea de
comunicaciones de la CPU. Sirven de punteros en el direccionamiento indirecto por
registro, y se pueden utilizar cuando se programa en la lista de instrucciones AWL.
Resultado lgico
El resultado lgico (RLO) es el resultado de una cadena lgica que se utiliza para el
procesamiento binario de seales. En funcin del resultado lgico anterior se ejecutarn unas funciones y otras no.
S
Smbolo
T
Tabla de
declaracin
Glosario-8
Glosario
Tabla de smbolos
Tabla de variables
Tipos de datos
El tipo de datos sirve para determinar la forma en que deber utilizarse el valor de
una variable o de una constante en el programa de usuario.
En SIMATIC S7, el usuario dispone de dos tipos de datos conformes a la norma IEC
11313:
Los tipos de datos compuestos los define el usuario mediante la declaracin del tipo
de datos. Estos datos no tienen un nombre distintivo, por lo que no tienen uso
mltiple. Se distingue entre arrays y estructuras. Los tipos de datos STRING y
DATE AND TIME tambin pertenecen a los tipos de datos compuestos.
Tipos de datos de
usuario (UDT)
Tipos de datos
simples
Los tipos de datos simples son tipos de datos predefinidos conforme a la norma
IEC 11313.
Ejemplos:
Glosario-9
Glosario
Glosario-10
Indice alfabtico
Smbolo
)MCR. Ver Restablecer RLO, Fin rea MCR
()MCR)
+. Ver operaciones, sumar enteros (+)
+AR1. Ver operaciones, sumar ACU 1 al registro de
direcciones 1
+AR2. Ver operaciones, sumar ACU 1 al registro de
direcciones 2
+I. Ver Aritmtica de enteros, Sumar ACU 1 y 2
como entero (16 bits)
+R. Ver aritmtica de coma flotante, Sumar dos nmeros de coma flotante (+R)
/ER. Ver primera consulta
=. Ver Asignar (=)
A
Abreviaturas nemotcnicas alemanas de las operaciones, A-12
ndice alfabtico, A-2A-11
Abrir bloques de datos (AUF), 15-2
ABS. Ver valor absoluto, formar valor absoluto de
un nmero en coma flotante (32 bits) (nmero
de coma flotante)
ACOS. Ver Arco coseno
Activar (S), 5-20, 5-215-23
contador, 7-3
Activar rea MCR (MCRA), 17-11
Activar el resultado lgico, 5-26, 5-27
Activar RLO (SET), 5-26, 5-27
ACU 1 a ACU 2 (PUSH), 4-2
ACU 2 a ACU 1 (POP), 4-2
Acumuladores
cargar la palabra de estado en ACU 1, 8-6
con la aritmtica de enteros, 9-29-11
con las operaciones de carga y transferencia, 8-2
con operaciones aritmticas para nmeros en
coma flotante, 10-210-9
con operaciones de comparacin, 11-2
descripcin, 2-10
funcin, 2-10
ACU 1 a ACU 2 (PUSH), 4-2
ACU 2 a ACU 1 (POP), 4-2
Decrementar ACU 1 (DEC), 4-6
Incrementar ACU 1 (INC), 4-6
Intercambiar ACU 1 con ACU 2 (TAK), 4-2
intercambiar el contenido, 4-2
intercambio de informacin utilizando las operaciones Cargar y Transferir, 8-2
invertir el orden de bytes en el ACU 1, 12-13
Invertir secuencia en ACU 1 (16 bits) (TAW),
12-13
Invertir secuencia en ACU 1 (32 bits) (TAD),
12-13
operaciones lgicas con palabras, 13-2, 13-3,
13-6
procesar el contenido, 4-24-8
sumar un entero al ACU 1, 9-6
transferir la palabra de estado, 8-6
valor de temporizacin, 6-4
ANY, 17-9
Arco coseno (ACOS), 10-1310-15
Arco seno (ASIN), 10-1310-14
Arco tangente (ATAN), 10-13
Indice-1
Indice alfabtico
Areas de memoria
bloque de datos, 2-8
contadores, 2-8
datos locales, 2-8
E/S. Ver reas de memoria, E/S: entradas/salidas
externas
E/S: entradas/salidas externas, 2-8
imagen del proceso de las entradas, 2-8
imagen del proceso de las salidas, 2-8
marcas, 2-8
temporizadores, 2-8
Aritmtica de coma flotante
arco coseno (ACOS), 10-1310-15
arco tangente (ATAN), 10-13
margen vlido para resultados, 10-15
panormica de las cuatro operaciones aritmticas de base, 10-2
relacin con acumuladores, 10-2
Sumar dos nmeros en coma flotante (+R), 10-3
Valor absoluto de un nmero en coma flotante
(32 bits, IEEE-FP) (ABS), 10-6
Aritmtica de coma flotante, operaciones avanzadas, arco seno (ASIN), 10-1310-14
Aritmtica de enteros
aplicaciones prcticas, B-12B-13
evaluar el resto de la divisin entero (32 bits),
9-4
panormica de las cuatro operaciones aritmticas de base, 9-2
relacin a los acumuladores, 9-2
Sumar ACU 1 y 2 como entero (16 bits) (+I),
9-3
sumar un entero al ACU 1, 9-6
sumar una constante al registro de direcciones 1
2, 4-7
Asignar (=), 5-20, 5-24, 5-25
Asignar operandos a una operacin CALL, 17-3
ASIN. Ver Arco seno
ATAN. Ver Arco tangente
AUF. Ver Abrir bloques de datos (AUF)
AWL
Ver tambin Lista de instrucciones
significado, 1-1
B
Base de tiempo para S5 TIME, 6-4
leer, 8-9
BCDF. Ver error durante conversin BCD (BDCF)
BEA. Ver Fin de bloque incondicional (BEA)
BEB. Ver Fin de bloque condicional (BEB)
Bit, tipo de datos, 3-4
Bit OS (desbordamiento memorizado), afectado por
la comparacin de dos nmeros en coma flotante, 11-5
Indice-2
Bit OV (desbordamiento)
afectado por la comparacin de dos nmeros en
coma flotante, 11-5
afectado por operaciones lgicas con palabras,
13-2
Bit RB (resultado binario), bit de estado, 2-16
Bits (A1 y A0), afectados por operaciones de comparacin, 11-5
Bloques de datos (DB)
rea de memoria, 2-8
rea de direccionamiento, 2-9
Cargar el nmero de un bloque de datos de instancia en el ACU 1 (L DINO), 8-12
Cargar el nmero de un bloque de datos global
en el ACU 1 (L DBNO), 8-12
Cargar la longitud de un bloque de datos de instancia en el ACU 1 (L DILG), 8-12
Cargar la longitud de un bloque de datos global
en el ACU 1 (L DBLG), 8-12
Cargar longitud de DB de instancia en ACU 1
(L DILG), 15-3
Cargar longitud de DB global en ACU 1 (L
DBLG), 15-3
Cargar nmero de DB de instancia en ACU 1 (L
DINO), 15-3
Cargar nmero de DB global en ACU 1 (L
DBNO), 15-3
longitudes y nmeros, cargar, 15-315-4
registros, intercambiar, 15-2
Bloques de datos de instancia (DB), para acceder a
datos de parmetros formales, 17-3
Bloques de funcin (FB)
dependencia del Master Control Relay (MCR),
17-11
llamar con la operacin CALL, 17-317-6
llamar con la operacin Llamada condicionada
(CC), 17-7
llamar con la operacin Llamada incondicionada (UC), 17-7
operando de una operacin, 2-5
Bloques de funcin del sistema (SFB), operando de
una operacin, definicin, 2-5
Borrar (R), contador, 7-8
BR. Ver Resultado binario
BTD. Ver Convertir de BCD a entero doble (32
bits) BTD
BTI. Ver Convertir de BCD a entero (16 bits) (BTI)
C
Cadena lgica
definicin, 2-12
fin, 5-20
inicio, 2-12
terminar, 5-20
Indice alfabtico
Indice-3
Indice alfabtico
D
Datos locales, rea de memoria, 2-8
rea de direccionamiento, 2-9
DBLG. Ver Cargar la longitud de un bloque de datos global en el ACU 1 (L DBLG)
DBNO. Ver Cargar el nmero de un bloque de datos
global en el ACU 1 (L DBNO)
DEC. Ver Decrementar ACU 1 (DEC)
Decrementar ACU 1 (DEC), 4-6
Decrementar contador, 7-5
Desactivar (R), 5-215-23
contador, 7-4
temporizador, 6-6
Desactivar rea MCR (MCRD), 17-11
Desactivar el resultado lgico, 5-26
Desactivar RLO (CLR), 5-26
Desactivar un contador, 7-4
Desactivar un temporizador, 6-6
Desbloquear, temporizador (FR), 6-6
Desbordamiento (OV)
afectado por la aritmtica de coma flotante,
10-4, 10-15
afectado por la aritmtica de enteros, 9-4
bit de estado, 2-14
Desbordamiento memorizado (OS)
afectado por la aritmtica de coma flotante,
10-4, 10-15
afectado por la aritmtica de enteros, 9-4
bit de estado, 2-14
DILG. Ver Cargar la longitud de un bloque de datos
de instancia en el ACU 1 (L DILG)
DINO. Ver Cargar el nmero de un bloque de datos
de instancia en el ACU 1 (L DINO)
Direccionamiento
absoluto, 17-3
programacin absoluta, B-4
reas, 2-9
directo, 3-2
formato del puntero
indirecto del registro e interrea, 3-13
indirecto del registro e intrarea, 3-9
indirecto por memoria, 3-4
intrarea, interno del registro, 3-8
indirecto del registro e interrea, 3-113-14
indirecto del registro e intrarea, 3-7
indirecto por memoria, 3-3
inmediato, 3-2
simblico, 2-4, 17-3
aplicaciones prcticas, B-3
valores constantes, 2-3
Y con palabra doble (UD), 13-613-8
Direccionamiento directo, 3-2
Direccionamiento indirecto del registro e interrea,
3-113-14
Direccionamiento indirecto del registro e intrarea,
3-73-10
Direccionamiento inmediato, 3-2
Direccionamiento simblico, 2-4, B-3
DTB. Ver Convertir de entero doble (32 bits) a
BCD (DTB)
DTR. Ver Convertir de entero doble (32 bits) a nmero de coma flotante (32 bits, IEEE-FP)
(DTR)
E
E/S: entradas/salidas externas, rea de memoria,
2-8
rea de direccionamiento, 2-9
Ejemplos, aplicaciones prcticas de las operaciones, B-2B-18
ENO. Ver Bit RB (resultado binario)
Entero (16 bits), sumar un entero al ACU 1, 9-6
Entero de16 bits
Comparar dos enteros de 16 bits, 11-311-4
convertir, 12-2
Entero doble de 32 bits, Comparar dos enteros dobles de 32 bits, 11-311-4
Error durante conversin BCD (BCDF), 12-3
Estado (STA), bit de estado, 2-13
EXP. Ver Valor exponencial de la base e
Expresiones entre parntesis, 5-14
Y antes de O, 5-14
F
Fin rea MCR ()MCR), 17-11
Indice-4
Indice alfabtico
Fin de bloque
fin de bloque condicionado (BEB), 17-16
Fin de bloque incondicionado (BEA), 17-16
Fin de una cadena lgica, 5-20
Flanco ascendente (positivo) (FP), 5-16
Flanco descendente (negativo) (FN), 5-165-19
FN. Ver Flanco negativo (FN)
Formacin, v
Formar complementos, 12-14
Formato
valor de contaje, 7-6
valor de temporizacin, 6-4
Formato BCD
cargar un valor de contaje en formato BCD,
8-10
cargar un valor de temporizacin en formato
BCD, 8-9
Formato del puntero
direccionamiento indirecto del registro e interrea, 3-13
direccionamiento indirecto del registro e intrarea, 3-9
direccionamiento indirecto por memoria, 3-4
FP. Ver Flanco positivo (FP)
FR. Ver Desbloquear, temporizador (FR)
Funcin MCR, Notas importantes sobre el uso,
17-15
Funciones (FC)
dependencia del Master Control Relay (MCR),
17-11
llamar con la operacin CALL, 17-317-6
llamar con la operacin Llamada condicionada
(CC), 17-7
llamar con la operacin Llamada incondicionada (UC), 17-7
operando de una operacin, 2-5
Funciones de control del programa
asignar operandos a una llamada (CALL), 17-3
Llamada condicionada (CC), 17-7
Llamada incondicionada (UC), 17-7
Funciones del sistema (SFC)
definicin, 2-5
operando de una operacin, 2-5
H
Habilitar, contador, 7-4, 7-8
L
LC. Ver cargar un valor de contaje en cdigo binario
Lista de instrucciones (AWL), 1-1
Llamada condicionada (CC), 17-7
Llamada de bloque (CALL), 17-317-6
Llamada incondicionada (UC), 17-7
LLamar varias veces un segmento del programa,
16-8
LN. Ver Logaritmo natural
Logaritmo natural, LN, 10-11
LOOP, 16-8
activar un contador de bucles, 16-9
meta de salto como operando, 16-2
utilizar eficientemente la operacin LOOP, 16-9
I
Imagen del proceso de las entradas, rea de memoria, 2-8
rea de direccionamiento, 2-9
M
Marcas, rea de memoria, 2-8
rea de direccionamiento, 2-9
Indice-5
Indice alfabtico
N
Negar RLO (NOT), 5-26
NEGD. Ver Complemento a dos de entero doble (32
bits) (NEGD)
NEGI. Ver Complemento a dos de entero (16 bits)
(NEGI)
NEGR. Ver Complemento a dos de nmero en
coma flotante (32 bits, IEEE-FP) (NEGR)
Indice-6
O
O (O), utilizar contadores como operando de bit,
7-2
O con palabra (OW), 13-313-8
O con palabra doble (OD), 13-6
O-exclusiva (X), utilizar contadores como operando
booleano, 7-2
O-exclusiva con palabra doble (XOD), 13-613-8
O-exclusiva-NO (XN), utilizar contadores como
operando booleano, 7-2
O-NO (ON), utilizar contadores como operando de
bit, 7-2
Operaciones
aplicaciones prcticas, B-2B-17
aritmtica de coma flotante
margen vlido para resultados, 10-4, 10-15
panormica de las cuatro operaciones aritmticas de base, 10-2
relacin a acumuladores, 10-210-12
aritmtica de enteros
aplicaciones prcticas, B-12B-13
evaluar el resultado de la divisin de dos enteros dobles (32 bits) y almacenar el
resto de la divisin, 9-4
margen vlido para resultados, 9-4
panormica acerca de las cuatro operaciones
aritmticas de base, 9-2
relacin a los acumuladores, 9-29-10
sumar ACU 1 al registro de direcciones 1
(+AR1), 4-74-13
sumar ACU 1 al registro de direcciones 2
(+AR2), 4-74-13
sumar enteros (+), 9-2
Cargar (L) y Transferir (T)
byte, palabra o palabra doble como parmetro, 8-5
cargar bits de estado en ACU 1, 8-6
cargar la palabra de estado en ACU 1, 8-6
cargar y transferir entre registros de direcciones, 8-118-12
definicin, 8-2
direccionamiento indirecto, 8-4
direccionamiento indirecto e interrea, 8-5
Indice alfabtico
Indice-7
Indice alfabtico
Indice-8
Operaciones de conversin
Complemento a dos de entero (16 bits) (NEGI),
12-14
Complemento a dos de entero doble (32 bits)
(NEGD), 12-14
complemento a dos de nmero en coma flotante
(32 bits, IEEE-FP) (NEGR), 12-14
complemento a uno de entero de16 bits, 12-14
Complemento a uno de entero doble (32 bits)
(INVD), 12-14
Convertir de BDC a entero de16 bits (BTI),
12-2
Convertir de BDC a entero doble de 32 bits
(BTD), 12-4
Convertir de entero de 16 bits a BCD (ITB),
12-5
Convertir de entero de 32 bits a BCD (DTB),
12-6
Convertir de entero de 32 bits a nmero en
coma flotante (32 bits, IEEE-FP) (DTR),
12-7
Convertir de entero de16 bits a entero doble
(ITD), 12-6
Invertir secuencia en ACU 1 (16 bits) (TAW),
12-13
Invertir secuencia en ACU 1 (32 bits) (TAD),
12-13
panormica acerca de la conversin y el redondeo de nmeros, 12-12
Redondar a entero de16 bits (RND), 12-9
Redondear al prximo entero inferior de 32 bits
(RND), 12-11
Redondear al prximo entero superior de 32 bits
(RND+), 12-10
Truncar (TRUNC), 12-12
Operaciones de desplazamiento, 14-214-5
Desplazar palabra (16 bits) a la izquierda
(SLW), 14-2, 14-3
Desplazar signo entero (16 bits) (SSI), 14-4
Desplazar signo entero doble (32 bits) (SSD),
14-4
efecto a los cdigos de condicin (A1 y A0) y al
bit OV (desbordamiento), 14-2
funcin, 14-2
Operaciones de rotacin, 14-614-8
Rotar ACU 1 a la derecha via A1 (32 bits)
(RRDA), 14-8
Rotar ACU 1 a la izquierda via A1 (32 bits)
(RLDA), 14-8
Rotar palabra doble (32 bits) a la derecha
(RRD), 14-7
Rotar palabra doble (32 bits) a la izquierda
(RLD), 14-7
Indice alfabtico
Indice-9
Indice alfabtico
Indice-10
P
Palabra de estado
bit de estado (A1 y A0), 2-142-18
bit de estado (STA), 2-13
bit OR, 2-14
bit OS (desbordamiento memorizado), 2-14
despus de una operacin Comparar dos nmeros en coma flotante, 11-5
bit OV (desbordamiento), 2-14
despus de una operacin Comparar dos nmeros en coma flotante, 11-5
bits afectados por la aritmtica de enteros, 9-4
cdigos de condicin (A1 y A0)
bit OV (desbordamiento), afectado por las
operaciones lgicas con palabras, 13-3
condicin en funcin del salto condicionado,
16-6
despus de una operacin de comparacin,
11-4, 11-5
descripcin, 2-12
evaluar los resultados de la operacin aritmtica
de enteros (32 bits), 9-4
indicacin del margen no vlido para la aritmtica de enteros, 9-4
indicacin del margen vlido para la aritmtica
de enteros, 9-4
leer utilizando la operacion Cargar (L), 8-6
operaciones que afectan a la palabra de estado,
5-10
operaciones que evalan el bit de estado, 11-4,
11-5
primera consulta (/ER), 2-12
resultado binario (bit RB), 2-16
resultado lgico (RLO), 2-13
transferir el contenido de ACU 1 en la palabra
de estado, 8-6
Parmetro actual, 17-2
asignacin, 17-8
Parmetro formal, 17-2
Parmetros actuales, 17-3
Pila de parntesis, 2-10
POP, 4-2
Primera consulta (/ER), 2-12
resultado, 2-12
Programar, aplicaciones prcticas, B-2
PUSH, 4-2
Indice alfabtico
R
Raz cuadrada (SQRT), 10-9
Rama paralela, expresiones entre parntesis,
5-145-15
RB. Ver Bit RB (resultado binario)
Redondear a entero de16 bits (RND), 12-8
Redondear al prximo entero de 32 bits inferior
(RND), 12-8
Redondear al prximo entero de 32 bits superior
(RND+), 12-8
Redondear nmeros en coma flotante (32 bits) a
enteros de 32 bits, 12-8
Redondear nmeros en coma flotante en enteros de
32 bits, 12-8
Registro
de la CPU, 2-102-16, 3-6
imagen de las entradas/salidas. Ver Imagen de
las entradas, imagen de las salidas
imagen del proceso de las entradas y de las salidas. Ver Imagen del proceso de las entradas,
imagen del proceso de las salidas
intercambiar DB global y DB de instancia
(TDB), 15-2
intercambiar registros de bloques de datos, 15-2
operando, 2-10, 3-6
Registro de direcciones, 2-10, 3-6
cargar y transferir entre registros de direcciones,
8-118-12
sumar una constante al registro de direcciones,
4-7
Registro de la CPU, 2-102-16, 3-6
acumuladores, funcin, 2-10
palabra de estado, 2-12
pila de parntesis, 2-10
puntero, 3-6
Registro en la CPU, acumuladores, valor de temporizacin en ACU 1, 6-4
Resolucin. Ver base de tiempo para S5 TIME
Resultado lgico (RLO)
Activar, 5-27
activar, 5-26
almacenado en la pila de parntesis, 5-14
bit de estado, 2-13
cambio, 5-16
con la operacin Asignar (=), 5-245-25
desactivar, 5-26
negar, 5-26
operaciones que no afectan al RLO, 4-6
relacin a la operacin Fin de bloque, 17-16
salvar, 5-26
RLD. Ver Rotar palabra doble (32 bits) a la izquierda (RLD)
RLDA. Ver Rotar ACU 1 a la izquierda va A1 (32
bits) (RLDA)
RLO. Ver resultado lgico
RND. Ver Redondear a entero (RND)
S
S. Ver Activar (S)
S5 TIME
base de tiempo, 6-4
valor de tiempo, 6-3
SA. Ver Temporizador con retardo a la desconexin
(SA)
Salto a meta (SPL), 16-3
Salto incondicionado (SPA), 16-3
Salto si es negativo (SPM), 16-6
Salto si es positivo (SPP), 16-6
Salto si no es 0 (SPN), 16-6
Salto si no es vlido (SPU), 16-6
Salto si OS = 1 (SPS), 16-5
Salto si OV = 1 (SPO), 16-5
Salto si RB = 0 (SPBIN), 16-5
Salto si RB = 1 (SPBI), 16-5
Salto si resultado <=0 (SPMZ), 16-6
Salto si resultado = 0 (SPZ), 16-6
Salto si resultado >=0 (SPPZ), 16-6
Salto si RLO = 0 (SPBN), 16-4
Salto si RLO = 0 con RB (SPBNB), 16-4
Salto si RLO = 1 (SPB), 16-4
Salto si RLO = 1 con RB (SPBB), 16-4
Salvar RLO del registro RB (SAVE), 5-26
Salvar RLO en pila MCR, comienzo rea MCR,
17-11
SAVE. Ver Salvar RLO en registro RB (SAVE)
SET. Ver Activar RLO (SET)
SI. Ver Impulso; Temporizador de impulso
SLW. Ver Desplazar palabra (16 bits) a la izquierda
(SLW)
SPA. Ver Salto incondicional (SPA)
SPB. Ver Salto si RLO = 1 (SPB)
SPBB. Ver Salto si RLO = 1 con RB
SPBI. Ver Salto si RB = 1 (SPBI)
SPBIN. Ver Salto si RB = 0 (SPBIN)
SPBN. Ver Salto si RLO = 0 (SPBN)
SPBNB. Ver Salto si RLO = 0 con RB (SPBNB)
SPL. Ver Salto a meta (SPL)
SPM. Ver Salto si es negativo (SPM)
SPMZ. Ver Salto si resultado es menor o igual a 0
(SPMZ)
SPN. Ver Salto si no es 0 (SPN)
SPO. Ver Salto si OV = 1 (SPO)
SPP. Ver Salto si es positivo (SPP)
Indice-11
Indice alfabtico
T
T. Ver Operaciones de carga y transferencia
TAD. Ver Cambiar secuencia en ACU 1 (32 bits)
(TAD)
TAK. Ver Intercambiar ACU 1 con ACU 2
TAN. Ver Tangente
Tangente (TAN), 10-13
TAR. Ver cargar y transferir entre registro de direcciones
TAW. Ver Cambiar secuencia en ACU (16 bits)
(TAW)
TDB. Ver Intercambiar DB global y DB de instancia (TDB)
Temporizador como impulso (SI), 6-7
Temporizador como retardo a la conexin (SE), 6-5
Temporizador como retardo a la conexin con memoria (SS), 6-5, 6-13
Temporizador como retardo a la desconexin (SA),
6-5, 6-15
Temporizadores
Activar (S), 6-56-6
rea de memoria, 2-8, 6-36-4
rea de direccionamiento, 2-9
base de tiempo para S5 TIME, 6-3
como impulso (SI), 6-7
como impulso prolongado (SV), 6-96-16
como retardo a la conexin con memoria (SS),
6-136-16
como retardo a la desconexin (SA). Ver base de
tiempo para S5 TIME
componentes, 6-36-4
definicin. Ver base de tiempo para S5 TIME
Desactivar (FR), 6-6
Desactivar (R), 6-6
impulso (SI), 6-2
impulso prolongado (SV), 6-2
nmeros soportados, 6-36-4
operaciones de temporizacin, 6-26-22
aplicaciones prcticas, B-10
resolucin. Ver base de tiempo para S5 TIME
retardo a la conexin (SE), 6-2
retardo a la conexin com memoria (SS), 6-2
retardo a la desconexin (SA), 6-2
tipos, 6-2
valor de temporizacin, 6-36-23
rea, 6-36-23
sintaxis, 6-36-23
visin esquemtica, 6-18
Terminar una cadena lgica, 5-20
Tipos de datos
ANY, 17-9
para parmetros formales y actuales, 17-3
Transcripcin de programas, a KOP, FUP, AWL,
1-1
Transferir el contenido de ACU 1 en la palabra de
estado, 8-6
TRUNC. Ver Truncar (TRUNC)
Truncar (TRUNC), 12-12
U
UC. Ver Llamada incondicional (UC)
UD. Ver Y con palabra doble (UD)
UW. Ver Y con palabra (UW)
V
Valor absoluto
definicin, 10-6
Formar el valor absoluto de un nmero en coma
flotante (32 bits), 10-6
Valor de retorno, llamar una funcin que produce
un valor de retorno, 17-6
Indice-12
Indice alfabtico
Valor de temporizacin
rea, 6-3
formato en ACU 1, 6-4
sintaxis, 6-3
Valor exponencial de la base e, EXP, 10-12
Valores constantes
como operandos para operaciones lgicas con
palabras, 13-213-14
decrementar ACU 1 en la constante de 8 bits,
4-6
incrementar ACU 1 en la constante de 8 bits,
4-6
sumar un entero al ACU 1, 9-6
utilizados como operando, 2-3
X
X. Ver O-exclusiva
XN. Ver O-exclusiva-NO
Y
Y (U), 5-3
utilizar contadores como operando de bit, 7-2
Y antes de O, 5-14
Y con palabra (UW), 13-313-5
combinacin de acumulador y constante,
13-313-5
Y-NO (UN), 5-3
utilizar contadores como operando de bit, 7-2
Z
ZR. Ver Decrementar contador (ZR)
ZV. Ver Incrementar contador (ZV)
Indice-13
Indice alfabtico
Indice-14
Siemens AG
A&D AS E 81
Oestliche Rheinbrueckenstr. 50
D-76181 Karlsruhe
R.F.A.
Remitente:
Nombre:
_
Cargo: _ _ _ _
Empresa:
_
Calle: _ _ _ _
Cdigo postal: _
Poblacin:
_
Pas: _ _ _ _
Telfono:
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_ _ _
_ _ _ _
_ _ _ _
_ _ _
_ _ __
_ _ _ _
_ _ _ _
_ _ _ _
Industria farmacutica
Industria qumica
Industria elctrica
Industria papelera
Industria alimentaria
Industria textil
Control e instrumentacin
Transportes
Industria mecnica
Otros _ _ _ _ _ _ _ _ _ _ _
Industria petroqumica
Observaciones/sugerencias
Sus observaciones y sugerencias nos permiten mejorar la calidad y utilidad de nuestra
documentacin. Por ello le rogamos que rellene el presente formulario y lo envie a
Siemens.
Responda por favor a las siguientes preguntas dando una puntuacin comprendida entre
1 = muy bien y 5 = muy mal
1.
2.
3.
Es comprensible el texto ?
4.
5.
En las lneas siguientes puede exponer los problemas concretos que se le hayan planteado
al manejar el manual:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _