移位寄存器指令又称自定义位移位指令,其指令格式如图5-35所示。
图5-35 移位寄位器指令的指令格式
其中,DATA为移位寄存器数据输入端,即要移入的位;S_BIT为移位寄存器的最低位;N为移位寄存器的长度和移位方向。
使用移位寄存器指令时需注意以下问题。
1)移位寄存器的操作数据由移位寄存器的长度N(N的绝对值小于等于64)任意指定。
2)移位寄存器最低位的地址为S_BIT,最高位的字节地址为MSB+S_BIT的字节号(地址),最高位的位序号为MSB_M。MSB和MSB_M的计算方法如下所示。
MSB=(|N| -1+(S_BIT的(位序)号))/8 (商)
MSB_M=(|N| -1+(S_BIT的(位序)号))MOD 8 (余数)
例如,设S_BIT=V20.5(字节地址为20,位序号为5),N=16,商MSB =2,余数MSB_M=4。则移位寄存器最高位的字节地址为MSB+S_BIT的字节号(地址)=2+20=22,位序号为MSB_M =4,最高位为22.4,自定义移位寄存器为20.5-22.4,共16位,如图5-36所示。
3) N>0时正向移位,即从最低位依次向最高位移位,最高位移出;N<0时反向移位,即从最高位依次向最低位移位,最低位移出。
图5-36 自定义位移位寄存器示意图
4)移位寄存器的移出端与SM1.1连接。
移位寄存器指令的功能是,当EN有效时,如果N>0,则在每个EN的上升沿,将数据输入DATA的状态移入移位寄存器的最低位S_BIT;如果N<0,则在每个EN的上升沿,将数据输入DATA的状态移人移位寄存器的最高位,移位寄存器的其他位按照N指定的方向,依次串行移位。
【例5-16】 在输入触点I0.1的上升沿,从VB100的低4位(自定义移位寄存器)由低向高移位,I0.2移入最低位,其梯形图、时序图如图5-37所示。
本文关键字:寄存器 PLC入门,plc技术 - PLC入门