Você está na página 1de 6

Los bits de la palabra de estado

Los Oceans Nine son estos:

Bit 0 /FC

Bit 1 RLO

Bit 2 STA

Bit 3 OR

Bit 4 OS

Bit 5 OV

Bit 6 CC1

Bit 7 CC0

Bit 8 BR

Vale, unos nombres muy chulos, pero quitando al RLO


y el STA, los dems como que..
S, s ya voy. Repasemos para que vale cada uno.

Bit 0 -/FC
Este bit es el que almacena si la siguiente instruccin de la una combinacin boolenana va a ser la
primera o no.

Valor 0: la siguiente instruccin va a ser procesada como la primrera instruccin. Ya lo


vimos anteriormente con las operaciones de cierre de consulta.
Valor 1: Es que la combinatoria est en marcha

As, cuando se haga un set, restet o una asignacin (=) la seal se pondr a cero. Una vez
despus de puesta a cero si se hace un U o un OR (por ejemplo), la seal se pondr a 1
comenzando a realizar la combinatoria.

Bit 1 RLO.
Espero que no tenga que sacar la vara de avellano para castigar a aquellos que an pregunten que
es el RLO. Me niego a explicarlo.

Bit 2 STA
Como bien sabes, es el estado de la direccin booleana de la memoria. Si est a uno es que la
marca o entrada est a uno, si est a cero, pues al revs.

Bit 3 OR
Sirve para conocer el valor de la combinatoria de un AND antes de hacer un OR.
Recuerda que puedes hacer una combinatoria de este pelo:
U E0.0
O
U E1.0
U E2.0
= A1.0
Vale. Pues lo que hace este bit es almacenar la combinatoria del AND entre la E1.0 y la E2.0. Se
guarda el resultado intermedio en este bit antes de acometer el OR de este resultado con la E0.0.

Bit 4 y 5 OS y OV
OS almacena que ha habido un overflow. Cuando hay un OV (overflow) porque has dividido por
cero o porque has sumado dos enteros que se salen de los 32768 la seal de OV y OS se ponen a
1. Luego el OV puede desaparecer porque la siguiente operacin sea correcta, pero el OS queda
con valor uno hasta que se realice un SPS ( Salta si OS=1), una llamada a otro bloque, o final de
bloque.
As puede que hagas una operacin matemtica que da OV. Luego puedes hacer un SPO (salta si
OV=1) o un SPS (salta si OS=1) para tratar el error y as pones a cero el bit 4 (el 5 se quitar el
solito cuando haya una nueva operacin correcta).

Bit 6 y 7 CCO y CC1


Son bits usados para las operaciones de comparacin, matemticas, de giro
Instrucciones de comparacin
CC 1

CC 0

ACCU 2 = ACCU 1

ACCU 2 < ACCU 1

ACCU 2 > ACCU 1

Desordenadas. Solo para coma flotante.

Operaciones matemticas con OV


CC 1

CC 0

Resultado = 0

Resultado < 0

Resultado > 0

Operaciones matemticas enteras con OV


CC 1

CC 0

Rango negativo de OV en ADD_I y ADD_DI

Rangi negativo de OB en MUL_I y MUL_DI

Rango negativo de OV en ADD_I, ADD_DI, SUB_I, y SUB_DI

Divisin por 0 en DIV_I, DIV_DI, y MOD_DI

Instrucciones en punto flotante con Overflow


CC 1

CC 0

Underflow

Rango negativo de OV

Rango positivo de OV

Nmero de coma flotante no vlido

Instrucciones de giro y salto


CC 1

CC 0

Bit saliente estaba a cero

Bit saliente estaba a uno

Instrucciones lgicas
CC 1

CC 0

Resultado = 0

Resultado <> 0

Bit 8 BR
Proviene de Binary Result y es el resultado de las operaciones binarias. Cuando el BR est a uno,
activa la salida de ENO habilitando en bloques concatenados que se ejecute el siguiente bloque.
Las operaciones SAVE, SPB y SPBB ponen a uno el BR (ms informacin aqu).
Cul es el significado del bit BIE de la palabra de estado en el STEP 7?
Descripcin:
El bit BIE (resultado binario) es el bit 8 de la palabra de estado y sirve para transferir
el resultado de una funcin a las siguientes funciones a elaborar. La siguiente tabla
explica el significado del bit BIE y cmo se puede utilizar:
N Significado y utilizacin del bit BIE

1 En el editor KOP/FUP, el bit BIE se asocia a la salida ENO de los bloques de funcin
(FB/FC y SFB/SFC).

Si el bit BIE = 1, se llama o se ejecuta una funcin o un bloque directamente


a continuacin con EN = 1 (=BIE).

Si el bit BIE = 0, ni se llama ni se ejecuta una funcin o un bloque


directamente a continuacin con EN = 0.

2 Si en el editor KOP/FUP se utilizan operaciones de tipo WORD (por ejemplo, ADD_...)


u otro tipo de operaciones no binarias, BIE es igual a 1 si el resultado de la
funcin es positivo, mientras que BIE es 0 cuando se ha producido un fallo en la
elaboracin de dicha funcin (por ejemplo, OVERFLOW). Por tanto, la llamada de la
siguiente funcin o bloque es controlada por el bit BIE.
3 Si se escribe un bloque de funcin o una funcin en AWL, y se llama en KOP/FUP,
hay que guardar el resultado de la concatenacin (VKE) en el bit BIE, directamente
antes de abandonar el bloque. Con ayuda de las operaciones SAVE, SPBB y SPBNB,
se suministra la salida de liberacin (ENO) en el box KOP/FUP (ver ms abajo).
4 Si se llama en el programa a un bloque de funcin del sistema (SFB) o a una
funcin del sistema (SFC), dichos bloques muestran, con ayuda de la seal de
estado del bit BIE, si la CPU la ha ejecutado con o sin fallo:

Si durante la elaboracin del bloque aparece un fallo, el bit BIE vale 0.

Si la funcin se ejecuta sin fallo, el bit BIE vale 1.

5 SAVE
La instruccin "SAVE" guarda el VKE en el bit BIE. El bit de primera consulta "/ER"
no se resetea. Por esto motivo, si se tiene una operacin AND en el siguiente
segmento, tambin se concatena el estado del bit BIE.

No se recomienda utilizar la operacin SAVE y una siguiente consulta del bit


BIE en el mismo bloque o en un subbloque, ya que el bit BIE puede ser
modificado por una gran cantidad de operaciones intermedias.

La operacin SAVE tiene sentido utilizarla antes de abandonar un bloque, ya


que la salida ENO (= bit BIE) toma el valor del bit VKE y as se puede
programar el consiguiente tratamiento de fallo del bloque.

6 Instruccin "SPBB <Marca de alto> "


SPBB: salta si VKE = 1 y rescata el VKE en el bit BIE.. La "marca de salto" es el
nombre simblico del destino del salto.

Si VKE = 1, la instruccin SPBB <Marca de salto> interrumpe la ejecucin


lineal del programa y continua en el salto destino. La ejecucin del
programa contina a partir de la marca destino. El salto destino se indica
con una marca de salto.

Si VKE = 0, no se ejecuta el salto. A continuacin el VKE se pone a 1 y la


ejecucin del programa sigue en la siguiente instruccin.

Ejemplo
U E10.1
U E10.2
SPBB M001 // Salto a la marca de salto "M001" si VKE=1
7 Instruccin "SPBNB <Marca de alto>"
SPBNB: salta si VKE = 0 y rescata el VKE en el bit BIE.. "mso-ansi-language: ES;
">El destino del salto se indica a travs de la "marca de salto"."mso-ansi-language:
ES; ">

Si VKE = 0, la operacin SPBNB <Marca de salto> interrumpe la ejecucin


lineal del programa y continua en el salto destino. La ejecucin lineal del
programa contina a partir de la marca destino.

Si VKE = 1, no se ejecuta el salto. A continuacin, el VKE se pone a 1 y la


ejecucin del programa sigue en la siguiente instruccin.

Ejemplo
U E10.1
U E10.2
SPBNB M001 // Salto a la marca de salto "M001" si VKE=0

Con las instrucciones de salto anteriormente indicadas, se puede saltar hacia delante
o hacia atrs y el salto mximo est limitado a -32768 o +32767 bytes del cdigo de
programa. Los saltos slo se pueden hacer dentro del mismo bloque, es decir, la
instruccin de salto y el salto destino deben estar dentro del mismo bloque. El salto

destino slo puede estar disponible una sola vez en el bloque. El nmero mximo de
instrucciones reales que se pueden saltar, depende de la combinacin de
instrucciones dentro del programa (instrucciones de 1, 2 3 palabras).
Advertencia sobre el comportamiento del programa en el S7-300
La estructura interna de una CPU del S7-300 es diferente a la de una CPU del S7-400.
Mientras que en el S7-400 el programa se ejecuta directamente, el del S7-300 se
compila al realizar la carga. Por eso, a los S7-400 se les denomina mquinas ASIC y al
S7-300 se les denomina mquinas de compilacin. Especialmente, se tienen
diferencias en la ejecucin de cadenas de asignacin binarias. El comienzo y el final
de las cadenas de asignacin slo se conocen al compilar el programa en la CPU del
S7-300. En ese momento se puede ajustar el comportamiento del bit de primera
consulta / ER dentro de la palabra de estado.
Si se realiza un salto a una cadena se asignacin por medio de una instruccin de
salto, el VKE de la instruccin de salto se concatena con el bit ER de la cadena de
asignacin. Debido a esta influencia sobre el VKE, se tiene la impresin de que la
instruccin OR se ejecuta errneamente en la CPU del S7-300. Por eso es necesario,
tras realizar un salto, comenzar una nueva cadena de asignacin .

Você também pode gostar