怎麼理解plc裡面地址存儲的問題。生動形象點?
這個問題也困擾了我好久,不過最後終於理解了,哈哈,廢話少說,上正題
首先,你要明白地址的單位,從小到大,位(bit),位元組(Byte),字(Word),雙字(Double Word),1D=2W,1W=2B,1B=8b 把這幾個單位搞清楚了,再來看西門子PLC 的存儲格式,西門子PLC常用的有I,Q,M,V,SM,T,C,HC,AC這幾個,I是輸入,Q是實際輸出,M是中間輸出,這個一般是以位來使用的,比如I0.1,Q1.2,M3.0等等,這個是PLC固定的,根據型號不同會有不同,V是數據存儲區,這個是你自己使用的放程序和數據的地方,估計你問的也是這裡吧,你這樣理解:(重點到了):
一棟樓,樓高N層,一層兩戶,一戶兩居,一居8位
你看中了一套房子(字),兩個卧室(位元組),每個卧室有8個柜子(位),每層(雙字)兩戶,一共N層,(N是根據PLC型號確定)。然後地址就是門牌號了
但是,強調一下,用地址的時候要注意,不要重複使用,比如你使用了VD100(雙字),也就是使用了VB100開頭的四個位元組,分別是VB100,VB101,VB102,VB103,這四個位元組已經被佔用了,VD101,VD102,VD103就不要再用了,需要使用的時候就要從VD104開頭了,所以,你會發現,凡是雙字,最後結尾都是0,4,8,12 ,16,20……等4的倍數,同理:凡是字,結尾都是2的倍數,凡是位,都是帶小數點的。
哎呀,純手打,手軟了,給個贊吧!
有錯誤的地方,歡迎指正!了解二進位就很容易理解計算機或者PLC的數據存儲問題。
電氣里最直觀且容易實現的狀態是開閉或者通斷。在電路里,可以用高電平來表示通,即1;用低電平表示斷,即0。建立了二進位與十進位(16進位)的數據轉換關係,就可以通過數據寄存器里相關位的高電平和低電平來模擬二進位的1和0,從而能記憶並保存數據。在計算機或單片機或PLC中,二進位數據的每一位都對應於數據寄存器的一個基本位。
最初因為處理器的定址能力限制最多定址到8位(8位二進位稱為一個位元組--8位為1Byte的二進位數據處理概念在40年代就提出了,依託單片機的PLC里很多8進位的設定也由此而來),隨著處理器能力的不斷增加,可定址位數逐步增加到16位(16位二進位,稱為1個字,佔用兩個八位位元組)及32位(32位二進位,稱為1個雙字,佔用兩個16位字或者四個8位位元組)。(定址的4位,12位也出現過,但不是PLC應用的範疇)
不考慮符號位的話,1位二進位只能記錄1和0沒有實用意義,而8位二進位可記錄0~255,16位二進位可記錄0~65535,32位二進位可記錄。。。 在PLC里,字是通常使用的數據記錄單位。規定了一個字佔用兩個位元組,即用數據寄存器的一段連續的16位基本位來存儲1個數據,這段連續位的起始地址可以指定。若單個字最大值仍不滿足使用的話可使用雙字,即相鄰的兩個字(連續的32位)來存儲1個數據。字的使用非常靈活,在實際應用上,就算是IO位的通斷也都可以被利用來表示成二進位的數據,雖然這數據不能被鎖存。 這是題外話了。。。推薦閱讀:
※單片機的C語言是如何在單片機內運行的?
※PLC在控制系統中扮演了什麼角色?
※感測器反饋(4~20mA)到 PLC 模塊,感測器只有兩根線,一根接 24V,一根接模擬量模塊?
※在新單位接觸到PLC,如何快速的入門?
TAG:西門子 | 可編程邏輯控制器PLC |