位左移指令的助记符、指令代码、操作数及程序步如表 6-33 所列。
表 6-33 位左移指令

指令梯形图如图 6-58(a) 所示。
指令说明:
① 该指令的源操作数和目标操作数都是位元件,程序中的 K16 表示有 16 个位元件 M0~M15,K4 表示每次移动 4 位。
② 每当 X10 接通一次,X0~X3 的 4 位元件的状态移入 M0~M15 的低端、高端自动溢出,如图 6-58(b) 所示:① M15~M12 溢出;② M11~M8 移到 M15~M12;③ M7~M4 移到 M11~M8;④ M3~M0 移到 M7~M4;⑤ X3~X0 移到 M3~M0。
③ 采用连续执行型指令时,在 X10 接通期间每个扫描周期都要移位,因此建议采用脉冲执行型指令。
图 6-58 位左移指令梯形图与执行过程(a)梯形图;(b)执行过程

例 6-10 有 10 个彩灯依次接在 PLC 的 Y0~Y11,要求每隔 1 s 依次由 Y0 到 Y11 轮流点亮一个、循环进行,试编写 PLC 控制程序。解:由于是从 Y0 到 Y11 点亮、由低位移向高位,应使用位左移指令 SFTL,且 n1=K10、n2=K1;又因每次只亮一个灯,开始从低位传入一个 1 后应传送一个 0 进去,才能保证只有一个灯亮;当这个 1 从高位溢出后,又从低位传入 1,如此循环即可达到控制要求。控制程序梯形图如图 6-59 所示。
图 6-59 控制程序梯形图

讨论:如果例 6-10 中要改成由 Y11 到 Y0 轮流点亮,程序应如何修改?
例 6-11(见附图)。
