小樱知识 > 生活常识test什么意思(test什么指令)

test什么意思(test什么指令)

提问时间:2022-06-30 11:07:48来源:小樱知识网


在三菱FX5U的PLC指令中,我注意到了两条比较新颖的指令,至少西门子200PLC中没有这样的指令,所以特意写了一个程序分享给大家。

这两条指令是BSET指令和测试指令,不在FX3U的PLC指令表中!

BSET(字软组件的位设置),其中SET表示设置,指定字组件的指定位置为1。

TEST (bit test),这个bit test的名字挺新的,因为做PLC的人做I/O测试的时候,DI/DO点的测试也可以看作是对齐的测试。三菱的这个测试实际上是读取一个word软件组件中某个bit的状态,并将这个状态写入一个指定的bit软件组件!

先看一张图:

M0三次连接时的程序截图

这张图的上半部分显示SM402是一个初始脉冲,和西门子200PLC中的SM0.1一样,用来初始化程序,给D2一个初始二进制值2 # 1010101010101010,给D0和D1初始值0。

程序的下部是BSET指令和测试指令,还有一个INC指令。该INC指令与西门子200PLC中的INC指令非常相似。是自增指令,还是自增指令!-为什么MOVP、BSETP、TESTP和INCP都在照片里?这些指令里多一个P就是脉冲信号!这里,当M0第一次从off变为on时,所有三条指令只执行一次!

这里,首先说明BSETP指令执行了三次。为什么D1=7?

但是D0的有效范围实际上是十进制的0-15,而BSET指令是字部件指令,所以16位是0-15。

当M0第一次为1时,D0=0,导致D1的值为二进制2 # 0000 0000 0001,然后执行下面的INCP指令,使D01 = 01 = 1;

当M0第二次为1时,D0=1,导致D1的值为二进制2 # 0000 0000 0011,然后执行下面的INCP指令,使d01 = 11 = 2;

当M0第三次为1时,D0=2,导致D1的值为二进制2 # 0000 0000 000111,即十进制7,然后执行下面的INCP指令使D0 1 = 2 1 = 3;

所以BSET指令是以D0的值为基础,把D0看作16位字长区的位,然后把对应的位置设置为1,因为当它前进到下一位时,前面设置的位还是1!

我们来看一个程序的动态监控图:

节目监控动态画面

这张动态图片主要用于说明测试说明。我在上面说过,D2的初始值是2 # 1010 1010 1010 1010 1010。这一点就是Y0开一次关一次的原因!

因为测试指令是当D0为时,将D2相关位的值写入Y0!需要注意的是,这里D0=1时,实际上是D2的第0位,也就是D2.0的值;当D0=3时,就是d2的值D2.2,是D2的第三位!

以上是对三菱FX5U中两条比较新颖的指令的简单介绍。感谢阅读!

以上内容就是为大家推荐的test什么意思(test什么指令)最佳回答,如果还想搜索其他问题,请收藏本网站或点击搜索更多问题

内容来源于网络仅供参考
二维码

扫一扫关注我们

版权声明:所有来源标注为小樱知识网www.xiaoyin02.com的内容版权均为本站所有,若您需要引用、转载,只需要注明来源及原文链接即可。

本文标题:test什么意思(test什么指令)

本文地址:https://www.xiaoyin02.com/shcs/403257.html

相关文章