Академический Документы
Профессиональный Документы
Культура Документы
Pgina:
1/82
Contenido
1. OBJETIVOS ..................................................................................................................................... 4
2. INTRODUCCIN ............................................................................................................................ 4
2.1. PLCs .......................................................................................................................... 4
2.2. Autmatas Siemens ..................................................................................................... 4
2.3. Lenguajes de programacin ........................................................................................ 5
2.4. Concepto de instruccin .............................................................................................. 7
2.5. Organizacin de programas......................................................................................... 8
3. MDULOS Y DATOS..................................................................................................................... 8
3.1. Tipos de mdulos ........................................................................................................ 8
3.2. Tipos de datos ............................................................................................................. 9
3.3. Entradas y salidas ........................................................................................................ 9
3.4. Marcas de memoria ................................................................................................... 10
3.5. Registros ................................................................................................................... 10
4. SISTEMAS DE NUMERACIN ................................................................................................... 11
4.1. Sistema Decimal ....................................................................................................... 12
4.2. Sistema Binario ......................................................................................................... 12
4.3. Hexadecimal ............................................................................................................. 12
4.4. BCD .......................................................................................................................... 12
4.5. Conversiones ............................................................................................................. 12
4.6. Ejercicios de aplicacin ............................................................................................ 13
5. INTRODUCCIN A LA PROGRAMACIN EN STEP 7 ........................................................... 13
5.1. Introduccin al autmata S7-300 .............................................................................. 14
5.2. Crear un proyecto en STEP 7 .................................................................................... 14
5.3. Ejercicio de aplicacin .............................................................................................. 21
5.4. Introduccin al PLCSim............................................................................................ 22
6. PROGRAMACIN BSICA ........................................................................................................ 28
6.1. Primera consulta........................................................................................................ 28
6.2. Consulta de entradas. Contactos na. y nc. ................................................................. 28
6.3. Asignacin ................................................................................................................ 29
6.4. Funcin AND (Y) ..................................................................................................... 30
6.5. Funcin OR (O) ........................................................................................................ 31
6.6. Y antes de O .............................................................................................................. 31
6.7. Funcin XOR (O exclusiva)...................................................................................... 32
6.8. Expresiones entre parntesis ..................................................................................... 32
6.9. Ejercicios propuestos: ............................................................................................... 33
6.10. Set y Reset................................................................................................................ 34
6.11. Ejercicios propuestos ................................................................................................ 36
6.12. Operaciones de flancos ............................................................................................. 37
6.13. Marcas Remanentes .................................................................................................. 38
6.14. Marca de ciclo ........................................................................................................... 39
6.15. Negar, activar, desactivar y salvar el RLO................................................................ 40
7. OPERACIONES DE CARGA Y TRANSFERENCIA .................................................................. 41
7.1. Operacin de carga.................................................................................................... 41
7.2. Operacin de transferencia........................................................................................ 42
8. OPERACIONES DE CONTAJE .................................................................................................... 43
8.1. Operaciones con contadores...................................................................................... 43
8.2. Ejercicios propuestos ................................................................................................ 46
Pgina:
2/82
Pgina:
3/82
1.
OBJETIVOS
Con este tutorial se pretende ensear los conocimientos necesarios para programar los autmatas de la serie Simatic S7300 con el software de programacin Step7.
No se va a mostrar la utilizacin del programa Step7, ya que este programa es comercial e incluye los manuales
necesarios para su empleo.
Todo lo aqu expuesto ha sido obtenido de los manuales del autmata, pero se ha estructurado de distinta forma,
tratando que la persona que lo utilice no se pierda en ningn momento y que acceda de forma rpida a lo que busca.
Por supuesto, este tutorial no es una alternativa al manual que incorpora el autmata, se debe tomar como una gua
complementaria. El manual proporciona ms ejemplos y mayor detalle que el expuesto aqu.
Es necesario que el lector est familiarizado con el lgebra de Boole, y si se est familiarizado con algn otro lenguaje
de ser mucho ms sencillo y rpido.
2.
2.1.
INTRODUCCIN
PLCs
Los Controladores Lgicos Programables (PLCs), tambin llamados autmatas programables, forman parte de la
familia de los ordenadores. Se usan en aplicaciones comerciales e industriales. Un autmata monitoriza las entradas,
toma decisiones basadas en su programa, y controla las salidas para automatizar un proceso o mquina. Este curso trata
de suministrar la informacin bsica sobre las funciones y las configuraciones de los autmatas programables.
Pgina:
4/82
hardware capaces de
9 Recoger el conjunto de variables (digitales y/o analgicas) que definen el estado del mismo (seales de
entrada),
9 Enviar otro conjunto de variables que modifiquen dicho estado en un sentido predeterminado (seales de
salida).
Pero para esto, el PLC necesita para su completa adaptacin al proceso de un operador humano que defina como se
quiere la evolucin del mismo.
Este operador intercambia entonces informacin con el hardware del PLC para:
9 Fijar, mediante una secuencia de rdenes, la ley general de mando, de la que se obtienen las variables de salida
o de control,
9 Intervenir, continuamente o no, sobre el proceso para modificar la evolucin o, simplemente, para leer su
estado.
El primero de los puntos, establecimiento de la secuencia de rdenes, se denomina programacin de PLC, y la
secuencia establecida, programa de aplicacin.
Al segundo punto, intervencin del operador sobre el proceso, se le conoce comnmente como explotacin de la
aplicacin, y durante ella se permiten modificar algunos parmetros (tiempo, consignas, mdulos de cuenta, etc.), pero
no modificar el programa.
Se ha descrito pues, a la programacin como la codificacin al lenguaje del PLC del conjunto de rdenes que forman la
ley de mando o control deseada. Codificar, a su vez, significa transformar una informacin en otra equivalente de
distinto formato. Por lo que un programa es una sucesin o lista en un determinado orden de distintas rdenes de
trabajo tambin llamadas instrucciones y capaz de hacer ejecutar al autmata la secuencia de trabajo pretendida.
Pgina:
5/82
Por lo tanto, se define, de esta manera, al lenguaje de programacin como un conjunto de smbolos y textos inteligibles
por la unidad de programacin que le sirven al usuario para codificar sobre un cierto Autmata las leyes de control
deseadas, mientras que lenguaje de explotacin ser el conjunto de rdenes y comandos que el usuario puede enviar,
desde la misma unidad o desde un terminal adecuado, para recoger estados o modificar variables de proceso.
La programacin del PLC pasa, pues, por los siguientes pasos:
1. Determinar qu debe hacer el sistema de control y en qu orden (por ejemplo, mediante un diagrama de flujo, una
descripcin literal, etc.).
2. Identificar los componentes (seales) de entrada y salida al PLC.
3. Representar mediante un modelo el sistema de control, indicando todas las funciones que intervienen, las
relaciones entre ellas, y la secuencia que deben de seguir. Esta representacin puede ser:
9 Algebraica: Instrucciones literales.
9 Grfica: Smbolos grficos.
4. Asignar direcciones de entrada/salida o internas a cada uno de los componentes que aparecen en el modelo.
5. Codificar la representacin anterior en instrucciones o smbolos inteligibles por la unidad de programacin. Esto,
dado que, el cdigo de salida a obtener son los cdigos binarios que entiende la CPU; El cdigo de entrada no es
ms que el control que se quiere implementar, representado en alguna forma.
6. Transferir las instrucciones obtenidas a la memoria del Autmata desde la unidad de programacin.
7. Depurar el programa y obtener una copia de seguridad.
En pocas palabras, al conjunto total de instrucciones, rdenes y smbolos que estn disponibles para escribir un
programa se le denomina lenguaje de programacin.
Para toda la familia de autmatas Simatic S7 se emplean los siguientes lenguajes de programacin:
VENTAJAS DEL AWL:
9 Es el lenguaje que necesita menos instrucciones de programacin de todos. Esto
permite optimizar la cantidad de memoria disponible en el PLC, pero sobre todo el
tiempo de ciclo es menor, por lo que se pueden utilizar CPUs lentas para
procesos relativamente rpidos, an con programas considerables.
9 Es el ms indicado para operaciones de saltos condicionales en funcin de
valores analgicos. Cualquier tratamiento analgico que sobrepase la simple
comparacin es el terreno del AWL.
9 Permite introducir una gran cantidad de sentencias en la misma pantalla, con lo
cual los test status no requieren de desplazamientos en la misma.
INCONVENIENTES DEL AWL:
9 La programacin de secuencias de pasos en procesos (set y reset de etapas)
carece de sentido en este lenguaje, ya que no se gana memoria y el programa se
convierte en ininteligible hasta para el propio programador.
9 El programar una lnea debajo de otra lleva a los programadores a implementar
LINEAS Y LINEAS DE CODIGO SIN SER DIVIDIDAS EN SEGMENTOS Y
SIN COMENTAR. Programas ininteligibles.
VENTAJAS DEL KOP:
9 Es muy sencillo seguir las condiciones del proceso.
9 Totalmente indicado para programadores ms cercanos al mundo elctrico
INCONVENIENTES EN KOP:
9 Las series y paralelos requieren tanto espacio en pantalla que enseguida se nos
salen de la misma, por lo que en status nos debemos de desplazar a menudo.
9 El realizar comparaciones de salto analgicas es misin imposible, a poco que se
compliquen.
9 Y el principal problema: las cajas de KOP necesitan una sistemtica de proceso
por parte del Step 7 que hace que no se optimice el cdigo de las mismas, por lo que
el programa haciendo lo mismo va ms lento.
Pgina:
6/82
Internamente el autmata solo trabaja con lista de instrucciones, KOP y FUP son traducidos a AWL por Step7. En este
tutorial veremos la programacin en lista de instrucciones y esquema de contactos.
En qu lenguaje debo programar?
La respuesta es evidente, cada vez uno. Para las tareas que no sean setear, resetear o activar bits, el AWL es sin dudas el
lenguaje a utilizar. Las ventajas del mismo sobrepasan ampliamente los inconvenientes.
Sin embargo para todas las activaciones (series y contactos que van a parar a bobinas, ya sean enclavadas o no) la
decisin debe de ser KOP o FUP, dependiendo del gusto del programador.
Si el programador tiene la misma destreza con KOP que con FUP. Decantarse por FUP tiene ms ventajas.
Pgina:
7/82
Programacin Lineal : Todo el programa est contenido en un nico mdulo. Normalmente, este mdulo es el OB1
(mdulo de elaboracin cclica). Las instrucciones se van ejecutando secuencialmente una detrs de otra. Este sistema
de programacin slo est recomendado en proyectos pequeos.
Programacin estructurada: La programacin estructurada implica la divisin del programa en diversos bloques.
Cada uno de estos bloques constituye al mismo tiempo un subprograma. Por lo tanto, se recomienda utilizar este tipo de
programacin.
3.
MDULOS Y DATOS
Pgina:
8/82
entrada
salida
marca
periferia (acceso directo)
datos locales
temporizador
contador
mdulo de datos
Cada uno de estos tipos se puede direccionar en 4 posibles modos (salvo T y Z):
Por defecto (X para DB): Bit. Un bit es la unidad para dgitos binarios o caracteres binarios. Es la unidad ms
pequea de informacin. Permite dos estados: "0" "1". Los bits pueden agruparse para formar unidades
mayores.
B: byte (8 bits).
W: palabra (16 bits).
D: palabra doble (32 bits).
Pgina:
9/82
E 0.0 a E 255.7
EB 0 a EB255
EW 0 a EW254
ED 0 a ED252
A 0.0 a A255.7
AB 0 a AB255
AW 0 a AW254
AD 0 a AD252
3.5. Registros
Todas las CPU Simatic S7 disponen de una serie de registros que se emplean durante la ejecucin del programa de
usuario. No vamos a comentar todos ellos, slo los que realmente empleemos en la programacin:
Pgina:
10/82
Palabra de estado
Es un registro de 16 bits que contiene algunos bits a los que puede accederse en el operando de operaciones lgicas de
bits y de palabras. Solo nos sern de utilidad los 9 primeros bits, estando reservados el uso de los 7 ltimos. A
continuacin pasaremos a describir cada bit:
BIT 0 (ER): 0 indica que la siguiente lnea se ejecuta como nueva consulta (inhibida). En este estado la consulta se
almacena directamente en RLO (ver 4.1).
BIT 1 (RLO): resultado lgico. Aqu se realizan las operaciones a nivel de bit (como AND, OR, etc.).
BIT 2 (STA): bit de estado. Solo sirve en el test de programa.
BIT 3 (OR): se requiere para el proceso Y delante de O. Este bit indica que una operacin Y ha dado valor 1, en las
restantes operaciones es 0.
BIT 4 (OV): bit de desbordamiento. Se activa (1) por una operacin aritmtica o de comparacin de coma flotante
tras producirse un error (desbordamiento, operacin no admisible, o relacin incorrecta).
BIT 5 (OS): bit de desbordamiento memorizado. Se activa junto con OV e indica que previamente se ha producido
un error. Solo puede cambiar a cero con la instruccin SPS, una operacin de llamada a mdulo, o porque se ha
alcanzado el fin del mdulo.
BITS 6 (A0) y 7 (A1): cdigos de condicin. Dan informacin sobre los resultados o bits siguientes:
- resultado de una operacin aritmtica.
- resultado de una comparacin.
- resultado de una operacin digital.
- bits desplazados por una instruccin de desplazamiento o rotacin.
BIT 8 (RB): resultado binario. Permite interpretar el resultado de una operacin de palabras como resultado binario
e integrarlo en la cadena de combinaciones lgicas binarias.
Pgina:
11/82
4.
SISTEMAS DE NUMERACIN
El autmata almacena informacin en forma de condiciones On y Off (1 0), refirindose a dgitos binarios (bits). A
veces los dgitos binarios se usan individualmente y otras son utilizados para representar valores numricos.
En los autmatas se usan varios sistemas numricos. Todos los sistemas de nmeros tienen las mismas caractersticas:
dgitos, base, potencia
4.3. Hexadecimal
El hexadecimal es otro sistema usado en los autmatas programables. El sistema hexadecimal tiene las caractersticas
siguientes:
Dgitos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
Base: 16
Potencias de base 16 : 1, 16, 256, 4096 ...
Se utilizan los diez dgitos del sistema decimal para los primeros diez dgitos del sistema hexadecimal. Se usan las
primeras seis letras del alfabeto para los seis dgitos restantes.
A = 10
B = 11
C = 12
D = 13
E = 14
F = 15
El sistema hexadecimal se utiliza en los autmatas programables porque permite representar el estado de un gran
nmero de bits binarios en un pequeo espacio como es la pantalla de un ordenador o un visualizador de programacin.
Cada dgito hexadecimal representa el estado exacto de 4 bits binarios.
4.4. BCD
El cdigo BCD (Binary-Coded Decimal) son nmeros decimales en los que
cada dgito est representado por un nmero binario de 4 bits. Un contador
de vueltas es un ejemplo de un dispositivo de entrada de 4 bits. El BCD se
usa comnmente con dispositivos de entrada y salida. Los nmeros binarios
se rompen en grupos de 4 bits, cada grupo representa un decimal
equivalente. Un contador de vueltas de 4 dgitos, como el que se muestra
abajo, podra controlar 16 (4 x 4) entradas al autmata.
Pgina:
12/82
4.5. Conversiones
Pgina:
13/82
5.
El objetivo es familiarizar al alumno con los autmatas programables de la serie S7- 300 de Siemens, as como con su
entorno de programacin STEP 7:
Identificar y conocer el funcionamiento bsico de un PLC: ciclo de scan, concepto de entradas y salidas, copia en
memoria, etc.
Programacin bsica del autmata a travs de la herramienta STEP7: programacin en listas de instrucciones, en
diagramas de contactos y en funciones.
Depurar errores de comunicacin con el autmata.
5.1.
El autmata base consta de CPU y entradas/salidas digitales/analgicas integradas en el propio autmata. Cada equipo
que existe en el aula tiene una configuracin distinta y un direccionamiento de entradas y salidas. El alumno deber
identificar los elementos que integran su equipo.
5.2.
Para programar el PLC, ste debe estar conectado a uno de los puertos serie del ordenador. En general, se debe conectar
al puerto 1 (COM1/2 o USB). Los pasos a seguir para programar el autmata en el STEP 7 son los siguientes:
1. Arrancar el programa STEP7 y crear un proyecto.
2. Editar el programa.
3. Comprobar la comunicacin con el PLC.
4. Cargar y ejecutar el programa en el PLC.
5. Depurar el programa
Pgina:
14/82
2. Insertar equipo
Pgina:
15/82
Direccin MPI. Por defecto el software asigna la direccin MPI=2 pero es conveniente asegurarse cul es la direccin
del equipo con el que se va a conectar (Comprobar comunicacin con el PLC).
Una vez se han editado todos los elementos que integran el equipo se debe Guardar, compilar y cerrar configuracin.
2. Editar el programa.
Pgina:
16/82
Abrir programa:
Doble click en el bloque principal. Si no apareciese OB1 navegue por la ventana de proyecto mediante el ratn hasta
visualizarlo. La secuencia a seguir es Equipo SIMATIC 300->CPU314- >Programas S7->Bloques.
Pgina:
17/82
Compruebe la conexin con el autmata. Para comprobar que el autmata est correctamente conectado al ordenador
pulse el botn de comunicaciones. Se debe respetar la direccin MPI que tenga cada CPU del aula.
Pgina:
18/82
En caso de no aparecer ningn autmata en la ventana o de aparecer una ventana de error de comunicaciones
compruebe que el autmata est encendido y que el cable serie est conectado al puerto COM1.
Configurar del puerto de comunicacin
Para configurar la comunicacin lo haremos desde el Administrador siguiendo los pasos: Herramientas Ajustar
interface PG/PC
Pgina:
19/82
Si sale uno de los puertos COM marcado con un asterisco significa que este puerto est ocupado, en este caso
tendremos que seleccionar otro puerto para conectar el PLC.
Pgina:
20/82
5.3.
Ejercicio de aplicacin
1. Crea 3 proyectos y cierra el Administrador SIMATIC cada vez. Selecciona las CPUs y asigna los nombres a los 3
proyectos segn la tabla siguiente:
CPU
Nombre
313C
ejer1a
314
ejer1b
314C-2DP
ejer1c
Pgina:
21/82
5.4.
Introduccin al PLCSim
Con la casilla RUN activada, no se puede transferir el programa ni forzar elementos. Con la casilla RUN-P activada, si
se puede transferir el programa y forzar elementos.
Para poder probar los circuitos que programamos en el S7, insertaremos una tarjeta de entradas.
Las tarjetas de salidas las pondremos si queremos visualizar en el simulador su funcionamiento.
Normalmente seleccionaremos ciclo continuo. El ciclo nico, solo lo seleccionaremos para analizar cmo evoluciona
en cada ciclo de scan el funcionamiento de algn ejercicio concreto.
Pgina:
22/82
Ejemplo
Nombre del proyecto: ejer2
Tipo de CPU: 314C-2DP
La salida A124.0 ha de funcionar cuando estn accionadas al mismo tiempo las entradas E124.0, E124.1 y E124.2.
La salida A124.1 ha de funcionar cuando estn accionadas una cualquiera de las entradas E124.0, E124.1 y E124.2.
Pgina:
23/82
2. Edicin del programa. Desde el Administrador clicamos dos veces sobre OB1 y procedemos a editarlo
3. Transferencia de los mdulos al autmata o al simulador (el PLC no puede estar en RUN)
Se puede hacer de dos maneras:
Directamente desde el administrador. Es imprescindible que antes se hayan guardado los mdulos en el editor
AWL/KOP/FUP.
Pgina:
24/82
Desde el editor AWL/KOP/FUP. Enviar lo que haya en el editor, est guardado o no.
Pgina:
25/82
Resolucin de problemas
Pgina:
26/82
Una vez que se han insertado todas las variables ir a Herramientas-> Opciones -> Asignar smbolos
Pgina:
27/82
6.
PROGRAMACIN BSICA
Dependiendo del tipo de operando que empleemos, se har uso de uno o varios de los siguientes registros:
Bit de resultado lgico (RLO): aqu se almacena el resultado de operaciones lgicas a nivel de bit y primera
consulta.
Acumuladores (ACU 1 y ACU 2): aqu se almacenan los operandos y resultados de operaciones lgicas a nivel
de byte, palabra, y doble palabra.
El autmata consulta el valor de sus entradas, es decir, si existe tensin (1) o no existe tensin (0). Sin tener en
cuenta si el contacto asociado a la entrada es cerrado o abierto...
Pgina:
28/82
Para la elaboracin del programa s que debemos conocer las funciones tcnicas del contacto:
Si en una entrada hay conectado un contacto abierto, se aplicar el estado de seal 1 en la entrada cuando se
accione el contacto.
Si a la entrada nos encontramos con un contacto cerrado, se aplicar el estado de seal 0 en la entrada cuando se
accione el contacto.
El autmata no tiene posibilidad de determinar si en una entrada hay conectado un contacto cerrado o abierto. Solo
puede consultar o reconocer los estados de seal 1 0. Nos es indiferente si un estado se ha alcanzado a travs de
un contacto abierto o cerrado. Lo nico importante es la eleccin del tipo de contactos, sobre todo teniendo en cuenta
las normativas de seguridad...
Cuando efectuamos una asignacin, o se comienza un nuevo ciclo de programa, se est en estado de primera consulta.
Es decir, la primera instruccin lgica que se efecte servir para situar su operando en el RLO.
IMPORTANTE: Un contacto negado, NO significa contacto cerrado, sino LO CONTRARIO DE (0 lgico).
El elemento de referencia de una entrada, es la entrada fsica.
6.3. Asignacin
Instruccin =
Se copia el contenido del RLO al operando especificado, sin perder el contenido del RLO.
AWL
Pgina:
29/82
En programacin, la salida de la funcin AND slo adopta el estado 1 si todas las condiciones son verdaderas, es decir,
si el RLO est a 1.
KOP
Realiza la funcin lgica AND entre el RLO y el operando especificado, almacenando el resultado en RLO (se pierde el
valor anterior). Se puede operar con el negado del operando si se adjunta "N" (UN).
ej. U E 0.0
ej. UN A 1.2
Pgina:
30/82
En programacin, la salida de la funcin OR adopta el estado 1 si al menos una de las condiciones es verdadera, es
decir, si el RLO est a 1.
KOP:
6.6. Y antes de O
Instruccin "O" sin operando
Si introducimos una instruccin "O" sin operando seguida de una o varias instrucciones AND se evala en primer lugar
las instrucciones AND y el resultado se combina con el RLO segn un OR.
Esta operacin equivale a emplear "O(" con instrucciones del tipo AND dentro del parntesis.
Ejemplo:
U E 0.0
//se introduce en el RLO el valor de la entrada 0.0 (primera c.)
O
//comenzamos una operacin Y antes de O
U E 0.1
//introducimos el valor de la entrada 0.1 en el RLO (primera c.)
U M 0.3
//efectuamos un AND entre el RLO y la marca 0.3
= A 4.0
//se finaliza Y antes de O. Se efecta un OR entre el primer RLO del RLO resultado de
las operaciones AND. Luego se copia el contenido del RLO en la salida 4.0
Pgina:
31/82
En programacin, la salida de la funcin XOR adopta el estado 1 si las condiciones son distintas, es decir, si el RLO es
distinto a 1.
KOP:
AWL: Instruccin X / XN
E124.0
E124.1
E124.1
E124.0
A124.1
AWL
O E 0.0
U E 0.1
= A 2.0
Pgina:
32/82
A124.0
E124.1
A124.1
A124.0
A124.1
A124.3
A124.0
A124.4
A124.1
A124.0
A124.1
A124.5
A124.0
A124.1
A124.6
A124.0
A124.1
A124.7
Indica el valor de las salidas A124.3 a la A124.7 segn sea el valor de A124.0 y A124.1
A124.0
0
1
0
1
A124.1
0
0
1
1
A124.3
A124.4
A124.5
A124.6
A124.7
Ejercicio 2
Programar el encendido y apagado de una bombilla controlado por 3 interruptores. La bombilla se enciende cuando al
menos 2 de los 3 interruptores estn pulsados.
a) Definir entradas y salidas
b) Crear un proyecto nuevo con el Step7
c) Realizar el programa de usuario
d) Probar en la instalacin montada en el aula.
Pgina:
33/82
Ejercicio 3
Programar el encendido y apagado de una bombilla desde dos interruptores diferentes (accin conmutada)
Pgina:
34/82
Ejemplo:
U E 1.0
S A 4.0
U E 1.1
R A 4.0
En este ejemplo tiene preferencia el reset sobre el set, ya que esta ltima instruccin se ejecuta al despus, es decir si
E1.0 y E1.1 fuesen 1 la salida A4.0 sera 0.
KOP
SR
S
RS
R
Ejemplo:
Si el estado en la entrada E 0.0 es "1" y en la entrada E 0.1 es el estado
es "0", se activa la marca M 0.0, y la salida A 4.0 es "1". De no ser as,
cuando el estado de seal en la entrada E 0.0 es 0 y en E 0.1 es 1, se
desactiva la marca M 0.0 y la salida A 4.0 es "0". Si ambos estados de
seal son "0", no cambia nada. Si ambos estados de seal son "1",
domina la operacin Desactivar debido al orden en que estn dispuestas
las operaciones. M 0.0 se desactiva y la salida A 4.0 es "0".
En este ejemplo tiene preferencia el reset sobre el set, ya que esta ltima instruccin se ejecuta al despus, es decir si
E1.0 y E1.1 fuesen 1 la salida A4.0 sera 0.
Pgina:
35/82
Pgina:
36/82
Las operaciones de flanco positivo (FP) y flanco negativo (FN) pueden utilizarse para detectar cambios de flanco en el
RLO. El cambio de 0 a 1 se denomina flanco positivo, mientras que el cambio de 1 a 0 se denomina flanco negativo.
Cada instruccin FP o FN emplea un operando para poder comparar el RLO actual con el que haba en el ciclo anterior,
se recomienda emplear marcas de memoria. Si se realiza un cambio de flanco en el sentido de la instruccin empleada,
sta produce un impulso positivo (1) en el RLO durante el ciclo actual.
Ejemplo:
U E 124.0
FP M 0.0
= A 124.0
ATENCION:
Es obligatorio no emplear los operandos ocupados por FP y FN (marcas de memoria) para otros fines, ya que entonces se
falsifica el RLO almacenado en ellos y por lo tanto se produce un funcionamiento incorrecto del programa.
Ejemplo:
Pgina:
37/82
En la ventana HW Config, clicar dos veces sobre la CPU Seleccionar la pestaa Remanencia Colocar el nmero
de Bytes de marcas que queremos que tengan memoria a partir del MB0 Guardar y compilar y Cargar al autmata.
Pgina:
38/82
CPU
Pestaa
2.
3.
Cada bit del byte de marca de ciclo lleva asignada una duracin de periodo / frecuencia en seg:
Ejemplo:
U M100.3
= A4.0
Pgina:
39/82
Pgina:
40/82
7.
ACU1 y ACU2 son dos registros de 32 bits para el procesamiento de bytes, palabras y doble palabras. Permiten
programar un intercambio de informacin entre mdulos de E/S y reas de memoria.
Las instrucciones de carga y transferencia transfieren datos a desde el ACU1. Son operaciones incondicionales, o sea,
independientes del RLO
Ejemplo:
U E1.0
L 2 //Carga el nmero 2 en ACU1 independientemente del estado de E1.0
7.1.
Operacin de carga
Instruccin "L"
Carga en ACU1 constantes y valores de los operadores.
Ejemplo:
L3
//Carga el nmero entero 3 (16 bits) en el ACU1
L EB0 //Carga el byte de entradas 0 en ACU1
L MB20 //Carga el byte de marcas 20 en ACU1
//ACU1=3
//ACU1=2; ACU2=3
//ACU1=5; ACU2=2 se pierde
Pgina:
41/82
Los acumuladores sirven para ejecutar operaciones lgicas entre ACU1 y ACU2 (comparacin, aritmticas, AND,
OR...). El resultado siempre se almacena en ACU1, sobrescribiendo lo que hubiese en ACU1 pero el contenido de
ACU2 permanece intacto.
Ejemplo:
L8
//ACU1=8
L2
//ACU1=2; ACU2=8
-I
//ACU2-ACU1 ACU1=6; ACU2=8
T MW10 //Transfiero el resultado de la resta a MW10
En cada ciclo de programa ACU1 y ACU2 se ponen a cero.
KOP:
MOVE
EN
ENO
IN
OUT
rea de memoria
Descripcin
E, A, M, L, D
Entrada de habilitacin
E, A, M, L, D
Salida de habilitacin
E, A, M, L, D
Valor de fuente
E, A, M, L, D
Direccin de destino
Descripcin de la operacin
MOVE (Asignar un valor) es activada por la entrada de habilitacin EN. El valor indicado por la entrada IN se copia en
la direccin que la salida OUT. La salida de habilitacin ENO tiene el mismo estado de seal que la entrada de
habilitacin EN.
Pgina:
42/82
8.
OPERACIONES DE CONTAJE
8.1.
Todas estas operaciones sern explicadas con profundidad en los siguientes puntos.
Borrar un contador
Instruccin: "R Z"
Borra el contador especificado (puesta a cero) si el RLO vale 1.
Ejemplo:
U E 1.0 //carga en el RLO el valor de la entrada 1.0
RZ1
//borra el contador 1 (a cero) si la entrada 1.0 es 1 (RLO=1)
Pgina:
43/82
Ejemplos:
U E 0.0
//carga en el RLO el valor de la entrada 0.0
ZV Z 1 //incrementa el contador 1 si la entrada 0.0 presenta un cambio de flanco
ascendente
U E 1.0
//carga en el RLO el valor de la entrada 1.0
ZR Z 1 //decrementa el contador 1 si la entrada 1.0 presenta un cambio de flanco ascendente
Pgina:
44/82
KOP:
Z N
ZAEHLER
ZV
ZR
S
ZW
DUAL
DEZ
R
Los elementos con los cuales se puede trabajar con un contador son los siguientes:
ZV
Incrementar. Contaje hacia arriba
ZR
Decrementar. Contaje hacia abajo
SZ
Carga del valor de preseleccin
ZW Valor de preseleccin, el valor mximo 999 y en formato BCD
R
Puesta a cero del valor del contador
Q
Conexin de la salida
DUAL Carga el valor del contador en binario
DEZ Carga el valor del contador en BCD
IMPORTANTE: En la salida Q tendremos un 1 siempre que el valor del contador sea superior a 0.
Ejercicio: Copia este ejemplo y analzalo.
CONVIERTE A AWL:
Z0
ZAEHLER
E124.0
ZV
A124.0
Q
E124.1
ZR
E124.2
S
C#10
ZW
DUAL
E124.3
R
DEZ
Pgina:
45/82
8.2.
Ejercicios propuestos
Cinta transportadora
Se pretende controlar una cinta transportadora sobre la cual el trabajador ir colocando cajas. Se parte de un estado
inicial en el que el contador de cajas se encuentra a 0.
En el instante en el que se detecte que el nmero de cajas que han pasado por el detector DL alcanza el valor de 15, se
encender la luz de LMITE al mismo tiempo que parar la cinta transportadora. Para reiniciar el proceso, el
trabajador deber inicializar el contador. Para que la cinta pueda entrar en funcionamiento, deber estar el sistema
disponible. La no disponibilidad del sistema no implica el reseteo del contador.
Sistema
disponible
Sistema
no disponible
Pulsador Rearme
Luz Lmite
Luz Defecto Trmico
Pgina:
46/82
9.
OPERACIONES DE TEMPORIZACIN
L W#16#abcd
Configuracin binaria en la palabra de temporizacin:
a = base de tiempos
bcd = valor de temporizacin en formato BCD
Base de tiempos y cdigo respectivo:
10 ms
100 ms
1s
10 s
0
1
2
3
Ejemplo:
L W #16 # 2010
L S5T#aH_bbM_ccS_ddMS
a = horas, bb= minutos, cc = segundos, dd = milisegundos
En este caso la base de tiempos se selecciona de forma automtica, tomndose la de valor ms bajo posible. Debido a
esto los valores de resolucin demasiado alta se redondean por defecto, alcanzando el rango pero no la resolucin
deseada.
El formato general para el tipo de datos S5TIME tiene los siguientes valores lmite para el margen y la resolucin:
Pgina:
47/82
Ejemplo:
L S5T#00H02M23S00MS//esto introduce un valor de temporizacin de 2 minutos y 23 segundos en el ACU 1
Esta instruccin borra (resetea) el temporizador indicado. El temporizador vuelve al estado de reposo, es decir parado y
con la salida igual a 0.
Ejemplo:
U E 0.0
L S5T#2s
SS T 2
U E 0.1
RT2
UT2
= A 3.1
Re-arranque de un temporizador
Cuando el RLO cambia de 0 a 1 (flanco de subida) delante de una operacin FR se habilita el temporizador. Este
cambio del estado de seal siempre es necesario para habilitar un temporizador.
Para arrancar un temporizador y ejecutar una operacin normal de temporizador no hace falta habilitarlo. Esta funcin
se emplea nicamente para redisparar un temporizador que est en marcha, es decir, para rearrancarlo. Este rearranque
slo puede efectuarse cuando la operacin de arranque contina procesndose con un RLO de 1.
Ejemplo:
U E 2.0
FR T 1
U E 2.1
L S5T#5s
SI T 1
UT1
= A 4.0
Si el RLO cambia de 0 a 1 en la entrada de re-arranque mientras est en marcha el temporizador, el temporizador vuelve
a arrancar. El tiempo programado se emplea como tiempo actual para el re-arranque. Un cambio del RLO de 1 a 0 en la
entrada de re-arranque no produce ningn efecto.
Un cambio del RLO de 0 a 1 en la entrada de habilitacin no afecta al temporizador si todavahay un RLO 0 en la
entrada del temporizador.
Pgina:
48/82
Con la instruccin "L T" introducimos en el ACU 1 (parte baja) el valor del temporizador especificado en binario. El
valor en ACU 1 puede ser introducido en otro temporizador.
Con la instruccin "LC T" introducimos en el ACU 1 (parte baja) el valor del temporizador especificado en BCD. En
esta codificacin no es posible pasar el valor de ACU 1 a otro temporizador.
Ejemplos:
LT1
LC T 2
Pgina:
49/82
KOP:
S
TW
R
DUAL
DEZ
Q
BOOL
S5TIME
BOOL
DUAL
WORD
BOOL
Entrada de arranque
Valor de temporizacin predeterminado
Entrada de desactivacin
Valor de temporizacin actual, codificado en binario
Tiempo restante, formato BCD
Estado del temporizador
Diagrama de temporizacin:
Ejemplo
Pgina:
50/82
KOP:
S
TW
R
DUAL
DEZ
Q
BOOL
S5TIME
BOOL
DUAL
WORD
BOOL
Entrada de arranque
Valor de temporizacin predeterminado
Entrada de desactivacin
Valor de temporizacin actual, codificado en binario
Tiempo restante, formato BCD
Estado del temporizador
Diagrama de temporizacin:
Ejemplo:
Pgina:
51/82
KOP:
S
TW
R
DUAL
DEZ
Q
BOOL
S5TIME
BOOL
DUAL
WORD
BOOL
Entrada de arranque
Valor de temporizacin predeterminado
Entrada de desactivacin
Valor de temporizacin actual, codificado en binario
Tiempo restante, formato BCD
Estado del temporizador
Diagrama de temporizacin:
Ejemplo:
Pgina:
52/82
KOP:
S
TW
R
DUAL
DEZ
Q
BOOL
S5TIME
BOOL
DUAL
WORD
BOOL
Entrada de arranque
Valor de temporizacin predeterminado
Entrada de desactivacin
Valor de temporizacin actual, codificado en binario
Tiempo restante, formato BCD
Estado del temporizador
Diagrama de temporizacin:
Ejemplo:
Pgina:
53/82
KOP:
S
TW
R
DUAL
DEZ
Q
BOOL
S5TIME
BOOL
DUAL
WORD
BOOL
Entrada de arranque
Valor de temporizacin predeterminado
Entrada de desactivacin
Valor de temporizacin actual, codificado en binario
Tiempo restante, formato BCD
Estado del temporizador
Diagrama de temporizacin:
Ejemplo:
El temporizador arranca si el estado de seal en la
entrada E 0.0 cambia de "1" a "0".
A 4.0 es "1" si E 0.0 es "1" o el temporizador est en
marcha (Si el estado de seal en E 0.1 cambia de "0" a
"1", mientras est en marcha el temporizador, ste se
pone a 0).
Pgina:
54/82
Pgina:
55/82
Una vez se haya activado el temporizador, aunque cambie el valor de MW0, el temporizador seguir trabajando con el
valor que tenia al ponerse en marcha.
Para cargar el valor del temporizador, lo podremos ver en BCD (MW4) o en Binario (MW2).
El valor cargado en BCD, contiene el valor y la base de tiempos. No obstante el MW4 lo podemos visualizar en BCD
(formato hexadecimal) o en tiempo Simatic.
Pgina:
56/82
9.9.
Ejercicios propuestos
Semforo coches
Verde
mbar
fijo
Rojo
Semforo peatones
Rojo
Rojo
Verde
mbar
intermitente
Verde
intermitente
3
Se dispone de un semforo, el cual en condiciones normales se encuentra del modo siguiente: Verde vehculos, Rojo
peatones
El ciclo se inicia en el momento que un peatn accione sobre el pulsador situado en el semforo. Durante el ciclo se
evitar cualquier rearme hasta 2 minutos despus de la finalizacin del ciclo.
Finalizado el proceso, el semforo regresar al estado normal.
Pgina:
57/82
Pgina:
58/82
10.
Ejemplo:
L 1 //Carga el nmero entero 1 en ACU1
Pgina:
59/82
Lmite:
N positivos: 231-1 = 2147483647 (El 0 se considera positivo)
N negativos: 231 = -21474863648
Ejemplo:
L L#-1
Pgina:
60/82
11.
OPERACIONES DE COMPARACIN
Operacin
==I
==D
<>I
<>D
>I
Comparacin efectuada
El entero (16 bits) de la palabra baja del ACU2 es igual al entero (16 bits) de la palabra baja del
ACU 1
El entero doble (32 bits) del ACU2 es igual al entero doble (32 bits) del ACU1.
El entero (16 bits) de la palabra baja del ACU2 no es igual al entero (16 bits) de la palabra bajan
del ACU 1.
El entero doble (32 bits) del ACU2 no es igual al entero doble (32 bits) del ACU1.
El entero (16 bits) de la palabra baja del ACU2 es mayor que el entero (16 bits) de la palabra baja
del ACU 1.
El entero doble (32 bits) del ACU2 es mayor que el entero doble (32 bits) del ACU1.
>D
<I
El entero (16 bits) de la palabra baja del ACU2 es menor que el entero (16 bits) de la palabra baja
del ACU 1.
El entero doble (32 bits) del ACU2 es menor que el entero doble (32 bits) del ACU1.
<D
>=D
El entero (16 bits) de la palabra baja del ACU2 es mayor o igual al entero (16 bits) de la palabra
baja del ACU 1.
>=D
El entero doble (32 bits) del ACU2 es mayor o igual al entero doble (32 bits) del ACU1.
<=I
El entero (16 bits) de la palabra baja del ACU2 es menor o igual al entero (16 bits) de la palabra
baja del ACU 1.
El entero doble (32 bits) del ACU2 es menor o igual al entero doble (32 bits) del ACU1.
<=D
Estas operaciones afectan al estado de los bits A1 y A0, en funcin de la condicin que se haya cumplido, tal y como se
muestra en la tabla siguiente:
Pgina:
61/82
KOP:
Pgina:
62/82
Descripcin de la operacin
CMP? y (Comparar enteros) puede utilizarse como un contacto normal. El cuadro puede colocarse en las mismas
posiciones que puede tomar un contacto normal. Las entradas IN1 y IN2 son comparadas atendiendo al criterio de
comparacin que se haya seleccionado.
Si la comparacin es verdadera, el RLO de la operacin es "1". El RLO se combina mediante una Y lgica con el RLO
del circuito completo siempre que el elemento de comparacin est conectado en serie, y mediante una O lgica si el
cuadro est conectado en paralelo.
AWL
Ejemplo:
E 0.0
E 0.1
CMP
>=I
MW0
IN1
MW2
IN2
A 4.0
(S)
Comparacin efectuada
==R
El nmero de coma flotante de 32 bits IEEE-FP del ACU 2 es igual al nmero de coma flotante de
32 bits IEEE-FP del ACU 1
El nmero de coma flotante de 32 bits IEEE-FP del ACU 2 no es igual al nmero de coma flotante
de 32 bits IEEE-FP del ACU 1
El nmero de coma flotante de 32 bits IEEE-FP del ACU 2 es mayor que el nmero de coma
flotante de 32 bits IEEE-FP del ACU 1
El nmero de coma flotante de 32 bits IEEE-FP del ACU 2 es menor que el nmero de coma
flotante de 32 bits IEEE-FP del ACU 1
El nmero de coma flotante de 32 bits IEEE-FP del ACU 2 es mayor o igual que el nmero de
coma flotante de 32 bits IEEE-FP del ACU 1
El nmero de coma flotante de 32 bits IEEE-FP del ACU 2 es menor o igual que el nmero de
coma flotante de 32 bits IEEE-FP del ACU 1
<>R
>R
<R
>=R
<=R
Pgina:
63/82
Pgina:
64/82
12.
OPERACIONES DE CONVERSIN
ENO
IN
OUT
Instruccin BTI : Convierte el nmero BCD de 3 dgitos de la palabra baja de ACU1 en un entero (16 bits) que se
guarda en la palabra baja de ACU1.
Valores admisibles: -999 999
BCD_I
EN
ENO
IN
OUT
Instruccin DTB : Convierte un entero doble (32 bits) de ACU1 en un BCD de 7 dgitos.
DI_BCD
EN
ENO
IN
OUT
Instruccin DTR : Convierte un entero doble (32 bits) de ACU1 en real (32 bits). Si es necesario se redondea el
resultado. Un entero de 32 bits es ms exacto que un real.
DI_R
EN
ENO
IN
OUT
Pgina:
65/82
Instruccin ITB : Convierte un entero (16 bits) de ACU1 en BCD de 3 dgitos. El resultado lo guarda en la palabra
baja del ACU1.
I_BCD
EN
ENO
IN
OUT
Instruccin ITD : Convierte un entero (16 bits) de la palabra baja de ACU1 en doble entero (32 bits).
I_DI
EN
ENO
IN
OUT
Observacin: No hay una instruccin que convierta de entero a real. Hay que hacer dos conversiones consecutivas: ITD
y DTR.
Instruccin RND: Redondea un nmero real (32 bits) a entero (32 bits). Primero lo convierte y luego lo redondea al
entero ms prximo. Si el primer decimal despus de la coma es de 0 a 4, redondea a la baja; si el decimal es de 5 a 9,
redondea al alza.
RONUD
Ejemplos:
148.7
148.4
RND = 149
RND = 148
EN
ENO
IN
OUT
Instruccin RND+ y RND: RND+ redondea el resultado al nmero entero mayor o igual que el real convertido.
RND- redondea el resultado al nmero entero menor o igual que el real convertido.
Ejemplos:
148.7
148.4
5.7
RND+ = 149
RND = 148
RND+ = 149
RND = 148
RND+ = 5
RND = 6
CEIL
FLOOR
EN
ENO
EN
ENO
IN
OUT
IN
OUT
Instruccin TRUNC : Convierte un real (32 bits) a doble entero (32 bits) y lo redondea al entero de menor valor
absoluto.
Ejemplos:
8.34
8.7
8.7
RND = 8
TRUNC = 8
RND = 9
TRUNC = 8
RND = 9
TRUNC = 8
TRUNC
EN
ENO
IN
OUT
Pgina:
66/82
13.
OPERACIONES ARITMTICAS
13.1.
ADD_I
EN
EN
ENO
IN1
IN1
IN2
ENO
IN2
OUT
OUT
Ejemplo:
L8
L9
+I
//ACU2+ ACU1
ACU1=17; ACU2=8
La instruccin de resta I, D
SUB_I
EN
ENO
IN1
IN2
SUB_DI
EN
ENO
IN1
OUT
IN2
OUT
Resta el contenido de ACU2 con ACU1 y el resultado lo almacena en ACU1 ( IN1 - IN2 = OUT ).
Ejemplo:
L 10
L3
I
//ACU2-ACU1
ACU1=7; ACU2=10
Pgina:
67/82
MUL_I
EN
ENO
ENO
IN1
IN1
IN2
EN
OUT
IN2
OUT
ACU1=200; ACU2=2
La instruccin de divisin /I, /D divide el contenido de ACU2 entre ACU1 y el resultado se almacena de dos
formas distintas segn se multipliquen enteros y dobles enteros:
En caso de divisin de enteros el resultado se almacena en ACU1 en forma de dos enteros de 16 bits:
DIV_I
EN
ENO
IN1
IN2
OUT
En caso de dividir dos enteros dobles el cociente se almacena en ACU1 y el resto de la divisin se obtiene realizando la
operacin MOD.
Ejemplo:
MOD
L ED10
L MD14
EN
ENO
/D
T MD20
//Almaceno el cociente
IN1
MOD
T MD24
//Almaceno el resto
IN2
OUT
Ejemplo:
L 1.0
L 2.4
+R
EN
//ACU2+ ACU1
ACU1=3.4; ACU2=1.0
ENO
IN1
IN2
OUT
Pgina:
68/82
La instruccin de resta R resta el contenido de ACU2 (32bits) con ACU1 (32bits) y el resultado lo almacena en
ACU1 (32 bits).
SUB_R
Ejemplo:
EN
ENO
L 25.0
IN1
L 13.4
R
//ACU2-ACU1
ACU1=11.6; ACU2=25.0
IN2
OUT
La instruccin de multiplicacin *R multiplica el contenido de ACU2 (32bits) por ACU1 (32bits) y el resultado lo
almacena en ACU1 (32 bits).
MUL_R
Ejemplo:
EN
L 10.0
L 2.0
*R
//ACU2* ACU1
ENO
IN1
ACU1=20.0; ACU2=10.0
IN2
OUT
La instruccin de divisin /R divide el contenido de ACU2 (32bits) entre ACU1 (32bits) y el resultado lo almacena
en ACU1 (32 bits).
DIV_R
Ejemplo:
EN
ENO
IN1
L 10.0
L 2.0
/R
IN2
//ACU2* ACU1
OUT
ACU1=5.0; ACU2=10.0
Pgina:
69/82
Precio/litro
1 euro
1,2 euros
Gasoil
0,88 euros
Cuando usemos la manguera, que simularemos como pulsador, nos saldrn X litros de gasolina a razn de 1 litro por
segundo (la salida de gasolina la simulamos temporizando una salida del autmata).
ENTRADAS
Botn 6 euros
Botn 3 euros
Anular
Pulsador sin plomo
Pulsador sper
Pulsador gasoil
Pulsador manguera
E0.0
E0.1
E0.2
E0.3
E0.4
E0.5
E0.6
SALIDAS
Luz funciona
Luz sin plomo
Luz sper
Luz gasoil
Salida gasolina
A0.0
A0.1
A0.2
A0.3
A0.4
Pgina:
70/82
14.
OPERACIONES LGICAS
Las operaciones lgicas son instrucciones muy tiles a la hora de tratar estados de la instalacin. A menudo su
desconocimiento obliga al programador a realizar complicadas secuencias de bits, cuando se hubiera podido tratar todos
los datos agrupados en una doble palabra, y resolver la tarea en pocas lneas de cdigo.
14.1.
Pgina:
71/82
El nico punto que puede no ser obvio es la parte en la que se realiza la Y lgica con el valor del ACU. Despus de
realizar la XOD, necesitamos conocer si el cambio en algn bit de la palabra se debe a que aparece la alarma o a que
desaparece. Es por esto por lo que se requiere realizar esta operacin, ya que en caso contrario la sirena sonara cuando
aparece la alarma y cuando desaparece.
La funcin XOR es la gran desconocida por parte de los programadores para detectar qu est cambiando en su proceso.
Pgina:
72/82
15.
OPERACIONES DE DESPLAZAMIENTO
A la izquierda:
SLW <n de bits> Desplaza la palabra baja (bits 0
al 15) de ACU1 n bits (0-15) a la izquierda. Los bits
vacos se rellenan con cero.
A la izquierda:
SLD <n de bits> Desplaza el contenido de
ACU1 n bits (0-32) a la izquierda. Los bits vacos
se rellenan con cero.
Pgina:
73/82
16.
OPERACIONES DE ROTACIN
A la izquierda:
RLD <n de bits> Rota el ACU1 n bits (0-32) a la
izquierda. Los bits que van quedando vacos se llenan
con los que salen del ACU1.
Pgina:
74/82
Ejemplo:
Ejemplo de aplicacin
El desplazamiento y la rotacin son las operaciones necesarias para poder realizar un control secuencial (por pasos) de
un programa
La utilidad de estas instrucciones va a ser, por ejemplo, la activacin de una serie de motores o etapas de programa de
una manera secuencial.
Vamos a suponer que queremos activar una serie de 10 bombas, conectadas a las marcas M1.0 hasta la M0.1. Con un
bit, que se va a desplazar en este rango, indicaremos que bomba debe de arrancar cada vez.
Pgina:
75/82
17.
OPERACIONES DE SALTO
(Vase pgina 9)
Pgina:
76/82
La operacin Salto a meta (SPL) es un distribuidor de saltos seguido de una serie de saltos incondicionales a metas
determinadas (lista de saltos). El salto de la lista se escoge segn el valor contenido en el ACU1, es decir si el acu1 vale
0 se escoger el primer salto incondicional (SPA), si vale 1 se saltar al segundo salto... Si el valor se encuentra fuera de
la lista se salta a la meta especificada en SPL.
Una meta se compone de 4 caracteres como mximo. El primer carcter debe ser siempre una letra, no importando si el
resto son nmeros o letras. La meta se especifica normalmente en el operando de la instruccin de salto, y seguida de
dos puntos frente a la lnea que posee la meta (ver ejemplos).
Ejemplo de salto SPL:
L MB100
SPL NORM
SPA UNO
SPA CONT
SPA DOS
Salto absoluto
Funciona como un salto absoluto cuando no hay otro elemento KOP entre el conductor izquierdo y la operacin (v.
ejemplo).
Cada salto ---( JMP ) tiene que tener una meta (LABEL).
No se ejecutarn las operaciones que se encuentren entre la operacin de salto y la meta!
Ejemplo:
Segmento 1
CAS1
( JMP )
...
...
...
...
Pgina:
77/82
Segmento x
CAS1
E 0.4
A 4.1
( R)
El salto se ejecuta en todos los casos, omitindose (pasando por alto) las operaciones que se encuentren entre la
operacin de salto y la meta.
Pgina:
78/82
Funciona como un salto condicional cuando el RLO de la combinacin lgica anterior es "1". Cada salto ---( JMP )
tiene que tener una meta (LABEL).
No se ejecutarn las operaciones que se encuentren entre la operacin de salto y la meta! Si un salto condicional no se
ejecuta, el RLO cambia a "1" despus de la operacin de salto.
Ejemplo:
Segmento 1
E 0.0
CAS1
( JMP )
Segmento 2
E 0.3
A 4.0
( R)
Segmento x
CAS1
E 0.4
A 4.1
( R)
Si la entrada E 0.0 es 0 se ejecuta el salto a la meta CAS1. Al llevarse a cabo el salto, en la salida A 4.0 no se ejecuta la
operacin Poner salida a 0, aunque E 0.3 sea 1.
Pgina:
79/82
Pgina:
80/82
Estas instrucciones efectan un salto en el programa hacia una meta determinada, para el caso de cumplir la condicin
que necesitan:
A continuacin se muestra el estado de A1 y A0 tras una operacin con los acumuladores:
Pgina:
81/82
Si el mdulo que finaliza es el OB1 se finaliza el ciclo de ejecucin del programa, volviendo a comenzar uno nuevo.
---( RET )
RET (Retorno) sirve para salir de los bloques condicionalmente. Para emplear esta salida se necesita una combinacin
lgica previa.
Pgina:
82/82