數(shù)據(jù)塊(DB)的結(jié)構(gòu)
定義(Definition)
在一個(gè)程序中,可以被所有塊存取的特定用戶數(shù)據(jù)包含在數(shù)據(jù)塊。每個(gè)FB、FC或OB均能讀寫這些數(shù)據(jù)塊。
有兩種數(shù)據(jù)塊類型:
數(shù)據(jù)塊(Data blocks)
能被所有S7程序的邏輯塊存取。每個(gè)FB、FC或OB讀或?qū)懓谶@些數(shù)據(jù)塊里的數(shù)據(jù)。
指派給一個(gè)FB的數(shù)據(jù)塊(實(shí)例數(shù)據(jù)塊)(Data blocks assigned to an FB (instance DB))
實(shí)例數(shù)據(jù)塊是指派給特定功能塊的數(shù)據(jù)塊。它們功能塊的指定的本地?cái)?shù)據(jù)。當(dāng)FB被用戶程序調(diào)用時(shí),這些數(shù)據(jù)塊被S7-SCL編譯器自動(dòng)建立。
句法(Syntax)
DB標(biāo)識(shí)符(DB Identifier)
在關(guān)鍵字“DATA_BLOCK”之后,鍵入關(guān)鍵字DB作為數(shù)據(jù)塊的標(biāo)識(shí)符,后面跟一個(gè)塊號(hào)或數(shù)據(jù)塊的符號(hào)名,塊號(hào)是1到65533中間的值。
例子(Examples:)
DATA_BLOCK DB20
DATA_BLOCK MEASRANGE
數(shù)據(jù)塊聲明部分(DB Declaration Section)
在DB的聲明部分定義DB的數(shù)據(jù)結(jié)構(gòu)。有兩種方法做這件事,如下:
通過指派到用戶定義數(shù)據(jù)類型(By assigning a user-defined data type)
在此,指派一個(gè)先在程序中定義的用戶數(shù)據(jù)類型的標(biāo)識(shí)符,然后數(shù)據(jù)塊取得該UDT的結(jié)構(gòu)。你可以在數(shù)據(jù)塊的賦值部分指派變量的初始值。
通過定義STRUCT(結(jié)構(gòu))數(shù)據(jù)類型(By defining a STRUCT data type)
在STRUCT數(shù)據(jù)類型的說明中,指定了存儲(chǔ)在DB中的每個(gè)變量的數(shù)據(jù)類型,可能也給出了初始值。
例子(Example)
DATA_BLOCK DB20
STRUCT // 聲明部分
VALUE:ARRAY [1..100] OF INT;
END_STRUCT
BEGIN // 賦值部分開始
:
END_DATA_BLOCK // 數(shù)據(jù)塊結(jié)束
數(shù)據(jù)塊賦值部分(DB Assignment Section)
在賦值部分,能夠改寫在聲明部分聲明的數(shù)據(jù),以便指定實(shí)際應(yīng)用所需的特定值。
賦值部分用關(guān)鍵字BEGIN開始,然后包含一系列賦值語句。
當(dāng)指派初始值(初始化)時(shí), 鍵入屬性和注釋采用STL句法。關(guān)于如何寫常量、屬性和注釋,使用STL在線幫助或參考STEP 7的資料。
例子(Example)
// 帶指定STRUCT數(shù)據(jù)類型的數(shù)據(jù)塊
DATA_BLOCK DB10
STRUCT // 帶初始值聲明的數(shù)據(jù)聲明
VALUE : ARRAY [1..100] OF INT := 100 (1) ;
SWITCH : BOOL := TRUE ;
S_WORD : WORD := W#16#FFAA ;
S_BYTE : BYTE := B#16#FF ;
S_TIME : S5TIME := S5T#1h30m10s ;
END_STRUCT
BEGIN // 賦值部分
// 為特定的數(shù)組元素賦值
VALUE [1] := 5;
VALUE [5] := -1;
END_DATA_BLOCK
// 帶用戶定義數(shù)據(jù)類型指定的數(shù)據(jù)塊
DATA_BLOCK DB11
UDT 51
BEGIN
END_DATA_BLOCK
審核編輯:郭婷
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
6892瀏覽量
88828 -
編譯器
+關(guān)注
關(guān)注
1文章
1618瀏覽量
49051 -
數(shù)據(jù)類型
+關(guān)注
關(guān)注
0文章
236瀏覽量
13609
原文標(biāo)題:數(shù)據(jù)塊(DB)的結(jié)構(gòu)
文章出處:【微信號(hào):gh_a8b121171b08,微信公眾號(hào):機(jī)器人及PLC自動(dòng)化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論