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