TIA Portal 软件位移指令可以将累加器的内容逐位左移或右移。移动的位数由N决定。左移N位相当于将累加器的内容乘以2N,右移相当于将累加器的内容处理2N。移位指令在逻辑控制中使用起来也非常方便。
(1) 左移指令(SHL)
当左移指令(SHL)的EN位为高电平“1”时,执行移位指令,将IN端子指定的内容送至累加器1的低字,并指定位数N端子将向左移动。然后将其写入OUT指令的目标地址。左移指令(SHL)及参数如下图1所示。
图1
注:您可以从指令框的“?>”下拉列表中选择指令的数据类型。
举例说明左移指令(SHL)。梯形图如图2所示。
图2
当I0.0闭合时,左移指令(SHL)被激活,IN中的字被存储到MW10中。假设编号为2#1001 1101 1111 1011,左移4位后,OUT端MW10中的编号为2#1101 1111 1011 0000,左移指令图如下图3所示。
图3
【要点】图3的程序有上升沿,所以每次10.0关闭时,都会左移4位。如果没有上升沿,则关闭一次,可能会左移多次。
[示例] 有16 个灯。当电源打开时,1至4个灯会亮起。 1秒后,5至8个灯将亮起,1至4个灯将熄灭。这个循环继续下去。请写一个程序。
【答】M0.5为设定的1s脉冲信号,梯形图如图4所示。可见,使用移位指令编写程序非常简单。
图4
审稿人:刘庆