You are on page 1of 6

Cmo usar los acumuladores en

AWL
Lo primero que vamos a ver en este captulo es lgicamente, qu son los
acumuladores en AWL.[divider]

Acumuladores en AWL

Los acumuladores son dos:

ACU 1
ACU 2

Ambos son dos reas de memoria de


4 bytes (doble palabra) cada uno.

Se usan fundamentalmente para realizar clculos matemticos y para


transferir informacin de una rea de memoria a otra (por ejemplo de
marcas a zonas de DB, entradas, salidas)

La forma de trabajar bsica con ellos son la lectura y la transferencia

Lectura (L): Lees la marca, dw, pew o lo que sea y lo transfieres a el


ACU 1
Transferencia (T): Lees lo que tiene el ACU 1 y lo copias en la
marca, paw, etc.

Como ejemplo:

L 67 -> Leemos el valor 67 y lo transferimos al ACU1

T MW 10 > Leemos lo que tenga el ACU1 (en este caso un 67) y se lo


transferimos a la marca MW10.

Sencillo no?

Pero si los acumuladores en AWL son dos, qu pasa


con el ACU2?

Bien. La idea de tener dos acumuladores es bsicamente para realizar


operaciones matemticas (entre otras cosas que veremos a continuacin).
La forma en la que trabaja es en forma de pila, es decir:

Cuando leemos algo y se lo transferimos al ACU1, previamente el PLC ha


realizado la operacin de transferir el ACU1 al ACU2. Posteriormente
transfiere lo leido al ACU1.

Imaginemos que queremos sumar dos valores enteros. Para ello


actuaramos de la siguiente manera:

L 8 -> Cargamos el ACU1 en el ACU2 (nos da igual qu tenga), y cargamos


el 8 en el ACU1

L 7 -> Copiamos el ACU1 al ACU2 (el 8) y cargamos el 7 en el ACU1.

+I -> Hace la suma entera entre el ACU1 y el ACU2 y el resultado lo


transfiere al ACU 1

T MW 10 -> Copiamos el valor del ACU1 a la marca MW10 (15)

Qu tendran entonces el ACU1 y el ACU2?

ACU1 = 15

ACU2 = 8

S. 8. No 7 que es el ltimo valor ledo. Tras hacer la suma, ha transferido


el valor de la suma al ACU1 (ha machacado el 7 con el 15). El acumulador 2
como veremos en el vdeo se pone a cero (aunque realmente poco o nada
importa tenga ya que no lo vas a utilizar).

[divider]

Qu ms operaciones se pueden hacer?

Como puedes intuir, adems de sumar enteros, podrs restar, multiplicar,


dividir, entre otras muchas operaciones en todas sus variantes:

Enteros
Dobles enteros
Reales

Qu seguridades hay a la hora de realizar operaciones


matemticas?

Pues as, como resumen, y para no alargarme demasiado: NINGUNA

Como bien sabes en FUP o KOP, el editor del PLC no te deja realizar ideas
felices como sumar un entero con un real, por mucho que te guste y lo
intentes.

En AWL s vas a poder.[divider]

Guay. Pues lo sumo en AWL.

Pequeo saltamontes, he dicho que deja, no que el resultado sea el


esperado. Es ms, te dara resultados interesantes y variopintos para que
ests entretenido durante unas cuantas horas como no te percates en el
momento de la chapuza realizada.

Imagina que sumas, haciendo ya el burro del todo:

L L#50000

L 50000.0

+I

T MW10

Valor de MW10?

Chupado: 50 mil ms 50 mil, cien mil. S. S por lo coj

No s ni lo que dara.
Para empezar, porque 100 mil no se puede cargar en 16 bits. Como bien
sabes, los enteros van desde -32767 a 32768. Para continuar, porque
mezclar reales con doble enteros no pega ni con cola.[divider]

Forma en que carga y se transfiere al ACU1

Para dejarlo an ms claro: el ACU1 tiene 4 bytes, lo que viene siendo dos
palabras. Cuando t transfieres un nmero entero positivo inferior a 256
(un byte), este se carga en el byte bajo de la palabra baja. Es decir, en
el byte 3 del ACU1. El resto de los bytes se ponen a cero.

Cuando transfieres un entero ms grande que no entra en 8 bits,


(imaginemos 12345), este valor se carga en la palabra baja(bytes 3 y 4). Los
bytes 1 y dos se ponen a cero.

Finalmente cuando cargo un nmero real (el -1234,5), se usan los 4 bytes
(si es pertinente)

Qu ocurre cuando lees el ACU1?

Pues que depende de la variable sobre la que escribas.

Si haces un T MB 8, pues estars cogiendo el byte bajo, de la palabra


baja. Tenga lo que tenga el resto, slo leeras el byte 3 del ACU1 y se lo
transferirs al MB8.

Si haces un T MW8, pues cogers la palabra bajay se la transferirs a el


MW8.

Finalmente si haces un T MD10, tomars el valor completo del ACU1 y se


lo transferirs al MD10.

Menudo lo no?

Pues en realidad, no tanto. Si simplemente haces operaciones con variables


coherentes entre s (reales con reales, enteros con enteros), no te debers
preocupar qu es lo que se est cargando o transfiriendo en el ACU1,
porque simplemente estar bien.
Simplemente ten cuidado y no mezcles churras con merinas y todo ir
bien. Pero quiero que entiends qu es lo que ests haciendo y porqu
funciona (o no).

Como ves, en ningn momento he hablado de nuestro nuevo mejor amigo


el RLO. Hasta ahora.[divider]

Operaciones con los acumuladores que afectan al RLO

Hasta ahora slo hemos hablado de operaciones que son aritmticas. Estas
no afectan al RLO.

Ahora bien, hay operaciones en las cuales el resultado s cambia el RLO


como son las de comparacin, por ejemplo.

As, por poner un ejemplo:

L MW 10

L MW20

==I

= A1.0

Lo que estaremos ser cargar el contenido del MW 10 y MW20 en los


ACU2 y ACU1 respectivamente y ejecutar la operacin de comparacin de
igualdad. El resultado es booleano (s o no) y se carga en el RLO.

Por tanto, si ambos nmeros son iguales, activaremos el A1.0 y si son


diferentes, apagaremos la A1.0[divider]

Cuntas operaciones con los acumuladores hay?

Imagino que querrs sabes qu operaciones puedes realizar. Bien, en el


blog tenemos un listado que encontr en su da con todas las operaciones
que se pueden realizar en AWL.

chale un vistazo y vers que el abanico es bastante amplio. En esos


listados hay instrucciones que an no hemos visto, pero que veremos ms
adelante. Que te vayan sonando.[divider]

Y el vdeo de esta semana?

En el vdeo de esta semana vamos a ver todo esto con el simulador del PLC.
[divider]

[embedplusvideo height=280 width=450


editlink=http://bit.ly/1aWjRnr
standard=http://www.youtube.com/v/WBt2EimjNmU?fs=1
vars=ytid=WBt2EimjNmU&width=450&height=280&start=&stop=&rs=
w&hd=0&autoplay=0&react=1&chapters=&notes= id=ep3143 /]

[divider]

Qu te parece esto de los acumuladores en AWL?

Como has podido ver, no es muy compicado si se tiene cuidado con lo que
se hace. En futuros ejemplos iremos viendo cmo se aplica todo lo
expuesto y podrs comprobar que es ms fcil de lo que parece a primera
vista esto de enredar con acumuladores en AWL.

Como ya es tradicin recordarte que tienes cupones descuentos exclusivos


en el foro para poder usarlos en la tienda.

[divider]

You might also like