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