SIEMENS西门子 触摸屏SMART700 IE 6AV6648-0BC11-3AX0
字逻辑运算 (S7-300, S7-400) AW:字“与”逻辑运算 (S7-300, S7-400) 说明 使用“逐字“与”逻辑运算”指令,将累加器 1 低字的值与累加器 2 低字的值或指定常数 逐位进行“与”运算。结果保存在累加器 1 的低字中。累加器 1 中高字的内容保持不变。 该指令将累加器 1 的第 0 位与累加器 2 的第 0 位或一个常数进行运算,并将结果保存在累 加器 1 的第 0 位中。第 1 到 15 位均以相同的方式进行运算。 如果该逻辑运算中的两个位的信号状态均为“1”,则结果位的信号状态为“1”。如果该逻辑运 算的两个位中有一个位的信号状态为“0”,则对应的结果位将复位。 下表说明了如何由字“与”逻辑运算生成结果:无论条件如何,都会执行该指令,且不会影响逻辑运算结果。 该指令会影响状态位 CC 0、CC 1 和 OV。
OW:逐字“或”逻辑运算 (S7-300, S7-400) 说明 使用“逐字“或”逻辑运算”指令,将累加器 1 低字的值与累加器 2 低字的值或指定常数 逐位进行“或”运算。结果保存在累加器 1 的低字中。累加器 1 中高字的内容保持不变。 该指令将累加器 1 的第 0 位与累加器 2 的第 0 位或一个常数进行运算,并将结果保存在累 加器 1 的第 0 位中。第 1 到 15 位均以相同的方式进行运算。 只要该逻辑运算中的两个位中至少有一个位的信号状态为“1”,结果位的信号状态就为“1”。如 果该逻辑运算的两个位的信号状态均为“0”,则对应的结果位将复位为“0”。 下表说明了如何由字“或”逻辑运算生成结果:XOW:逐字“异或”逻辑运算 (S7-300, S7-400) 说明 使用“逐字“异或”逻辑运算”指令,将累加器 1 低字的值与累加器 2 低字的值或指定常 数逐位进行“异或”运算。结果保存在累加器 1 的低字中。累加器 1 中高字的内容保持不 变。 该指令将累加器 1 的第 0 位与累加器 2 的第 0 位或一个常数进行运算,并将结果保存在累 加器 1 的第 0 位中。第 1 到 15 位均以相同的方式进行运算。如果要链接的两个结果位的信号状态不同,则结果位的信号状态为“1”。如果该逻辑运算的 两个位的信号状态相同,则对应的结果位将复位为“0”。 下表说明了如何由字“异或”逻辑运算生成结果:AD:双字“与”逻辑运算 (S7-300, S7-400) 说明 使用“逐双字‘与’逻辑运算”指令,将累加器 1 的内容与累加器 2 的内容逐位进行“与” 运算。结果存储在累加器 1 中。 该指令将累加器 1 的第 0 位与累加器 2 的第 0 位或一个常数进行运算,并将结果保存在累 加器 1 的第 0 位中。第 1 到 31 位均以相同的方式进行运算。 如果该逻辑运算中的两个位的信号状态均为“1”,则结果位的信号状态为“1”。如果该逻辑运 算的两个位中有一个位的信号状态为“0”,则对应的结果位将复位。 下表说明了如何由字“与”逻辑运算生成结果:OD:逐双字“或”逻辑运算 (S7-300, S7-400) 说明 使用“逐双字‘或’逻辑运算”指令,将累加器 1 的内容与累加器 2 的内容逐位进行“或” 运算。结果存储在累加器 1 中。 该指令将累加器 1 的第 0 位与累加器 2 的第 0 位或一个常数进行运算,并将结果保存在累 加器 1 的第 0 位中。第 1 到 31 位均以相同的方式进行运算。 只要该逻辑运算中的两个位中至少有一个位的信号状态为“1”,结果位的信号状态就为“1”。如 果该逻辑运算的两个位的信号状态均为“0”,则对应的结果位将复位为“0”。 下表说明了如何由字“或”逻辑运算生成结果:XOD:逐双字“异或”逻辑运算 (S7-300, S7-400) 说明 使用“逐双字‘异或’逻辑运算”指令,将累加器 1 的内容与累加器 2 的内容逐位进行“异 或”运算。结果存储在累加器 1 中。 该指令将累加器 1 的第 0 位与累加器 2 的第 0 位或一个常数进行运算,并将结果保存在累 加器 1 的第 0 位中。第 1 到 31 位均以相同的方式进行运算。 如果要链接的两个结果位的信号状态不同,则结果位的信号状态为“1”。如果该逻辑运算的 两个位的信号状态相同,则对应的结果位将复位为“0”。 下表说明了如何由字“异或”逻辑运算生成结果:移位和循环移位 (S7-300, S7-400) 移位 (S7-300, S7-400) SSI:逐字移位(带符号) (S7-300, S7-400) 说明 使用“逐字移位(带符号)”指令,将累加器 1 的低字(第 0 到 15 位)逐位向右移动。在 位移过程中,变为空白的位置将使用第 15 位(INT 数字的符号位)的信号状态来填充。累 加器 1 的第 16 到 31 位保持不变。该指令的执行与 RLO 无关。将状态位 CC 1 复位为移出的 Zui后一位的信号状态。 下列选项可用于指定待移动位的位数: • 指定正整数作为指令参数(<编号>)。 • 通过累加器 2 中低字节的值指定:该字节将解释为正整数。您可以使用以下格式: • SSI <编号>:操作数 <数量> 指定移位数。允许 0 到 15 之间的值。<编号> 大于 0 时,将 状态位 CC 0 和 OV 复位为 0。 • SSI:累加器 2 中的值指定移位数。允许 0 到 255 之间的值。当累加器 2 中的内容大于 0 时,将状态位 CC 0 和 OV 复位为 0。 如果指定的移位数大于 15,则累加器 1 低字中的所有位都将使用第 15 位的信号状态来 填充。 即使指定的移位数等于零,也会执行该指令。将状态位 CC 1 置位为“0”。 参数 下表列出了该指令的参数: 参数 格式 说明 <数量> 正整数: SINT、INT、UINT、USINT 待移位的位数 示例 以下示例说明了该指令的工作原理:使用“逐个双字移位(带符号)”将累加器 1 的所有内容逐位向右移动。在位移过程中,变 为空白的位置将使用第 31 位(DINT 数字的符号位)的信号状态来填充。该指令的执行与 RLO 无关。将状态位 CC 1 复位为移出的Zui后一位的信号状态。 下列选项可用于指定待移动位的位数: • 指定正整数作为指令参数(<编号>)。 • 通过累加器 2 中低字节的值指定:该字节将解释为正整数。您可以使用以下格式: • SSD <编号>:操作数 <数量> 指定移位数。允许 0 到 31 之间的值。<编号> 大于 0 时,将 状态位 CC 0 和 OV 复位为 0。 • SSD:累加器 2 中的值指定移位数。允许 0 到 255 之间的值。当累加器 2 中的内容大于 0 时,将状态位 CC 0 和 OV 复位为 0。 对于大于 31 的值,累加器 1 中的所有位都将使用第 31 位的信号状态来填充。 即使指定的移位数等于零,也会执行该指令。将状态位 CC 1 置位为“0”。SLW:逐字左移 (S7-300, S7-400) 说明 使用“逐字左移”指令将累加器 1 的低字(第 0 到 15 位)逐位向左移动。使用零填充变为 空白的位位置。累加器 1 的第 16 到 31 位保持不变。该指令的执行与 RLO 无关。将状态位 CC 1 复位为移出的Zui后一位的信号状态。 下列选项可用于指定待移动位的位数: • 指定正整数作为指令参数(<编号>)。 • 通过累加器 2 中低字节的值指定:该字节将解释为正整数。 您可以使用以下格式: • SLW <编号>:操作数 <数量> 指定移位数。允许 0 到 15 之间的值。<编号> 大于 0 时,将 状态位 CC 0 和 OV 复位为 0。 • SLW:累加器 2 中的值指定移位数。允许 0 到 255 之间的值。当累加器 2 中的内容大于 0 时,将状态位 CC 0 和 OV 复位为 0。 如果指定的移位数大于 15,则累加器 1 低字中的所有位都将使用零来填充。 即使指定的移位数等于零,也会执行该指令。将状态位 CC 1 置位为“0”。SRW:逐字右移 (S7-300, S7-400) 说明 使用“逐字右移”指令将累加器 1 的低字(第 0 到 15 位)逐位向右移动。使用零填充变为 空白的位位置。累加器 1 的第 16 到 31 位保持不变。该指令的执行与 RLO 无关。将状态位 CC 1 复位为移出的Zui后一位的信号状态。 下列选项可用于指定待移动位的位数: • 指定正整数作为指令参数(<编号>)。 • 通过累加器 2 中低字节的值指定:该字节将解释为正整数。 您可以使用以下格式: • SRW <编号>:操作数 <数量> 指定移位数。允许 0 到 15 之间的值。<编号> 大于 0 时,将 状态位 CC 0 和 OV 复位为 0。 • SRW:累加器 2 中的值指定移位数。允许 0 到 255 之间的值。当累加器 2 中的内容大于 0 时,将状态位 CC 0 和 OV 复位为 0。 如果指定的移位数大于 15,则累加器 1 低字中的所有位都将使用零来填充。 即使指定的移位数等于零,也会执行该指令。将状态位 CC 1 置位为“0”。 参数 下表列出了“逐字右移”指令的参数: 参数 格式 说明 <数量> 正整数: SINT、INT、UINT、USINT 待移位的位数。SLD:双字左移 (S7-300, S7-400) 说明 使用“逐双字左移”指令将累加器 1 的全部内容逐位向左移动。使用零填充变为空白的位位 置。该指令的执行与 RLO 无关。将状态位 CC 1 复位为移出的Zui后一位的信号状态。 下列选项可用于指定待移动位的位数: • 指定正整数作为指令参数(<编号>)。 • 通过累加器 2 中低字节的值指定:该字节将解释为正整数。 您可以使用以下格式: • SLD <编号>:操作数 <数量> 指定移位数。允许 0 到 31 之间的值。<编号> 大于 0 时,将 状态位 CC 0 和 OV 复位为 0。 • SLD:累加器 2 中的值指定移位数。允许 0 到 255 之间的值。当累加器 2 中的内容大于 0 时,将状态位 CC 0 和 OV 复位为 0。 对于大于 31 的值,则累加器 1 中的所有位都将使用零来填充。 即使指定的移位数等于零,也会执行该指令。并将状态位 CC1 置位为“0”。