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