零基礎學西門子PLC:之 重中之重

今天在正式開始之前說一點感想,通過觀察這幾天的閱讀量,我發現不太重要的知識閱讀的人反而多,越是重要的知識點,閱讀的人反而越少了,我不知道是大家真的都明白了,還是覺得PLC的內存和寄存器沒什麼要學習的。如果你真的已經掌握了,那就是再好不過的事了。但如果你沒掌握,而又真的想學好(注意是想學好,而不是隻想學)PLC,我希望大家一定要把PLC的內存和寄存器學明白。這個真的很重要。好了,就說這麼多。

這一節接著講述S7-200PLC輸入寄存器,上一節我們講到了,輸入寄存器IB0的命名規則和使用方法,我們知道IB0最大隻能存放0-255範圍內的256個數。如果再大點的數該往哪裡存放呢?比如789這個數。接下來我們做詳細介紹。

我們先看一張寫好的程序的圖片,看看我們講的寄存器在程序中是個什麼樣子,如圖1,這段程序實現的功能是(第一行)當PLC的外部接線端子I0.0接通後,首先把456這個數放到IW0這個輸入寄存器中,然後再把789這個數放到IW2這個輸入寄存器中,(第二行)接著把IW0IW2相加,也就是456+789,然後把計算結果放在IW4中。這樣IW4中的數據就是456+789=1245。這個程序能看懂它的意思就行了,不用太深究。重點是IW0這個輸入寄存器是怎麼放得下456這個數的。

零基礎學西門子PLC:之 重中之重

圖1

接下是來看圖2,這就是輸入寄存器IW0的命名規則,同樣的I指的是什麼就不用多說了,大家都知道。W指的是數據類型是字(WORD)型的,0指的就是從第0個字節開始,開始後到哪一個字節結束呢?到第一個結束,即IW0包含(IB0和IB1兩個字節)。IW2就包含(IB2和IB3兩個字節)。為什麼包含兩個字節呢?我們以前學過,字(WORD)型的數據類型是16位的,IB0和IB1兩個字節正好是16位。

所以IW0=“00000000 00000000”到“11111111 11111111”換算成十進制就是“0--65535”。再回到圖1的問題,我們看到IW0放456這個數完全沒有問題的。同樣的IW4放1245也沒問題。

零基礎學西門子PLC:之 重中之重

圖2

接下是來就是ID0了,它和上面IW0的命名規則是一樣的,不一樣的地方就是,ID0的數據類型是雙字(DWORD)型的,包含4個字節(IB0,IB1,IB2,IB3),是32位的。它的數據範圍更大“0--4294967295”可以放的下40多億的數。具體程序和命名規則看圖3,圖4

零基礎學西門子PLC:之 重中之重

圖3

零基礎學西門子PLC:之 重中之重

圖4

說明一下,雙字(DWORD)型是PLC所能處理的最大的數據類型(32位)了,再大的就沒有了。當然了,還有雙整形(DINT)實數型(REAL),但它們也都是32位的,只不過它們可以表示,有符號的和帶小數點的數罷了,但都是用“D”來表示。

零基礎學西門子PLC:之 重中之重

圖5


分享到:


相關文章: