1.编程指令
在西门子S7-200与S7-300/400中可以使用的字节、字、双字逻辑操作指令比较可以参见表。
2.编程基本注意点
字节、字、双字逻辑操作指令以字节、字、双字为单位,逐位进行规定逻辑运算的指令。逻辑运算可以是“与”、“或”、“异或”等,但在指令格式与逻辑运算范围、指令处理过程上,S7-200与S7-300/400有所区别,在编程时应引起注意,具体如下:
(1)指令格式与逻辑运算范围
①字节、字、双字逻辑操作指令在S7-200中的使用格式如下:
S7-200允许的逻辑运算操作如下:
INV:“取反”;
WAND:“与”;
WOR:“或”;
WXOR:“异或”。
S7-200允许的操作数长度如下:
B:字节;
W:字;
D:双字。
②S7-300/400的使用格式如下:
S7-300/400允许的逻辑运算操作如下:
WAND:“与”;
+WOR:“或”;
WXOR:“异或”。
S7-300/400允许的操作数长度如下:
W:字:
DW:双字。
(2)指令的处理过程
字节、字、双字逻辑操作指令在S7-200与S7-300/400中的梯形图程序基本相同,但实际处理过程与指令表程序不同。
字节、字、双字逻辑操作指令在S7-200中的处理过程如下(以“字或”为例):
①将操作数l(INl)直接移动到结果存储器中;
②将结果存储器与操作数2 (IN2)的内容进行规定的逻辑运算:
③将逻辑运算的结果保存在结果存储器中。
以上处理所对应的梯形图程序与指令表程序如图10-2.1所示。
字、双字逻辑操作指令在S7-300/400中的处理过程如下(同样以“字或”为例):
①将操作数1(INl)移动到累加器1中;
②将操作数2 (IN2)移动到累加器1中,原累加器1中的内容(操作数1)移动到累加器2中;
③累加器1与累加器2的内容进行规定的逻辑运算,逻辑运算的结果保存在累加器l中;
④将累加器l的内容(逻辑运算的结果)传送到结果存储器中。
以上处理所对应的梯形图程序与指令表程序如图10-2.2所示。
在西门子S7-200与S7-300/400中可以使用的字节、字、双字逻辑操作指令比较可以参见表。
2.编程基本注意点
字节、字、双字逻辑操作指令以字节、字、双字为单位,逐位进行规定逻辑运算的指令。逻辑运算可以是“与”、“或”、“异或”等,但在指令格式与逻辑运算范围、指令处理过程上,S7-200与S7-300/400有所区别,在编程时应引起注意,具体如下:
(1)指令格式与逻辑运算范围
①字节、字、双字逻辑操作指令在S7-200中的使用格式如下:
S7-200允许的逻辑运算操作如下:
INV:“取反”;
WAND:“与”;
WOR:“或”;
WXOR:“异或”。
S7-200允许的操作数长度如下:
B:字节;
W:字;
D:双字。
②S7-300/400的使用格式如下:
S7-300/400允许的逻辑运算操作如下:
WAND:“与”;
+WOR:“或”;
WXOR:“异或”。
S7-300/400允许的操作数长度如下:
W:字:
DW:双字。
(2)指令的处理过程
字节、字、双字逻辑操作指令在S7-200与S7-300/400中的梯形图程序基本相同,但实际处理过程与指令表程序不同。
字节、字、双字逻辑操作指令在S7-200中的处理过程如下(以“字或”为例):
①将操作数l(INl)直接移动到结果存储器中;
②将结果存储器与操作数2 (IN2)的内容进行规定的逻辑运算:
③将逻辑运算的结果保存在结果存储器中。
以上处理所对应的梯形图程序与指令表程序如图10-2.1所示。
字、双字逻辑操作指令在S7-300/400中的处理过程如下(同样以“字或”为例):
①将操作数1(INl)移动到累加器1中;
②将操作数2 (IN2)移动到累加器1中,原累加器1中的内容(操作数1)移动到累加器2中;
③累加器1与累加器2的内容进行规定的逻辑运算,逻辑运算的结果保存在累加器l中;
④将累加器l的内容(逻辑运算的结果)传送到结果存储器中。
以上处理所对应的梯形图程序与指令表程序如图10-2.2所示。