STRUCT和UDT類型變量是表示一個(gè)完整結(jié)構(gòu)或一個(gè)結(jié)構(gòu)元素的結(jié)構(gòu)化變量。
下面是有效結(jié)構(gòu)變量的例子:
Image //結(jié)構(gòu)的標(biāo)識(shí)符
Image.element //結(jié)構(gòu)元素的標(biāo)識(shí)符
Image.arr //在一個(gè)結(jié)構(gòu)中的一維數(shù)組標(biāo)識(shí)符
Image.arr[2,5]//在一個(gè)結(jié)構(gòu)中的數(shù)組元素的標(biāo)識(shí)符
賦值一個(gè)完整結(jié)構(gòu)(Assigning a Complete Structure)
一個(gè)完整結(jié)構(gòu)只能賦值給另一個(gè)完整結(jié)構(gòu),兩個(gè)結(jié)構(gòu)內(nèi)部的名稱和數(shù)據(jù)類型應(yīng)完全匹配。下面的賦值是有效的:
structname_1 := structname_2 ;
賦值結(jié)構(gòu)元素(Assigning Structure Components)
能夠?qū)⒁粋€(gè)同類型變量、同類型表達(dá)式或另一個(gè)結(jié)構(gòu)部件賦值給任何結(jié)構(gòu)元素。
能夠通過說明結(jié)構(gòu)的標(biāo)識(shí)符來引用結(jié)構(gòu)元素,結(jié)構(gòu)元素的標(biāo)識(shí)符用一個(gè)句點(diǎn)分開。下面的賦值是有效的:
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
//賦值給一個(gè)完整結(jié)構(gòu)
MEASVAL := PROCVAL ;
//賦值給地個(gè)結(jié)構(gòu)元素
MEASVAL.VOLTAGE := PROCVAL.VOLTAGE ;
//將一個(gè)結(jié)構(gòu)元素賦值給同類型變量
AUXVAR := PROCVAL.RESISTANCE ;
//將一個(gè)常量賦值給結(jié)構(gòu)元素
MEASVAL.RESISTANCE := 4.5;
//將一個(gè)常量賦值給一維數(shù)組元素
MEASVAL.SIMPLEARR[1,2] := 4;
END_FUNCTION_BLOCK
審核編輯:劉清
-
VaR
+關(guān)注
關(guān)注
0文章
39瀏覽量
11351 -
標(biāo)識(shí)符
+關(guān)注
關(guān)注
0文章
12瀏覽量
7369
原文標(biāo)題:SCL :STRUCT和UDT類型變量的賦值
文章出處:【微信號(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)論