左移位寄存器
将指定数据区域d_WR的1位向左迁移(至较高位位置)。当编程LSR指令时,务必编程数据输入DataInput、迁移ShiftLeftTrigger并复位触发器Reset。
可用于此指令的区域仅限字内部继电器(WR)。
字内部继电器(WR)编号范围,取决于 下的空闲区域。
输入
指定新移入数据的状态:
新移入数据1:当输入为ON时
新移入数据0:当输入为OFF时
当检测到触发器的上升沿时,向左迁移1位
如果触发器处于ON状态,将数据区域的所有位变为0
输出
指定发生数据迁移的数据区域
所有用于编程此函数的输入和输出变量已在POU头中声明。 所有编程语言使用相同的POU头。
VAR
Output: INT:=0;
DataInput: BOOL:=FALSE;
ShiftTrigger: BOOL:=FALSE;
ResetTrigger: BOOL:=FALSE;
END_VAR
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
Output:=LSR(DataInput, ShiftTrigger, ResetTrigger);