
三菱FX5U的PLC指令中,我注意到2个比较新颖的指令,至少西门子200PLC中是没有这样的指令的,所以特意写了一段程序,来和大家分享一下。这2个指令是BSET指令和TEST指令,且这两个在FX3U的......
三菱FX5U的PLC指令中,我注意到2个比较新颖的指令,至少西门子200PLC中是没有这样的指令的,所以特意写了一段程序,来和大家分享一下。
这2个指令是BSET指令和TEST指令,且这两个在FX3U的PLC指令表中是没有的!
BSET(字软元件的位设置),这里的SET就是置位的意思,对指定的字元件的指定位置1。
TEST(位测试),这个位测试叫法挺新的,因为做PLC的人做I/O测试的时候对DI/DO点的测试,也算是对位的测试。三菱中的这个TEST(位测试)其实算是读出一个字软元件中的某一位的状态,并把这个状态写到一个指定的位软元件中去!
先看一个图片吧:

M0接通三次时的程序截图
这个图片上边部分是SM402是一个初始脉冲,和西门子200PLC中的一样,用来初始化程序,给D2一个二进制为20000000000000001,而后下边的INCP指令执行才使得D0+1=0+1=1;
在M0第二次为1时,D0=1,造成D1的值是2进制的20000000000000111,也就是十进制的7,而后下边的INCP指令执行才使得D0+1=2+1=3;
所以BSET指令就是根据D0的值,把这个值看做是16位字长区域中的第几个位,然后将相应的位置位位1,因为是推进到下一位时,之前被置位的位依然是1!
再来看一个程序的动态监控图:
程序监控动态图片
这个动态图片主要用来说明TEST指令,上边我说给D2的初始值是2#1010101010101010,这个点就是造成Y0一次接通一次断开的原因!
因为TEST指令就是D0为几时,就把D2的相关位的值写到Y0中去!需要说明的是这里的D0=1的时候,其实是D2的第0位,也就是的值;D0=3时,是要询问D2的第三位也就的的值!
以上就是三菱FX5U中的两个比较新颖的指令的简单介绍,感谢阅读!