說明
PLC 數據類型 (UDT) 是一種復雜的用戶自定義數據類型,用于聲明一個變量。這種數據類型是一個由多個不同數據類型元素組成的數據結構。其中,各元素可源自其它 PLC 數據類型、ARRAY,也可直接使用關鍵字 STRUCT 聲明為一個結構。因此,嵌套深度限制為 8 級。
PLC 數據類型 (UDT) 可在程序代碼中統一更改和重復使用。系統自動更新該數據類型的所用使用位置。
PLC 數據類型的優勢:
通過塊接口,在多個塊中進行數據快速交換
根據過程控制對數據進行分組
將參數作為一個數據單元進行傳送
使用 PLC 數據類型
創建數據塊時,可將 PLC 數據類型聲明為一種類型。基于該類型,可以創建多個數據結構相同的數據塊。并根據具體任務,通過輸入不同的實際值對這些數據塊進行調整。
例如,為顏料混合配方創建一個 PLC 數據類型的實例。之后,再將該數據類型分配給多個數據塊。這樣,每個塊中包含不同的數量信息。
下圖顯示了該應用中具體的數據類型分配:
PLC 數據類型可應用于以下應用中:
PLC 數據類型可用作邏輯塊的變量聲明或數據塊中變量的數據類型。
PLC 數據類型可用作模板,創建數據結構相同的全局數據塊。
PLC 數據類型在 S7-1200 和 S7-1500 中可用作模板,創建結構化的 PLC 變量。
PLC 數據類型的嵌套深度和數量
FC、FB、DB 和 PLC 數據類型最多支持的 64K 的對象(具體總量取決于 CPU)。
結構描述(如,DB 或 PLC 數據類型 (UDT))中,每個層級最多可定義 16K 的元素。這些結構中的元素可以同樣為 ARRAY 或 STRUCT 數據類型。因此,結構化元素可以源自一個顯式聲明的 PLC 數據類型,而無任何限制。即,每個層級都可定義 16K PLC 數據類型 (UDT)/SDT 的元素。但“匿名結構”最多支持 252 個 16k 元素。
PLC 數據類型的嵌套層級深度為 8 級。具體的嵌套深度取決于所使用的 CPU。
從塊生成外部源
從塊生成外部源時,在塊接口中直接對 PLC 數據類型的默認值進行的更改不會導出到源。也就是說在重新導入源時,這些值將不可用。此時,將使用默認值。為防止丟失已修改默認值的數據,必須直接在 PLC 數據類型中而不是在塊接口中進行更改。在這種情況下,生成外部源時也會導出這些更改。
匿名結構的缺陷
在這種結構化變量中,元素的尋址方式都相同,而不考慮該元素采用 PLC 數據類型聲明,還是采用匿名結構聲明。
使用匿名結構具有以下缺點:
通過復制進行重用時,結構都相同。這將導致結構更改困難。
匿名結構與 PLC 數據類型 (UDT) 的相同結構不兼容。
由于在運行過程會檢查結構元素的類型是否匹配,因而可導致系統性能下降。
由于所有元素必須單獨評估,因此在使用匿名結構時,很容易超出上限。
示例
以下示例說明如何定義“MyUDT” PLC 數據據類型。
PLC 數據類型聲明表的結構
下圖是 PLC 數據類型的聲明表結構
各列的含義
下表列出了各列的含義。可根據需要顯示或隱藏各列。顯示的列數取決于 CPU 類型。
列 | 說明 |
---|---|
單擊符號以移動或復制變量。 | |
名稱 | 變量名稱。 |
數據類型 | 變量的數據類型。 |
默認值 |
PLC 數據類型聲明中用于預定義變量的值。 可選擇是否指定默認值。如果未指定任何值,則使用指定數據類型的預定義值。例如,BOOL 類型的預定義值為“false”。 |
在 HMI 工程組態中可見 | 顯示默認情況下,該變量在 HMI 選擇列表中是否顯示。 |
從 HMI/OPC UA 可訪問 | 指示在運行過程中,HMI/OPC UA 是否可訪問該變量。 |
從 HMI/OPC UA 可寫 | 指示在運行過程中,是否可從 HMI/OPC UA 寫入變量。 |
設定值 | 設定值是指在調試過程中可能需要微調的值。經過調試之后,這些變量的值可作為起始值傳輸到離線程序中并進行保存。 |
審核編輯:彭菁
-
plc
+關注
關注
5029文章
13700瀏覽量
471977 -
接口
+關注
關注
33文章
8932瀏覽量
153179 -
數據
+關注
關注
8文章
7239瀏覽量
90972
原文標題:西門子博途:PLC 數據類型(UDT) 聲明表的結構
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
西門子博途F型PLC數據類型與標準PLC數據類型的差別
Struct結構數據類型
結構數據類型(Struct)及應用案例
結構數據類型Struct介紹
西門子PLC UDT數據類型的使用方法

UDT是什么?關于PLC中UDT和FB的問題

評論