XOR

Operazione esclusiva OR

Il contenuto dell'accumulatore è collegato all'operando definito nel campo dell'operando da un'operazione logica XOR. Il risultato viene trasferito nell'accumulatore.

Parametri

Ingresso

Unnamed input (BOOL, WORD, DWORD)

1° ingresso: elemento 1 dell'operazione logica XOR

Unnamed input (BOOL, WORD, DWORD)

2° ingresso: elemento confrontato con l'ingresso 1

Uscita

Unnamed output (BOOL, WORD, DWORD)

Uscita come ingresso: risultato

Note

  • Tutti gli operandi devono presentare lo stesso tipo di dato.
  • Questa funzione può essere estesa a un massimo di 28 contatti di ingresso, vedere anche Modificare gli elementi.

Tabella di verità:

Ingresso 1

Ingresso 2

Uscita

Segnale

0

0

0

1

0

1

0

1

1

1

1

0

Esempio

Intestazione del POU

Tutte le variabili di ingresso e uscita utilizzate per programmare questa funzione sono state dichiarate nell'intestazione del POU.La stessa intestazione del POU è utilizzata per tutti i linguaggi di programmazione.
	VAR
		bvar_1: BOOL:=FALSE;
			(*Input 1*)
		bvar_2: BOOL:=FALSE;
			(*Input 2*)
		bvar_3: BOOL:=FALSE;
			(*Output*)
	END_VAR

Corpo del POU

Le variabili Booleane bvar_1 e bvar_2 vengono collegate logicamente tramite OR ESCLUSIVO e il risultato viene scritto in bvar_3.

Corpo 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

Corpo ST

var_3:= var_1 XOR var_2;

Corpo 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 *)

L'ultima revisione: 2021-06-21Feedback su questa paginaPanasonic hotline