您现在的位置是:首页 > PLC技术 > PLC技术
CPM2A系列PLC的SFTR指令格式及功能
来源:艾特贸易2017-06-05
简介可逆移位寄存器指令 SFTR(84)/@SFTR(84) ,可以根据控制字 C 的规定执行二进制数据位的左移或右移操作。 (1) 格式: 其中, St 为移位的开始通道号, E 为移位的结束通道号,它们的选取范
可逆移位寄存器指令SFTR(84)/@SFTR(84),可以根据控制字C的规定执行二进制数据位的左移或右移操作。 (1)格式: 其中,St为移位的开始通道号,E为移位的结束通道号,它们的选取范围是IR、SR、HR、AR、LR、DM、*DM;C是控制通道号,其选取范围是#、IR、SR、HR、AR、LR、DM、*DM。 (2)功能:在执行条件为ON时,根据C的规定执行复位操作或者二进制数据的左移或右移操作。C的最高位( bit15)为复位端R,bitLL为移位脉冲输入端SP,bit13为数据输入端IN,bit12为移位方向控制端(1为左移,0为右移),其他位不使用。 对于@SFTR指令,仅在执行条件由OFF变为ON时才执行1次。对于SFTR指令,当执行条件为ON时,执行情况如下: ①当C的bit15为1时,复位有效,从St到E通道中的所有数据位及进位标志位CY全部清零,且不进行移位操作。 ②当C的bit15为0时,从bit14每输入1个移位脉冲(或者bir14恒为1的情况下每个扫描周期),都将根据bit12的状态进行左移或右移1位操作。 左移(bit12为1):在每个移位脉冲作用下(或者bit14恒为1的情况下每个扫描周期),从St到E通道的所有数据位依次左移1位,C的bit13移入St的最低位中,E的最高位移入进位标志位CY中。CY保存在25504中。 右移(bit12为0):在每个移位脉冲作用下(或者bit14恒为1的情况下每个扫描周期),从St到E通道的所有数据位依次右移1位,C的bit13移入E的最高位中,St的最低位移入进位标志位CY中。 ③当执行条件变为OFF时,可逆移位寄存器停止工作,即使此时复位信号有效(C的bit15为1),从St到E通道中的数据位及进位位CY均保持原状态不变。 【例10-4】 如图10-4所示,00004是SFTR指令的执行条件。当00004为ON时,SFTR指令执行操作;当00004为OFF时,SFTR指令不执行,此时控制通道的控制位不起控制作用,LR10、LR11及CY位均保持原状态。
图10-4 使用可逆移位寄存器SFTR指令的例子 在00004为ON的条件下,若00003为ON,则复位控制位20015为ON,可逆寄存器LR00~LR11及进位位CY全部复位清零。 在00004为ON的条件下,当00003为OFF,复位控制无效(20015为OFF)后,才能进行左移或右移操作,其移位过程如下: ①若00000为ON,20012为1,则执行左移操作。每当00002由OFF变为ON时,LR10~LR11中的数据按位(二进制位)依次左移1位。20013的状态进入LR1000,LR1115的数据进入CY位。 ②若00000为OFF,20012为0,则执行右移操作。每当00002由OFF变为ON时,LR10~LR11中的数据按位(二进制位)依次右移1位。20013的状态进入LR1115,LR1000的数据进入CY位。 此时,以00002的微分信号作为移位脉冲。每当00002由OFF变为ON时,20100和20014都会输出1个扫描周期的ON,由此形成移位脉冲。如果直接以00002作为移位脉冲,当00002为ON时,每个扫描周期都要执行1次移位操作。当然,如果采用微分的移位指令@SFTR(84),就可以直接用00002控制移位脉冲。
点击排行
