Está en la página 1de 54

INTELIGENCIA ARTIFICIAL, CORP.

TEGNOLOGIA EN

AUTOMATIZACION, CONTROL Y TRANSMISION DE POTENCIA

Instrucciones de plc allen bradley

Los modelos PLC-5, SLC-5/01 y SLC-5/02 son modulares y por lo tanto se


corresponderan con lo que se explica a continuacin. El SLC-500 es compacto
y aunque internamente tiene los mismos elementos, no est diferenciado
externamente.

El procesador es la parte inteligente del autmata. Tiene en su interior


microprocesadores y memoria. En los modulares, debe ocupar el slot de la
izquierda del chasis.

En la memoria se guarda el programa actual del autmata y tambin los datos


necesarios para el funcionamiento de los contadores, temporizadores, etc, y el
estado de los contadores, rels internos, temporizadores,etc.

En el frontal tiene una serie de pilotos que indican el estado en que se


encuentra. Tambin hay uno conectores que permiten comunicarse con los
equipos de programacin, con los posibles chasis remotos y con otros
autmatas conectados en red con l. Tambin existe un alojamiento para la
batera, que es la que se encarga de mantener la memoria, cuando el procesador
se encuentra sin alimentacin.

Un conmutador situado en el frontal del PLC-5 nos permite elegir entre el


modo PROG y el modo RUN.

En el modo PROG, es cuando nos ser permitido programar el autmata.

En el modo RUN, es cuando el autmata est procesando, el programa.


Tambin existe una posicin intermedia REM, que permite al equipo de
programacin cambiar entre un modo u otro. En los SLC esta funcin siempre
es remota.

La fuente de alimentacin se encarga de convertir la tensin alterne de entrada


a las tensiones de trabajo de los elementos del chasis.

En el resto de sitios disponibles en el chasis(slots), se pueden poner tantos


mdulos como se quiera. Los modulos pueden ser entre otros:

ENTRADAS DIGITALES o ANALOGICAS


SALIDAS DIGITALES o ANALOGICAS
E/S COMBINADAS
COMUNICACIONES
CONTAJE RAPIDO
MODULOS DE CONTROL DE EJES
REGULACION
PESAJE
FUNCIONES ESPECIALES

DIRECCIONAMIENTO DE ENTRADAS Y SALIDAS EN EL PLC-5

Cada uno de los slots del chasis es un grupo. En cada grupo puede haber un
mximo de 16 entradas y 16 salidas. Se llama Rack a un conjunto de 8 grupos.

El primer slot, al lado del microprocesador, es el 0 del rack 0, el siguiente el 1


el siguiente el 2, asi sucesivamente. El rack 0 tiene los slots 0 a 7, lo que hace
un total de 8.

En cada slot podemos poner una tarjeta de entradas o salidas. Su direccin est
formada por tres cifras. La primera es un cero, la segunda es el nombre del rack
y la tercera el nmero de slot. Los slots 0 y 1 no estan disponibles puesto que se
encuentra la fuente de alimentacin.

Si en el slot 2 ponemos una tarjeta de 8 entradas sun direcciones


correspondern a I:002. para distinguir una entrada concreta, por ejemplo la 6
escribiremos I:002/6. Si ponemos una tarjeta de salidas en el slot 3
escribiremos O:003. Si en el slot 4 ponemos una tarjeta de 16 entradas, las ocho
primeras sern I:004/00 a I:004/7 y las dems sern I:004/10 a I:004/17, esto es
debido a que el direccionamiento se realiza en octal.
DIRECCIONAMIENTO DE ENTRADAS Y SALIDAS EN LOS SLC.

En los slc-5/01 y slc-5/02 cada slot puede tener entradas o salidas. Si por
ejemplo se pone una tarjeta de 16 salidas en el slot 3, la direccin del bit ser
O:3/15 o tambin O:3.0/15 Si la tarjeta tiene mas de 16 bits ocupar mas de una
palabra. Si en el slot 2 ponemos una tarjeta con 32 bits de entrada, el bit 15 se
direccionar con I:2.0/15, el bit 16 como I:2.1/0 y el bit 31 con I:2.1/15.

En los SLC-500 las entradas y salidas compactas estn en el rack 0, la direccin


de la salida 7, por ejemplo ser O:0/7. Si adems, aadimos mas tarjetas, estas
se direccionarn como en los SLC modulares.

Ciclo Funcionamiento

Un ciclo de la operacin consiste en dos partes:

1. -Scan de Salidas y Entradas.


2. -Scan de programa

-En el scan de salidas y entradas lo primero que hace el procesador es actualizar


las salidas con el estado de las tablas de salidas (archivo 0) que se han puesto a
"1" o a "0" segun el programa. Posteriormente el archivo de entradas (fichero I)
es actualizado segn el estado de las entradas.

-En el scan de programa el microprocesador va haciendo un escrutinio de las


instrucciones del programa y las va ejecutando, actualizando tablas de datos.

Distribucin Memoria

La memoria del plc se divide en dos partes, la memoria de programa y la de


datos. En la parte baja de la memoria se encuentran los archivos de datos y
cuando terminan stos empieza la zona de archivos de programa. Amedida que
los datos aumentan de tamao se va desplazando la parte de instrucciones de
programa hacia ms arriba de la memoria. En el siguiente esquema podemos
ver lo explicado:

ARCHIVOS
DE DATOS
ARCHIVOS

DE

PROGRAMA
LIBRE

Archivos de Programa

Se pueden crear hasta 255 archivos de programa, de los cuales, los dos
primeros estn reservados:

-Archivo nmero 0 esta destinado al uso interno del plc, este archivo se crea
solo automticamente al empezar un programa.

-El fichero 1 actualmente no se utiliza, pero esta destinado a la programacin


en SFC en futuras versiones.

-El archivo nmero 2 tambin se crea automticamente y es el fichero que


contiene el programa principal.El PLC siempre empieza a ejecutar las
instucciones por el principio de este fichero y termina el ciclo al llegar al final
de este mismo archivo.

-El resto de ficheros de programa los ha de crear el usuario, y puede crear del
nmero 3 al 255. Los archivos no tienen por que ir seguidos. Es decir, se puede
crear el 10, el 20 y 22, sin utilizar los archivos de en medio.

0 Funcin de sistema
1 Reservado
2 Programa Principal
3-255 Programas de subrutinas

Archivos de Datos
Los archivos de datos son zonas de la memoria que va creando el usuario al
hacer su programa. Cada una de estas zonas especifica un determinado nmero
de datos de un tipo . Los tipos pueden ser BITS, ENTEROS,
TEMPORIZADORES,etc...

Cada fichero de datos puede tener de 0 a 255 elementos, por ejemplo, podemos
definir un archivo de temporizadores con 10 elementos o un fichero de enteros
de 100 elementos. Con elementos se entiende el tipo de dato que representa el
archivo. Es importante hacer notar, que no tienen porque tener la misma
longuitud elementos de ficheros de tipo distintos.

Para definir un determinado archivo para su utilizacin en el programa, tan solo


hace falta utilizarlo en alguna instruccin, automticamente se crea dicho
archivo con una longuitud igual a la mayor utilizada hasta ese momento de ese
mismo archivo. Si posteriormente se vuelve a utilizar el mismo fichero pero
haciendo referencia a un elemento que no esta dentro de la longuitud actual, en
ese caso, se alarga la definicin del archivo de forma automtica.

ARCHIVOS DE DATOS

0 Imagen de Salida
1 Imagen de Entrada
2 Estado
3 Bit
4 Temporizador
5 Contador
6 Control
7 Entero
8 Reservado
9 Comunicacin RS-485
10-255 A declarar por el usuario

En la tabla anterior se puede apreciar los archivos que crea automticamente el


PLC al iniciar la programacin de una aplicacin. Los ficheros que van del 10
al 255 los puede ir creando el usuario a su antojo a lo largo del programa.

El archivo nmero 8 esta reservado al uso interno del PLC y el 9 a la


realizacin de comunicaciones por la red DH-485.
A continuacin se explica los distintos tipos de archivos de datos, los cuales se
identifican con una letra y un nmero:

Tipo de archivo Identificador Nmero


Salidas O Slo el 0
Entradas I Slo el 1
Estado S Slo el 2
Bit B 3 a 255
Temporizador T 4 a 255
Contador C 5 a 255
Control R 6 a 255
Enteros N 7 a255

A continuacin explicaremos la forma de referirse a un elemento de un fichero,


lo cual , recibe el nombre de DIRECCIONAMIENTO.

Direccionamiento

La mejor forma de explicar el direccionamiento es a base de ejemplos. En


primer lugar vamos a ver como sera para acceder al elemento 10 del fichero 7
que es de enteros:

N7:10

N Es el identificador de tipo, en este caso de Enteros

7 Fichero nmero 7

10 Elemento nmero 10

Ejemplo para direccionar el elemento 21 del fichero 100 de temporizadores y


concretamente el acumulado del temporizador (esto se explicar mas adelante):

T100:21.ACC

Como puede verse lo primero que hay que poner es la letra identificadora del
tipo de archivo, seguida del nmero (3-255) de archivo y finalmente el
elemento al cual se hace referencia.
Para direccionar el bit 64 del fichero 12 binario habra que poner: B12:3/0 o
bien B12/64

Archivos de Bits

Estos archivos estn destinados a poder trabajar de forma cmoda con bits.Los
elementos de estos ficheros son palabras de 16 bits y pueden definirse de 0 a
255 palabras, con lo cual podemos tener un mximo de 4096 bits en un solo
archivo binario.

La manera de direccionar estos archivos es de formas, a traves de la palabra y


bit de la palabra o directamente el nmero de bit respecto al inicio del
archivo(vase el ejemplo anterior).

Archivos de Temporizadores

Este tipo de archivos destinados para poder trabajar con las instrucciones de
temporizacin. Los elementos de estos ficheros estn formados por 3 palabras.
la estructura de estos registros es la siguiente:

15 14 13 0
EN TT DN Uso Interno
Valor de preajuste (PRE)
Valor de acumulador (ACC)

-El bit EN es de instruccin habilitada.

-El bit DN es de temporizacin terminada.

-El bit TT es de temporizacin realizndose.

-El valor de preset es la palabra en donde se pone el valor hasta el que se quiere
que el temporizador cuente.

-El valor de acumulado, es en donde el plc deja el valor hasta el que ha contado
en cada momento.
Ejemplo de direccionamiento de estos bits, teniendo en cuenta que se utiliza el
archivo de temporizadores nmero 11 y el elemento 2 de dicho archivo como
ejemplo:

-T11:2.EN habilitacin.

-T11:2.DN hecho.

-T11:2.TT temporizando.

-T11:2.PRE Preset.

-T11:2.ACC Acumulado.

Estos archivos pueden contener un mximo de 256 elementos, que teniendo en


cuenta que cada elemento son tres palabras, tendramos que en un archivo de
temporizadores podemos llegar a ocupar 768 palabras.

Archivos de Contadores

Este tipo de archivos estn destinados para poder trabajarcon las instrucciones
de contadores. Los elementos de estos ficheros estn formados por 3 palabras.
La estructura de estos registros es la siguiente:

151413 1211 0
CU CD DN UN UA Uso Interno
Valor de preajuste (PRE)
Valor de acumulador (ACC)

-El bit CU el contador cuenta hacia adelante.

-El bit DN es de temporizacin terminada.

-El bit CD el contador cuenta hacia atrs.

-El bit UN indica desbordamiento inferior.


-El bit OV indica desbordamiento.

-El valor de preset es la palabra en donde se pone el valor hasta el que se quiere
que el contador cuente.

-El valor acumulado, es en donde el plc deja el valor hasta el que ha contado en
cada momento.

Ejemplo de direccionamiento de estos bits, teniendo en cuenta que se utiliza el


archivo de contadores nmero 15 y el elemento 23 de dicho archivo como
ejemplo:

-C15:23.UN habilitacin cuenta adelante.

-C15:23.DN hecho.

-C15:23. CU habilitacin cuenta atrs.

-C15:23.PRE Preset.

-C15:23.ACC Acumulado.

Estos archivos pueden contener un mximo de 256 elementos al igual que los
ficheros de temporizadores.

Archivos de Control

Estos ficheros se utilizan en instrucciones potentes que precisan de una zona de


memoria extra para poder controlar la operacin que realizan. Instrucciones del
tipo movimiento de palabras, movimiento de bits, bsqueda, secuenciadores,
etc...

Cada elemento de estos ficheros est formado por 3 palabras, la estructura del
cual es la siguiente:

15 14 13 12 11 10 0
EN DN ER UL IN FDUso Interno
Longitud
Posicin

-El bit EN instruccin habilitada


-El bit DN instruccin terminada

-El bit ER instruccin ha encontrado un error

-El bit UL bit de descarga (instrucciones de desplazamiento de bits BSL, BSR).

-El bit IN Inhibir

-El bit FD encontrado (en instrucciones SQC)

-Longitud es la dimensin que tiene el archivo con el que se quiere trabajar

-Posicin dentro del fichero de trabajo, a la cual esta apuntando la instruccin


en un determinado momento de la operacin.

El mximo nmero de elementos es al igual que en casos anteriores de 256.

Archivos de Enteros

Estos archivos son utilizados para almacenar datos numricos, como pueden ser
resultados de operaciones matemticas, valores proporcionados por tarjetas
analgicas, etc...

El nmero ms grande que pueden almacenar es de +32.767 y el ms pequeo


es de -32.768.

Cada elemento de estos ficheros ocupa una palabra, y se pueden definir un


mximo de 256 elementos.

Como ejemplo de direccionamiento pondremos el fichero 35 elemento 123:

N35:123

Archivos de Estado

El archivo de estado del sistema le proporciona informacin concerniente a


diversas instrucciones que puedan estar usando en su programa. El archivo de
estado indica averas menores, informacin de diagnstico sobre fallos
importantes, modos del procesador, tiempo de scan velocidad en baudios,
direcciones de nodo del sistema y otros tipos de datos.

El fichero de estado tambin proporciona informacin que se puede utilizar en


el programa de usuario, tal como:

-Cargar mdulo de memoria cuando error de memoria.

-Cdigos de error creados por el usuario

-Bit de primer scan

-Y otros

La palabra S2:0 contiene las banderas artmticas. El procesador actualiza y


valora las banderas aritmticas despus de cada ejecucin de una instruccin
lgica , matemtica o de traslado. Los bits que forman esta palabra son el Bit de
acarreo, Bit de desbordamiento, Bit de cero y Bit de signo.

Los Bits s2:1/0 a S2:1/4 indican el modo actual del microprocesador.


Dependiendo del nmero que tengamos en estos bits sabremos en que modo
esta funcionando el plc:

-Cdigo = 0 Cargando un programa

-Cdigo = 1 Modo de programa

-Cdigo = 3 En reposo.(ejecutada instruccin SUS)

-Cdigo = 6 Ejecutando un programa

-Cdigo = 7 Modo continuo de test

-Cdigo = 8 Scan nico de test

El Bit S2:1/5 informa que las tablas de E/S forzadas estn activadas. En caso
contrario el bit est a 0.

El bit S2:1/6 indica cuando est a 1 que existen tablas de forzados de E/S , lo
cual no quiere decir que estn activas. Si no hay ninguna tabla de forzados el
bit esta a 0.
El Bit S2:1/7 indica que hay como mnimo otro nodo en la red de
comunicaciones DH-485. En caso contrario esta a 0.

El Bit S2:1/8 ha de ponerlo a 1 el usuario para obligar al procesador a borrar el


bit de fallo e intentar arrancar y ejecutar el programa. Si este bit permanece a 0
el procesador permanece en un estado de avera importante.

El Bit S2:1/10 puesto a 1 hace que al producirse un error de memoria se


transfiera de forma automtica el contenido del mdulo de memoria opcional a
la memoria del procesador.Para poder ralizar esta operacin de forma correcta
debe de existir dicho mdulo y debe de contener un programa que el
procesador pueda ejecutar.

El Bit S2:1/13 cuando contiene un valor de 1indica que el plc ha entrado en


una avera importante , deteniendo por tanto la ejecucin del programa. Para
facilitar el tipo de error que se ha producido deja un cdigo de error en la
palabra S2:6 el cual nos proporciona una pista de lo que ha podido suceder. Si
ponemos este bit a cero el procesador intenta arrancar el programa.

El Bit S2:1/14 es un bit que al ponerlo a 1 protege el acceso por parte de un


terminal al plc. Para poder poder entrar a supervisar el plc hace falta que el
terminal tenga una copia del programa que tiene el plc en su memoria.

El Bit S2:1/15 se pone a 1 cuando se arranca el plc y ste realiza el escrutinio


del programa por primera vez. En el segundo paso por el programa y en pasos
sucesivos (a no ser que se detenga el plc) este bit restar a cero.

Los Bits S2:3/0 a S2:3/7 contienen el tiempo que tarda el procesador en


realizar un ciclo completodel programa del usuario.

Los Bits S2:3/8 a S2:3/15 contiene el tiempo en unidades de 100 milisegundos


que como mximo se permite al procesador en realizar un scan completo de
programa. Si se diera el caso que la cpu tarda ms tiempo que el que se ha
establecido en estos bits el plc entrar en fallo y se parar.

La palabra S2:4 es un registro que se pone a 0 al iniciar una ejecucin del


programa y se va incrementando su valor cada 10 milisegundo. De esta forma
el programa puede consultar los bits de esta palabra si quiere realizar
operaciones con una base de tiempos precisa.
La palabra S2:5 contiene bits que indican sucesos que conllevan a un error
pero que es considerado como un error menor, el cual no provoca la parada del
programa.

La palabra S2:6 est destinada a guardar un cdigo que indica el tipo de error
que se ha producido y que ha provocado la parada del plc. Cuando el
procesador detecta un fallo mayor, deja en esta posicin el cdigo referente al
suceso, de esta forma el programador puede tener una gua a la hora de
solventar un problema.

La palabra S2:7 alberga el cdigo de una instruccin SUS que se haya


ejecutado. De esta forma el programador puede saber porque se ha parado su
programa.

La palabra S2:8 contiene el nmero del archivo de programa en el cual se ha


ejecutado la instruccin SUS que ha provocado la parada del programa.

Las palabras S2:9 y S2:10 representas los 32 posibles nodos de la red DH-
485.Los bits que estn a 1 indican que una estacin con el nmero de nodo
correspondiente al nmero de bit de 0 a 32 esta activa, los bits a cero indican
estaciones inactivas.

Las palabras S2:11 y S2:12 estn mapeadas a bits para representar los 30 slots
posibles de E/S en un sistema SLC-500. El bit S2:11/0 representa el slot 0, el
S2:11/1 el slot 1 y S2:12/14 el slot 30.

Cuando uno de estos bits es puesto a 1 permite que el procesador actualice el


slot que hace referencia ese bit. Si esta puesto a 0 el plc ignora la tarjeta E/S
que haya en ese slot.

Los Bits S2:15/8 a S2:15/15 contienen un valor que indica la velocidad de


comunicacin por la red DH-485. Puede ser de 19,2 Kbaudios o 9,6 Kbaudios.

Esta instruccin corresponde al contacto normalmente abierto.La


instruccin es cierta si el contacto est cerrado.

Esta instruccin, corresponde al contacto, normalmente cerrado. La


instruccin es cierta si el contacto est abierto.
Corresponde a una bobina de rel. Si la linea que le precede es cierta
se activa la salida.Si por el contrario, no lo es, se desactiva.

La instruccin OTE, no es retentiva.Las instrucciones OTE se ponen acero


cuando:

Se entra o vuelve al modo de ejecucin o se vuelve a activar el sistema.


Ocurre un error grave.
La OTE est programada en una zona MCR falsa o inactiva.

Equivale a un rel de memoria. Cuando la linea es cierta se activa la


salida y se mantiene activada. Si por cualquier motivo se cortara la
alimentacin del autmata, cuando esta, se restableciese, la salida continuar
activada.

Equivale a un rel de memoria. Cuando la linea es cierta, se desactiva


la saliday se mantiene desactivada, incluso si se corta la alimentacin.

Las dos ltimas instrucciones(OTL OTU), trabajan siempre juntas, es decir si


utilizamos OTL para activar una salida, para poder desactivarla, tentremos que
hacer una OTU, para poder desactivar dicha salida.

Cuando el procesador cambia de modo de ejecucin al modo de programa, o


cuando haya un corte de alimentacin, la ltima instruccin verdadera de forzar
o soltar salida continua controlando el bit de memoria.

Las salidas fsicas se apagan bajo condiciones de error grave. Sin embargo,
cuando se fijan las condiciones de error, el controlador reanudar el
funcionamiento usando el valor de la tabla de datos del operando.

Es un impulso. Cuando la parte de la linea que esta a su izquierda pasa


de falsa a cierta la instruccin, y por tanto la lnea, ser cierta solamente
durante un scan de programa y despus ser falsa hasta que la parte de la lnea
que esta a su izquierda vuelva a pasar de falsa a cierta.

Esta instuccin se debera programar inmediatamente precediendo a la


instruccin de salida(no ramificada) para asegurar que es examinada en cada
evaluacin del rengln.

Ramificaciones
Use ramificacin para formar lgica paralela en su programa. Las ramas se
pueden establecer tanto en las porciones de entrada como salida de un rengln.

El lmite superior al nmero de niveles que se pueden programar en una


estructura de ramas es de 75. El nmero mximo de instrucciones poe rengln
es de 128.

Ramificacin de Entrada
Use una rama de entrada, para permitir ms de una combinacin o condicin de
entrada, para formar ramas paralelas (condiciones de 0 lgica). Si por lo menos
una de estas ramas paralelas forman un camino lgico verdadero, se habilita la
lgica del rengln. Si ninguna de las ramas paralelas forma un camino lgico
verdadero la lgica del rengln no ser cierta y la salida no se activar.

Ramificacin de salida
Se pueden programar salidas paralelas en rengln. Cuando se ramifican salidas,
no se permite la programacin de instrucciones(condicionales) de entrada en la
rama de salida.

INTRODUCCION

Las instrucciones de actualizacin de entrada salida incluyen las instrucciones


de entrada y salida inmediata. La instruccin de entrada inmediata (IIM) mueve
el estado de las 16 entradas de un slot a travs de una mscara, dejando
disponibles dichas entradas para su utilizacin. La instruccin de salida
inmediata (IOM) actualiza las salidas de un slot E/S con datos trasladados a
travs de una mscara.

Los datos de entrada se mueven a travs de una


mscara y se colocan a la entrada del archivo de datos de imagen <archivo 1:).
Para la mscara, un 1 en la posicin del bit de una entrada hace que dicha
entrada se actualice. Por el

contrario un O en la posicin del bit de una entrada hace que sta no se


actualice.

Parmetros de la instruccin:

Slot : Especfica el numero de slot en el cual se encuentran las entradas que se


desean actualizar. Por ejemplo: 1:3

Mscara : Especfica una constante en hexadecimal con lo cual permitimos


actualizar solo las entradas que queremos de una misma palabra. Tambin se
puede especificar una direccin de registro.

Los datos de salida (archivo O:) se mueven a


travs de una mscara y fuerzan la actualizacin inmediata de las salidas fsicas
direccionadas con el parmetro slot. Para la mscara, un 1 en la posicin del bit
de una salida hace que dicha salida se actualice. Por el contrario un O en la
posicin del bit de una salida hace que sta no se actualice.

Parmetros de la instruccin:

Slot : Especfica el numero de slot en el cual se encuentran las salidas que se


desean actualizar. Por ejemplo:

0:2
Mscara : Especfica una constante en hexadecimal con lo cual permitimos
actualizar solo las salidas que queremos de una misma palabra. Tambin se
puede especificar una direccin de registro. Por ejemplo: OFE

Temporizadores

Los temporizadores, cuando estn activados, van incrementando un contador


cada unidad de tiempo. Cuando este contador coincide con el valor de
temporizacin preseleccionado (PRE) el contador se detiene, e indica el final de
la temporizacin.

El temporizador puede trabajar con dos bases de tiempo: 1 y 0.01, la primera


base de tiempo se dar en segundos y la otra en centsimas de segundo, esto es
en los PLC y SLC-5/02, en el resto siempre ser 0.01.

El temporizador de 0.01 seg mantiene la exactitud con un scan de programa de


hasta 2,5 seg.

Los valores acumulados y de preseleccin para los temporizadores se mueven


en un margen de 0 a +32.767

La temporizacin podr ser incorrecta si las instrucciones JMP/LBL o


JSR/SBR se saltan la instruccin de temporizador mientras el temporizador est
temporizando.

Cada temporizador tiene dos variables y tres bits.

las variables son:

PRE Valor de temporizacin preseleccionado

ACC Valor actual (acumulado) del contador de temporizacin

y los bits:

EN Est a 1 cuando la linea en la que se encuentra el temporizador es cierta

TT Se encuentra a 1 cuando el temporizador est contando, es decir si EN=1 y


ACC<PRE
DN Sepone a 1 cuando el temporizador acaba de contar, es decir EN=1 y ACC
PRE

EStos bits y variables se pueden direccionar directamente.Por ejemplo, en el


caso del temporizador 3 del fichero 4 tendremos:

T4:3.PRE - T4:3/EN - T4:3.ACC - T4:3/TT - T4:3/DN

Contadores

Los contadores se incrementan o decrementan cuando la lnea pasa de falsa a


cierta. Cuando el contador coincide con el valor preseleccionado, el contador
indica la finalizacin de contaje, pero no se detiene, por lo tanto, si continua
habiendo transiciones de verdadero a falso, estas tambin son contadas. Para
poner un contador a cero tenemos que utilizar la instruccion RES

Los valores para los contadores van de -32.768 a +32.767. Los valores
acumulados y de preseleccin se guardan como enteros con signo. Las
instrucciones CTU y CTD son retentivas. El valor se mantiene despus de que
la instruccin se haga falsa.

Los contadores tienen dos variables y cinco bits.

las variables son:

PRE Valor de contaje preseleccionado (positivo o negativo)

ACC Valor actual (acumulado) del contador de contaje

los bits son:

CU est a 1 si la linea donde hay una condicin de incremento del contador es


cierta

CD Est a 1 si la linea donde hay una condicin de decremento del contador es


cierta

DN Se pone a 1 cuando el contador est validado y ACC PRE

OV Se pone a 1 cuando el contador sobrepasa el lmite(+32767)


UN Se pone a 1 cuando el descontador sobrepasa el lmite (-32768)

Estas variables y bits se pueden direccionar directamente. en el caso del


contador 5 del fichero 5 sera de la siguiente manera:

C5:5.PRE - C5:5/CU - C5:5/OV - C5:5.ACC - C5:5/CD - C5:5/UN - C5:5/DN

TON

Cuando la lnea es cierta el temporizador


empieza a contar (EN=1,TT=1, DN=0) hasta que ACC=PRE . Cuando PRE
deja de contar (TT=0) y activa la salida (DN=1). Si en cualquier momento, la
lnea deja de ser cierta se desactiva el temporizador (EN=0) y se pone a cero
(ACC=0).

Cuando el procesador pasa del modo de test o de ejecucin al modo de


programa o se pierde la alimentacin, mientras un temporizador est habilitado,
pero no ha alcanzado el valor de preseleccin, ocurre lo siguienete:

-El bit EN permanece a 1

-El bit TT permanece a 1

- El valor acumulado permanece igual

Cuando se vuelve al modo de test o de ejecucin, pueden suceder dos cosas:

Si la linea es cierta:

- Se pone a cero el acumulador

- El bit TT permanece a 1

- El bit EN permanece a 1
Si la lnea es falsa :

- El acumulador se pone a cero

- Los bits de control se ponen a cero

TOF

Cuando la linea, pasa a ser falsa eltemporizador


pasa a contar (EN=0, TT=1, DN=1) hasta que ACC=PRE . Cuando deja de
contar (TT=0) y desactiva la salida (DN=0). Si en cualquier momento , la lnea
deja de ser falsa, se para el temporizador (EN=1) y se pone a cero (ACC=0).

Cuando el funcionamiento del procesador cambia del modo de test o de


ejecucin al modo de programa o se pierde la alimentacin mientras una
instruccin de temporizacin est temporizando pero no ha alcanzado su valor
de preseleccin, ocurre lo siguiente:

-El bit EN permanece a cero

-El bit de DN y TT permanece a 1

-El valor acumulado permanece igual.

Cuando se vuelve al modo de test o de ejecucin, pueden suceder dos cosas

Si el rengln es verdadero:

-Se pone a cero el acumulador

-El bit TT permanece a 0

-El bit EN permanece a 1

-El bit DN permanece a 1


Si el rengln es falso:

-El acumulador se pone al valor de preseleccin

-Los bits de control se ponen a cero

La instruccin de Contador/Temporizador RES no se puede utilizar con la


instruccin TOF.

RTO

Cuando la lnea es cierta el temporizador


empieza a contar (EN=1, TT=1, DN=0), hasta que ACC=PRE. Cuando
ACC=PRE deja de contar (TT=0) y activa la salida (DN=1). Si en cualquier
momento, la lnea deja de ser cierta, se para el contador (EN=0, TT=0) pero no
se pone a cero ni se desactiva DN si estaba activado. Para ponerlo a cero est la
instruccin RES

CTU CTD

Cada cuenta se retiene cuando las condiciones de rengln vuelven a hacerse


falsas. La cuenta se retiene hasta que se habilite una instruccin RES que tenga
la misma direccin que la instruccin del contador.
Cada instruccin de contador tiene un valor acumulado y de preseleccin y una
palabra de control asociada con ella.

La palabra de control para las instrucciones de contador incluye 6 bits de


estado.

15 ......14 ..13 .12 ..11 ..10


CU CD DN 0V UN UA ...............USO INTERNO
VALOR DE PRESELCCION
VALOR ACUMULADO

CU: Bit de habilitacin de cuenta adelante

CD: Bit de habilitacin de cuenta atrs

DN: Bit de hecho del contador

0V: Bit de desbordamiento

UN: Bit de desbordamiento inferior

UA: Acumulador de actualizacin (solo HSC)

Los valores acumulados y de preseleccin del contador se almacenan como


enteros con signo.

Cuando las condiciones de rengln para una instruccin CTU sufren una
transicin falso-a-verdadero, el valor acumulado se incrementa en una cuenta,
siempre que entre estas transiciones tenga lugar una evaluacin. Cuando esto
ocurre sucesivamente de manera que el valor acumulado se hace igual al valor
de preseleccin, el bit hecho del contador se pone a 1 y permanece as si excede
la preseleccin.

El bit 15 de la palabra de control del contador es el bit de habilitacin de la


cuenta adelante (CU). Se pone a 1 cuando las condiciones del rengln de la
instruccin CTU son verdaderas. El bit se pone a cero tanto cuando el rengln
se hace falso o se habilita una instruccin RES que tenga la misma direccin
que la instruccin CTU.

Las instrucciones CTU pueden contar ms all de su valor de preseleccin.


Cuando el contaje continua ms all de su valor de preseleccin y alcanza el
valor de 32767+1 , se da una condicin de desbordamiento. Esto se refleja en el
bit 12

el bit de desbordamiento OV> se pone a 1.

Habilitando una instruccin RES que tenga la misma direccin que la


instruccin CTU permite poner a O el bit de desbordamiento.

Cuando el bit 0V se pone a 1, el valor acumulado torna el valor de -32768 y


continua contando desde ah.

Cuando las condiciones de rengln para una instruccin CTD sufren una
transicin falso-a-verdadero, el valor acumulado se decrementa en una cuenta,
siempre que entre estas transiciones tenga lugar una evaluacin. Cuando esto
ocurre sucesivamente de manera que el valor acumulado sea menor al valor de
preseleccin, el bit hecho del contador se pone a O y permanece as si excede la
preseleccin.

El bit 14 de la palabra de control del contador es el bit de habilitacin de la


cuenta atrs (CD). Se pone a 1 cuando las condiciones del rengln de la
instruccin CTU son verdaderas. El bit se pone a cero tanto cuando el rengln
se hace falso o se habilita una instruccin RES que tenga la misma direccin
que la instruccin CTU.

Las instrucciones CTD pueden contar ms all de su valor de preseleccin.


Cuando el contaje continua ms all de su valor de preseleccin y alcanza el
valor de (-32768-1) , se da una condicin de desbordamiento. Esto se refleja en
el bit 11 , el bit de desbordamiento <UN), se pone a 1. Habilitando una
instruccin RES que tenga la misma direccin que la instruccin CTU permite
poner a O el bit de desbordamiento.

Cuando el bit UN se pone a 1, el valor acumulado torna el valor de +32767 y


continua contando atrs desde all.

Las instrucciones CTU y CTD son retentivas. El valor acumulado se retiene


despus de que la instruccin CTU o CTD se haga falsa.

El bit 10 de la palabra de control del contador, es el bit de actualizacin del


acumulador, el cual se usa para el HSC para controladores de E/S fija. Cuando
este bit se pone a 1, se lee el valor acumulado del registro hardware del
contador de alta velocidad y se coloca el en elemento del acumulador para este
contador. Entonces se borra el bit UA.
HSC

El contador de alta velocidad es una variacin


del contador CTU. La instruccin CTU se habilita cuando las condiciones del
rengln se hacen ciertas. Esta instruccin se proporciona para soportar un
contaje de alta velocidad en controladores de E/S fija de 24 voltios de continua,
que pueden mediante seleccin de "jumper", hacer que la primera entrada
(I:O/O) funcione en el modo de alta velocidad. El bit C5:O/Cu es la direccin
del estado de habilitacin del contador de alta velocidad. Cuando las
condiciones de rengln de HSC son verdaderas, C5:O/CU se pondr a 1 y se
contarn las transiciones que ocurran en la salida 1:0/O.

Funcionamiento:
Para iniciar el conteo de alta velocidad, crguese un valor de preseleccin en
C5:O.PRE y habiltese el rengln del contador. La carga de la preseleccin se
efecta al:

1- Cambiar al modo de test o de ejecucin desde otro modo.

2- Activar el procesador en el modo de ejecucin

3- Poner a O el HSC usando la instruccin RES.

Cada transicin de entrada que tenga lugar en la entrada I:O/O obligar al


acumulador del HSC a incrementarse. Cuando el valor del acumulador sea
igual al valor de preseleccin el bit hecho se pondr a 1, se borrar el
acumulador y el valor de preseleccin se cargar en el HSC en preparacin para
la siguiente transicin de alta velocidad. El diagrama de escalera interroga el bit
hecho de para determinar el estado del contador HSC. Una vez que el bit hecho
ha sido detectado a 1, el diagrama de escalera debera borrar este bit, antes de
que el acumulador del HSC vuelva a alcanzar el valor de preseleccin, o el bit
de desbordamiento se ponga a 1.
Es importante notar que el HSC difiere de los contadores CTU y CTD en que el
HSC es un contador de hardware a lo contrario que un contador de software y
que el HSC funciona asincronamente al scan del diagrama de escalera.

El valor del acumulador del HSC se actualiza normalmente cada vez que el
rengln del HSC se evala en el diagrama de escalera (Esto significa que el
valor del acumulador hardware del HSC se transfiere al acumulador software
del HSC). Podran transcurrir muchas cuentas del HSC entre sus evaluaciones ,
lo que hara C5:0.acc inexacto cuando se usase a travs de todo el diagrama de
escalera. Para tener en cuenta un valor preciso del acumulador del HSC, el bit
de actualizacin del acumulador har que C5:0.ACC se actualice
inmediatamente al valor que se encontraba en el acumulador hardware en el
instante de poner este bit a 1. (use solo la instrucci6n OTE; es la propia
instruccin HSC la encargada de soltar el bit)

El contador de alta velocidad se puede poner a 0 usando la instruccin RES en


la direccin C5:0. Un reset borrar los bits de estado del HSC y el acumulador
y cargar el valor de preseleccin.

El acumulador y los bits de estado son no retentivos. En la activacin del


sistema o la entrada del modo de ejecucin, la instruccin borrar los bits de
estado y el acumulador cargar el valor de preseleccin.

Parmetros de funcionamiento

La direccin C5:0 es el elemento de tres palabras del contador HSC

La palabra O, es la palabra de estado de la instruccin del contador de alta


velocidad. El bit 15 muestra el estado Habilitado/Deshabilitado de la
instruccin HSC. El bit 13 (DN> indica si el valor de preseleccin del HSC se
ha alcanzado. El bit 12 (0V) indica si ha tenido lugar un desbordamiento del
HSC. El bit 10 (UA) actualiza la palabra del acumulador del HSC para reflejar
el estado inmediato del HSC cuando sea verdadero.
La palabra 2 contiene el valor del acumulador del HSC. Esta palabra se
actualiza cada vez que se evala la instruccin HSC y cuando el bit de
actualizacin del acumulador se pone a 1 usando una instruccin OTE.

Este acumulador es de solo lectura. Cualquier valor que se escriba al


acumulador ser sobrescrito por el contador real de alta velocidad.
La palabra 1 contiene el valor de preseleccin que se cargar en e HSC cuando
se ejecute la instruccin RESET, cuando se ponga a 1 el bit DN o cuando tenga
lugar la activacin del sistema.

RES

La instruccin reset se utiliza para poner a O las instrucciones de conteo y


temporizacin. Cuando se habilita la instruccin RES, sta pone a O la
instruccin del temporizador, cuenta adelante o cuenta atrs que tenga la misma
direccin que la instruccin RES.

Cuando se habilita la instruccin RES, se ponen a 0:

TEMPORIZADOR

1- valor acumulado

2- Bit hecho

3- Bit de temporizacin

4- Bit de habilitacin.

CONTADOR DE CUENTA ADELANTE Y CUENTA ATRAS

1- Valor acumulado

2- Bit de desbordamiento inferior y superior.

3- Bit hecho del contador

4- Bits de habilitacin del contador.

Si se habilita el rengln del contador, el bit CD o el bit CU se pondr a 0


mientras la instruccin RES est habilitada.
SUMA: ADD

El valor de la fuente A se suma al valor de la fuente B y el resultado se


almacena en el destino. La fuente A y B pueden ser constantes.

RESTA: SUB

El valor de la fuente B se resta al valor de la fuente A y el resultado se


almacena en el destino. La fuente A y B pueden ser constantes.

MULTIPLICACION: MUL

El valor de la fuente A se multiplica por el valor de la fuente B y el resultado se


almacena en el destino. La fuente A y B pueden ser constantes.
DIVISION: DIV

El valor de la fuente A se divide por el valor de la fuente B y el resultado se


almacena en el destino. La fuente A y B pueden ser constantes.

DIVISION DOBLE: DDV

El contenido del registro matemtico (S:13 y S:14) se divide por el valor de la


fuente. El cociente redondeado se coloca en el destino y sin redondear en la
palabra mas significativa del registro matemtico (5:14). El resto se coloca el la
palabra menos significativa de dicho registro

NEGACION: NEG

El valor de la fuente se resta de O y el resultado se almacena en el destino.

BORRADO: CLR
El valor del destino se pone a cero. Destino no
puede ser una constante.

CONVERSION A BCD:
TOD

Convierte el valor almacenado en la fuente a


formato BCD y lo almacena en el registro matemtico (5:13). La conversin se
efecta cogiendo el valor absoluto de la fuente, es decir, no se pueden convertir
nmeros negativos.

CONVERSION DESDE BCD: FRD

El valor que contiene el registro matemtico (5:13) en formato BCD es


convertido a entero y depositado en Destino.

DECODIFICACION 4 A 1 DE 16: DCD

Cuando el rengln es verdadero, esta instruccin pone a "1" un bit de la palabra


de destino. El bit que es puesto a 1 depende del valor de los primeros 4 bits de
la palabra fuente. Por ejemplo:
Bit 15.Bit O Bit 15.Bit O

Fuente = xxxx xxxx xxxx 0000 > Dest - 0000 0000 0000 0001

Fuente = xxxx xxxx xxxx 0011 ->Dest = 0000 0000 0000 1000

Si la palabra fuente contiene un O se activa el bit O de la palabra de destino.

Si la palabra fuente contiene un 3 se activa el bit 3 de la palabra de destino.

El plc solo tiene en cuenta los cuatro primeros bits de la palabra fuente.

Cuando los valores de la fuente A y la fuente 13 son


iguales, la instruccin es lgicamente verdadera. Si los valores no son iguales,
entonces la instruccin es lgicamente falsa.

Cuando los valores de la fuente A y la fuente B son


distintos, la instruccin es lgicamente verdadera. Si dichos valores son
iguales, entonces la instruccin es lgicamente falsa.

Cuando el valor de la fuente A es menor que el


valor de la fuente B, la instruccin es verdadera. Si el valor de la fuente A es
mayor o igual que el valor de la fuente B, entonces dicha instruccin es
lgicamente falsa.
Cuando el valor de la fuente A es menor o igual que
el valor de la fuente B, la instruccin es verdadera. Si el valor de la fuente A es
mayor que el valor de la fuente B, entonces dicha instruccin es lgicamente
falsa.

Cuando el valor de la fuente A es mayor que el valor


de la fuente B, la instruccin es verdadera. Si el valor de la fuente A es menor o
igual que el valor de la fuente B, entonces dicha instruccin es lgicamente
falsa.

Cuando el valor de la fuente A es mayor o igual que


el valor verdadero de la fuente B, la instruccin es lgicamente verdadera. Si el
valor de la fuente A es menor que el valor de la fuente B, entonces dicha
instruccin es lgicamente falsa.
Esta instruccin compara los datos de una direccin
fuente con los datos de una direccin de referencia y permite que porciones de
los datos sean enmascarados por una palabra separada.

Los parmetros son:

- Fuente: La direccin del valor que se quiere comparar.

- Mscara: La direccin o la constante a


travs de la cual la instruccin mueve los
datos. Puede ser un valor en hexadecimal.

- Comparacin: Un valor entero o la


direccin de la referencia.

La instruccin se hace falsa al detectar una


desigualdad. Se trata de una comparacin realizada solamente sobre los bits que
estn a 1 en la mscara.

TRASLADO: MOV

La ejecucin de esta instruccin permite mover el valor de la fuente al destino.


La fuente puede ser una constante.

TRASLADO ENMASCARADO: MVM

La instruccin de traslado enmascarado mueve el valor de la fuente al destino a


travs de una mscara, permitiendo dependiendo de la mscara que solo se
actualicen ciertos bits del destino.
Por ejemplo:

Destino antes de la ejecucin de la instruccin:

Dest: 1111 1111 1111 1111


Fuente: 0101 0101 0101 0101
Mscara: 1111 0000 1111 0000

Destino despus de la ejecucin:

Dest: 0101 1111 0101 1111

Y: AND

La instruccin AND realiza una Y lgica bit a bit entre el valor de la


fuente A y el valor de la fuente B, dejando el resultado en el destino.
La tabla de verdad de dicha funcin ser:

O INCLUSIVO SOBRE BIT: OR


La instruccin OR realiza una 'O" lgica
bit a bit entre los valores de la fuente A y
B, almacenando el resultado en el destino.

La tabla de verdad de dicha funcin ser:

EXCLUSIVO: XOR

La instruccin XOR realiza una "O" exclusiva lgica bit a bit entre los valores
de la fuente A y B, almacenando el resultado en el destino.

La tabla de verdad de dicha funcin ser:

NO: NOT
La instruccin NOT realiza una
negacin bit a bit con el valor de la fuente y almacena el resultado en el
destino.

La tabla de verdad de dicha funcin ser:

DESPLAZAMIENTO DE BIT A LA IZQUIERDA: BSL

Cuando el rengln pasa de falso a verdadero, el bit de habilitacin (EN bit 16


registro de control) se pone a "1" y el bloque de datos se desplaza a la izquierda
(a un nmero de bit superior) una posicin de bit. El bit especificado en la
direccin de bit se desplaza a la primera posicin del bloque de datos. El ltimo
bit se almacena en el bit de descarga UL del registro de control.

Parmetros de la instruccin:

-Archivo:La direccin del array de bits que se desea manipular. Debe de


especificarse con el smbolo #, por ejemplo: #B3:lO

-Control: Es el registro de control. Dicho registro lo utiliza la instruccin para


poder trabajar y no puede ser utilizado por otra instruccin del programa. El
registro de control tiene la siguiente estructura:

15 ...13...11...10
EN...DN..ER..UL No se usa
Tamao del array de bits (nmero de bits)
Puntero del Bit (normalmente no se usa
EN (bit 15) El bit de habilitacin se pone a 1 en una transicin de falso a
verdadero del rengln e indica que la instruccin esta validada.

DN (bit13) Este bit indica cuando esta a 1 que el array de bits se ha desplazado
una posicin.

ER (bit11) Cuando este bit se pone a 1 indica que la instruccin ha detectado


un error en su ejecucin, tal como una longitud negativa.

UL (bit10) Cada vez que se habilita la instruccin este bit almacena el valor del
bit que se ve desplazado fuera del array.

Direccin de bit: Es la direccin del bit de fuente que la instruccin inserta en


la primera posicin de bit del array.

Longitud: Es el nmero de bits que formarn el array de bits.

DESPLAZAMIENTO DE BIT A LA
DERECHA:BSR

Cuando el rengln pasa de falso a verdadero, el bit de habilitacin (EN bit 16


registro de control) se pone a "1" y el bloque de datos se desplaza a la derecha
(a un nmero de bit inferior) una posicin de bit. El bit especificado en la
direccin de bit se desplaza a la ltima posicin del bloque de datos. El primer
bit se almacena en el bit de descarga UL del registro de control.

El registro de control funciona de la misma forma que para la instruccin de


desplazamiento a la izquierda. Los bits de estado actan de la misma forma.

SALTAR A ETIQUETA: JMP

Cuando la condicin de rengln de esta instruccin es verdadero, el programa


salta al rengln donde haya el nmero de la etiqueta que contena el JMP. En
ese punto reanuda la ejecucin del programa. El salto puede hacerse hacia
delante o atrs, segn la posicin de la etiqueta. Ms de una instruccin JMP
puede saltar a la misma etiqueta.

Parmetro de la instruccin:

Nmero de la etiqueta a la cual se quiere saltar. Dicho nmero puede variar de


O a 255, en una misma rutina. No es posible saltar a una etiqueta de otra rutina.

ETIQUETA: LBL

La etiqueta define un punto de llegada de un salto de programa realizado con la


instruccin JMP. Pueden definirse hasta 256 etiquetas. No puede haber en una
misma rutina ms de una etiqueta con el mismo nmero.

Parmetro de la instruccin:

Nmero de la etiqueta.

SALTAR A SUBRUTINA:(JSR)

Cuando la condicin de rengln para una instruccin JSR es verdadera, el


procesador salta a la instruccin de subrutina SBR al principio del archivo de
subrutina destino y reanuda la ejecucin en ese punto.

Cada subrutina se debe programar en su archivo de programa asignndole un


nmero de archivo nico (O . . 255).

Se pueden anidar hasta un mximo de 4 llamadas a rutina.

Parmetro de la instruccin:

Solo tiene un parmetro y es el nmero del archivo de programa al cual se


quiere saltar (O . . 255).
SUBRUTINA: SBR

Esta instruccin identifica el inicio de una rutina. Debe de programarse en el


primer rengln de un archivo de programa destinado a ser una rutina. Es sobre
el punto donde hay la SBR donde la instruccin JSR salta.

No tiene parmetros.

RETORNO DE RUTINA: RET

Esta instruccin provoca la terminacin de la ejecucin de una rutina


retornando al punto desde donde se haba llamado a la rutina que contiene el
retorno. Un archivo de programa puede tener ms de un retorno en distintos
puntos del programa.

Esta instruccin no tiene parmetros.

BLOQUE CONDICIONAL: (MCR)

Esta instruccin se usa por parejas. Define una condicin de entrada que
engloba al conjunto de instrucciones que haya entre dos instrucciones MCR. Si
la condicin se cumple se ejecutan todas las instrucciones que haya dentro del
bloque, si es falsa, es como si todas las condiciones de entrada de las
instrucciones contenidas entre los dos MCR fueran falsas.

Esta instruccin no tiene parmetros.

FIN TEMPORAL: TND


Esta instruccin, cuando su rengln es verdadero detiene el scan del programa
saltando al final del archivo 2 (programa principal) actualizando las E/S y
reanudando la ejecucin del programa en el rengln 1 del archivo 2.

Esta instruccin esta pensada para poder depurar un programa en una puesta en
marcha de un proyecto.

No tiene parmetros.

SUSPENSION: SUS

Esta instruccin al ejecutarse coloca el plc en modo de inactividad,


desactivndose todas las salidas. Un nmero de identificacin se deja en la
palabra S:7 del archivo de estado y el nmero del archivo de programa desde
donde se ha ejecutado dicha instruccin se deja en la palabra 5:8 del
archivo de estado.

Parmetros de la instruccin:

Solo dispone de uno, y es el identificador (ID), es el nmero que se deja en la


posicin 5:7 al ejecutarse la SUS. Este nmero es entrado por el programador
en la instruccin SUS y hace que se pueda discernir sobre cual instruccin de
SUS ha sido la culpable de la suspensin de la ejecucin del programa en caso
que en un mismo fichero de programa haya ms de una.

COPIA DE ARCHIVOS: COP

Esta instruccin copia datos de una localizacin a otra. El parmetro Fuente


debe de ser una direccin de archivo, con lo cual ha de utilizarse el smbolo "#"
para indicar direccin. El parmetro destino al igual que el anterior tambin ha
de utilizar el smbolo #. En destino es donde se almacenan los valores de la
fuente. El parmetro Longitud determina el nmero de elementos que se
transferirn del archivo fuente al destino. Es importante tener en cuenta que el
tipo de archivo destino determina el nmero de palabras que se transfieren por
elemento.
La forma como opera dicha instruccin es que al hacerse verdadero el rengln
donde esta ubicada, se copia el nmero de elementos especificados en longitud
al archivo destino. Los elementos se copian en orden ascendente sin
transformacin de datos. Si por alguna razn se encuentra antes el final de
archivo que la longitud especificada, la instruccin tambin da por terminada la
copia.

LLENADO DE ARCHIVO: FLL

La instruccin carga elementos de un archivo con una constante o bien con el


valor contenido en una direccin. El funcionamiento de esta instruccin es
igual al de la anterior teniendo en cuenta que copia el mismo valor en todas las
Posiciones del archivo destino.

Por ejemplo:

Llena con O el archivo N7 de longitud 10 palabras.

Llena con el contenido de N7:2 el archivo N12 de longitud 32 palabras.

SALIDA DEL SECUENCIADOR: SQO

Esta instruccin de salida acta paso a paso a travs del archivo del
secuenciador. Cuando el rengln pasa de falso a verdadero, la instruccin pasa
a la siguiente palabra del archivo del secuenciador, seguidamente los bits
almacenados en dicha palabra son transferidos a travs de una mscara a la
direccin de destino especificada. Mientras permanezca verdadero el rengln,
los datos de la palabra direccionada se escribirn a cada scan en la direccin de
destino. El bit de hecho (DN) se pone a "1" cuando la ltima palabra del
archivo secuenciador se ha transferido. En la siguiente transicin de falso a
verdadero del rengln de la instruccin se inicializa la posicin a paso 1.

Parmetros de la instruccin:

Archivo: Es la direccin del archivo del secuenciador. Ha de utilizarse el


smbolo #.

Mscara: Es un cdigo en hexadecimal o la direccin de una palabra o


tambin la direccin de otro archivo a travs del cual la instruccin decide que
bits del destino actualiza. Los bits a "0", enmascaran, a "1"

Dest: Es la direccin de la palabra o archivo al que la instruccin mueve los


datos.

Control: Es el registro de control que precisa la instruccin para poder operar.


Su estructura es la siguiente:

15..................13
EN...DN...ER...FD No se usa.............
Longuitud del archivo del secuenciador
Posicin

EN (bit 15) El bit de habilitacin se pone a "1" en una transicin de falso a


verdadero del rengln e indica que la instruccin esta validada.

DN (bit13) Se pone a "1" despus que la instruccin haya actuado sobre la


ltima posicin del archivo del secuenciador. Se pone a O en la siguiente
transicin de falso a verdadero.

ER (bit11) Cuando este bit se pone a 1 indica que la instruccin ha detectado


un error en su ejecucin, tal como una longitud negativa.

Longitud: Es el nmero de pasos del archivo del secuenciador a partir de la


posicin 1. La posicin O es la posicin de comienzo.
Posicin: Es la localizacin de palabra o paso en el archivo del
secuenciador.

COMPARACION DEL SECUENCIADOR:SQC

La instruccin SQC compara una palabra o archivo de datos de entrada, a


travs de una mscara, con una palabra o archivo de datos de referencia para
comprobar si son iguales. Cuando el estado de todos los bits no enmascarados
de una palabra de entrada concuerda con los de la palabra de referencia
correspondiente, la instruccin se hace verdadera y pone a "1" el bit de
encontrado (FD) del registro de control. Sino la instruccin es falsa y deja a "0"
dicho bit.

El registro de control es idntico al de la instruccin anterior teniendo en cuenta


que esta dispone de un bit adicional que es el ya descrito (FD), el cual indica
que se ha encontrado una igualdad entre una palabra del archivo del
secuenciador y la fuente.

El parmetro Fuente debe de ser una direccin de una palabra o de un archivo


de donde la instruccin coger valores para comparar con los del archivo
secuenciador.

Las instrucciones de clculo permiten efectuar operaciones aritmticas, lgicas


y de afectacin.

Las instrucciones de movimiento nos dan la posibilidad de traspasar una


informacin de un elemento a otro con o sin mscara.

Los parmetros que necesita cada instruccin en el formato general son:

DESTINO: Direccin donde se desea almacenar el resultado


EXPRESION: Operando u operandos y definicin de la operacin que se
desea realizar.

En el formato especfico para cada instruccin habra que definir los


parmetros:

Fuente A: Primer operando.


Fuente B: Segundo operando (Si lo necesita la instruccin)
Destino: Direccin donde se desea almacenar el resultado.

Los operandos pueden ser:

ENTEROS: del tipo: I, O, S, B, T, C, R, N, BCD ASCII. Utilizar


preferentemente de tipo N.
Coma flotante: del tipo F.
CONSTANTES: Nmeros enteros o en coma flotante

Al utilizar palabras de los ficheros ASCII o BCD el procesador interpretar


como nmeros enteros. Utilizar estos ficheros nicamente para visualizacin.

En una misma instruccin es posible mezclar nmeros enteros y en coma


flotante en la expresin o como direccin de destino.

Antes de ser memorizado un resultado en la palabra de destino, el procesador lo


redondea al nmero entero ms prximo:

1.49999=1

1.50000=2

El mismo tratamiento recibe un nmero en coma flotante que se


transforma a entero.

En este tipo de instrucciones, una palabra del fichero de estados, S:0 nos va a
dar indicaciones relativas al resultado obtenido inmediatamente despus de la
ejecucin de las instrucciones.

Bits utilizados:

Bit 0 C Carry.Acarreo
Bit 1 V Overflow- Desbordamiento
Bit2-Z-Zero.El resultado es cero
Bit 3 S Sig- El resultado es negativo

ADD-ADDitIOn-. SUMA

Descripcin:
Si las condiciones precedentes son verdaderas, el contenido del operando 1 se
suma con el operando 2 y el resultado se almacena en la direccin especificada
en destino.

Se trata de una instruccin de accin.

Dest: Direccin donde se desea almacenar el resultado.

Expresin: Operando 1 + Operando 2.

Source A: Operando 1.

Source B: Operando 2.

Programacin en mnemnico

CPT- ADD (Despus definir el bloque funcional correspondiente de la


programacin escalonada).

Fichero de estados. Banderas Aritmticas S:0

C -Carry se pone a "1" si hay acarreo, si no a "0".


V -OVerflow desbordamiento. A "1" si desbordamiento, sino a
"0"
Z -Zero .Se pone a "1" si el resultado es "0" sino a "0".
S -Signe Se pone a "1" si el resultado es negativo, sino a "0".

SUB SUBtract RESTA

Descripcin:

Si las condiciones precedentes son verdaderas, el contenido del operando 1 se


resta con el operando 2 y el resultado se almacena en la direccin especificada
en destino.

Se trata de una instruccin de accin.

Dest: Direccin donde se desea almacenar el resultado.


Expresin: Operando 1 Operando 2.
Source A: Operando 1.
Source B: Operando 2.

Programacin en mnemnico

CPT-SUB (Despus definir el bloque funcional correspondiente de la


programacin escalonada).

Fichero de estados. Banderas Aritmticas S:0.

C -Carry -Se pone a "1" si hay acarreo, sino a "0".

V -OVerflow Se pone a "1" si hay desbordamiento, sino a "0".

Z -Zero Se pone a "1" si el resultado es 0, sino a "0".

S -Signe Se pone a "1" si el resultado es negativo, sino a "0".

Xm MUL- MULtipIy Multiplicar

Descripcin.

Si las condiciones precedentes son verdaderas, el contenido del operando 1 se


multiplica con el operando 2, y el resultado se almacena en la direccin
especfica en destino.

Se trata de una instruccin de accin.

Dest: Direccin donde se desea almacenar el resultado.

Expresin: Operando 1 Operando 2.

Source A: Operando 1.

Source B: Operando 2.

Programacin en mnemnico
CPT-MUL (Despus definir 1 bloque funcional correspondiente de la
programacin escalonada).

Fichero de estados. Banderas aritmticas. S:0.

C -Carry - Siempre a "0".


V -OVerflow - Se pone a "1" si hay desbordamiento, sino a "0".
Z -Zero - Se pone a "1" si el resultado es 0 sino a "0".
S - Signe - Se pone a "1" si el resultado es negativo, sino a "0".

DiVide Divisin

Descripcin:

Si las condiciones precedentes son verdaderas, el contenido del operando 1 se


divide con el operando 2, y el resultado se almacena en la direccin
especificada en destino.

Se trata de una instruccin de accin.

Dest: Direccin donde se desea almacenar el resultado.

Expresin: Operando 1: Operando 2.

Source A: Operando 1.

Source B: Operando 2.

Programacin en mnemnico.

CPT-DIV (Despus definir el bloque funcional correspondiente de la


programacin escalonada).

Ficheros de estados. Banderas aritmticas. S:0.

C -Carry - Siempre "0".


V -OVerflow - Se pone a 1 si divisin por 0 o desbordamiento, sino a 0.
Z - Zero - Se pone a "1" si el resultado es 0, sino a "0".Indefinido si el
desbordamiento (v) est a "1".
S - Signe - Se pone a "1" si el resultado es negativo, sino a "0".
Indefinido si el desbordamiento (v) est a 1.

SQR - SQuaRE ROOT Raz cuadrada

Descripcin.

Si las condiciones precedentes son verdaderas extrae la raz cuadrada del


operando y almacena el resultado en la direccin especificada en destino.

Se trata de una instruccin de accin.

Smbolos de programacin escalonada.

Dest: Direccin donde se desea almacenar el resultado.

Expresin: SQR Operando.

Source: Operando.

Programacin en mnemnico

CPT-SQR (Despus definir el bloque funcional correspondiente de la


programacin escalonada).

Fichero de estados. Banderas Aritmticas. S:0.

C - Carry - Siempre a "0".


V -OVerflow - Siempre a "0"
Z -Zero - Se pone a "1" si el resultado es cero, sino a "0".
S -Signe - Siempre a "O".

NEG- NEGate - Negacin

Descripcin
Si las condiciones precedentes son verdaderas, resta de 0 el operando y
almacena el resultado en la direccin especificada en destino. Esta instruccin
hace el complemento a "2".

Se trata de una instruccin de accin.

Smbolos de programacin escalonada.

Dest: Direccin donde se desea almacenar el resultado.

Expresin: Operando.

Source: Operando.

Programacin en mnemnico

CPT-NEG (Despus definir el bloque funcional correspondiente de la


programacin escalonada).

Fichero de estados. Banderas Aritmticas S:0.

C -Carry - Se pone a "0" si el resultado es 0, sino a "1".


V -OVerflow - Se pone a "1" si hay desbordamiento, sino a
"0".
Z -Zero - Se pone a "1" si el resultado es O, sino a "O".
S - Signe Se pone a "1" si el resultado es negativo, sino a "O".

CLR - CleaR - Borrar

Descripcin:

Si las condiciones precedentes son verdaderas pone a cero la direccin


especificada en destino.

Se trata de una instruccin de accin.

Smbolos en programacin escalonada.


Dest: Direccin donde se desea almacenar el resultado.

Expresin: 0

Programacin en mnemnico

CPT-CLR (Despus definir el bloque funcional correspondiente de la


programacin escalonada).

Fichero de estados. Banderas Aritmticas. S:0.

C -Carry - Siempre O.
V - OVerflow - Siempre O.
Z - Zero - Siempre a "1".
S -Signe - Siempre "O".

MOV - MOVe - Mover

Descripcin:

Si las condiciones precedentes son verdaderas, copia el operando en la


direccin especificada en destino.

Se trata de una instruccin de accin.

Smbolo en programacin escalonada.

Dest: Direccin donde se almacena el resultado

Expresin: Operando que se quiere copiar.

Source: Operando a copiar.

Programacin en mnemnico.

CPT-MOV (Despus definir el bloque funcional correspondiente de la


programacin escalonada).

Fichero de estados. Banderas aritmticas.S:0.


C - Carry - Siempre a "0".
V - OVerflow~se. pone a 1 si el dato no cabe en destino
Z - Zero - Se pone a "1" si el resultado es 0, sino a "0".
S - Signe - Se pone a "1" se el resultado es negativo (El bit ms
significativo est a 1), sino a "0".

MVM - MoVe with Mask- Mueve con mscara

Descripcin:

En el frente ascendente de las condiciones de entrada copia el operando fuente,


enmascarado con un operando de mscara, en la direccin especificada en
destino.

En la parte de mscara correspondiente a 0 (bits de mscara) los bits de destino


no cambian.

Se trata de una instruccin de accin.

Smbolos de programacin escalonada.

Dest: Direccin donde se desea almacenar el resultado.

Source: Operando fuente (Direccin o datos).

Mask: Operando de mscara (Direccin o datos hexadecimal).

Programacin en mnemnico.

MVM (Despus definir el bloque funcional correspondiente de la programacin


escalonada).

TOD TO BCD - Binario --- >BCD

Descripcin:
Si las condiciones precedentes son verdaderas, el operando fuente se convierte
en BCD y almacena el resultado en la direccin especificada en destino.

Se trata de una instruccin de accin.

Smbolos de programacin escalonada

Dest: Direccin donde se desea almacena el resultado.

Expresin: TOD Operando

Source: Operando fuente

Programacin en mnemnico.

CPT-TOD(despus definir el bloque funcional correspondiente de la


programacin escalonada).

Fichero de estados. Banderas aritmticas S:0.

C - Carry - Siempre a "0".


V -OVerflow - Se pone a "1" si el valor entero est fuera de
los lmites 0-9999, sino a "0".
Z - Zero - Se pone a "1" si el resultado es cero, sino a "1"
S -Signe - Siempre a "0".

FRD - FRom BCD - BCD --- > Binario

Descripcin:

Si las condiciones precedentes son verdaderas el operando fuente en BCD se


convierte en binario y se almacena el resultado en la direccin especificada en
destino.

Se trata de una instruccin de accin.

Smbolos en programacin escalonada.

Dest: Direccin donde se desea almacenar el resultado.


Expresin: FRD Operando

Source: Operando fuente

Programacin en mnemnico.

CPT-FRD (Despus definir el bloque funcional correspondiente de la


programacin escalonada).

Fichero de estados. Banderas aritmticas. S:0.

C -Carry - Siempre 0
V -OVerflow - Siempre 0
Z -Zero - Se pone a "1" si el resultado es "0" sino a "1".
S -Signe - Siempre 0.

AND Y Lgica

Descripcin:

Si las condiciones precedentes son verdaderas se produce la operacin "Y


LOGICA" entre el operando 1 y operando 2 y el resultado se almacena en la
direccin especificada en destino.

Se trata de una instruccin de accin.

Smbolos en programacin escalonada

Expresin: Operando 1AND Operando 2.

Dest: Direccin donde se desea almacenar el resultado.

Source A: Operando 1.( en binario)

Source B:Operando2 ( en binario)

Programacin en mnemnico
CPT-AND(Despus definir el bloque funcional correspondiente de la
programacin escalonada).

Fichero de estados. Banderas aritmticas S:0.

C -Carry Siempre 0
V -OVerflow Siempre 0
Z - Zero Se pone a 1 si el resultado es 0, sino a "0".
S -Signe Se pone a "1" si el resultado es negativo (Bit ms significativo
est a 1), sino a 0

OR "O Lgica"

Descripcin:

Si las condiciones precedentes son verdaderas, se produce la operacin "O


LOGICA" entre el operando 1 y el operando 2 y el resultado se almacena en la
direccin especificada en destino.

Se trata de una instruccin de accin.

Dest: Direccin donde se desea almacenar el resultado

Expresin: Operando 1 OR Operando 2.

SourceA: Operando l (en binario )

SourceB: Operando2 ( en binario)

Progamacin en mnemnico.

CPT-OR(Despus definir el bloque funcional correspondiente de la


programacin escalonada).

Fichero de estados. Banderas aritmticas S:0

C -Carry-Siempre 0
V -OVerflow Siempre 0
Z -Zero Se pone a "1" si el resultado es 0, sino a 0.
S -Signe Se pone a "1" si el resultado es negativo, (bit ms
significativo est a "1") sino a 0.

XOR EXclusive OR O Exclusiva

Descripcin:

Si las condiciones precedentes son verdaderas, se produce la operacin "O


EXCLUSIVA" entre el operado 1 y el operando 2 almacenando el resultado en
la operacin especificada en destino.

Se trata de una instruccin de accin.

Smbolos en programacin escalonada

Expresin: Operando 1 XOR Operando 2.

Dest: Direccin donde se desea almacenar el resultado.

SourceA: Operando l( en binario ).

SourceB:Operando2 ( en binario)

Programacin en mnemnico

CPT-XOR (Despus definir el bloque funcional correspondiente de la


programacin escalonada).

Fichero de estados. Banderas Aritmticas S:0.

C -Carry-Siemprea 0
V -OVerflow - Siempre a 0
Z -Zero - Se pone a "1" si el resultado es 0, sino a "0".
S -Signe - Se pone a "1" si el resultado es negativo (Bit mas significativo
est a "1"), sino a "0"

También podría gustarte