您现在的位置: 首页 > 网站导航收录 > 百科知识百科知识
test什么意思(test什么指令)
指令,测试,程序test什么意思(test什么指令)
发布时间:2019-02-08加入收藏来源:互联网点击:
很多朋友想了解关于test的一些资料信息,下面是小编整理的与test相关的内容分享给大家,一起来看看吧。
在三菱FX5U的PLC指令中,我注意到了两条比较新颖的指令,至少西门子200PLC中没有这样的指令,所以特意写了一个程序分享给大家。
这两条指令是BSET指令和测试指令,不在FX3U的PLC指令表中!
BSET(字软元件的位设置),这里的SET就是置位的意思,对指定的字元件的指定位置1。
TEST(位测试),这个位测试叫法挺新的,因为做PLC的人做I/O测试的时候对DI/DO点的测试,也算是对位的测试。三菱中的这个TEST(位测试)其实算是读出一个字软元件中的某一位的状态,并把这个状态写到一个指定的位软元件中去!
先看一张图:
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指令执行了3次,为何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的值,把这个值看做是16位字长区域中的第几个位,然后将相应的位置位位1,因为是推进到下一位时,之前被置位的位依然是1!
我们来看一个程序的动态监控图:
节目监控动态画面
这张动态图片主要用于说明测试说明。我在上面说过,D2的初始值是2 # 1010 1010 1010 1010 1010。这一点就是Y0开一次关一次的原因!
因为TEST指令就是D0为几时,就把D2的相关位的值写到Y0中去!需要说明的是这里的D0=1的时候,其实是D2的第0位,也就是D2.0的值;D0=3时,是要询问D2的第三位也就的D2.2的值!
以上是对三菱FX5U中两条比较新颖的指令的简单介绍。感谢阅读!
本文到此结束,希望对大家有所帮助呢。
上一篇:yi有哪些字(yi三声有哪些字)
下一篇:返回列表
相关链接 |
||
网友回复(共有 0 条回复) |