La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Operaciones con Acumuladores

Presentaciones similares


Presentación del tema: "Operaciones con Acumuladores"— Transcripción de la presentación:

1 Operaciones con Acumuladores
Carga y Transferencia de Datos Acumuladores Funciones de comparación Ejercicio: Control de Calefactores Otros Registros internos

2 Carga y Transferencia de Datos
KOP AWL L - Carga T - Transferencia (Todos los tipos de datos con 8, 16, 32 bits) Ejemplos: L +5 // Carga un entero de 16-bit L L# // Carga un entero de 32-bit L B#16#EF // Carga un hexadecimal de 8-bit L 2#0001_0110_1110_0011 // Carga un binario de 16-bit L TOD#1:10:3.3 // Carga un tiempo de 32-bit T MB0 // Transferir un valor al byte de marcas 0 T AD256 // Transferir un valor a la doble doble palabra de salida 256 FUP EN - Habilitar entrada ENO -Habilitar salida IN - Valor de entrada (todos los tipos de datos con longitud 8, 16, 32 bit) O - Dirección del resultado Instrucción Descripción MOVE (KOP/FUP) La instrucción MOVE hace posible asignar un valor a una variable . Si la entrada EN está activa, el valor presente en la entrada IN se copia en la dirección especificada en la salida 0. ENO tiene el mismo estado de señal que EN. Esta caja hace una copia de datos y la transfiere a la dirección de salida. L y T (AWL) Las instrucciones de carga y transferencia hacen posible el intercambio de datos entre áreas de memoria. La carga y transferencia tiene lugar incondicionalmente (independientemente del RLO). El intercambio de datos tiene lugar a través del acumulador. La instrucción de carga escribe el valor que haya en la dirección origen en el Acumulador 1, y la instrucción de transferencia copia el contenido del acumulador al destino especificado. Al realizar la operación de carga, el valor actual del ACCU1 pasa, automáticamente, al ACCU 2.

3 Acumuladores ACCU 1 contenidos para las instrucciones de carga 0000
31 24 23 16 8 15 7 0000 0000 0000 IB 0 L IB 0 31 24 23 16 8 15 7 0000 0000 IB 0 IB 1 L EW 0 31 24 23 16 8 15 7 MB 0 MB 1 MB 2 MB 3 L MD 0 Instrucción Transferir 31 24 23 16 8 15 7 MB 0 MB 1 MB 2 MB 3 General Los acumuladores son registros auxiliares en la CPU que se utilizan en el intercambio de datos y para operaciones de comparación y matemáticas. El S7-300 tiene dos acumuladores de 32 bits cada uno y el S7-400 cuatro. Operación de Carga La operación de carga siempre afecta al ACCU 1. Las posiciones no utilizadas se ponen a 0. El valor actual del ACCU 1 pasa al ACCU 2 durante la carga. Operación de Durante una transferencia, el contenido de ACCU 1 se retiene y se usa Transferencia para transferir la información a varias áreas de memoria. Si sólo se transfiere un byte se usan los ocho bits de la derecha (ver la imagen). RLO Las instrucciones de carga y transferencia son independientes del RLO y por esto se ejecutan siempre. En esquema de contactos y en diagrama de funciones, existe la posibilidad de cargar y transferir de forma condicional a través de la conexión de entrada de habilitación EN. Para hacer esto mismo en AWL se necesario utilizar saltos condicionales a etiquetas. Intercambio de Las siguientes instrucciones están disponibles para intercambiar y desplazar ACCUS: - TAK intercambia el contenido de ACCU 1 con el contenido de ACCU 2 - PUSH desplaza el contenido de ACCU 1 a ACCU 2 - POP desplaza el contenido de ACCU 2 a ACCU 1 - ENT desplaza el contenido de ACCU 2 a ACCU 3, y desplaza el contenido de ACCU 3 a ACCU4 (sólo para el S7-400) - LEAVE desplaza el contenido de ACCU 3 a ACCU 2, y desplaza el contenido de ACCU 4 a ACCU 3 (sólo para el S7-400) T AD 4 T AW 4 T AB 4

4 Funciones de Comparación
KOP FUP AWL CMP_I== AU M0.0 A ( L EW0 L EW2 ==I ) = A9.7 Con las instrucciones de comparación, se puede comparar: Dos enteros (cada uno de 16 bits) Dos enteros dobles (cada uno de 32 bits) Dos números reales (números en coma flotante según IEEE, cada uno de 32 bits) Todas las instrucciones de comparación comparan las entradas IN 1 y IN 2: Están disponibles las siguientes opciones: IN1 es igual a (==) IN2. IN1 no es igual a (<>) IN2 IN1 es mayor que (>) IN2 IN1 es menor que (<) IN2 IN1 es mayor o igual que (>=) IN2 IN1 es menor o igual que (<=) IN2 Si la comparación es falsa, el resultado de la operación lógica (RLO) es cero. OPCIONES: == IGUAL A <> DESIGUAL > MAYOR QUE < MENOR QUE >= MAYOR O IGUAL QUE <= MENOR O IGUAL QUE

5 Ejercicio 2: Control de calefactores
Controle los calefactores según las reglas Ejercicio 2: Se tiene un único pulsador E0.0 y dos calefactores conectados a las salidas A4.0 y A4.1. Programe un control de tal forma que, la primera vez que se pulse E0.0 se active el primer calefactor; la segunda, se active también el segundo calefactor y la tercera vez, se apaguen los dos. Vea el capítulo 15: Ejercicios Resueltos

6 Otros Registros Internos
Palabra de Estado Es posible detectar ciertos sucesos, por ejemplo desbordamiento en las operaciones aritméticas, mediante la palabra de estado. Para utilizarla podemos cargarla (L STW), o bien acceder directamente a alguno de sus bits (Ver Capítulo 7 - Operaciones Avanzadas). Registros de Los registros de direcciones se utilizan para direccionamiento indirecto. Direcciones (Ver capítulo 7 - Operaciones Avanzadas) Registros de DB´s En STEP 7, se pueden abrir dos DB´s simultáneamente, debido a que hay dos registros de DB´s: 1er registro = registro DB 2do registro = registro DI Al principio los DB´s deben ser abiertos, y después para saber datos de ellos se puede realizar : L DBNO : Carga el número del DB. L DINO : Carga el número del DIB. El programador también puede obtener información del tamaño de los DB´s abiertos con : L DBLG Carga el tamaño del DB (Nº. de bytes de datos sin encabezado ) L DILG Carga el tamaño del DIB (Nº. de bytes de datos sin encabezado )


Descargar ppt "Operaciones con Acumuladores"

Presentaciones similares


Anuncios Google