這一節(jié)接著講述西門子PLC輸入寄存器,上一節(jié)我們講到了,輸入寄存器IB0的命名規(guī)則和使用方法,我們知道IB0最大只能存放0-255范圍內(nèi)的256個(gè)數(shù)。如果再大點(diǎn)的數(shù)該往哪里存放呢?比如789這個(gè)數(shù)。接下來我們做詳細(xì)介紹。
我們先看一張寫好的程序的圖片,看看我們講的寄存器在程序中是個(gè)什么樣子,如圖1,這段程序?qū)崿F(xiàn)的功能是(第一行)當(dāng)PLC的外部接線端子I0.0接通后,首先把456這個(gè)數(shù)放到IW0這個(gè)輸入寄存器中,然后再把789這個(gè)數(shù)放到IW2這個(gè)輸入寄存器中,(第二行)接著把IW0和IW2相加,也就是456+789,然后把計(jì)算結(jié)果放在IW4中。這樣IW4中的數(shù)據(jù)就是456+789=1245。這個(gè)程序能看懂它的意思就行了,不用太深究。重點(diǎn)是IW0這個(gè)輸入寄存器是怎么放得下456這個(gè)數(shù)的。
圖1
接下是來看圖2,這就是輸入寄存器IW0的命名規(guī)則,同樣的I指的是什么就不用多說了,大家都知道。W指的是數(shù)據(jù)類型是字(WORD)型的,0指的就是從第0個(gè)字節(jié)開始,開始后到哪一個(gè)字節(jié)結(jié)束呢?到第一個(gè)結(jié)束,即IW0包含(IB0和IB1兩個(gè)字節(jié))。IW2就包含(IB2和IB3兩個(gè)字節(jié))。為什么包含兩個(gè)字節(jié)呢?我們以前學(xué)過,字(WORD)型的數(shù)據(jù)類型是16位的,IB0和IB1兩個(gè)字節(jié)正好是16位。
所以IW0=“00000000 00000000”到“11111111 11111111”換算成十進(jìn)制就是“0--65535”。再回到圖1的問題,我們看到IW0放456這個(gè)數(shù)完全沒有問題的。同樣的IW4放1245也沒問題。
接下是來就是ID0了,它和上面IW0的命名規(guī)則是一樣的,不一樣的地方就是,ID0的數(shù)據(jù)類型是雙字(DWORD)型的,包含4個(gè)字節(jié)(IB0,IB1,IB2,IB3),是32位的。它的數(shù)據(jù)范圍更大“0--4294967295”可以放的下40多億的數(shù)。具體程序和命名規(guī)則看圖3,圖4
說明一下,雙字(DWORD)型是PLC所能處理的最大的數(shù)據(jù)類型(32位)了,再大的就沒有了。當(dāng)然了,還有雙整形(DINT)和實(shí)數(shù)型(REAL),但它們也都是32位的,只不過它們可以表示,有符號(hào)的和帶小數(shù)點(diǎn)的數(shù)罷了,但都是用“D”來表示。
好了,總結(jié)這兩節(jié)所講,,可以得出如圖5。可見編寫西門子S7-200 PLC的程序,就是編寫如圖5上的這些類型。例如:(按位的I0.0 I0.6 Q1.2 M12.4 V1200.3)(按字節(jié)的IB0 QB1 MB8 VB500)(按字的IW0 MW4 VW1002)(按雙字的ID0 MD4 VD80)。如果你能看明白,說明這兩節(jié)講的你已經(jīng)掌握了,可以接著往下學(xué)習(xí)了。