為了讓大家掌握更多PLC知識,本篇文章將會(huì)為大家詳細(xì)介紹取反指令,塊傳送指令,多點(diǎn)傳送以及數(shù)據(jù)交換指令。如果有不懂的可以在下方留言,或私信小編噢!下面我們直接進(jìn)入主題。 取反指令: 該指令的指令代碼,助記符,操作數(shù)如下表: 源操作數(shù)可以是常數(shù)或者是,字元件。目標(biāo)操作數(shù)可以是字元件。16位操作的時(shí)候?yàn)?步,32位操作的時(shí)候?yàn)?步。 指令格式: 該指令的意思為:當(dāng)X010接通后,CML表示把D0里面的數(shù)據(jù)按位取反,然后再傳送到K2Y000里面去,什么是按位取反呢?就比如0010按位取反就是1101,就是把0010里面的數(shù)據(jù),一位,一位的取反。 程序示例: 有八個(gè)霓虹燈,接在Y0~Y7上,要求這八個(gè)燈每隔1秒間隔交替閃爍。 程序如下: 在這里我們選用8013秒脈沖,因?yàn)?013的周期接通半秒,再斷開半秒,總共1秒。這樣子就可以滿足我們每隔一秒間隔交替閃爍的控制要求。當(dāng)M8013接通的時(shí)候,CML取反。H55是16進(jìn)制,轉(zhuǎn)換成2進(jìn)制就是01010101,取反后則為101010,然后把這數(shù)據(jù)傳到K2Y000中,那么這個(gè)時(shí)候Y0到Y(jié)7的燈就剛好是一個(gè)亮一個(gè)熄。當(dāng)M8013常閉點(diǎn)接通的時(shí)候H55的數(shù)據(jù)就直接傳送到K2Y00里面去。那么它的數(shù)據(jù)則為01010101,剛好與前面的相反,這樣子就完成了我們的控制要求。 塊傳送指令: 該指令的指令代碼,助記符,操作數(shù)如下表: 塊指令格式: 當(dāng)我們接通X000后,BMOV指令是指把D5,D6,D7的數(shù)據(jù)傳送到D10,D11,D12里面去,K3表示的是塊的大小。運(yùn)用這條指令我們就可以把大批量的數(shù)據(jù)從一個(gè)寄存器傳送到另一個(gè)寄存器。 多點(diǎn)傳送指令: 它表示的是把K0的數(shù)據(jù)傳送到以D0為首的10個(gè)寄存器中,這條指令表示的是一對多。把一個(gè)數(shù)據(jù)傳送到多個(gè)寄存器中。 數(shù)據(jù)交換指令: 該指令的指令代碼,助記符,操作數(shù)如下表: 指令格式: 當(dāng)我們接通X000后,D10的數(shù)據(jù)傳送到D11,然后D11得數(shù)據(jù)傳送到D10里面去。假設(shè)D10等于10,D11等于100,那么在經(jīng)過這個(gè)指令后D10的數(shù)據(jù)就變成了100,D11的數(shù)據(jù)就變成了10.但是我們在使用的時(shí)候一般采用脈沖進(jìn)行型,也就是在XCH后面加一個(gè)P來進(jìn)行表示。 注意: 在使用的時(shí)候要特別注意,如果我們把特殊繼電器M8160給置1的話,那么在使用數(shù)據(jù)交換的時(shí)候它是把數(shù)據(jù)的高8位和數(shù)據(jù)的低8位進(jìn)行互換的。比如在這個(gè)程序中如果M8002接通,H88AA的數(shù)據(jù)傳送到D10中,當(dāng)我們接通X0的時(shí)候,D10的數(shù)據(jù)是為AA88的,也就是說吧數(shù)據(jù)的高8位和低8位進(jìn)行了交換。在這里還需要我們注意的是,當(dāng)我們把M8160給置1的時(shí)候,在這個(gè)數(shù)據(jù)交換指令中,這個(gè)源操作數(shù)和目標(biāo)操作數(shù)應(yīng)該為同一個(gè)數(shù)據(jù),如果不是同一個(gè)數(shù)據(jù),那么程序在運(yùn)行中就會(huì)報(bào)錯(cuò)。 |
|