XOR

异或运算

累加器的内容通过逻辑XOR运算连接到操作数字段中定义的操作数。结果被传输到累加器。

参数

输入

未定义的输入 (BOOL, WORD, DWORD)

第1个输入:逻辑XOR运算的元素1

未定义的输入 (BOOL, WORD, DWORD)

第2个输入:与输入1比较的元素

输出

未定义的输出 (BOOL, WORD, DWORD)

作为输入输出:结果

标注

  • 所有操作数必须为相同的数据类型。
  • 此函数可扩展到最多28个输入触点,另请参阅修改元素。

真值表:

输入1

输入2

输出

信号

0

0

0

1

0

1

0

1

1

1

1

0

示例

POU头

所有用于编程此函数的输入和输出变量已在POU头中声明。所有编程语言使用相同的POU头。
	VAR
		bvar_1: BOOL:=FALSE;
			(*Input 1*)
		bvar_2: BOOL:=FALSE;
			(*Input 2*)
		bvar_3: BOOL:=FALSE;
			(*Output*)
	END_VAR

POU本体

布尔变量bvar_1bvar_2逻辑EXCLUSIVE-OR链接,且结果被写入bvar_3

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

ST本体

var_3:= var_1 XOR var_2;

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

最后更新日期: 此页面上的反馈松下热线