要求
塊接口已打開。
操作步驟
要聲明 STRUCT 數(shù)據(jù)類型的變量,請按以下步驟操作:
在塊接口中,選擇需聲明的部分。 在“名稱”(Name) 列中,輸入變量的名稱。 在“數(shù)據(jù)類型”列中輸入“Struct”。輸入時系統(tǒng)將提供自動完成功能。 在新變量后將插入空的縮進行。 在第一個空行中插入第一個結構元素。 在該元素后會再插入一個空行。 選擇結構元素的數(shù)據(jù)類型。 可選:更改在塊接口其它列中顯示的結構元素的屬性。 對于所有其它結構元素,重復執(zhí)行步驟 4 到 6。 不必顯式完成該結構。結構會以輸入的最后一個元素結束。 要在結構后插入新變量,請在結構結尾后留一個空行,然后在第二個空行中啟動新變量。 |
結果
創(chuàng)建數(shù)據(jù)類型 STRUCT 的變量。
說明 S7-1500:一個數(shù)據(jù)塊中最多有 252 個結構 一個數(shù)據(jù)塊中最多允許有 252 個結構。如果需要更多結構,則必須重新構造自己的程序。例如,可以在多個全局數(shù)據(jù)塊中創(chuàng)建結構。 |
TRUCT 聲明
STRUCT 數(shù)據(jù)類型是指一種元素數(shù)量固定但數(shù)據(jù)類型不同的數(shù)據(jù)結構。
也可以基于 PLC 數(shù)據(jù)類型 (UDT) 創(chuàng)建結構。為此,需將 PLC 數(shù)據(jù)類型指定為一個結構化數(shù)據(jù)類型。小系統(tǒng)將通過工具提示,顯示該 PLC 數(shù)據(jù)類型的各個元素。
語法
聲明 STRUCT 所用的語法如下:
聲明 | 語法 | 示例 |
---|---|---|
STRUCT |
<名稱> : Struct <元素名稱> : <數(shù)據(jù)類型> [:= <值>]; <元素名稱> : <數(shù)據(jù)類型> [:= <值>]; ... END_Struct := (<初始化列表>); |
myStruct : Struct mem_1 : Int; mem_2 : Int; mem_3 : BOOL; END_Struct := (6,0, TRUE) ; |
基于 PLC 數(shù)據(jù)類型 (UDT) 的 STRUCT |
<名稱> : " |
myStruct : "myType" := (6,0, TRUE); |
說明 S7-1500:一個數(shù)據(jù)塊中最多有 252 個結構 S7-1500 系列 CPU 中的一個數(shù)據(jù)塊中最多允許有 252 個結構。如果需要更多結構,則必須重新構造自己的程序。例如,可以在多個全局數(shù)據(jù)塊中創(chuàng)建結構。 |
STRUCT 的初始化
STRUCT 初始化為可選操作。進行初始化時,可在變量聲明后直接跟隨一個值,也可使用初始化列表。
初始化列表位于關鍵字 END_STRUCT 之后,包含在一個括號內并通過 := 進行賦值。如果該結構中還包含下級結構,則可通過括號嵌套進行初始化。如果這兩種初始化方式均未采用,則可使用初始化列表中的值。
初始化列表使用的語法如下所示:
聲明 | 語法 | 示例 | 注釋 |
---|---|---|---|
STRUCT 的初始化 |
<名稱> : Struct <元素名稱> : <數(shù)據(jù)類型> [:= <值>]; ... END_Struct |
myStruct : Struct mem_1 : Int := 1; mem_2 : Int := 2; mem_3 : BOOL := FALSE End_Struct |
該結構中的元素將進行如下初始化: // mem_1 := 1 // mem_2 := 2 // mem_3 := FALSE |
STRUC 的初始化列表 | := (<值>,<值>,<值>... ) |
myStruct : Struct mem_1 : Int; mem_2 : Int; mem_3 : BOOL End_Struct:=(2,0,TRUE); |
該結構中的元素將進行如下初始化: // mem_1 := 2 // mem_2 := 0 // mem_3 := TRUE |
嵌套 STRUC 的初始化列表 | := (<值>,(<值>,<值>... )) |
myStruct : Struct mem_1 : Int; mem_2 : Int; mem_3 : Struct mem_4 : BOOL; mem_5 : BOOL; End_Struct; End_Struct:=(2,0, (TRUE,TRUE)); |
該結構中的元素將進行如下初始化: // mem_1 := 2 // mem_2 := 0 // mem_4 := TRUE // mem_5 := TRUE |
STRUC 的初始化列表(帶元素命名規(guī)范) | := (<元素名稱> := <值>), (<元素名稱> := <值>)... |
myStruct : Struct mem_1 : Int; mem_2 : Int; End_Struct:=(mem_2:=55); |
該結構中的元素將進行如下初始化: // mem_2 := 55 |
PLC 數(shù)據(jù)類型 (UDT) 的初始化列表 | := (<值>,<值>,<值>... ) | myStruct : "myType" := (2,0,TRUE); |
該結構中的元素將進行如下初始化: // mem_1 := 2 // mem_2 := 0 // mem_3 := TRUE |
嵌套 PLC 數(shù)據(jù)類型 (UDT) 的初始化列表 | := (<值>,(<值>,<值>... )) | myStruct : "myType" := (2,0,(TRUE,TRUE); |
該結構中的元素將進行如下初始化: // mem_1 := 2 // mem_2 := 0 // mem_3 := TRUE // mem_4 := TRUE |
PLC 數(shù)據(jù)類型 (UDT) 的初始化列表(帶元素命名規(guī)范) | := (<元素名稱> := <值>), (<元素名稱> := <值>)... | myStruct : "myType" := (mem_1:=22,mem_2:=55); |
該結構中的元素將進行如下初始化: // mem_1 := 22 // mem_2 := 55 |
審核編輯:湯梓紅
-
plc
+關注
關注
5016文章
13387瀏覽量
465405 -
西門子
+關注
關注
95文章
3062瀏覽量
116447 -
數(shù)據(jù)類型
+關注
關注
0文章
236瀏覽量
13663 -
Struct
+關注
關注
0文章
31瀏覽量
10902
原文標題:西門子博途:聲明 STRUCT 數(shù)據(jù)類型的變量
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
Verilog 變量聲明與數(shù)據(jù)類型二
Verilog 變量聲明與數(shù)據(jù)類型一
西門子plc數(shù)據(jù)類型_西門子plc通訊方式
![<b class='flag-5'>西門子</b>plc<b class='flag-5'>數(shù)據(jù)類型</b>_<b class='flag-5'>西門子</b>plc通訊方式](https://file.elecfans.com/web1/M00/9E/49/o4YBAF05G46ARZwyAAAyrP5yWaE148.jpg)
西門子PLC模擬量輸入輸出相關數(shù)據(jù)類型轉換
![<b class='flag-5'>西門子</b>PLC模擬量輸入輸出相關<b class='flag-5'>數(shù)據(jù)類型</b>轉換](https://file.elecfans.com/web1/M00/B8/7F/pIYBAF5ywGmAH9qFAACKpgTRmrQ123.png)
重視變量的數(shù)據(jù)類型
![重視<b class='flag-5'>變量</b>的<b class='flag-5'>數(shù)據(jù)類型</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
西門子博途F型PLC數(shù)據(jù)類型與標準PLC數(shù)據(jù)類型的差別
Struct結構數(shù)據(jù)類型
結構數(shù)據(jù)類型(Struct)及應用案例
結構數(shù)據(jù)類型Struct介紹
西門子博途中的SCL關系表達式
西門子博途中DB_ANY數(shù)據(jù)類型的使用
![<b class='flag-5'>西門子</b><b class='flag-5'>博</b><b class='flag-5'>途中</b>DB_ANY<b class='flag-5'>數(shù)據(jù)類型</b>的使用](https://file1.elecfans.com/web2/M00/8B/F7/wKgaomSjgaWAD7HOAABmp9cUiro436.png)
ARRAY 數(shù)據(jù)類型的變量
西門子博途有關STRUCT的基本信息
![<b class='flag-5'>西門子</b><b class='flag-5'>博</b>途有關<b class='flag-5'>STRUCT</b>的基本信息](https://file1.elecfans.com/web2/M00/8C/87/wKgaomSuCmyAGdT2AAA-80vYoek478.png)
西門子博途:使用PLC數(shù)據(jù)類型 (UDT)
![<b class='flag-5'>西門子</b><b class='flag-5'>博</b>途:使用PLC<b class='flag-5'>數(shù)據(jù)類型</b> (UDT)](https://file1.elecfans.com/web2/M00/8C/97/wKgZomSudFqAH7RwAAAXIple76w076.png)
西門子PLC UDT數(shù)據(jù)類型的使用方法
![<b class='flag-5'>西門子</b>PLC UDT<b class='flag-5'>數(shù)據(jù)類型</b>的使用方法](https://file1.elecfans.com/web2/M00/8D/2B/wKgZomS3itGAHBUCAAAvgGb2gew526.png)
評論