位操作指令是用于对一个存储单元的某一位进行置位、复位、取反、测试以及对16位或32位存储单元进行统计的指令,包括F130(BTS)、F131(BTR)、F132(BTI)、F133(BTT)、F135(BCU)和F136(DBCU)6条指令如表3-112所示。
表3-112 位操作指令
1.F130(BTS)
该指令对一个16位存储单元的某一位进行置位操作的指令,就是将指定存储单元的指定位(范围是H0~HF或K0~K15)置为1(ON),其他位保持不变,指令格式及操作数范围如表3-113所示。
表3-113 指令格式及操作数范围
当触发信号使X0接通时,WY0的第8位被置1,即Y7的线圈得电输出(ON),其他继电器(YF~Y8、Y6~Y0)保持不变,如图3-85所示。
图3-85 n=K7时置位指令的执行结果
2.F131(BTR)
该指令是对一个16位存储单元的某一位进行复位操作的指令,其功能是将指定存储单元的指定位(范围是H0~HF或K0~K15)复位为0(OFF),其余的数据位保持不变,指令形式及操作数类型如表3-114所示。
当触发信号使X0接通时,WY0的第6位被复位为0(OFF),即Y5的线圈失电,其他继电器(YF~Y6、Y4~Y0)保持不变,如图3-86所示。
表3-114 指令格式及操作数范围
图3-86 n=K5时复位指令的执行结果
3.F132(BTI)
该指令是对一个16位存储单元的某一位进行取反操作的指令,其功能是将指定存储单元的指定位(范围是H0~HF或K0~K15)取反,其余的数据位保持不变,指令格式及操作数范围如表3-115所示。
表3-115 指令格式及操作数范围
当触发信号使X0通时,DT1的第11位被取反,取反后DT1的第11位为0,其余的数据位(HF~HB、H9~H0)保持不变,如图3-87所示。
(www.xing528.com)
图3-87 n=K10时取反指令的执行结果
4.F133(BTT)
该指令是对一个16位存储单元的某一位进行位测试操作的指令,其功能是测试能定存储单元的指定位(范围是H0~HF或K0~K15)的状态,测试结果存储在内部特殊继电器R900B中。若该位是0(OFF),则R900B得电(ON);若该位是1(ON),则R900B失电(OFF)。指令格式及操作数范围如表3-116所示。
表3-116 指令格式及操作数范围
当触发信号使X0接通时,该指令测试DT1中第10位的状态,DT1的第10位为0,所以测试后R900B得电(ON),如图3-88所示。
图3-88 n=K9时位测试指令的操作
5.F135(BCU)
该指令是统计16位数中数据为1(ON)的位数个数的指令,就是统计一个S指定的16位常数或存储单元中数据为1(ON)的位数个数,结果存储在D指定的存储单元中,指令格式及操作数范围如表3-117所示。
表3-117 指令格式及操作数范围
当触发信号使X0接通时,该指令统计DT1中数据为1(ON)的位数,结果存储在WR10中,如图3-89所示。
6.F136(DBCU)
该指令是统计32位数中数据为1(ON)的位数个数的指令,其功能是统计一个S指定的32位常数或两个存储单元中数据为1(ON)的位数个数,结果存储在D指定的存储单元中。指令格式及操作数范围如表3-118所示。
图3-89 指令的执行结果
表3-118 指令格式及操作数范围
当触发信号使X0接通时,该指令统计DT2、DT1中数据为1(ON)的位数,结果存储在WR10中,如图3-90所示。
图3-90 指令的执行结果
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。