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