SSD:逐个双字移位(带符号) (S7-1500) 说明 使用“逐个双字移位(带符号)”将累加器 1的所有内容逐位向右移动。在位移过程中,变 为空白的位置将使用第 31 位(DINT 数字的符号位)的信号状态来填充。该指令的执行与RLO 无关。将状态位 CC1 设置为所移出Zui后一位的信号状态。 下列选项可用于指定待移动位的位数: •指定正整数作为指令参数(<编号>)。 • 通过累加器 2 中低字节的值指定:该字节将解释为正整数。 您可以使用以下格式:• SSD <编号>:操作数 <数量> 指定移位数。允许 0 到 31 之间的值。<编号> 大于0 时,将 状态位 CC 0 和 OV 复位为 0。 • SSD:累加器 2 中的值指定移位数。允许 0 到 255之间的值。当累加器 2 中的内容大于 0 时,将状态位 CC 0 和 OV 复位为 0。 对于大于 31 的值,累加器 1中的所有位都将使用第 31 位的信号状态来填充。SLW:逐字左移 (S7-1500) 说明 使用“逐字左移”指令将累加器 1的低字(第 0 到 15 位)逐位向左移动。使用零填充变为 空白的位位置。累加器 1 中的第 16 到 31位保持不变。该指令的执行与 RLO 无关。将状态位 CC1 设置为所移出Zui后一位的信号状态。 下列选项可用于指定待移动位的位数: •指定正整数作为指令参数(<编号>)。 • 通过累加器 2 中低字节的值指定:该字节将解释为正整数。 您可以使用以下格式:• SLW <编号>:操作数 <数量> 指定移位数。允许 0 到 15 之间的值。<编号> 大于0 时,将 状态位 CC 0 和 OV 复位为 0。 • SLW:累加器 2 中的值指定移位数。允许 0 到 255之间的值。当累加器 2 中的内容大于 0 时,将状态位 CC 0 和 OV 复位为 0。 如果指定的移位数大于 15,则累加器 1低字中的所有位都将使用零来填充。 指定的移位数等于零,也会执行该指令。并将状态位 CC1 置位为“0”。
SRW:逐字右移(S7-1500) 说明 使用“逐字右移”指令将累加器 1 的低字(第 0 到 15 位)逐位向右移动。使用零填充变为空白的位位置。累加器 1 中的第 16 到 31 位保持不变。该指令的执行与 RLO 无关。将状态位 CC1设置为所移出Zui后一位的信号状态。 下列选项可用于指定待移动位的位数: • 指定正整数作为指令参数(<编号>)。 •通过累加器 2 中低字节的值指定:该字节将解释为正整数。 您可以使用以下格式: • SRW <编号>:操作数<数量> 指定移位数。允许 0 到 15 之间的值。<编号> 大于 0 时,将 状态位 CC 0 和 OV复位为 0。 • SRW:累加器 2 中的值指定移位数。允许 0 到 255 之间的值。当累加器 2 中的内容大于 0 时,将状态位CC 0 和 OV 复位为 0。 如果指定的移位数大于 15,则累加器 1 低字中的所有位都将使用零来填充。指定的移位数等于零,也会执行该指令。并将状态位 CC1 置位为“0”。SLD:逐双字左移 (S7-1500) 说明使用“逐双字左移”指令将累加器 1 的全部内容逐位向左移动。使用零填充变为空白的位位 置。该指令的执行与 RLO 无关。将状态位CC1 设置为所移出Zui后一位的信号状态。 下列选项可用于指定待移动位的位数: • 指定正整数作为指令参数(<编号>)。 •通过累加器 2 中低字节的值指定:该字节将解释为正整数。您可以使用以下格式: • SLD <编号>:操作数<数量> 指定移位数。允许 0 到 31 之间的值。<编号> 大于 0 时,将 状态位 CC 0 和 OV复位为 0。 • SLD:累加器 2 中的值指定移位数。允许 0 到 255 之间的值。当累加器 2 中的内容大于 0 时,将状态位CC 0 和 OV 复位为 0。 对于大于 31 的值,则累加器 1 中的所有位都将使用零来填充。指定的移位数等于零,也会执行该指令。并将状态位 CC1 置位为“0”。SRD:逐双字右移 (S7-1500) 说明使用“逐双字右移”指令将累加器 1 的全部内容逐位向右移动。使用零填充变为空白的位位 置。该指令的执行与 RLO 无关。将状态位CC1 设置为所移出Zui后一位的信号状态。 下列选项可用于指定待移动位的位数: • 指定正整数作为指令参数(<编号>)。 •通过累加器 2 中低字节的值指定:该字节将解释为正整数。 您可以使用以下格式: • SRD <编号>:操作数<数量> 指定移位数。允许 0 到 31 之间的值。<编号> 大于 0 时,将 状态位 CC 0 和 OV复位为 0。 • SRD:累加器 2 中的值指定移位数。允许 0 到 255 之间的值。当累加器 2 中的内容大于 0 时,将状态位CC 0 和 OV 复位为 0。 对于大于 31 的值,则累加器 1 中的所有位都将使用零来填充。指定的移位数等于零,也会执行该指令。并将状态位 CC1 置位为“0”。循环 (S7-1500) RLD:逐双字循环左移(S7-1500) 说明 使用“逐双字循环左移”指令,将累加器 1 的全部内容逐位向左移动。再指令执行过程中, 将累加器 1 的第 0到 31 位逐位循环向左移动,并使用推出位的位置填充在写入过程中变为 空白的位置。该指令的执行与 RLO 无关。将状态位 CC1设置为所移出Zui后一位的信号状态。 下列选项可用于指定待循环移位的位数: • 指定正整数作为指令参数(<编号>)。 •通过累加器 2 中低字节的值指定:该字节将解释为正整数。 您可以使用以下格式: • RLD <编号>:操作数<数量> 指定循环移位数。允许 0 到 32 之间的值。<编号> 大于 0 时, 将状态位 CC 0 和 OV复位为 0。 • RLD:累加器 2 中的值指定循环移位数。允许 0 到 255 之间的值。当累加器 2 中的内容 大于 0时,将状态位 CC 0 和 OV 复位为 0。 对于大于 32 的值,循环数为将该值模除 32 后得到的余数。例如,如果循环数为34,则 累加器 1 的位会循环移动 2 个位位置。 如果指定的循环位移数为 32,则累加器 1 的内容保持不变。指定的循环位移数等于零,也将执行该指令。并将状态位 CC1 置位为“0”。RRD:逐双字循环右移 (S7-1500) 说明使用“逐双字循环右移”指令,将累加器 1 的全部内容逐位向右移动。再指令执行过程中, 将累加器 1 的第 0 到 31位逐位循环向右移动,并使用推出位的位置填充在写入过程中变为 空白的位置。该指令的执行与 RLO 无关。将状态位 CC1设置为所移出Zui后一位的信号状态。 下列选项可用于指定待循环移位的位数: • 指定正整数作为指令参数(<编号>)。 •通过累加器 2 中低字节的值指定:该字节将解释为正整数。 您可以使用以下格式: • RRD <编号>:操作数<数量> 指定循环移位数。允许 0 到 32 之间的值。<编号> 大于 0 时, 将状态位 CC 0 和 OV复位为 0。 • RRD:累加器 2 中的值指定循环移位数。允许 0 到 255 之间的值。当累加器 2 中的内容 大于 0时,将状态位 CC 0 和 OV 复位为 0。 对于大于 32 的值,循环数为将该值模除 32 后得到的余数。例如,如果循环数为34,则 累加器 1 的位会循环移动 2 个位位置。 如果指定的循环位移数为 32,则累加器 1 的内容保持不变。指定的循环位移数等于零,也将执行该指令。并将状态位 CC1 置位为“0”。RLDA:循环左移状态位 CC 1 (S7-1500)说明 使用“循环左移状态位 CC 1”指令,将累加器 1 的内容循环左移一位。在移位过程中变为空 的位位置 (0) 将使用状态位 CC1 的信号状态来填充。状态位 CC 1 将接收已移出位 (31) 的信号状态。 该指令的执行与 RLO 无关。它会将状态位 CC0 复位为“0”。