1S7-1500數(shù)據(jù)塊-優(yōu)化DB與非優(yōu)化DB
可能是為了適應(yīng)S7-1500操作系統(tǒng)的新功能同時還要保持原有操作習(xí)慣的原因,相對于S7-300/400,S7-1500中數(shù)據(jù)塊功能和參數(shù)更多,操作靈活的同時也會感覺到可操作的地方太多了,所以詳細(xì)了解DB塊這些功能非常必要,否則會感到無從下手。S7-1500數(shù)據(jù)塊DB帶來最大變化就是優(yōu)化DB,今天就介紹一下優(yōu)化DB與非優(yōu)化DB的區(qū)別。
S7-300/400中操作的數(shù)據(jù)塊DB,在S7-1500中就是我們所說的非優(yōu)化DB,所以S7-300/400移植后的程序塊都是非優(yōu)化的(除了DB外,F(xiàn)C、FB和OB也有優(yōu)化和非優(yōu)化的區(qū)分)。優(yōu)化和非優(yōu)化DB的區(qū)別如下:
1.1數(shù)據(jù)塊的大小
S7-300的數(shù)據(jù)塊最大是32K,S7-400的數(shù)據(jù)塊最大是64K,這里可以再聯(lián)想一下S7通信BSEND/BRECV,S7-300最大通信字節(jié)數(shù)是32K,S7-400最大通信字節(jié)數(shù)是64K,原因就是發(fā)送區(qū)和接收區(qū)是DB。
S7-1500數(shù)據(jù)塊DB的容量是變化的。我們看一下CPU1511數(shù)據(jù)塊DB的最大容量,參考圖1。
圖1
CPU1511的數(shù)據(jù)存儲區(qū)最大是1M 字節(jié),一個數(shù)據(jù)塊最大也是1M 字節(jié)。我們再參考一下CPU1517的技術(shù)數(shù)據(jù),參考圖2。
圖2
CPU1517的數(shù)據(jù)存儲區(qū)最大是8M 字節(jié),一個數(shù)據(jù)塊最大也是8M 字節(jié)。可以說一個數(shù)據(jù)塊DB的容量就是CPU的整個數(shù)據(jù)存儲區(qū)。
注:
最高端型號的CPU 1518數(shù)據(jù)存儲區(qū)最大是20M 字節(jié),一個數(shù)據(jù)塊最大容量是16M字節(jié),可以說一個數(shù)據(jù)塊最大容量就是16M字節(jié),只是小型CPU沒有那么大的DB存儲區(qū)。
1.2尋址方式
優(yōu)化DB與非優(yōu)化DB最大的區(qū)別就是尋址方式。
非優(yōu)化DB是絕地地址的訪問方式,例如尋址DB1中的一個INT變量(偏移地址為2)為DB1.DBW2。一個DB塊中的變量間帶有偏移地址,參考圖2。
優(yōu)化DB是符號地址的訪問方式,例如尋址DB1(名稱為A)中的一個INT變量(名稱為B)為A.B,不能使用DB1.B訪問,而在S7-300/400 DB塊尋址時是合法的(符號名方式訪問)。
圖2
創(chuàng)建DB時,缺省設(shè)置為優(yōu)化訪問,可以在DB塊的屬性中去使能優(yōu)化訪問,使之成為非優(yōu)化DB。
注:
非優(yōu)化DB既可以使用絕對地址尋址也可以使用符號名尋址,優(yōu)化DB只能使用符號名尋址,這里并不是說非優(yōu)化DB尋址方式多,而是與CPU的底層尋址方式有關(guān),例如S7-300/400 CPU底層只支持絕對地址的尋址方式,即使是符號尋址也是為了便于閱讀程序而已,所以沒有符號表后,上載的程序都是以缺省字符(DB以及程序塊OB、FB、FC的聲明)或者絕對地址出現(xiàn)(I、Q、M等),而S7-1500底層只支持符號尋址方式,即使是使用非優(yōu)化DB(創(chuàng)建時自動分配符號名)。
1.3保持特性
非優(yōu)化DB只能整體選擇保持或者非保持性。
優(yōu)化DB可以對其中的任何變量選擇保持或者非保持性,參考圖3。
圖3
1.4占用地址空間
非優(yōu)化DB按照變量創(chuàng)建次序進(jìn)行排列,這樣變量間會存在間隔,降低存儲效率,如圖4所示。所以在S7-300/400編程時強調(diào)尋址DB中一個2個字節(jié)(例如WORD、int)或者4個字節(jié)(例如DWORD、Dint)變量,地址都是偶數(shù),如果在程序中尋址DB1.DBD3就有問題了。
圖4
優(yōu)化DB中大數(shù)據(jù)類型位于塊的開始處,實現(xiàn)數(shù)據(jù)結(jié)構(gòu)合理優(yōu)化,布爾型變量以寬字節(jié)形式存儲,顯著提高訪問速度,如圖5所示。
圖5
1.5訪問速度
非優(yōu)化DB字節(jié)采樣大端編碼(低位數(shù)據(jù)存放在高位地址)方式,優(yōu)化DB字節(jié)采樣小端編碼方式(低位數(shù)據(jù)存放在低位地址),如圖6所示。S7-1500系統(tǒng)按照小端編碼方式處理變量,如果是大端編碼的變量,需要先進(jìn)行字節(jié)的調(diào)換,然后再計算,如果是一個4個字節(jié)的變量,需要調(diào)換兩次。這也是在S7-1500中建議使用優(yōu)化DB的原因。
圖6
審核編輯:劉清
-
接收機(jī)
+關(guān)注
關(guān)注
8文章
1184瀏覽量
53636 -
S7-300
+關(guān)注
關(guān)注
8文章
225瀏覽量
34412 -
數(shù)據(jù)存儲器
+關(guān)注
關(guān)注
1文章
69瀏覽量
17817 -
S7-1500
+關(guān)注
關(guān)注
3文章
300瀏覽量
6516
原文標(biāo)題:S7-1500數(shù)據(jù)塊:優(yōu)化DB與非優(yōu)化DB
文章出處:【微信號:中泰PLC自動化教學(xué),微信公眾號:中泰PLC自動化教學(xué)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
基于S7-1500 CPU集成PN口的Modbus TCP通信快速入門
西門子plc S7-1200/S7-1500優(yōu)化的DB塊與標(biāo)準(zhǔn)的DB塊整體對比
![西門子plc <b class='flag-5'>S7</b>-1200/<b class='flag-5'>S7-1500</b><b class='flag-5'>優(yōu)化</b>的<b class='flag-5'>DB</b><b class='flag-5'>塊</b>與標(biāo)準(zhǔn)的<b class='flag-5'>DB</b><b class='flag-5'>塊</b>整體對比](https://file1.elecfans.com//web2/M00/8E/49/wKgaomTDomqAQySDAACAnNBD494583.jpg)
S7-1500系統(tǒng)架構(gòu)及特點
![<b class='flag-5'>S7-1500</b>系統(tǒng)架構(gòu)及特點](https://file.elecfans.com/web2/M00/49/F6/pYYBAGKhvH6AK6S5AAARzdUZDoA923.jpg)
如何修改S7-1500創(chuàng)建的S7-GRAPH FB保持性屬性
怎樣去使用S7-1500 SCL PEEK和POKE指令呢
S7-1500 CPU支持與其它S7-1500 CPU進(jìn)行直接數(shù)據(jù)交換
西門子S7-1500 之間 S7 通信
![西門子<b class='flag-5'>S7-1500</b> 之間 <b class='flag-5'>S7</b> 通信](https://file1.elecfans.com/web2/M00/88/CE/wKgZomR0QGmAPTI4AAAB05eioQs557.jpg)
DCM與S7-1500 PN是如何進(jìn)行通訊的?
![DCM與<b class='flag-5'>S7-1500</b> PN是如何進(jìn)行通訊的?](https://file1.elecfans.com/web2/M00/8C/78/wKgaomSs81uAbJ3RAABTDCy32K8605.jpg)
SIMATIC S7-1500數(shù)據(jù)塊(DB)介紹
![SIMATIC <b class='flag-5'>S7-1500</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>塊</b>(<b class='flag-5'>DB</b>)介紹](https://file1.elecfans.com/web2/M00/8D/40/wKgZomS4jlKAEsV-AACasatwjmU846.png)
談?wù)?b class='flag-5'>S7-1200/1500系列PLC優(yōu)化塊訪問的功能
![談?wù)?b class='flag-5'>S7</b>-1200/<b class='flag-5'>1500</b>系列PLC<b class='flag-5'>優(yōu)化</b><b class='flag-5'>塊</b>訪問的功能](https://file1.elecfans.com/web2/M00/A8/0B/wKgZomUThyWAZcW2AABJXslsTZY398.png)
評論