STRUCT和UDT類型變量是表示一個完整結(jié)構(gòu)或一個結(jié)構(gòu)元素的結(jié)構(gòu)化變量。
下面是有效結(jié)構(gòu)變量的例子:
Image //結(jié)構(gòu)的標(biāo)識符
Image.element //結(jié)構(gòu)元素的標(biāo)識符
Image.arr //在一個結(jié)構(gòu)中的一維數(shù)組標(biāo)識符
Image.arr[2,5]//在一個結(jié)構(gòu)中的數(shù)組元素的標(biāo)識符
賦值一個完整結(jié)構(gòu)(Assigning a Complete Structure)
一個完整結(jié)構(gòu)只能賦值給另一個完整結(jié)構(gòu),兩個結(jié)構(gòu)內(nèi)部的名稱和數(shù)據(jù)類型應(yīng)完全匹配。下面的賦值是有效的:
structname_1 := structname_2 ;
賦值結(jié)構(gòu)元素(Assigning Structure Components)
能夠?qū)⒁粋€同類型變量、同類型表達式或另一個結(jié)構(gòu)部件賦值給任何結(jié)構(gòu)元素。
能夠通過說明結(jié)構(gòu)的標(biāo)識符來引用結(jié)構(gòu)元素,結(jié)構(gòu)元素的標(biāo)識符用一個句點分開。下面的賦值是有效的:
structname_1.element1 := Value ;
structname_1.element1 := 20.0 ;
structname_1.element1 := structname_2.element1 ;
structname_1.arrname1 := structname_2.arrname2 ;
structname_1.arrname[10]:= 100 ;
例子(Example)
FUNCTION_BLOCK FB3
VAR
AUXVAR : REAL ;
MEASVAL : STRUCT//目標(biāo)結(jié)構(gòu)
VOLTAGE :REAL ;
RESISTANCE :REAL ;
SIMPLEARR : ARRAY [1..2, 1..2] OF INT ;
END_STRUCT ;
PROCVAL : STRUCT//源結(jié)構(gòu)
VOLTAGE : REAL ;
RESISTANCE : REAL ;
SIMPLEARR : ARRAY [1..2, 1..2] OF INT ;
END_STRUCT ;
END_VAR
BEGIN
//賦值給一個完整結(jié)構(gòu)
MEASVAL := PROCVAL ;
//賦值給地個結(jié)構(gòu)元素
MEASVAL.VOLTAGE := PROCVAL.VOLTAGE ;
//將一個結(jié)構(gòu)元素賦值給同類型變量
AUXVAR := PROCVAL.RESISTANCE ;
//將一個常量賦值給結(jié)構(gòu)元素
MEASVAL.RESISTANCE := 4.5;
//將一個常量賦值給一維數(shù)組元素
MEASVAL.SIMPLEARR[1,2] := 4;
END_FUNCTION_BLOCK
審核編輯:劉清
-
VaR
+關(guān)注
關(guān)注
0文章
38瀏覽量
11294 -
標(biāo)識符
+關(guān)注
關(guān)注
0文章
12瀏覽量
7329
原文標(biāo)題:SCL :STRUCT和UDT類型變量的賦值
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論