說明
PLC 數(shù)據(jù)類型 (UDT) 是一種復(fù)雜的用戶自定義數(shù)據(jù)類型,用于聲明一個變量。這種數(shù)據(jù)類型是一個由多個不同數(shù)據(jù)類型元素組成的數(shù)據(jù)結(jié)構(gòu)。其中,各元素可源自其它 PLC 數(shù)據(jù)類型、ARRAY,也可直接使用關(guān)鍵字 STRUCT 聲明為一個結(jié)構(gòu)。因此,嵌套深度限制為 8 級。
PLC 數(shù)據(jù)類型 (UDT) 可在程序代碼中統(tǒng)一更改和重復(fù)使用。系統(tǒng)自動更新該數(shù)據(jù)類型的所用使用位置。
PLC 數(shù)據(jù)類型的優(yōu)勢:
通過塊接口,在多個塊中進行數(shù)據(jù)快速交換
根據(jù)過程控制對數(shù)據(jù)進行分組
將參數(shù)作為一個數(shù)據(jù)單元進行傳送
使用 PLC 數(shù)據(jù)類型
創(chuàng)建數(shù)據(jù)塊時,可將 PLC 數(shù)據(jù)類型聲明為一種類型。基于該類型,可以創(chuàng)建多個數(shù)據(jù)結(jié)構(gòu)相同的數(shù)據(jù)塊。并根據(jù)具體任務(wù),通過輸入不同的實際值對這些數(shù)據(jù)塊進行調(diào)整。
例如,為顏料混合配方創(chuàng)建一個 PLC 數(shù)據(jù)類型的實例。之后,再將該數(shù)據(jù)類型分配給多個數(shù)據(jù)塊。這樣,每個塊中包含不同的數(shù)量信息。
下圖顯示了該應(yīng)用中具體的數(shù)據(jù)類型分配:

PLC 數(shù)據(jù)類型可應(yīng)用于以下應(yīng)用中:
PLC 數(shù)據(jù)類型可用作邏輯塊的變量聲明或數(shù)據(jù)塊中變量的數(shù)據(jù)類型。
PLC 數(shù)據(jù)類型可用作模板,創(chuàng)建數(shù)據(jù)結(jié)構(gòu)相同的全局?jǐn)?shù)據(jù)塊。
PLC 數(shù)據(jù)類型在 S7-1200 和 S7-1500 中可用作模板,創(chuàng)建結(jié)構(gòu)化的 PLC 變量。
PLC 數(shù)據(jù)類型的嵌套深度和數(shù)量
FC、FB、DB 和 PLC 數(shù)據(jù)類型最多支持的 64K 的對象(具體總量取決于 CPU)。
結(jié)構(gòu)描述(如,DB 或 PLC 數(shù)據(jù)類型 (UDT))中,每個層級最多可定義 16K 的元素。這些結(jié)構(gòu)中的元素可以同樣為 ARRAY 或 STRUCT 數(shù)據(jù)類型。因此,結(jié)構(gòu)化元素可以源自一個顯式聲明的 PLC 數(shù)據(jù)類型,而無任何限制。即,每個層級都可定義 16K PLC 數(shù)據(jù)類型 (UDT)/SDT 的元素。但“匿名結(jié)構(gòu)”最多支持 252 個 16k 元素。
PLC 數(shù)據(jù)類型的嵌套層級深度為 8 級。具體的嵌套深度取決于所使用的 CPU。
從塊生成外部源
從塊生成外部源時,在塊接口中直接對 PLC 數(shù)據(jù)類型的默認(rèn)值進行的更改不會導(dǎo)出到源。也就是說在重新導(dǎo)入源時,這些值將不可用。此時,將使用默認(rèn)值。為防止丟失已修改默認(rèn)值的數(shù)據(jù),必須直接在 PLC 數(shù)據(jù)類型中而不是在塊接口中進行更改。在這種情況下,生成外部源時也會導(dǎo)出這些更改。
匿名結(jié)構(gòu)的缺陷
在這種結(jié)構(gòu)化變量中,元素的尋址方式都相同,而不考慮該元素采用 PLC 數(shù)據(jù)類型聲明,還是采用匿名結(jié)構(gòu)聲明。
使用匿名結(jié)構(gòu)具有以下缺點:
通過復(fù)制進行重用時,結(jié)構(gòu)都相同。這將導(dǎo)致結(jié)構(gòu)更改困難。
匿名結(jié)構(gòu)與 PLC 數(shù)據(jù)類型 (UDT) 的相同結(jié)構(gòu)不兼容。
由于在運行過程會檢查結(jié)構(gòu)元素的類型是否匹配,因而可導(dǎo)致系統(tǒng)性能下降。
由于所有元素必須單獨評估,因此在使用匿名結(jié)構(gòu)時,很容易超出上限。
示例
以下示例說明如何定義“MyUDT” PLC 數(shù)據(jù)據(jù)類型。

PLC 數(shù)據(jù)類型聲明表的結(jié)構(gòu)
下圖是 PLC 數(shù)據(jù)類型的聲明表結(jié)構(gòu)

各列的含義
下表列出了各列的含義。可根據(jù)需要顯示或隱藏各列。顯示的列數(shù)取決于 CPU 類型。
| 列 | 說明 |
|---|---|
| 單擊符號以移動或復(fù)制變量。 | |
| 名稱 | 變量名稱。 |
| 數(shù)據(jù)類型 | 變量的數(shù)據(jù)類型。 |
| 默認(rèn)值 |
PLC 數(shù)據(jù)類型聲明中用于預(yù)定義變量的值。 可選擇是否指定默認(rèn)值。如果未指定任何值,則使用指定數(shù)據(jù)類型的預(yù)定義值。例如,BOOL 類型的預(yù)定義值為“false”。 |
| 在 HMI 工程組態(tài)中可見 | 顯示默認(rèn)情況下,該變量在 HMI 選擇列表中是否顯示。 |
| 從 HMI/OPC UA 可訪問 | 指示在運行過程中,HMI/OPC UA 是否可訪問該變量。 |
| 從 HMI/OPC UA 可寫 | 指示在運行過程中,是否可從 HMI/OPC UA 寫入變量。 |
| 設(shè)定值 | 設(shè)定值是指在調(diào)試過程中可能需要微調(diào)的值。經(jīng)過調(diào)試之后,這些變量的值可作為起始值傳輸?shù)诫x線程序中并進行保存。 |
審核編輯:彭菁
-
plc
+關(guān)注
關(guān)注
5051文章
14594瀏覽量
486892 -
接口
+關(guān)注
關(guān)注
33文章
9520瀏覽量
157021 -
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7335瀏覽量
94760
原文標(biāo)題:西門子博途:PLC 數(shù)據(jù)類型(UDT) 聲明表的結(jié)構(gòu)
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
標(biāo)準(zhǔn)PLC數(shù)據(jù)類型 (UDT)之間的差別
西門子博途F型PLC數(shù)據(jù)類型與標(biāo)準(zhǔn)PLC數(shù)據(jù)類型的差別
Struct結(jié)構(gòu)數(shù)據(jù)類型
結(jié)構(gòu)數(shù)據(jù)類型(Struct)及應(yīng)用案例
結(jié)構(gòu)數(shù)據(jù)類型Struct介紹
匯編基礎(chǔ)知識教程之數(shù)據(jù)類型與寄存器
PLC數(shù)據(jù)類型的種類 常見的轉(zhuǎn)換方法
博途PLC1200/1500PLC用戶自定義數(shù)據(jù)類型(UDT)
西門子博途:使用PLC數(shù)據(jù)類型 (UDT)
西門子PLC UDT數(shù)據(jù)類型的使用方法
淺談PLC定義數(shù)據(jù)類型的應(yīng)用
F型PLC數(shù)據(jù)類型與標(biāo)準(zhǔn)PLC數(shù)據(jù)類型(UDT)之間的差別在哪?
UDT是什么?關(guān)于PLC中UDT和FB的問題
PLC 數(shù)據(jù)類型 (UDT) 的基本知識
評論