LSR

左移位寄存器

将指定数据区域d_WR的1位向左迁移(至较高位位置)。当编程LSR指令时,务必编程数据输入DataInput、迁移ShiftLeftTrigger并复位触发器Reset

注释
  • 可用于此指令的区域仅限字内部继电器(WR)。

  • 字内部继电器(WR)编号范围,取决于[其他] > [选项] > [编译选项] > [地址范围]下的空闲区域。

参数

输入

DataInput (BOOL)

指定新移入数据的状态:

  • 新移入数据1:当输入为ON时

  • 新移入数据0:当输入为OFF时

ShiftLeftTrigger (BOOL)

当检测到触发器的上升沿时,向左迁移1位

Reset (BOOL)

如果触发器处于ON状态,将数据区域的所有位变为0

输出

d_WR (WORD, INT, UINT)

指定发生数据迁移的数据区域

示例

POU头

所有用于编程此函数的输入和输出变量已在POU头中声明。 所有编程语言使用相同的POU头。

	VAR
		Output: INT:=0;
		DataInput: BOOL:=FALSE;
		ShiftTrigger: BOOL:=FALSE;
		ResetTrigger: BOOL:=FALSE;
	END_VAR

LD本体

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 5 ;
        NETWORK_BODY
B(B_F,LSR!,Instance,10,0,20,5,,?DDataInput?DShiftLeftTrigger?DReset?Cd_WR);
B(B_VARIN,,DataInput,8,1,10,3,);
B(B_VARIN,,ShiftTrigger,8,2,10,4,);
B(B_VARIN,,ResetTrigger,8,3,10,5,);
B(B_VAROUT,,Output,20,1,22,3,);
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST本体

Output:=LSR(DataInput, ShiftTrigger, ResetTrigger);

最后更新日期: 此页面上的反馈松下热线