XOR

Operación OR exclusiva

El contenido del acumulador se conecta a través de una operación XOR con el operando de la entrada. El resultado se transfiere al acumulador.

Parámetros

Entrada

Unnamed input (BOOL, WORD, DWORD)

Primera entrada: primer elemento de la operación lógica XOR

Unnamed input (BOOL, WORD, DWORD)

Segunda entrada: elemento a comparar con la entrada 1

Salida

Unnamed output (BOOL, WORD, DWORD)

Salida: resultado

Observaciones

  • Todos los operandos tienen que ser del mismo tipo de datos.
  • Esta función se puede expandir para un máximo de 28 contactos de entrada, consultar Modificar elementos.

Tabla de verdad:

Entrada 1

Entrada 2

Salida

Señal

0

0

0

1

0

1

0

1

1

1

1

0

Ejemplo

Cabecera de la POU

Todas las variables de entrada y de salida utilizadas para la programación de esta función han sido declaradas en la Cabecera de la POU. Se utiliza la misma cabecera de la POU para todos los lenguajes de programación.
	VAR
		bvar_1: BOOL:=FALSE;
			(*Input 1*)
		bvar_2: BOOL:=FALSE;
			(*Input 2*)
		bvar_3: BOOL:=FALSE;
			(*Output*)
	END_VAR

Cuerpo de la POU

Se realiza la operación lógica OR EXCLUSIVA deb bvar_1 y bvar_2 y el resultado se almacena en bvar_3.

Cuerpo LD

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 5 ;
        NETWORK_BODY
B(B_F,@XOR-2!,,10,1,15,4,,?D?D?C);
B(B_VARIN,,bvar_1,8,1,10,3,);
B(B_VARIN,,bvar_2,8,2,10,4,);
B(B_VAROUT,,bvar_3,15,1,17,3,);
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Cuerpo en ST

var_3:= var_1 XOR var_2;

Cuerpo IL

LD

bvar_1

(* Load bvar_1 in accu *)

XOR

bvar_2

(* Perform an XOR of accu with bvar_2; store result in accu *)

ST

bvar_3

(* Store accu in bvar_3 *)

Modificado el: 2021-07-14Comentarios sobre esta páginaPanasonic hotline