西門子S7-1200/1500系列PLC支持優(yōu)化的塊訪問(Optimized block access),通常理解的是數(shù)據(jù)塊(DB)具有這個功能。
其實(shí)除了數(shù)據(jù)塊,組織塊、函數(shù)塊和函數(shù)也都有這個功能。
在博途環(huán)境下新建這四類程序組織單元,其屬性都默認(rèn)勾選“優(yōu)化的塊訪問”。
今天這篇文章,我們來詳細(xì)談?wù)勥@個功能。
1、數(shù)據(jù)塊(DB)
博途環(huán)境下新建數(shù)據(jù)塊,在其屬性中可以看到已勾選“優(yōu)化的塊訪問”,如下圖所示:
優(yōu)化的數(shù)據(jù)塊具有如下一些特點(diǎn):
①數(shù)據(jù)塊中的變量只能以符號的方式訪問(不支持絕對地址訪問)。比如,某優(yōu)化的數(shù)據(jù)塊名稱為“optDB”,其內(nèi)部有一個start變量,則訪問的語法為:
"optDB".start
注:optDB兩邊的雙引號是自動添加的,表示這是一個全局變量;如果添加的是井號(#),則表示是局部變量;
為了說明標(biāo)準(zhǔn)數(shù)據(jù)塊與優(yōu)化的數(shù)據(jù)塊之間存儲策略的差別,我們來舉個例子。假設(shè)有變量按如下順序存儲:
start:布爾型;
speed:實(shí)數(shù)型;
stop:布爾型;
對于標(biāo)準(zhǔn)數(shù)據(jù)塊,使用絕對地址存儲變量(以字節(jié)為單位),第一個布爾型變量占用一個字節(jié)(B0,雖然它實(shí)際只使用了其中一位)。
第二個變量為實(shí)數(shù),從偶數(shù)地址開始存放,因此其起始地址為B2,占用4個字節(jié)(B2~B5);第三個變量為布爾型,占用一個字節(jié)(B6)。
可見,在這種存儲策略下,這三個變量占用了7個字節(jié)存儲空間。
當(dāng)然,如果將順序調(diào)整一下,兩個布爾型變量放到一起,會節(jié)省一個字節(jié)的空間,不過這要求編程人員熟悉其存儲策略才行。
在有多種數(shù)據(jù)類型的情況下,人工優(yōu)化存儲往往費(fèi)神費(fèi)力,很難達(dá)到理想的效果。
而優(yōu)化的數(shù)據(jù)塊幫我們解決了這個問題。它會自動將同類型的變量存儲到一起,從而最大限度的利用存儲空間。兩者的對比如下圖所示:
②優(yōu)化的數(shù)據(jù)塊可以對其中的變量單獨(dú)設(shè)置保持屬性,而標(biāo)準(zhǔn)數(shù)據(jù)塊要么全部保持,要么全部取消保持;
③對于S7-1200,優(yōu)化的數(shù)據(jù)塊采取存儲優(yōu)先的策略(由于其數(shù)據(jù)空間相對較?。粚τ赟7-1500,優(yōu)化的數(shù)據(jù)塊采取訪問優(yōu)先的策略(由于其數(shù)據(jù)空間相對較大,為了提高訪問速率);
2、組織塊(OB)
優(yōu)化了啟動信息。
優(yōu)化后的組織塊只有很少幾條啟動信息,比如Startup組織塊優(yōu)化后僅有兩條啟動信息,如下圖所示:
3、函數(shù)塊(FB)
①對其背景數(shù)據(jù)塊進(jìn)行優(yōu)化,類似數(shù)據(jù)塊的優(yōu)化;
②對復(fù)雜變量可通過符號尋址;
4、函數(shù)(FC)
①優(yōu)化臨時變量的使用,每次塊調(diào)用前會對其進(jìn)行初始化;
②對復(fù)雜變量可通過符號尋址;
審核編輯:劉清
-
plc
+關(guān)注
關(guān)注
5011文章
13297瀏覽量
463376 -
存儲器
+關(guān)注
關(guān)注
38文章
7492瀏覽量
163842 -
S7-1200
+關(guān)注
關(guān)注
11文章
331瀏覽量
17986 -
S7-1500
+關(guān)注
關(guān)注
3文章
300瀏覽量
6408
原文標(biāo)題:談?wù)凷7-1200/1500系列PLC的優(yōu)化塊訪問
文章出處:【微信號:方正智芯,微信公眾號:方正智芯】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論