說明
STRUCT 數(shù)據(jù)類型是指一種元素?cái)?shù)量固定但數(shù)據(jù)類型不同的數(shù)據(jù)結(jié)構(gòu)。在結(jié)構(gòu)中,也可嵌套 STRUCT 或 ARRAY 數(shù)據(jù)類型的元素。結(jié)構(gòu)可用于根據(jù)過程控制系統(tǒng)分組數(shù)據(jù)以及作為一個(gè)數(shù)據(jù)單元來傳送參數(shù)。
變量中直接使用的結(jié)構(gòu)聲明稱為匿名結(jié)構(gòu)。匿名結(jié)構(gòu)可具有以下形式:
所有后續(xù)說明都將基于該結(jié)構(gòu)圖。
結(jié)構(gòu)的嵌套深度和數(shù)量
在嵌套式結(jié)構(gòu)中,包含至少一個(gè)附加結(jié)構(gòu)作為元素。此時(shí),可定義 65535 個(gè)函數(shù)、函數(shù)塊、數(shù)據(jù)塊和 PLC 數(shù)據(jù)類型。各 CPU 的具體上限值與塊類型和所有塊的總數(shù)相關(guān)。
結(jié)構(gòu)描述(如,DB 或 PLC 數(shù)據(jù)類型 (UDT))中,每個(gè)層級(jí)最多可定義 16K 的元素。這些結(jié)構(gòu)中的元素可以同樣為 ARRAY 或 STRUCT 數(shù)據(jù)類型。因此,結(jié)構(gòu)化元素可以源自一個(gè)顯式聲明的 PLC 數(shù)據(jù)類型,而無任何限制。每個(gè)層級(jí)可包含 PLC 數(shù)據(jù)類型 (UDT)/SDT 的 16K 個(gè)元素。但一個(gè)塊中最多可包含 252 個(gè)“匿名結(jié)構(gòu)”。
結(jié)構(gòu) (STRUCT) 的嵌套層級(jí)深度為 8 級(jí)。具體的嵌套深度取決于所使用的 CPU。
傳遞 STRUCT 數(shù)據(jù)類型的參數(shù)
STRUCT 數(shù)據(jù)類型可作為參數(shù)進(jìn)行傳遞。有關(guān)將 STRUCT 作為參數(shù)的更多信息,請(qǐng)參見
“傳遞 STRUCT 數(shù)據(jù)類型的變量”
匿名結(jié)構(gòu)的缺陷
在這種結(jié)構(gòu)化變量中,元素的尋址方式都相同,而不考慮該元素采用 PLC 數(shù)據(jù)類型聲明,還是采用匿名結(jié)構(gòu)聲明。
使用匿名結(jié)構(gòu)具有以下缺點(diǎn):
維護(hù)成本增加:如果對(duì)一個(gè)匿名結(jié)構(gòu)進(jìn)行了多次復(fù)制,則在更改過程中該匿名結(jié)構(gòu)也必需進(jìn)行相應(yīng)的多次更改。
匿名結(jié)構(gòu)與 PLC 數(shù)據(jù)類型 (UDT) 的相同結(jié)構(gòu)不兼容。
由于系統(tǒng)會(huì)檢查所有結(jié)構(gòu)元素的類型是否匹配,因而會(huì)導(dǎo)致性能下降。
存儲(chǔ)空間要求增加:每個(gè)匿名結(jié)構(gòu)都是一個(gè)單獨(dú)的對(duì)象,其描述信息將加載到 AS 中。
示例
如果在一個(gè) PLC 數(shù)據(jù)類型 (UDT) 中聲明數(shù)據(jù)類型為 STRUCT 的變量,則使用方式將增加(參見左圖)。但是,也可以直接使用數(shù)據(jù)類型 STRUCT 對(duì)變量進(jìn)行聲明(參見右圖)。
使用或不使用 PLC 數(shù)據(jù)類型 (UDT) 對(duì)結(jié)構(gòu)化變量“Motor”進(jìn)行聲明:
PLC 數(shù)據(jù)類型 (UDT) 的結(jié)構(gòu)化變量 | 非 PLC 數(shù)據(jù)類型 (UDT) 的結(jié)構(gòu)化變量 |
---|---|
![]() |
![]() |
聲明 STRUCT 數(shù)據(jù)類型的變量 |
要求 塊接口已打開。
步驟
要聲明 STRUCT 數(shù)據(jù)類型的變量,請(qǐng)按以下步驟操作:
選擇接口中的相應(yīng)聲明部分。 在“名稱”列中輸入變量名稱。 在“數(shù)據(jù)類型”列中輸入“Struct”。輸入時(shí)系統(tǒng)將提供自動(dòng)完成功能。 在新變量后將插入空的縮進(jìn)行。 在第一個(gè)空行中插入第一個(gè)結(jié)構(gòu)元素。 在該元素后會(huì)再插入一個(gè)空行。 選擇結(jié)構(gòu)元素的數(shù)據(jù)類型。 可選:更改在塊接口其它列中顯示的結(jié)構(gòu)元素的屬性。 對(duì)所有其它結(jié)構(gòu)元素重復(fù)步驟 4 到 7。 不必顯式完成該結(jié)構(gòu)。結(jié)構(gòu)會(huì)以輸入的最后一個(gè)元素結(jié)束。 要在結(jié)構(gòu)后插入新變量,請(qǐng)?jiān)诮Y(jié)構(gòu)結(jié)尾后留一個(gè)空行,然后在第二個(gè)空行中啟動(dòng)新變量。 |
結(jié)果 創(chuàng)建數(shù)據(jù)類型 STRUCT 的變量。
說明 S7-1500:一個(gè)數(shù)據(jù)塊中最多有 252 個(gè)結(jié)構(gòu) 一個(gè)數(shù)據(jù)塊中最多允許有 252 個(gè)結(jié)構(gòu)。如果需要更多結(jié)構(gòu),則必須重新構(gòu)造自己的程序。例如,可以在多個(gè)全局?jǐn)?shù)據(jù)塊中創(chuàng)建結(jié)構(gòu)。 |
-
plc
+關(guān)注
關(guān)注
5016文章
13389瀏覽量
465478 -
西門子
+關(guān)注
關(guān)注
95文章
3063瀏覽量
116469 -
變量
+關(guān)注
關(guān)注
0文章
613瀏覽量
28467 -
數(shù)據(jù)類型
+關(guān)注
關(guān)注
0文章
236瀏覽量
13666 -
Struct
+關(guān)注
關(guān)注
0文章
31瀏覽量
10902
原文標(biāo)題:西門子博途:有關(guān) STRUCT 的基本信息
文章出處:【微信號(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)推薦
西門子博途1200碼垛機(jī)程序應(yīng)用
暢銷西門子助聽器價(jià)格表_西門子助聽器價(jià)格大全
![暢銷<b class='flag-5'>西門子</b>助聽器價(jià)格表_<b class='flag-5'>西門子</b>助聽器價(jià)格大全](https://file1.elecfans.com//web2/M00/A6/4F/wKgZomUMPNOAc5InAAALDIjB_Uk526.jpg)
博世和西門子哪個(gè)好_博世和西門子的關(guān)系
如何使用博途平臺(tái)上完成西門子的S7-1500與S7-1200以太網(wǎng)通信?
![如何使用<b class='flag-5'>博</b><b class='flag-5'>途</b>平臺(tái)上完成<b class='flag-5'>西門子</b>的S7-1500與S7-1200以太網(wǎng)通信?](https://file.elecfans.com/web1/M00/56/C8/o4YBAFtCwquAElyYAAANDG1sw8Y424.jpg)
詳解博途編程實(shí)現(xiàn)S7300與西門子觸摸屏通訊
西門子PLC編程軟件博途下載
Unity3D與西門子PLC通訊
![Unity3D與<b class='flag-5'>西門子</b>PLC通訊](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
如何在博途平臺(tái)調(diào)試西門子G120變頻器
![如何在<b class='flag-5'>博</b><b class='flag-5'>途</b>平臺(tái)調(diào)試<b class='flag-5'>西門子</b>G120變頻器](https://file1.elecfans.com//web2/M00/82/39/wKgaomRHOD6AQz9wAAE-qUsBoNw667.jpg)
西門子博途:有關(guān)VARIANT的基本信息
![<b class='flag-5'>西門子</b><b class='flag-5'>博</b><b class='flag-5'>途</b>:<b class='flag-5'>有關(guān)</b>VARIANT的<b class='flag-5'>基本信息</b>](https://file1.elecfans.com/web2/M00/89/7D/wKgZomSGfTaAN7hWAABD-wfFXts956.png)
西門子plc單按鈕啟停的十種方法(博途1200/1500PLC)
![<b class='flag-5'>西門子</b>plc單按鈕啟停的十種方法(<b class='flag-5'>博</b><b class='flag-5'>途</b>1200/1500PLC)](https://file1.elecfans.com/web2/M00/A0/FB/wKgZomTv6kOAe_S3AAAxkcJ9b0E098.png)
如何在博途平臺(tái)調(diào)試西門子G120變頻器
![如何在<b class='flag-5'>博</b><b class='flag-5'>途</b>平臺(tái)調(diào)試<b class='flag-5'>西門子</b>G120變頻器](https://file1.elecfans.com/web2/M00/A1/FB/wKgZomT5VtiALDwBAAARY8qDBrA821.jpg)
評(píng)論