三菱PLC中SFT L是位左移指令
SFTL M11 M12 K9 K1 代表的含义是:执行一次该指令是将m12开始的这9个m依次左移一位,左移的结果是m21溢出,最低位变为m11
*M11:源位元件起始地址,只能是位元件(X,Y,M,S)
*M12:位移起始地址,只能是位元件(Y,M,S)
*K9:位移寄存器长度(M12-M20共9个寄存器),只能是数值
*K1:K1表示每次移动一位,只能是数值
扩展资料
移位寄存器指令包括SFTR(位右移)、SFTL(位左移)、WSFR(字右移)、WSFL(字左移)、SFWR(移位写入)、SFRD(移位读出)。这里主要介绍SFTR(位右移)、SFTL(位左移)指令。
SFTR(位右移)指令,其指令代码为FNC34,SFTL(位左移)指令,其指令代码为FNC35,它们的源操作数和目标操作数均为X、Y、M、S, 操作元件n1指定目标操作元件[D·]的长度,操作元件n2指定移位位数和源操作元件[S·]的长度。
n2≤n1≤1024,其功能是对于n1位(移动寄存器的长度)的位元件进行n2位的右移或左移。指令执行的是n2位的移位。
参考资料来源:百度百科-PLC指令与梯形图速查手册
参考资料来源:百度百科-三菱PLC
SFTL表示位左移指令
位左移SFTL指令编程方式为:SFTL M11 M12 K9 K1
*M11:源位元件起始地址,只能是位元件(X,Y,M,S)
*M12:目标位元件起始地址,只能是位元件(Y,M,S)
*K9:目标位元件个数,只能是数值
*K1:移动的个数,只能是数值
扩展资料:
其他的移位指令
位右移SFTR指令
在X000为ON的状态下,K2Y0会以二进制的状态输出。
在X001为ON的状态下,SFTRP指令将Y0后面8位往右位移一次,用M8000补位。
1,SFTL 位左移
2,M11 位移时写入的数据状态(0或1)
3,M12 位移起始地址
4,K9 位移寄存器长度(M12-M20共9个寄存器)
5,K1 每次位移的移动位数
例如:(开始状态M12--M20都是0)
ldp x0
sftl m11 m12 k9 k1 ;
当 M11=1,X0 ON时M20---M12 是000000001, X0 OFF时不变化,
下一次 M11=0,X0 ON时M20---M12 是000000010, X0 OFF时不变化,
再一次 M11=1,X0 ON时M20---M12 是000000101, X0 OFF时不变化,
再一次 M11=1,X0 ON时M20---M12 是000001011, X0 OFF时不变化,
FX位移指令编程方法见附件
为左移指令,其中K1表示每次移动一位,K9,表示目标操作数为9位,即M12------到M21,M11,是原操作数,每执行一次(脉冲执行),把M11的值移到M12,M12的值移到M13,以此类推,比如当M11为1时,第一次执行M12置1,第二次执行M12,M13置1,第三次M12,M13,M14置1。。。。,如果第一次执行后M11置0,M12置1,第2次执行M12置0,M13置1,第三次M13置0M14置1.。。。。。。。
移位长度n1怎样规定不能超过1024