为了让大家掌握更多PLC知识,本篇文章将会为大家详细介绍取反指令,块传送指令,多点传送以及数据交换指令。如果有不懂的可以在下方留言,或私信小编噢!下面我们直接进入主题。 取反指令: 该指令的指令代码,助记符,操作数如下表: 源操作数可以是常数或者是,字元件。目标操作数可以是字元件。16位操作的时候为5步,32位操作的时候为9步。 指令格式: 该指令的意思为:当X010接通后,CML表示把D0里面的数据按位取反,然后再传送到K2Y000里面去,什么是按位取反呢?就比如0010按位取反就是1101,就是把0010里面的数据,一位,一位的取反。 程序示例: 有八个霓虹灯,接在Y0~Y7上,要求这八个灯每隔1秒间隔交替闪烁。 程序如下: 在这里我们选用8013秒脉冲,因为8013的周期接通半秒,再断开半秒,总共1秒。这样子就可以满足我们每隔一秒间隔交替闪烁的控制要求。当M8013接通的时候,CML取反。H55是16进制,转换成2进制就是01010101,取反后则为101010,然后把这数据传到K2Y000中,那么这个时候Y0到Y7的灯就刚好是一个亮一个熄。当M8013常闭点接通的时候H55的数据就直接传送到K2Y00里面去。那么它的数据则为01010101,刚好与前面的相反,这样子就完成了我们的控制要求。 块传送指令: 该指令的指令代码,助记符,操作数如下表: 块指令格式: 当我们接通X000后,BMOV指令是指把D5,D6,D7的数据传送到D10,D11,D12里面去,K3表示的是块的大小。运用这条指令我们就可以把大批量的数据从一个寄存器传送到另一个寄存器。 多点传送指令: 它表示的是把K0的数据传送到以D0为首的10个寄存器中,这条指令表示的是一对多。把一个数据传送到多个寄存器中。 数据交换指令: 该指令的指令代码,助记符,操作数如下表: 指令格式: 当我们接通X000后,D10的数据传送到D11,然后D11得数据传送到D10里面去。假设D10等于10,D11等于100,那么在经过这个指令后D10的数据就变成了100,D11的数据就变成了10.但是我们在使用的时候一般采用脉冲进行型,也就是在XCH后面加一个P来进行表示。 注意: 在使用的时候要特别注意,如果我们把特殊继电器M8160给置1的话,那么在使用数据交换的时候它是把数据的高8位和数据的低8位进行互换的。比如在这个程序中如果M8002接通,H88AA的数据传送到D10中,当我们接通X0的时候,D10的数据是为AA88的,也就是说吧数据的高8位和低8位进行了交换。在这里还需要我们注意的是,当我们把M8160给置1的时候,在这个数据交换指令中,这个源操作数和目标操作数应该为同一个数据,如果不是同一个数据,那么程序在运行中就会报错。 |
|