很多網友疑問為什么擴展模塊尋址模擬量從AIW16或者AQW16開始;數字量擴展從地址I8或者Q8開始?而網上又搜不到。本人將個人理解整理以便共享。不喜勿噴。 這是為了固定擴展模塊首地址,使擴展模塊的地址具有唯一性
數字量擴展最大32點(4個字節(jié)),模擬量擴展最大8點(16個字節(jié));CPU最大60點(8個字節(jié))。
這樣對于S7-200 SMART就是:
每一個擴展模塊最多占用字節(jié)數:數字量擴展占用4個字節(jié);模擬量擴展16字節(jié)。
因為不能確定我們擴展的是什么模塊,所以系統默認是最大量,一個擴展模塊(無論是什么擴展模塊)同時占用:數字量4個字節(jié),模擬量16個字節(jié)(8個點)。
這樣的結果就是:無論我們擴展的是什么模塊,也不管是多少點的模塊;只要確定了擴展模塊的位置(EM0-EM5),就決定了這個模塊的首地址。也就是說這個位置的擴展模塊的首地址是固定不變的,并且是唯一的。
這樣最大的優(yōu)點就是不會造成我們編程的時候對地址的錯誤使用(硬件接線地址與程序地址不符)
由于CPU也是一個模塊(系統默認數字量占用8個字節(jié),無論是20點 還是60點;模擬量不管實際模塊占用多少點,系統默認都是占用16字節(jié)),這就是為什么EM0位置:數字量擴展首地址是8.0;模擬量首地址是W16,無論輸入、輸出。因為前面地址被CPU默認占用。
假如:你前面EM0-EM4位置都是數字量擴展,模擬量擴展在EM5,你整個系統的模擬量首地址就是AIW96或者是AQW96;同樣的道理,無論前面什么擴展,EM5數字量擴展模塊的首地址一定是28。這個可以自己計算,很簡單的規(guī)律。
我剛接觸SMART的時候,由于只能擴展6個模塊假如模擬量多就造成數字量不夠用的尷尬。那時候還沒有32點擴展,最大16點,我當時的困惑,為什么這樣尋址,幾年后有了32點擴展解決了數字量不夠用的問題,同時也理解了尋址規(guī)律。心里恍然大悟:“原來如此”。
這也給了我們一個信息:無論他以后如何發(fā)展,CPU總點數不會超過8個字節(jié),一個數字量擴展模塊不會超過32點,一個模擬量擴展模塊不會超過8個信號16W
比老200的優(yōu)點是:
200數字量與模擬量擴展尋址是分開的,就是說模擬量與數字量擴展尋址是各自獨立的。后面的擴展尋址必須根據前面擴展的是模擬量還是數字量模塊決定首地址,這樣雖然也可以容易尋址,但是容易造成同一個位置的擴展模塊,由于前面擴展模塊的類型不同而首地址就不同。SMART就解決了這個問題,只要確定了擴展模塊的位置就決定了首地址,并且是唯一的。
哈哈哈 由于在線等郵件,所以無聊就啰嗦了。
敬請各位網友們莫怪糟老頭太啰嗦。不喜勿噴