說明
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)注
5051文章
14592瀏覽量
486868 -
西門子
+關(guān)注
關(guān)注
98文章
3310瀏覽量
120369 -
變量
+關(guān)注
關(guān)注
0文章
616瀏覽量
29505 -
數(shù)據(jù)類型
+關(guān)注
關(guān)注
0文章
237瀏覽量
14185 -
Struct
+關(guān)注
關(guān)注
0文章
31瀏覽量
11266
原文標(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)先 登錄
西門子博途1200碼垛機(jī)程序應(yīng)用
暢銷西門子助聽器價(jià)格表_西門子助聽器價(jià)格大全
博世和西門子哪個(gè)好_博世和西門子的關(guān)系
如何使用博途平臺(tái)上完成西門子的S7-1500與S7-1200以太網(wǎng)通信?
詳解博途編程實(shí)現(xiàn)S7300與西門子觸摸屏通訊
西門子PLC編程軟件博途下載
Unity3D與西門子PLC通訊
如何在博途平臺(tái)調(diào)試西門子G120變頻器
西門子博途:有關(guān)VARIANT的基本信息
西門子plc單按鈕啟停的十種方法(博途1200/1500PLC)
如何在博途平臺(tái)調(diào)試西門子G120變頻器
西門子博途有關(guān)STRUCT的基本信息

評(píng)論